Skip to content

Integrations · TradingView

Provider market data, LUC-shaped

TradingView embeds cover the market views a product should not rebuild: standard charts, quotes, screeners, heatmaps, news and macro calendars. They complement Luc UI's own chart engines rather than replacing them, and they stay provider data — LUC never reads a widget to get a number.

Three lanes, one visual language

A page can hold all three at once. They are different jobs, not competing implementations.

Which visualisation lane to use
LaneDataRendered byUse it forNot for
TradingView widgetsProvider market dataTradingViewStandard market presentation: quotes, candlesticks, screeners, heatmaps, news, calendars.Do not use when the data must be yours, or when you need cross-engine sync or your own annotations.
LUC FinancialChartYour prepared OHLCLightweight ChartsYour candles, overlays, panes and indicators, with Luc UI's theme, tooltips and accessible table fallback.Do not use to re-implement a generic market chart the provider already hosts well.
LUC research chartsYour analyticsApache EChartsDrawdown, regimes, distributions, correlations and anything LUC computes and has to explain.Do not use for live quotes. Nothing in the chart layer fetches.

Catalog

Every current, officially documented widget, audited against TradingView's own directory. The registry below drives this table, the sidebar and the package exports.

TradingView widget catalog
WidgetCategoryFormatMin sizeTheme / symbol / linkDocs
AdvancedChartchartsiframe400×500theme · trueOfficial page
SymbolOverviewchartsiframe300×300theme · trueOfficial page
MiniChartchartsWeb Component250×78theme · true · symbol-urlOfficial page
SeasonalChartchartsWeb Component350×300theme · true · symbol-urlOfficial page
MarketSummarywatchlistsWeb Component300×100theme · true · symbol-urlOfficial page
MarketOverviewwatchlistsWeb Component320×300theme · true · symbol-urlOfficial page
MarketDatawatchlistsWeb Component300×180theme · true · symbol-urlOfficial page
WorldMarketSummarywatchlistsWeb Component400×360theme · symbol-urlOfficial page
TickerTapetickersWeb Component300×70theme · true · symbol-urlOfficial page
TickerstickersWeb Component300×100theme · true · symbol-urlOfficial page
SingleTickertickersWeb Component250×100theme · true · symbol-urlOfficial page
TickerTagtickersWeb Component96×28theme · true · symbol-urlOfficial page
StockHeatmapheatmapsiframe400×400theme · symbol-urlOfficial page
CryptoHeatmapheatmapsiframe400×400theme · symbol-urlOfficial page
EtfHeatmapheatmapsiframe400×400theme · symbol-urlOfficial page
ForexTableheatmapsWeb Component360×300theme · symbol-urlOfficial page
Screenerscreenersiframe400×400themeOfficial page
CryptocurrencyMarketscreenersiframe400×400themeOfficial page
SymbolInfosymbol-detailsiframe300×200theme · trueOfficial page
TechnicalAnalysissymbol-detailsWeb Component300×300theme · true · symbol-urlOfficial page
FundamentalDatasymbol-detailsiframe320×400theme · trueOfficial page
CompanyProfilesymbol-detailsWeb Component320×400theme · true · symbol-urlOfficial page
TopStoriesnewsiframe300×400themeOfficial page
EconomicCalendarcalendarsiframe350×450themeOfficial page
EconomicMapeconomicsWeb Component500×400theme · symbol-urlOfficial page
BrokerRatingbrokersWeb Component220×120themeOfficial page
BrokerReviewsbrokersWeb Component260×260themeOfficial page

16 Web Components and 11 iframe widgets. No legacy embed is wrapped: a canonical replacement always wins.

Legacy and replaced

Recorded so nobody restores one of these by accident.

Legacy TradingView embeds
Embed scriptCanonical replacementStill servedNote
embed-widget-tickers.jstickersservedIframe ticker strip — superseded by the tv-tickers Web Component.
embed-widget-ticker-tape.jsticker-tapeservedIframe ticker tape — superseded by tv-ticker-tape.
embed-widget-mini-symbol-overview.jsmini-chartservedIframe mini chart — superseded by tv-mini-chart.
embed-widget-market-overview.jsmarket-overviewservedIframe market overview — superseded by tv-market-overview.
embed-widget-market-quotes.jsmarket-dataservedIframe market quotes — superseded by tv-market-data (overview/performance views).
embed-widget-forex-cross-rates.jsforex-tableservedIframe cross rates — superseded by tv-forex-table.
embed-widget-forex-heat-map.jsforex-tableservedIframe forex heat map — superseded by tv-forex-table's heatmap colouring.
embed-widget-symbol-profile.jscompany-profileservedIframe symbol profile — superseded by tv-company-profile.
embed-widget-ticker.jssingle-tickerwithdrawnLegacy single ticker. TradingView no longer serves it (HTTP 403).
embed-widget-market-summary.jsmarket-summarywithdrawnLegacy iframe market summary. Not served (HTTP 403); the canonical widget is tv-market-summary.
embed-widget-single-ticker.jssingle-tickerwithdrawnLegacy iframe single ticker. Not served (HTTP 403); the canonical widget is tv-single-ticker.

What LUC controls, and what it cannot

Two customization depths, kept apart on purpose.

Web Components — deep

Closed shadow roots, so LUC styles only through the provider's published contract: a theme attribute, its documented CSS custom properties (mapped from LUC tokens by TRADINGVIEW_TOKEN_BRIDGE), and ::part() where a widget exposes one.

iframes — config only

A separate document. LUC can pass the provider's own keys (colorTheme, backgroundColor, gridColor, isTransparent and size the box. It cannot restyle the inside, and it does not pretend to — the visual difference between the two formats is visible on the Themes page rather than hidden.

Attribution is never touched. TradingView's copyright block is rendered exactly as the provider ships it, and nothing in LUC is ever placed over a widget box: only symbol links can be redirected, through the provider's ownsymbol-url contract and tv-link-open event.

Failure is a state, not a crash

Both formats below point at widget modules that do not exist, on the provider's real hosts. That is what an unreachable provider looks like — and it never takes the page with it.

MiniChart

Web Component

Web Component whose module 404s: the wrapper waits, gives up, and offers a retry.

Minimum 250×78Market data by TradingViewReplaces embed-widget-mini-symbol-overview.js

SymbolInfo

iframe

iframe whose embed script 404s: the script's own error event becomes the wrapper's error state.

Minimum 300×200Market data by TradingView

Brokers

The two Broker widgets are the provider's partner embeds: the broker id is part of the script URL, and the widget shows one broker's rating and reviews.

BrokerRating

Web Component

A broker partner's TradingView star rating and awards.

Minimum 220×120Market data by TradingView

Network policy

These are the only Showcase routes that depend on third-party resources.

Nothing is requested until a wrapper is near the viewport, and nothing outside the catalog pages loads TradingView at all. A production CSP needs the domains below — derived from the provider's own embeds and observed requests, not guessed:

# domains the TradingView integrations require script-src https://s3.tradingview.com https://widgets.tradingview-widget.com https://www.tradingview-widget.com frame-src https://www.tradingview-widget.com https://s.tradingview.com img-src https://s3.tradingview.com https://www.tradingview.com https://*.tradingview.com blob: connect-src https://widget-sheriff.tradingview-widget.com

Rendering a widget also loads third-party resources in the visitor's browser, which is a privacy and consent question for the consuming product to answer. LUC documents the behaviour; it does not decide the legal position.

Luc UI v1.0Overviewdark theme