@trdrs/quickcharts 2.3.0 → 2.4.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/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @trdrs/quickcharts
2
2
 
3
+ ## 2.4.0
4
+
5
+ Bar replay that starts where the viewer chose, and a chart a host can hold in place, show without its price scale, give a crosshair of chosen parts, and morph between bar and close styles. No public name changes.
6
+
7
+ Bar replay starts where the viewer chose: a bar picked in view keeps its place as the bars after it leave the plot, and after a beat the view glides it to the replay's edge. A bar chosen out of view, from a date, comes to the edge at once.
8
+
9
+ `features.navigation` holds the view where the chart frames it. Off, no drag, flick, pinch or wheel moves the view, a scale takes no drag or double-tap, the zoom and scroll commands and their keys are unavailable, and the navigation cluster is not drawn, while `goLive`, `reset` and the crosshair still work. It is on unless the host turns it off.
10
+
11
+ `ui.priceScale` shows the price scale at the plot's right. Hidden, the bars span the chart's whole width, and the last price draws no line across the plot and no label. It is shown unless the host hides it.
12
+
13
+ `ui.crosshair` chooses what the crosshair draws: `false` draws neither its lines nor its labels, and a `CrosshairUi` object hides the horizontal line (`horizontal: false`) or the time and the price on the scales (`labels: false`), or draws the lines solid (`solid: true`). The crosshair still follows the pointer, and `sync.onCrosshair` still reports it.
14
+
15
+ `transitions.style` morphs a change between a style drawn from whole bars and one drawn from closes over half a second: each bar's open, high and low slide into its close as the line comes in through the closes, and back out of it as the line goes. It is off unless the host turns it on, and under a reduced-motion preference the change is made at once.
16
+
3
17
  ## 2.3.0
4
18
 
5
19
  The symbol naming rule for hosts that name markets in views of their own. No public name changes.
package/README.md CHANGED
@@ -995,6 +995,13 @@ zooms the time and leaves the price where it stands. A double-tap on the price s
995
995
  timeframe, and `goLive()` frame the bars again; `goLive()` frames them from the tap, and the price
996
996
  follows the window home as the time glides. It is off unless you turn it on.
997
997
 
998
+ With `features: { navigation: false }` the chart holds its view: no drag, flick, pinch or wheel moves
999
+ it, a scale takes no drag or double-tap, and the zoom and scroll commands and their keys are
1000
+ unavailable, so the navigation cluster is not drawn whatever `ui.navigation` says. The view stays
1001
+ where the chart frames it: on the live edge, at a range preset or at a window you set. `goLive()`
1002
+ and `reset()` still frame it, and the crosshair still follows a pointer or a held finger. It is on
1003
+ unless you turn it off.
1004
+
998
1005
  ### Chart styles
999
1006
 
1000
1007
  `candles`, `hollow`, `bars`, `line`, `area`, `baseline`, `stepline`, listed as `CHART_STYLES`. A
@@ -1029,6 +1036,21 @@ preference that names a style you left out opens on the first style in `styles`,
1029
1036
  restores. An empty list, an id outside `CHART_STYLES`, a repeated id and a `style` outside the list
1030
1037
  are setup errors that `createChart` throws.
1031
1038
 
1039
+ With `transitions: { style: true }` a change between a style drawn from whole bars (candles, hollow
1040
+ candles, bars) and one drawn from closes (line, area, baseline, step line) morphs over half a second,
1041
+ easing in and out: each bar's open, high and low slide into its close as the line comes in through
1042
+ the closes, and back out of it as the line goes. A change within either family is made at once, and
1043
+ so is every change under a reduced-motion preference. It is off unless you turn it on.
1044
+
1045
+ ```ts
1046
+ import { createChart, type ChartDatafeed, type TransitionOptions } from '@trdrs/quickcharts'
1047
+
1048
+ declare const datafeed: ChartDatafeed
1049
+
1050
+ const transitions: TransitionOptions = { style: true }
1051
+ createChart({ container, datafeed, transitions })
1052
+ ```
1053
+
1032
1054
  ### Offered timeframes
