@abdullahjaswal/tickyr-charts-solid 0.1.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.
Files changed (217) hide show
  1. package/LICENSE +14 -0
  2. package/README.md +43 -0
  3. package/dist/animation/animator.d.ts +52 -0
  4. package/dist/animation/bar-entry.d.ts +44 -0
  5. package/dist/animation/bar-update.d.ts +38 -0
  6. package/dist/animation/easings.d.ts +22 -0
  7. package/dist/animation/index.d.ts +4 -0
  8. package/dist/charts/bar-chart-controller.d.ts +98 -0
  9. package/dist/charts/bar-chart-helpers.d.ts +334 -0
  10. package/dist/charts/candle-chart-controller.d.ts +353 -0
  11. package/dist/charts/candle-chart-helpers.d.ts +781 -0
  12. package/dist/charts/depth-chart-controller.d.ts +84 -0
  13. package/dist/charts/depth-chart-helpers.d.ts +185 -0
  14. package/dist/charts/depth-series.d.ts +41 -0
  15. package/dist/charts/heatmap-chart-controller.d.ts +78 -0
  16. package/dist/charts/heatmap-chart-helpers.d.ts +174 -0
  17. package/dist/charts/heatmap-color-compute.d.ts +11 -0
  18. package/dist/charts/hierarchy.d.ts +49 -0
  19. package/dist/charts/histogram-binning.d.ts +33 -0
  20. package/dist/charts/histogram-chart-controller.d.ts +82 -0
  21. package/dist/charts/histogram-chart-helpers.d.ts +199 -0
  22. package/dist/charts/kagi-chart-controller.d.ts +154 -0
  23. package/dist/charts/line-chart-controller.d.ts +209 -0
  24. package/dist/charts/line-chart-helpers.d.ts +606 -0
  25. package/dist/charts/mark-buffers.d.ts +105 -0
  26. package/dist/charts/pie-chart-controller.d.ts +83 -0
  27. package/dist/charts/pie-chart-helpers.d.ts +155 -0
  28. package/dist/charts/pie-slice-compute.d.ts +44 -0
  29. package/dist/charts/pnf-chart-controller.d.ts +153 -0
  30. package/dist/charts/renko-chart-controller.d.ts +151 -0
  31. package/dist/charts/sankey-chart-controller.d.ts +176 -0
  32. package/dist/charts/sankey-layout.d.ts +64 -0
  33. package/dist/charts/scatter-chart-controller.d.ts +90 -0
  34. package/dist/charts/scatter-chart-helpers.d.ts +257 -0
  35. package/dist/charts/scatter-density.d.ts +5 -0
  36. package/dist/charts/scatter-regression.d.ts +27 -0
  37. package/dist/charts/sunburst-chart-controller.d.ts +107 -0
  38. package/dist/charts/sunburst-chart-helpers.d.ts +143 -0
  39. package/dist/charts/sunburst-layout.d.ts +40 -0
  40. package/dist/charts/time-off-algorithms.d.ts +53 -0
  41. package/dist/charts/treemap-chart-controller.d.ts +103 -0
  42. package/dist/charts/treemap-chart-helpers.d.ts +163 -0
  43. package/dist/charts/treemap-layout.d.ts +29 -0
  44. package/dist/charts/types.d.ts +38 -0
  45. package/dist/clock/clock.d.ts +10 -0
  46. package/dist/composition/chart-group-state.d.ts +46 -0
  47. package/dist/composition/index.d.ts +1 -0
  48. package/dist/composition/pane.d.ts +33 -0
  49. package/dist/domain/concat.d.ts +18 -0
  50. package/dist/domain/drawings.d.ts +44 -0
  51. package/dist/domain/heikin-ashi.d.ts +9 -0
  52. package/dist/domain/index.d.ts +7 -0
  53. package/dist/domain/ingestion.d.ts +7 -0
  54. package/dist/domain/live-state.d.ts +12 -0
  55. package/dist/domain/markers.d.ts +38 -0
  56. package/dist/domain/series.d.ts +22 -0
  57. package/dist/domain/values.d.ts +32 -0
  58. package/dist/engine/aggregation.d.ts +15 -0
  59. package/dist/engine/downsampling.d.ts +3 -0
  60. package/dist/engine/events.d.ts +14 -0
  61. package/dist/engine/index.d.ts +13 -0
  62. package/dist/engine/indicators.d.ts +37 -0
  63. package/dist/engine/markets.d.ts +8 -0
  64. package/dist/engine/module.d.ts +8 -0
  65. package/dist/engine/quadtree.d.ts +18 -0
  66. package/dist/engine/session.d.ts +11 -0
  67. package/dist/engine/signals.d.ts +52 -0
  68. package/dist/engine/streaming.d.ts +20 -0
  69. package/dist/engine/time-axis.d.ts +16 -0
  70. package/dist/engine/version.d.ts +16 -0
  71. package/dist/engine/views.d.ts +3 -0
  72. package/dist/index.js +17026 -0
  73. package/dist/interaction/keyboard.d.ts +16 -0
  74. package/dist/interaction/touch.d.ts +27 -0
  75. package/dist/perf/adaptive-complexity.d.ts +45 -0
  76. package/dist/perf/memory-pressure.d.ts +16 -0
  77. package/dist/perf/offscreen-canvas-host.d.ts +32 -0
  78. package/dist/perf/offscreen-canvas.d.ts +50 -0
  79. package/dist/perf/offscreen-canvas.worker.d.ts +1 -0
  80. package/dist/perf/shared-array-buffer.d.ts +10 -0
  81. package/dist/perf/visibility.d.ts +39 -0
  82. package/dist/perf/webgl-renderer.d.ts +24 -0
  83. package/dist/perf/wire-memory-pressure.d.ts +2 -0
  84. package/dist/personalization/accessibility.d.ts +16 -0
  85. package/dist/personalization/axes/animation.d.ts +33 -0
  86. package/dist/personalization/axes/area-baseline.d.ts +8 -0
  87. package/dist/personalization/axes/axis-labels.d.ts +3 -0
  88. package/dist/personalization/axes/bin-algorithm.d.ts +3 -0
  89. package/dist/personalization/axes/box-sizing.d.ts +22 -0
  90. package/dist/personalization/axes/cell-shape.d.ts +3 -0
  91. package/dist/personalization/axes/curve-type.d.ts +11 -0
  92. package/dist/personalization/axes/density.d.ts +4 -0
  93. package/dist/personalization/axes/depth-fill-type.d.ts +3 -0
  94. package/dist/personalization/axes/depth-limit.d.ts +2 -0
  95. package/dist/personalization/axes/glow.d.ts +21 -0
  96. package/dist/personalization/axes/heatmap-color-scale.d.ts +31 -0
  97. package/dist/personalization/axes/histogram-overlay.d.ts +18 -0
  98. package/dist/personalization/axes/indicator-pane-spec.d.ts +85 -0
  99. package/dist/personalization/axes/label-behavior.d.ts +3 -0
  100. package/dist/personalization/axes/label-content.d.ts +17 -0
  101. package/dist/personalization/axes/label-placement.d.ts +3 -0
  102. package/dist/personalization/axes/label-rotation.d.ts +3 -0
  103. package/dist/personalization/axes/level-highlight.d.ts +14 -0
  104. package/dist/personalization/axes/line-dash.d.ts +2 -0
  105. package/dist/personalization/axes/mid-line.d.ts +14 -0
  106. package/dist/personalization/axes/node-alignment.d.ts +3 -0
  107. package/dist/personalization/axes/null-behavior.d.ts +3 -0
  108. package/dist/personalization/axes/number-format.d.ts +18 -0
  109. package/dist/personalization/axes/pan-zoom.d.ts +42 -0
  110. package/dist/personalization/axes/pattern.d.ts +26 -0
  111. package/dist/personalization/axes/point-markers.d.ts +55 -0
  112. package/dist/personalization/axes/point-opacity.d.ts +6 -0
  113. package/dist/personalization/axes/point-size.d.ts +23 -0
  114. package/dist/personalization/axes/price-range.d.ts +9 -0
  115. package/dist/personalization/axes/radius-proportion.d.ts +3 -0
  116. package/dist/personalization/axes/regression-line.d.ts +36 -0
  117. package/dist/personalization/axes/sankey-link-color.d.ts +10 -0
  118. package/dist/personalization/axes/sankey-value-display.d.ts +4 -0
  119. package/dist/personalization/axes/small-slice-threshold.d.ts +15 -0
  120. package/dist/personalization/axes/sort-order.d.ts +3 -0
  121. package/dist/personalization/axes/spread-display.d.ts +4 -0
  122. package/dist/personalization/axes/stacking.d.ts +17 -0
  123. package/dist/personalization/axes/tile-layout.d.ts +3 -0
  124. package/dist/personalization/axes/time-off-axes.d.ts +19 -0
  125. package/dist/personalization/axes/treemap-color-scale.d.ts +3 -0
  126. package/dist/personalization/axes/value-labels.d.ts +21 -0
  127. package/dist/personalization/axes/view-mode.d.ts +3 -0
  128. package/dist/personalization/axes/volume-coloring.d.ts +24 -0
  129. package/dist/personalization/axes/y-axis-mode.d.ts +3 -0
  130. package/dist/personalization/index.d.ts +38 -0
  131. package/dist/personalization/locale/formatter.d.ts +45 -0
  132. package/dist/personalization/locale/resolver.d.ts +22 -0
  133. package/dist/personalization/palette/built-ins.d.ts +10 -0
  134. package/dist/personalization/palette/derive.d.ts +35 -0
  135. package/dist/personalization/palette/index.d.ts +6 -0
  136. package/dist/personalization/palette/oklch.d.ts +19 -0
  137. package/dist/personalization/palette/registry.d.ts +7 -0
  138. package/dist/personalization/palette/tonal-symmetry.d.ts +32 -0
  139. package/dist/personalization/palette/types.d.ts +63 -0
  140. package/dist/personalization/personalization.d.ts +137 -0
  141. package/dist/personalization/tooltip-props.d.ts +40 -0
  142. package/dist/rendering/canvas.d.ts +6 -0
  143. package/dist/rendering/color-tables.d.ts +52 -0
  144. package/dist/rendering/dirty-rect-tracker.d.ts +49 -0
  145. package/dist/rendering/dirty-rect.d.ts +17 -0
  146. package/dist/rendering/draw/area-fill-threshold.d.ts +19 -0
  147. package/dist/rendering/draw/area-fill.d.ts +47 -0
  148. package/dist/rendering/draw/area-gradient.d.ts +35 -0
  149. package/dist/rendering/draw/axis.d.ts +65 -0
  150. package/dist/rendering/draw/bar.d.ts +31 -0
  151. package/dist/rendering/draw/candle-live-treatment.d.ts +43 -0
  152. package/dist/rendering/draw/candle.d.ts +101 -0
  153. package/dist/rendering/draw/connection-indicator.d.ts +30 -0
  154. package/dist/rendering/draw/crosshair.d.ts +27 -0
  155. package/dist/rendering/draw/drawings.d.ts +64 -0
  156. package/dist/rendering/draw/grid.d.ts +20 -0
  157. package/dist/rendering/draw/indicator-band.d.ts +17 -0
  158. package/dist/rendering/draw/indicator-line.d.ts +15 -0
  159. package/dist/rendering/draw/last-price.d.ts +36 -0
  160. package/dist/rendering/draw/line.d.ts +16 -0
  161. package/dist/rendering/draw/live-bar.d.ts +31 -0
  162. package/dist/rendering/draw/markers.d.ts +53 -0
  163. package/dist/rendering/draw/pane-divider.d.ts +22 -0
  164. package/dist/rendering/draw/point-markers.d.ts +23 -0
  165. package/dist/rendering/glow/glow.d.ts +40 -0
  166. package/dist/rendering/index.d.ts +9 -0
  167. package/dist/rendering/layers/should-split.d.ts +12 -0
  168. package/dist/rendering/patterns/cross-hatch.d.ts +4 -0
  169. package/dist/rendering/patterns/pattern-tiles.d.ts +25 -0
  170. package/dist/rendering/pipeline.d.ts +21 -0
  171. package/dist/rendering/stacked-layout.d.ts +23 -0
  172. package/dist/rendering/standardization-tokens.d.ts +26 -0
  173. package/dist/rendering/static-layer-cache.d.ts +34 -0
  174. package/dist/rendering/threshold-split.d.ts +14 -0
  175. package/dist/shared/binary-search.d.ts +2 -0
  176. package/dist/shared/typed.d.ts +8 -0
  177. package/dist/solid/chart-group.d.ts +16 -0
  178. package/dist/solid/charts-provider.d.ts +38 -0
  179. package/dist/solid/components/area-chart.d.ts +21 -0
  180. package/dist/solid/components/bar-chart.d.ts +84 -0
  181. package/dist/solid/components/candle-chart.d.ts +142 -0
  182. package/dist/solid/components/chart-group-brush.d.ts +13 -0
  183. package/dist/solid/components/chart-group-navigator.d.ts +12 -0
  184. package/dist/solid/components/depth-chart.d.ts +8 -0
  185. package/dist/solid/components/heatmap-chart.d.ts +8 -0
  186. package/dist/solid/components/histogram-chart.d.ts +8 -0
  187. package/dist/solid/components/kagi-chart.d.ts +8 -0
  188. package/dist/solid/components/line-chart.d.ts +110 -0
  189. package/dist/solid/components/pie-chart.d.ts +20 -0
  190. package/dist/solid/components/point-figure-chart.d.ts +8 -0
  191. package/dist/solid/components/renko-chart.d.ts +8 -0
  192. package/dist/solid/components/sankey-chart.d.ts +8 -0
  193. package/dist/solid/components/scatter-chart.d.ts +8 -0
  194. package/dist/solid/components/sunburst-chart.d.ts +8 -0
  195. package/dist/solid/components/treemap-chart.d.ts +8 -0
  196. package/dist/solid/hooks/use-chart-theme.d.ts +2 -0
  197. package/dist/solid/hooks/use-streaming-candles.d.ts +33 -0
  198. package/dist/solid/index.d.ts +73 -0
  199. package/dist/solid/tooltips/default-candle-tooltip.d.ts +4 -0
  200. package/dist/solid/tooltips/default-extreme-tooltip.d.ts +6 -0
  201. package/dist/solid/tooltips/default-tooltip.d.ts +4 -0
  202. package/dist/solid/tooltips/default-volume-bar-tooltip.d.ts +4 -0
  203. package/dist/solid/tooltips/index.d.ts +4 -0
  204. package/dist/tickyr_charts_wasm-C-sFYtmv.js +828 -0
  205. package/dist/viewport/category-axis.d.ts +32 -0
  206. package/dist/viewport/clip-ticks.d.ts +8 -0
  207. package/dist/viewport/index.d.ts +6 -0
  208. package/dist/viewport/nice-ticks.d.ts +9 -0
  209. package/dist/viewport/nice-time-ticks.d.ts +7 -0
  210. package/dist/viewport/orientation.d.ts +56 -0
  211. package/dist/viewport/padded-domain.d.ts +16 -0
  212. package/dist/viewport/scales/linear.d.ts +9 -0
  213. package/dist/viewport/scales/log.d.ts +9 -0
  214. package/dist/viewport/scales/time.d.ts +7 -0
  215. package/dist/viewport/viewport-sizer.d.ts +15 -0
  216. package/dist/viewport/visible-window.d.ts +5 -0
  217. package/package.json +41 -0
