openalgo-charts 1.8.5 → 1.8.7

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 CHANGED
@@ -8,8 +8,8 @@ Professional interactive charts, 102 built-in indicators plus your own custom on
8
8
 
9
9
  [![npm version](https://img.shields.io/npm/v/openalgo-charts.svg?color=cb3837&label=npm)](https://www.npmjs.com/package/openalgo-charts)
10
10
  [![license](https://img.shields.io/badge/license-Apache--2.0-blue.svg)](./LICENSE)
11
- [![bundle](https://img.shields.io/badge/brotli-59%20KB%20base%20%C2%B7%20120%20KB%20all%20tiers-brightgreen.svg)](#size-budget)
12
- [![tests](https://img.shields.io/badge/tests-2408%20passing-brightgreen.svg)](#develop)
11
+ [![bundle](https://img.shields.io/badge/brotli-61%20KB%20base%20%C2%B7%20122%20KB%20all%20tiers-brightgreen.svg)](#size-budget)
12
+ [![tests](https://img.shields.io/badge/tests-2466%20passing-brightgreen.svg)](#develop)
13
13
  [![dependencies](https://img.shields.io/badge/runtime%20deps-0-brightgreen.svg)](#principles)
14
14
 
15
15
  [**Documentation**](https://marketcalls.github.io/openalgo-charts/)  ·  [**Live examples**](https://marketcalls.github.io/openalgo-charts/examples)  ·  [**Getting started**](./docs/getting-started.md)  ·  [**Architecture**](./ARCHITECTURE.md)
@@ -60,14 +60,14 @@ Import only what you use. Each tier is a separate bundle that registers into the
60
60
 
61
61
  | Import | Contents | Brotli |
62
62
  |---|---|---|
63
- | `openalgo-charts` | Engine, 13 chart types, panes & scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, OpenAlgo feeds | 59.1 KB |
64
- | `openalgo-charts/indicators` | 102 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract | 27.2 KB |
63
+ | `openalgo-charts` | Engine, 13 chart types, panes & scales, primitives, registries, chart state, chart linking, bar cache, interval registry, trading overlay, OpenAlgo feeds | 60.5 KB |
64
+ | `openalgo-charts/indicators` | 102 built-in indicators, the `registerIndicator` contract for your own, and the Tier-2 (external-data) contract | 27.3 KB |
65
65
  | `openalgo-charts/draw` | 43 drawing tools + a headless drawing controller and clipboard | 13.1 KB |
66
66
  | `openalgo-charts/transform` | Heikin Ashi, Renko, Range bars, Line Break, Point & Figure, Kagi | 2.7 KB |
67
67
  | `openalgo-charts/profile` | Volume Profile, Market Profile (TPO), Footprint, order flow | 10.7 KB |
68
68
  | `openalgo-charts/trade` | Order / position / bracket tools + DOM ladder | 7.6 KB |
69
69
 
70
- Everything together is **120.3 KB Brotli**. Figures are the measured `size-limit` output. The trade tier is listed as its delta over the base, so loading base + trade costs 66.7 KB.
70
+ Everything together is **121.86 KB Brotli**. Figures are the measured `size-limit` output. The trade tier is listed as its delta over the base, so loading base + trade costs 68.14 KB.
71
71
 
72
72
  ## What's built
73
73
 
@@ -208,13 +208,13 @@ Enforced in CI by [`size-limit`](./.size-limit.json). Nothing is excluded, becau
208
208
 
209
209
  | Bundle | Limit | Actual |
210
210
  |---|---|---|
211
- | Base engine | 60 KB | 59.38 KB |
212
- | Base + trade | 68 KB | 66.99 KB |
211
+ | Base engine | 62 KB | 60.53 KB |
212
+ | Base + trade | 70 KB | 68.14 KB |
213
213
  | Indicators tier | 30 KB | 27.27 KB |
214
214
  | Draw tier | 14 KB | 13.13 KB |
215
215
  | Transform tier | 5 KB | 2.66 KB |
216
216
  | Profile tier | 11 KB | 10.66 KB |
217
- | **Everything** | **124 KB** | **120.7 KB** |
217
+ | **Everything** | **124 KB** | **121.86 KB** |
218
218
 
219
219
  ## Documentation
220
220
 
@@ -254,7 +254,7 @@ cd examples/yfinance && pip install -r requirements.txt && python server.py
254
254
  ```bash
255
255
  npm install # install dev toolchain
256
256
  npm run typecheck # strict TypeScript check
257
- npm test # unit tests (vitest) - 2408 across 129 files
257
+ npm test # unit tests (vitest) - 2466 across 137 files
258
258
  npm run build # Rollup -> dist/ (minified ESM per tier + types)
259
259
  npm run size # size-limit (Brotli) against the budget
260
260
  npm run e2e # Playwright Chromium smoke tests
@@ -271,7 +271,7 @@ npm run verify # typecheck + test + build + size
271
271
 
272
272
  ## Status & limitations
273
273
 
274
- Version **1.8.5**. All engine build phases are implemented with 2420 unit tests across 131 files.
274
+ Version **1.8.7**. All engine build phases are implemented with 2466 unit tests across 137 files.
275
275
 
276
276
  Known gaps, stated plainly:
277
277
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Library version string. Matches package.json (published npm release). */
2
- declare const VERSION = "1.8.5";
2
+ declare const VERSION = "1.8.7";
3
3
  /** Returns the current library version. */
4
4
  declare function version(): string;
5
5
 
@@ -549,7 +549,16 @@ interface SeriesStyle {
549
549
  title?: string;
550
550
  /** Show the dashed horizontal last-price line across the plot. Default true. */
551
551
  priceLineVisible?: boolean;
552
- /** Show the last-value tag on the price axis. Default true. */
552
+ /**
553
+ * Show this series' current value as a tag on the price axis. Default true.
554
+ *
555
+ * Every series on the pane's readout scale gets one, not only the instrument:
556
+ * an indicator overlay, a comparison line, a study on a pane of its own. The
557
+ * instrument's tag is the up/down coloured one that also carries the bar
558
+ * countdown; the rest are drawn in their own plot colour. A series whose
559
+ * current value is not a number draws no tag, so a study that is `na` right
560
+ * now says nothing rather than showing a stale reading.
561
+ */
553
562
  lastValueVisible?: boolean;
554
563
  /**
555
564
  * Decimal places for every price the scale this series maps to formats: the
@@ -4271,8 +4280,21 @@ interface ReplayState {
4271
4280
  playing: boolean;
4272
4281
  /** Multiplier over `barMs`: 2 plays two bars per `barMs`. */
4273
4282
  speed: number;
4274
- /** The bar at `index`, the replay clock's "now". Null when there is no data. */
4283
+ /**
4284
+ * The bar at `index`, the replay clock's "now". Null when there is no data.
4285
+ *
4286
+ * Under intra-bar replay this is the **partial** bar as it stands this step,
4287
+ * not the completed one, which is what makes it the right thing to drive a
4288
+ * host's own forming volume bar or an OHLC readout from.
4289
+ */
4275
4290
  bar: Bar | null;
4291
+ /**
4292
+ * Which step of the forming bar this is, 0-based, and how many it takes. Both
4293
+ * are 0 and 1 without `subBars`, so a transport that shows them needs no
4294
+ * special case for the plain mode.
4295
+ */
4296
+ subIndex: number;
4297
+ subSteps: number;
4276
4298
  }
4277
4299
  interface ReplayOptions {
4278
4300
  /**
@@ -4289,6 +4311,26 @@ interface ReplayOptions {
4289
4311
  * mutated, and never handed to the chart as-is: each frame gets its own slice.
4290
4312
  */
4291
4313
  bars?: readonly Bar[];
4314
+ /**
4315
+ * Finer-grained bars the displayed ones are built from: the 1-minute session
4316
+ * under a 5-minute chart. Given these, the playhead advances a **sub-bar** at
4317
+ * a time and the newest bar forms in front of the user the way a live one
4318
+ * does, instead of appearing complete. A 5-minute bar over 1-minute data
4319
+ * takes five steps.
4320
+ *
4321
+ * They must cover the same session as `bars` and be sorted by time; sub-bars
4322
+ * outside any displayed bucket are ignored. The last step of a bucket emits
4323
+ * the displayed bar **verbatim** rather than the aggregate, so a bucket always
4324
+ * closes on exactly the number the chart would have shown without this option,
4325
+ * whatever the two feeds disagree about in between.
4326
+ *
4327
+ * Only the first driven series forms partially. Followers are cut to completed
4328
+ * buckets, because the controller cannot know how to half-aggregate an
4329
+ * arbitrary one: a volume histogram is summed, not OHLC-merged. The partial
4330
+ * bar reaches the host as `ReplayState.bar` on every frame, so a host that
4331
+ * wants a growing volume bar writes it from there.
4332
+ */
4333
+ subBars?: readonly Bar[];
4292
4334
  /** Bar to open at (0-based). Default 0. */
4293
4335
  startIndex?: number;
4294
4336
  /** Wall-clock milliseconds per bar at speed 1. Default 1000. */
@@ -4314,8 +4356,22 @@ declare class ReplayController {
4314
4356
  private readonly _schedule;
4315
4357
  private readonly _barMs;
4316
4358
  private readonly _startIndex;
4359
+ private readonly _subBars;
4360
+ /**
4361
+ * For each displayed bar, where its sub-bars start in `_subBars` and how many
4362
+ * there are. Built once: the alternative is a binary search per step, on a
4363
+ * path that runs on every played frame.
4364
+ *
4365
+ * A bucket with no sub-bars takes one step and shows the displayed bar, so a
4366
+ * gap in the finer feed costs that bar its formation, not its existence.
4367
+ */
4368
+ private readonly _subStart;
4369
+ private readonly _subCount;
4370
+ private readonly _intra;
4317
4371
  private _speed;
4318
4372
  private _index;
4373
+ /** Step within the forming bar, 0-based. Always 0 without `subBars`. */
4374
+ private _sub;
4319
4375
  private _playing;
4320
4376
  /** True once replay owns the chart's data; false before start and after stop. */
4321
4377
  private _active;
@@ -4330,12 +4386,43 @@ declare class ReplayController {
4330
4386
  * moved, so `stop()` can put the user back exactly where they were.
4331
4387
  */
4332
4388
  constructor(chart: ReplayChartHost, options?: ReplayOptions);
4333
- /** Jump the playhead to a bar. Out-of-range values clamp to the session. */
4389
+ /**
4390
+ * Map every sub-bar onto the displayed bar whose bucket it falls in.
4391
+ *
4392
+ * The displayed bars' own times are the bucket starts, so one forward pass
4393
+ * over both sorted arrays does it. A sub-bar before the first displayed bar
4394
+ * belongs to no bucket and is dropped rather than folded into bar 0, which
4395
+ * would open that bar at a price the chart never showed.
4396
+ */
4397
+ private _buildBuckets;
4398
+ /** How many steps the bar at `index` takes. At least one, always. */
4399
+ private _steps;
4400
+ /**
4401
+ * Jump the playhead to a bar. Out-of-range values clamp to the session.
4402
+ *
4403
+ * A seek lands on a **complete** bar even under intra-bar replay: scrubbing to
4404
+ * a half-formed candle is not a position anyone asks for, and it would make
4405
+ * the same slider position mean different things on the way past.
4406
+ */
4334
4407
  seek(index: number): void;
4335
- /** Move `n` bars forward. Stops dead at the last bar. */
4408
+ /**
4409
+ * Move `n` steps forward. Stops dead at the end of the session.
4410
+ *
4411
+ * A step is one displayed bar normally, and one sub-bar under intra-bar
4412
+ * replay, so the transport button means "advance the chart by the smallest
4413
+ * amount it can show" in both modes.
4414
+ */
4336
4415
  step(n?: number): void;
4337
- /** Move `n` bars back. Stops dead at the first bar. */
4416
+ /** Move `n` steps back. Stops dead at the first bar. */
4338
4417
  stepBack(n?: number): void;
4418
+ /**
4419
+ * Move the playhead `delta` steps, carrying across bar boundaries.
4420
+ *
4421
+ * Written as a walk rather than arithmetic on a flat step count because
4422
+ * buckets hold different numbers of sub-bars: a session with a gap, or a
4423
+ * partial first bucket, has no constant steps-per-bar to divide by.
4424
+ */
4425
+ private _advance;
4339
4426
  /**
4340
4427
  * Start (or re-speed) playback. Calling it on the last bar plays nothing and
4341
4428
  * reports `replay:end` instead of arming a timer that could never advance.
@@ -4365,6 +4452,8 @@ declare class ReplayController {
4365
4452
  * speed, and a host may drive this from rAF instead with no change here.
4366
4453
  */
4367
4454
  private readonly _tick;
4455
+ /** True on the last step of the last bar, which is where playback stops. */
4456
+ private _atEnd;
4368
4457
  /** The session is over: stop the timer and tell the host once. */
4369
4458
  private _end;
4370
4459
  private _stopTimer;
@@ -5349,6 +5438,96 @@ declare class LogoWatermark implements IPrimitive {
5349
5438
  private _tinted;
5350
5439
  }
5351
5440
 
5441
+ /**
5442
+ * A word stamped faintly across the plot, to say what mode the chart is in.
5443
+ *
5444
+ * The case it exists for is replay: a chart showing a past session looks exactly
5445
+ * like a chart showing the present one, and a trader who forgets which they are
5446
+ * looking at can read a live decision off history. The mark is large, centred
5447
+ * and static on purpose. It is not decoration and not a brand: it is the answer
5448
+ * to "am I looking at the market or a recording of it", and it has to be
5449
+ * readable without being looked for.
5450
+ *
5451
+ * Distinct from `LogoWatermark`, which is a small corner image with a hover
5452
+ * label. This one draws text, takes no interaction, and reports no hit, so it
5453
+ * never intercepts a click meant for the chart under it.
5454
+ */
5455
+
5456
+ interface TextWatermarkOptions {
5457
+ /** The word itself. Kept short: it is read at a glance, not studied. */
5458
+ text: string;
5459
+ /**
5460
+ * Cap height in px at the plot's natural size, scaled down on a narrow chart
5461
+ * so a long word never runs past the edges. Default 64.
5462
+ */
5463
+ fontSize?: number;
5464
+ /** 0..1. Default 0.08, which reads as present without competing with bars. */
5465
+ opacity?: number;
5466
+ /** Default a neutral grey that works on either theme. */
5467
+ color?: string;
5468
+ font?: string;
5469
+ /**
5470
+ * Below the series by default. A mode marker that covered the candles would
5471
+ * be worse than no marker, since the candles are what the mode is about.
5472
+ */
5473
+ zOrder?: ZOrder;
5474
+ id?: string;
5475
+ }
5476
+ declare class TextWatermark implements IPrimitive {
5477
+ private _opts;
5478
+ constructor(opts: TextWatermarkOptions);
5479
+ zOrder(): ZOrder;
5480
+ autoscaleInfo(): null;
5481
+ /** Never hit: the mark must not eat a click aimed at the chart beneath it. */
5482
+ hitTest(): null;
5483
+ setOptions(patch: Partial<TextWatermarkOptions>): void;
5484
+ draw(ctx: CanvasRenderingContext2D, rc: PrimitiveRenderContext): void;
5485
+ }
5486
+
5487
+ /**
5488
+ * Dims everything from a bar onward, and draws the line where the cut falls.
5489
+ *
5490
+ * Two jobs, one shape. Picking a replay start means answering "from here, what
5491
+ * happens next?", and the honest way to ask it is to hide the answer: the bars
5492
+ * to the right of the cursor are greyed while the user chooses, so a start bar
5493
+ * is picked on what was known at the time rather than on the shape of what
5494
+ * followed. Once replay is running the same veil marks the part of the session
5495
+ * that has not been reached yet.
5496
+ *
5497
+ * The shade is drawn over the series rather than under it, because covering the
5498
+ * future is the entire point: a translucent wash still shows the shape faintly,
5499
+ * which is what tells a user there is more session there to walk into.
5500
+ */
5501
+
5502
+ interface ReplayShadeOptions {
5503
+ /**
5504
+ * The last bar left uncovered. Everything after it is dimmed. Null draws
5505
+ * nothing at all, which is how a host keeps one instance around across
5506
+ * entering and leaving the mode.
5507
+ */
5508
+ index: number | null;
5509
+ /** Wash colour over the covered bars. Default a dark, low-alpha neutral. */
5510
+ color?: string;
5511
+ /** The rule at the cut. Default a muted blue, the colour of a chosen thing. */
5512
+ lineColor?: string;
5513
+ lineWidth?: number;
5514
+ /** Draw the divider. Default true. */
5515
+ lineVisible?: boolean;
5516
+ zOrder?: ZOrder;
5517
+ id?: string;
5518
+ }
5519
+ declare class ReplayShade implements IPrimitive {
5520
+ private _opts;
5521
+ constructor(opts: ReplayShadeOptions);
5522
+ zOrder(): ZOrder;
5523
+ /** Takes no part in autoscale: it covers bars, it is not one. */
5524
+ autoscaleInfo(): null;
5525
+ /** Never hit, so the click that picks a bar reaches the chart. */
5526
+ hitTest(): null;
5527
+ setOptions(patch: Partial<ReplayShadeOptions>): void;
5528
+ draw(ctx: CanvasRenderingContext2D, rc: PrimitiveRenderContext): void;
5529
+ }
5530
+
5352
5531
  /**
5353
5532
  * Inline Buy/Sell button panel (ARCHITECTURE.md §9). An on-chart trade
5354
5533
  * panel docked inside the plot: a SELL button (bid), a quantity chip, and a BUY
@@ -7102,4 +7281,4 @@ declare function lerp(a: number, b: number, t: number): number;
7102
7281
  */
7103
7282
  declare function roundToTick(value: number, step: number): number;
7104
7283
 
7105
- export { ALT_PRESET, type AddSeriesOptions, type AggTick, type AxisChromeOptions, type AxisStyle, BUILTIN_COMMANDS, type Bar, BarCache, type BarCacheOptions, type BarCacheStats, type BarCacheStore, type BarUpdate, type BarsRequest, type Bucketing, BuySellButtons, type BuySellButtonsOptions, CHART_STATE_VERSION, type CachedBars, type CachedBarsRequest, type CalendarBucketing, type CalendarUnit, CandleBuilder, type CandleBuilderOptions, type CandleStyle, type CandleUpdate, type CanvasLineStyle, type CanvasOptions, Chart, type ChartEvent, type ChartEventOptions, type ChartOptions, type ChartSettingsColorPairInput, type ChartSettingsInput, type ChartSettingsState, type ChartSettingsTab, type ChartSettingsTabId, type ChartSettingsValue, type ChartSettingsValues, type ChartState, ChartTable, type ChartTableOptions, type ChartTheme, type ComparisonAlignment, type ComparisonChartHost, ComparisonController, type ComparisonControllerOptions, type ComparisonHandle, type ComparisonMode, type ComparisonOptions, type ComparisonPane, type ContextMenuEvent, type ContextMenuTarget, type ContextMenuTargetKind, type CrosshairMoveEvent, type CrosshairOptions, type CrosshairStyle, type CustomShortcut, DEFAULT_CANDLE_BUILDER_OPTIONS, DEFAULT_CANDLE_STYLE, DEFAULT_CHART_TABLE_OPTIONS, DEFAULT_HISTOGRAM_STYLE, DEFAULT_KEYMAP, DEFAULT_PRICE_SCALE_OPTIONS, DEFAULT_THEME, DEFAULT_TIMEZONE, DEFAULT_TIME_NAVIGATOR_OPTIONS, DEFAULT_TIME_SCALE_OPTIONS, DEFAULT_TRADING_COLORS, type DataFeed, DataLayer, type DecodedOrder, type DepthLevel, type DrawAnchor, type DrawItem, EventMarkers, FakeDataFeed, type FeedScheduler, type FillGradient, type FillPoint, type GridAxisStyle, type GridOptions, type GridStyle, type HistogramStyle, INDICATOR_LINE_STYLES, INDICATOR_PLOT_STYLES, INDICATOR_SOURCES, type IPrimitive, IST_OFFSET_SECONDS, type IndexedBar, type IndicatorAlertContext, type IndicatorAlertPayload, type IndicatorAlertSpec, type IndicatorApi, type IndicatorAttachContext, IndicatorBackground, type IndicatorCalcContext, type IndicatorDescriptor, type IndicatorDrawing, IndicatorDrawings, IndicatorFill, type IndicatorFillOptions, type IndicatorFillSpec, type IndicatorHost, type IndicatorInput, type IndicatorLevel, type IndicatorLevelContext, type IndicatorLineStyle, type IndicatorPlot, type IndicatorSettings, type IndicatorSource, type IndicatorState, type IndicatorStore, type IndicatorValues, type IntervalBucketing, type IntervalDescriptor, type IntervalParts, InvalidationLevel, type IstParts, type KeymapEntry, LINK_CROSSHAIR_ALPHA, type LateTickPolicy, type LegendField, type LegendStatusData, type LegendStatusLineOptions, type LegendStatusSource, type LegendTitleMode, type LegendValue, type LinePoint, type LinkChart, LinkCrosshair, type LinkDataLayer, LinkGroup, type LinkMemberOptions, type LinkMissingPolicy, type LinkOptions, type LogicalRange, LogoWatermark, type LogoWatermarkOptions, type LtpEvent, type MarkerPosition, type MarkerShape, type MarkerSize, type MarketDepth, type MarketPhase, type MarketPhaseFn, type MaybePromise, type ModeCheck, type OpenAlgoConfig, OpenAlgoDataFeed, type OpenAlgoLiveConfig, OpenAlgoLiveDataFeed, type OpenAlgoTradeConfig, OpenAlgoTradeFeed, type OpenAlgoWsConfig, OpenAlgoWsFeed, type OrderBookSnapshot, type OrderDecodeCode, type OrderDecodeIssue, type OrderDecodeResult, type OrderSide$1 as OrderSide, type OrderType$1 as OrderType, type OrderUpdateEvent, type OriginalTime, PRICE_LEVEL_KINDS, PRICE_SCALE_MODES, Pane, type PaneInvalidation, PaneLegend, type PaneLegendAction, type PaneLegendOptions, type PaneState, type PickHost, type PickKind, type PlaceOrder, type PlotMarginOptions, type PositionSide, type PriceAxisState, type PriceLevelInput, type PriceLevelKind, type PriceLevelQuote, type PriceLevelStyle, type PriceLevelValues, PriceLevels, type PriceLevelsOptions, PriceLine, type PriceLineOptions, type PriceRange, PriceScale, type PriceScaleId, type PriceScaleMode, type PriceScaleOptions, type PriceScaleState, type PrimitiveAnchor, type PrimitiveHit, type PrimitiveHost, type PrimitivePlacement, type PrimitiveRenderContext, type QuarantinedRow, type RawOrder, type RendererEntry, type ReplayChartHost, ReplayController, type ReplayOptions, type ReplayScheduler, type ReplayState, type ReplayViewport, type ResolvedLinkOptions, type RestoreReport, SCALE_FONT_MAX, SCALE_FONT_MIN, type ScaleCanvasOptions, type SeriesApi, type SeriesDataItem, type SeriesId, type SeriesMarker, SeriesMarkers, type SeriesRenderContext, type SeriesState, type SeriesStyle, type SeriesType, type SessionSpec, type ShortcutListItem, ShortcutManager, type ShortcutManagerOptions, type ShortcutPreset, type ShortcutScope, type ShortcutTriggerEvent, type Size, type SocketFactory, type SocketLike, type SupertrendPoint, type TableCell, type TablePosition, type Tick, TickBarAggregator, type TickBarOptions, type TickCountBucketing, type TickMarkType, type TickTimeframe, TimeNavigator, type TimeNavigatorAction, type TimeNavigatorOptions, TimeScale, type TimeScaleOp, type TimeScaleOptions, type TradeFeed, type TradeMarkerVariant, TradeMarkersPrimitive, type TradingColors, TradingController, type TradingHost, type TradingLineStyle, type TradingLineVariant, type TradingOrder, type TradingOrderSide, type TradingOrderType, type TradingPosition, type TradingSettings, type TradingSyncPayload, type TradingTrade, type UTCSeconds, UnknownIntervalError, type UnsubscribeFn, VERSION, type VolumeBucketing, type VolumeMode, type WatermarkPosition, type Whitespace, type WsClientWarning, type WsControlMessage, type WsMode, type WsState, type ZOrder, type ZonedParts, type ZonedPeriod, addComparison, alignToPrimary, applyChartSettings, atr, autoscaleRange, backoffDelayMs, barCacheKey, barCloseSec, beginPick, bestHit, bitmapSize, bucketStartOf, calendarPeriodFlags, chartSettingsSchema, clamp, classifyAuthAck, compactVolume, comparisonController, computePriceLevels, conflateBars, conflateItems, conflationGroupSize, createChart, createLinkGroup, darkTheme, dashPattern, decodeOrder, drawLabel, drawShape, effectiveMarkerPx, ema, emaSeries, epochMsToUtcSeconds, eventToCombo, followerIndex, followerRange, formatCombo, formatIstCrosshairLabel, formatIstDate, formatIstTime, formatIstTimeSeconds, formatSubscribe, formatUnsubscribe, formatZonedCrosshairLabel, formatZonedDate, formatZonedTime, formatZonedTimeSeconds, fromGradient, generateBars, getChartType, getIndicator, hasIndicator, inSessionAt, indicatorDefaults, indicatorStyleInputs, intervalParts, intervalToSeconds, isDailyInterval, isIntradayInterval, isKnownInterval, isNewIstDay, isNewZonedDay, isNewZonedMonth, isNewZonedPeriod, isNewZonedQuarter, isNewZonedWeek, isNewZonedYear, isRebasing, isReservedCombo, isSecondsInterval, isTickInterval, isTimeBucketed, isValidCombo, isValidTimezone, isWhitespace, istStringToUtcSeconds, lastPriceLevelFromSeriesStyle, lerp, lightTheme, mapHistoryResponse, mapOrder, mapOrderStatus, mapPosition, markerSizePx, mergeBars, nextBucketStart, niceTicks, normalizeCombo, optimalBarWidth, parseCombo, parseMessage, parseSessionSpec, parseTopic, plotStyleKeys, precisionForStep, readChartSettings, readSequence, registerChartType, registerIndicator, registerInterval, registeredChartTypes, registeredIndicators, registeredIntervals, resolveCrosshairStyle, resolveGridStyle, resolveInterval, resolvePlotMargins, resolveScaleStyle, roundToTick, rowTimeToUtcSeconds, rsi, rsiSeries, seriesStyleForLastPriceLevel, sessionFlags, sessionStartFlags, sessionStartIndices, snapToDevicePixel, sourceValue, sourceValues, startOfZonedDay, startOfZonedMonth, startOfZonedWeek, supertrend, supertrendSeries, tableOrigin, toBar, trueRange, tryResolveInterval, unregisterInterval, utcSecondsToIstDateString, utcSecondsToIstParts, utcSecondsToZonedDateString, utcSecondsToZonedParts, version, verticalGradient, watermarkRect, withAlpha, withBarCache, zoneOffsetSeconds, zonedDayIndex, zonedStringToUtcSeconds, zonedWallClockToUtcSeconds, zonedWeekIndex };
7284
+ export { ALT_PRESET, type AddSeriesOptions, type AggTick, type AxisChromeOptions, type AxisStyle, BUILTIN_COMMANDS, type Bar, BarCache, type BarCacheOptions, type BarCacheStats, type BarCacheStore, type BarUpdate, type BarsRequest, type Bucketing, BuySellButtons, type BuySellButtonsOptions, CHART_STATE_VERSION, type CachedBars, type CachedBarsRequest, type CalendarBucketing, type CalendarUnit, CandleBuilder, type CandleBuilderOptions, type CandleStyle, type CandleUpdate, type CanvasLineStyle, type CanvasOptions, Chart, type ChartEvent, type ChartEventOptions, type ChartOptions, type ChartSettingsColorPairInput, type ChartSettingsInput, type ChartSettingsState, type ChartSettingsTab, type ChartSettingsTabId, type ChartSettingsValue, type ChartSettingsValues, type ChartState, ChartTable, type ChartTableOptions, type ChartTheme, type ComparisonAlignment, type ComparisonChartHost, ComparisonController, type ComparisonControllerOptions, type ComparisonHandle, type ComparisonMode, type ComparisonOptions, type ComparisonPane, type ContextMenuEvent, type ContextMenuTarget, type ContextMenuTargetKind, type CrosshairMoveEvent, type CrosshairOptions, type CrosshairStyle, type CustomShortcut, DEFAULT_CANDLE_BUILDER_OPTIONS, DEFAULT_CANDLE_STYLE, DEFAULT_CHART_TABLE_OPTIONS, DEFAULT_HISTOGRAM_STYLE, DEFAULT_KEYMAP, DEFAULT_PRICE_SCALE_OPTIONS, DEFAULT_THEME, DEFAULT_TIMEZONE, DEFAULT_TIME_NAVIGATOR_OPTIONS, DEFAULT_TIME_SCALE_OPTIONS, DEFAULT_TRADING_COLORS, type DataFeed, DataLayer, type DecodedOrder, type DepthLevel, type DrawAnchor, type DrawItem, EventMarkers, FakeDataFeed, type FeedScheduler, type FillGradient, type FillPoint, type GridAxisStyle, type GridOptions, type GridStyle, type HistogramStyle, INDICATOR_LINE_STYLES, INDICATOR_PLOT_STYLES, INDICATOR_SOURCES, type IPrimitive, IST_OFFSET_SECONDS, type IndexedBar, type IndicatorAlertContext, type IndicatorAlertPayload, type IndicatorAlertSpec, type IndicatorApi, type IndicatorAttachContext, IndicatorBackground, type IndicatorCalcContext, type IndicatorDescriptor, type IndicatorDrawing, IndicatorDrawings, IndicatorFill, type IndicatorFillOptions, type IndicatorFillSpec, type IndicatorHost, type IndicatorInput, type IndicatorLevel, type IndicatorLevelContext, type IndicatorLineStyle, type IndicatorPlot, type IndicatorSettings, type IndicatorSource, type IndicatorState, type IndicatorStore, type IndicatorValues, type IntervalBucketing, type IntervalDescriptor, type IntervalParts, InvalidationLevel, type IstParts, type KeymapEntry, LINK_CROSSHAIR_ALPHA, type LateTickPolicy, type LegendField, type LegendStatusData, type LegendStatusLineOptions, type LegendStatusSource, type LegendTitleMode, type LegendValue, type LinePoint, type LinkChart, LinkCrosshair, type LinkDataLayer, LinkGroup, type LinkMemberOptions, type LinkMissingPolicy, type LinkOptions, type LogicalRange, LogoWatermark, type LogoWatermarkOptions, type LtpEvent, type MarkerPosition, type MarkerShape, type MarkerSize, type MarketDepth, type MarketPhase, type MarketPhaseFn, type MaybePromise, type ModeCheck, type OpenAlgoConfig, OpenAlgoDataFeed, type OpenAlgoLiveConfig, OpenAlgoLiveDataFeed, type OpenAlgoTradeConfig, OpenAlgoTradeFeed, type OpenAlgoWsConfig, OpenAlgoWsFeed, type OrderBookSnapshot, type OrderDecodeCode, type OrderDecodeIssue, type OrderDecodeResult, type OrderSide$1 as OrderSide, type OrderType$1 as OrderType, type OrderUpdateEvent, type OriginalTime, PRICE_LEVEL_KINDS, PRICE_SCALE_MODES, Pane, type PaneInvalidation, PaneLegend, type PaneLegendAction, type PaneLegendOptions, type PaneState, type PickHost, type PickKind, type PlaceOrder, type PlotMarginOptions, type PositionSide, type PriceAxisState, type PriceLevelInput, type PriceLevelKind, type PriceLevelQuote, type PriceLevelStyle, type PriceLevelValues, PriceLevels, type PriceLevelsOptions, PriceLine, type PriceLineOptions, type PriceRange, PriceScale, type PriceScaleId, type PriceScaleMode, type PriceScaleOptions, type PriceScaleState, type PrimitiveAnchor, type PrimitiveHit, type PrimitiveHost, type PrimitivePlacement, type PrimitiveRenderContext, type QuarantinedRow, type RawOrder, type RendererEntry, type ReplayChartHost, ReplayController, type ReplayOptions, type ReplayScheduler, ReplayShade, type ReplayShadeOptions, type ReplayState, type ReplayViewport, type ResolvedLinkOptions, type RestoreReport, SCALE_FONT_MAX, SCALE_FONT_MIN, type ScaleCanvasOptions, type SeriesApi, type SeriesDataItem, type SeriesId, type SeriesMarker, SeriesMarkers, type SeriesRenderContext, type SeriesState, type SeriesStyle, type SeriesType, type SessionSpec, type ShortcutListItem, ShortcutManager, type ShortcutManagerOptions, type ShortcutPreset, type ShortcutScope, type ShortcutTriggerEvent, type Size, type SocketFactory, type SocketLike, type SupertrendPoint, type TableCell, type TablePosition, TextWatermark, type TextWatermarkOptions, type Tick, TickBarAggregator, type TickBarOptions, type TickCountBucketing, type TickMarkType, type TickTimeframe, TimeNavigator, type TimeNavigatorAction, type TimeNavigatorOptions, TimeScale, type TimeScaleOp, type TimeScaleOptions, type TradeFeed, type TradeMarkerVariant, TradeMarkersPrimitive, type TradingColors, TradingController, type TradingHost, type TradingLineStyle, type TradingLineVariant, type TradingOrder, type TradingOrderSide, type TradingOrderType, type TradingPosition, type TradingSettings, type TradingSyncPayload, type TradingTrade, type UTCSeconds, UnknownIntervalError, type UnsubscribeFn, VERSION, type VolumeBucketing, type VolumeMode, type WatermarkPosition, type Whitespace, type WsClientWarning, type WsControlMessage, type WsMode, type WsState, type ZOrder, type ZonedParts, type ZonedPeriod, addComparison, alignToPrimary, applyChartSettings, atr, autoscaleRange, backoffDelayMs, barCacheKey, barCloseSec, beginPick, bestHit, bitmapSize, bucketStartOf, calendarPeriodFlags, chartSettingsSchema, clamp, classifyAuthAck, compactVolume, comparisonController, computePriceLevels, conflateBars, conflateItems, conflationGroupSize, createChart, createLinkGroup, darkTheme, dashPattern, decodeOrder, drawLabel, drawShape, effectiveMarkerPx, ema, emaSeries, epochMsToUtcSeconds, eventToCombo, followerIndex, followerRange, formatCombo, formatIstCrosshairLabel, formatIstDate, formatIstTime, formatIstTimeSeconds, formatSubscribe, formatUnsubscribe, formatZonedCrosshairLabel, formatZonedDate, formatZonedTime, formatZonedTimeSeconds, fromGradient, generateBars, getChartType, getIndicator, hasIndicator, inSessionAt, indicatorDefaults, indicatorStyleInputs, intervalParts, intervalToSeconds, isDailyInterval, isIntradayInterval, isKnownInterval, isNewIstDay, isNewZonedDay, isNewZonedMonth, isNewZonedPeriod, isNewZonedQuarter, isNewZonedWeek, isNewZonedYear, isRebasing, isReservedCombo, isSecondsInterval, isTickInterval, isTimeBucketed, isValidCombo, isValidTimezone, isWhitespace, istStringToUtcSeconds, lastPriceLevelFromSeriesStyle, lerp, lightTheme, mapHistoryResponse, mapOrder, mapOrderStatus, mapPosition, markerSizePx, mergeBars, nextBucketStart, niceTicks, normalizeCombo, optimalBarWidth, parseCombo, parseMessage, parseSessionSpec, parseTopic, plotStyleKeys, precisionForStep, readChartSettings, readSequence, registerChartType, registerIndicator, registerInterval, registeredChartTypes, registeredIndicators, registeredIntervals, resolveCrosshairStyle, resolveGridStyle, resolveInterval, resolvePlotMargins, resolveScaleStyle, roundToTick, rowTimeToUtcSeconds, rsi, rsiSeries, seriesStyleForLastPriceLevel, sessionFlags, sessionStartFlags, sessionStartIndices, snapToDevicePixel, sourceValue, sourceValues, startOfZonedDay, startOfZonedMonth, startOfZonedWeek, supertrend, supertrendSeries, tableOrigin, toBar, trueRange, tryResolveInterval, unregisterInterval, utcSecondsToIstDateString, utcSecondsToIstParts, utcSecondsToZonedDateString, utcSecondsToZonedParts, version, verticalGradient, watermarkRect, withAlpha, withBarCache, zoneOffsetSeconds, zonedDayIndex, zonedStringToUtcSeconds, zonedWallClockToUtcSeconds, zonedWeekIndex };