Repository navigation
Releases
Releases · FiretailHosting/solscope-ui
v0.19.4
Adds
markersPossibleonSeriesChart: the hint row keeps the room of the hint with markers, so the chart does not move when trades come and go.SeriesHintRow: the same row for a loading stand-in, with the hint held unseen and hidden from screen readers.
Changes
- The hint row holds its hint unseen under the readout, so inspecting a point no longer shortens it.
- A chart whose plot fails to load keeps the held hint row.
v0.19.3
Adds
seriesPlotStyle(height, { fixed, minHeight })returns the exact style of a SeriesChart plot, for stand-ins inside a parent that hascontainer-type: inline-size.rangeButtonsFit, the test RangePicker uses to decide whether its buttons fit.- RangePicker collapses to its select whenever its buttons do not fit the space it is given, whatever the window width.
collapseBelowstill applies too. --sui-range-picker-justifyplaces the collapsed select; a Card header sets it toend.
Changes
- SeriesChart's plot is always exactly its container's width, and its height follows that width. v0.19.2's aspect ratio with a minimum height could make the plot, and whatever held it, wider than a narrow container. Heights are unchanged.
- RangePicker keeps one width and height in both states, shows the select until it has measured the buttons, and moves focus back to the selected button.
- Card header actions take the room left beside the title, so they give up room before the title wraps.
v0.19.2
Adds
SeriesChartminHeight: a plot that scales with its width is never shorter than it, by defaultseriesMinHeight(height)(220px, orheightwhen less).- An edge chip for levels: those beyond the top or bottom gather into one chip, "▲ 2 above" or "▼ 6 below", a button that lists each level's label and value under the chart.
- Exports:
SERIES_CHART_MIN_HEIGHT,seriesMinHeight,layoutLevelTags,levelGroupText, and the typesLevelEdge,LevelTagLayout,LevelTagWant.
Changes
- A narrow card no longer draws a plot under 100px tall.
- Level tags that cannot all fit join an edge chip ("▲ 3 more") instead of being pushed off the plot.
- A chip moves left of the latest price rather than cover it.
- Far levels no longer get a pinned tag each.
v0.19.1
Adds
SeriesChartfailedprop (default "Could not load the chart.") shown when the plot's code fails to load, as offline.SeriesChartonfailedcallback, called once when that happens.
Changes
- A plot that fails to load no longer shows the "not enough history" text, and keeps the plot's height and the readout row's space, so the page does not shift.
v0.19.0
SeriesChart now draws with LayerChart instead of Lightweight Charts, and can show order price lines.
Adds
levelsprop on SeriesChart: labelled horizontal price lines (for example limit, stop, take profit, stop loss) with a tag at the right edge.- A level within 10% of the price range widens the scale to fit it; a farther one is pinned to the top or bottom edge with an arrow and its value.
- Levels are announced to screen readers, and each tag names what it is, so colour is never the only signal.
- Tags drop under the crosshair while inspecting and fade over the live price dot.
- Pure helpers in
/chartand the root:levelsInRange,boundsWithLevels,levelPin,placeLevels,levelText,levelsSummary,stackLabels,xAtTime,candleMarks,candleWidthByStep, with their types and constants.
Changes
- The plot is drawn in SVG with
layerchart2.5.1 (pinned) and still loads lazily. - Candles narrower than 3px draw as lines; a flat candle draws as a short horizontal line.
- With
byTime, the x axis is a true time scale. - If the plot fails to load, the empty text shows instead.
- Charts are 16px shorter: the attribution row is gone.
Breaking
lightweight-chartsis removed, along with the TradingView attribution.- Removed exports:
CHART_ATTRIBUTION_HEIGHT,TRADINGVIEW_NOTICE,TRADINGVIEW_CREDIT,TRADINGVIEW_URL,chartRows,ChartRow,chartSlots,slotAtTime,xAtSlot,colorWithAlpha,MAX_TIME_SLOTS.
v0.18.3
Fixes
- SeriesChart fits a trade priced a little outside the series, up to 5% of its range, into the plot at its true price, so a fill just under a 1-minute candle's low no longer draws over the time axis or into the attribution row. Trades further off are still left out.
Adds
CHART_ATTRIBUTION_HEIGHT(16), the attribution row's height in pixels with its margins, exported from the package root and/chart, so a loading skeleton can reserve the same space under the plot.markersInRange,boundsWithMarkersandMARKER_PRICE_TOLERANCE, the maths behind the fit.
Upgrading
- No breaking changes.
withinPlotHeightis still exported but SeriesChart no longer uses it.
v0.18.2
An accessibility patch for SeriesChart's trade markers, summary and attribution (WCAG 2.2 AA).
Changes
- A trade group's name starts with its visible count, "+5 more, 6 trades from ... to ...: 4 buys, 2 sells", so voice control finds it by what it shows.
- Group markers are disclosures with
aria-expandedandaria-controlson the list of picked trades; single trades keeparia-pressed. - A pick says "6 trades picked", and the readout speaks only when a press changes the pick, never again when focus moves on.
- Markers no longer show a floating tooltip the pointer could not reach; the readout shows the trade.
- The chart summary is in the reading order, so browse mode reads it.
- The TradingView link is a 24px target that markers never cover; chart height is unchanged.
- The pointer hint names the arrow keys: "Hover, drag or use arrow keys to see a price."
Install
"@firetailhosting/solscope-ui": "github:FiretailHosting/solscope-ui#v0.18.2"
v0.18.1
A patch for SeriesChart, the Lightweight Charts chart from v0.18.0.
Changes
- TradingView's attribution is a small "Charts by TradingView" text link in its own row under the plot, in place of the logo that covered the lowest axis label and took about a third of a 96px chart.
- The link opens https://www.tradingview.com/ in a new tab with
rel="noopener noreferrer", so a click no longer sends the page URL as the Referer. - Each chart is 16px taller for that row; it renders with the page, so nothing moves when the chart loads.
- New exports
TRADINGVIEW_NOTICE,TRADINGVIEW_URLandTRADINGVIEW_CREDIT; showTRADINGVIEW_NOTICEonce on a page your users can reach, as Lightweight Charts' license asks. - A trade group whose trades all read the same time says "6 trades at Oct 1, 2:00 AM: 4 buys, 2 sells" instead of "from Oct 1, 2:00 AM to Oct 1, 2:00 AM".
- The chart's summary is read once: only the chart picture is described by it, not the keyboard slider too.
Install
"@firetailhosting/solscope-ui": "github:FiretailHosting/solscope-ui#v0.18.1"
v0.18.0
Adds
RangePicker: a chart's range as segmented buttons, or a labelled native select belowcollapseBelowpixels of screen width (default 480). Options areRangeOption<Value>({ value, label, disabled? }), values can be numbers.- Trader pictures on trade markers:
SeriesMarkertakes optionalavatar(picture URL) andname(for initials). A side ring and an up or down badge keep buy and sell clear without colour; the picture falls back to initials, then to the buy or sell shape. Pictures load lazily, once per page. - Overlapping markers group into one button with a "+N" count, named with its trades or "N trades from ... to ...: N buys, N sells". A picked group lists its trades under the chart.
SeriesChartsummaryprop: the chart's description for screen readers; by default a sentence with its span, start, end, high and low.- Chart helpers in
@firetailhosting/solscope-ui/chartand the main entry:chartSlots,chartRows,slotAtTime,xAtSlot,seriesSummary,colorWithAlpha,clusterMarkers,clusterLabel,clusterSide,markerLabel,markerFace,initials.
Changes
SeriesChartdraws with Lightweight Charts 5.2.1 (Apache-2.0, TradingView) on a canvas, loaded in its own chunk once a chart mounts (about 62 kB gzipped). Props are unchanged.- The labels, crosshair, tooltip, keyboard slider, readout and markers stay DOM over the canvas, so keyboard and screen reader use work as in 0.17.0, including inspection kept through live ticks.
- A new series wipes in from the left instead of drawing the line in; a live tick no longer replays it.
- TradingView's attribution logo shows at the bottom left of each chart, above the time axis, as its license asks; it is a named link, last in the chart's tab order.
candleWidthand thealongofmarkersInTimeare no longer used by the chart but stay exported.
v0.17.0
Adds
axisFormatonSeriesChart(defaults toformat) for the guide, zero and level labels.carriedIndexin the chart helpers.
Changes
- A loading
Buttonstays enabled and keeps focus:aria-disabledandaria-busyinstead of nativedisabled, and presses are ignored, so a submit cannot repeat.disabledstays native. SeriesChartkeeps an inspected point through live ticks, by timestamp.SeriesChartno longer reads its hint aloud on every tick; only inspection content is a live region.- The markers hint says "Select a marker to see the trade".