1033
1055
 
1034
1056
  By default a chart offers the 26 presets (`TIMEFRAME_PRESETS`) and lets the viewer compose custom
@@ -1873,6 +1895,9 @@ void withMarks
1873
1895
 
1874
1896
  - **Scale modes.** `chart.setScaleMode('log' | 'percent' | 'indexed' | 'normal')`, persisted
1875
1897
  through `ChartStorage`, and reachable as commands.
1898
+ - **The price scale** (shown by default; `ui: { priceScale: false }` hides it). Without it the bars
1899
+ span the chart's whole width, and the last price draws no line across the plot and no label, since
1900
+ nothing on screen points at one.
1876
1901
  - **Session bands** (on by default; `features.sessions: false` opts out). Every stretch outside
1877
1902
  regular hours shades under the bars, driven by the session model built from the symbol's own
1878
1903
  `session`, `sessionHolidays`, `corrections` and `subsessions` in `resolve()`'s answer (see
@@ -2572,6 +2597,23 @@ pointing; the crosshair SYNC lane is untouched either way. The reading also give
2572
2597
  the identity first, then holds the close and the change alone rather than covering the candles it
2573
2598
  describes.
2574
2599
 
2600
+ `ui.crosshair` chooses what the crosshair draws while it follows the pointer. `false` draws neither
2601
+ its lines nor its labels. A `CrosshairUi` object hides some of its parts: `horizontal: false` leaves
2602
+ one vertical line through the bar under the pointer, the way a finger reads a small chart, and
2603
+ `labels: false` writes neither the time nor the price on the scales. `solid: true` draws the lines
2604
+ solid; they are dashed unless you name it. `sync.onCrosshair` reports the crosshair whatever it
2605
+ draws.
2606
+
2607
+ ```ts
2608
+ import { createChart, type ChartDatafeed, type CrosshairUi } from '@trdrs/quickcharts'
2609
+
2610
+ declare const datafeed: ChartDatafeed
2611
+
2612
+ // One solid vertical line through the bar under the pointer, with nothing written on the scales.
2613
+ const crosshair: CrosshairUi = { horizontal: false, labels: false, solid: true }
2614
+ createChart({ container, datafeed, ui: { crosshair } })
2615
+ ```
2616
+
2575
2617
  ## Multi-chart layouts
2576
2618
 
