@hanzo/ui 5.6.1 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -208
- package/package.json +49 -855
- package/src/data.ts +12 -0
- package/src/index.ts +22 -0
- package/src/primitives/bases/data/index.ts +13 -0
- package/src/product/Charts.tsx +471 -0
- package/src/product/ComboBox.tsx +147 -0
- package/src/product/DataTable.tsx +99 -0
- package/src/product/Donut.tsx +83 -0
- package/src/product/EmptyState.tsx +129 -0
- package/src/product/FadeIn.tsx +38 -0
- package/src/product/Field.tsx +160 -0
- package/src/product/HanzoMark.tsx +28 -0
- package/src/product/Metric.tsx +253 -0
- package/src/product/PageHeader.tsx +31 -0
- package/src/product/PrimaryButton.tsx +17 -0
- package/src/product/ProductIcon.tsx +61 -0
- package/src/product/ProviderLogo.tsx +137 -0
- package/src/product/Reorder.test.ts +41 -0
- package/src/product/Reorder.tsx +110 -0
- package/src/product/SelectMenu.tsx +94 -0
- package/src/product/SlideOver.tsx +197 -0
- package/src/product/StatusTag.tsx +49 -0
- package/src/product/ThemeToggle.tsx +25 -0
- package/src/product/Toast.tsx +166 -0
- package/src/product/color.ts +17 -0
- package/src/product/combobox/filter.test.ts +51 -0
- package/src/product/combobox/filter.ts +39 -0
- package/src/product/index.ts +57 -0
- package/src/styles/hanzo-motion.css +136 -0
- package/bin/cli.js +0 -100
- package/bin/create-registry.js +0 -108
- package/bin/mcp.js +0 -403
- package/bin/npx-registry-mcp.js +0 -15
- package/bin/registry-mcp-wrapper.sh +0 -19
- package/bin/registry-mcp.js +0 -100
- package/bin/start-mcp-server.sh +0 -22
- package/bin/test-mcp.sh +0 -52
- package/bin/update-registry.js +0 -196
- package/content/index.ts +0 -26
- package/dist/3d/button.js +0 -2
- package/dist/3d/button.mjs +0 -2
- package/dist/3d/card.js +0 -2
- package/dist/3d/card.mjs +0 -2
- package/dist/3d/carousel.js +0 -2
- package/dist/3d/carousel.mjs +0 -2
- package/dist/3d/grid.js +0 -2
- package/dist/3d/grid.mjs +0 -2
- package/dist/3d/index.js +0 -2
- package/dist/3d/index.mjs +0 -2
- package/dist/3d/marquee.js +0 -2
- package/dist/3d/marquee.mjs +0 -2
- package/dist/3d/pin.js +0 -2
- package/dist/3d/pin.mjs +0 -2
- package/dist/accordion.js +0 -2
- package/dist/accordion.mjs +0 -2
- package/dist/alert-dialog.js +0 -2
- package/dist/alert-dialog.mjs +0 -2
- package/dist/alert.js +0 -2
- package/dist/alert.mjs +0 -2
- package/dist/animation/animated-background.js +0 -2
- package/dist/animation/animated-background.mjs +0 -2
- package/dist/animation/animated-beam.js +0 -2
- package/dist/animation/animated-beam.mjs +0 -2
- package/dist/animation/animated-cursor.js +0 -2
- package/dist/animation/animated-cursor.mjs +0 -2
- package/dist/animation/animated-icon.js +0 -3
- package/dist/animation/animated-icon.mjs +0 -3
- package/dist/animation/animated-list.js +0 -2
- package/dist/animation/animated-list.mjs +0 -2
- package/dist/animation/animated-number.js +0 -2
- package/dist/animation/animated-number.mjs +0 -2
- package/dist/animation/animated-testimonials.js +0 -2
- package/dist/animation/animated-testimonials.mjs +0 -2
- package/dist/animation/animated-tooltip.js +0 -2
- package/dist/animation/animated-tooltip.mjs +0 -2
- package/dist/animation/apple-cards-carousel.js +0 -2
- package/dist/animation/apple-cards-carousel.mjs +0 -2
- package/dist/animation/apple-hello-effect.js +0 -2
- package/dist/animation/apple-hello-effect.mjs +0 -2
- package/dist/animation/index.js +0 -3
- package/dist/animation/index.mjs +0 -3
- package/dist/assets/ai-icons.d.ts +0 -28
- package/dist/assets/ai-icons.d.ts.map +0 -1
- package/dist/assets/ai-icons.js +0 -60
- package/dist/assets/crypto.d.ts +0 -7
- package/dist/assets/crypto.d.ts.map +0 -1
- package/dist/assets/crypto.js +0 -4
- package/dist/assets/file-type-icon.d.ts +0 -7
- package/dist/assets/file-type-icon.d.ts.map +0 -1
- package/dist/assets/file-type-icon.js +0 -36
- package/dist/assets/file.d.ts +0 -5
- package/dist/assets/file.d.ts.map +0 -1
- package/dist/assets/file.js +0 -29
- package/dist/assets/general.d.ts +0 -220
- package/dist/assets/general.d.ts.map +0 -1
- package/dist/assets/general.js +0 -136
- package/dist/assets/hanzo-logo.d.ts +0 -4
- package/dist/assets/hanzo-logo.d.ts.map +0 -1
- package/dist/assets/hanzo-logo.js +0 -3
- package/dist/assets/index.d.ts +0 -7
- package/dist/assets/index.d.ts.map +0 -1
- package/dist/assets/index.js +0 -23
- package/dist/assets/llm-provider.d.ts +0 -64
- package/dist/assets/llm-provider.d.ts.map +0 -1
- package/dist/assets/llm-provider.js +0 -90
- package/dist/auth/index.js +0 -3
- package/dist/auth/index.mjs +0 -3
- package/dist/avatar.js +0 -2
- package/dist/avatar.mjs +0 -2
- package/dist/badge.js +0 -2
- package/dist/badge.mjs +0 -2
- package/dist/billing/index.js +0 -3
- package/dist/billing/index.mjs +0 -3
- package/dist/blocks/index.js +0 -3
- package/dist/blocks/index.mjs +0 -3
- package/dist/breadcrumb.js +0 -2
- package/dist/breadcrumb.mjs +0 -2
- package/dist/calendar-ext/index.js +0 -2
- package/dist/calendar-ext/index.mjs +0 -2
- package/dist/calendar.js +0 -2
- package/dist/calendar.mjs +0 -2
- package/dist/carousel.js +0 -2
- package/dist/carousel.mjs +0 -2
- package/dist/charts/index.js +0 -8
- package/dist/charts/index.mjs +0 -8
- package/dist/checkbox.js +0 -2
- package/dist/checkbox.mjs +0 -2
- package/dist/code/block.js +0 -3
- package/dist/code/block.mjs +0 -3
- package/dist/code/compare.js +0 -7
- package/dist/code/compare.mjs +0 -7
- package/dist/code/diff.js +0 -13
- package/dist/code/diff.mjs +0 -13
- package/dist/code/editor.js +0 -2
- package/dist/code/editor.mjs +0 -2
- package/dist/code/explorer.js +0 -2
- package/dist/code/explorer.mjs +0 -2
- package/dist/code/index.js +0 -63
- package/dist/code/index.mjs +0 -63
- package/dist/code/preview.js +0 -43
- package/dist/code/preview.mjs +0 -43
- package/dist/code/snippet.js +0 -3
- package/dist/code/snippet.mjs +0 -3
- package/dist/code/tabs.js +0 -2
- package/dist/code/tabs.mjs +0 -2
- package/dist/code/terminal.js +0 -4
- package/dist/code/terminal.mjs +0 -4
- package/dist/collapsible.js +0 -2
- package/dist/collapsible.mjs +0 -2
- package/dist/command.js +0 -2
- package/dist/command.mjs +0 -2
- package/dist/components/cal-embed.d.ts +0 -11
- package/dist/components/cal-embed.d.ts.map +0 -1
- package/dist/components/cal-embed.js +0 -38
- package/dist/components/index.d.ts +0 -3
- package/dist/components/index.d.ts.map +0 -1
- package/dist/components/index.js +0 -7
- package/dist/context-menu.js +0 -2
- package/dist/context-menu.mjs +0 -2
- package/dist/dash/crud.js +0 -2
- package/dist/dash/crud.mjs +0 -2
- package/dist/dash/form.js +0 -2
- package/dist/dash/form.mjs +0 -2
- package/dist/dash/header.js +0 -2
- package/dist/dash/header.mjs +0 -2
- package/dist/dash/index.js +0 -3
- package/dist/dash/index.mjs +0 -3
- package/dist/dash/layout.js +0 -2
- package/dist/dash/layout.mjs +0 -2
- package/dist/dash/sidebar.js +0 -3
- package/dist/dash/sidebar.mjs +0 -3
- package/dist/dash/table.js +0 -2
- package/dist/dash/table.mjs +0 -2
- package/dist/desktop/hooks.js +0 -2
- package/dist/desktop/hooks.mjs +0 -2
- package/dist/desktop/index.js +0 -2
- package/dist/desktop/index.mjs +0 -2
- package/dist/desktop/spotlight.js +0 -2
- package/dist/desktop/spotlight.mjs +0 -2
- package/dist/desktop/window.js +0 -2
- package/dist/desktop/window.mjs +0 -2
- package/dist/device/index.js +0 -2
- package/dist/device/index.mjs +0 -1
- package/dist/dialog.js +0 -2
- package/dist/dialog.mjs +0 -2
- package/dist/dock/basic.js +0 -2
- package/dist/dock/basic.mjs +0 -2
- package/dist/dock/index.js +0 -2
- package/dist/dock/index.mjs +0 -2
- package/dist/dock/limelight-nav.js +0 -2
- package/dist/dock/limelight-nav.mjs +0 -2
- package/dist/dock/macos.js +0 -2
- package/dist/dock/macos.mjs +0 -2
- package/dist/dock/menu.js +0 -2
- package/dist/dock/menu.mjs +0 -2
- package/dist/dock/message.js +0 -2
- package/dist/dock/message.mjs +0 -2
- package/dist/drawer.js +0 -2
- package/dist/drawer.mjs +0 -2
- package/dist/dropdown-menu.js +0 -2
- package/dist/dropdown-menu.mjs +0 -2
- package/dist/finance/AdvancedChart.js +0 -3
- package/dist/finance/AdvancedChart.mjs +0 -3
- package/dist/finance/CompanyProfile.js +0 -3
- package/dist/finance/CompanyProfile.mjs +0 -3
- package/dist/finance/CryptoScreener.js +0 -3
- package/dist/finance/CryptoScreener.mjs +0 -3
- package/dist/finance/Financials.js +0 -3
- package/dist/finance/Financials.mjs +0 -3
- package/dist/finance/ForexScreener.js +0 -3
- package/dist/finance/ForexScreener.mjs +0 -3
- package/dist/finance/MarketOverview.js +0 -3
- package/dist/finance/MarketOverview.mjs +0 -3
- package/dist/finance/NewsTimeline.js +0 -3
- package/dist/finance/NewsTimeline.mjs +0 -3
- package/dist/finance/OrderEntry.js +0 -2
- package/dist/finance/OrderEntry.mjs +0 -2
- package/dist/finance/OrdersHistory.js +0 -2
- package/dist/finance/OrdersHistory.mjs +0 -2
- package/dist/finance/PositionsList.js +0 -2
- package/dist/finance/PositionsList.mjs +0 -2
- package/dist/finance/StockScreener.js +0 -3
- package/dist/finance/StockScreener.mjs +0 -3
- package/dist/finance/SymbolInfo.js +0 -3
- package/dist/finance/SymbolInfo.mjs +0 -3
- package/dist/finance/TechnicalAnalysis.js +0 -3
- package/dist/finance/TechnicalAnalysis.mjs +0 -3
- package/dist/finance/TickerTape.js +0 -3
- package/dist/finance/TickerTape.mjs +0 -3
- package/dist/finance/TradingPanel.js +0 -2
- package/dist/finance/TradingPanel.mjs +0 -2
- package/dist/finance/index.js +0 -3
- package/dist/finance/index.mjs +0 -3
- package/dist/form/index.js +0 -2
- package/dist/form/index.mjs +0 -2
- package/dist/form.js +0 -2
- package/dist/form.mjs +0 -2
- package/dist/frameworks/core/index.d.ts +0 -4
- package/dist/frameworks/core/index.d.ts.map +0 -1
- package/dist/frameworks/core/index.js +0 -5
- package/dist/frameworks/core/styles.d.ts +0 -12
- package/dist/frameworks/core/styles.d.ts.map +0 -1
- package/dist/frameworks/core/styles.js +0 -11
- package/dist/frameworks/core/types.d.ts +0 -17
- package/dist/frameworks/core/types.d.ts.map +0 -1
- package/dist/frameworks/core/types.js +0 -11
- package/dist/frameworks/core/utils/index.d.ts +0 -19
- package/dist/frameworks/core/utils/index.d.ts.map +0 -1
- package/dist/frameworks/core/utils/index.js +0 -49
- package/dist/frameworks/react/components/button.d.ts +0 -8
- package/dist/frameworks/react/components/button.d.ts.map +0 -1
- package/dist/frameworks/react/components/button.js +0 -8
- package/dist/frameworks/react/components/index.d.ts +0 -2
- package/dist/frameworks/react/components/index.d.ts.map +0 -1
- package/dist/frameworks/react/components/index.js +0 -4
- package/dist/frameworks/react/hooks/index.d.ts +0 -2
- package/dist/frameworks/react/hooks/index.d.ts.map +0 -1
- package/dist/frameworks/react/hooks/index.js +0 -5
- package/dist/frameworks/react/index.d.ts +0 -5
- package/dist/frameworks/react/index.d.ts.map +0 -1
- package/dist/frameworks/react/index.js +0 -7
- package/dist/frameworks/react/utils/index.d.ts +0 -2
- package/dist/frameworks/react/utils/index.d.ts.map +0 -1
- package/dist/frameworks/react/utils/index.js +0 -2
- package/dist/frameworks/react-native/components.d.ts +0 -17
- package/dist/frameworks/react-native/components.d.ts.map +0 -1
- package/dist/frameworks/react-native/components.js +0 -17
- package/dist/frameworks/react-native/hooks.d.ts +0 -10
- package/dist/frameworks/react-native/hooks.d.ts.map +0 -1
- package/dist/frameworks/react-native/hooks.js +0 -9
- package/dist/frameworks/react-native/index.d.ts +0 -5
- package/dist/frameworks/react-native/index.d.ts.map +0 -1
- package/dist/frameworks/react-native/index.js +0 -7
- package/dist/frameworks/react-native/utils.d.ts +0 -7
- package/dist/frameworks/react-native/utils.d.ts.map +0 -1
- package/dist/frameworks/react-native/utils.js +0 -9
- package/dist/frameworks/svelte/components.d.ts +0 -15
- package/dist/frameworks/svelte/components.d.ts.map +0 -1
- package/dist/frameworks/svelte/components.js +0 -16
- package/dist/frameworks/svelte/index.d.ts +0 -5
- package/dist/frameworks/svelte/index.d.ts.map +0 -1
- package/dist/frameworks/svelte/index.js +0 -7
- package/dist/frameworks/svelte/stores.d.ts +0 -13
- package/dist/frameworks/svelte/stores.d.ts.map +0 -1
- package/dist/frameworks/svelte/stores.js +0 -9
- package/dist/frameworks/svelte/utils.d.ts +0 -7
- package/dist/frameworks/svelte/utils.d.ts.map +0 -1
- package/dist/frameworks/svelte/utils.js +0 -8
- package/dist/frameworks/vue/components.d.ts +0 -15
- package/dist/frameworks/vue/components.d.ts.map +0 -1
- package/dist/frameworks/vue/components.js +0 -16
- package/dist/frameworks/vue/composables.d.ts +0 -16
- package/dist/frameworks/vue/composables.d.ts.map +0 -1
- package/dist/frameworks/vue/composables.js +0 -14
- package/dist/frameworks/vue/index.d.ts +0 -5
- package/dist/frameworks/vue/index.d.ts.map +0 -1
- package/dist/frameworks/vue/index.js +0 -7
- package/dist/frameworks/vue/utils.d.ts +0 -7
- package/dist/frameworks/vue/utils.d.ts.map +0 -1
- package/dist/frameworks/vue/utils.js +0 -8
- package/dist/helpers/file.d.ts +0 -7
- package/dist/helpers/file.d.ts.map +0 -1
- package/dist/helpers/file.js +0 -30
- package/dist/helpers/memoization.d.ts +0 -9
- package/dist/helpers/memoization.d.ts.map +0 -1
- package/dist/helpers/memoization.js +0 -24
- package/dist/hover-card.js +0 -2
- package/dist/hover-card.mjs +0 -2
- package/dist/index.js +0 -193
- package/dist/index.mjs +0 -193
- package/dist/input-otp.js +0 -2
- package/dist/input-otp.mjs +0 -2
- package/dist/kanban/index.js +0 -2
- package/dist/kanban/index.mjs +0 -2
- package/dist/lib/utils.js +0 -1
- package/dist/lib/utils.mjs +0 -1
- package/dist/mermaid/index.js +0 -2
- package/dist/mermaid/index.mjs +0 -2
- package/dist/models/index.js +0 -35
- package/dist/models/index.mjs +0 -35
- package/dist/navigation/hanzo-shell.js +0 -3
- package/dist/navigation/hanzo-shell.mjs +0 -3
- package/dist/navigation/index.js +0 -3
- package/dist/navigation/index.mjs +0 -3
- package/dist/navigation-menu.js +0 -2
- package/dist/navigation-menu.mjs +0 -2
- package/dist/pattern/grid-pattern.js +0 -11
- package/dist/pattern/grid-pattern.mjs +0 -11
- package/dist/pattern/index.js +0 -11
- package/dist/pattern/index.mjs +0 -11
- package/dist/popover.js +0 -2
- package/dist/popover.mjs +0 -2
- package/dist/primitives/accordion.d.ts +0 -27
- package/dist/primitives/accordion.d.ts.map +0 -1
- package/dist/primitives/accordion.js +0 -12
- package/dist/primitives/action-button.d.ts +0 -10
- package/dist/primitives/action-button.d.ts.map +0 -1
- package/dist/primitives/action-button.js +0 -14
- package/dist/primitives/alert-dialog.d.ts +0 -57
- package/dist/primitives/alert-dialog.d.ts.map +0 -1
- package/dist/primitives/alert-dialog.js +0 -25
- package/dist/primitives/alert.d.ts +0 -11
- package/dist/primitives/alert.d.ts.map +0 -1
- package/dist/primitives/alert.js +0 -32
- package/dist/primitives/apply-typography.d.ts +0 -8
- package/dist/primitives/apply-typography.d.ts.map +0 -1
- package/dist/primitives/apply-typography.js +0 -36
- package/dist/primitives/aspect-ratio.d.ts +0 -4
- package/dist/primitives/aspect-ratio.d.ts.map +0 -1
- package/dist/primitives/aspect-ratio.js +0 -4
- package/dist/primitives/avatar.d.ts +0 -25
- package/dist/primitives/avatar.d.ts.map +0 -1
- package/dist/primitives/avatar.js +0 -10
- package/dist/primitives/badge.d.ts +0 -11
- package/dist/primitives/badge.d.ts.map +0 -1
- package/dist/primitives/badge.js +0 -28
- package/dist/primitives/breadcrumb.d.ts +0 -51
- package/dist/primitives/breadcrumb.d.ts.map +0 -1
- package/dist/primitives/breadcrumb.js +0 -22
- package/dist/primitives/breakpoint-indicator.d.ts +0 -4
- package/dist/primitives/breakpoint-indicator.d.ts.map +0 -1
- package/dist/primitives/breakpoint-indicator.js +0 -7
- package/dist/primitives/button-group.d.ts +0 -12
- package/dist/primitives/button-group.d.ts.map +0 -1
- package/dist/primitives/button-group.js +0 -28
- package/dist/primitives/button.d.ts +0 -14
- package/dist/primitives/button.d.ts.map +0 -1
- package/dist/primitives/button.js +0 -41
- package/dist/primitives/cal-embed.d.ts +0 -11
- package/dist/primitives/cal-embed.d.ts.map +0 -1
- package/dist/primitives/cal-embed.js +0 -38
- package/dist/primitives/calendar.d.ts +0 -11
- package/dist/primitives/calendar.d.ts.map +0 -1
- package/dist/primitives/calendar.js +0 -58
- package/dist/primitives/card.d.ts +0 -10
- package/dist/primitives/card.d.ts.map +0 -1
- package/dist/primitives/card.js +0 -24
- package/dist/primitives/carousel.d.ts +0 -19
- package/dist/primitives/carousel.d.ts.map +0 -1
- package/dist/primitives/carousel.js +0 -95
- package/dist/primitives/chart.d.ts +0 -41
- package/dist/primitives/chart.d.ts.map +0 -1
- package/dist/primitives/chart.js +0 -128
- package/dist/primitives/charts/area/chart-area-axes.d.ts +0 -3
- package/dist/primitives/charts/area/chart-area-axes.d.ts.map +0 -1
- package/dist/primitives/charts/area/chart-area-axes.js +0 -31
- package/dist/primitives/charts/area/chart-area-default.d.ts +0 -3
- package/dist/primitives/charts/area/chart-area-default.d.ts.map +0 -1
- package/dist/primitives/charts/area/chart-area-default.js +0 -27
- package/dist/primitives/charts/area/chart-area-gradient.d.ts +0 -3
- package/dist/primitives/charts/area/chart-area-gradient.d.ts.map +0 -1
- package/dist/primitives/charts/area/chart-area-gradient.js +0 -31
- package/dist/primitives/charts/area/chart-area-icons.d.ts +0 -3
- package/dist/primitives/charts/area/chart-area-icons.d.ts.map +0 -1
- package/dist/primitives/charts/area/chart-area-icons.js +0 -33
- package/dist/primitives/charts/area/chart-area-interactive.d.ts +0 -3
- package/dist/primitives/charts/area/chart-area-interactive.d.ts.map +0 -1
- package/dist/primitives/charts/area/chart-area-interactive.js +0 -143
- package/dist/primitives/charts/area/chart-area-legend.d.ts +0 -3
- package/dist/primitives/charts/area/chart-area-legend.d.ts.map +0 -1
- package/dist/primitives/charts/area/chart-area-legend.js +0 -31
- package/dist/primitives/charts/area/chart-area-linear.d.ts +0 -3
- package/dist/primitives/charts/area/chart-area-linear.d.ts.map +0 -1
- package/dist/primitives/charts/area/chart-area-linear.js +0 -27
- package/dist/primitives/charts/area/chart-area-stacked-expand.d.ts +0 -3
- package/dist/primitives/charts/area/chart-area-stacked-expand.d.ts.map +0 -1
- package/dist/primitives/charts/area/chart-area-stacked-expand.js +0 -36
- package/dist/primitives/charts/area/chart-area-stacked.d.ts +0 -3
- package/dist/primitives/charts/area/chart-area-stacked.d.ts.map +0 -1
- package/dist/primitives/charts/area/chart-area-stacked.js +0 -31
- package/dist/primitives/charts/area/chart-area-step.d.ts +0 -3
- package/dist/primitives/charts/area/chart-area-step.d.ts.map +0 -1
- package/dist/primitives/charts/area/chart-area-step.js +0 -28
- package/dist/primitives/charts/area/index.d.ts +0 -11
- package/dist/primitives/charts/area/index.d.ts.map +0 -1
- package/dist/primitives/charts/area/index.js +0 -11
- package/dist/primitives/charts/bar/chart-bar-active.d.ts +0 -3
- package/dist/primitives/charts/bar/chart-bar-active.d.ts.map +0 -1
- package/dist/primitives/charts/bar/chart-bar-active.js +0 -44
- package/dist/primitives/charts/bar/chart-bar-default.d.ts +0 -3
- package/dist/primitives/charts/bar/chart-bar-default.d.ts.map +0 -1
- package/dist/primitives/charts/bar/chart-bar-default.js +0 -24
- package/dist/primitives/charts/bar/chart-bar-horizontal.d.ts +0 -3
- package/dist/primitives/charts/bar/chart-bar-horizontal.d.ts.map +0 -1
- package/dist/primitives/charts/bar/chart-bar-horizontal.js +0 -26
- package/dist/primitives/charts/bar/chart-bar-interactive.d.ts +0 -3
- package/dist/primitives/charts/bar/chart-bar-interactive.d.ts.map +0 -1
- package/dist/primitives/charts/bar/chart-bar-interactive.js +0 -139
- package/dist/primitives/charts/bar/chart-bar-label-custom.d.ts +0 -3
- package/dist/primitives/charts/bar/chart-bar-label-custom.d.ts.map +0 -1
- package/dist/primitives/charts/bar/chart-bar-label-custom.js +0 -33
- package/dist/primitives/charts/bar/chart-bar-label.d.ts +0 -3
- package/dist/primitives/charts/bar/chart-bar-label.d.ts.map +0 -1
- package/dist/primitives/charts/bar/chart-bar-label.js +0 -26
- package/dist/primitives/charts/bar/chart-bar-mixed.d.ts +0 -3
- package/dist/primitives/charts/bar/chart-bar-mixed.d.ts.map +0 -1
- package/dist/primitives/charts/bar/chart-bar-mixed.js +0 -44
- package/dist/primitives/charts/bar/chart-bar-multiple.d.ts +0 -3
- package/dist/primitives/charts/bar/chart-bar-multiple.d.ts.map +0 -1
- package/dist/primitives/charts/bar/chart-bar-multiple.js +0 -28
- package/dist/primitives/charts/bar/chart-bar-negative.d.ts +0 -3
- package/dist/primitives/charts/bar/chart-bar-negative.d.ts.map +0 -1
- package/dist/primitives/charts/bar/chart-bar-negative.js +0 -25
- package/dist/primitives/charts/bar/chart-bar-stacked.d.ts +0 -3
- package/dist/primitives/charts/bar/chart-bar-stacked.d.ts.map +0 -1
- package/dist/primitives/charts/bar/chart-bar-stacked.js +0 -28
- package/dist/primitives/charts/bar/index.d.ts +0 -11
- package/dist/primitives/charts/bar/index.d.ts.map +0 -1
- package/dist/primitives/charts/bar/index.js +0 -11
- package/dist/primitives/charts/index.d.ts +0 -8
- package/dist/primitives/charts/index.d.ts.map +0 -1
- package/dist/primitives/charts/index.js +0 -11
- package/dist/primitives/charts/line/chart-line-default.d.ts +0 -3
- package/dist/primitives/charts/line/chart-line-default.d.ts.map +0 -1
- package/dist/primitives/charts/line/chart-line-default.js +0 -27
- package/dist/primitives/charts/line/chart-line-dots-colors.d.ts +0 -3
- package/dist/primitives/charts/line/chart-line-dots-colors.d.ts.map +0 -1
- package/dist/primitives/charts/line/chart-line-dots-colors.js +0 -49
- package/dist/primitives/charts/line/chart-line-dots-custom.d.ts +0 -3
- package/dist/primitives/charts/line/chart-line-dots-custom.d.ts.map +0 -1
- package/dist/primitives/charts/line/chart-line-dots-custom.js +0 -34
- package/dist/primitives/charts/line/chart-line-dots.d.ts +0 -3
- package/dist/primitives/charts/line/chart-line-dots.d.ts.map +0 -1
- package/dist/primitives/charts/line/chart-line-dots.js +0 -35
- package/dist/primitives/charts/line/chart-line-interactive.d.ts +0 -3
- package/dist/primitives/charts/line/chart-line-interactive.d.ts.map +0 -1
- package/dist/primitives/charts/line/chart-line-interactive.js +0 -139
- package/dist/primitives/charts/line/chart-line-label-custom.d.ts +0 -3
- package/dist/primitives/charts/line/chart-line-label-custom.d.ts.map +0 -1
- package/dist/primitives/charts/line/chart-line-label-custom.js +0 -51
- package/dist/primitives/charts/line/chart-line-label.d.ts +0 -3
- package/dist/primitives/charts/line/chart-line-label.d.ts.map +0 -1
- package/dist/primitives/charts/line/chart-line-label.js +0 -36
- package/dist/primitives/charts/line/chart-line-linear.d.ts +0 -3
- package/dist/primitives/charts/line/chart-line-linear.d.ts.map +0 -1
- package/dist/primitives/charts/line/chart-line-linear.js +0 -27
- package/dist/primitives/charts/line/chart-line-multiple.d.ts +0 -3
- package/dist/primitives/charts/line/chart-line-multiple.d.ts.map +0 -1
- package/dist/primitives/charts/line/chart-line-multiple.js +0 -31
- package/dist/primitives/charts/line/chart-line-step.d.ts +0 -3
- package/dist/primitives/charts/line/chart-line-step.d.ts.map +0 -1
- package/dist/primitives/charts/line/chart-line-step.js +0 -27
- package/dist/primitives/charts/line/index.d.ts +0 -11
- package/dist/primitives/charts/line/index.d.ts.map +0 -1
- package/dist/primitives/charts/line/index.js +0 -11
- package/dist/primitives/charts/pie/chart-pie-donut-active.d.ts +0 -3
- package/dist/primitives/charts/pie/chart-pie-donut-active.d.ts.map +0 -1
- package/dist/primitives/charts/pie/chart-pie-donut-active.js +0 -42
- package/dist/primitives/charts/pie/chart-pie-donut-text.d.ts +0 -3
- package/dist/primitives/charts/pie/chart-pie-donut-text.d.ts.map +0 -1
- package/dist/primitives/charts/pie/chart-pie-donut-text.js +0 -50
- package/dist/primitives/charts/pie/chart-pie-donut.d.ts +0 -3
- package/dist/primitives/charts/pie/chart-pie-donut.d.ts.map +0 -1
- package/dist/primitives/charts/pie/chart-pie-donut.js +0 -42
- package/dist/primitives/charts/pie/chart-pie-interactive.d.ts +0 -3
- package/dist/primitives/charts/pie/chart-pie-interactive.d.ts.map +0 -1
- package/dist/primitives/charts/pie/chart-pie-interactive.js +0 -65
- package/dist/primitives/charts/pie/chart-pie-label-custom.d.ts +0 -3
- package/dist/primitives/charts/pie/chart-pie-label-custom.d.ts.map +0 -1
- package/dist/primitives/charts/pie/chart-pie-label-custom.js +0 -44
- package/dist/primitives/charts/pie/chart-pie-label-list.d.ts +0 -3
- package/dist/primitives/charts/pie/chart-pie-label-list.d.ts.map +0 -1
- package/dist/primitives/charts/pie/chart-pie-label-list.js +0 -42
- package/dist/primitives/charts/pie/chart-pie-label.d.ts +0 -3
- package/dist/primitives/charts/pie/chart-pie-label.d.ts.map +0 -1
- package/dist/primitives/charts/pie/chart-pie-label.js +0 -42
- package/dist/primitives/charts/pie/chart-pie-legend.d.ts +0 -3
- package/dist/primitives/charts/pie/chart-pie-legend.d.ts.map +0 -1
- package/dist/primitives/charts/pie/chart-pie-legend.js +0 -41
- package/dist/primitives/charts/pie/chart-pie-separator-none.d.ts +0 -3
- package/dist/primitives/charts/pie/chart-pie-separator-none.d.ts.map +0 -1
- package/dist/primitives/charts/pie/chart-pie-separator-none.js +0 -42
- package/dist/primitives/charts/pie/index.d.ts +0 -10
- package/dist/primitives/charts/pie/index.d.ts.map +0 -1
- package/dist/primitives/charts/pie/index.js +0 -10
- package/dist/primitives/charts/radar/chart-radar-default.d.ts +0 -3
- package/dist/primitives/charts/radar/chart-radar-default.d.ts.map +0 -1
- package/dist/primitives/charts/radar/chart-radar-default.js +0 -24
- package/dist/primitives/charts/radar/chart-radar-dots.d.ts +0 -3
- package/dist/primitives/charts/radar/chart-radar-dots.d.ts.map +0 -1
- package/dist/primitives/charts/radar/chart-radar-dots.js +0 -27
- package/dist/primitives/charts/radar/chart-radar-grid-circle-fill.d.ts +0 -3
- package/dist/primitives/charts/radar/chart-radar-grid-circle-fill.d.ts.map +0 -1
- package/dist/primitives/charts/radar/chart-radar-grid-circle-fill.js +0 -24
- package/dist/primitives/charts/radar/chart-radar-grid-circle-no-lines.d.ts +0 -3
- package/dist/primitives/charts/radar/chart-radar-grid-circle-no-lines.d.ts.map +0 -1
- package/dist/primitives/charts/radar/chart-radar-grid-circle-no-lines.js +0 -27
- package/dist/primitives/charts/radar/chart-radar-grid-circle.d.ts +0 -3
- package/dist/primitives/charts/radar/chart-radar-grid-circle.d.ts.map +0 -1
- package/dist/primitives/charts/radar/chart-radar-grid-circle.js +0 -27
- package/dist/primitives/charts/radar/chart-radar-grid-custom.d.ts +0 -3
- package/dist/primitives/charts/radar/chart-radar-grid-custom.d.ts.map +0 -1
- package/dist/primitives/charts/radar/chart-radar-grid-custom.js +0 -24
- package/dist/primitives/charts/radar/chart-radar-grid-fill.d.ts +0 -3
- package/dist/primitives/charts/radar/chart-radar-grid-fill.d.ts.map +0 -1
- package/dist/primitives/charts/radar/chart-radar-grid-fill.js +0 -24
- package/dist/primitives/charts/radar/chart-radar-grid-none.d.ts +0 -3
- package/dist/primitives/charts/radar/chart-radar-grid-none.d.ts.map +0 -1
- package/dist/primitives/charts/radar/chart-radar-grid-none.js +0 -27
- package/dist/primitives/charts/radar/chart-radar-icons.d.ts +0 -3
- package/dist/primitives/charts/radar/chart-radar-icons.d.ts.map +0 -1
- package/dist/primitives/charts/radar/chart-radar-icons.js +0 -33
- package/dist/primitives/charts/radar/index.d.ts +0 -10
- package/dist/primitives/charts/radar/index.d.ts.map +0 -1
- package/dist/primitives/charts/radar/index.js +0 -10
- package/dist/primitives/charts/radial/chart-radial-grid.d.ts +0 -3
- package/dist/primitives/charts/radial/chart-radial-grid.d.ts.map +0 -1
- package/dist/primitives/charts/radial/chart-radial-grid.js +0 -42
- package/dist/primitives/charts/radial/chart-radial-label.d.ts +0 -3
- package/dist/primitives/charts/radial/chart-radial-label.d.ts.map +0 -1
- package/dist/primitives/charts/radial/chart-radial-label.js +0 -42
- package/dist/primitives/charts/radial/chart-radial-shape.d.ts +0 -3
- package/dist/primitives/charts/radial/chart-radial-shape.d.ts.map +0 -1
- package/dist/primitives/charts/radial/chart-radial-shape.js +0 -26
- package/dist/primitives/charts/radial/chart-radial-simple.d.ts +0 -3
- package/dist/primitives/charts/radial/chart-radial-simple.d.ts.map +0 -1
- package/dist/primitives/charts/radial/chart-radial-simple.js +0 -42
- package/dist/primitives/charts/radial/chart-radial-stacked.d.ts +0 -3
- package/dist/primitives/charts/radial/chart-radial-stacked.d.ts.map +0 -1
- package/dist/primitives/charts/radial/chart-radial-stacked.js +0 -26
- package/dist/primitives/charts/radial/chart-radial-text.d.ts +0 -3
- package/dist/primitives/charts/radial/chart-radial-text.d.ts.map +0 -1
- package/dist/primitives/charts/radial/chart-radial-text.js +0 -26
- package/dist/primitives/charts/radial/index.d.ts +0 -7
- package/dist/primitives/charts/radial/index.d.ts.map +0 -1
- package/dist/primitives/charts/radial/index.js +0 -7
- package/dist/primitives/charts/tooltip/chart-tooltip-advanced.d.ts +0 -3
- package/dist/primitives/charts/tooltip/chart-tooltip-advanced.d.ts.map +0 -1
- package/dist/primitives/charts/tooltip/chart-tooltip-advanced.js +0 -34
- package/dist/primitives/charts/tooltip/chart-tooltip-default.d.ts +0 -5
- package/dist/primitives/charts/tooltip/chart-tooltip-default.d.ts.map +0 -1
- package/dist/primitives/charts/tooltip/chart-tooltip-default.js +0 -33
- package/dist/primitives/charts/tooltip/chart-tooltip-formatter.d.ts +0 -3
- package/dist/primitives/charts/tooltip/chart-tooltip-formatter.d.ts.map +0 -1
- package/dist/primitives/charts/tooltip/chart-tooltip-formatter.js +0 -32
- package/dist/primitives/charts/tooltip/chart-tooltip-icons.d.ts +0 -3
- package/dist/primitives/charts/tooltip/chart-tooltip-icons.d.ts.map +0 -1
- package/dist/primitives/charts/tooltip/chart-tooltip-icons.js +0 -34
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-line.d.ts +0 -5
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-line.d.ts.map +0 -1
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-line.js +0 -33
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-none.d.ts +0 -3
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-none.d.ts.map +0 -1
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-none.js +0 -31
- package/dist/primitives/charts/tooltip/chart-tooltip-label-custom.d.ts +0 -3
- package/dist/primitives/charts/tooltip/chart-tooltip-label-custom.d.ts.map +0 -1
- package/dist/primitives/charts/tooltip/chart-tooltip-label-custom.js +0 -34
- package/dist/primitives/charts/tooltip/chart-tooltip-label-formatter.d.ts +0 -3
- package/dist/primitives/charts/tooltip/chart-tooltip-label-formatter.d.ts.map +0 -1
- package/dist/primitives/charts/tooltip/chart-tooltip-label-formatter.js +0 -37
- package/dist/primitives/charts/tooltip/chart-tooltip-label-none.d.ts +0 -3
- package/dist/primitives/charts/tooltip/chart-tooltip-label-none.d.ts.map +0 -1
- package/dist/primitives/charts/tooltip/chart-tooltip-label-none.js +0 -31
- package/dist/primitives/charts/tooltip/index.d.ts +0 -10
- package/dist/primitives/charts/tooltip/index.d.ts.map +0 -1
- package/dist/primitives/charts/tooltip/index.js +0 -10
- package/dist/primitives/chat/chat-input-area.d.ts +0 -24
- package/dist/primitives/chat/chat-input-area.d.ts.map +0 -1
- package/dist/primitives/chat/chat-input-area.js +0 -23
- package/dist/primitives/chat/chat-input.d.ts +0 -13
- package/dist/primitives/chat/chat-input.d.ts.map +0 -1
- package/dist/primitives/chat/chat-input.js +0 -33
- package/dist/primitives/chat/json-form.d.ts +0 -4
- package/dist/primitives/chat/json-form.d.ts.map +0 -1
- package/dist/primitives/chat/json-form.js +0 -6
- package/dist/primitives/checkbox.d.ts +0 -12
- package/dist/primitives/checkbox.d.ts.map +0 -1
- package/dist/primitives/checkbox.js +0 -8
- package/dist/primitives/collapsible.d.ts +0 -6
- package/dist/primitives/collapsible.d.ts.map +0 -1
- package/dist/primitives/collapsible.js +0 -5
- package/dist/primitives/combobox.d.ts +0 -42
- package/dist/primitives/combobox.d.ts.map +0 -1
- package/dist/primitives/combobox.js +0 -49
- package/dist/primitives/command.d.ts +0 -39
- package/dist/primitives/command.d.ts.map +0 -1
- package/dist/primitives/command.js +0 -28
- package/dist/primitives/context-menu.d.ts +0 -54
- package/dist/primitives/context-menu.d.ts.map +0 -1
- package/dist/primitives/context-menu.js +0 -32
- package/dist/primitives/copy-to-clipboard-icon.d.ts +0 -15
- package/dist/primitives/copy-to-clipboard-icon.d.ts.map +0 -1
- package/dist/primitives/copy-to-clipboard-icon.js +0 -21
- package/dist/primitives/dialog-video-controller.d.ts +0 -4
- package/dist/primitives/dialog-video-controller.d.ts.map +0 -1
- package/dist/primitives/dialog-video-controller.js +0 -23
- package/dist/primitives/dialog.d.ts +0 -18
- package/dist/primitives/dialog.d.ts.map +0 -1
- package/dist/primitives/dialog.js +0 -37
- package/dist/primitives/dot-pattern.d.ts +0 -14
- package/dist/primitives/dot-pattern.d.ts.map +0 -1
- package/dist/primitives/dot-pattern.js +0 -8
- package/dist/primitives/dots-loader.d.ts +0 -5
- package/dist/primitives/dots-loader.d.ts.map +0 -1
- package/dist/primitives/dots-loader.js +0 -5
- package/dist/primitives/drawer.d.ts +0 -38
- package/dist/primitives/drawer.d.ts.map +0 -1
- package/dist/primitives/drawer.js +0 -22
- package/dist/primitives/dropdown-menu.d.ts +0 -52
- package/dist/primitives/dropdown-menu.d.ts.map +0 -1
- package/dist/primitives/dropdown-menu.js +0 -34
- package/dist/primitives/empty.d.ts +0 -12
- package/dist/primitives/empty.d.ts.map +0 -1
- package/dist/primitives/empty.js +0 -33
- package/dist/primitives/error-message.d.ts +0 -7
- package/dist/primitives/error-message.d.ts.map +0 -1
- package/dist/primitives/error-message.js +0 -5
- package/dist/primitives/field.d.ts +0 -10
- package/dist/primitives/field.d.ts.map +0 -1
- package/dist/primitives/field.js +0 -16
- package/dist/primitives/file-uploader.d.ts +0 -20
- package/dist/primitives/file-uploader.d.ts.map +0 -1
- package/dist/primitives/file-uploader.js +0 -68
- package/dist/primitives/form.d.ts +0 -40
- package/dist/primitives/form.d.ts.map +0 -1
- package/dist/primitives/form.js +0 -67
- package/dist/primitives/hover-card.d.ts +0 -10
- package/dist/primitives/hover-card.d.ts.map +0 -1
- package/dist/primitives/hover-card.js +0 -8
- package/dist/primitives/icons/github.d.ts +0 -5
- package/dist/primitives/icons/github.d.ts.map +0 -1
- package/dist/primitives/icons/github.js +0 -3
- package/dist/primitives/icons/index.d.ts +0 -5
- package/dist/primitives/icons/index.d.ts.map +0 -1
- package/dist/primitives/icons/index.js +0 -4
- package/dist/primitives/icons/youtube-logo.d.ts +0 -5
- package/dist/primitives/icons/youtube-logo.d.ts.map +0 -1
- package/dist/primitives/icons/youtube-logo.js +0 -33
- package/dist/primitives/index-blocks.d.ts +0 -5
- package/dist/primitives/index-blocks.d.ts.map +0 -1
- package/dist/primitives/index-blocks.js +0 -6
- package/dist/primitives/index-common.d.ts +0 -75
- package/dist/primitives/index-common.d.ts.map +0 -1
- package/dist/primitives/index-common.js +0 -82
- package/dist/primitives/index-core.d.ts +0 -29
- package/dist/primitives/index-core.d.ts.map +0 -1
- package/dist/primitives/index-core.js +0 -30
- package/dist/primitives/index-next.d.ts +0 -3
- package/dist/primitives/index-next.d.ts.map +0 -1
- package/dist/primitives/index-next.js +0 -4
- package/dist/primitives/index-standard.d.ts +0 -79
- package/dist/primitives/index-standard.d.ts.map +0 -1
- package/dist/primitives/index-standard.js +0 -98
- package/dist/primitives/input-group.d.ts +0 -17
- package/dist/primitives/input-group.d.ts.map +0 -1
- package/dist/primitives/input-group.js +0 -61
- package/dist/primitives/input-otp.d.ts +0 -35
- package/dist/primitives/input-otp.d.ts.map +0 -1
- package/dist/primitives/input-otp.js +0 -19
- package/dist/primitives/input.d.ts +0 -15
- package/dist/primitives/input.d.ts.map +0 -1
- package/dist/primitives/input.js +0 -43
- package/dist/primitives/item.d.ts +0 -24
- package/dist/primitives/item.d.ts.map +0 -1
- package/dist/primitives/item.js +0 -67
- package/dist/primitives/kbd.d.ts +0 -5
- package/dist/primitives/kbd.d.ts.map +0 -1
- package/dist/primitives/kbd.js +0 -9
- package/dist/primitives/label.d.ts +0 -11
- package/dist/primitives/label.d.ts.map +0 -1
- package/dist/primitives/label.js +0 -9
- package/dist/primitives/list-adaptor.d.ts +0 -10
- package/dist/primitives/list-adaptor.d.ts.map +0 -1
- package/dist/primitives/list-adaptor.js +0 -1
- package/dist/primitives/list-box.d.ts +0 -12
- package/dist/primitives/list-box.d.ts.map +0 -1
- package/dist/primitives/list-box.js +0 -10
- package/dist/primitives/loading-spinner.d.ts +0 -6
- package/dist/primitives/loading-spinner.d.ts.map +0 -1
- package/dist/primitives/loading-spinner.js +0 -7
- package/dist/primitives/markdown-preview.d.ts +0 -129
- package/dist/primitives/markdown-preview.d.ts.map +0 -1
- package/dist/primitives/markdown-preview.js +0 -165
- package/dist/primitives/menubar.d.ts +0 -29
- package/dist/primitives/menubar.d.ts.map +0 -1
- package/dist/primitives/menubar.js +0 -46
- package/dist/primitives/mermaid.d.ts +0 -8
- package/dist/primitives/mermaid.d.ts.map +0 -1
- package/dist/primitives/mermaid.js +0 -112
- package/dist/primitives/native-select.d.ts +0 -9
- package/dist/primitives/native-select.d.ts.map +0 -1
- package/dist/primitives/native-select.js +0 -14
- package/dist/primitives/navigation-menu.d.ts +0 -13
- package/dist/primitives/navigation-menu.d.ts.map +0 -1
- package/dist/primitives/navigation-menu.js +0 -29
- package/dist/primitives/next/image.d.ts +0 -12
- package/dist/primitives/next/image.d.ts.map +0 -1
- package/dist/primitives/next/image.js +0 -40
- package/dist/primitives/next/index.d.ts +0 -8
- package/dist/primitives/next/index.d.ts.map +0 -1
- package/dist/primitives/next/index.js +0 -7
- package/dist/primitives/next/inline-icon.d.ts +0 -14
- package/dist/primitives/next/inline-icon.d.ts.map +0 -1
- package/dist/primitives/next/inline-icon.js +0 -13
- package/dist/primitives/next/link-element.d.ts +0 -24
- package/dist/primitives/next/link-element.d.ts.map +0 -1
- package/dist/primitives/next/link-element.js +0 -47
- package/dist/primitives/next/mdx-link.d.ts +0 -4
- package/dist/primitives/next/mdx-link.d.ts.map +0 -1
- package/dist/primitives/next/mdx-link.js +0 -10
- package/dist/primitives/next/media-stack.d.ts +0 -9
- package/dist/primitives/next/media-stack.d.ts.map +0 -1
- package/dist/primitives/next/media-stack.js +0 -20
- package/dist/primitives/next/nav-items.d.ts +0 -11
- package/dist/primitives/next/nav-items.d.ts.map +0 -1
- package/dist/primitives/next/nav-items.js +0 -22
- package/dist/primitives/next/youtube-embed.d.ts +0 -12
- package/dist/primitives/next/youtube-embed.d.ts.map +0 -1
- package/dist/primitives/next/youtube-embed.js +0 -16
- package/dist/primitives/popover.d.ts +0 -12
- package/dist/primitives/popover.d.ts.map +0 -1
- package/dist/primitives/popover.js +0 -10
- package/dist/primitives/pretty-json-print.d.ts +0 -5
- package/dist/primitives/pretty-json-print.d.ts.map +0 -1
- package/dist/primitives/pretty-json-print.js +0 -22
- package/dist/primitives/progress.d.ts +0 -9
- package/dist/primitives/progress.d.ts.map +0 -1
- package/dist/primitives/progress.js +0 -7
- package/dist/primitives/prompt-textarea.d.ts +0 -19
- package/dist/primitives/prompt-textarea.d.ts.map +0 -1
- package/dist/primitives/prompt-textarea.js +0 -30
- package/dist/primitives/radio-group.d.ts +0 -12
- package/dist/primitives/radio-group.d.ts.map +0 -1
- package/dist/primitives/radio-group.js +0 -14
- package/dist/primitives/resizable.d.ts +0 -24
- package/dist/primitives/resizable.d.ts.map +0 -1
- package/dist/primitives/resizable.js +0 -8
- package/dist/primitives/scroll-area.d.ts +0 -14
- package/dist/primitives/scroll-area.d.ts.map +0 -1
- package/dist/primitives/scroll-area.js +0 -10
- package/dist/primitives/search-input.d.ts +0 -14
- package/dist/primitives/search-input.d.ts.map +0 -1
- package/dist/primitives/search-input.js +0 -16
- package/dist/primitives/select.d.ts +0 -27
- package/dist/primitives/select.d.ts.map +0 -1
- package/dist/primitives/select.js +0 -21
- package/dist/primitives/separator.d.ts +0 -9
- package/dist/primitives/separator.d.ts.map +0 -1
- package/dist/primitives/separator.js +0 -7
- package/dist/primitives/sheet.d.ts +0 -41
- package/dist/primitives/sheet.d.ts.map +0 -1
- package/dist/primitives/sheet.js +0 -35
- package/dist/primitives/skeleton.d.ts +0 -5
- package/dist/primitives/skeleton.d.ts.map +0 -1
- package/dist/primitives/skeleton.js +0 -7
- package/dist/primitives/slider.d.ts +0 -6
- package/dist/primitives/slider.d.ts.map +0 -1
- package/dist/primitives/slider.js +0 -15
- package/dist/primitives/sonner.d.ts +0 -6
- package/dist/primitives/sonner.d.ts.map +0 -1
- package/dist/primitives/sonner.js +0 -17
- package/dist/primitives/spinner.d.ts +0 -3
- package/dist/primitives/spinner.d.ts.map +0 -1
- package/dist/primitives/spinner.js +0 -7
- package/dist/primitives/step-indicator.d.ts +0 -10
- package/dist/primitives/step-indicator.d.ts.map +0 -1
- package/dist/primitives/step-indicator.js +0 -13
- package/dist/primitives/stepper.d.ts +0 -49
- package/dist/primitives/stepper.d.ts.map +0 -1
- package/dist/primitives/stepper.js +0 -75
- package/dist/primitives/switch.d.ts +0 -9
- package/dist/primitives/switch.d.ts.map +0 -1
- package/dist/primitives/switch.js +0 -7
- package/dist/primitives/table.d.ts +0 -35
- package/dist/primitives/table.d.ts.map +0 -1
- package/dist/primitives/table.js +0 -19
- package/dist/primitives/tabs.d.ts +0 -12
- package/dist/primitives/tabs.d.ts.map +0 -1
- package/dist/primitives/tabs.js +0 -35
- package/dist/primitives/text-area.d.ts +0 -6
- package/dist/primitives/text-area.d.ts.map +0 -1
- package/dist/primitives/text-area.js +0 -10
- package/dist/primitives/text-link.d.ts +0 -6
- package/dist/primitives/text-link.d.ts.map +0 -1
- package/dist/primitives/text-link.js +0 -5
- package/dist/primitives/textarea.d.ts +0 -13
- package/dist/primitives/textarea.d.ts.map +0 -1
- package/dist/primitives/textarea.js +0 -28
- package/dist/primitives/textfield.d.ts +0 -33
- package/dist/primitives/textfield.d.ts.map +0 -1
- package/dist/primitives/textfield.js +0 -9
- package/dist/primitives/toast.d.ts +0 -6
- package/dist/primitives/toast.d.ts.map +0 -1
- package/dist/primitives/toast.js +0 -13
- package/dist/primitives/toggle-group.d.ts +0 -14
- package/dist/primitives/toggle-group.d.ts.map +0 -1
- package/dist/primitives/toggle-group.js +0 -20
- package/dist/primitives/toggle.d.ts +0 -13
- package/dist/primitives/toggle.d.ts.map +0 -1
- package/dist/primitives/toggle.js +0 -24
- package/dist/primitives/tooltip.d.ts +0 -15
- package/dist/primitives/tooltip.d.ts.map +0 -1
- package/dist/primitives/tooltip.js +0 -11
- package/dist/primitives/video-player.d.ts +0 -7
- package/dist/primitives/video-player.d.ts.map +0 -1
- package/dist/primitives/video-player.js +0 -7
- package/dist/primitives/youtube-pip-player.d.ts +0 -33
- package/dist/primitives/youtube-pip-player.d.ts.map +0 -1
- package/dist/primitives/youtube-pip-player.js +0 -253
- package/dist/progress.js +0 -2
- package/dist/progress.mjs +0 -2
- package/dist/project/gantt.js +0 -2
- package/dist/project/gantt.mjs +0 -2
- package/dist/project/index.js +0 -2
- package/dist/project/index.mjs +0 -2
- package/dist/project/kanban.js +0 -2
- package/dist/project/kanban.mjs +0 -2
- package/dist/project/list.js +0 -2
- package/dist/project/list.mjs +0 -2
- package/dist/radio-group.js +0 -2
- package/dist/radio-group.mjs +0 -2
- package/dist/resizable.js +0 -2
- package/dist/resizable.mjs +0 -2
- package/dist/scroll-area.js +0 -2
- package/dist/scroll-area.mjs +0 -2
- package/dist/select.js +0 -2
- package/dist/select.mjs +0 -2
- package/dist/separator.js +0 -2
- package/dist/separator.mjs +0 -2
- package/dist/sheet.js +0 -2
- package/dist/sheet.mjs +0 -2
- package/dist/skeleton.js +0 -2
- package/dist/skeleton.mjs +0 -2
- package/dist/slider.js +0 -2
- package/dist/slider.mjs +0 -2
- package/dist/sonner.js +0 -2
- package/dist/sonner.mjs +0 -2
- package/dist/spline/index.js +0 -2
- package/dist/spline/index.mjs +0 -2
- package/dist/spline/media-stack.js +0 -2
- package/dist/spline/media-stack.mjs +0 -2
- package/dist/spline/player.js +0 -2
- package/dist/spline/player.mjs +0 -2
- package/dist/src/3d/button.d.ts +0 -27
- package/dist/src/3d/button.d.ts.map +0 -1
- package/dist/src/3d/button.js +0 -181
- package/dist/src/3d/card.d.ts +0 -29
- package/dist/src/3d/card.d.ts.map +0 -1
- package/dist/src/3d/card.js +0 -117
- package/dist/src/3d/carousel.d.ts +0 -26
- package/dist/src/3d/carousel.d.ts.map +0 -1
- package/dist/src/3d/carousel.js +0 -171
- package/dist/src/3d/grid.d.ts +0 -49
- package/dist/src/3d/grid.d.ts.map +0 -1
- package/dist/src/3d/grid.js +0 -126
- package/dist/src/3d/index.d.ts +0 -7
- package/dist/src/3d/index.d.ts.map +0 -1
- package/dist/src/3d/index.js +0 -7
- package/dist/src/3d/marquee.d.ts +0 -37
- package/dist/src/3d/marquee.d.ts.map +0 -1
- package/dist/src/3d/marquee.js +0 -208
- package/dist/src/3d/pin.d.ts +0 -8
- package/dist/src/3d/pin.d.ts.map +0 -1
- package/dist/src/3d/pin.js +0 -9
- package/dist/src/auth/AuthGuard.d.ts +0 -16
- package/dist/src/auth/AuthGuard.d.ts.map +0 -1
- package/dist/src/auth/AuthGuard.js +0 -36
- package/dist/src/auth/IAMLoginButton.d.ts +0 -20
- package/dist/src/auth/IAMLoginButton.d.ts.map +0 -1
- package/dist/src/auth/IAMLoginButton.js +0 -27
- package/dist/src/auth/index.d.ts +0 -8
- package/dist/src/auth/index.d.ts.map +0 -1
- package/dist/src/auth/index.js +0 -5
- package/dist/src/avatar.d.ts +0 -2
- package/dist/src/avatar.d.ts.map +0 -1
- package/dist/src/avatar.js +0 -1
- package/dist/src/badge.d.ts +0 -2
- package/dist/src/badge.d.ts.map +0 -1
- package/dist/src/badge.js +0 -1
- package/dist/src/billing/components/account-members.d.ts +0 -10
- package/dist/src/billing/components/account-members.d.ts.map +0 -1
- package/dist/src/billing/components/account-members.js +0 -63
- package/dist/src/billing/components/account-switcher.d.ts +0 -9
- package/dist/src/billing/components/account-switcher.d.ts.map +0 -1
- package/dist/src/billing/components/account-switcher.js +0 -52
- package/dist/src/billing/components/animated-card.d.ts +0 -9
- package/dist/src/billing/components/animated-card.d.ts.map +0 -1
- package/dist/src/billing/components/animated-card.js +0 -161
- package/dist/src/billing/components/billing-settings.d.ts +0 -26
- package/dist/src/billing/components/billing-settings.d.ts.map +0 -1
- package/dist/src/billing/components/billing-settings.js +0 -23
- package/dist/src/billing/components/billing-workspace.d.ts +0 -28
- package/dist/src/billing/components/billing-workspace.d.ts.map +0 -1
- package/dist/src/billing/components/billing-workspace.js +0 -22
- package/dist/src/billing/components/business-profile-panel.d.ts +0 -7
- package/dist/src/billing/components/business-profile-panel.d.ts.map +0 -1
- package/dist/src/billing/components/business-profile-panel.js +0 -45
- package/dist/src/billing/components/card-form.d.ts +0 -18
- package/dist/src/billing/components/card-form.d.ts.map +0 -1
- package/dist/src/billing/components/card-form.js +0 -139
- package/dist/src/billing/components/cost-explorer.d.ts +0 -7
- package/dist/src/billing/components/cost-explorer.d.ts.map +0 -1
- package/dist/src/billing/components/cost-explorer.js +0 -73
- package/dist/src/billing/components/credits-panel.d.ts +0 -8
- package/dist/src/billing/components/credits-panel.d.ts.map +0 -1
- package/dist/src/billing/components/credits-panel.js +0 -58
- package/dist/src/billing/components/guided-setup.d.ts +0 -13
- package/dist/src/billing/components/guided-setup.d.ts.map +0 -1
- package/dist/src/billing/components/guided-setup.js +0 -44
- package/dist/src/billing/components/index.d.ts +0 -47
- package/dist/src/billing/components/index.d.ts.map +0 -1
- package/dist/src/billing/components/index.js +0 -23
- package/dist/src/billing/components/invoice-manager.d.ts +0 -10
- package/dist/src/billing/components/invoice-manager.d.ts.map +0 -1
- package/dist/src/billing/components/invoice-manager.js +0 -131
- package/dist/src/billing/components/invoices-payments.d.ts +0 -7
- package/dist/src/billing/components/invoices-payments.d.ts.map +0 -1
- package/dist/src/billing/components/invoices-payments.js +0 -44
- package/dist/src/billing/components/overview-dashboard.d.ts +0 -31
- package/dist/src/billing/components/overview-dashboard.d.ts.map +0 -1
- package/dist/src/billing/components/overview-dashboard.js +0 -105
- package/dist/src/billing/components/payment-manager.d.ts +0 -13
- package/dist/src/billing/components/payment-manager.d.ts.map +0 -1
- package/dist/src/billing/components/payment-manager.js +0 -330
- package/dist/src/billing/components/promotions-panel.d.ts +0 -7
- package/dist/src/billing/components/promotions-panel.d.ts.map +0 -1
- package/dist/src/billing/components/promotions-panel.js +0 -48
- package/dist/src/billing/components/spend-alerts.d.ts +0 -9
- package/dist/src/billing/components/spend-alerts.d.ts.map +0 -1
- package/dist/src/billing/components/spend-alerts.js +0 -99
- package/dist/src/billing/components/square-card-form.d.ts +0 -32
- package/dist/src/billing/components/square-card-form.d.ts.map +0 -1
- package/dist/src/billing/components/square-card-form.js +0 -179
- package/dist/src/billing/components/status-bar.d.ts +0 -12
- package/dist/src/billing/components/status-bar.d.ts.map +0 -1
- package/dist/src/billing/components/status-bar.js +0 -32
- package/dist/src/billing/components/subscription-portal.d.ts +0 -17
- package/dist/src/billing/components/subscription-portal.d.ts.map +0 -1
- package/dist/src/billing/components/subscription-portal.js +0 -185
- package/dist/src/billing/components/support-tiers-panel.d.ts +0 -6
- package/dist/src/billing/components/support-tiers-panel.d.ts.map +0 -1
- package/dist/src/billing/components/support-tiers-panel.js +0 -90
- package/dist/src/billing/components/tax-compliance-panel.d.ts +0 -8
- package/dist/src/billing/components/tax-compliance-panel.d.ts.map +0 -1
- package/dist/src/billing/components/tax-compliance-panel.js +0 -41
- package/dist/src/billing/components/transactions-panel.d.ts +0 -8
- package/dist/src/billing/components/transactions-panel.d.ts.map +0 -1
- package/dist/src/billing/components/transactions-panel.js +0 -64
- package/dist/src/billing/components/usage-panel.d.ts +0 -7
- package/dist/src/billing/components/usage-panel.d.ts.map +0 -1
- package/dist/src/billing/components/usage-panel.js +0 -64
- package/dist/src/billing/index.d.ts +0 -7
- package/dist/src/billing/index.d.ts.map +0 -1
- package/dist/src/billing/index.js +0 -8
- package/dist/src/billing/types/index.d.ts +0 -312
- package/dist/src/billing/types/index.d.ts.map +0 -1
- package/dist/src/billing/types/index.js +0 -1
- package/dist/src/button.d.ts +0 -2
- package/dist/src/button.d.ts.map +0 -1
- package/dist/src/button.js +0 -1
- package/dist/src/calendar-ext/index.d.ts +0 -4
- package/dist/src/calendar-ext/index.d.ts.map +0 -1
- package/dist/src/calendar-ext/index.js +0 -7
- package/dist/src/charts/index.d.ts +0 -65
- package/dist/src/charts/index.d.ts.map +0 -1
- package/dist/src/charts/index.js +0 -76
- package/dist/src/dash/crud.d.ts +0 -37
- package/dist/src/dash/crud.d.ts.map +0 -1
- package/dist/src/dash/crud.js +0 -74
- package/dist/src/dash/form.d.ts +0 -52
- package/dist/src/dash/form.d.ts.map +0 -1
- package/dist/src/dash/form.js +0 -90
- package/dist/src/dash/header.d.ts +0 -28
- package/dist/src/dash/header.d.ts.map +0 -1
- package/dist/src/dash/header.js +0 -24
- package/dist/src/dash/index.d.ts +0 -21
- package/dist/src/dash/index.d.ts.map +0 -1
- package/dist/src/dash/index.js +0 -20
- package/dist/src/dash/layout.d.ts +0 -16
- package/dist/src/dash/layout.d.ts.map +0 -1
- package/dist/src/dash/layout.js +0 -8
- package/dist/src/dash/sidebar.d.ts +0 -31
- package/dist/src/dash/sidebar.d.ts.map +0 -1
- package/dist/src/dash/sidebar.js +0 -26
- package/dist/src/dash/table.d.ts +0 -50
- package/dist/src/dash/table.d.ts.map +0 -1
- package/dist/src/dash/table.js +0 -88
- package/dist/src/desktop/hooks.d.ts +0 -75
- package/dist/src/desktop/hooks.d.ts.map +0 -1
- package/dist/src/desktop/hooks.js +0 -194
- package/dist/src/desktop/index.d.ts +0 -7
- package/dist/src/desktop/index.d.ts.map +0 -1
- package/dist/src/desktop/index.js +0 -8
- package/dist/src/desktop/spotlight.d.ts +0 -24
- package/dist/src/desktop/spotlight.d.ts.map +0 -1
- package/dist/src/desktop/spotlight.js +0 -126
- package/dist/src/desktop/window.d.ts +0 -34
- package/dist/src/desktop/window.d.ts.map +0 -1
- package/dist/src/desktop/window.js +0 -114
- package/dist/src/device/index.d.ts +0 -2
- package/dist/src/device/index.d.ts.map +0 -1
- package/dist/src/device/index.js +0 -1
- package/dist/src/dock/basic.d.ts +0 -20
- package/dist/src/dock/basic.d.ts.map +0 -1
- package/dist/src/dock/basic.js +0 -50
- package/dist/src/dock/index.d.ts +0 -6
- package/dist/src/dock/index.d.ts.map +0 -1
- package/dist/src/dock/index.js +0 -6
- package/dist/src/dock/limelight-nav.d.ts +0 -10
- package/dist/src/dock/limelight-nav.d.ts.map +0 -1
- package/dist/src/dock/limelight-nav.js +0 -25
- package/dist/src/dock/macos.d.ts +0 -17
- package/dist/src/dock/macos.d.ts.map +0 -1
- package/dist/src/dock/macos.js +0 -38
- package/dist/src/dock/menu.d.ts +0 -14
- package/dist/src/dock/menu.d.ts.map +0 -1
- package/dist/src/dock/menu.js +0 -10
- package/dist/src/dock/message.d.ts +0 -15
- package/dist/src/dock/message.d.ts.map +0 -1
- package/dist/src/dock/message.js +0 -21
- package/dist/src/form/form.d.ts +0 -24
- package/dist/src/form/form.d.ts.map +0 -1
- package/dist/src/form/form.js +0 -66
- package/dist/src/form/index.d.ts +0 -2
- package/dist/src/form/index.d.ts.map +0 -1
- package/dist/src/form/index.js +0 -2
- package/dist/src/hooks/index.d.ts +0 -8
- package/dist/src/hooks/index.d.ts.map +0 -1
- package/dist/src/hooks/index.js +0 -7
- package/dist/src/hooks/use-click-away.d.ts +0 -3
- package/dist/src/hooks/use-click-away.d.ts.map +0 -1
- package/dist/src/hooks/use-click-away.js +0 -23
- package/dist/src/hooks/use-combined-refs.d.ts +0 -4
- package/dist/src/hooks/use-combined-refs.d.ts.map +0 -1
- package/dist/src/hooks/use-combined-refs.js +0 -18
- package/dist/src/hooks/use-copy-clipboard.d.ts +0 -10
- package/dist/src/hooks/use-copy-clipboard.d.ts.map +0 -1
- package/dist/src/hooks/use-copy-clipboard.js +0 -21
- package/dist/src/hooks/use-debounce.d.ts +0 -2
- package/dist/src/hooks/use-debounce.d.ts.map +0 -1
- package/dist/src/hooks/use-debounce.js +0 -13
- package/dist/src/hooks/use-fill-ids.d.ts +0 -9
- package/dist/src/hooks/use-fill-ids.d.ts.map +0 -1
- package/dist/src/hooks/use-fill-ids.js +0 -20
- package/dist/src/hooks/use-map.d.ts +0 -2
- package/dist/src/hooks/use-map.d.ts.map +0 -1
- package/dist/src/hooks/use-map.js +0 -20
- package/dist/src/hooks/use-measure.d.ts +0 -9
- package/dist/src/hooks/use-measure.d.ts.map +0 -1
- package/dist/src/hooks/use-measure.js +0 -25
- package/dist/src/hooks/use-reverse-video-playback.d.ts +0 -2
- package/dist/src/hooks/use-reverse-video-playback.d.ts.map +0 -1
- package/dist/src/hooks/use-reverse-video-playback.js +0 -41
- package/dist/src/hooks/use-scroll-restoration.d.ts +0 -9
- package/dist/src/hooks/use-scroll-restoration.d.ts.map +0 -1
- package/dist/src/hooks/use-scroll-restoration.js +0 -36
- package/dist/src/kanban/index.d.ts +0 -3
- package/dist/src/kanban/index.d.ts.map +0 -1
- package/dist/src/kanban/index.js +0 -4
- package/dist/src/mcp/enhanced-server.d.ts +0 -41
- package/dist/src/mcp/enhanced-server.d.ts.map +0 -1
- package/dist/src/mcp/enhanced-server.js +0 -1128
- package/dist/src/mcp/index.d.ts +0 -40
- package/dist/src/mcp/index.d.ts.map +0 -1
- package/dist/src/mcp/index.js +0 -436
- package/dist/src/mermaid/index.d.ts +0 -3
- package/dist/src/mermaid/index.d.ts.map +0 -1
- package/dist/src/mermaid/index.js +0 -3
- package/dist/src/models/ModelCard.d.ts +0 -25
- package/dist/src/models/ModelCard.d.ts.map +0 -1
- package/dist/src/models/ModelCard.js +0 -73
- package/dist/src/models/ModelLibrary.d.ts +0 -41
- package/dist/src/models/ModelLibrary.d.ts.map +0 -1
- package/dist/src/models/ModelLibrary.js +0 -63
- package/dist/src/models/ModelTable.d.ts +0 -17
- package/dist/src/models/ModelTable.d.ts.map +0 -1
- package/dist/src/models/ModelTable.js +0 -35
- package/dist/src/models/ZenEnso.d.ts +0 -17
- package/dist/src/models/ZenEnso.d.ts.map +0 -1
- package/dist/src/models/ZenEnso.js +0 -50
- package/dist/src/models/index.d.ts +0 -23
- package/dist/src/models/index.d.ts.map +0 -1
- package/dist/src/models/index.js +0 -18
- package/dist/src/models/types.d.ts +0 -40
- package/dist/src/models/types.d.ts.map +0 -1
- package/dist/src/models/types.js +0 -7
- package/dist/src/navigation/advanced-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/advanced-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/advanced-navigation-bar.js +0 -4
- package/dist/src/navigation/ai-model-selector-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/ai-model-selector-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/ai-model-selector-navigation-bar.js +0 -4
- package/dist/src/navigation/app-switcher-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/app-switcher-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/app-switcher-navigation-bar.js +0 -4
- package/dist/src/navigation/breadcrumb-and-filters-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/breadcrumb-and-filters-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/breadcrumb-and-filters-navigation-bar.js +0 -4
- package/dist/src/navigation/breadcrumb-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/breadcrumb-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/breadcrumb-navigation-bar.js +0 -4
- package/dist/src/navigation/centered-logo-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/centered-logo-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/centered-logo-navigation-bar.js +0 -4
- package/dist/src/navigation/collaboration-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/collaboration-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/collaboration-navigation-bar.js +0 -4
- package/dist/src/navigation/communication-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/communication-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/communication-navigation-bar.js +0 -4
- package/dist/src/navigation/context-switcher-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/context-switcher-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/context-switcher-navigation-bar.js +0 -4
- package/dist/src/navigation/dashboard-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/dashboard-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/dashboard-navigation-bar.js +0 -4
- package/dist/src/navigation/e-commerce-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/e-commerce-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/e-commerce-navigation-bar.js +0 -4
- package/dist/src/navigation/hanzo-shell/AppSwitcher.d.ts +0 -8
- package/dist/src/navigation/hanzo-shell/AppSwitcher.d.ts.map +0 -1
- package/dist/src/navigation/hanzo-shell/AppSwitcher.js +0 -42
- package/dist/src/navigation/hanzo-shell/BeamAvatar.d.ts +0 -9
- package/dist/src/navigation/hanzo-shell/BeamAvatar.d.ts.map +0 -1
- package/dist/src/navigation/hanzo-shell/BeamAvatar.js +0 -38
- package/dist/src/navigation/hanzo-shell/HanzoCommandPalette.d.ts +0 -28
- package/dist/src/navigation/hanzo-shell/HanzoCommandPalette.d.ts.map +0 -1
- package/dist/src/navigation/hanzo-shell/HanzoCommandPalette.js +0 -124
- package/dist/src/navigation/hanzo-shell/HanzoHeader.d.ts +0 -16
- package/dist/src/navigation/hanzo-shell/HanzoHeader.d.ts.map +0 -1
- package/dist/src/navigation/hanzo-shell/HanzoHeader.js +0 -101
- package/dist/src/navigation/hanzo-shell/HanzoMark.d.ts +0 -17
- package/dist/src/navigation/hanzo-shell/HanzoMark.d.ts.map +0 -1
- package/dist/src/navigation/hanzo-shell/HanzoMark.js +0 -57
- package/dist/src/navigation/hanzo-shell/UserAvatar.d.ts +0 -15
- package/dist/src/navigation/hanzo-shell/UserAvatar.d.ts.map +0 -1
- package/dist/src/navigation/hanzo-shell/UserAvatar.js +0 -44
- package/dist/src/navigation/hanzo-shell/UserOrgDropdown.d.ts +0 -11
- package/dist/src/navigation/hanzo-shell/UserOrgDropdown.d.ts.map +0 -1
- package/dist/src/navigation/hanzo-shell/UserOrgDropdown.js +0 -29
- package/dist/src/navigation/hanzo-shell/index.d.ts +0 -14
- package/dist/src/navigation/hanzo-shell/index.d.ts.map +0 -1
- package/dist/src/navigation/hanzo-shell/index.js +0 -9
- package/dist/src/navigation/hanzo-shell/types.d.ts +0 -94
- package/dist/src/navigation/hanzo-shell/types.d.ts.map +0 -1
- package/dist/src/navigation/hanzo-shell/types.js +0 -326
- package/dist/src/navigation/hanzo-shell/useHanzoAuth.d.ts +0 -16
- package/dist/src/navigation/hanzo-shell/useHanzoAuth.d.ts.map +0 -1
- package/dist/src/navigation/hanzo-shell/useHanzoAuth.js +0 -93
- package/dist/src/navigation/icon-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/icon-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/icon-navigation-bar.js +0 -4
- package/dist/src/navigation/index.d.ts +0 -21
- package/dist/src/navigation/index.d.ts.map +0 -1
- package/dist/src/navigation/index.js +0 -21
- package/dist/src/navigation/search-and-toggle-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/search-and-toggle-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/search-and-toggle-navigation-bar.js +0 -4
- package/dist/src/navigation/simple-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/simple-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/simple-navigation-bar.js +0 -4
- package/dist/src/navigation/status-dashboard-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/status-dashboard-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/status-dashboard-navigation-bar.js +0 -4
- package/dist/src/navigation/team-switcher-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/team-switcher-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/team-switcher-navigation-bar.js +0 -4
- package/dist/src/navigation/two-tier-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/two-tier-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/two-tier-navigation-bar.js +0 -4
- package/dist/src/navigation/underline-navigation-bar.d.ts +0 -2
- package/dist/src/navigation/underline-navigation-bar.d.ts.map +0 -1
- package/dist/src/navigation/underline-navigation-bar.js +0 -4
- package/dist/src/pattern/grid.d.ts +0 -111
- package/dist/src/pattern/grid.d.ts.map +0 -1
- package/dist/src/pattern/grid.js +0 -126
- package/dist/src/pattern/index.d.ts +0 -3
- package/dist/src/pattern/index.d.ts.map +0 -1
- package/dist/src/pattern/index.js +0 -2
- package/dist/src/project/gantt.d.ts +0 -13
- package/dist/src/project/gantt.d.ts.map +0 -1
- package/dist/src/project/gantt.js +0 -9
- package/dist/src/project/index.d.ts +0 -4
- package/dist/src/project/index.d.ts.map +0 -1
- package/dist/src/project/index.js +0 -7
- package/dist/src/project/kanban.d.ts +0 -36
- package/dist/src/project/kanban.d.ts.map +0 -1
- package/dist/src/project/kanban.js +0 -259
- package/dist/src/project/list.d.ts +0 -5
- package/dist/src/project/list.d.ts.map +0 -1
- package/dist/src/project/list.js +0 -8
- package/dist/src/registry/api.d.ts +0 -38
- package/dist/src/registry/api.d.ts.map +0 -1
- package/dist/src/registry/api.js +0 -129
- package/dist/src/registry/index.d.ts +0 -354
- package/dist/src/registry/index.d.ts.map +0 -1
- package/dist/src/registry/index.js +0 -45
- package/dist/src/spline/index.d.ts +0 -3
- package/dist/src/spline/index.d.ts.map +0 -1
- package/dist/src/spline/index.js +0 -4
- package/dist/src/spline/media-stack.d.ts +0 -15
- package/dist/src/spline/media-stack.d.ts.map +0 -1
- package/dist/src/spline/media-stack.js +0 -33
- package/dist/src/spline/player.d.ts +0 -15
- package/dist/src/spline/player.d.ts.map +0 -1
- package/dist/src/spline/player.js +0 -12
- package/dist/src/ui/announcement.d.ts +0 -9
- package/dist/src/ui/announcement.d.ts.map +0 -1
- package/dist/src/ui/announcement.js +0 -18
- package/dist/src/ui/avatar-group.d.ts +0 -12
- package/dist/src/ui/avatar-group.d.ts.map +0 -1
- package/dist/src/ui/avatar-group.js +0 -12
- package/dist/src/ui/banner.d.ts +0 -11
- package/dist/src/ui/banner.d.ts.map +0 -1
- package/dist/src/ui/banner.js +0 -25
- package/dist/src/ui/cursor.d.ts +0 -9
- package/dist/src/ui/cursor.d.ts.map +0 -1
- package/dist/src/ui/cursor.js +0 -24
- package/dist/src/ui/index.d.ts +0 -18
- package/dist/src/ui/index.d.ts.map +0 -1
- package/dist/src/ui/index.js +0 -10
- package/dist/src/ui/marquee.d.ts +0 -10
- package/dist/src/ui/marquee.d.ts.map +0 -1
- package/dist/src/ui/marquee.js +0 -14
- package/dist/src/ui/pill.d.ts +0 -11
- package/dist/src/ui/pill.d.ts.map +0 -1
- package/dist/src/ui/pill.js +0 -25
- package/dist/src/ui/spinner.d.ts +0 -3
- package/dist/src/ui/spinner.d.ts.map +0 -1
- package/dist/src/ui/spinner.js +0 -7
- package/dist/src/ui/tags.d.ts +0 -13
- package/dist/src/ui/tags.d.ts.map +0 -1
- package/dist/src/ui/tags.js +0 -11
- package/dist/src/ui/ticker.d.ts +0 -10
- package/dist/src/ui/ticker.d.ts.map +0 -1
- package/dist/src/ui/ticker.js +0 -12
- package/dist/src/utils.d.ts +0 -5
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js +0 -16
- package/dist/style/theme-provider.d.ts +0 -5
- package/dist/style/theme-provider.d.ts.map +0 -1
- package/dist/style/theme-provider.js +0 -8
- package/dist/switch.js +0 -2
- package/dist/switch.mjs +0 -2
- package/dist/table.js +0 -2
- package/dist/table.mjs +0 -2
- package/dist/tabs.js +0 -2
- package/dist/tabs.mjs +0 -2
- package/dist/tailwind/colors.tailwind.d.ts +0 -53
- package/dist/tailwind/colors.tailwind.d.ts.map +0 -1
- package/dist/tailwind/colors.tailwind.js +0 -52
- package/dist/tailwind/fontFamily.tailwind.d.ts +0 -9
- package/dist/tailwind/fontFamily.tailwind.d.ts.map +0 -1
- package/dist/tailwind/fontFamily.tailwind.js +0 -7
- package/dist/tailwind/fontSize.tailwind.d.ts +0 -37
- package/dist/tailwind/fontSize.tailwind.d.ts.map +0 -1
- package/dist/tailwind/fontSize.tailwind.js +0 -13
- package/dist/tailwind/index.d.ts +0 -4
- package/dist/tailwind/index.d.ts.map +0 -1
- package/dist/tailwind/index.js +0 -2
- package/dist/tailwind/index.mjs +0 -1
- package/dist/tailwind/safelist.tailwind.d.ts +0 -9
- package/dist/tailwind/safelist.tailwind.d.ts.map +0 -1
- package/dist/tailwind/safelist.tailwind.js +0 -25
- package/dist/tailwind/screens.tailwind.d.ts +0 -10
- package/dist/tailwind/screens.tailwind.d.ts.map +0 -1
- package/dist/tailwind/screens.tailwind.js +0 -8
- package/dist/tailwind/spacing.tailwind.d.ts +0 -59
- package/dist/tailwind/spacing.tailwind.d.ts.map +0 -1
- package/dist/tailwind/spacing.tailwind.js +0 -62
- package/dist/tailwind/tailwind.config.hanzo-preset.d.ts +0 -1299
- package/dist/tailwind/tailwind.config.hanzo-preset.d.ts.map +0 -1
- package/dist/tailwind/tailwind.config.hanzo-preset.js +0 -911
- package/dist/tailwind/tw-font-desc.d.ts +0 -7
- package/dist/tailwind/tw-font-desc.d.ts.map +0 -1
- package/dist/tailwind/tw-font-desc.js +0 -6
- package/dist/tailwind/z-index.tailwind.d.ts +0 -51
- package/dist/tailwind/z-index.tailwind.d.ts.map +0 -1
- package/dist/tailwind/z-index.tailwind.js +0 -67
- package/dist/textarea.js +0 -2
- package/dist/textarea.mjs +0 -2
- package/dist/toggle-group.js +0 -2
- package/dist/toggle-group.mjs +0 -2
- package/dist/toggle.js +0 -2
- package/dist/toggle.mjs +0 -2
- package/dist/tooltip.js +0 -2
- package/dist/tooltip.mjs +0 -2
- package/dist/types/animation-def.d.ts +0 -3
- package/dist/types/animation-def.d.ts.map +0 -1
- package/dist/types/animation-def.js +0 -1
- package/dist/types/breakpoints.d.ts +0 -5
- package/dist/types/breakpoints.d.ts.map +0 -1
- package/dist/types/breakpoints.js +0 -4
- package/dist/types/bullet-item.d.ts +0 -7
- package/dist/types/bullet-item.d.ts.map +0 -1
- package/dist/types/bullet-item.js +0 -1
- package/dist/types/button-def.d.ts +0 -30
- package/dist/types/button-def.d.ts.map +0 -1
- package/dist/types/button-def.js +0 -1
- package/dist/types/dimensions.d.ts +0 -6
- package/dist/types/dimensions.d.ts.map +0 -1
- package/dist/types/dimensions.js +0 -1
- package/dist/types/grid-def.d.ts +0 -37
- package/dist/types/grid-def.d.ts.map +0 -1
- package/dist/types/grid-def.js +0 -33
- package/dist/types/image-def.d.ts +0 -28
- package/dist/types/image-def.d.ts.map +0 -1
- package/dist/types/image-def.js +0 -1
- package/dist/types/index.d.ts +0 -15
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/index.js +0 -2
- package/dist/types/index.mjs +0 -1
- package/dist/types/link-def.d.ts +0 -45
- package/dist/types/link-def.d.ts.map +0 -1
- package/dist/types/link-def.js +0 -1
- package/dist/types/media-stack-def.d.ts +0 -26
- package/dist/types/media-stack-def.d.ts.map +0 -1
- package/dist/types/media-stack-def.js +0 -1
- package/dist/types/t-shirt-size.d.ts +0 -3
- package/dist/types/t-shirt-size.d.ts.map +0 -1
- package/dist/types/t-shirt-size.js +0 -1
- package/dist/types/tshirt-dimensions.d.ts +0 -13
- package/dist/types/tshirt-dimensions.d.ts.map +0 -1
- package/dist/types/tshirt-dimensions.js +0 -1
- package/dist/types/video-def.d.ts +0 -10
- package/dist/types/video-def.d.ts.map +0 -1
- package/dist/types/video-def.js +0 -1
- package/dist/ui/announcement.js +0 -2
- package/dist/ui/announcement.mjs +0 -2
- package/dist/ui/avatar-group.js +0 -2
- package/dist/ui/avatar-group.mjs +0 -2
- package/dist/ui/banner.js +0 -2
- package/dist/ui/banner.mjs +0 -2
- package/dist/ui/cursor.js +0 -2
- package/dist/ui/cursor.mjs +0 -2
- package/dist/ui/index.js +0 -2
- package/dist/ui/index.mjs +0 -2
- package/dist/ui/marquee.js +0 -2
- package/dist/ui/marquee.mjs +0 -2
- package/dist/ui/pill.js +0 -2
- package/dist/ui/pill.mjs +0 -2
- package/dist/ui/spinner.js +0 -2
- package/dist/ui/spinner.mjs +0 -2
- package/dist/ui/tags.js +0 -2
- package/dist/ui/tags.mjs +0 -2
- package/dist/ui/ticker.js +0 -2
- package/dist/ui/ticker.mjs +0 -2
- package/dist/util/blob.d.ts +0 -3
- package/dist/util/blob.d.ts.map +0 -1
- package/dist/util/blob.js +0 -23
- package/dist/util/copy-to-clipboard.d.ts +0 -2
- package/dist/util/copy-to-clipboard.d.ts.map +0 -1
- package/dist/util/copy-to-clipboard.js +0 -18
- package/dist/util/create-shadow-root.d.ts +0 -8
- package/dist/util/create-shadow-root.d.ts.map +0 -1
- package/dist/util/create-shadow-root.js +0 -18
- package/dist/util/date.d.ts +0 -29
- package/dist/util/date.d.ts.map +0 -1
- package/dist/util/date.js +0 -60
- package/dist/util/debounce.d.ts +0 -2
- package/dist/util/debounce.d.ts.map +0 -1
- package/dist/util/debounce.js +0 -11
- package/dist/util/file.d.ts +0 -4
- package/dist/util/file.d.ts.map +0 -1
- package/dist/util/file.js +0 -13
- package/dist/util/format-and-abbreviate-as-currency.d.ts +0 -18
- package/dist/util/format-and-abbreviate-as-currency.d.ts.map +0 -1
- package/dist/util/format-and-abbreviate-as-currency.js +0 -91
- package/dist/util/format-text.d.ts +0 -8
- package/dist/util/format-text.d.ts.map +0 -1
- package/dist/util/format-text.js +0 -26
- package/dist/util/format-to-max-char.d.ts +0 -12
- package/dist/util/format-to-max-char.d.ts.map +0 -1
- package/dist/util/format-to-max-char.js +0 -57
- package/dist/util/index-client.d.ts +0 -3
- package/dist/util/index-client.d.ts.map +0 -1
- package/dist/util/index-client.js +0 -3
- package/dist/util/index.d.ts +0 -37
- package/dist/util/index.d.ts.map +0 -1
- package/dist/util/index.js +0 -80
- package/dist/util/index.mjs +0 -1
- package/dist/util/number-abbreviate.d.ts +0 -10
- package/dist/util/number-abbreviate.d.ts.map +0 -1
- package/dist/util/number-abbreviate.js +0 -30
- package/dist/util/specifier.d.ts +0 -8
- package/dist/util/specifier.d.ts.map +0 -1
- package/dist/util/specifier.js +0 -31
- package/dist/util/spread-to-transform.d.ts +0 -8
- package/dist/util/spread-to-transform.d.ts.map +0 -1
- package/dist/util/spread-to-transform.js +0 -19
- package/dist/util/step-animation.d.ts +0 -6
- package/dist/util/step-animation.d.ts.map +0 -1
- package/dist/util/step-animation.js +0 -60
- package/dist/util/timing.d.ts +0 -2
- package/dist/util/timing.d.ts.map +0 -1
- package/dist/util/timing.js +0 -3
- package/dist/util/toasts.d.ts +0 -3
- package/dist/util/toasts.d.ts.map +0 -1
- package/dist/util/toasts.js +0 -10
- package/dist/util/two-way-map.d.ts +0 -9
- package/dist/util/two-way-map.d.ts.map +0 -1
- package/dist/util/two-way-map.js +0 -16
- package/dist/util/use-mobile.d.ts +0 -2
- package/dist/util/use-mobile.d.ts.map +0 -1
- package/dist/util/use-mobile.js +0 -15
- package/dist/utils.d.ts +0 -4
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -7
- package/docs/_registry/index.ts +0 -426
- package/docs/_registry/layout/docs-min.tsx +0 -197
- package/docs/_registry/layout/page-min.tsx +0 -128
- package/docs/components/accordion.tsx +0 -118
- package/docs/components/banner.tsx +0 -144
- package/docs/components/callout.tsx +0 -112
- package/docs/components/card.tsx +0 -52
- package/docs/components/codeblock.tsx +0 -258
- package/docs/components/dialog/search-algolia.tsx +0 -132
- package/docs/components/dialog/search-default.tsx +0 -131
- package/docs/components/dialog/search-orama.tsx +0 -143
- package/docs/components/dialog/search.tsx +0 -529
- package/docs/components/dynamic-codeblock.tsx +0 -129
- package/docs/components/files.tsx +0 -81
- package/docs/components/github-info.tsx +0 -107
- package/docs/components/heading.tsx +0 -33
- package/docs/components/image-zoom.css +0 -77
- package/docs/components/image-zoom.tsx +0 -58
- package/docs/components/index.ts +0 -7
- package/docs/components/inline-toc.tsx +0 -48
- package/docs/components/sidebar/base.tsx +0 -451
- package/docs/components/sidebar/link-item.tsx +0 -65
- package/docs/components/sidebar/page-tree.tsx +0 -113
- package/docs/components/sidebar/tabs/dropdown.tsx +0 -109
- package/docs/components/sidebar/tabs/index.tsx +0 -89
- package/docs/components/steps.tsx +0 -9
- package/docs/components/tabs.tsx +0 -203
- package/docs/components/toc/clerk.tsx +0 -173
- package/docs/components/toc/default.tsx +0 -57
- package/docs/components/toc/index.tsx +0 -136
- package/docs/components/type-table.tsx +0 -174
- package/docs/components/ui/accordion.tsx +0 -88
- package/docs/components/ui/button.tsx +0 -28
- package/docs/components/ui/collapsible.tsx +0 -42
- package/docs/components/ui/navigation-menu.tsx +0 -83
- package/docs/components/ui/popover.tsx +0 -32
- package/docs/components/ui/scroll-area.tsx +0 -59
- package/docs/components/ui/tabs.tsx +0 -145
- package/docs/contexts/i18n.tsx +0 -56
- package/docs/contexts/search.tsx +0 -165
- package/docs/contexts/tree.tsx +0 -65
- package/docs/css/aspen.css +0 -39
- package/docs/css/black.css +0 -39
- package/docs/css/catppuccin.css +0 -49
- package/docs/css/colors/index.css +0 -51
- package/docs/css/dusk.css +0 -47
- package/docs/css/emerald.css +0 -39
- package/docs/css/layouts/docs.css +0 -1
- package/docs/css/layouts/home.css +0 -1
- package/docs/css/layouts/notebook.css +0 -1
- package/docs/css/neutral.css +0 -7
- package/docs/css/ocean.css +0 -48
- package/docs/css/preset.css +0 -305
- package/docs/css/purple.css +0 -39
- package/docs/css/ruby.css +0 -39
- package/docs/css/shadcn.css +0 -36
- package/docs/css/shiki.css +0 -90
- package/docs/css/solar.css +0 -75
- package/docs/css/style.css +0 -9
- package/docs/css/vitepress.css +0 -77
- package/docs/i18n.tsx +0 -30
- package/docs/icons.tsx +0 -354
- package/docs/layouts/docs/client.tsx +0 -129
- package/docs/layouts/docs/index.tsx +0 -321
- package/docs/layouts/docs/page/client.tsx +0 -376
- package/docs/layouts/docs/page/index.tsx +0 -251
- package/docs/layouts/docs/sidebar.tsx +0 -265
- package/docs/layouts/home/client.tsx +0 -375
- package/docs/layouts/home/index.tsx +0 -51
- package/docs/layouts/home/navbar.tsx +0 -55
- package/docs/layouts/notebook/client.tsx +0 -281
- package/docs/layouts/notebook/index.tsx +0 -461
- package/docs/layouts/notebook/page/client.tsx +0 -375
- package/docs/layouts/notebook/page/index.tsx +0 -251
- package/docs/layouts/notebook/sidebar.tsx +0 -248
- package/docs/layouts/shared/index.tsx +0 -89
- package/docs/layouts/shared/language-toggle.tsx +0 -66
- package/docs/layouts/shared/link-item.tsx +0 -119
- package/docs/layouts/shared/search-toggle.tsx +0 -78
- package/docs/layouts/shared/theme-toggle.tsx +0 -86
- package/docs/mdx.server.tsx +0 -37
- package/docs/mdx.tsx +0 -97
- package/docs/og.tsx +0 -101
- package/docs/page.tsx +0 -85
- package/docs/provider/base.tsx +0 -173
- package/docs/provider/next.tsx +0 -23
- package/docs/provider/react-router.tsx +0 -23
- package/docs/provider/tanstack.tsx +0 -23
- package/docs/provider/waku.tsx +0 -23
- package/docs/source.ts +0 -3
- package/docs/theme/typography/LICENSE +0 -21
- package/docs/theme/typography/index.ts +0 -201
- package/docs/theme/typography/styles.ts +0 -449
- package/docs/utils/cn.ts +0 -1
- package/docs/utils/is-active.ts +0 -23
- package/docs/utils/merge-refs.ts +0 -15
- package/docs/utils/use-copy-button.ts +0 -39
- package/docs/utils/use-footer-items.ts +0 -27
- package/docs/utils/use-is-scroll-top.ts +0 -21
- package/finance/README.md +0 -164
- package/finance/components/AdvancedChart.tsx +0 -58
- package/finance/components/CompanyProfile.tsx +0 -65
- package/finance/components/CryptoScreener.tsx +0 -55
- package/finance/components/Financials.tsx +0 -71
- package/finance/components/ForexScreener.tsx +0 -56
- package/finance/components/MarketOverview.tsx +0 -114
- package/finance/components/NewsTimeline.tsx +0 -54
- package/finance/components/OrderEntry.tsx +0 -157
- package/finance/components/OrdersHistory.tsx +0 -103
- package/finance/components/PositionsList.tsx +0 -85
- package/finance/components/StockScreener.tsx +0 -56
- package/finance/components/SymbolInfo.tsx +0 -62
- package/finance/components/TechnicalAnalysis.tsx +0 -74
- package/finance/components/TickerTape.tsx +0 -66
- package/finance/components/TradingPanel.tsx +0 -238
- package/finance/components/index.ts +0 -40
- package/finance/index.ts +0 -23
- package/style/drawer.css +0 -163
- package/style/globals.css +0 -146
- package/style/hanzo-common.css +0 -31
- package/style/hanzo-default-colors.css +0 -147
- package/style/tailwind.css +0 -200
- package/style/theme-provider.tsx +0 -20
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* SelectMenu — a compact, reusable dropdown select on @hanzo/gui Popover (the
|
|
5
|
+
* console's proven dropdown idiom, same as OrgSwitcher/ScopeSwitcher). Renders a
|
|
6
|
+
* labelled trigger ("All types", or the chosen option) and a popover list with a
|
|
7
|
+
* check on the active option. Prop-driven + self-contained so it lifts into
|
|
8
|
+
* `@hanzo/ui`. `value === null` is the "all"/unfiltered state.
|
|
9
|
+
*/
|
|
10
|
+
import type { ReactElement } from 'react'
|
|
11
|
+
import { useState } from 'react'
|
|
12
|
+
import { Button, Popover, Text, XStack, YStack } from '@hanzo/gui'
|
|
13
|
+
import { ChevronDown, Check } from '@hanzogui/lucide-icons-2'
|
|
14
|
+
|
|
15
|
+
export type SelectOption<T extends string> = { key: T; label: string }
|
|
16
|
+
|
|
17
|
+
export function SelectMenu<T extends string>({
|
|
18
|
+
options,
|
|
19
|
+
value,
|
|
20
|
+
onChange,
|
|
21
|
+
allLabel = 'All',
|
|
22
|
+
icon,
|
|
23
|
+
minWidth = 130,
|
|
24
|
+
}: {
|
|
25
|
+
options: SelectOption<T>[]
|
|
26
|
+
value: T | null
|
|
27
|
+
onChange: (v: T | null) => void
|
|
28
|
+
/** Label shown (and first menu row) for the unfiltered `null` state. */
|
|
29
|
+
allLabel?: string
|
|
30
|
+
/** Optional leading icon in the trigger. */
|
|
31
|
+
icon?: ReactElement
|
|
32
|
+
minWidth?: number
|
|
33
|
+
}) {
|
|
34
|
+
const [open, setOpen] = useState(false)
|
|
35
|
+
const active = value === null ? null : options.find((o) => o.key === value) ?? null
|
|
36
|
+
const triggerLabel = active ? active.label : allLabel
|
|
37
|
+
|
|
38
|
+
const pick = (v: T | null) => {
|
|
39
|
+
onChange(v)
|
|
40
|
+
setOpen(false)
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return (
|
|
44
|
+
<Popover open={open} onOpenChange={setOpen} placement="bottom-start">
|
|
45
|
+
<Popover.Trigger asChild>
|
|
46
|
+
<Button
|
|
47
|
+
size="$2"
|
|
48
|
+
minW={minWidth}
|
|
49
|
+
justify="space-between"
|
|
50
|
+
borderWidth={1}
|
|
51
|
+
borderColor="$borderColor"
|
|
52
|
+
bg={value !== null ? '$color5' : 'transparent'}
|
|
53
|
+
icon={icon}
|
|
54
|
+
iconAfter={<ChevronDown size={14} opacity={0.6} />}
|
|
55
|
+
>
|
|
56
|
+
<Text fontSize="$2" color="$color12" numberOfLines={1} flex={1}>
|
|
57
|
+
{triggerLabel}
|
|
58
|
+
</Text>
|
|
59
|
+
</Button>
|
|
60
|
+
</Popover.Trigger>
|
|
61
|
+
<Popover.Content bordered elevate p="$1.5" minW={minWidth} bg="$color2" borderColor="$borderColor">
|
|
62
|
+
<YStack gap="$0.5" minW={minWidth} maxH={320} overflow="scroll">
|
|
63
|
+
<Row label={allLabel} active={value === null} onPress={() => pick(null)} />
|
|
64
|
+
{options.map((o) => (
|
|
65
|
+
<Row key={o.key} label={o.label} active={value === o.key} onPress={() => pick(o.key)} />
|
|
66
|
+
))}
|
|
67
|
+
</YStack>
|
|
68
|
+
</Popover.Content>
|
|
69
|
+
</Popover>
|
|
70
|
+
)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
function Row({ label, active, onPress }: { label: string; active: boolean; onPress: () => void }) {
|
|
74
|
+
return (
|
|
75
|
+
<XStack
|
|
76
|
+
items="center"
|
|
77
|
+
gap="$2"
|
|
78
|
+
px="$2.5"
|
|
79
|
+
py="$1.5"
|
|
80
|
+
rounded="$3"
|
|
81
|
+
cursor="pointer"
|
|
82
|
+
hoverStyle={{ bg: '$color4' }}
|
|
83
|
+
bg={active ? '$color4' : 'transparent'}
|
|
84
|
+
onPress={onPress}
|
|
85
|
+
>
|
|
86
|
+
<XStack width={14} items="center" justify="center">
|
|
87
|
+
{active ? <Check size={13} /> : null}
|
|
88
|
+
</XStack>
|
|
89
|
+
<Text fontSize="$2" color="$color12" flex={1} numberOfLines={1}>
|
|
90
|
+
{label}
|
|
91
|
+
</Text>
|
|
92
|
+
</XStack>
|
|
93
|
+
)
|
|
94
|
+
}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* SlideOver — the ONE right-side (or left) slide-out overlay for the console.
|
|
5
|
+
*
|
|
6
|
+
* It is the single mechanism behind every off-canvas surface: the mobile nav
|
|
7
|
+
* drawer, the item DetailPane, and the account/settings menu. One definition, many
|
|
8
|
+
* mounts (DRY) — so every drawer slides, dims, traps, and closes identically.
|
|
9
|
+
*
|
|
10
|
+
* Smoothness is CSS-transform driven (never a JS layout branch): the panel is
|
|
11
|
+
* ALWAYS mounted and toggles `translateX(0) ↔ translateX(±100%)` via the shared
|
|
12
|
+
* `.hz-slide` class, and the backdrop cross-fades via `.hz-fade`. Because it never
|
|
13
|
+
* unmounts, the EXIT animates too (a `Dialog` that unmounts on close cannot). Both
|
|
14
|
+
* classes are reduced-motion-aware in `globals.css`, so the whole thing snaps
|
|
15
|
+
* instantly for users who ask for that — no bespoke logic here.
|
|
16
|
+
*
|
|
17
|
+
* Responsive by construction: FULL-WIDTH (full-screen) below `lg`, a fixed-width
|
|
18
|
+
* pane at `lg+` (`size`). Uses `100dvh` so the mobile browser chrome never clips it.
|
|
19
|
+
*
|
|
20
|
+
* A11y: `role="dialog" aria-modal`, Escape to close, backdrop click to close, body
|
|
21
|
+
* scroll lock while open (ref-counted so stacked overlays don't fight), and focus
|
|
22
|
+
* moves into the panel on open and returns to the opener on close.
|
|
23
|
+
*/
|
|
24
|
+
import { useEffect, useRef, type ReactNode } from 'react'
|
|
25
|
+
import { Button, ScrollView, Text, XStack, YStack } from '@hanzo/gui'
|
|
26
|
+
import { X } from '@hanzogui/lucide-icons-2'
|
|
27
|
+
|
|
28
|
+
import { asColor, type IconLike } from './color'
|
|
29
|
+
|
|
30
|
+
/** The lg breakpoint (px) — matches the shell's one responsive threshold. */
|
|
31
|
+
const LG = 1024
|
|
32
|
+
|
|
33
|
+
// ── Body scroll lock, ref-counted so nested/stacked overlays don't clobber it ──
|
|
34
|
+
let lockCount = 0
|
|
35
|
+
let savedOverflow = ''
|
|
36
|
+
function lockScroll() {
|
|
37
|
+
if (typeof document === 'undefined') return
|
|
38
|
+
if (lockCount === 0) {
|
|
39
|
+
savedOverflow = document.body.style.overflow
|
|
40
|
+
document.body.style.overflow = 'hidden'
|
|
41
|
+
}
|
|
42
|
+
lockCount++
|
|
43
|
+
}
|
|
44
|
+
function unlockScroll() {
|
|
45
|
+
if (typeof document === 'undefined') return
|
|
46
|
+
lockCount = Math.max(0, lockCount - 1)
|
|
47
|
+
if (lockCount === 0) document.body.style.overflow = savedOverflow
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export type SlideOverProps = {
|
|
51
|
+
open: boolean
|
|
52
|
+
onClose: () => void
|
|
53
|
+
/** Which edge the panel slides from. Default right. */
|
|
54
|
+
side?: 'right' | 'left'
|
|
55
|
+
/** Panel width at lg+ (px). Below lg it is always full-screen. Default 420. */
|
|
56
|
+
size?: number
|
|
57
|
+
/** Optional header title — when set, SlideOver renders a header + a scroll body. */
|
|
58
|
+
title?: ReactNode
|
|
59
|
+
/** Optional header icon (tinted with `iconColor`). */
|
|
60
|
+
icon?: IconLike
|
|
61
|
+
iconColor?: string
|
|
62
|
+
/** Extra header content, right-aligned before the close button. */
|
|
63
|
+
headerRight?: ReactNode
|
|
64
|
+
/** Accessible label when no visible title is given. */
|
|
65
|
+
ariaLabel?: string
|
|
66
|
+
/** z-index for stacking (a pane opened over a drawer passes a higher value). */
|
|
67
|
+
zIndex?: number
|
|
68
|
+
children: ReactNode
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export function SlideOver({
|
|
72
|
+
open,
|
|
73
|
+
onClose,
|
|
74
|
+
side = 'right',
|
|
75
|
+
size = 420,
|
|
76
|
+
title,
|
|
77
|
+
icon: Icon,
|
|
78
|
+
iconColor,
|
|
79
|
+
headerRight,
|
|
80
|
+
ariaLabel,
|
|
81
|
+
zIndex = 1000,
|
|
82
|
+
children,
|
|
83
|
+
}: SlideOverProps) {
|
|
84
|
+
const panelRef = useRef<HTMLElement | null>(null)
|
|
85
|
+
const openerRef = useRef<Element | null>(null)
|
|
86
|
+
|
|
87
|
+
// Body scroll lock + focus management, driven by `open`.
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
if (!open) return
|
|
90
|
+
openerRef.current = typeof document !== 'undefined' ? document.activeElement : null
|
|
91
|
+
lockScroll()
|
|
92
|
+
// Move focus into the panel (next frame so it is laid out + on-screen).
|
|
93
|
+
const t = window.setTimeout(() => {
|
|
94
|
+
const el = panelRef.current
|
|
95
|
+
if (el && typeof el.focus === 'function') el.focus()
|
|
96
|
+
}, 0)
|
|
97
|
+
return () => {
|
|
98
|
+
window.clearTimeout(t)
|
|
99
|
+
unlockScroll()
|
|
100
|
+
const opener = openerRef.current
|
|
101
|
+
if (opener && opener instanceof HTMLElement && typeof opener.focus === 'function') opener.focus()
|
|
102
|
+
}
|
|
103
|
+
}, [open])
|
|
104
|
+
|
|
105
|
+
// Escape closes.
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
if (!open) return
|
|
108
|
+
const onKey = (e: KeyboardEvent) => {
|
|
109
|
+
if (e.key === 'Escape') {
|
|
110
|
+
e.stopPropagation()
|
|
111
|
+
onClose()
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
window.addEventListener('keydown', onKey)
|
|
115
|
+
return () => window.removeEventListener('keydown', onKey)
|
|
116
|
+
}, [open, onClose])
|
|
117
|
+
|
|
118
|
+
const offscreen = side === 'right' ? 'translateX(100%)' : 'translateX(-100%)'
|
|
119
|
+
const edge = side === 'right' ? { r: 0 } : { l: 0 }
|
|
120
|
+
|
|
121
|
+
return (
|
|
122
|
+
<YStack
|
|
123
|
+
// Fixed to the viewport; overflow hidden so the off-screen panel (absolute
|
|
124
|
+
// child) is CLIPPED and never adds a horizontal scrollbar.
|
|
125
|
+
overflow="hidden"
|
|
126
|
+
pointerEvents={open ? 'auto' : 'none'}
|
|
127
|
+
aria-hidden={!open}
|
|
128
|
+
style={{ position: 'fixed', inset: 0, zIndex }}
|
|
129
|
+
>
|
|
130
|
+
{/* Backdrop — cross-fades; click to dismiss. */}
|
|
131
|
+
<YStack
|
|
132
|
+
position="absolute"
|
|
133
|
+
t={0}
|
|
134
|
+
l={0}
|
|
135
|
+
r={0}
|
|
136
|
+
b={0}
|
|
137
|
+
bg="rgba(0,0,0,0.55)"
|
|
138
|
+
className="hz-fade"
|
|
139
|
+
style={{ opacity: open ? 1 : 0 }}
|
|
140
|
+
onPress={onClose}
|
|
141
|
+
/>
|
|
142
|
+
|
|
143
|
+
{/* Panel — slides in from the edge. Full-screen below lg, fixed width at lg+. */}
|
|
144
|
+
<YStack
|
|
145
|
+
// @ts-expect-error — web DOM ref; Gui forwards it to the underlying node.
|
|
146
|
+
ref={panelRef}
|
|
147
|
+
tabIndex={-1}
|
|
148
|
+
role="dialog"
|
|
149
|
+
aria-modal={open ? true : undefined}
|
|
150
|
+
aria-label={typeof title === 'string' ? title : ariaLabel}
|
|
151
|
+
position="absolute"
|
|
152
|
+
t={0}
|
|
153
|
+
b={0}
|
|
154
|
+
{...edge}
|
|
155
|
+
width="100%"
|
|
156
|
+
$lg={{ width: size, maxW: '100vw' }}
|
|
157
|
+
bg="$color1"
|
|
158
|
+
borderLeftWidth={side === 'right' ? 1 : 0}
|
|
159
|
+
borderRightWidth={side === 'left' ? 1 : 0}
|
|
160
|
+
borderColor="$borderColor"
|
|
161
|
+
className="hz-slide"
|
|
162
|
+
style={{ transform: open ? 'translateX(0)' : offscreen, height: '100dvh' }}
|
|
163
|
+
>
|
|
164
|
+
{title !== undefined ? (
|
|
165
|
+
<>
|
|
166
|
+
<XStack
|
|
167
|
+
items="center"
|
|
168
|
+
gap="$2.5"
|
|
169
|
+
px="$4"
|
|
170
|
+
height={56}
|
|
171
|
+
borderBottomWidth={1}
|
|
172
|
+
borderColor="$borderColor"
|
|
173
|
+
>
|
|
174
|
+
{Icon ? <Icon size={18} color={iconColor ? asColor(iconColor) : undefined} /> : null}
|
|
175
|
+
<Text flex={1} fontSize="$5" fontWeight="700" color="$color12" numberOfLines={1}>
|
|
176
|
+
{title}
|
|
177
|
+
</Text>
|
|
178
|
+
{headerRight}
|
|
179
|
+
<Button size="$2" chromeless icon={<X size={18} />} onPress={onClose} aria-label="Close" />
|
|
180
|
+
</XStack>
|
|
181
|
+
<ScrollView flex={1}>
|
|
182
|
+
<YStack flex={1} p="$4" gap="$3">
|
|
183
|
+
{children}
|
|
184
|
+
</YStack>
|
|
185
|
+
</ScrollView>
|
|
186
|
+
</>
|
|
187
|
+
) : (
|
|
188
|
+
// Bare mode — the caller owns the full panel layout (e.g. the nav drawer
|
|
189
|
+
// renders its own header + scroll + footer).
|
|
190
|
+
children
|
|
191
|
+
)}
|
|
192
|
+
</YStack>
|
|
193
|
+
</YStack>
|
|
194
|
+
)
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
export { LG as SLIDEOVER_LG }
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Status pill — maps a resource/cluster status string to a tone, one place.
|
|
5
|
+
*
|
|
6
|
+
* Provisioned things (managed resources, clusters) report free-form lifecycle
|
|
7
|
+
* strings; this normalizes them to green/yellow/red/neutral so every list reads
|
|
8
|
+
* the same. Style props use the v5 shorthand set.
|
|
9
|
+
*/
|
|
10
|
+
import { Text } from '@hanzo/gui'
|
|
11
|
+
|
|
12
|
+
type Tone = 'green' | 'yellow' | 'red' | 'neutral'
|
|
13
|
+
|
|
14
|
+
const toneOf = (status: string): Tone => {
|
|
15
|
+
const s = status.toLowerCase()
|
|
16
|
+
// Platform health verdicts map straight to a tone (the apps inventory reports
|
|
17
|
+
// green/yellow/red directly).
|
|
18
|
+
if (s === 'green') return 'green'
|
|
19
|
+
if (s === 'yellow') return 'yellow'
|
|
20
|
+
if (s === 'red') return 'red'
|
|
21
|
+
if (['ready', 'active', 'running', 'available', 'ok'].includes(s)) return 'green'
|
|
22
|
+
if (['creating', 'provisioning', 'pending', 'updating', 'attaching'].includes(s)) return 'yellow'
|
|
23
|
+
if (['error', 'failed', 'degraded', 'down'].includes(s)) return 'red'
|
|
24
|
+
return 'neutral'
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// `as const` keeps the literal token types (not widened to `string`) so they
|
|
28
|
+
// satisfy the GUI `bg`/`color` token unions.
|
|
29
|
+
const TONE_BG = {
|
|
30
|
+
green: '$color5',
|
|
31
|
+
yellow: '$color4',
|
|
32
|
+
red: '$color4',
|
|
33
|
+
neutral: '$color3',
|
|
34
|
+
} as const
|
|
35
|
+
const TONE_FG = {
|
|
36
|
+
green: '$color12',
|
|
37
|
+
yellow: '$color12',
|
|
38
|
+
red: '$color12',
|
|
39
|
+
neutral: '$color11',
|
|
40
|
+
} as const
|
|
41
|
+
|
|
42
|
+
export function StatusTag({ status }: { status?: string }) {
|
|
43
|
+
const tone = toneOf(status ?? '')
|
|
44
|
+
return (
|
|
45
|
+
<Text fontSize="$1" px="$2" py="$1" rounded="$2" bg={TONE_BG[tone]} color={TONE_FG[tone]}>
|
|
46
|
+
{status || 'unknown'}
|
|
47
|
+
</Text>
|
|
48
|
+
)
|
|
49
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Theme toggle — flips the console between dark and light via next-theme. The
|
|
5
|
+
* provider already wires `NextThemeProvider` → `GuiProvider`, so setting the
|
|
6
|
+
* theme here re-themes the whole tree. Shows the action's target icon (a sun in
|
|
7
|
+
* dark mode, a moon in light mode).
|
|
8
|
+
*/
|
|
9
|
+
import { Button } from '@hanzo/gui'
|
|
10
|
+
import { useThemeSetting } from '@hanzogui/next-theme'
|
|
11
|
+
import { Moon, Sun } from '@hanzogui/lucide-icons-2'
|
|
12
|
+
|
|
13
|
+
export function ThemeToggle() {
|
|
14
|
+
const { current, resolvedTheme, set } = useThemeSetting()
|
|
15
|
+
const isDark = (resolvedTheme ?? current ?? 'dark') !== 'light'
|
|
16
|
+
return (
|
|
17
|
+
<Button
|
|
18
|
+
size="$2"
|
|
19
|
+
chromeless
|
|
20
|
+
icon={isDark ? <Sun size={16} /> : <Moon size={16} />}
|
|
21
|
+
onPress={() => set(isDark ? 'light' : 'dark')}
|
|
22
|
+
aria-label={isDark ? 'Switch to light theme' : 'Switch to dark theme'}
|
|
23
|
+
/>
|
|
24
|
+
)
|
|
25
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Toast — the ONE feedback primitive. Every mutation reports through `useToast()`
|
|
5
|
+
* so success/failure looks and behaves the same everywhere. A single provider
|
|
6
|
+
* holds the queue and renders the viewport (portalled top-right); there is no
|
|
7
|
+
* per-call markup. Built from GUI primitives only.
|
|
8
|
+
*
|
|
9
|
+
* Mount `<ToastProvider>` once (the dashboard layout does). Call:
|
|
10
|
+
* const toast = useToast()
|
|
11
|
+
* toast.success('Created my-db')
|
|
12
|
+
* toast.error(err instanceof ApiError ? err.message : 'Failed to create')
|
|
13
|
+
*/
|
|
14
|
+
import { createContext, useCallback, useContext, useEffect, useRef, useState, type ReactNode } from 'react'
|
|
15
|
+
import { createPortal } from 'react-dom'
|
|
16
|
+
import { Button, Card, Text, XStack, YStack } from '@hanzo/gui'
|
|
17
|
+
import { CircleCheck, CircleX, Info, X } from '@hanzogui/lucide-icons-2'
|
|
18
|
+
|
|
19
|
+
export type ToastKind = 'success' | 'error' | 'info'
|
|
20
|
+
|
|
21
|
+
export type ToastInput = {
|
|
22
|
+
title: string
|
|
23
|
+
description?: string
|
|
24
|
+
kind?: ToastKind
|
|
25
|
+
/** Auto-dismiss after this many ms; 0 keeps it until dismissed. */
|
|
26
|
+
durationMs?: number
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
type Toast = Required<Omit<ToastInput, 'description'>> & { id: number; description?: string }
|
|
30
|
+
|
|
31
|
+
type ToastApi = {
|
|
32
|
+
toast: (t: ToastInput) => void
|
|
33
|
+
success: (title: string, description?: string) => void
|
|
34
|
+
error: (title: string, description?: string) => void
|
|
35
|
+
info: (title: string, description?: string) => void
|
|
36
|
+
dismiss: (id: number) => void
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const ToastContext = createContext<ToastApi | null>(null)
|
|
40
|
+
|
|
41
|
+
/** Theme-aware accent per kind (adapts to light/dark). */
|
|
42
|
+
const ACCENT = {
|
|
43
|
+
success: '$green10',
|
|
44
|
+
error: '$red10',
|
|
45
|
+
info: '$color11',
|
|
46
|
+
} as const
|
|
47
|
+
|
|
48
|
+
const ICON: Record<ToastKind, typeof Info> = {
|
|
49
|
+
success: CircleCheck,
|
|
50
|
+
error: CircleX,
|
|
51
|
+
info: Info,
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
function ToastCard({ t, onClose }: { t: Toast; onClose: () => void }) {
|
|
55
|
+
const Icon = ICON[t.kind]
|
|
56
|
+
const accent = ACCENT[t.kind]
|
|
57
|
+
return (
|
|
58
|
+
<Card
|
|
59
|
+
width={360}
|
|
60
|
+
maxWidth="90%"
|
|
61
|
+
p="$3"
|
|
62
|
+
gap="$2"
|
|
63
|
+
bg="$color2"
|
|
64
|
+
borderWidth={1}
|
|
65
|
+
borderColor="$borderColor"
|
|
66
|
+
borderLeftWidth={3}
|
|
67
|
+
borderLeftColor={accent}
|
|
68
|
+
rounded="$4"
|
|
69
|
+
elevation="$2"
|
|
70
|
+
>
|
|
71
|
+
<XStack gap="$2.5" items="flex-start">
|
|
72
|
+
<YStack pt={1}>
|
|
73
|
+
<Icon size={18} color={accent} />
|
|
74
|
+
</YStack>
|
|
75
|
+
<YStack flex={1} gap="$1">
|
|
76
|
+
<Text fontSize="$3" fontWeight="700" color="$color12">
|
|
77
|
+
{t.title}
|
|
78
|
+
</Text>
|
|
79
|
+
{t.description ? (
|
|
80
|
+
<Text fontSize="$2" color="$color11">
|
|
81
|
+
{t.description}
|
|
82
|
+
</Text>
|
|
83
|
+
) : null}
|
|
84
|
+
</YStack>
|
|
85
|
+
<Button size="$1" chromeless icon={<X size={14} />} onPress={onClose} aria-label="Dismiss" />
|
|
86
|
+
</XStack>
|
|
87
|
+
</Card>
|
|
88
|
+
)
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
/** Portalled, fixed top-right stack. Rendered only after mount (SSR-safe). */
|
|
92
|
+
function ToastViewport({ toasts, dismiss }: { toasts: Toast[]; dismiss: (id: number) => void }) {
|
|
93
|
+
const [mounted, setMounted] = useState(false)
|
|
94
|
+
useEffect(() => setMounted(true), [])
|
|
95
|
+
if (!mounted || typeof document === 'undefined') return null
|
|
96
|
+
return createPortal(
|
|
97
|
+
<div style={{ position: 'fixed', top: 16, right: 16, zIndex: 100000, pointerEvents: 'none' }}>
|
|
98
|
+
<YStack gap="$2" items="flex-end">
|
|
99
|
+
{toasts.map((t) => (
|
|
100
|
+
<YStack key={t.id} pointerEvents="auto">
|
|
101
|
+
<ToastCard t={t} onClose={() => dismiss(t.id)} />
|
|
102
|
+
</YStack>
|
|
103
|
+
))}
|
|
104
|
+
</YStack>
|
|
105
|
+
</div>,
|
|
106
|
+
document.body,
|
|
107
|
+
)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export function ToastProvider({ children }: { children: ReactNode }) {
|
|
111
|
+
const [toasts, setToasts] = useState<Toast[]>([])
|
|
112
|
+
const timers = useRef(new Map<number, ReturnType<typeof setTimeout>>())
|
|
113
|
+
const seq = useRef(0)
|
|
114
|
+
|
|
115
|
+
const dismiss = useCallback((id: number) => {
|
|
116
|
+
setToasts((ts) => ts.filter((t) => t.id !== id))
|
|
117
|
+
const timer = timers.current.get(id)
|
|
118
|
+
if (timer) {
|
|
119
|
+
clearTimeout(timer)
|
|
120
|
+
timers.current.delete(id)
|
|
121
|
+
}
|
|
122
|
+
}, [])
|
|
123
|
+
|
|
124
|
+
const toast = useCallback(
|
|
125
|
+
(input: ToastInput) => {
|
|
126
|
+
const id = ++seq.current
|
|
127
|
+
const kind = input.kind ?? 'info'
|
|
128
|
+
const durationMs = input.durationMs ?? (kind === 'error' ? 6000 : 3500)
|
|
129
|
+
setToasts((ts) => [...ts, { id, kind, title: input.title, description: input.description, durationMs }])
|
|
130
|
+
if (durationMs > 0) {
|
|
131
|
+
timers.current.set(
|
|
132
|
+
id,
|
|
133
|
+
setTimeout(() => dismiss(id), durationMs),
|
|
134
|
+
)
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
[dismiss],
|
|
138
|
+
)
|
|
139
|
+
|
|
140
|
+
// Clear any pending timers on unmount.
|
|
141
|
+
useEffect(() => {
|
|
142
|
+
const map = timers.current
|
|
143
|
+
return () => map.forEach((t) => clearTimeout(t))
|
|
144
|
+
}, [])
|
|
145
|
+
|
|
146
|
+
const api: ToastApi = {
|
|
147
|
+
toast,
|
|
148
|
+
success: (title, description) => toast({ title, description, kind: 'success' }),
|
|
149
|
+
error: (title, description) => toast({ title, description, kind: 'error' }),
|
|
150
|
+
info: (title, description) => toast({ title, description, kind: 'info' }),
|
|
151
|
+
dismiss,
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
return (
|
|
155
|
+
<ToastContext.Provider value={api}>
|
|
156
|
+
{children}
|
|
157
|
+
<ToastViewport toasts={toasts} dismiss={dismiss} />
|
|
158
|
+
</ToastContext.Provider>
|
|
159
|
+
)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
export function useToast(): ToastApi {
|
|
163
|
+
const ctx = useContext(ToastContext)
|
|
164
|
+
if (!ctx) throw new Error('useToast must be used within <ToastProvider>')
|
|
165
|
+
return ctx
|
|
166
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ComponentType } from 'react'
|
|
2
|
+
import type { GetThemeValueForKey } from '@hanzo/gui'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Bridge between raw CSS colors (product hex accents) and Gui's typed `color`
|
|
6
|
+
* prop. Gui types `color` as a theme-token template (`$color12`, …), but ANY CSS
|
|
7
|
+
* color is valid at runtime — so tinting an icon with a product hex needs one
|
|
8
|
+
* sanctioned cast, in ONE place, rather than `as any` scattered around.
|
|
9
|
+
*/
|
|
10
|
+
export type IconColor = GetThemeValueForKey<'color'>
|
|
11
|
+
|
|
12
|
+
/** Cast a raw CSS color (e.g. `#5E6AD2`) to Gui's `color` prop type. */
|
|
13
|
+
export const asColor = (hex: string): IconColor => hex as unknown as IconColor
|
|
14
|
+
|
|
15
|
+
/** A lucide/Gui icon component that accepts a size + a (token-or-cast) color —
|
|
16
|
+
* the shape the shell passes around for product/nav icons. */
|
|
17
|
+
export type IconLike = ComponentType<{ size?: number; color?: IconColor }>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest'
|
|
2
|
+
|
|
3
|
+
import { filterOptions, isKnownOption, type ComboOption } from './filter'
|
|
4
|
+
|
|
5
|
+
const opts: ComboOption[] = [
|
|
6
|
+
{ value: 'zen-omni', label: 'Zen Omni', hint: 'hanzo' },
|
|
7
|
+
{ value: 'gpt-4o-mini', label: 'GPT-4o mini', hint: 'openai' },
|
|
8
|
+
{ value: 'claude-sonnet-4-5', hint: 'anthropic' },
|
|
9
|
+
]
|
|
10
|
+
|
|
11
|
+
describe('filterOptions', () => {
|
|
12
|
+
it('returns every option for an empty / whitespace query', () => {
|
|
13
|
+
expect(filterOptions(opts, '')).toHaveLength(3)
|
|
14
|
+
expect(filterOptions(opts, ' ')).toHaveLength(3)
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
it('matches on value (case-insensitive substring)', () => {
|
|
18
|
+
expect(filterOptions(opts, 'ZEN').map((o) => o.value)).toEqual(['zen-omni'])
|
|
19
|
+
expect(filterOptions(opts, 'sonnet').map((o) => o.value)).toEqual(['claude-sonnet-4-5'])
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
it('matches on label', () => {
|
|
23
|
+
expect(filterOptions(opts, 'GPT-4o').map((o) => o.value)).toEqual(['gpt-4o-mini'])
|
|
24
|
+
})
|
|
25
|
+
|
|
26
|
+
it('matches on hint (the provider)', () => {
|
|
27
|
+
expect(filterOptions(opts, 'anthropic').map((o) => o.value)).toEqual(['claude-sonnet-4-5'])
|
|
28
|
+
expect(filterOptions(opts, 'openai').map((o) => o.value)).toEqual(['gpt-4o-mini'])
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
it('returns nothing when nothing matches (the typed value is still usable by the caller)', () => {
|
|
32
|
+
expect(filterOptions(opts, 'llama')).toEqual([])
|
|
33
|
+
})
|
|
34
|
+
|
|
35
|
+
it('treats the query as a LITERAL string, never a regex (no ReDoS / injection)', () => {
|
|
36
|
+
// A regex-special query must match literally (or not at all) — never be compiled.
|
|
37
|
+
expect(filterOptions(opts, '.*')).toEqual([]) // no option literally contains ".*"
|
|
38
|
+
expect(filterOptions(opts, '(')).toEqual([]) // an unbalanced paren would throw if compiled
|
|
39
|
+
expect(filterOptions(opts, '[a-z')).toEqual([]) // an invalid char class would throw if compiled
|
|
40
|
+
// A literal hyphen (regex-benign but proves substring semantics):
|
|
41
|
+
expect(filterOptions(opts, '4o-mini').map((o) => o.value)).toEqual(['gpt-4o-mini'])
|
|
42
|
+
})
|
|
43
|
+
})
|
|
44
|
+
|
|
45
|
+
describe('isKnownOption', () => {
|
|
46
|
+
it('is true only for an exact value match (case-sensitive)', () => {
|
|
47
|
+
expect(isKnownOption(opts, 'zen-omni')).toBe(true)
|
|
48
|
+
expect(isKnownOption(opts, 'ZEN-OMNI')).toBe(false)
|
|
49
|
+
expect(isKnownOption(opts, 'custom-model')).toBe(false)
|
|
50
|
+
})
|
|
51
|
+
})
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Combobox option filtering — pure, unit-tested.
|
|
3
|
+
*
|
|
4
|
+
* The ONE matcher the ComboBox uses to narrow a live option list against typed
|
|
5
|
+
* text. Matching is a LITERAL, case-insensitive substring over the option's
|
|
6
|
+
* value + label + hint — NEVER a compiled RegExp of user input (that would be a
|
|
7
|
+
* ReDoS / injection surface; the whole codebase filters with literal `includes`,
|
|
8
|
+
* e.g. marketplace/logic + filterOrgs). Kept dependency-free so it lifts into
|
|
9
|
+
* `@hanzo/ui` alongside the ComboBox.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
/** One option in a combobox list. `value` is what gets committed; label/hint are display. */
|
|
13
|
+
export type ComboOption = {
|
|
14
|
+
/** The value committed to the field when this option is chosen. */
|
|
15
|
+
value: string
|
|
16
|
+
/** Display label (defaults to `value`). */
|
|
17
|
+
label?: string
|
|
18
|
+
/** Optional secondary text (e.g. a provider, a description) — also searched. */
|
|
19
|
+
hint?: string
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/** The searchable haystack for one option (value + label + hint), lowercased. */
|
|
23
|
+
const hay = (o: ComboOption): string => `${o.value} ${o.label ?? ''} ${o.hint ?? ''}`.toLowerCase()
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Filter `options` by `query` — a literal, case-insensitive substring over
|
|
27
|
+
* value/label/hint. An empty/whitespace query returns every option (no filter).
|
|
28
|
+
* PURE. The input is treated as a plain string, never a pattern.
|
|
29
|
+
*/
|
|
30
|
+
export function filterOptions(options: ComboOption[], query: string): ComboOption[] {
|
|
31
|
+
const q = query.trim().toLowerCase()
|
|
32
|
+
if (!q) return options
|
|
33
|
+
return options.filter((o) => hay(o).includes(q))
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** True iff `value` exactly matches an option's `value` (case-sensitive). */
|
|
37
|
+
export function isKnownOption(options: ComboOption[], value: string): boolean {
|
|
38
|
+
return options.some((o) => o.value === value)
|
|
39
|
+
}
|