tickup 1.0.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 +21 -0
- package/LICENSE +21 -0
- package/README.md +55 -0
- package/dist/branding/TickUpAttribution.d.ts +11 -0
- package/dist/branding/TickUpMark.d.ts +15 -0
- package/dist/branding/tickupBrandAssets.d.ts +12 -0
- package/dist/branding/tickupWatermark.d.ts +28 -0
- package/dist/components/Canvas/Axes/XAxis.d.ts +18 -0
- package/dist/components/Canvas/Axes/YAxis.d.ts +12 -0
- package/dist/components/Canvas/ChartCanvas.d.ts +40 -0
- package/dist/components/Canvas/ChartStage.d.ts +5 -0
- package/dist/components/Canvas/TickUpStage.d.ts +122 -0
- package/dist/components/Canvas/utils/GraphDraw.d.ts +13 -0
- package/dist/components/Canvas/utils/GraphHelpers.d.ts +60 -0
- package/dist/components/Canvas/utils/drawDrawings.d.ts +4 -0
- package/dist/components/Canvas/utils/drawOverlay.d.ts +44 -0
- package/dist/components/Canvas/utils/formatters.d.ts +34 -0
- package/dist/components/Canvas/utils/generateTicks.d.ts +9 -0
- package/dist/components/Canvas/utils/helpers.d.ts +6 -0
- package/dist/components/Common/AlertModal.d.ts +13 -0
- package/dist/components/Common/AlertModal.styles.d.ts +13 -0
- package/dist/components/DefaultData.d.ts +3 -0
- package/dist/components/Drawing/AngleShape.d.ts +37 -0
- package/dist/components/Drawing/ArrowShape.d.ts +32 -0
- package/dist/components/Drawing/CircleShape.d.ts +29 -0
- package/dist/components/Drawing/CustomSymbolShape.d.ts +31 -0
- package/dist/components/Drawing/IDrawingShape.d.ts +32 -0
- package/dist/components/Drawing/LineShape.d.ts +29 -0
- package/dist/components/Drawing/Polyline.d.ts +29 -0
- package/dist/components/Drawing/RectangleShape.d.ts +29 -0
- package/dist/components/Drawing/TriangleShape.d.ts +34 -0
- package/dist/components/Drawing/drawHelper.d.ts +35 -0
- package/dist/components/Drawing/drawingQuery.d.ts +44 -0
- package/dist/components/Drawing/types.d.ts +21 -0
- package/dist/components/SettingsModal/SettingsModal.d.ts +73 -0
- package/dist/components/SettingsModal/SettingsModal.styles.d.ts +62 -0
- package/dist/components/ShapePropertiesModal/ShapePropertiesModal.d.ts +13 -0
- package/dist/components/ShapePropertiesModal/applyShapeProperties.d.ts +16 -0
- package/dist/components/TickUpHost.d.ts +162 -0
- package/dist/components/TickUpProducts.d.ts +23 -0
- package/dist/components/Toolbar/Buttons.d.ts +4 -0
- package/dist/components/Toolbar/ChartTypeSelectDropdown.d.ts +9 -0
- package/dist/components/Toolbar/IntervalSelect.d.ts +15 -0
- package/dist/components/Toolbar/RangeSelector.d.ts +9 -0
- package/dist/components/Toolbar/SettingsToolbar.d.ts +50 -0
- package/dist/components/Toolbar/Toolbar.d.ts +10 -0
- package/dist/components/Toolbar/icons.d.ts +79 -0
- package/dist/components/Tooltip.d.ts +17 -0
- package/dist/contexts/ModeContext.d.ts +24 -0
- package/dist/engines/TickUpEngine.d.ts +12 -0
- package/dist/engines/prime/PrimeRenderer.d.ts +4 -0
- package/dist/engines/prime/TickUpPrime.d.ts +15 -0
- package/dist/full.d.ts +71 -0
- package/dist/hooks/useChartData.d.ts +15 -0
- package/dist/hooks/useElementSize.d.ts +13 -0
- package/dist/hooks/usePanAndZoom.d.ts +12 -0
- package/dist/index.d.ts +47 -0
- package/dist/main.d.ts +1 -0
- package/dist/services/FormattingService.d.ts +36 -0
- package/dist/styles/App.styles.d.ts +11 -0
- package/dist/styles/ChartCanvas.styles.d.ts +26 -0
- package/dist/styles/ChartTypeSelectDropdown.styles.d.ts +13 -0
- package/dist/styles/IntervalSelect.styles.d.ts +25 -0
- package/dist/styles/RangeSelector.styles.d.ts +10 -0
- package/dist/styles/SettingsToolbar.styles.d.ts +19 -0
- package/dist/styles/TickUpStage.styles.d.ts +31 -0
- package/dist/styles/Toolbar.styles.d.ts +12 -0
- package/dist/styles/Tooltip.styles.d.ts +22 -0
- package/dist/styles/XAxis.styles.d.ts +5 -0
- package/dist/styles/YAxis.styles.d.ts +6 -0
- package/dist/test-utils/assetUrlStub.d.ts +3 -0
- package/dist/test-utils/svgRawStub.d.ts +3 -0
- package/dist/tickup-full.cjs.js +1417 -0
- package/dist/tickup-full.es.js +6699 -0
- package/dist/tickup-icon.svg +5 -0
- package/dist/tickup.cjs.js +1417 -0
- package/dist/tickup.es.js +6427 -0
- package/dist/types/Drawings.d.ts +54 -0
- package/dist/types/Graph.d.ts +45 -0
- package/dist/types/Interval.d.ts +11 -0
- package/dist/types/buttons.d.ts +30 -0
- package/dist/types/chartContext.d.ts +52 -0
- package/dist/types/chartOptions.d.ts +161 -0
- package/dist/types/liveData.d.ts +14 -0
- package/dist/types/overlay.d.ts +64 -0
- package/dist/types/tickupProducts.d.ts +18 -0
- package/dist/types/types.d.ts +36 -0
- package/dist/utils/LocaleResolver.d.ts +15 -0
- package/dist/utils/captureChartRegion.d.ts +34 -0
- package/dist/utils/deepEqual.d.ts +1 -0
- package/dist/utils/deepMerge.d.ts +2 -0
- package/dist/utils/i18n.d.ts +26 -0
- package/dist/utils/liveDataMerge.d.ts +21 -0
- package/dist/utils/marketData.d.ts +8 -0
- package/dist/utils/timeUtils.d.ts +9 -0
- package/dist/vite.svg +1 -0
- package/documentation/01-glossary.md +61 -0
- package/documentation/01-introduction.md +7 -0
- package/documentation/02-installation.md +48 -0
- package/documentation/03-quick-start.md +86 -0
- package/documentation/04-products-and-layout.md +51 -0
- package/documentation/05-props-and-chart-options.md +109 -0
- package/documentation/06-imperative-api.md +117 -0
- package/documentation/07-data-and-live-updates.md +62 -0
- package/documentation/08-drawings-and-shapes.md +132 -0
- package/documentation/09-settings-modal.md +37 -0
- package/documentation/10-toolbar-and-interactions.md +85 -0
- package/documentation/11-exports-and-advanced.md +142 -0
- package/documentation/12-overlays-and-indicators.md +65 -0
- package/documentation/13-internationalization-and-axes.md +56 -0
- package/documentation/14-legal-and-policies.md +32 -0
- package/documentation/README.md +33 -0
- package/legal/ACCEPTABLE_USE_POLICY.md +79 -0
- package/legal/PRIVACY_POLICY.md +131 -0
- package/legal/README.md +21 -0
- package/legal/TERMS_OF_SERVICE.md +153 -0
- package/package.json +98 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Interval } from '../types/Interval';
|
|
3
|
+
import { PriceRange, TimeRange, VisibleViewRanges } from '../types/Graph';
|
|
4
|
+
import { DeepPartial, ChartTheme } from '../types/types';
|
|
5
|
+
import { ChartOptions, TimeDetailLevel } from '../types/chartOptions';
|
|
6
|
+
import { Mode } from '../contexts/ModeContext';
|
|
7
|
+
import type { LiveDataApplyResult, LiveDataPlacement } from '../types/liveData';
|
|
8
|
+
import type { DrawingInput, DrawingPatch, DrawingSpec } from './Drawing/drawHelper';
|
|
9
|
+
import type { DrawingQuery, DrawingSnapshot } from './Drawing/drawingQuery';
|
|
10
|
+
import type { ChartContextInfo } from '../types/chartContext';
|
|
11
|
+
import type { IDrawingShape } from './Drawing/IDrawingShape';
|
|
12
|
+
import { TickUpProductId } from '../types/tickupProducts';
|
|
13
|
+
import type { TickUpChartEngine } from '../engines/TickUpEngine';
|
|
14
|
+
/**
|
|
15
|
+
* Imperative API for {@link TickUpHost} and product components
|
|
16
|
+
* (`TickUpCommand`, `TickUpPulse`, …). Pass a React `ref` typed as this interface.
|
|
17
|
+
*/
|
|
18
|
+
export interface TickUpHostHandle {
|
|
19
|
+
addShape: (shape: DrawingInput) => void;
|
|
20
|
+
updateShape: (shapeId: string, newShape: DrawingInput | DrawingPatch) => void;
|
|
21
|
+
patchShape: (shapeId: string, patch: DrawingPatch) => void;
|
|
22
|
+
setDrawingsFromSpecs: (specs: DrawingSpec[]) => void;
|
|
23
|
+
deleteShape: (shapeId: string) => void;
|
|
24
|
+
addInterval: (interval: Interval) => void;
|
|
25
|
+
updateInterval: (index: number, newInterval: Interval) => void;
|
|
26
|
+
deleteInterval: (index: number) => void;
|
|
27
|
+
applyLiveData: (updates: Interval | Interval[], placement: LiveDataPlacement) => LiveDataApplyResult;
|
|
28
|
+
fitVisibleRangeToData: () => void;
|
|
29
|
+
/**
|
|
30
|
+
* If the last bar has moved past the right edge of the window, pans the view by the minimum amount
|
|
31
|
+
* so it stays visible (same time span when possible). No-op when already in view.
|
|
32
|
+
*/
|
|
33
|
+
nudgeVisibleTimeRangeToLatest: (options?: {
|
|
34
|
+
trailingPaddingSec?: number;
|
|
35
|
+
}) => void;
|
|
36
|
+
getMainCanvasElement: () => HTMLCanvasElement | null;
|
|
37
|
+
getViewInfo: () => {
|
|
38
|
+
intervals: Interval[];
|
|
39
|
+
drawings: IDrawingShape[];
|
|
40
|
+
visibleRange: TimeRange & {
|
|
41
|
+
startIndex: number;
|
|
42
|
+
endIndex: number;
|
|
43
|
+
};
|
|
44
|
+
visiblePriceRange: PriceRange;
|
|
45
|
+
canvasSize: {
|
|
46
|
+
width: number;
|
|
47
|
+
height: number;
|
|
48
|
+
dpr: number;
|
|
49
|
+
};
|
|
50
|
+
} | null;
|
|
51
|
+
getDrawings: (query?: DrawingQuery) => DrawingSnapshot[];
|
|
52
|
+
getDrawingById: (id: string) => DrawingSnapshot | null;
|
|
53
|
+
getDrawingInstances: (query?: DrawingQuery) => IDrawingShape[];
|
|
54
|
+
/** Get the snapshot of the currently selected drawing (if any). */
|
|
55
|
+
getSelectedDrawing: () => DrawingSnapshot | null;
|
|
56
|
+
/** Get the ID of the currently selected drawing (if any). */
|
|
57
|
+
getSelectedDrawingId: () => string | null;
|
|
58
|
+
/** Select a drawing by its unique ID. */
|
|
59
|
+
selectShape: (id: string) => void;
|
|
60
|
+
/** Clear any currently active drawing selection. */
|
|
61
|
+
unselectShape: () => void;
|
|
62
|
+
/** Update the properties of the currently selected drawing (shortcut for patchShape + getSelectedDrawingId). */
|
|
63
|
+
updateSelectedShape: (patch: DrawingPatch) => void;
|
|
64
|
+
getChartContext: () => ChartContextInfo | null;
|
|
65
|
+
/** Visible time (unix seconds + bar indices) and price band — counterpart to {@link getCanvasSize}. */
|
|
66
|
+
getVisibleRanges: () => VisibleViewRanges | null;
|
|
67
|
+
getCanvasSize: () => {
|
|
68
|
+
width: number;
|
|
69
|
+
height: number;
|
|
70
|
+
dpr: number;
|
|
71
|
+
} | null;
|
|
72
|
+
clearCanvas: () => void;
|
|
73
|
+
redrawCanvas: () => void;
|
|
74
|
+
reloadCanvas: () => void;
|
|
75
|
+
/** Merge an engine profile (e.g. {@link TickUpPrime}) into live chart options. */
|
|
76
|
+
setEngine: (engine: TickUpChartEngine) => void;
|
|
77
|
+
/** Forwarded to the stage — drawing toolbar modes (line, select, …). */
|
|
78
|
+
setInteractionMode: (mode: Mode) => void;
|
|
79
|
+
/** Deletes the selected drawing on the stage, if any. */
|
|
80
|
+
deleteSelectedDrawing: () => void;
|
|
81
|
+
/** Programmatically change the timeframe (e.g. '5m', '1h'). */
|
|
82
|
+
setInterval: (tf: string) => void;
|
|
83
|
+
/** Programmatically change the visible span (1D, 1M, All, …). */
|
|
84
|
+
setRange: (r: any) => void;
|
|
85
|
+
/** Open the styled alert popup with a custom title and message. */
|
|
86
|
+
showAlert: (title: string, message: string) => void;
|
|
87
|
+
/** Close the active alert popup. */
|
|
88
|
+
closeAlert: () => void;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Props for {@link TickUpHost} and the tier components (`TickUpPulse`, `TickUpFlow`, …).
|
|
92
|
+
* When `productId` is set, toolbar layout props (`showSidebar`, `showTopBar`, `showSettingsBar`) are fixed and omitted from product prop types.
|
|
93
|
+
*/
|
|
94
|
+
export type TickUpHostProps = {
|
|
95
|
+
intervalsArray?: Interval[];
|
|
96
|
+
initialNumberOfYTicks?: number;
|
|
97
|
+
initialXAxisHeight?: number;
|
|
98
|
+
initialYAxisWidth?: number;
|
|
99
|
+
initialTimeDetailLevel?: TimeDetailLevel;
|
|
100
|
+
initialTimeFormat12h?: boolean;
|
|
101
|
+
initialVisibleTimeRange?: TimeRange;
|
|
102
|
+
chartOptions?: DeepPartial<ChartOptions>;
|
|
103
|
+
/**
|
|
104
|
+
* Toolbar chrome — only honored when `productId` is omitted (legacy / unbundled host).
|
|
105
|
+
* When `productId` is set (TickUp Pulse, Flow, …), layout is fixed by product and these props are ignored.
|
|
106
|
+
*/
|
|
107
|
+
showSidebar?: boolean;
|
|
108
|
+
showTopBar?: boolean;
|
|
109
|
+
/** When false hides the settings gear icon even if the top toolbar is visible */
|
|
110
|
+
showSettingsBar?: boolean;
|
|
111
|
+
/** Invoked when the user activates Refresh in the settings toolbar (e.g. reload quotes). */
|
|
112
|
+
onRefreshRequest?: () => void | Promise<void>;
|
|
113
|
+
/** Controlled toolbar symbol (optional). */
|
|
114
|
+
symbol?: string;
|
|
115
|
+
/** Initial toolbar symbol when uncontrolled. */
|
|
116
|
+
defaultSymbol?: string;
|
|
117
|
+
onSymbolChange?: (symbol: string) => void;
|
|
118
|
+
/**
|
|
119
|
+
* Invoked when the user submits symbol search (search button or Enter).
|
|
120
|
+
* Return `false` or reject the promise if the lookup failed — the toolbar reverts to the last good symbol
|
|
121
|
+
* and calls `onSymbolChange` with it (for controlled hosts). Return `true` or void on success.
|
|
122
|
+
*/
|
|
123
|
+
onSymbolSearch?: (symbol: string) => void | boolean | Promise<void | boolean>;
|
|
124
|
+
/**
|
|
125
|
+
* Locks toolbar chrome to the product line: side drawing bar, top bar, and settings entry cannot be
|
|
126
|
+
* changed via props or settings for this instance. Omit for a host-controlled layout (see `showSidebar` / `showTopBar` / `showSettingsBar`).
|
|
127
|
+
*/
|
|
128
|
+
productId?: TickUpProductId;
|
|
129
|
+
/**
|
|
130
|
+
* In-chart logo watermark (bundled transparent PNG, low opacity, no extra layout row).
|
|
131
|
+
* Forced on for `productId="desk"`. Default true. Set false to disable branding.
|
|
132
|
+
*/
|
|
133
|
+
showAttribution?: boolean;
|
|
134
|
+
/** For `productId="prime"`: non-empty value hides the eval strip. */
|
|
135
|
+
licenseKey?: string | null;
|
|
136
|
+
/**
|
|
137
|
+
* Shell **light** / **dark** (toolbar, settings modal chrome, `GlobalStyle` page background).
|
|
138
|
+
* When set, the host is **controlled**: update this prop when {@link onThemeVariantChange} fires
|
|
139
|
+
* (e.g. from the settings toolbar sun/moon control).
|
|
140
|
+
*/
|
|
141
|
+
themeVariant?: ChartTheme;
|
|
142
|
+
/**
|
|
143
|
+
* Initial shell theme when {@link themeVariant} is omitted (uncontrolled). Defaults to **`light`**.
|
|
144
|
+
*/
|
|
145
|
+
defaultThemeVariant?: ChartTheme;
|
|
146
|
+
/** Notified when the user toggles shell theme from the toolbar. */
|
|
147
|
+
onThemeVariantChange?: (variant: ChartTheme) => void;
|
|
148
|
+
/** Current interval (e.g. '5m') */
|
|
149
|
+
interval?: string;
|
|
150
|
+
onIntervalChange?: (tf: string) => void;
|
|
151
|
+
/**
|
|
152
|
+
* Similar to onSymbolSearch, invoked when the interval is changed.
|
|
153
|
+
* Use this to replace the data feed for the new interval.
|
|
154
|
+
*/
|
|
155
|
+
onIntervalSearch?: (tf: string) => void | boolean | Promise<void | boolean>;
|
|
156
|
+
/** Current range (e.g. '1M') */
|
|
157
|
+
range?: any;
|
|
158
|
+
onRangeChange?: (range: any) => void;
|
|
159
|
+
/** Optional explicit initial range name if any. */
|
|
160
|
+
initialRange?: any;
|
|
161
|
+
};
|
|
162
|
+
export declare const TickUpHost: React.ForwardRefExoticComponent<TickUpHostProps & React.RefAttributes<TickUpHostHandle>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type TickUpHostHandle, type TickUpHostProps } from './TickUpHost';
|
|
3
|
+
/** Props disallowed on tier components: chrome is fixed per product (not overridable at init). */
|
|
4
|
+
type TickUpProductChromeKeys = 'productId' | 'showSidebar' | 'showTopBar' | 'showSettingsBar';
|
|
5
|
+
export type TickUpPulseProps = Omit<TickUpHostProps, TickUpProductChromeKeys | 'licenseKey'>;
|
|
6
|
+
export type TickUpFlowProps = Omit<TickUpHostProps, TickUpProductChromeKeys | 'licenseKey'>;
|
|
7
|
+
export type TickUpCommandProps = Omit<TickUpHostProps, TickUpProductChromeKeys | 'licenseKey'>;
|
|
8
|
+
export type TickUpDeskProps = Omit<TickUpHostProps, TickUpProductChromeKeys | 'licenseKey'>;
|
|
9
|
+
export type TickUpPrimeTierProps = Omit<TickUpHostProps, TickUpProductChromeKeys>;
|
|
10
|
+
/** Minimal embed: candlestick/line plot and axes only (no toolbars). */
|
|
11
|
+
export declare const TickUpPulse: React.ForwardRefExoticComponent<TickUpPulseProps & React.RefAttributes<TickUpHostHandle>>;
|
|
12
|
+
/** Analysis layout: symbol bar and chart controls; no drawing tools sidebar. */
|
|
13
|
+
export declare const TickUpFlow: React.ForwardRefExoticComponent<TickUpFlowProps & React.RefAttributes<TickUpHostHandle>>;
|
|
14
|
+
/** Full interactive chart: drawings, settings, live data API (default product line). */
|
|
15
|
+
export declare const TickUpCommand: React.ForwardRefExoticComponent<TickUpCommandProps & React.RefAttributes<TickUpHostHandle>>;
|
|
16
|
+
/** Broker / embedded terminal: same capabilities as Command; attribution is always shown. */
|
|
17
|
+
export declare const TickUpDesk: React.ForwardRefExoticComponent<TickUpDeskProps & React.RefAttributes<TickUpHostHandle>>;
|
|
18
|
+
/**
|
|
19
|
+
* Licensed / evaluation tier: same shell as Command. Without `licenseKey`, an eval strip is shown.
|
|
20
|
+
* For **render engine** (neon canvas profile), use {@link TickUpPrime} with `setEngine` or `chartOptions.base.engine`.
|
|
21
|
+
*/
|
|
22
|
+
export declare const TickUpPrimeTier: React.ForwardRefExoticComponent<TickUpPrimeTierProps & React.RefAttributes<TickUpHostHandle>>;
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChartType } from '../../types/chartOptions';
|
|
3
|
+
interface Props {
|
|
4
|
+
value: ChartType;
|
|
5
|
+
onChange: (type: ChartType) => void;
|
|
6
|
+
className?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare const ChartTypeSelectDropdown: React.FC<Props>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChartTheme } from '../../types/types';
|
|
3
|
+
export type IntervalCategory = 'Minutes' | 'Hours' | 'Days' | 'Weeks' | 'Months';
|
|
4
|
+
export declare const INTERVAL_LIST: {
|
|
5
|
+
category: IntervalCategory;
|
|
6
|
+
options: string[];
|
|
7
|
+
}[];
|
|
8
|
+
interface Props {
|
|
9
|
+
value: string;
|
|
10
|
+
onChange: (interval: string) => void;
|
|
11
|
+
themeVariant?: ChartTheme;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const IntervalSelect: React.FC<Props>;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export type RangeKey = '1D' | '5D' | '1M' | '3M' | '6M' | 'YTD' | '1Y' | '5Y' | 'All';
|
|
3
|
+
export interface RangeSelectorProps {
|
|
4
|
+
onRangeChange: (range: RangeKey) => void;
|
|
5
|
+
currentRange?: RangeKey;
|
|
6
|
+
isDark?: boolean;
|
|
7
|
+
showLabel?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const RangeSelector: React.FC<RangeSelectorProps>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ChartType } from "../../types/chartOptions";
|
|
3
|
+
import { ChartTheme } from '../../types/types';
|
|
4
|
+
interface SettingToolbarProps {
|
|
5
|
+
handleChartTypeChange: (type: ChartType) => void;
|
|
6
|
+
selectedChartType?: ChartType;
|
|
7
|
+
openSettingsMenu: () => void;
|
|
8
|
+
/** When false the entire toolbar renders nothing */
|
|
9
|
+
showSettingsBar?: boolean;
|
|
10
|
+
language?: string;
|
|
11
|
+
locale?: string;
|
|
12
|
+
symbolInputRef?: React.RefObject<HTMLInputElement | null>;
|
|
13
|
+
/** Controlled symbol text (optional). */
|
|
14
|
+
symbol?: string;
|
|
15
|
+
/** Initial symbol when uncontrolled. */
|
|
16
|
+
defaultSymbol?: string;
|
|
17
|
+
/** Fired when the symbol field changes. */
|
|
18
|
+
onSymbolChange?: (symbol: string) => void;
|
|
19
|
+
/**
|
|
20
|
+
* When set, the search control and Enter in the symbol field call this with the trimmed symbol.
|
|
21
|
+
* When unset, search focuses/selects the symbol field only.
|
|
22
|
+
* Return **`false`** or a **rejected Promise** if the lookup failed — the field reverts to the last
|
|
23
|
+
* successfully displayed symbol and `onSymbolChange` is called with that value so controlled hosts stay in sync.
|
|
24
|
+
* Return **`true`** or **`undefined`** (void) for success.
|
|
25
|
+
*/
|
|
26
|
+
onSymbolSearch?: (symbol: string) => void | boolean | Promise<void | boolean>;
|
|
27
|
+
/** Optional extra handler when search is activated (e.g. focus-only); ignored if `onSymbolSearch` is set. */
|
|
28
|
+
onSearch?: () => void;
|
|
29
|
+
/** Fit the time axis to all loaded bars. */
|
|
30
|
+
onFitVisibleRange?: () => void;
|
|
31
|
+
/** Download OHLCV as CSV. */
|
|
32
|
+
onExportDataCsv?: () => void;
|
|
33
|
+
/** Raster snapshot of the main price canvas. */
|
|
34
|
+
onSnapshotPng?: () => void;
|
|
35
|
+
onRefresh?: () => void | Promise<void>;
|
|
36
|
+
onToggleTheme?: () => void;
|
|
37
|
+
/** shell light/dark (and grey) — drives sun vs moon on the theme control. */
|
|
38
|
+
themeVariant?: ChartTheme;
|
|
39
|
+
/** Current selected interval tag (e.g. '5m') */
|
|
40
|
+
interval?: string;
|
|
41
|
+
/** Fired when user selects a new interval. */
|
|
42
|
+
onIntervalChange?: (interval: string) => void;
|
|
43
|
+
/** Optional 'search' handler to replace data feed on interval change. */
|
|
44
|
+
onIntervalSearch?: (tf: string) => void | boolean | Promise<void | boolean>;
|
|
45
|
+
/** Prime engine: glass-style toolbar surface */
|
|
46
|
+
primeGlass?: boolean;
|
|
47
|
+
primeGlassLight?: boolean;
|
|
48
|
+
}
|
|
49
|
+
export declare const SettingsToolbar: ({ handleChartTypeChange, selectedChartType, openSettingsMenu, showSettingsBar, language, locale, symbolInputRef, symbol, defaultSymbol, onSymbolChange, onSymbolSearch, onSearch, onFitVisibleRange, onExportDataCsv, onSnapshotPng, onRefresh, onToggleTheme, themeVariant, interval, onIntervalChange, onIntervalSearch, primeGlass, primeGlassLight, }: SettingToolbarProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface ToolbarProps {
|
|
3
|
+
language?: string;
|
|
4
|
+
locale?: string;
|
|
5
|
+
primeGlass?: boolean;
|
|
6
|
+
/** Light frosted Prime chrome when the plot uses `base.theme: ChartTheme.light`. */
|
|
7
|
+
primeGlassLight?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const Toolbar: React.FC<ToolbarProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* IconBase — a clean, scalable SVG wrapper that fills its container
|
|
4
|
+
* - No hardcoded pixels; uses 100%/100% so the parent controls size
|
|
5
|
+
* - preserveAspectRatio keeps shapes undistorted
|
|
6
|
+
* - vector-effect keeps stroke widths readable across scales
|
|
7
|
+
*/
|
|
8
|
+
export declare const IconBase: React.FC<{
|
|
9
|
+
active?: boolean;
|
|
10
|
+
name: string;
|
|
11
|
+
children: React.ReactNode;
|
|
12
|
+
}>;
|
|
13
|
+
export declare const IconLine: React.FC<{
|
|
14
|
+
active?: boolean;
|
|
15
|
+
}>;
|
|
16
|
+
export declare const IconRect: React.FC<{
|
|
17
|
+
active?: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
export declare const IconCircle: React.FC<{
|
|
20
|
+
active?: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const IconTriangle: React.FC<{
|
|
23
|
+
active?: boolean;
|
|
24
|
+
}>;
|
|
25
|
+
export declare const IconAngle: React.FC<{
|
|
26
|
+
active?: boolean;
|
|
27
|
+
}>;
|
|
28
|
+
export declare const IconSelect: React.FC<{
|
|
29
|
+
active?: boolean;
|
|
30
|
+
}>;
|
|
31
|
+
export declare const IconPencil: React.FC<{
|
|
32
|
+
active?: boolean;
|
|
33
|
+
}>;
|
|
34
|
+
export declare const IconGear: React.FC<{
|
|
35
|
+
active?: boolean;
|
|
36
|
+
}>;
|
|
37
|
+
export declare const IconCamera: React.FC<{
|
|
38
|
+
active?: boolean;
|
|
39
|
+
}>;
|
|
40
|
+
export declare const IconSearch: React.FC<{
|
|
41
|
+
active?: boolean;
|
|
42
|
+
}>;
|
|
43
|
+
export declare const IconRange: React.FC<{
|
|
44
|
+
active?: boolean;
|
|
45
|
+
}>;
|
|
46
|
+
export declare const IconDownload: React.FC<{
|
|
47
|
+
active?: boolean;
|
|
48
|
+
}>;
|
|
49
|
+
export declare const IconRefresh: React.FC<{
|
|
50
|
+
active?: boolean;
|
|
51
|
+
}>;
|
|
52
|
+
export declare const IconTheme: React.FC<{
|
|
53
|
+
active?: boolean;
|
|
54
|
+
}>;
|
|
55
|
+
/** Sun — paired with {@link IconTheme} (moon) for light/dark toggle affordance. */
|
|
56
|
+
export declare const IconSun: React.FC<{
|
|
57
|
+
active?: boolean;
|
|
58
|
+
}>;
|
|
59
|
+
export declare const IconChartLine: React.FC<{
|
|
60
|
+
active?: boolean;
|
|
61
|
+
}>;
|
|
62
|
+
export declare const IconChartBar: React.FC<{
|
|
63
|
+
active?: boolean;
|
|
64
|
+
}>;
|
|
65
|
+
export declare const IconChartCandle: React.FC<{
|
|
66
|
+
active?: boolean;
|
|
67
|
+
}>;
|
|
68
|
+
export declare const IconChartArea: React.FC<{
|
|
69
|
+
active?: boolean;
|
|
70
|
+
}>;
|
|
71
|
+
export declare const IconArrowDown: React.FC<{
|
|
72
|
+
active?: boolean;
|
|
73
|
+
}>;
|
|
74
|
+
export declare const IconClose: React.FC<{
|
|
75
|
+
active?: boolean;
|
|
76
|
+
}>;
|
|
77
|
+
export declare const IconSave: React.FC<{
|
|
78
|
+
active?: boolean;
|
|
79
|
+
}>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Placement, TooltipAlign, TooltipAxis } from '../types/buttons';
|
|
3
|
+
type TooltipProps = {
|
|
4
|
+
content: React.ReactNode;
|
|
5
|
+
tooltipAxis: TooltipAxis;
|
|
6
|
+
placement?: Placement;
|
|
7
|
+
axis?: TooltipAxis;
|
|
8
|
+
align?: TooltipAlign;
|
|
9
|
+
offset?: number;
|
|
10
|
+
autoFlip?: boolean;
|
|
11
|
+
delayHideMs?: number;
|
|
12
|
+
children: React.ReactElement<any>;
|
|
13
|
+
className?: string;
|
|
14
|
+
dir?: 'ltr' | 'rtl';
|
|
15
|
+
};
|
|
16
|
+
export declare const Tooltip: React.FC<TooltipProps>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export declare enum Mode {
|
|
3
|
+
none = 0,
|
|
4
|
+
drawLine = 1,
|
|
5
|
+
drawRectangle = 2,
|
|
6
|
+
drawCircle = 3,
|
|
7
|
+
drawTriangle = 4,
|
|
8
|
+
drawAngle = 5,
|
|
9
|
+
select = 6,
|
|
10
|
+
editShape = 7,
|
|
11
|
+
drawPolyline = 8,
|
|
12
|
+
drawArrow = 9,
|
|
13
|
+
drawCustomSymbol = 10,
|
|
14
|
+
drawText = 11
|
|
15
|
+
}
|
|
16
|
+
interface ModeContextProps {
|
|
17
|
+
mode: Mode;
|
|
18
|
+
setMode: (mode: Mode) => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const ModeProvider: React.FC<{
|
|
21
|
+
children: React.ReactNode;
|
|
22
|
+
}>;
|
|
23
|
+
export declare const useMode: () => ModeContextProps;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DeepPartial } from '../types/types';
|
|
2
|
+
import type { ChartOptions } from '../types/chartOptions';
|
|
3
|
+
import type { TickUpRenderEngine } from '../types/chartOptions';
|
|
4
|
+
/**
|
|
5
|
+
* Pluggable render / theme profile. Apply via {@link TickUpHostHandle.setEngine} or by merging
|
|
6
|
+
* {@link TickUpChartEngine.getChartOptionsPatch} into `chartOptions`.
|
|
7
|
+
*/
|
|
8
|
+
export interface TickUpChartEngine {
|
|
9
|
+
readonly id: TickUpRenderEngine | string;
|
|
10
|
+
/** Deep-partial merge applied on top of current chart options */
|
|
11
|
+
getChartOptionsPatch(): DeepPartial<ChartOptions>;
|
|
12
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DeepRequired } from '../../types/types';
|
|
2
|
+
import type { ChartOptions } from '../../types/chartOptions';
|
|
3
|
+
/** Core-only helper kept for compatibility with existing chart rendering checks. */
|
|
4
|
+
export declare function isPrimeEngine(options: DeepRequired<ChartOptions>): boolean;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DeepPartial } from '../../types/types';
|
|
2
|
+
import { ChartTheme } from '../../types/types';
|
|
3
|
+
import type { ChartOptions } from '../../types/chartOptions';
|
|
4
|
+
import type { TickUpChartEngine } from '../TickUpEngine';
|
|
5
|
+
/**
|
|
6
|
+
* Core-only distribution stub: premium renderer internals are not bundled here.
|
|
7
|
+
* Consumers can still compile against the public Prime API names.
|
|
8
|
+
*/
|
|
9
|
+
export declare const TICKUP_PRIME_PRIMARY = "#3EC5FF";
|
|
10
|
+
export declare const TICKUP_PRIME_SECONDARY = "#5A48DE";
|
|
11
|
+
export declare const TICKUP_PRIME_TEXT = "#e7ebff";
|
|
12
|
+
export declare function getTickUpPrimeThemePatch(theme?: ChartTheme): DeepPartial<ChartOptions>;
|
|
13
|
+
export declare function createTickUpPrimeEngine(theme?: ChartTheme): TickUpChartEngine;
|
|
14
|
+
export declare const TickUpPrime: TickUpChartEngine;
|
|
15
|
+
export declare const TickUpStandardEngine: TickUpChartEngine;
|
package/dist/full.d.ts
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Full public API: product shells (`TickUpCommand`, `TickUpHost`, …), optional shape classes,
|
|
3
|
+
* and deprecated aliases. Published as **`tickup/full`**.
|
|
4
|
+
*
|
|
5
|
+
* For canvas-focused integration, prefer the default **`tickup`** entry (see `index.ts`).
|
|
6
|
+
*/
|
|
7
|
+
export type { TickUpHostProps, TickUpHostHandle } from './components/TickUpHost';
|
|
8
|
+
export { TickUpHost } from './components/TickUpHost';
|
|
9
|
+
export { TickUpProductId } from './types/tickupProducts';
|
|
10
|
+
export type { Interval } from './types/Interval';
|
|
11
|
+
export { LiveDataPlacement } from './types/liveData';
|
|
12
|
+
export type { LiveDataApplyResult } from './types/liveData';
|
|
13
|
+
export { applyLiveDataMerge, normalizeInterval, normalizeIntervals, dedupeByTimePreferLast } from './utils/liveDataMerge';
|
|
14
|
+
export type { ChartSnapshotMeta } from './utils/captureChartRegion';
|
|
15
|
+
export { buildChartSnapshotFileName, sanitizeChartSnapshotToken, contrastingFooterTextColor, captureChartRegionToPngDataUrl, } from './utils/captureChartRegion';
|
|
16
|
+
export type { TimeRange, VisibleViewRanges } from './types/Graph';
|
|
17
|
+
export type { ChartDimensionsData } from './types/Graph';
|
|
18
|
+
export type { OverlayWithCalc, OverlaySeries, OverlayOptions } from './types/overlay';
|
|
19
|
+
export type { ShapeBaseArgs, Drawing } from './components/Drawing/types';
|
|
20
|
+
export { ShapeType } from './components/Drawing/types';
|
|
21
|
+
export type { DrawingSpec, DrawingPatch, DrawingInput } from './components/Drawing/drawHelper';
|
|
22
|
+
export { drawingFromSpec, applyDrawingPatch, isDrawingPatch } from './components/Drawing/drawHelper';
|
|
23
|
+
export type { DrawingSnapshot, DrawingQuery, DrawingWithZIndex } from './components/Drawing/drawingQuery';
|
|
24
|
+
export { shapeToSnapshot, filterDrawingsWithMeta, queryDrawingsToSnapshots, filterDrawingInstances, } from './components/Drawing/drawingQuery';
|
|
25
|
+
export type { ChartContextInfo } from './types/chartContext';
|
|
26
|
+
export type { TickUpStageHandle, TickUpStageProps } from './components/Canvas/TickUpStage';
|
|
27
|
+
export { TickUpStage } from './components/Canvas/TickUpStage';
|
|
28
|
+
/** @deprecated Use {@link TickUpStageHandle} */
|
|
29
|
+
export type { ChartStageHandle, ChartStageProps } from './components/Canvas/ChartStage';
|
|
30
|
+
/** @deprecated Use {@link TickUpStage} */
|
|
31
|
+
export { ChartStage } from './components/Canvas/ChartStage';
|
|
32
|
+
export type { DrawingStyleOptions, DrawingPoint, CanvasPoint } from './types/Drawings';
|
|
33
|
+
export type { IDrawingShape } from './components/Drawing/IDrawingShape';
|
|
34
|
+
export type { LineShapeArgs, RectangleShapeArgs, CircleShapeArgs, TriangleShapeArgs, AngleShapeArgs, ArrowShapeArgs, PolylineShapeArgs, CustomSymbolShapeArgs, } from './types/Drawings';
|
|
35
|
+
export { AxesPosition } from './types/types';
|
|
36
|
+
export { AxesUnitPlacement, ChartType, CurrencyDisplay, NumberNotation, PriceMetricKind, TickUpRenderEngine, TimeDetailLevel, } from './types/chartOptions';
|
|
37
|
+
export { StrokeLineStyle } from './types/overlay';
|
|
38
|
+
export { TickUpWatermarkPlacement } from './branding/tickupWatermark';
|
|
39
|
+
export { SettingsCategoryId } from './components/SettingsModal/SettingsModal';
|
|
40
|
+
export { SettingsModalIconRole } from './components/SettingsModal/SettingsModal.styles';
|
|
41
|
+
export { OverlayPriceKey, OverlayKind } from './types/overlay';
|
|
42
|
+
export { TickUpPulse, TickUpFlow, TickUpCommand, TickUpDesk, TickUpPrimeTier, } from './components/TickUpProducts';
|
|
43
|
+
export type { TickUpPulseProps, TickUpFlowProps, TickUpCommandProps, TickUpDeskProps, TickUpPrimeTierProps, } from './components/TickUpProducts';
|
|
44
|
+
export type { TickUpChartEngine } from './engines/TickUpEngine';
|
|
45
|
+
export { TickUpPrime, TickUpStandardEngine, createTickUpPrimeEngine, getTickUpPrimeThemePatch, } from './engines/prime/TickUpPrime';
|
|
46
|
+
export { TICKUP_PRIME_PRIMARY, TICKUP_PRIME_SECONDARY, TICKUP_PRIME_TEXT } from './engines/prime/TickUpPrime';
|
|
47
|
+
export { TickUpMark } from './branding/TickUpMark';
|
|
48
|
+
export type { TickUpThemeVariant } from './branding/TickUpMark';
|
|
49
|
+
export { TickUpAttribution } from './branding/TickUpAttribution';
|
|
50
|
+
export type { TickUpAttributionProps } from './branding/TickUpAttribution';
|
|
51
|
+
export { ShapePropertiesModal } from './components/ShapePropertiesModal/ShapePropertiesModal';
|
|
52
|
+
export type { ShapePropertiesFormState } from './components/ShapePropertiesModal/applyShapeProperties';
|
|
53
|
+
export type { ModalThemeVariant } from './components/SettingsModal/SettingsModal.styles';
|
|
54
|
+
export { Mode, ModeProvider, useMode } from './contexts/ModeContext';
|
|
55
|
+
export { withOverlayStyle, OverlaySpecs, overlay } from './components/Canvas/utils/drawOverlay';
|
|
56
|
+
export { GlobalStyle } from './styles/App.styles';
|
|
57
|
+
export { generateDrawingShapeId } from './components/Drawing/IDrawingShape';
|
|
58
|
+
export { CustomSymbolShape } from './components/Drawing/CustomSymbolShape';
|
|
59
|
+
export { LineShape } from './components/Drawing/LineShape';
|
|
60
|
+
export { RectangleShape } from './components/Drawing/RectangleShape';
|
|
61
|
+
export { CircleShape } from './components/Drawing/CircleShape';
|
|
62
|
+
export { TriangleShape } from './components/Drawing/TriangleShape';
|
|
63
|
+
export { AngleShape } from './components/Drawing/AngleShape';
|
|
64
|
+
export { ArrowShape } from './components/Drawing/ArrowShape';
|
|
65
|
+
export { Polyline } from './components/Drawing/Polyline';
|
|
66
|
+
export { timeToX, xToTime, priceToY, yToPrice, interpolatedCloseAtTime, lerp, xFromCenter, xFromStart, } from './components/Canvas/utils/GraphHelpers';
|
|
67
|
+
export type { ChartOptions } from './types/chartOptions';
|
|
68
|
+
export type { DeepRequired } from './types/types';
|
|
69
|
+
export { ChartTheme } from './types/types';
|
|
70
|
+
export { RangeSelector } from './components/Toolbar/RangeSelector';
|
|
71
|
+
export type { RangeKey } from './components/Toolbar/RangeSelector';
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TimeRange } from "../types/Graph";
|
|
2
|
+
import { Interval } from "../types/Interval";
|
|
3
|
+
import { ChartRenderContext } from "../types/chartOptions";
|
|
4
|
+
type VisibleRangeInput = TimeRange & Partial<{
|
|
5
|
+
startIndex: number;
|
|
6
|
+
endIndex: number;
|
|
7
|
+
}>;
|
|
8
|
+
export declare function useChartData(intervalsArray: Interval[], visibleRange: VisibleRangeInput, currentPoint: {
|
|
9
|
+
x: number;
|
|
10
|
+
y: number;
|
|
11
|
+
} | null, canvasWidth: number, canvasHeight: number): {
|
|
12
|
+
renderContext: ChartRenderContext | null;
|
|
13
|
+
intervalSeconds: number;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RefObject } from "react";
|
|
2
|
+
import type { CanvasSizes } from "../types/types";
|
|
3
|
+
interface UseElementSizeReturn<T extends HTMLElement> {
|
|
4
|
+
ref: RefObject<T>;
|
|
5
|
+
size: CanvasSizes;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Measures an element's rendered size (CSS pixels, fractional allowed) using ResizeObserver.
|
|
9
|
+
* - Returns a stable ref to attach to the measured element
|
|
10
|
+
* - Updates on layout changes and window resize (covers DPR/zoom changes)
|
|
11
|
+
*/
|
|
12
|
+
export declare function useElementSize<T extends HTMLElement>(): UseElementSizeReturn<T>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Interval } from "../types/Interval";
|
|
3
|
+
import { TimeRange } from "../types/Graph";
|
|
4
|
+
interface PanAndZoomHandlers {
|
|
5
|
+
onPanStart: () => void;
|
|
6
|
+
onPan: (dx: number) => void;
|
|
7
|
+
onPanEnd: (dx: number) => void;
|
|
8
|
+
onWheelStart: () => void;
|
|
9
|
+
onWheelEnd: () => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function usePanAndZoom(canvasRef: React.RefObject<HTMLCanvasElement | null>, isEnabled: boolean, intervalsArray: Interval[], visibleRange: TimeRange, setVisibleRange: (range: TimeRange | ((prev: TimeRange) => TimeRange)) => void, intervalSeconds: number, handlers: PanAndZoomHandlers, getCssWidth?: () => number): void;
|
|
12
|
+
export {};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* **Default npm entry — basic charts:** `TickUpStage`, data helpers, overlays, drawings (types +
|
|
3
|
+
* factories), snapshots, and branding. Build your own chrome around the canvas.
|
|
4
|
+
*
|
|
5
|
+
* **Full product UI** (Pulse, Flow, Command, Desk, `TickUpHost`, shape classes, …) is
|
|
6
|
+
* published separately as `import … from 'tickup/full'`.
|
|
7
|
+
*/
|
|
8
|
+
export type { Interval } from './types/Interval';
|
|
9
|
+
export { LiveDataPlacement } from './types/liveData';
|
|
10
|
+
export type { LiveDataApplyResult } from './types/liveData';
|
|
11
|
+
export { applyLiveDataMerge, normalizeInterval, normalizeIntervals, dedupeByTimePreferLast } from './utils/liveDataMerge';
|
|
12
|
+
export type { ChartSnapshotMeta } from './utils/captureChartRegion';
|
|
13
|
+
export { buildChartSnapshotFileName, sanitizeChartSnapshotToken, contrastingFooterTextColor, captureChartRegionToPngDataUrl, } from './utils/captureChartRegion';
|
|
14
|
+
export type { TimeRange, VisibleViewRanges } from './types/Graph';
|
|
15
|
+
export type { ChartDimensionsData } from './types/Graph';
|
|
16
|
+
export type { OverlayWithCalc, OverlaySeries, OverlayOptions } from './types/overlay';
|
|
17
|
+
export type { ShapeBaseArgs, Drawing } from './components/Drawing/types';
|
|
18
|
+
export { ShapeType } from './components/Drawing/types';
|
|
19
|
+
export type { DrawingSpec, DrawingPatch, DrawingInput } from './components/Drawing/drawHelper';
|
|
20
|
+
export { drawingFromSpec, applyDrawingPatch, isDrawingPatch } from './components/Drawing/drawHelper';
|
|
21
|
+
export type { DrawingSnapshot, DrawingQuery, DrawingWithZIndex } from './components/Drawing/drawingQuery';
|
|
22
|
+
export { shapeToSnapshot, filterDrawingsWithMeta, queryDrawingsToSnapshots, filterDrawingInstances, } from './components/Drawing/drawingQuery';
|
|
23
|
+
export type { ChartContextInfo } from './types/chartContext';
|
|
24
|
+
export type { TickUpStageHandle, TickUpStageProps } from './components/Canvas/TickUpStage';
|
|
25
|
+
export { TickUpStage } from './components/Canvas/TickUpStage';
|
|
26
|
+
export type { DrawingStyleOptions, DrawingPoint, CanvasPoint } from './types/Drawings';
|
|
27
|
+
export type { IDrawingShape } from './components/Drawing/IDrawingShape';
|
|
28
|
+
export type { LineShapeArgs, RectangleShapeArgs, CircleShapeArgs, TriangleShapeArgs, AngleShapeArgs, ArrowShapeArgs, PolylineShapeArgs, CustomSymbolShapeArgs, } from './types/Drawings';
|
|
29
|
+
export { AxesPosition, ChartTheme } from './types/types';
|
|
30
|
+
export { AxesUnitPlacement, ChartType, CurrencyDisplay, NumberNotation, PriceMetricKind, TickUpRenderEngine, TimeDetailLevel, } from './types/chartOptions';
|
|
31
|
+
export type { ChartOptions } from './types/chartOptions';
|
|
32
|
+
export { StrokeLineStyle } from './types/overlay';
|
|
33
|
+
export { TickUpWatermarkPlacement } from './branding/tickupWatermark';
|
|
34
|
+
export type { DeepRequired } from './types/types';
|
|
35
|
+
export { OverlayPriceKey, OverlayKind } from './types/overlay';
|
|
36
|
+
export { TickUpMark } from './branding/TickUpMark';
|
|
37
|
+
export type { TickUpThemeVariant } from './branding/TickUpMark';
|
|
38
|
+
export { TickUpAttribution } from './branding/TickUpAttribution';
|
|
39
|
+
export type { TickUpAttributionProps } from './branding/TickUpAttribution';
|
|
40
|
+
export { Mode, ModeProvider, useMode } from './contexts/ModeContext';
|
|
41
|
+
export { withOverlayStyle, OverlaySpecs, overlay } from './components/Canvas/utils/drawOverlay';
|
|
42
|
+
export { GlobalStyle } from './styles/App.styles';
|
|
43
|
+
export { generateDrawingShapeId } from './components/Drawing/IDrawingShape';
|
|
44
|
+
export type { TickUpChartEngine } from './engines/TickUpEngine';
|
|
45
|
+
export { TickUpPrime, TickUpStandardEngine, createTickUpPrimeEngine, getTickUpPrimeThemePatch, } from './engines/prime/TickUpPrime';
|
|
46
|
+
export { TICKUP_PRIME_PRIMARY, TICKUP_PRIME_SECONDARY, TICKUP_PRIME_TEXT } from './engines/prime/TickUpPrime';
|
|
47
|
+
export { timeToX, xToTime, priceToY, yToPrice, interpolatedCloseAtTime, lerp, xFromCenter, xFromStart, } from './components/Canvas/utils/GraphHelpers';
|
package/dist/main.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|