2577
2619
  A widget always has a layout, reached as `widget.layout`, and it tiles N charts over the widget root
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.3.0",
2
+ "version": "2.4.0",
3
3
  "styles": [
4
4
  {
5
5
  "id": "candles",
@@ -2055,6 +2055,10 @@
2055
2055
  "id": "history",
2056
2056
  "default": true
2057
2057
  },
2058
+ {
2059
+ "id": "navigation",
2060
+ "default": true
2061
+ },
2058
2062
  {
2059
2063
  "id": "replay",
2060
2064
  "default": true
@@ -2073,6 +2077,22 @@
2073
2077
  "id": "contextMenu",
2074
2078
  "default": true
2075
2079
  },
2080
+ {
2081
+ "id": "crosshair",
2082
+ "default": true
2083
+ },
2084
+ {
2085
+ "id": "crosshair.horizontal",
2086
+ "default": true
2087
+ },
2088
+ {
2089
+ "id": "crosshair.labels",
2090
+ "default": true
2091
+ },
2092
+ {
2093
+ "id": "crosshair.solid",
2094
+ "default": false
2095
+ },
2076
2096
  {
2077
2097
  "id": "drawingFavorites",
2078
2098
  "default": true
@@ -2105,6 +2125,10 @@
2105
2125
  "id": "navigation",
2106
2126
  "default": true
2107
2127
  },
2128
+ {
2129
+ "id": "priceScale",
2130
+ "default": true
2131
+ },
2108
2132
  {
2109
2133
  "id": "replayTransport",
2110
2134
  "default": true
package/dist/index.d.ts CHANGED
@@ -3758,6 +3758,9 @@ interface AttachDrawingsOptions {
3758
3758
  /** This chart's identity for drawings bound to one chart (sync off). Absent, every drawing is
3759
3759
  * shared and the sync switch has nothing to bind to. */
3760
3760
  chartId?: string;
3761
+ /** Whether the chart's view moves by hand. A drawing gesture holds the chart's pan and zoom while
3762
+ * it runs, and gives them back as it ends only to a chart that has them. Default true. */
3763
+ navigable?: boolean;
3761
3764
  /** Bar reader for data-driven drawings (a restored anchored VWAP still computes). */
3762
3765
  bars?: () => readonly FeedBar[];
3763
3766
  /** Where glyph artwork comes from, from the host's drawing asset port. Per layer, so two charts
@@ -4313,6 +4316,11 @@ interface FeatureConfig {
4313
4316
  * what a touch surface does. The crosshair SYNC lane is untouched: a host mirroring a moment
4314
4317
  * across a layout still gets its events. */
4315
4318
  crosshair?: boolean;
4319
+ /** Moving the view by hand: dragging, flicking and pinching the plot, the wheel, dragging and
4320
+ * double-tapping the scales, and the zoom and scroll commands with their keys. Off holds the view
4321
+ * where the chart frames it, on the live edge, a range preset or a window the host sets, while the
4322
+ * crosshair still follows a pointer or a held finger. */
4323
+ navigation?: boolean;
4316
4324
  }
4317
4325
  /** ── UI ──────────────────────────────────────────────────────────────────────────────────────
4318
4326
  * Which of the chart's own controls render. Every control defaults present: a host that passes
@@ -4353,6 +4361,23 @@ interface UiConfig {
4353
4361
  /** The full indicator settings dialog. Off, the legend's gear opens the inputs-only editor, and
4354
4362
  * `chart.indicators.update` still changes an indicator. */
4355
4363
  indicatorSettings?: boolean;
4364
+ /** The price scale at the plot's right. Off, the bars span the chart's whole width, and the last
4365
+ * price's line, which points at its label on the scale, goes with it. */
4366
+ priceScale?: boolean;
4367
+ /** The crosshair's lines and the labels it writes on the scales. `false` draws none; an object
4368
+ * hides some of them or draws them solid. The crosshair still follows the pointer, and
4369
+ * `sync.onCrosshair` still reports it. */
4370
+ crosshair?: boolean | CrosshairUi;
4371
+ }
4372
+ /** The crosshair's own parts. */
4373
+ interface CrosshairUi {
4374
+ /** The horizontal line through the price under the pointer. Without it the crosshair is one
4375
+ * vertical line through the bar under the pointer, the way a finger reads a small chart. */
4376
+ horizontal?: boolean;
4377
+ /** The time and the price the crosshair writes on the scales. */
4378
+ labels?: boolean;
4379
+ /** Solid lines rather than dashed ones. */
4380
+ solid?: boolean;
4356
4381
  }
4357
4382
  /** The top bar's own controls. */
4358
4383
  interface TopBarUi {
@@ -4628,6 +4653,15 @@ interface TouchOptions {
4628
4653
  * the price scale frames the bars on screen. */
4629
4654
  freePan?: boolean;
4630
4655
  }
4656
+ /** Changes the chart animates rather than makes at once. Each is off unless the host turns it on,
4657
+ * and under a reduced-motion preference each change is made at once. */
4658
+ interface TransitionOptions {
4659
+ /** A change between a style drawn from whole bars (candles, hollow candles, bars) and one drawn
4660
+ * from closes (line, area, baseline, step line) morphs over half a second, easing in and out:
4661
+ * each bar's open, high and low slide into its close as the line comes in through the closes,
4662
+ * and back. */
4663
+ style?: boolean;
4664
+ }
4631
4665
  /** Everything needed to construct a widget. `container` and `datafeed` are the two hard
4632
4666
  * requirements; every other field has a working default. */
4633
4667
  interface ChartWidgetOptions extends MarkPainterHooks {
@@ -4875,6 +4909,8 @@ interface ChartWidgetOptions extends MarkPainterHooks {
4875
4909
  marks?: boolean;
4876
4910
  /** How the chart answers a finger, beyond what every chart does. */
4877
4911
  touch?: TouchOptions;
4912
+ /** Changes the chart animates rather than makes at once. */
4913
+ transitions?: TransitionOptions;
4878
4914
  }
4879
4915
 
4880
4916
  /** Host-owned activity, displayed with indicators but never saved as an indicator or plotted. */
@@ -5594,4 +5630,4 @@ declare function mountTimeframePicker(options: TimeframePickerOptions & {
5594
5630
  container: HTMLElement;
5595
5631
  }): MountedTimeframePicker;
5596
5632
 
5597
- export { ARRANGEMENTS, type AccessPolicy, type ActiveSubsession, type Arrangement, type AttachDrawingsOptions, BRAND_DOWN, BRAND_UP, BUILT_IN_INDICATORS, BUILT_IN_LOCALES, type BuiltInIndicator, CHART_ICON_IDS, CHART_STYLES, COLLAPSED_H, COMPARE_COLORS, type CanvasTheme, type Capabilities, ChartBody, type ChartChrome, type ChartCompareApi, type ChartCustomLocale, ChartDatafeed, type ChartDictionary, type ChartDrawingsApi, type ChartEvents, type ChartExtension, type ChartExtensionChart, type ChartExtensionCommand, type ChartExtensionContext, type ChartExtensionHandle, type ChartExtensionIcon, type ChartExtensionIconPath, type ChartExtensionMenuBuilder, type ChartExtensionMenuContext, type ChartExtensionMenuItem, type ChartExtensionPane, type ChartExtensionPriceLine, type ChartExtensionReplayState, type ChartExtensionScope, type ChartExtensionSeries, type ChartHandle, type ChartHistoryApi, type ChartI18n, type ChartI18nOptions, type ChartIconArtwork, type ChartIconContext, type ChartIconDiagnostic, type ChartIconFactory, type ChartIconFailure, type ChartIconId, type ChartIcons, type ChartLegendRow, type ChartLocale, type ChartLocaleCode, type ChartMenuAction, type ChartMenuContext, type ChartMenuIcon, type ChartMenuRow, ChartMessageKey, ChartMeta, type ChartOverrides, type ChartPaneSyncApi, type ChartPreferences, type ChartPriceFormatter, type ChartReplayApi, ChartSaveLoadAdapter, type ChartSaveLoadApi, type ChartStorage, type ChartStyleId, type ChartTimezone, type ChartTranslate, type ChartWidget, type ChartWidgetOptions, type CommandRegistry, type CommandResult, type CommandScope, type CommandSpec, type CompareDeps, type CompareEntry, type CompareHandle, type ComparePlacement, type CompareSnapshot, type CompareSymbol, type ContextMenuHandle, type CustomThemes, DEFAULT_OVERRIDES, DEFAULT_SUBSESSION, DEFAULT_TIMEZONE, type DataSourceMarkPainter, DataStatus, type DrawingApplyOutcome, DrawingAssetPort, DrawingContextKind, type DrawingDocumentApi, type DrawingDocumentPort, type DrawingDocumentRefusal, type DrawingEvent, type DrawingOwner, DrawingPreferences, type DrawingPresets, type DrawingReadOutcome, type DrawingRejection, type DrawingRejectionReason, DrawingResourceContext, DrawingsBody, type DrawingsEvents, type DrawingsHandle, DrawingsMeta, type DrawingsWorkflow, EXCHANGE_TIMEZONE, type FeatureConfig, FeedBar, type FetchLike, FillBetweenPrimitive, type FullscreenApi, type FullscreenOptions, type HistoryChange, type HistoryEventState, IMAGE_HEADER_H, type ImageApi, type ImageEvent, type ImageHeader, type ImageOptions, type ImageTextRun, type ImageTile, type IndicatorCategory, type IndicatorDefinition, type IndicatorEvent, type IndicatorFill, type IndicatorInstance, type IndicatorLevel, type IndicatorManifest, type IndicatorOverrides, type IndicatorPickerAction, type IndicatorPickerBuiltInState, type IndicatorPickerCollection, type IndicatorPickerItem, type IndicatorPickerSource, type IndicatorPlot, type IndicatorPlots, type IndicatorsApi, type IndicatorsRenderer, LAYOUT_MENU_ROWS, type LayoutApi, LayoutBody, type LayoutEvent, LayoutMeta, type LayoutOptions, type LayoutSaveLoadApi, type LayoutSyncFlags, type LegendUi, type LogicalRange, MAIN_MIN_H, MIN_BAR_SPACING, MIRRORED_ICONS, type ManifestFill, type ManifestInput, type ManifestLevel, type ManifestPlot, type ManifestRun, type MarkPainters, type MarketStatus, type MatchSegment, type MountedSymbolSearch, type MountedTimeframePicker, type OpenResource, PRICE_SCALE_MODE, type PaneOp, type PanePlan, type PaneRect, type PaneState, type PartialOverrides, type PlacedImage, type PlotArea, type PlotPoint, PriceFormat, PriceFormatter, RANGE_PRESETS, RECENT_SYMBOLS_CAP, REPLAY_SPEEDS, type RangeFrameTarget, type RangePreset, type RangeSpan, type RecentsPort, type ReplayEventState, type ReplaySpeed, type ResourceLoadOutcome, ResourceRef, type ResourceRemoveOutcome, type ResourceSaveOutcome, ResourceStore, SCALE_MODES, SCALE_MODE_OPTIONS, SCROLL_STEP_BARS, SESSION_DOT, SESSION_LABEL, SESSION_STATE_TITLE, SPREAD_OPERATORS, type SaveConflictInfo, type ScaleMode, type SearchClassFilter, SearchClassNode, type SearchController, type SearchControllerOptions, type SearchDisplayOptions, type SearchScope, type SearchState, type SelectedDrawing, type SemanticTheme, type SessionBandsPrimitive, type SessionModel, type SessionSchedule, type SessionSegment, type SessionSource, type SessionState, type SessionTimeline, type SettingsMenuUi, ShadePrimitive, type SpreadOperator, type SpreadOperatorId, type SubsessionSource, SymbolInfo, type SymbolMarkPainter, type SymbolPriceFormat, SymbolRow, type SymbolSearchCache, type SymbolSearchHandle, type SymbolSearchOptions, THEME_ROLES, TIMEFRAME_MAX, TIMEFRAME_PRESETS, TIMEFRAME_PRESET_TOKENS, TIMEFRAME_UNITS, TIMEFRAME_UNIT_NAME, TIMEFRAME_UNIT_SECONDS, TIMEZONES, TOP_BAR_SLOTS, TemplateBody, TemplateMeta, type TextEditSession, type ThemeChangeListener, type ThemeController, type ThemeControllerOptions, type ThemeDeclaration, type ThemeDiagnostic, type ThemeDiagnosticCode, type ThemeMode, type ThemeOptions, type ThemeRole, type ThemeRoleFamily, type ThemeRoleId, type ThemeRoleKind, type ThemeRootStyle, type TimeRange, type Timeframe, type TimeframeGroup, type TimeframePickerHandle, type TimeframePickerOptions, type TimeframeRestrictions, type TimeframeUnit, type TimezoneRow, type ToolbarButton, type ToolbarButtonOptions, type ToolbarButtonState, type TopBarSlot, type TopBarUi, type TouchOptions, type UdfDatafeedOptions, type UdfSymbolResponse, type UiConfig, type VenueMarkPainter, type WidgetEvents, ZOOM_FACTOR, type ZoneClock, allowedTimeframes, applyBar, applyPlotOverrides, arrangementName, arrangementOf, attachCompare, attachDrawings, attachIndicators, autoTimeframeFor, buildManifestPlots, canvasTheme, canvasToBlob, chartContextMenu, chartDictionaries, chartIconArtwork, clipToWindow, coerceChartStyle, coerceScaleMode, compareTimeframes, composeFormingBar, composeImage, createChart, createChartI18n, createSearchController, createSessionBands, createSymbolSearchCache, createThemeController, createUdfDatafeed, effectivePlotColor, exchangeTimezoneText, formatClock, formatDuration, formatTimeframe, frameRange, hasExtendedHours, imageFileName, imageHeaderRuns, imageLayoutHeaderRuns, imageTileRuns, indicatorHidden, isChartStyle, isCollapsed, isIntradayTimeframe, isSymbolPair, isTimezoneChoice, latestPlotValue, layerOverrides, looksLikeSpread, makeCrosshairTimeFormatter, makeTickMarkFormatter, manifestInputDefaults, marketStatus, marketStatusFor, marketStatusText, marketStatusTitle, matchSegments, memoryChartStorage, memoryRecents, mergeOverrides, mountContextMenu, mountSymbolSearch, mountTimeframePicker, nextSessionChange, openInputsEditor, openSymbolSearch, openTimeframePicker, overriddenManifest, parseSessionModel, parseTimeframe, pickCompareColor, placeableByWidget, planPaneOp, promoteRecent, rangeAvailable, rangePresetTip, rangeSpanSeconds, resolveDisplayTimezone, resolveInitialTf, scrolledPosition, seriesTargetOf, sessionStateAt, sessionTimeline, spreadExpression, spreadSearchQuery, subTimeframesFor, subsessionBarFilter, tfSeconds, tfToUdfResolution, timeframeAllowed, timeframeGroupUnit, timeframeLabel, timeframeOrder, timeframeSeconds, timezoneCity, timezoneLabel, timezoneListing, toolName, tzOffsetLabel, tzOffsetMinutes, udfPriceFormat, udfResolutionToTf, udfSymbolInfo, valueShaped, withFoldedHistory, zoneClock, zoomedBarSpacing };
5633
+ export { ARRANGEMENTS, type AccessPolicy, type ActiveSubsession, type Arrangement, type AttachDrawingsOptions, BRAND_DOWN, BRAND_UP, BUILT_IN_INDICATORS, BUILT_IN_LOCALES, type BuiltInIndicator, CHART_ICON_IDS, CHART_STYLES, COLLAPSED_H, COMPARE_COLORS, type CanvasTheme, type Capabilities, ChartBody, type ChartChrome, type ChartCompareApi, type ChartCustomLocale, ChartDatafeed, type ChartDictionary, type ChartDrawingsApi, type ChartEvents, type ChartExtension, type ChartExtensionChart, type ChartExtensionCommand, type ChartExtensionContext, type ChartExtensionHandle, type ChartExtensionIcon, type ChartExtensionIconPath, type ChartExtensionMenuBuilder, type ChartExtensionMenuContext, type ChartExtensionMenuItem, type ChartExtensionPane, type ChartExtensionPriceLine, type ChartExtensionReplayState, type ChartExtensionScope, type ChartExtensionSeries, type ChartHandle, type ChartHistoryApi, type ChartI18n, type ChartI18nOptions, type ChartIconArtwork, type ChartIconContext, type ChartIconDiagnostic, type ChartIconFactory, type ChartIconFailure, type ChartIconId, type ChartIcons, type ChartLegendRow, type ChartLocale, type ChartLocaleCode, type ChartMenuAction, type ChartMenuContext, type ChartMenuIcon, type ChartMenuRow, ChartMessageKey, ChartMeta, type ChartOverrides, type ChartPaneSyncApi, type ChartPreferences, type ChartPriceFormatter, type ChartReplayApi, ChartSaveLoadAdapter, type ChartSaveLoadApi, type ChartStorage, type ChartStyleId, type ChartTimezone, type ChartTranslate, type ChartWidget, type ChartWidgetOptions, type CommandRegistry, type CommandResult, type CommandScope, type CommandSpec, type CompareDeps, type CompareEntry, type CompareHandle, type ComparePlacement, type CompareSnapshot, type CompareSymbol, type ContextMenuHandle, type CrosshairUi, type CustomThemes, DEFAULT_OVERRIDES, DEFAULT_SUBSESSION, DEFAULT_TIMEZONE, type DataSourceMarkPainter, DataStatus, type DrawingApplyOutcome, DrawingAssetPort, DrawingContextKind, type DrawingDocumentApi, type DrawingDocumentPort, type DrawingDocumentRefusal, type DrawingEvent, type DrawingOwner, DrawingPreferences, type DrawingPresets, type DrawingReadOutcome, type DrawingRejection, type DrawingRejectionReason, DrawingResourceContext, DrawingsBody, type DrawingsEvents, type DrawingsHandle, DrawingsMeta, type DrawingsWorkflow, EXCHANGE_TIMEZONE, type FeatureConfig, FeedBar, type FetchLike, FillBetweenPrimitive, type FullscreenApi, type FullscreenOptions, type HistoryChange, type HistoryEventState, IMAGE_HEADER_H, type ImageApi, type ImageEvent, type ImageHeader, type ImageOptions, type ImageTextRun, type ImageTile, type IndicatorCategory, type IndicatorDefinition, type IndicatorEvent, type IndicatorFill, type IndicatorInstance, type IndicatorLevel, type IndicatorManifest, type IndicatorOverrides, type IndicatorPickerAction, type IndicatorPickerBuiltInState, type IndicatorPickerCollection, type IndicatorPickerItem, type IndicatorPickerSource, type IndicatorPlot, type IndicatorPlots, type IndicatorsApi, type IndicatorsRenderer, LAYOUT_MENU_ROWS, type LayoutApi, LayoutBody, type LayoutEvent, LayoutMeta, type LayoutOptions, type LayoutSaveLoadApi, type LayoutSyncFlags, type LegendUi, type LogicalRange, MAIN_MIN_H, MIN_BAR_SPACING, MIRRORED_ICONS, type ManifestFill, type ManifestInput, type ManifestLevel, type ManifestPlot, type ManifestRun, type MarkPainters, type MarketStatus, type MatchSegment, type MountedSymbolSearch, type MountedTimeframePicker, type OpenResource, PRICE_SCALE_MODE, type PaneOp, type PanePlan, type PaneRect, type PaneState, type PartialOverrides, type PlacedImage, type PlotArea, type PlotPoint, PriceFormat, PriceFormatter, RANGE_PRESETS, RECENT_SYMBOLS_CAP, REPLAY_SPEEDS, type RangeFrameTarget, type RangePreset, type RangeSpan, type RecentsPort, type ReplayEventState, type ReplaySpeed, type ResourceLoadOutcome, ResourceRef, type ResourceRemoveOutcome, type ResourceSaveOutcome, ResourceStore, SCALE_MODES, SCALE_MODE_OPTIONS, SCROLL_STEP_BARS, SESSION_DOT, SESSION_LABEL, SESSION_STATE_TITLE, SPREAD_OPERATORS, type SaveConflictInfo, type ScaleMode, type SearchClassFilter, SearchClassNode, type SearchController, type SearchControllerOptions, type SearchDisplayOptions, type SearchScope, type SearchState, type SelectedDrawing, type SemanticTheme, type SessionBandsPrimitive, type SessionModel, type SessionSchedule, type SessionSegment, type SessionSource, type SessionState, type SessionTimeline, type SettingsMenuUi, ShadePrimitive, type SpreadOperator, type SpreadOperatorId, type SubsessionSource, SymbolInfo, type SymbolMarkPainter, type SymbolPriceFormat, SymbolRow, type SymbolSearchCache, type SymbolSearchHandle, type SymbolSearchOptions, THEME_ROLES, TIMEFRAME_MAX, TIMEFRAME_PRESETS, TIMEFRAME_PRESET_TOKENS, TIMEFRAME_UNITS, TIMEFRAME_UNIT_NAME, TIMEFRAME_UNIT_SECONDS, TIMEZONES, TOP_BAR_SLOTS, TemplateBody, TemplateMeta, type TextEditSession, type ThemeChangeListener, type ThemeController, type ThemeControllerOptions, type ThemeDeclaration, type ThemeDiagnostic, type ThemeDiagnosticCode, type ThemeMode, type ThemeOptions, type ThemeRole, type ThemeRoleFamily, type ThemeRoleId, type ThemeRoleKind, type ThemeRootStyle, type TimeRange, type Timeframe, type TimeframeGroup, type TimeframePickerHandle, type TimeframePickerOptions, type TimeframeRestrictions, type TimeframeUnit, type TimezoneRow, type ToolbarButton, type ToolbarButtonOptions, type ToolbarButtonState, type TopBarSlot, type TopBarUi, type TouchOptions, type TransitionOptions, type UdfDatafeedOptions, type UdfSymbolResponse, type UiConfig, type VenueMarkPainter, type WidgetEvents, ZOOM_FACTOR, type ZoneClock, allowedTimeframes, applyBar, applyPlotOverrides, arrangementName, arrangementOf, attachCompare, attachDrawings, attachIndicators, autoTimeframeFor, buildManifestPlots, canvasTheme, canvasToBlob, chartContextMenu, chartDictionaries, chartIconArtwork, clipToWindow, coerceChartStyle, coerceScaleMode, compareTimeframes, composeFormingBar, composeImage, createChart, createChartI18n, createSearchController, createSessionBands, createSymbolSearchCache, createThemeController, createUdfDatafeed, effectivePlotColor, exchangeTimezoneText, formatClock, formatDuration, formatTimeframe, frameRange, hasExtendedHours, imageFileName, imageHeaderRuns, imageLayoutHeaderRuns, imageTileRuns, indicatorHidden, isChartStyle, isCollapsed, isIntradayTimeframe, isSymbolPair, isTimezoneChoice, latestPlotValue, layerOverrides, looksLikeSpread, makeCrosshairTimeFormatter, makeTickMarkFormatter, manifestInputDefaults, marketStatus, marketStatusFor, marketStatusText, marketStatusTitle, matchSegments, memoryChartStorage, memoryRecents, mergeOverrides, mountContextMenu, mountSymbolSearch, mountTimeframePicker, nextSessionChange, openInputsEditor, openSymbolSearch, openTimeframePicker, overriddenManifest, parseSessionModel, parseTimeframe, pickCompareColor, placeableByWidget, planPaneOp, promoteRecent, rangeAvailable, rangePresetTip, rangeSpanSeconds, resolveDisplayTimezone, resolveInitialTf, scrolledPosition, seriesTargetOf, sessionStateAt, sessionTimeline, spreadExpression, spreadSearchQuery, subTimeframesFor, subsessionBarFilter, tfSeconds, tfToUdfResolution, timeframeAllowed, timeframeGroupUnit, timeframeLabel, timeframeOrder, timeframeSeconds, timezoneCity, timezoneLabel, timezoneListing, toolName, tzOffsetLabel, tzOffsetMinutes, udfPriceFormat, udfResolutionToTf, udfSymbolInfo, valueShaped, withFoldedHistory, zoneClock, zoomedBarSpacing };