@@ -0,0 +1,34 @@
1
+ export interface StaticLayerCacheKey {
2
+ readonly cssWidth: number;
3
+ readonly cssHeight: number;
4
+ readonly dpr: number;
5
+ readonly themeFingerprint: string;
6
+ readonly dataFingerprint: string;
7
+ /** Hosts can suffix any extra state that affects the static layer. */
8
+ readonly extra: string;
9
+ }
10
+ export declare class StaticLayerCache {
11
+ private cachedKey;
12
+ private cachedSurface;
13
+ /** Stats - flips a counter every hit / miss for benchmark + dev
14
+ * inspection. Auditable side-effect. */
15
+ private hits;
16
+ private misses;
17
+ /** Returns the cached surface when `key` matches the prior call.
18
+ * Returns null on miss; caller paints into the surface returned by
19
+ * `acquireSurface(w, h, dpr)` next. */
20
+ lookup(key: StaticLayerCacheKey): HTMLCanvasElement | null;
21
+ /** Acquire (or recycle) the offscreen surface the caller will paint
22
+ * into. Always recreated on size/DPR change (cheaper than scaling). */
23
+ acquireSurface(cssWidth: number, cssHeight: number, dpr: number): HTMLCanvasElement;
24
+ /** Commit the current surface to the cache under `key`. Caller calls
25
+ * this after painting. */
26
+ commit(key: StaticLayerCacheKey): void;
27
+ /** Force a miss on the next lookup. */
28
+ invalidate(): void;
29
+ /** Inspection - useful for benches + dev audit. */
30
+ stats(): {
31
+ readonly hits: number;
32
+ readonly misses: number;
33
+ };
34
+ }
@@ -0,0 +1,14 @@
1
+ export interface ThresholdRun {
2
+ readonly side: "above" | "below";
3
+ /** First data-point index in this run (inclusive). */
4
+ readonly fromIdx: number;
5
+ /** Last data-point index (inclusive). */
6
+ readonly toIdx: number;
7
+ /** Time (ms) at the entry crossing. NaN when the run starts without a
8
+ * crossing (window start, or first finite value after a NaN gap). */
9
+ readonly fromCrossingT: number;
10
+ /** Time (ms) at the exit crossing. NaN when the run ends without a
11
+ * crossing (window end, or last finite value before a NaN gap). */
12
+ readonly toCrossingT: number;
13
+ }
14
+ export declare function computeThresholdRuns(times: Float64Array, values: Float64Array, startIdx: number, endIdx: number, thresholdY: number): ThresholdRun[];
@@ -0,0 +1,2 @@
1
+ export declare function bisectNearest(arr: Float64Array, target: number): number;
2
+ export declare function bisectLeft(arr: Float64Array, target: number): number;
@@ -0,0 +1,8 @@
1
+ export declare const f64At: (arr: Float64Array, i: number) => number;
2
+ export declare const f32At: (arr: Float32Array, i: number) => number;
3
+ export declare const u32At: (arr: Uint32Array, i: number) => number;
4
+ export declare const u16At: (arr: Uint16Array, i: number) => number;
5
+ export declare const u8At: (arr: Uint8Array, i: number) => number;
6
+ export declare const i32At: (arr: Int32Array, i: number) => number;
7
+ export declare const i16At: (arr: Int16Array, i: number) => number;
8
+ export declare const i8At: (arr: Int8Array, i: number) => number;
@@ -0,0 +1,16 @@
1
+ import { JSX } from 'solid-js';
2
+ import { ChartGroupOptions, ChartGroupState, TimeRange } from '../composition/chart-group-state';
3
+ export type { ChartGroupOptions, ChartGroupState, TimeRange, SyncYScale, ReferencePoint, } from '../composition/chart-group-state';
4
+ export interface ChartGroupProps extends Partial<ChartGroupOptions> {
5
+ children?: JSX.Element;
6
+ onSelectionChange?: (time: number | null) => void;
7
+ onBrushChange?: (range: TimeRange | null) => void;
8
+ onPaneResize?: (heights: readonly number[]) => void;
9
+ }
10
+ interface ChartGroupContextValue {
11
+ readonly options: () => ChartGroupOptions;
12
+ readonly state: ChartGroupState;
13
+ readonly version: () => number;
14
+ }
15
+ export declare function useChartGroup(): ChartGroupContextValue | null;
16
+ export declare function ChartGroup(props: ChartGroupProps): JSX.Element;
@@ -0,0 +1,38 @@
1
+ import { JSX, ParentComponent } from 'solid-js';
2
+ import { Theme, ThemeInput, VisualStyle } from '../personalization';
3
+ export interface ChartsProviderValue {
4
+ theme: ThemeInput;
5
+ palette: string;
6
+ locale: string;
7
+ timeZone: string | undefined;
8
+ visualStyle: VisualStyle;
9
+ outlineFillColor: "auto" | string;
10
+ outlineFillOpacity: number;
11
+ cornerRadius: number;
12
+ borderWidth: number;
13
+ accents: boolean;
14
+ osTheme: Theme;
15
+ appTheme: Theme;
16
+ }
17
+ export interface ChartsProviderProps {
18
+ theme?: ThemeInput;
19
+ palette?: string;
20
+ locale?: string;
21
+ timeZone?: string;
22
+ visualStyle?: VisualStyle;
23
+ outlineFillColor?: "auto" | string;
24
+ outlineFillOpacity?: number;
25
+ cornerRadius?: number;
26
+ borderWidth?: number;
27
+ accents?: boolean;
28
+ osTheme?: Theme;
29
+ appTheme?: Theme;
30
+ /** Host-supplied custom palettes. */
31
+ palettes?: readonly import('../personalization/palette/types').Palette[];
32
+ children?: JSX.Element;
33
+ }
34
+ export declare const ChartsProvider: ParentComponent<ChartsProviderProps>;
35
+ /** Returns an accessor - call as `ctx()` to read the current provider value.
36
+ * Mirrors React's `useChartsContext()` shape semantically; in Solid the
37
+ * return is a getter so reactivity propagates through the chart components. */
38
+ export declare function useChartsContext(): () => ChartsProviderValue;
@@ -0,0 +1,21 @@
1
+ import { JSX } from 'solid-js';
2
+ import { LineChartProps } from './line-chart';
3
+ import { AreaBaseline } from '../../personalization/axes/area-baseline';
4
+ import { StackingMode } from '../../personalization/axes/stacking';
5
+ export type { AreaBaseline } from '../../personalization/axes/area-baseline';
6
+ export type { StackingMode } from '../../personalization/axes/stacking';
7
+ export type AreaFillType = "flat" | "gradient";
8
+ export interface ThresholdFillConfig {
9
+ value?: number;
10
+ aboveColor?: string;
11
+ belowColor?: string;
12
+ }
13
+ export type ThresholdFill = false | true | ThresholdFillConfig;
14
+ export interface AreaChartProps extends Omit<LineChartProps, "areaFill"> {
15
+ baseline?: AreaBaseline;
16
+ fillType?: AreaFillType;
17
+ fillOpacity?: number;
18
+ thresholdFill?: ThresholdFill;
19
+ stacked?: StackingMode;
20
+ }
21
+ export declare function AreaChart(props: AreaChartProps): JSX.Element;
@@ -0,0 +1,84 @@
1
+ import { JSX } from 'solid-js';
2
+ import { LineSeriesInput } from '../../domain';
3
+ import { ThemeInput, DigitGrouping, NumberAbbreviation, DecimalPlaces, CurrencyDisplay, PercentPrecision, DateFormat, TimeFormat, ChartFormatter, Theme, Palette, LegendVisibility, LegendPosition } from '../../personalization';
4
+ import { YAxisPosition, XAxisPosition } from '../../rendering/draw/axis';
5
+ import { GridStyle } from '../../rendering/draw/grid';
6
+ import { CrosshairMarker } from '../../rendering/draw/crosshair';
7
+ import { Orientation } from '../../viewport/orientation';
8
+ import { ValueLabels } from '../../personalization/axes/value-labels';
9
+ export type BarChartSeriesInput = LineSeriesInput;
10
+ export interface BarSeriesConfig {
11
+ readonly id: string;
12
+ readonly data: BarChartSeriesInput;
13
+ readonly label?: string;
14
+ readonly color?: string;
15
+ }
16
+ export type BarGrouping = "clustered" | "stacked" | "normalized" | "overlapping";
17
+ export interface BarTooltipSeriesValue {
18
+ readonly id: string;
19
+ readonly label: string;
20
+ readonly color: string;
21
+ readonly value: number;
22
+ }
23
+ export interface BarChartTooltipProps {
24
+ readonly t: number;
25
+ readonly idx: number;
26
+ readonly seriesValues: readonly BarTooltipSeriesValue[];
27
+ readonly pointerX: number;
28
+ readonly pointerY: number;
29
+ readonly containerWidth: number;
30
+ readonly containerHeight: number;
31
+ readonly theme: Theme;
32
+ readonly palette: Palette;
33
+ readonly locale: string;
34
+ readonly timeZone: string | undefined;
35
+ readonly formatter: ChartFormatter;
36
+ }
37
+ export type BarChartTooltipProp = undefined | false | ((props: BarChartTooltipProps) => JSX.Element);
38
+ export interface BarChartProps {
39
+ data?: BarChartSeriesInput;
40
+ series?: readonly BarSeriesConfig[];
41
+ grouping?: BarGrouping;
42
+ groupPadding?: number;
43
+ orientation?: Orientation;
44
+ valueLabels?: ValueLabels;
45
+ legend?: LegendVisibility;
46
+ legendPosition?: LegendPosition;
47
+ crosshairVisible?: boolean;
48
+ crosshairLineStyle?: GridStyle;
49
+ crosshairMarker?: CrosshairMarker;
50
+ tooltip?: BarChartTooltipProp;
51
+ width?: number;
52
+ height?: number;
53
+ theme?: ThemeInput;
54
+ palette?: string;
55
+ visualStyle?: "Fill" | "Outline";
56
+ outlineFillColor?: "auto" | string;
57
+ outlineFillOpacity?: number;
58
+ pixelDensityCap?: number;
59
+ fastMode?: boolean;
60
+ sparkline?: boolean;
61
+ ariaLabel?: string;
62
+ axisVisible?: boolean;
63
+ yAxisPosition?: YAxisPosition;
64
+ xAxisPosition?: XAxisPosition;
65
+ yAxisPadding?: number;
66
+ gridVisible?: boolean;
67
+ gridStyle?: GridStyle;
68
+ gridDensity?: "sparse" | "normal" | "dense";
69
+ accents?: boolean;
70
+ locale?: string;
71
+ timeZone?: string;
72
+ barWidthRatio?: number;
73
+ cornerRadius?: number;
74
+ borderWidth?: number;
75
+ digitGrouping?: DigitGrouping;
76
+ numberAbbreviation?: NumberAbbreviation;
77
+ decimalPlaces?: DecimalPlaces;
78
+ currency?: string;
79
+ currencyDisplay?: CurrencyDisplay;
80
+ percentPrecision?: PercentPrecision;
81
+ dateFormat?: DateFormat;
82
+ timeFormat?: TimeFormat;
83
+ }
84
+ export declare function BarChart(props: BarChartProps): JSX.Element;
@@ -0,0 +1,142 @@
1
+ import { JSX } from 'solid-js';
2
+ import { CandleSeriesInput, LiveState, SignalMarker, OrderMarker, PositionMarker, EventMarker, Drawing as DrawingT, SignalMarker as DomSignalMarker, OrderMarker as DomOrderMarker, PositionMarker as DomPositionMarker, EventMarker as DomEventMarker } from '../../domain';
3
+ import { ThemeInput, DigitGrouping, NumberAbbreviation, DecimalPlaces, CurrencyDisplay, PercentPrecision, DateFormat, TimeFormat, LiveBarIndicator, ConnectionIndicator, StaleVisualization, LegendPosition, Theme, Palette, BarEntryAnimation, BarUpdateAnimation, ChartFormatter } from '../../personalization';
4
+ import { YAxisPosition, XAxisPosition } from '../../rendering/draw/axis';
5
+ import { GridStyle } from '../../rendering/draw/grid';
6
+ import { CrosshairMarker } from '../../rendering/draw/crosshair';
7
+ import { LastPriceLineStyle } from '../../rendering/draw/last-price';
8
+ import { IndicatorPaneSpec, IndicatorLineStyle } from '../../personalization/axes/indicator-pane-spec';
9
+ import { CandleChartTooltipProps, CandleDirection } from '../tooltips/default-candle-tooltip';
10
+ import { ExtremeTooltipProp, ExtremeTooltipProps, HighLowMarkers } from '../tooltips/default-extreme-tooltip';
11
+ import { VolumeBarTooltipProps } from '../tooltips/default-volume-bar-tooltip';
12
+ export interface SignalTooltipProps {
13
+ marker: DomSignalMarker;
14
+ pointerX: number;
15
+ pointerY: number;
16
+ formatter: ChartFormatter;
17
+ }
18
+ export interface OrderTooltipProps {
19
+ marker: DomOrderMarker;
20
+ pointerX: number;
21
+ pointerY: number;
22
+ formatter: ChartFormatter;
23
+ }
24
+ export interface PositionTooltipProps {
25
+ marker: DomPositionMarker;
26
+ lastClose: number;
27
+ pointerX: number;
28
+ pointerY: number;
29
+ formatter: ChartFormatter;
30
+ }
31
+ export interface EventTooltipProps {
32
+ marker: DomEventMarker;
33
+ pointerX: number;
34
+ pointerY: number;
35
+ formatter: ChartFormatter;
36
+ }
37
+ export type CandleType = "solid" | "heikin-ashi" | "ohlc-bars";
38
+ export type WickColor = "body" | "neutral" | string;
39
+ export type VolumePlacement = "subpane" | "overlay";
40
+ export type VolumeColoring = "by-direction" | "single" | "by-magnitude";
41
+ export type VolumeScale = "linear" | "log";
42
+ export type CandleChartTooltipProp = undefined | false | ((props: CandleChartTooltipProps) => JSX.Element);
43
+ export type { CandleChartTooltipProps, CandleDirection };
44
+ export type { ExtremeTooltipProp, ExtremeTooltipProps, HighLowMarkers };
45
+ export type { VolumeBarTooltipProps };
46
+ export type { IndicatorPaneSpec, IndicatorLineStyle };
47
+ /** Imperative handle exposed via `ref` on `<CandleChart>`. Binary
48
+ * data ingestion - primitive args. */
49
+ export interface CandleChartHandle {
50
+ /** Push a live tick. Updates high/low/close of the most recent bar
51
+ * in-place; the host owns bar progression (call `update({ data })`
52
+ * with a fresh last bar to start a new bucket). */
53
+ onTick(time: number, price: number, size?: number): void;
54
+ }
55
+ export interface CandleChartProps {
56
+ /** Solid ref callback - receives the imperative handle after mount. */
57
+ ref?: (handle: CandleChartHandle) => void;
58
+ data: CandleSeriesInput;
59
+ historyData?: CandleSeriesInput;
60
+ width?: number;
61
+ height?: number;
62
+ theme?: ThemeInput;
63
+ palette?: string;
64
+ visualStyle?: "Fill" | "Outline";
65
+ outlineFillColor?: "auto" | string;
66
+ outlineFillOpacity?: number;
67
+ cornerRadius?: number;
68
+ borderWidth?: number;
69
+ pixelDensityCap?: number;
70
+ fastMode?: boolean;
71
+ sparkline?: boolean;
72
+ ariaLabel?: string;
73
+ candleType?: CandleType;
74
+ bodyWidthRatio?: number;
75
+ wickWidth?: number;
76
+ wickColor?: WickColor;
77
+ dojiMinBodyHeight?: number;
78
+ axisVisible?: boolean;
79
+ yAxisPosition?: YAxisPosition;
80
+ xAxisPosition?: XAxisPosition;
81
+ yAxisPadding?: number;
82
+ gridVisible?: boolean;
83
+ gridStyle?: GridStyle;
84
+ gridDensity?: "sparse" | "normal" | "dense";
85
+ accents?: boolean;
86
+ locale?: string;
87
+ timeZone?: string;
88
+ crosshairVisible?: boolean;
89
+ crosshairLineStyle?: GridStyle;
90
+ crosshairMarker?: CrosshairMarker;
91
+ crosshairPaneSync?: boolean;
92
+ tooltip?: CandleChartTooltipProp;
93
+ digitGrouping?: DigitGrouping;
94
+ numberAbbreviation?: NumberAbbreviation;
95
+ decimalPlaces?: DecimalPlaces;
96
+ currency?: string;
97
+ currencyDisplay?: CurrencyDisplay;
98
+ percentPrecision?: PercentPrecision;
99
+ dateFormat?: DateFormat;
100
+ timeFormat?: TimeFormat;
101
+ lastPriceLine?: LastPriceLineStyle;
102
+ lastPriceLabel?: boolean;
103
+ highLowMarkers?: HighLowMarkers;
104
+ extremeTooltip?: ExtremeTooltipProp;
105
+ volumeVisible?: boolean;
106
+ volumePlacement?: VolumePlacement;
107
+ volumeColoring?: VolumeColoring;
108
+ volumeSingleColor?: "auto" | string;
109
+ volumeScale?: VolumeScale;
110
+ volumeHeightRatio?: number;
111
+ volumeBarTooltip?: boolean | ((props: VolumeBarTooltipProps) => JSX.Element);
112
+ indicators?: readonly IndicatorPaneSpec[];
113
+ indicatorLineWidth?: number;
114
+ indicatorLineStyle?: IndicatorLineStyle;
115
+ indicatorOpacity?: number;
116
+ liveBarIndicator?: LiveBarIndicator;
117
+ connectionIndicator?: ConnectionIndicator;
118
+ liveSince?: number;
119
+ connectionState?: LiveState;
120
+ staleThreshold?: number;
121
+ staleVisualization?: StaleVisualization;
122
+ staleBanner?: boolean | ((p: {
123
+ state: LiveState;
124
+ liveSince: number | undefined;
125
+ theme: Theme;
126
+ palette: Palette;
127
+ }) => JSX.Element);
128
+ legendPosition?: LegendPosition;
129
+ reducedMotion?: boolean;
130
+ barEntryAnimation?: BarEntryAnimation;
131
+ barUpdateAnimation?: BarUpdateAnimation;
132
+ drawings?: readonly DrawingT[];
133
+ signals?: readonly SignalMarker[];
134
+ orders?: readonly OrderMarker[];
135
+ position?: PositionMarker;
136
+ events?: readonly EventMarker[];
137
+ signalTooltip?: false | ((p: SignalTooltipProps) => JSX.Element);
138
+ orderTooltip?: false | ((p: OrderTooltipProps) => JSX.Element);
139
+ positionTooltip?: false | ((p: PositionTooltipProps) => JSX.Element);
140
+ eventTooltip?: false | ((p: EventTooltipProps) => JSX.Element);
141
+ }
142
+ export declare function CandleChart(props: CandleChartProps): JSX.Element;
@@ -0,0 +1,13 @@
1
+ import { JSX } from 'solid-js';
2
+ export interface ChartGroupBrushProps {
3
+ readonly domain: {
4
+ start: number;
5
+ end: number;
6
+ };
7
+ readonly width?: number;
8
+ readonly height?: number;
9
+ readonly trackColor?: string;
10
+ readonly selectionColor?: string;
11
+ readonly handleColor?: string;
12
+ }
13
+ export declare function ChartGroupBrush(props: ChartGroupBrushProps): JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { JSX } from 'solid-js';
2
+ import { LineSeriesInput } from '../../domain';
3
+ export interface ChartGroupNavigatorProps {
4
+ readonly data: LineSeriesInput;
5
+ readonly domain?: {
6
+ start: number;
7
+ end: number;
8
+ };
9
+ readonly width?: number;
10
+ readonly height?: number;
11
+ }
12
+ export declare function ChartGroupNavigator(props: ChartGroupNavigatorProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'solid-js';
2
+ import { DepthChartBaseProps, DepthChartTooltipProps } from '../../charts/depth-chart-helpers';
3
+ export type { DepthChartTooltipProps, HoverState, DepthLevel, DepthSeriesInput, } from '../../charts/depth-chart-helpers';
4
+ export type DepthChartTooltipProp = undefined | false | ((props: DepthChartTooltipProps) => JSX.Element);
5
+ export interface DepthChartProps extends DepthChartBaseProps {
6
+ tooltip?: DepthChartTooltipProp;
7
+ }
8
+ export declare function DepthChart(props: DepthChartProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'solid-js';
2
+ import { HeatmapChartBaseProps, HeatmapChartTooltipProps } from '../../charts/heatmap-chart-helpers';
3
+ export type { HeatmapChartTooltipProps, HoverState, } from '../../charts/heatmap-chart-helpers';
4
+ export type HeatmapChartTooltipProp = undefined | false | ((props: HeatmapChartTooltipProps) => JSX.Element);
5
+ export interface HeatmapChartProps extends HeatmapChartBaseProps {
6
+ tooltip?: HeatmapChartTooltipProp;
7
+ }
8
+ export declare function HeatmapChart(props: HeatmapChartProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'solid-js';
2
+ import { HistogramChartBaseProps, HistogramChartTooltipProps } from '../../charts/histogram-chart-helpers';
3
+ export type { HistogramChartTooltipProps, HoverState, } from '../../charts/histogram-chart-helpers';
4
+ export type HistogramChartTooltipProp = undefined | false | ((props: HistogramChartTooltipProps) => JSX.Element);
5
+ export interface HistogramChartProps extends HistogramChartBaseProps {
6
+ tooltip?: HistogramChartTooltipProp;
7
+ }
8
+ export declare function HistogramChart(props: HistogramChartProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'solid-js';
2
+ import { KagiChartBaseProps, KagiChartTooltipProps } from '../../charts/kagi-chart-controller';
3
+ export type KagiChartTooltipProp = undefined | false | ((props: KagiChartTooltipProps) => JSX.Element);
4
+ export interface KagiChartProps extends KagiChartBaseProps {
5
+ tooltip?: KagiChartTooltipProp;
6
+ }
7
+ export type { KagiChartTooltipProps, HoverState, } from '../../charts/kagi-chart-controller';
8
+ export declare function KagiChart(props: KagiChartProps): JSX.Element;
@@ -0,0 +1,110 @@
1
+ import { JSX } from 'solid-js';
2
+ import { LineSeriesInput, LiveState } from '../../domain';
3
+ import { ThemeInput, LiveBarIndicator, ConnectionIndicator, LegendPosition, LegendVisibility, StaleVisualization, DigitGrouping, NumberAbbreviation, DecimalPlaces, CurrencyDisplay, PercentPrecision, DateFormat, TimeFormat, Theme, Palette } from '../../personalization';
4
+ import { GridStyle } from '../../rendering/draw/grid';
5
+ import { CrosshairMarker } from '../../rendering/draw/crosshair';
6
+ import { YAxisPosition, XAxisPosition } from '../../rendering/draw/axis';
7
+ import { LastPriceLineStyle } from '../../rendering/draw/last-price';
8
+ import { CurveType } from '../../personalization/axes/curve-type';
9
+ import { LineDash } from '../../personalization/axes/line-dash';
10
+ import { PointMarkers } from '../../personalization/axes/point-markers';
11
+ import { LineChartTooltipProps, TooltipSeriesValue } from '../tooltips/default-tooltip';
12
+ import { ExtremeTooltipProp, ExtremeTooltipProps, HighLowMarkers } from '../tooltips/default-extreme-tooltip';
13
+ import { AreaFillThreshold, AreaFillConfig, SeriesConfig, LineChartIndicatorSpec } from '../../charts/line-chart-helpers';
14
+ export type { AreaFillThreshold, AreaFillConfig, SeriesConfig, LineChartIndicatorSpec, };
15
+ export type { HighLowMarkers, ExtremeTooltipProp, ExtremeTooltipProps };
16
+ export type { LineChartTooltipProps, TooltipSeriesValue };
17
+ export type CrosshairSnap = "free" | "x-axis" | "data";
18
+ export type CrosshairMode = "follow" | "sticky";
19
+ export type LineChartTooltipProp = boolean | ((props: LineChartTooltipProps) => JSX.Element);
20
+ export interface ConnectionIndicatorRenderProps {
21
+ state: LiveState;
22
+ liveSince: number | undefined;
23
+ position: LegendPosition;
24
+ theme: Theme;
25
+ palette: Palette;
26
+ }
27
+ export type ConnectionIndicatorProp = ConnectionIndicator | ((props: ConnectionIndicatorRenderProps) => JSX.Element);
28
+ export interface StaleBannerRenderProps {
29
+ state: LiveState;
30
+ liveSince: number | undefined;
31
+ theme: Theme;
32
+ palette: Palette;
33
+ }
34
+ export type StaleBannerProp = boolean | ((props: StaleBannerRenderProps) => JSX.Element);
35
+ /** Imperative handle exposed via `ref` on `<LineChart>`. Lets the host
36
+ * push live-tick updates without re-rendering the Solid component.
37
+ * Binary data ingestion: primitive args. */
38
+ export interface LineChartHandle {
39
+ /** Append a live tick (time ms, price). `size` is accepted for API
40
+ * parity with CandleChart but is unused for line charts. */
41
+ onTick(time: number, price: number, size?: number): void;
42
+ }
43
+ export interface LineChartProps {
44
+ /** Solid ref callback - receives the imperative handle after mount. */
45
+ ref?: (handle: LineChartHandle) => void;
46
+ data?: LineSeriesInput;
47
+ historyData?: LineSeriesInput;
48
+ series?: readonly SeriesConfig[];
49
+ width?: number;
50
+ height?: number;
51
+ theme?: ThemeInput;
52
+ palette?: string;
53
+ visualStyle?: "Fill" | "Outline";
54
+ outlineFillColor?: "auto" | string;
55
+ outlineFillOpacity?: number;
56
+ pixelDensityCap?: number;
57
+ fastMode?: boolean;
58
+ sparkline?: boolean;
59
+ ariaLabel?: string;
60
+ axisVisible?: boolean;
61
+ yAxisPosition?: YAxisPosition;
62
+ xAxisPosition?: XAxisPosition;
63
+ yAxisPadding?: number;
64
+ gridVisible?: boolean;
65
+ gridStyle?: GridStyle;
66
+ gridDensity?: "sparse" | "normal" | "dense";
67
+ accents?: boolean;
68
+ locale?: string;
69
+ timeZone?: string;
70
+ crosshairVisible?: boolean;
71
+ crosshairSnap?: CrosshairSnap;
72
+ crosshairMode?: CrosshairMode;
73
+ crosshairLineStyle?: GridStyle;
74
+ crosshairMarker?: CrosshairMarker;
75
+ tooltip?: LineChartTooltipProp;
76
+ indicators?: readonly LineChartIndicatorSpec[];
77
+ digitGrouping?: DigitGrouping;
78
+ numberAbbreviation?: NumberAbbreviation;
79
+ decimalPlaces?: DecimalPlaces;
80
+ currency?: string;
81
+ currencyDisplay?: CurrencyDisplay;
82
+ percentPrecision?: PercentPrecision;
83
+ dateFormat?: DateFormat;
84
+ timeFormat?: TimeFormat;
85
+ lastPriceLine?: LastPriceLineStyle;
86
+ lastPriceLabel?: boolean;
87
+ chartBgColor?: string;
88
+ highLowMarkers?: HighLowMarkers;
89
+ extremeTooltip?: ExtremeTooltipProp;
90
+ liveBarIndicator?: LiveBarIndicator;
91
+ connectionIndicator?: ConnectionIndicatorProp;
92
+ legendPosition?: LegendPosition;
93
+ legend?: LegendVisibility;
94
+ staleVisualization?: StaleVisualization;
95
+ staleBanner?: StaleBannerProp;
96
+ liveSince?: number;
97
+ connectionState?: LiveState;
98
+ staleThreshold?: number;
99
+ reducedMotion?: boolean;
100
+ curveType?: CurveType;
101
+ stepEdgeRadius?: number;
102
+ lineWidth?: number;
103
+ lineDash?: LineDash;
104
+ lineDashSpacing?: number;
105
+ pointMarkers?: PointMarkers;
106
+ areaFill?: AreaFillConfig;
107
+ glow?: import('../../personalization/axes/glow').GlowInput;
108
+ glowColor?: import('../../personalization/axes/glow').GlowColorInput;
109
+ }
110
+ export declare function LineChart(props: LineChartProps): JSX.Element;
@@ -0,0 +1,20 @@
1
+ import { JSX } from 'solid-js';
2
+ import { PieChartBaseProps, PieChartTooltipProps } from '../../charts/pie-chart-helpers';
3
+ import { ChartFormatter, Theme, Palette } from '../../personalization';
4
+ export type { PieChartTooltipProps, HoverState, PieSeriesInput, PieSlice, } from '../../charts/pie-chart-helpers';
5
+ export type PieChartTooltipProp = undefined | false | ((props: PieChartTooltipProps) => JSX.Element);
6
+ export interface PieChartProps extends PieChartBaseProps {
7
+ tooltip?: PieChartTooltipProp;
8
+ }
9
+ export interface DonutCenterLabelData {
10
+ readonly totalValue: number;
11
+ readonly formatter: ChartFormatter;
12
+ readonly theme: Theme;
13
+ readonly palette: Palette;
14
+ }
15
+ export type CenterLabelProp = false | true | string | ((data: DonutCenterLabelData) => JSX.Element);
16
+ export interface DonutChartProps extends PieChartProps {
17
+ centerLabel?: CenterLabelProp;
18
+ }
19
+ export declare function PieChart(props: PieChartProps): JSX.Element;
20
+ export declare function DonutChart(props: DonutChartProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'solid-js';
2
+ import { PnFChartBaseProps, PnFChartTooltipProps } from '../../charts/pnf-chart-controller';
3
+ export type PointFigureChartTooltipProp = undefined | false | ((props: PnFChartTooltipProps) => JSX.Element);
4
+ export interface PointFigureChartProps extends PnFChartBaseProps {
5
+ tooltip?: PointFigureChartTooltipProp;
6
+ }
7
+ export type { PnFChartTooltipProps, HoverState, } from '../../charts/pnf-chart-controller';
8
+ export declare function PointFigureChart(props: PointFigureChartProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'solid-js';
2
+ import { RenkoChartBaseProps, RenkoChartTooltipProps } from '../../charts/renko-chart-controller';
3
+ export type RenkoChartTooltipProp = undefined | false | ((props: RenkoChartTooltipProps) => JSX.Element);
4
+ export interface RenkoChartProps extends RenkoChartBaseProps {
5
+ tooltip?: RenkoChartTooltipProp;
6
+ }
7
+ export type { RenkoChartTooltipProps, HoverState, } from '../../charts/renko-chart-controller';
8
+ export declare function RenkoChart(props: RenkoChartProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'solid-js';
2
+ import { SankeyChartBaseProps, SankeyChartTooltipProps } from '../../charts/sankey-chart-controller';
3
+ export type SankeyChartTooltipProp = undefined | false | ((props: SankeyChartTooltipProps) => JSX.Element);
4
+ export interface SankeyChartProps extends SankeyChartBaseProps {
5
+ tooltip?: SankeyChartTooltipProp;
6
+ }
7
+ export type { SankeyChartTooltipProps, HoverState, SankeyInput, SankeyNodeInput, SankeyLinkInput, } from '../../charts/sankey-chart-controller';
8
+ export declare function SankeyChart(props: SankeyChartProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'solid-js';
2
+ import { ScatterChartBaseProps, ScatterChartTooltipProps } from '../../charts/scatter-chart-helpers';
3
+ export type { ScatterChartTooltipProps, HoverState, } from '../../charts/scatter-chart-helpers';
4
+ export type ScatterChartTooltipProp = undefined | false | ((props: ScatterChartTooltipProps) => JSX.Element);
5
+ export interface ScatterChartProps extends ScatterChartBaseProps {
6
+ tooltip?: ScatterChartTooltipProp;
7
+ }
8
+ export declare function ScatterChart(props: ScatterChartProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'solid-js';
2
+ import { SunburstChartBaseProps, SunburstChartTooltipProps } from '../../charts/sunburst-chart-helpers';
3
+ export type { SunburstChartTooltipProps, HoverState, } from '../../charts/sunburst-chart-helpers';
4
+ export type SunburstChartTooltipProp = undefined | false | ((props: SunburstChartTooltipProps) => JSX.Element);
5
+ export interface SunburstChartProps extends SunburstChartBaseProps {
6
+ tooltip?: SunburstChartTooltipProp;
7
+ }
8
+ export declare function SunburstChart(props: SunburstChartProps): JSX.Element;
@@ -0,0 +1,8 @@
1
+ import { JSX } from 'solid-js';
2
+ import { TreemapChartBaseProps, TreemapChartTooltipProps } from '../../charts/treemap-chart-helpers';
3
+ export type { TreemapChartTooltipProps, HoverState, } from '../../charts/treemap-chart-helpers';
4
+ export type TreemapChartTooltipProp = undefined | false | ((props: TreemapChartTooltipProps) => JSX.Element);
5
+ export interface TreemapChartProps extends TreemapChartBaseProps {
6
+ tooltip?: TreemapChartTooltipProp;
7
+ }
8
+ export declare function TreemapChart(props: TreemapChartProps): JSX.Element;
@@ -0,0 +1,2 @@
1
+ import { Theme, ThemeInput } from '../../personalization';
2
+ export declare function useChartTheme(perChartTheme?: ThemeInput): () => Theme;