tickup 1.0.31 → 1.0.33

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,76 +1,78 @@
1
- <p align="center">
2
- <img src="https://raw.githubusercontent.com/BARDAMRI/tickup-charts/main/public/tickup-icon.svg" alt="TickUp logo" width="96" height="96" />
3
- </p>
1
+ ![TickUp Logo](https://raw.githubusercontent.com/BARDAMRI/tickup-charts/main/public/tickup-icon.svg)
4
2
 
5
- <h1 align="center">TickUp Charts</h1>
3
+ # TickUp Charts
6
4
 
7
- <p align="center"><strong>The High-Performance Canvas Engine for Modern Financial Apps.</strong></p>
5
+ [![NPM Version](https://img.shields.io/npm/v/tickup.svg)](https://www.npmjs.com/package/tickup)
6
+ [![License](https://img.shields.io/badge/license-MIT-yellow.svg)](https://github.com/BARDAMRI/tickup-charts/blob/main/LICENSE)
7
+ [![Bundle Size](https://img.shields.io/bundlephobia/minzip/tickup)](https://bundlephobia.com/package/tickup)
8
8
 
9
- <p align="center">
10
- <a href="https://www.npmjs.com/package/tickup"><img src="https://img.shields.io/npm/v/tickup.svg" alt="NPM Version" /></a>
11
- <a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-yellow.svg" alt="License" /></a>
12
- <a href="https://bundlephobia.com/package/tickup"><img src="https://img.shields.io/bundlephobia/minzip/tickup" alt="Bundle Size" /></a>
13
- </p>
9
+ High-performance, canvas-based financial charting engine for React.
14
10
 
15
- ### Live Demo & Documentation
11
+ ![TickUp Interaction Demo](https://raw.githubusercontent.com/BARDAMRI/tickup-charts/main/assets/showcase/interaction-demo.gif)
16
12
 
17
- **Live Demo:** [https://bardamri.github.io/tickup-charts/](https://bardamri.github.io/tickup-charts/)
18
- **Docs Hub:** [https://github.com/BARDAMRI/tickup-charts/blob/main/documentation/README.md](https://github.com/BARDAMRI/tickup-charts/blob/main/documentation/README.md)
13
+ ## Feature Highlights
19
14
 
20
- TickUp is a lightning-fast, Canvas 2D-based charting library for React. It is built for professional financial interfaces where smooth interaction, visual accuracy, and predictable performance are critical.
15
+ - Canvas 2D rendering optimized for smooth pan/zoom and large data streams.
16
+ - Built-in indicators and overlays for practical market analysis workflows.
17
+ - RTL-ready chart interfaces for multilingual financial products.
18
+ - TypeScript-first API with imperative controls for advanced integrations.
21
19
 
22
- ### Why TickUp
23
-
24
- | Speed | Extensibility | Developer Experience |
25
- | --- | --- | --- |
26
- | **Canvas 2D pipeline** tuned for fast redraws and high-frequency updates. | **Composable architecture** ready for custom tools, overlays, and host app workflows. | **TypeScript-first API** with strong typing, IntelliSense, and practical docs. |
27
-
28
- ### Standard vs Prime
20
+ ## TickUp Lite (Core) vs TickUp Prime
29
21
 
30
22
  | Feature | Standard (MIT) | Prime (Pro) |
31
- | --- | --- | --- |
23
+ | :--- | :--- | :--- |
32
24
  | Engine | ✅ High-Speed Canvas 2D | 🚀 Ultra-Low Latency Rendering |
33
- | Visuals | ✅ Standard Financial Styles | 💎 "Neon" Glowing Rendering Mode |
34
- | Analysis Tools | ✅ Basic Indicators | 💎 Pro Tools (Fibonacci, Elliott, Gann) |
35
- | Interaction | ✅ Pan & Zoom | 🚀 Advanced Multi-Touch & Precision Drawing |
36
- | Localization | ✅ LTR Only | 💎 Full RTL Support (Hebrew/Arabic) |
37
- | Performance | ✅ Up to 50k Data Points | 🚀 1M+ Data Points (HFT Optimized) |
38
- | License | ✅ MIT (Open Source) | 💎 Commercial (Private & Protected) |
25
+ | Visuals | ✅ Standard Financial Styles | 💎 Neon Rendering Engine |
26
+ | Indicators | ✅ Core Indicator Set | 💎 Advanced Indicators (Fibonacci, Elliott) |
27
+ | Localization | ✅ LTR Support | 🚀 Full RTL + Professional i18n Workflows |
28
+ | License | ✅ MIT Open Source | 💎 Commercial License |
39
29
 
40
- ### Pricing & Licensing
30
+ ## Prime Evaluation State
41
31
 
42
- | Plan | License | Best For | Price |
43
- | :--- | :--- | :--- | :--- |
44
- | Community | MIT | Open Source & Hobbyists | Free |
45
- | Professional | Commercial | Solo Founders & Small Teams | $99/yr |
46
- | Enterprise | Custom | High-Frequency Trading & Banks | Contact Us |
32
+ When you run the Prime tier without an active license key, TickUp stays fully interactive for evaluation but clearly marks the session:
33
+
34
+ - An **Evaluation** badge appears in the Prime shell.
35
+ - The Prime view keeps a visible evaluation/watermark treatment until a valid key is applied.
47
36
 
48
- **Pro Features:** **Neon Rendering Engine**, **Advanced Indicators (Fibonacci, Elliott)**, **RTL Support**, and **Priority Support**.
37
+ This makes demos easy while keeping production licensing explicit.
49
38
 
50
- ### Visual Showcase
39
+ ## How to Upgrade
51
40
 
52
- ![Prime Hero](https://raw.githubusercontent.com/BARDAMRI/tickup-charts/main/assets/showcase/hero-prime-neon.png)
41
+ Ready for the Pro/Luxury Prime tier?
53
42
 
54
- | Core Rendering | Prime Rendering |
55
- | --- | --- |
56
- | ![Core](https://raw.githubusercontent.com/BARDAMRI/tickup-charts/main/assets/showcase/compare-standard.png) | ![Prime](https://raw.githubusercontent.com/BARDAMRI/tickup-charts/main/assets/showcase/compare-prime.png) |
43
+ 1. Explore the Prime offering: [TickUp Prime Repository](https://github.com/BARDAMRI/tickup-prime)
44
+ 2. Try the live experience: [Prime Showcase](https://bardamri.github.io/tickup-charts/)
45
+ 3. Request a commercial license key for production use.
57
46
 
58
- ### Installation
47
+ ## Pricing & Licensing
48
+
49
+ | Plan | License | Best For | Price |
50
+ | :--- | :--- | :--- | :--- |
51
+ | Community | MIT | Open Source & Hobby Projects | Free |
52
+ | Professional | Commercial | Solo Founders & Small Teams | $99/yr |
53
+ | Enterprise | Custom | HFT Platforms, Brokerages, and Banks | Contact |
54
+
55
+ ## Quick Start
59
56
 
60
57
  ```bash
61
58
  npm install tickup react react-dom styled-components
62
59
  ```
63
60
 
64
- ### Documentation
61
+ ```tsx
62
+ import { TickUpStage } from 'tickup';
65
63
 
66
- - [Quick Start Guide](./documentation/03-quick-start.md)
67
- - [Imperative API Reference](./documentation/06-imperative-api.md)
68
- - [Live Data & Updates](./documentation/07-data-and-live-updates.md)
64
+ export function App() {
65
+ return <TickUpStage intervalsArray={[]} />;
66
+ }
67
+ ```
69
68
 
70
- ### 🚀 Take it to the next level with TickUp Prime
69
+ ## Documentation
71
70
 
72
- Interested in TickUp Prime? Visit our [Showcase](https://bardamri.github.io/tickup-charts/) to test it live or email us for a license key.
71
+ - [Documentation Hub](https://github.com/BARDAMRI/tickup-charts/blob/main/documentation/README.md)
72
+ - [Quick Start Guide](https://github.com/BARDAMRI/tickup-charts/blob/main/documentation/03-quick-start.md)
73
+ - [Imperative API Reference](https://github.com/BARDAMRI/tickup-charts/blob/main/documentation/06-imperative-api.md)
74
+ - [Live Data & Updates](https://github.com/BARDAMRI/tickup-charts/blob/main/documentation/07-data-and-live-updates.md)
73
75
 
74
- ### Contact
76
+ ## Prime CTA
75
77
 
76
- [bardamri1702@gmail.com](mailto:bardamri1702@gmail.com) | [GitHub](https://github.com/BARDAMRI)
78
+ Interested in TickUp Prime? Visit the live [Showcase](https://bardamri.github.io/tickup-charts/) to test it now, or review the [Prime repository](https://github.com/BARDAMRI/tickup-prime) for integration details.
@@ -131,8 +131,12 @@ export type TickUpHostProps = {
131
131
  * Forced on for `productId="desk"`. Default true. Set false to disable branding.
132
132
  */
133
133
  showAttribution?: boolean;
134
- /** For `productId="prime"`: non-empty value hides the eval strip. */
134
+ /** For `productId="prime"`: candidate key passed into Prime validation. */
135
135
  licenseKey?: string | null;
136
+ /** Optional user/account identifier paired with the Prime license key. */
137
+ licenseUserIdentifier?: string | null;
138
+ /** Optional override for Prime validation result. */
139
+ licenseValidationOverride?: boolean;
136
140
  /**
137
141
  * Shell **light** / **dark** (toolbar, settings modal chrome, `GlobalStyle` page background).
138
142
  * When set, the host is **controlled**: update this prop when {@link onThemeVariantChange} fires
@@ -1315,7 +1315,7 @@
1315
1315
  width: 100%;
1316
1316
  min-width: 0;
1317
1317
  min-height: 0;
1318
- `;const CANDLES_DEFAULT_STYLE={bullColor:"#26a69a",bearColor:"#ef5350",upColor:"#26a69a",downColor:"#ef5350",borderColor:"#333333",borderWidth:1,bodyWidthFactor:.6,spacingFactor:.2},LINE_DEFAULT_STYLE={color:"#2962ff",lineWidth:2},AREA_DEFAULT_STYLE={fillColor:"rgba(41, 98, 255, 0.2)",strokeColor:"rgba(41, 98, 255, 1)",lineWidth:2},HISTOGRAM_DEFAULT_STYLE={bullColor:"#26a69a",bearColor:"#ef5350",opacity:.5,heightRatio:.3},BAR_DEFAULT_STYLE={bullColor:"#26a69a",bearColor:"#ef5350",opacity:.7},GRID_DEFAULT_STYLE={color:"#e0e0e0",lineWidth:1,gridSpacing:50,lineColor:"#e0e0e0",lineDash:[]},OVERLAY_DEFAULT_STYLE={lineColor:"#ff9800",lineWidth:1,lineStyle:StrokeLineStyle.solid},AXES_DEFAULT_STYLE={axisPosition:AxesPosition.left,textColor:"#424242",font:"12px Arial",lineColor:"#9e9e9e",lineWidth:1,locale:"en-US",language:"en",numberFractionDigits:2,decimalSeparator:".",thousandsSeparator:",",dateFormat:"MMM d",currency:"USD",useCurrency:!1,currencyDisplay:CurrencyDisplay.symbol,numberNotation:NumberNotation.standard,tickSize:.01,minimumFractionDigits:2,maximumFractionDigits:8,maximumSignificantDigits:21,autoPrecision:!1,unit:"",unitPlacement:AxesUnitPlacement.suffix,timezone:"UTC",exchange:"",tradingSessions:[],holidays:[],displayCurrency:"USD",conversionRate:1},DRAWINGS_DEFAULT_STYLE={lineColor:"#2196f3",lineWidth:2,lineStyle:StrokeLineStyle.solid,fillColor:"rgba(33, 150, 243, 0.2)",selected:{lineColor:"#ff9800",lineWidthAdd:1,lineStyle:StrokeLineStyle.dashed,fillColor:"rgba(255, 152, 0, 0.3)"}},DEFAULT_STYLES={candles:CANDLES_DEFAULT_STYLE,line:LINE_DEFAULT_STYLE,area:AREA_DEFAULT_STYLE,histogram:HISTOGRAM_DEFAULT_STYLE,bar:BAR_DEFAULT_STYLE,grid:GRID_DEFAULT_STYLE,overlay:OVERLAY_DEFAULT_STYLE,axes:AXES_DEFAULT_STYLE,drawings:DRAWINGS_DEFAULT_STYLE,backgroundColor:"#ffffff",showGrid:!0},DEFAULT_GRAPH_OPTIONS={base:{chartType:ChartType.Candlestick,engine:TickUpRenderEngine.standard,theme:ChartTheme.light,showOverlayLine:!1,showHistogram:!0,showCrosshair:!0,showCrosshairValues:!1,showCandleTooltip:!0,style:DEFAULT_STYLES,overlays:[],overlayKinds:[]},axes:{yAxisPosition:AxesPosition.left,currency:"USD",numberOfYTicks:5}};var TickUpProductId=(A=>(A.pulse="pulse",A.flow="flow",A.command="command",A.desk="desk",A.prime="prime",A))(TickUpProductId||{});const EMPTY_CHART_OPTIONS={};function tickupProductLayoutDefaults(A){switch(A??TickUpProductId.command){case TickUpProductId.pulse:return{showSidebar:!1,showTopBar:!1,showSettingsBar:!1};case TickUpProductId.flow:return{showSidebar:!1,showTopBar:!0,showSettingsBar:!0};case TickUpProductId.command:case TickUpProductId.desk:case TickUpProductId.prime:default:return{showSidebar:!0,showTopBar:!0,showSettingsBar:!0}}}const TickUpHost=o.forwardRef((A,e)=>{const{intervalsArray:t=[],initialNumberOfYTicks:n=5,initialTimeDetailLevel:r=TimeDetailLevel.Auto,initialTimeFormat12h:a=!1,chartOptions:i=EMPTY_CHART_OPTIONS,showSidebar:s,showTopBar:B,showSettingsBar:Q,onRefreshRequest:g,symbol:E,defaultSymbol:l,onSymbolChange:d,onSymbolSearch:c,productId:u,licenseKey:C,showAttribution:I=!0,themeVariant:m,defaultThemeVariant:f=ChartTheme.light,onThemeVariantChange:h,interval:v,onIntervalChange:p,range:b,onRangeChange:w,initialRange:P,onIntervalSearch:x}=A,y=null!=u,V=tickupProductLayoutDefaults(u),z=y?V.showSidebar:s??V.showSidebar,j=y?V.showTopBar:B??V.showTopBar,M=y?V.showSettingsBar:Q??V.showSettingsBar,X=u===TickUpProductId.desk||I,[T,F]=o.useState(()=>deepMerge(DEFAULT_GRAPH_OPTIONS,i)),[O,D]=o.useState(f),W=void 0!==m,q=W?m:O,[H,R]=o.useState(null),N=o.useRef(null),[S,k]=o.useState(!1),[L,K]=o.useState({isOpen:!1,title:"",message:""}),[Y,U]=o.useState({showSidebar:z,showTopBar:j,showSettingsBar:M,timeFormat12h:a}),G=o.useRef(i);o.useEffect(()=>{deepEqual(i,G.current)||(G.current=i,F(A=>{const e=deepMerge(A,i);return deepEqual(e,A)?A:e}))},[i]),o.useEffect(()=>{if(y){const A=tickupProductLayoutDefaults(u);return void U(e=>({...e,showSidebar:A.showSidebar,showTopBar:A.showTopBar,showSettingsBar:A.showSettingsBar}))}const A=tickupProductLayoutDefaults(void 0);U(e=>({...e,showSidebar:void 0!==s?s:A.showSidebar,showTopBar:void 0!==B?B:A.showTopBar,showSettingsBar:void 0!==Q?Q:A.showSettingsBar}))},[y,u,s,B,Q]),o.useEffect(()=>{const A=A=>{var e;const t=window.getSelection();if(!t||0===t.rangeCount)return;const n=t.toString();if(n){const t=FormattingService.parseInput(n,T.base.style.axes);null!==t&&(null==(e=A.clipboardData)||e.setData("text/plain",FormattingService.toClipboard(t)),A.preventDefault())}};return window.addEventListener("copy",A),()=>window.removeEventListener("copy",A)},[T.base.style.axes]),o.useImperativeHandle(e,()=>({addShape:A=>{N.current&&N.current.addShape&&N.current.addShape(A)},updateShape:(A,e)=>{N.current&&N.current.updateShape&&N.current.updateShape(A,e)},patchShape:(A,e)=>{var t;(null==(t=N.current)?void 0:t.patchShape)&&N.current.patchShape(A,e)},setDrawingsFromSpecs:A=>{var e;(null==(e=N.current)?void 0:e.setDrawingsFromSpecs)&&N.current.setDrawingsFromSpecs(A)},deleteShape:A=>{N.current&&N.current.deleteShape&&N.current.deleteShape(A)},addInterval:A=>{N.current&&N.current.addInterval&&N.current.addInterval(A)},updateInterval:(A,e)=>{N.current&&N.current.updateInterval&&N.current.updateInterval(A,e)},deleteInterval:A=>{N.current&&N.current.deleteInterval&&N.current.deleteInterval(A)},getViewInfo:()=>N.current&&N.current.getViewInfo?N.current.getViewInfo():null,getDrawings:A=>{var e;return(null==(e=N.current)?void 0:e.getDrawings)?N.current.getDrawings(A):[]},getDrawingById:A=>{var e;return(null==(e=N.current)?void 0:e.getDrawingById)?N.current.getDrawingById(A):null},getDrawingInstances:A=>{var e;return(null==(e=N.current)?void 0:e.getDrawingInstances)?N.current.getDrawingInstances(A):[]},getSelectedDrawing:()=>{var A,e;return(null==(e=null==(A=N.current)?void 0:A.getSelectedDrawing)?void 0:e.call(A))??null},getSelectedDrawingId:()=>{var A,e;return(null==(e=null==(A=N.current)?void 0:A.getSelectedDrawingId)?void 0:e.call(A))??null},selectShape:A=>{var e,t;null==(t=null==(e=N.current)?void 0:e.selectShape)||t.call(e,A)},unselectShape:()=>{var A,e;null==(e=null==(A=N.current)?void 0:A.unselectShape)||e.call(A)},updateSelectedShape:A=>{var e,t;null==(t=null==(e=N.current)?void 0:e.updateSelectedShape)||t.call(e,A)},getChartContext:()=>{var A;return(null==(A=N.current)?void 0:A.getChartContext)?N.current.getChartContext():null},getCanvasSize:()=>N.current&&N.current.getCanvasSize?N.current.getCanvasSize():null,getVisibleRanges:()=>{var A;return(null==(A=N.current)?void 0:A.getVisibleRanges)?N.current.getVisibleRanges():null},clearCanvas:()=>{N.current&&N.current.clearCanvas&&N.current.clearCanvas()},redrawCanvas:()=>{N.current&&N.current.redrawCanvas&&N.current.redrawCanvas()},reloadCanvas:()=>{N.current&&N.current.reloadCanvas&&N.current.reloadCanvas()},applyLiveData:(A,e)=>{var t;return(null==(t=N.current)?void 0:t.applyLiveData)?N.current.applyLiveData(A,e):{ok:!1,intervals:[],errors:["Chart stage is not ready"],warnings:[]}},fitVisibleRangeToData:()=>{var A,e;null==(e=null==(A=N.current)?void 0:A.fitVisibleRangeToData)||e.call(A)},nudgeVisibleTimeRangeToLatest:A=>{var e,t;null==(t=null==(e=N.current)?void 0:e.nudgeVisibleTimeRangeToLatest)||t.call(e,A)},getMainCanvasElement:()=>{var A,e;return(null==(e=null==(A=N.current)?void 0:A.getMainCanvasElement)?void 0:e.call(A))??null},setEngine:A=>{F(e=>deepMerge(e,A.getChartOptionsPatch()))},setInteractionMode:A=>{var e,t;null==(t=null==(e=N.current)?void 0:e.setInteractionMode)||t.call(e,A)},deleteSelectedDrawing:()=>{var A,e;null==(e=null==(A=N.current)?void 0:A.deleteSelectedDrawing)||e.call(A)},setInterval:A=>{var e;null==(e=N.current)||e.setInterval(A)},setRange:A=>{var e;null==(e=N.current)||e.setRange(A)},showAlert:(A,e)=>{K({isOpen:!0,title:A,message:e})},closeAlert:()=>{K(A=>({...A,isOpen:!1}))}}));const Z=o.useMemo(()=>({showSidebar:Y.showSidebar,showTopBar:Y.showTopBar,showHistogram:T.base.showHistogram,showCandleTooltip:T.base.showCandleTooltip,showCrosshair:T.base.showCrosshair,showCrosshairValues:!!T.base.showCrosshair&&T.base.showCrosshairValues,showGrid:T.base.style.showGrid,timeFormat12h:Y.timeFormat12h,yAxisPosition:T.axes.yAxisPosition,numberOfYTicks:T.axes.numberOfYTicks,backgroundColor:T.base.style.backgroundColor,textColor:T.base.style.axes.textColor,bullColor:T.base.style.candles.bullColor,bearColor:T.base.style.candles.bearColor,lineColor:T.base.style.line.color,fractionDigits:T.base.style.axes.numberFractionDigits??2,decimalSeparator:T.base.style.axes.decimalSeparator??".",thousandsSeparator:T.base.style.axes.thousandsSeparator??",",dateFormat:T.base.style.axes.dateFormat??"MMM d",locale:T.base.style.axes.locale??"en-US",language:T.base.style.axes.language??"en",currency:T.base.style.axes.currency??"USD",useCurrency:T.base.style.axes.useCurrency??!1,currencyDisplay:T.base.style.axes.currencyDisplay??CurrencyDisplay.symbol,numberNotation:T.base.style.axes.numberNotation??NumberNotation.standard,minimumFractionDigits:T.base.style.axes.minimumFractionDigits??2,maximumFractionDigits:T.base.style.axes.maximumFractionDigits??8,maximumSignificantDigits:T.base.style.axes.maximumSignificantDigits??21,tickSize:T.base.style.axes.tickSize??.01,autoPrecision:T.base.style.axes.autoPrecision??!1,unit:T.base.style.axes.unit??"",unitPlacement:T.base.style.axes.unitPlacement??AxesUnitPlacement.suffix,drawingLineColor:T.base.style.drawings.lineColor,drawingLineWidth:T.base.style.drawings.lineWidth,drawingLineStyle:T.base.style.drawings.lineStyle,drawingFillColor:T.base.style.drawings.fillColor,drawingSelectedLineColor:T.base.style.drawings.selected.lineColor,drawingSelectedLineStyle:T.base.style.drawings.selected.lineStyle??StrokeLineStyle.dashed,drawingSelectedLineWidthAdd:T.base.style.drawings.selected.lineWidthAdd??1}),[Y.showSidebar,Y.showTopBar,Y.timeFormat12h,T.base.showHistogram,T.base.showCandleTooltip,T.base.showCrosshair,T.base.showCrosshairValues,T.base.style.showGrid,T.axes.yAxisPosition,T.axes.numberOfYTicks,T.base.style.backgroundColor,T.base.style.axes,T.base.style.line.color,T.base.style.candles.bullColor,T.base.style.candles.bearColor,T.base.style.drawings]),J=o.useMemo(()=>q===ChartTheme.light?T:deepMerge(T,{base:{theme:ChartTheme.dark,style:{backgroundColor:"#121212",axes:{textColor:"#e6edf3",lineColor:"#6e7681"},grid:{color:"#30363d",lineColor:"#30363d"},candles:{borderColor:"#757575"}}}}),[T,q]),$=u===TickUpProductId.prime&&!C;return jsxRuntime.jsxs(ModeProvider,{children:[jsxRuntime.jsx(GlobalStyle,{$pageBackground:q===ChartTheme.dark?"#121212":"#ffffff"}),jsxRuntime.jsxs(MainAppWindow,{className:"tickup-root",style:{backgroundColor:J.base.style.backgroundColor,display:"flex",flexDirection:"column",minHeight:0},children:[$?jsxRuntime.jsxs("div",{style:{flexShrink:0,padding:"6px 10px",fontSize:11,textAlign:"center",fontFamily:"system-ui, sans-serif",backgroundColor:q===ChartTheme.dark?"#2d333b":"#fff8e1",color:q===ChartTheme.dark?"#d4d4d8":"#5c4a00",borderBottom:"1px solid "+(q===ChartTheme.dark?"#444c56":"#f0d060")},children:["TickUp Prime tier — evaluation mode. Provide ",jsxRuntime.jsx("code",{children:"licenseKey"})," when your license is active."]}):null,jsxRuntime.jsxs("div",{style:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"column",position:"relative"},children:[jsxRuntime.jsx(TickUpStage,{ref:N,intervalsArray:t,numberOfYTicks:J.axes.numberOfYTicks,timeDetailLevel:r,timeFormat12h:Y.timeFormat12h,selectedIndex:H,setSelectedIndex:R,chartOptions:J,showTopBar:Y.showTopBar,showLeftBar:Y.showSidebar,handleChartTypeChange:A=>{R(null),F(e=>({...e,base:{...e.base,chartType:A}}))},openSettingsMenu:()=>k(!0),showSettingsBar:Y.showSettingsBar,onRefreshRequest:g,onToggleTheme:()=>{const A=q===ChartTheme.light?ChartTheme.dark:ChartTheme.light;W||D(A),null==h||h(A)},symbol:E,defaultSymbol:l,onSymbolChange:d,onSymbolSearch:c,interval:v,onIntervalChange:p,onIntervalSearch:x,range:b,onRangeChange:w,initialRange:P,themeVariant:q,showBrandWatermark:X}),jsxRuntime.jsx(SettingsModal,{isOpen:S,onClose:()=>k(!1),onSave:A=>{U(e=>({...e,...y?{}:{showSidebar:A.showSidebar,showTopBar:A.showTopBar},timeFormat12h:A.timeFormat12h})),F(e=>({...e,axes:{...e.axes,yAxisPosition:A.yAxisPosition,numberOfYTicks:A.numberOfYTicks},base:{...e.base,showHistogram:A.showHistogram,showCandleTooltip:A.showCandleTooltip,showCrosshair:A.showCrosshair,showCrosshairValues:!!A.showCrosshair&&A.showCrosshairValues,style:{...e.base.style,showGrid:A.showGrid,backgroundColor:A.backgroundColor,axes:{...e.base.style.axes,textColor:A.textColor,numberFractionDigits:A.fractionDigits,decimalSeparator:A.decimalSeparator,thousandsSeparator:A.thousandsSeparator,dateFormat:A.dateFormat,locale:A.locale,language:A.language,currency:A.currency,useCurrency:A.useCurrency,currencyDisplay:A.currencyDisplay,numberNotation:A.numberNotation,tickSize:A.tickSize,minimumFractionDigits:A.minimumFractionDigits,maximumFractionDigits:A.maximumFractionDigits,maximumSignificantDigits:A.maximumSignificantDigits,autoPrecision:A.autoPrecision,unit:A.unit,unitPlacement:A.unitPlacement},candles:{...e.base.style.candles,bullColor:A.bullColor,upColor:A.bullColor,bearColor:A.bearColor,downColor:A.bearColor},histogram:{...e.base.style.histogram,bullColor:A.bullColor,bearColor:A.bearColor},bar:{...e.base.style.bar,bullColor:A.bullColor,bearColor:A.bearColor},line:{...e.base.style.line,color:A.lineColor},drawings:{...e.base.style.drawings,lineColor:A.drawingLineColor,lineWidth:A.drawingLineWidth,lineStyle:A.drawingLineStyle,fillColor:A.drawingFillColor,selected:{...e.base.style.drawings.selected,lineColor:A.drawingSelectedLineColor,lineStyle:A.drawingSelectedLineStyle,lineWidthAdd:A.drawingSelectedLineWidthAdd}}}}}))},initialSettings:Z,themeVariant:q,lockToolbarLayout:y,contained:!0}),jsxRuntime.jsx(AlertModal,{isOpen:L.isOpen,onClose:()=>K(A=>({...A,isOpen:!1})),title:L.title,message:L.message,themeVariant:q})]})]})]})}),TickUpPulse=o.forwardRef((A,e)=>jsxRuntime.jsx(TickUpHost,{ref:e,productId:TickUpProductId.pulse,...A})),TickUpFlow=o.forwardRef((A,e)=>jsxRuntime.jsx(TickUpHost,{ref:e,productId:TickUpProductId.flow,...A})),TickUpCommand=o.forwardRef((A,e)=>jsxRuntime.jsx(TickUpHost,{ref:e,productId:TickUpProductId.command,...A})),TickUpDesk=o.forwardRef((A,e)=>jsxRuntime.jsx(TickUpHost,{ref:e,productId:TickUpProductId.desk,...A})),TickUpPrimeTier=o.forwardRef((A,e)=>jsxRuntime.jsx(TickUpHost,{ref:e,productId:TickUpProductId.prime,...A}));function TickUpMark({variant:A,height:e=20,className:t,"aria-hidden":n=!0}){const r=A===ChartTheme.dark?TICKUP_WORDMARK_URL_DARK:A===ChartTheme.grey?TICKUP_WORDMARK_URL_GREY:TICKUP_WORDMARK_URL_LIGHT;return jsxRuntime.jsx("img",{className:t,src:r,height:e,alt:n?"":"TickUp","aria-hidden":n,draggable:!1,style:{display:"block",height:e,width:"auto",maxWidth:"min(100%, 320px)",objectFit:"contain"}})}TickUpPulse.displayName="TickUpPulse",TickUpFlow.displayName="TickUpFlow",TickUpCommand.displayName="TickUpCommand",TickUpDesk.displayName="TickUpDesk",TickUpPrimeTier.displayName="TickUpPrimeTier";const Bar=dt.div`
1318
+ `;const CANDLES_DEFAULT_STYLE={bullColor:"#26a69a",bearColor:"#ef5350",upColor:"#26a69a",downColor:"#ef5350",borderColor:"#333333",borderWidth:1,bodyWidthFactor:.6,spacingFactor:.2},LINE_DEFAULT_STYLE={color:"#2962ff",lineWidth:2},AREA_DEFAULT_STYLE={fillColor:"rgba(41, 98, 255, 0.2)",strokeColor:"rgba(41, 98, 255, 1)",lineWidth:2},HISTOGRAM_DEFAULT_STYLE={bullColor:"#26a69a",bearColor:"#ef5350",opacity:.5,heightRatio:.3},BAR_DEFAULT_STYLE={bullColor:"#26a69a",bearColor:"#ef5350",opacity:.7},GRID_DEFAULT_STYLE={color:"#e0e0e0",lineWidth:1,gridSpacing:50,lineColor:"#e0e0e0",lineDash:[]},OVERLAY_DEFAULT_STYLE={lineColor:"#ff9800",lineWidth:1,lineStyle:StrokeLineStyle.solid},AXES_DEFAULT_STYLE={axisPosition:AxesPosition.left,textColor:"#424242",font:"12px Arial",lineColor:"#9e9e9e",lineWidth:1,locale:"en-US",language:"en",numberFractionDigits:2,decimalSeparator:".",thousandsSeparator:",",dateFormat:"MMM d",currency:"USD",useCurrency:!1,currencyDisplay:CurrencyDisplay.symbol,numberNotation:NumberNotation.standard,tickSize:.01,minimumFractionDigits:2,maximumFractionDigits:8,maximumSignificantDigits:21,autoPrecision:!1,unit:"",unitPlacement:AxesUnitPlacement.suffix,timezone:"UTC",exchange:"",tradingSessions:[],holidays:[],displayCurrency:"USD",conversionRate:1},DRAWINGS_DEFAULT_STYLE={lineColor:"#2196f3",lineWidth:2,lineStyle:StrokeLineStyle.solid,fillColor:"rgba(33, 150, 243, 0.2)",selected:{lineColor:"#ff9800",lineWidthAdd:1,lineStyle:StrokeLineStyle.dashed,fillColor:"rgba(255, 152, 0, 0.3)"}},DEFAULT_STYLES={candles:CANDLES_DEFAULT_STYLE,line:LINE_DEFAULT_STYLE,area:AREA_DEFAULT_STYLE,histogram:HISTOGRAM_DEFAULT_STYLE,bar:BAR_DEFAULT_STYLE,grid:GRID_DEFAULT_STYLE,overlay:OVERLAY_DEFAULT_STYLE,axes:AXES_DEFAULT_STYLE,drawings:DRAWINGS_DEFAULT_STYLE,backgroundColor:"#ffffff",showGrid:!0},DEFAULT_GRAPH_OPTIONS={base:{chartType:ChartType.Candlestick,engine:TickUpRenderEngine.standard,theme:ChartTheme.light,showOverlayLine:!1,showHistogram:!0,showCrosshair:!0,showCrosshairValues:!1,showCandleTooltip:!0,style:DEFAULT_STYLES,overlays:[],overlayKinds:[]},axes:{yAxisPosition:AxesPosition.left,currency:"USD",numberOfYTicks:5}};var TickUpProductId=(A=>(A.pulse="pulse",A.flow="flow",A.command="command",A.desk="desk",A.prime="prime",A))(TickUpProductId||{});const EMPTY_CHART_OPTIONS={};function tickupProductLayoutDefaults(A){switch(A??TickUpProductId.command){case TickUpProductId.pulse:return{showSidebar:!1,showTopBar:!1,showSettingsBar:!1};case TickUpProductId.flow:return{showSidebar:!1,showTopBar:!0,showSettingsBar:!0};case TickUpProductId.command:case TickUpProductId.desk:case TickUpProductId.prime:default:return{showSidebar:!0,showTopBar:!0,showSettingsBar:!0}}}const TickUpHost=o.forwardRef((A,e)=>{const{intervalsArray:t=[],initialNumberOfYTicks:n=5,initialTimeDetailLevel:r=TimeDetailLevel.Auto,initialTimeFormat12h:a=!1,chartOptions:i=EMPTY_CHART_OPTIONS,showSidebar:s,showTopBar:B,showSettingsBar:Q,onRefreshRequest:g,symbol:E,defaultSymbol:l,onSymbolChange:d,onSymbolSearch:c,productId:u,licenseKey:C,licenseUserIdentifier:I,licenseValidationOverride:m,showAttribution:f=!0,themeVariant:h,defaultThemeVariant:v=ChartTheme.light,onThemeVariantChange:p,interval:b,onIntervalChange:w,range:P,onRangeChange:x,initialRange:y,onIntervalSearch:V}=A,z=null!=u,j=tickupProductLayoutDefaults(u),M=z?j.showSidebar:s??j.showSidebar,X=z?j.showTopBar:B??j.showTopBar,T=z?j.showSettingsBar:Q??j.showSettingsBar,F=u===TickUpProductId.desk||f,[O,D]=o.useState(()=>deepMerge(DEFAULT_GRAPH_OPTIONS,i)),[W,q]=o.useState(v),H=void 0!==h,R=H?h:W,[N,S]=o.useState(null),k=o.useRef(null),[L,K]=o.useState(!1),[Y,U]=o.useState({isOpen:!1,title:"",message:""}),[G,Z]=o.useState(null),[J,$]=o.useState({showSidebar:M,showTopBar:X,showSettingsBar:T,timeFormat12h:a}),_=o.useRef(i);o.useEffect(()=>{let A=!1;if(u!==TickUpProductId.prime)return Z(null),()=>{A=!0};const e=null==C?void 0:C.trim(),t=(null==I?void 0:I.trim())||null;return e?"boolean"==typeof m?(Z(m),()=>{A=!0}):(import("@tickup/prime").then(n=>{if(!A)return"function"==typeof(null==n?void 0:n.validateLicense)?Promise.resolve(n.validateLicense(e,t)).then(e=>{A||Z(Boolean(e))}):void Z(!0)}).catch(()=>{A||Z(!0)}),()=>{A=!0}):(Z(!1),()=>{A=!0})},[u,C,I,m]),o.useEffect(()=>{deepEqual(i,_.current)||(_.current=i,D(A=>{const e=deepMerge(A,i);return deepEqual(e,A)?A:e}))},[i]),o.useEffect(()=>{if(z){const A=tickupProductLayoutDefaults(u);return void $(e=>({...e,showSidebar:A.showSidebar,showTopBar:A.showTopBar,showSettingsBar:A.showSettingsBar}))}const A=tickupProductLayoutDefaults(void 0);$(e=>({...e,showSidebar:void 0!==s?s:A.showSidebar,showTopBar:void 0!==B?B:A.showTopBar,showSettingsBar:void 0!==Q?Q:A.showSettingsBar}))},[z,u,s,B,Q]),o.useEffect(()=>{const A=A=>{var e;const t=window.getSelection();if(!t||0===t.rangeCount)return;const n=t.toString();if(n){const t=FormattingService.parseInput(n,O.base.style.axes);null!==t&&(null==(e=A.clipboardData)||e.setData("text/plain",FormattingService.toClipboard(t)),A.preventDefault())}};return window.addEventListener("copy",A),()=>window.removeEventListener("copy",A)},[O.base.style.axes]),o.useImperativeHandle(e,()=>({addShape:A=>{k.current&&k.current.addShape&&k.current.addShape(A)},updateShape:(A,e)=>{k.current&&k.current.updateShape&&k.current.updateShape(A,e)},patchShape:(A,e)=>{var t;(null==(t=k.current)?void 0:t.patchShape)&&k.current.patchShape(A,e)},setDrawingsFromSpecs:A=>{var e;(null==(e=k.current)?void 0:e.setDrawingsFromSpecs)&&k.current.setDrawingsFromSpecs(A)},deleteShape:A=>{k.current&&k.current.deleteShape&&k.current.deleteShape(A)},addInterval:A=>{k.current&&k.current.addInterval&&k.current.addInterval(A)},updateInterval:(A,e)=>{k.current&&k.current.updateInterval&&k.current.updateInterval(A,e)},deleteInterval:A=>{k.current&&k.current.deleteInterval&&k.current.deleteInterval(A)},getViewInfo:()=>k.current&&k.current.getViewInfo?k.current.getViewInfo():null,getDrawings:A=>{var e;return(null==(e=k.current)?void 0:e.getDrawings)?k.current.getDrawings(A):[]},getDrawingById:A=>{var e;return(null==(e=k.current)?void 0:e.getDrawingById)?k.current.getDrawingById(A):null},getDrawingInstances:A=>{var e;return(null==(e=k.current)?void 0:e.getDrawingInstances)?k.current.getDrawingInstances(A):[]},getSelectedDrawing:()=>{var A,e;return(null==(e=null==(A=k.current)?void 0:A.getSelectedDrawing)?void 0:e.call(A))??null},getSelectedDrawingId:()=>{var A,e;return(null==(e=null==(A=k.current)?void 0:A.getSelectedDrawingId)?void 0:e.call(A))??null},selectShape:A=>{var e,t;null==(t=null==(e=k.current)?void 0:e.selectShape)||t.call(e,A)},unselectShape:()=>{var A,e;null==(e=null==(A=k.current)?void 0:A.unselectShape)||e.call(A)},updateSelectedShape:A=>{var e,t;null==(t=null==(e=k.current)?void 0:e.updateSelectedShape)||t.call(e,A)},getChartContext:()=>{var A;return(null==(A=k.current)?void 0:A.getChartContext)?k.current.getChartContext():null},getCanvasSize:()=>k.current&&k.current.getCanvasSize?k.current.getCanvasSize():null,getVisibleRanges:()=>{var A;return(null==(A=k.current)?void 0:A.getVisibleRanges)?k.current.getVisibleRanges():null},clearCanvas:()=>{k.current&&k.current.clearCanvas&&k.current.clearCanvas()},redrawCanvas:()=>{k.current&&k.current.redrawCanvas&&k.current.redrawCanvas()},reloadCanvas:()=>{k.current&&k.current.reloadCanvas&&k.current.reloadCanvas()},applyLiveData:(A,e)=>{var t;return(null==(t=k.current)?void 0:t.applyLiveData)?k.current.applyLiveData(A,e):{ok:!1,intervals:[],errors:["Chart stage is not ready"],warnings:[]}},fitVisibleRangeToData:()=>{var A,e;null==(e=null==(A=k.current)?void 0:A.fitVisibleRangeToData)||e.call(A)},nudgeVisibleTimeRangeToLatest:A=>{var e,t;null==(t=null==(e=k.current)?void 0:e.nudgeVisibleTimeRangeToLatest)||t.call(e,A)},getMainCanvasElement:()=>{var A,e;return(null==(e=null==(A=k.current)?void 0:A.getMainCanvasElement)?void 0:e.call(A))??null},setEngine:A=>{D(e=>deepMerge(e,A.getChartOptionsPatch()))},setInteractionMode:A=>{var e,t;null==(t=null==(e=k.current)?void 0:e.setInteractionMode)||t.call(e,A)},deleteSelectedDrawing:()=>{var A,e;null==(e=null==(A=k.current)?void 0:A.deleteSelectedDrawing)||e.call(A)},setInterval:A=>{var e;null==(e=k.current)||e.setInterval(A)},setRange:A=>{var e;null==(e=k.current)||e.setRange(A)},showAlert:(A,e)=>{U({isOpen:!0,title:A,message:e})},closeAlert:()=>{U(A=>({...A,isOpen:!1}))}}));const AA=o.useMemo(()=>({showSidebar:J.showSidebar,showTopBar:J.showTopBar,showHistogram:O.base.showHistogram,showCandleTooltip:O.base.showCandleTooltip,showCrosshair:O.base.showCrosshair,showCrosshairValues:!!O.base.showCrosshair&&O.base.showCrosshairValues,showGrid:O.base.style.showGrid,timeFormat12h:J.timeFormat12h,yAxisPosition:O.axes.yAxisPosition,numberOfYTicks:O.axes.numberOfYTicks,backgroundColor:O.base.style.backgroundColor,textColor:O.base.style.axes.textColor,bullColor:O.base.style.candles.bullColor,bearColor:O.base.style.candles.bearColor,lineColor:O.base.style.line.color,fractionDigits:O.base.style.axes.numberFractionDigits??2,decimalSeparator:O.base.style.axes.decimalSeparator??".",thousandsSeparator:O.base.style.axes.thousandsSeparator??",",dateFormat:O.base.style.axes.dateFormat??"MMM d",locale:O.base.style.axes.locale??"en-US",language:O.base.style.axes.language??"en",currency:O.base.style.axes.currency??"USD",useCurrency:O.base.style.axes.useCurrency??!1,currencyDisplay:O.base.style.axes.currencyDisplay??CurrencyDisplay.symbol,numberNotation:O.base.style.axes.numberNotation??NumberNotation.standard,minimumFractionDigits:O.base.style.axes.minimumFractionDigits??2,maximumFractionDigits:O.base.style.axes.maximumFractionDigits??8,maximumSignificantDigits:O.base.style.axes.maximumSignificantDigits??21,tickSize:O.base.style.axes.tickSize??.01,autoPrecision:O.base.style.axes.autoPrecision??!1,unit:O.base.style.axes.unit??"",unitPlacement:O.base.style.axes.unitPlacement??AxesUnitPlacement.suffix,drawingLineColor:O.base.style.drawings.lineColor,drawingLineWidth:O.base.style.drawings.lineWidth,drawingLineStyle:O.base.style.drawings.lineStyle,drawingFillColor:O.base.style.drawings.fillColor,drawingSelectedLineColor:O.base.style.drawings.selected.lineColor,drawingSelectedLineStyle:O.base.style.drawings.selected.lineStyle??StrokeLineStyle.dashed,drawingSelectedLineWidthAdd:O.base.style.drawings.selected.lineWidthAdd??1}),[J.showSidebar,J.showTopBar,J.timeFormat12h,O.base.showHistogram,O.base.showCandleTooltip,O.base.showCrosshair,O.base.showCrosshairValues,O.base.style.showGrid,O.axes.yAxisPosition,O.axes.numberOfYTicks,O.base.style.backgroundColor,O.base.style.axes,O.base.style.line.color,O.base.style.candles.bullColor,O.base.style.candles.bearColor,O.base.style.drawings]),eA=o.useMemo(()=>R===ChartTheme.light?O:deepMerge(O,{base:{theme:ChartTheme.dark,style:{backgroundColor:"#121212",axes:{textColor:"#e6edf3",lineColor:"#6e7681"},grid:{color:"#30363d",lineColor:"#30363d"},candles:{borderColor:"#757575"}}}}),[O,R]),tA=u===TickUpProductId.prime&&!G;return jsxRuntime.jsxs(ModeProvider,{children:[jsxRuntime.jsx(GlobalStyle,{$pageBackground:R===ChartTheme.dark?"#121212":"#ffffff"}),jsxRuntime.jsxs(MainAppWindow,{className:"tickup-root",style:{backgroundColor:eA.base.style.backgroundColor,display:"flex",flexDirection:"column",minHeight:0},children:[tA?jsxRuntime.jsxs("div",{style:{flexShrink:0,padding:"6px 10px",fontSize:11,textAlign:"center",fontFamily:"system-ui, sans-serif",backgroundColor:R===ChartTheme.dark?"rgba(69, 26, 3, 0.4)":"#fff8e1",color:R===ChartTheme.dark?"#fcd9a8":"#5c4a00",borderBottom:"1px solid "+(R===ChartTheme.dark?"rgba(245, 158, 11, 0.35)":"#f0d060")},children:["TickUp Prime tier — evaluation mode. Provide ",jsxRuntime.jsx("code",{children:"licenseKey"})," when your license is active."]}):null,jsxRuntime.jsxs("div",{style:{flex:"1 1 auto",minHeight:0,display:"flex",flexDirection:"column",position:"relative"},children:[jsxRuntime.jsx(TickUpStage,{ref:k,intervalsArray:t,numberOfYTicks:eA.axes.numberOfYTicks,timeDetailLevel:r,timeFormat12h:J.timeFormat12h,selectedIndex:N,setSelectedIndex:S,chartOptions:eA,showTopBar:J.showTopBar,showLeftBar:J.showSidebar,handleChartTypeChange:A=>{S(null),D(e=>({...e,base:{...e.base,chartType:A}}))},openSettingsMenu:()=>K(!0),showSettingsBar:J.showSettingsBar,onRefreshRequest:g,onToggleTheme:()=>{const A=R===ChartTheme.light?ChartTheme.dark:ChartTheme.light;H||q(A),null==p||p(A)},symbol:E,defaultSymbol:l,onSymbolChange:d,onSymbolSearch:c,interval:b,onIntervalChange:w,onIntervalSearch:V,range:P,onRangeChange:x,initialRange:y,themeVariant:R,showBrandWatermark:F}),jsxRuntime.jsx(SettingsModal,{isOpen:L,onClose:()=>K(!1),onSave:A=>{$(e=>({...e,...z?{}:{showSidebar:A.showSidebar,showTopBar:A.showTopBar},timeFormat12h:A.timeFormat12h})),D(e=>({...e,axes:{...e.axes,yAxisPosition:A.yAxisPosition,numberOfYTicks:A.numberOfYTicks},base:{...e.base,showHistogram:A.showHistogram,showCandleTooltip:A.showCandleTooltip,showCrosshair:A.showCrosshair,showCrosshairValues:!!A.showCrosshair&&A.showCrosshairValues,style:{...e.base.style,showGrid:A.showGrid,backgroundColor:A.backgroundColor,axes:{...e.base.style.axes,textColor:A.textColor,numberFractionDigits:A.fractionDigits,decimalSeparator:A.decimalSeparator,thousandsSeparator:A.thousandsSeparator,dateFormat:A.dateFormat,locale:A.locale,language:A.language,currency:A.currency,useCurrency:A.useCurrency,currencyDisplay:A.currencyDisplay,numberNotation:A.numberNotation,tickSize:A.tickSize,minimumFractionDigits:A.minimumFractionDigits,maximumFractionDigits:A.maximumFractionDigits,maximumSignificantDigits:A.maximumSignificantDigits,autoPrecision:A.autoPrecision,unit:A.unit,unitPlacement:A.unitPlacement},candles:{...e.base.style.candles,bullColor:A.bullColor,upColor:A.bullColor,bearColor:A.bearColor,downColor:A.bearColor},histogram:{...e.base.style.histogram,bullColor:A.bullColor,bearColor:A.bearColor},bar:{...e.base.style.bar,bullColor:A.bullColor,bearColor:A.bearColor},line:{...e.base.style.line,color:A.lineColor},drawings:{...e.base.style.drawings,lineColor:A.drawingLineColor,lineWidth:A.drawingLineWidth,lineStyle:A.drawingLineStyle,fillColor:A.drawingFillColor,selected:{...e.base.style.drawings.selected,lineColor:A.drawingSelectedLineColor,lineStyle:A.drawingSelectedLineStyle,lineWidthAdd:A.drawingSelectedLineWidthAdd}}}}}))},initialSettings:AA,themeVariant:R,lockToolbarLayout:z,contained:!0}),jsxRuntime.jsx(AlertModal,{isOpen:Y.isOpen,onClose:()=>U(A=>({...A,isOpen:!1})),title:Y.title,message:Y.message,themeVariant:R})]})]})]})}),TickUpPulse=o.forwardRef((A,e)=>jsxRuntime.jsx(TickUpHost,{ref:e,productId:TickUpProductId.pulse,...A})),TickUpFlow=o.forwardRef((A,e)=>jsxRuntime.jsx(TickUpHost,{ref:e,productId:TickUpProductId.flow,...A})),TickUpCommand=o.forwardRef((A,e)=>jsxRuntime.jsx(TickUpHost,{ref:e,productId:TickUpProductId.command,...A})),TickUpDesk=o.forwardRef((A,e)=>jsxRuntime.jsx(TickUpHost,{ref:e,productId:TickUpProductId.desk,...A})),TickUpPrimeTier=o.forwardRef((A,e)=>jsxRuntime.jsx(TickUpHost,{ref:e,productId:TickUpProductId.prime,...A}));function TickUpMark({variant:A,height:e=20,className:t,"aria-hidden":n=!0}){const r=A===ChartTheme.dark?TICKUP_WORDMARK_URL_DARK:A===ChartTheme.grey?TICKUP_WORDMARK_URL_GREY:TICKUP_WORDMARK_URL_LIGHT;return jsxRuntime.jsx("img",{className:t,src:r,height:e,alt:n?"":"TickUp","aria-hidden":n,draggable:!1,style:{display:"block",height:e,width:"auto",maxWidth:"min(100%, 320px)",objectFit:"contain"}})}TickUpPulse.displayName="TickUpPulse",TickUpFlow.displayName="TickUpFlow",TickUpCommand.displayName="TickUpCommand",TickUpDesk.displayName="TickUpDesk",TickUpPrimeTier.displayName="TickUpPrimeTier";const Bar=dt.div`
1319
1319
  display: flex;
1320
1320
  align-items: center;
1321
1321
  justify-content: flex-end;