Stock Screener

import { StockScreener } from '@hanzo/ui'

Default

TradingView's US equity screener, overview column, dark, 500px tall and as wide as its parent.

export function Default() {
return <StockScreener market="america" colorTheme="dark" />
}

Light and short

`colorTheme="light"` takes the screener's light palette and `height` sets the frame.

export function LightAndShort() {
return <StockScreener colorTheme="light" height={360} rounded="$3" />
}

Top gainers

`defaultScreen="top_gainers"` opens the table pre-filtered instead of the general screen.

export function TopGainers() {
return <StockScreener defaultScreen="top_gainers" defaultColumn="performance" />
}

Stacked

Each screener is its own frame, so two markets sit side by side as a column of boxes.

export function Stacked() {
return (
<YStack gap="$4">
<StockScreener market="america" height={320} />
<StockScreener market="india" height={320} />
</YStack>
)
}

Types

export type StockScreenerMarket = 'america' | (string & {})
export type StockScreenerColumn =
| 'overview'
| 'performance'
| 'oscillators'
| 'moving_averages'
export type StockScreenerScreen =
| 'general'
| 'top_gainers'
| 'top_losers'
| 'most_volatile'
| (string & {})
export type StockScreenerTheme = 'light' | 'dark'
export interface StockScreenerProps extends Omit<YStackProps, 'width' | 'height' | 'theme'> {
/** Which market the table screens. */
market?: StockScreenerMarket
/** Which column set the table opens on. */
defaultColumn?: StockScreenerColumn
/** Which preset screen the table opens filtered to. */
defaultScreen?: StockScreenerScreen
/** Whether the toolbar (screen picker, column picker) is shown. */
showToolbar?: boolean
/** The table's own palette; independent of the surrounding gui theme. */
colorTheme?: StockScreenerTheme
isTransparent?: boolean
locale?: string
width?: string | number
height?: string | number
}

Exports

StockScreenertype StockScreenerColumntype StockScreenerMarkettype StockScreenerPropstype StockScreenerScreentype StockScreenerTheme