@tradecanvas/chart 1.78.0 → 1.79.1

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 (46) hide show
  1. package/dist/{LayoutSession-BzJQfrYw.cjs → LayoutSession-2o_-ji7A.cjs} +2 -2
  2. package/dist/{LayoutSession-BzJQfrYw.cjs.map → LayoutSession-2o_-ji7A.cjs.map} +1 -1
  3. package/dist/{LayoutSession-CehL1zj4.js → LayoutSession-BJxMu1Df.js} +2 -2
  4. package/dist/{LayoutSession-CehL1zj4.js.map → LayoutSession-BJxMu1Df.js.map} +1 -1
  5. package/dist/{WidgetSettings-D1xKl3Gl.js → WidgetSettings-CkvK-3d9.js} +2 -2
  6. package/dist/{WidgetSettings-D1xKl3Gl.js.map → WidgetSettings-CkvK-3d9.js.map} +1 -1
  7. package/dist/{WidgetSettings-CL-sRVF2.cjs → WidgetSettings-bO72SYQ6.cjs} +2 -2
  8. package/dist/{WidgetSettings-CL-sRVF2.cjs.map → WidgetSettings-bO72SYQ6.cjs.map} +1 -1
  9. package/dist/{WidgetSymbolSearch-CrVAWg8Y.js → WidgetSymbolSearch-BWI3iNJM.js} +36 -23
  10. package/dist/WidgetSymbolSearch-BWI3iNJM.js.map +1 -0
  11. package/dist/WidgetSymbolSearch-CJeMSKtO.cjs +2 -0
  12. package/dist/WidgetSymbolSearch-CJeMSKtO.cjs.map +1 -0
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.js +1 -1
  15. package/dist/widget/ChartWidget.d.ts.map +1 -1
  16. package/dist/widget/WidgetDock.d.ts +4 -4
  17. package/dist/widget/WidgetDrawingSidebar.d.ts.map +1 -1
  18. package/dist/widget/WidgetSymbolInfo.d.ts.map +1 -1
  19. package/dist/widget/WidgetSymbolSearch.d.ts.map +1 -1
  20. package/dist/widget/WidgetToolbar.d.ts +6 -8
  21. package/dist/widget/WidgetToolbar.d.ts.map +1 -1
  22. package/dist/widget/WidgetWatchlist.d.ts +6 -0
  23. package/dist/widget/WidgetWatchlist.d.ts.map +1 -1
  24. package/dist/widget/index.cjs +49 -80
  25. package/dist/widget/index.cjs.map +1 -1
  26. package/dist/widget/index.js +640 -631
  27. package/dist/widget/index.js.map +1 -1
  28. package/dist/widget/symbolCell.d.ts +6 -4
  29. package/dist/widget/symbolCell.d.ts.map +1 -1
  30. package/dist/widget/types.d.ts +6 -0
  31. package/dist/widget/types.d.ts.map +1 -1
  32. package/dist/widget/widgetConfig.d.ts +4 -2
  33. package/dist/widget/widgetConfig.d.ts.map +1 -1
  34. package/dist/widget/widgetLocales.d.ts.map +1 -1
  35. package/dist/widget/widgetUI.d.ts.map +1 -1
  36. package/dist/{widgetLocales-DgTR8JSu.js → widgetLocales-D-QYU_9U.js} +41 -67
  37. package/dist/widgetLocales-D-QYU_9U.js.map +1 -0
  38. package/dist/widgetLocales-fhdzLs5l.cjs +2 -0
  39. package/dist/widgetLocales-fhdzLs5l.cjs.map +1 -0
  40. package/package.json +3 -3
  41. package/dist/WidgetSymbolSearch-BFQsqzQD.cjs +0 -2
  42. package/dist/WidgetSymbolSearch-BFQsqzQD.cjs.map +0 -1
  43. package/dist/WidgetSymbolSearch-CrVAWg8Y.js.map +0 -1
  44. package/dist/widgetLocales-BPK5i0Ok.cjs +0 -2
  45. package/dist/widgetLocales-BPK5i0Ok.cjs.map +0 -1
  46. package/dist/widgetLocales-DgTR8JSu.js.map +0 -1
@@ -1,8 +1,10 @@
1
1
  /**
2
- * A row's symbol: its venue ("BINANCE:"), where it has one, apart from its
3
- * ticker, so a narrow column cuts the venue short and keeps the ticker whole;
4
- * the letters `query` (upper case) matched are marked in either part. It
5
- * reads left to right in any widget ("^GSPC", "BRK.B").
2
+ * A row's symbol as a trader says it: the ticker, without the venue before
3
+ * it ("HYPERLIQUID:xyz:GOLD" reads GOLD), the whole symbol on hover; the
4
+ * exchange column names the venue. The letters `query` (upper case) matched
5
+ * are marked. It reads left to right in any widget ("^GSPC", "BRK.B").
6
6
  */
7
7
  export declare function createSymbolCell(symbol: string, query: string): HTMLSpanElement;
8
+ /** A venue's words, for the exchange column of a symbol whose feed names no exchange ("BINANCE:" is BINANCE). */
9
+ export declare function venueName(symbol: string): string;
8
10
  //# sourceMappingURL=symbolCell.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"symbolCell.d.ts","sourceRoot":"","sources":["../../src/widget/symbolCell.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAc/E"}
1
+ {"version":3,"file":"symbolCell.d.ts","sourceRoot":"","sources":["../../src/widget/symbolCell.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAW/E;AAED,iHAAiH;AACjH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEhD"}
@@ -673,6 +673,12 @@ export interface DrawingToolGroupDef {
673
673
  tools: {
674
674
  label: string;
675
675
  value: DrawingToolType;
676
+ /**
677
+ * A heading put over this tool and the ones after it in the group's menu,
678
+ * for a group that gathers several kinds (Lines: lines, horizontal and
679
+ * vertical, channels). A menu with headings shows no name over them all.
680
+ */
681
+ heading?: string;
676
682
  }[];
677
683
  /**
678
684
  * Groups with the same section sit together in the sidebar, with a divider
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/widget/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/widget/types.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,10 @@ export declare const CHART_TYPES: {
5
5
  value: ChartType;
6
6
  }[];
7
7
  /**
8
- * The drawing tools, grouped, in sections: lines, Fibonacci and Gann, patterns,
9
- * forecasting and measuring, shapes and notes.
8
+ * The drawing tools, a button for each kind: lines, Fibonacci and Gann,
9
+ * patterns, forecasting and measuring, shapes and brushes, and notes. A
10
+ * button's menu lists its tools under headings (the kinds it gathers), so the
11
+ * column holds few buttons, each big enough to read and hit at a glance.
10
12
  */
11
13
  export declare const DRAWING_TOOL_GROUPS: DrawingToolGroupDef[];
12
14
  export declare const DEFAULT_SYMBOLS: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"widgetConfig.d.ts","sourceRoot":"","sources":["../../src/widget/widgetConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE1E,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,EAmB5D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,EAwJpD,CAAC;AAEF,eAAO,MAAM,eAAe,UAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,kBAiC9B,CAAC"}
1
+ {"version":3,"file":"widgetConfig.d.ts","sourceRoot":"","sources":["../../src/widget/widgetConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE1E,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,EAmB5D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,mBAAmB,EA8GpD,CAAC;AAEF,eAAO,MAAM,eAAe,UAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,kBAiC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"widgetLocales.d.ts","sourceRoot":"","sources":["../../src/widget/widgetLocales.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,WAAW,CAAC;AAExD,wDAAwD;AACxD,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAG3C,CAAC;AAIF,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAWvF;AAmBD,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAI1F;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EAAE,CAAC,EAAE,UAAU,GAAG,mBAAmB,EAAE,CAU/G"}
1
+ {"version":3,"file":"widgetLocales.d.ts","sourceRoot":"","sources":["../../src/widget/widgetLocales.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,KAAK,EAAc,UAAU,EAAE,MAAM,WAAW,CAAC;AAExD,wDAAwD;AACxD,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAG3C,CAAC;AAIF,2FAA2F;AAC3F,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAWvF;AAmBD,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,UAAU,GAAG,MAAM,CAI1F;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,mBAAmB,EAAE,EAAE,CAAC,EAAE,UAAU,GAAG,mBAAmB,EAAE,CAY/G"}
@@ -1 +1 @@
1
- {"version":3,"file":"widgetUI.d.ts","sourceRoot":"","sources":["../../src/widget/widgetUI.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;AAkClF,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGpD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CASrF;AAED,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED,yCAAyC;AACzC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,gEAAgE;AAChE,MAAM,WAAW,uBAAuB;IACtC,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oBAAoB;AACpB,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC;IAChC,mCAAmC;IACnC,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;AAE9E,uCAAuC;AACvC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,sEAAsE;IACtE,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,MAAM,EAAE,cAAc,CAAC;IACvB,UAAU,EAAE,uBAAuB,CAAC;IACpC,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC;IACzB,kEAAkE;IAClE,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;IACvC,gEAAgE;IAChE,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,0DAA0D;IAC1D,OAAO,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC/B,iEAAiE;IACjE,SAAS,EAAE,OAAO,GAAG,WAAW,CAAC;IACjC,wEAAwE;IACxE,SAAS,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qGAAqG;IACrG,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,+EAA+E;AAC/E,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAC9C;;;;OAIG;IACH,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACpC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO,CAAC,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8GAA8G;IAC9G,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AA2KD,oCAAoC;AACpC,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAE1F,CAAC;AAyDF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,gBAAgB,CAyCxF;AAED,8CAA8C;AAC9C,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4D9E;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,gBAAgB,EAAE,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,IAAI,CAahH"}
1
+ {"version":3,"file":"widgetUI.d.ts","sourceRoot":"","sources":["../../src/widget/widgetUI.ts"],"names":[],"mappings":"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"}
@@ -236,7 +236,8 @@ var m = [
236
236
  tools: [
237
237
  {
238
238
  label: "Trend Line",
239
- value: "trendLine"
239
+ value: "trendLine",
240
+ heading: "Lines"
240
241
  },
241
242
  {
242
243
  label: "Ray",
@@ -253,16 +254,11 @@ var m = [
253
254
  {
254
255
  label: "Trend Angle",
255
256
  value: "trendAngle"
256
- }
257
- ]
258
- },
259
- {
260
- label: "Horizontal/Vertical",
261
- section: "lines",
262
- tools: [
257
+ },
263
258
  {
264
259
  label: "Horizontal Line",
265
- value: "horizontalLine"
260
+ value: "horizontalLine",
261
+ heading: "Horizontal/Vertical"
266
262
  },
267
263
  {
268
264
  label: "Horizontal Ray",
@@ -275,27 +271,26 @@ var m = [
275
271
  {
276
272
  label: "Cross Line",
277
273
  value: "crossLine"
274
+ },
275
+ {
276
+ label: "Parallel Channel",
277
+ value: "parallelChannel",
278
+ heading: "Channels"
279
+ },
280
+ {
281
+ label: "Regression Channel",
282
+ value: "regressionChannel"
278
283
  }
279
284
  ]
280
285
  },
281
- {
282
- label: "Channels",
283
- section: "lines",
284
- tools: [{
285
- label: "Parallel Channel",
286
- value: "parallelChannel"
287
- }, {
288
- label: "Regression Channel",
289
- value: "regressionChannel"
290
- }]
291
- },
292
286
  {
293
287
  label: "Fibonacci",
294
288
  section: "fibonacci",
295
289
  tools: [
296
290
  {
297
291
  label: "Fib Retracement",
298
- value: "fibRetracement"
292
+ value: "fibRetracement",
293
+ heading: "Fibonacci"
299
294
  },
300
295
  {
301
296
  label: "Fib Extension",
@@ -328,16 +323,11 @@ var m = [
328
323
  {
329
324
  label: "Fib Wedge",
330
325
  value: "fibWedge"
331
- }
332
- ]
333
- },
334
- {
335
- label: "Gann & Pitchforks",
336
- section: "fibonacci",
337
- tools: [
326
+ },
338
327
  {
339
328
  label: "Pitchfork",
340
- value: "pitchfork"
329
+ value: "pitchfork",
330
+ heading: "Gann & Pitchforks"
341
331
  },
342
332
  {
343
333
  label: "Schiff Pitchfork",
@@ -362,16 +352,11 @@ var m = [
362
352
  {
363
353
  label: "Pitchfan",
364
354
  value: "pitchfan"
365
- }
366
- ]
367
- },
368
- {
369
- label: "Cycles",
370
- section: "fibonacci",
371
- tools: [
355
+ },
372
356
  {
373
357
  label: "Cyclic Lines",
374
- value: "cyclicLines"
358
+ value: "cyclicLines",
359
+ heading: "Cycles"
375
360
  },
376
361
  {
377
362
  label: "Time Cycles",
@@ -389,7 +374,8 @@ var m = [
389
374
  tools: [
390
375
  {
391
376
  label: "XABCD Pattern",
392
- value: "xabcdPattern"
377
+ value: "xabcdPattern",
378
+ heading: "Patterns"
393
379
  },
394
380
  {
395
381
  label: "ABCD Pattern",
@@ -406,16 +392,11 @@ var m = [
406
392
  {
407
393
  label: "Three Drives Pattern",
408
394
  value: "threeDrives"
409
- }
410
- ]
411
- },
412
- {
413
- label: "Elliott Waves",
414
- section: "patterns",
415
- tools: [
395
+ },
416
396
  {
417
397
  label: "Elliott Wave",
418
- value: "elliottWave"
398
+ value: "elliottWave",
399
+ heading: "Elliott Waves"
419
400
  },
420
401
  {
421
402
  label: "Elliott Impulse Wave",
@@ -445,7 +426,8 @@ var m = [
445
426
  tools: [
446
427
  {
447
428
  label: "Long/Short Position",
448
- value: "riskReward"
429
+ value: "riskReward",
430
+ heading: "Forecasting"
449
431
  },
450
432
  {
451
433
  label: "Anchored VWAP",
@@ -466,16 +448,11 @@ var m = [
466
448
  {
467
449
  label: "Bars Pattern",
468
450
  value: "barsPattern"
469
- }
470
- ]
471
- },
472
- {
473
- label: "Measure",
474
- section: "forecasting",
475
- tools: [
451
+ },
476
452
  {
477
453
  label: "Price Range",
478
- value: "priceRange"
454
+ value: "priceRange",
455
+ heading: "Measure"
479
456
  },
480
457
  {
481
458
  label: "Date Range",
@@ -497,7 +474,8 @@ var m = [
497
474
  tools: [
498
475
  {
499
476
  label: "Rectangle",
500
- value: "rectangle"
477
+ value: "rectangle",
478
+ heading: "Shapes"
501
479
  },
502
480
  {
503
481
  label: "Circle",
@@ -522,16 +500,11 @@ var m = [
522
500
  {
523
501
  label: "Arc",
524
502
  value: "arc"
525
- }
526
- ]
527
- },
528
- {
529
- label: "Brushes",
530
- section: "annotation",
531
- tools: [
503
+ },
532
504
  {
533
505
  label: "Brush",
534
- value: "brush"
506
+ value: "brush",
507
+ heading: "Brushes"
535
508
  },
536
509
  {
537
510
  label: "Highlighter",
@@ -824,10 +797,11 @@ function B(e, t) {
824
797
  ...e,
825
798
  label: R[e.label] ? t(R[e.label]) : e.label,
826
799
  tools: e.tools.map((e) => {
827
- let n = `tool.${e.value}`, r = t(n);
800
+ let n = `tool.${e.value}`, r = t(n), i = e.heading !== void 0 && R[e.heading] ? t(R[e.heading]) : e.heading;
828
801
  return {
829
802
  ...e,
830
- label: r === n ? e.label : r
803
+ label: r === n ? e.label : r,
804
+ ...i === void 0 ? {} : { heading: i }
831
805
  };
832
806
  })
833
807
  }));
@@ -835,4 +809,4 @@ function B(e, t) {
835
809
  //#endregion
836
810
  export { h as _, w as a, f as b, O as c, A as d, C as f, g, _ as h, k as i, P as l, m, B as n, S as o, N as p, L as r, E as s, z as t, D as u, d as v, p as y };
837
811
 
838
- //# sourceMappingURL=widgetLocales-DgTR8JSu.js.map
812
+ //# sourceMappingURL=widgetLocales-D-QYU_9U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgetLocales-D-QYU_9U.js","names":[],"sources":["../src/widget/widgetTimezones.ts","../src/widget/widgetConfig.ts","../src/widget/widgetSettingsLook.ts","../src/widget/widgetLocales.ts"],"sourcesContent":["import type { TimeZoneSetting } from '@tradecanvas/commons';\nimport { isValidTimeZone, offsetAt, tzLabel } from '@tradecanvas/commons';\n\n/** The zones the settings offer besides the browser's own, by city. */\nexport const WIDGET_TIMEZONES: readonly { zone: string; city: string }[] = [\n { zone: 'Pacific/Honolulu', city: 'Honolulu' },\n { zone: 'America/Los_Angeles', city: 'Los Angeles' },\n { zone: 'America/Denver', city: 'Denver' },\n { zone: 'America/Chicago', city: 'Chicago' },\n { zone: 'America/New_York', city: 'New York' },\n { zone: 'America/Toronto', city: 'Toronto' },\n { zone: 'America/Sao_Paulo', city: 'São Paulo' },\n { zone: 'UTC', city: 'UTC' },\n { zone: 'Europe/London', city: 'London' },\n { zone: 'Europe/Berlin', city: 'Frankfurt' },\n { zone: 'Europe/Paris', city: 'Paris' },\n { zone: 'Europe/Zurich', city: 'Zurich' },\n { zone: 'Africa/Johannesburg', city: 'Johannesburg' },\n { zone: 'Europe/Istanbul', city: 'Istanbul' },\n { zone: 'Europe/Moscow', city: 'Moscow' },\n { zone: 'Asia/Dubai', city: 'Dubai' },\n { zone: 'Asia/Kolkata', city: 'Mumbai' },\n { zone: 'Asia/Bangkok', city: 'Bangkok' },\n { zone: 'Asia/Ho_Chi_Minh', city: 'Ho Chi Minh City' },\n { zone: 'Asia/Jakarta', city: 'Jakarta' },\n { zone: 'Asia/Singapore', city: 'Singapore' },\n { zone: 'Asia/Hong_Kong', city: 'Hong Kong' },\n { zone: 'Asia/Shanghai', city: 'Shanghai' },\n { zone: 'Asia/Taipei', city: 'Taipei' },\n { zone: 'Asia/Seoul', city: 'Seoul' },\n { zone: 'Asia/Tokyo', city: 'Tokyo' },\n { zone: 'Australia/Sydney', city: 'Sydney' },\n { zone: 'Pacific/Auckland', city: 'Auckland' },\n];\n\n/** A fixed offset as the settings write one: a whole number of minutes. */\nconst OFFSET_SETTING = /^-?\\d+$/;\n/**\n * No zone is further from UTC than 14 hours (Kiribati is UTC+14, the\n * furthest west UTC-12), so minutes past that are not an offset but a\n * broken value, and so many digits can even read as Infinity.\n */\nconst MAX_OFFSET_MINUTES = 14 * 60;\n\n/** The fixed offset a settings value names, in minutes east of UTC; null when it names none a zone could have. */\nexport function offsetSettingMinutes(value: string): number | null {\n if (!OFFSET_SETTING.test(value)) return null;\n const minutes = Number(value);\n return Math.abs(minutes) <= MAX_OFFSET_MINUTES ? minutes : null;\n}\n\n/**\n * The settings' timezone value as a display timezone: `'local'` is the\n * browser's, a number of minutes a fixed offset (older saved settings), and\n * anything else an IANA zone — the browser's own when it doesn't know it or\n * the offset is past any zone's.\n */\nexport function settingToTimezone(value: string): TimeZoneSetting {\n if (!value || value === 'local') return null;\n if (value === 'exchange') return 'exchange';\n if (OFFSET_SETTING.test(value)) return offsetSettingMinutes(value);\n return isValidTimeZone(value) ? value : null;\n}\n\n/** A display timezone as the settings' value: the inverse of `settingToTimezone`. */\nexport function timezoneToSetting(tz: TimeZoneSetting): string {\n if (tz === null) return 'local';\n return String(tz);\n}\n\nexport interface TimezoneOption {\n value: string;\n label: string;\n /** Minutes east of UTC at the time the list was made. */\n offset: number;\n}\n\n/**\n * The timezone menu at `atMs`: the browser's zone first, then the zones by\n * the offset in force then (\"(UTC-4) New York\"). An older fixed-offset\n * setting that isn't one of them stays on the list.\n */\nexport function timezoneOptions(\n current: string,\n atMs: number,\n localLabel: string,\n /** Offer the symbol's exchange zone ('exchange'); `zone` is null while unknown (UTC). */\n exchange?: { label: string; zone: string | null },\n): TimezoneOption[] {\n const local = offsetAt(null, atMs);\n const zones = WIDGET_TIMEZONES\n .filter(({ zone }) => isValidTimeZone(zone))\n .map(({ zone, city }) => {\n const offset = offsetAt(zone, atMs);\n return { value: zone, label: zone === 'UTC' ? 'UTC' : `(${tzLabel(offset)}) ${city}`, offset };\n });\n const fixed = settingToTimezone(current);\n if (typeof fixed === 'number') zones.push({ value: current, label: tzLabel(fixed), offset: fixed });\n zones.sort((a, b) => a.offset - b.offset);\n const first: TimezoneOption[] = [{ value: 'local', label: `${localLabel} (${tzLabel(local)})`, offset: local }];\n if (exchange) {\n const zone = exchange.zone && isValidTimeZone(exchange.zone) ? exchange.zone : 'UTC';\n const offset = offsetAt(zone, atMs);\n first.push({ value: 'exchange', label: `${exchange.label} (${tzLabel(offset)})`, offset });\n }\n return [...first, ...zones];\n}\n","import type { ChartType, DrawingToolType } from '@tradecanvas/commons';\nimport type { DrawingToolGroupDef, ChartSettingsState } from './types.js';\n\nexport const CHART_TYPES: { label: string; value: ChartType }[] = [\n { label: 'Candlestick', value: 'candlestick' },\n { label: 'Line', value: 'line' },\n { label: 'Area', value: 'area' },\n { label: 'Bar', value: 'bar' },\n { label: 'Heikin-Ashi', value: 'heikinAshi' },\n { label: 'Hollow Candle', value: 'hollowCandle' },\n { label: 'Baseline', value: 'baseline' },\n { label: 'Volume Candles', value: 'volumeCandles' },\n { label: 'Equivolume', value: 'equivolume' },\n { label: 'HLC Area', value: 'hlcArea' },\n { label: 'Step Line', value: 'stepLine' },\n { label: 'Line + Markers', value: 'lineWithMarkers' },\n { label: 'High-Low', value: 'hiLo' },\n { label: 'Renko', value: 'renko' },\n { label: 'Line Break', value: 'lineBreak' },\n { label: 'Kagi', value: 'kagi' },\n { label: 'Point & Figure', value: 'pointAndFigure' },\n { label: 'Range Bars', value: 'rangeBars' },\n];\n\n/**\n * The drawing tools, a button for each kind: lines, Fibonacci and Gann,\n * patterns, forecasting and measuring, shapes and brushes, and notes. A\n * button's menu lists its tools under headings (the kinds it gathers), so the\n * column holds few buttons, each big enough to read and hit at a glance.\n */\nexport const DRAWING_TOOL_GROUPS: DrawingToolGroupDef[] = [\n {\n label: 'Lines',\n section: 'lines',\n tools: [\n { label: 'Trend Line', value: 'trendLine' as DrawingToolType, heading: 'Lines' },\n { label: 'Ray', value: 'ray' as DrawingToolType },\n { label: 'Extended Line', value: 'extendedLine' as DrawingToolType },\n { label: 'Info Line', value: 'infoLine' as DrawingToolType },\n { label: 'Trend Angle', value: 'trendAngle' as DrawingToolType },\n { label: 'Horizontal Line', value: 'horizontalLine' as DrawingToolType, heading: 'Horizontal/Vertical' },\n { label: 'Horizontal Ray', value: 'horizontalRay' as DrawingToolType },\n { label: 'Vertical Line', value: 'verticalLine' as DrawingToolType },\n { label: 'Cross Line', value: 'crossLine' as DrawingToolType },\n { label: 'Parallel Channel', value: 'parallelChannel' as DrawingToolType, heading: 'Channels' },\n { label: 'Regression Channel', value: 'regressionChannel' as DrawingToolType },\n ],\n },\n {\n label: 'Fibonacci',\n section: 'fibonacci',\n tools: [\n { label: 'Fib Retracement', value: 'fibRetracement' as DrawingToolType, heading: 'Fibonacci' },\n { label: 'Fib Extension', value: 'fibExtension' as DrawingToolType },\n { label: 'Fib Channel', value: 'fibChannel' as DrawingToolType },\n { label: 'Fib Time Zones', value: 'fibTimeZones' as DrawingToolType },\n { label: 'Fib Speed Resistance Fan', value: 'fibSpeedResistanceFan' as DrawingToolType },\n { label: 'Fib Speed Resistance Arcs', value: 'fibArcs' as DrawingToolType },\n { label: 'Fib Circles', value: 'fibCircles' as DrawingToolType },\n { label: 'Fib Spiral', value: 'fibSpiral' as DrawingToolType },\n { label: 'Fib Wedge', value: 'fibWedge' as DrawingToolType },\n { label: 'Pitchfork', value: 'pitchfork' as DrawingToolType, heading: 'Gann & Pitchforks' },\n { label: 'Schiff Pitchfork', value: 'schiffPitchfork' as DrawingToolType },\n { label: 'Modified Schiff Pitchfork', value: 'modifiedSchiffPitchfork' as DrawingToolType },\n { label: 'Gann Fan', value: 'gannFan' as DrawingToolType },\n { label: 'Gann Box', value: 'gannBox' as DrawingToolType },\n { label: 'Gann Square', value: 'gannSquare' as DrawingToolType },\n { label: 'Pitchfan', value: 'pitchfan' as DrawingToolType },\n { label: 'Cyclic Lines', value: 'cyclicLines' as DrawingToolType, heading: 'Cycles' },\n { label: 'Time Cycles', value: 'timeCycles' as DrawingToolType },\n { label: 'Sine Line', value: 'sineLine' as DrawingToolType },\n ],\n },\n {\n label: 'Patterns',\n section: 'patterns',\n tools: [\n { label: 'XABCD Pattern', value: 'xabcdPattern' as DrawingToolType, heading: 'Patterns' },\n { label: 'ABCD Pattern', value: 'abcdPattern' as DrawingToolType },\n { label: 'Head and Shoulders', value: 'headAndShoulders' as DrawingToolType },\n { label: 'Cypher Pattern', value: 'cypherPattern' as DrawingToolType },\n { label: 'Three Drives Pattern', value: 'threeDrives' as DrawingToolType },\n { label: 'Elliott Wave', value: 'elliottWave' as DrawingToolType, heading: 'Elliott Waves' },\n { label: 'Elliott Impulse Wave', value: 'elliottImpulse' as DrawingToolType },\n { label: 'Elliott Correction Wave', value: 'elliottCorrection' as DrawingToolType },\n { label: 'Elliott Triangle Wave', value: 'elliottTriangle' as DrawingToolType },\n { label: 'Elliott Double Combo Wave', value: 'elliottDoubleCombo' as DrawingToolType },\n { label: 'Elliott Triple Combo Wave', value: 'elliottTripleCombo' as DrawingToolType },\n ],\n },\n {\n label: 'Forecasting',\n section: 'forecasting',\n tools: [\n { label: 'Long/Short Position', value: 'riskReward' as DrawingToolType, heading: 'Forecasting' },\n { label: 'Anchored VWAP', value: 'anchoredVWAP' as DrawingToolType },\n { label: 'Fixed Range Volume Profile', value: 'volumeProfileRange' as DrawingToolType },\n { label: 'Forecast', value: 'forecast' as DrawingToolType },\n { label: 'Projection', value: 'projection' as DrawingToolType },\n { label: 'Bars Pattern', value: 'barsPattern' as DrawingToolType },\n { label: 'Price Range', value: 'priceRange' as DrawingToolType, heading: 'Measure' },\n { label: 'Date Range', value: 'dateRange' as DrawingToolType },\n { label: 'Date and Price Range', value: 'dateAndPriceRange' as DrawingToolType },\n { label: 'Measure', value: 'measure' as DrawingToolType },\n ],\n },\n {\n label: 'Shapes',\n section: 'annotation',\n tools: [\n { label: 'Rectangle', value: 'rectangle' as DrawingToolType, heading: 'Shapes' },\n { label: 'Circle', value: 'circle' as DrawingToolType },\n { label: 'Ellipse', value: 'ellipse' as DrawingToolType },\n { label: 'Triangle', value: 'triangle' as DrawingToolType },\n { label: 'Polyline', value: 'polyline' as DrawingToolType },\n { label: 'Curve', value: 'curve' as DrawingToolType },\n { label: 'Arc', value: 'arc' as DrawingToolType },\n { label: 'Brush', value: 'brush' as DrawingToolType, heading: 'Brushes' },\n { label: 'Highlighter', value: 'highlighter' as DrawingToolType },\n { label: 'Path', value: 'path' as DrawingToolType },\n ],\n },\n {\n label: 'Annotation',\n section: 'annotation',\n tools: [\n { label: 'Text', value: 'text' as DrawingToolType },\n { label: 'Price Label', value: 'priceLabel' as DrawingToolType },\n { label: 'Arrow', value: 'arrow' as DrawingToolType },\n { label: 'Note', value: 'note' as DrawingToolType },\n { label: 'Callout', value: 'callout' as DrawingToolType },\n { label: 'Flag Mark', value: 'flag' as DrawingToolType },\n { label: 'Arrow Mark', value: 'arrowMark' as DrawingToolType },\n { label: 'Icon', value: 'icon' as DrawingToolType },\n { label: 'Signpost', value: 'signpost' as DrawingToolType },\n { label: 'Balloon', value: 'balloon' as DrawingToolType },\n { label: 'Anchored Text', value: 'anchoredText' as DrawingToolType },\n { label: 'Anchored Note', value: 'anchoredNote' as DrawingToolType },\n ],\n },\n];\n\nexport const DEFAULT_SYMBOLS = [\n 'BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT',\n];\n\nexport const DEFAULT_SETTINGS: ChartSettingsState = {\n gridVisible: true,\n volumeVisible: true,\n volumeProfileVisible: false,\n marketProfileVisible: false,\n marketProfileSplit: false,\n marketProfileLetters: false,\n marketProfileBuckets: 48,\n marketProfileOpacity: 0.32,\n depthHeatmapVisible: false,\n depthHeatmapOpacity: 0.7,\n sessionShadingVisible: false,\n pivotMarkersVisible: false,\n pivotStrength: 5,\n pivotStructureLabels: false,\n periodLevelsVisible: false,\n periodLevelsPeriod: 'day',\n legendVisible: true,\n barCountdown: true,\n indicatorValueLabels: false,\n alignAxisLabels: true,\n logScale: false,\n scaleMode: 'regular',\n autoScale: true,\n invertScale: false,\n leftPriceScale: false,\n crosshairMode: 'magnet',\n numberLocale: 'en-US',\n timezone: 'local',\n highLowLines: false,\n mainSeriesVisible: true,\n extendedHours: true,\n chartTypeOptions: {},\n};\n","import {\n CHART_STYLE_KEYS,\n DEFAULT_SIGNAL_STYLE,\n DEFAULT_TRADE_ZONE_STYLE,\n DEFAULT_TRADING_CONFIG,\n type ChartStyleKey,\n type ChartType,\n} from '@tradecanvas/commons';\nimport type { MessageKey } from './i18n.js';\n\n/** A row of the settings' look: the style keys it sets together (it shows the first) and its name. */\nexport interface LookRow {\n label: MessageKey;\n keys: readonly ChartStyleKey[];\n /**\n * A key the chart leaves to the part itself until set (it reads back null):\n * the row offers Auto, and a colour picker starts from `hint` (the part's\n * colour as the library sets it; a host may have set its own) or from the\n * colour another key reads back (`from`).\n */\n auto?: { hint?: string; from?: ChartStyleKey };\n}\n\nexport interface LookSection {\n title: MessageKey;\n rows: readonly LookRow[];\n /** Shown only on a chart that trades. */\n trading?: boolean;\n}\n\nconst row = (label: MessageKey, ...keys: ChartStyleKey[]): LookRow => ({ label, keys });\nconst autoRow = (label: MessageKey, key: ChartStyleKey, start: { hint?: string; from?: ChartStyleKey } = {}): LookRow =>\n ({ label, keys: [key], auto: start });\nconst hint = (colour: string | undefined) => ({ hint: colour });\n/** The theme's quieter text, which the watermark and the high and low lines take. */\nconst QUIET_TEXT = { from: 'panes.titleColor' } as const;\n\n/** The Symbol tab's sections after the chart type's own: the last price, the volume, the high and low. */\nexport const LAST_PRICE_SECTION: LookSection = {\n title: 'settings.section.lastPrice',\n rows: [\n row('settings.priceLine', 'lastPrice.visible'),\n row('settings.up', 'lastPrice.upColor'),\n row('settings.down', 'lastPrice.downColor'),\n row('drawingSettings.lineStyle', 'lastPrice.style'),\n row('drawingSettings.lineWidth', 'lastPrice.width'),\n ],\n};\nexport const VOLUME_SECTION: LookSection = {\n title: 'settings.volume',\n rows: [row('settings.up', 'volume.upColor'), row('settings.down', 'volume.downColor')],\n};\nexport const HIGH_LOW_SECTION: LookSection = {\n title: 'settings.highLowLines',\n rows: [autoRow('drawingSettings.color', 'highLow.color', QUIET_TEXT)],\n};\n\nexport const SYMBOL_SECTIONS: readonly LookSection[] = [LAST_PRICE_SECTION, VOLUME_SECTION, HIGH_LOW_SECTION];\n\n/** The Status line tab's colours of the legend, offered where the chart has one. */\nexport const LEGEND_ROWS: readonly LookRow[] = [\n row('settings.legendText', 'legend.textColor'),\n row('settings.legendLabels', 'legend.labelColor'),\n];\n/** The Status line tab's colours: the legend's text and the panes' titles, which are drawn without it. */\nexport const STATUS_LINE_ROWS: readonly LookRow[] = [...LEGEND_ROWS, row('settings.paneTitles', 'panes.titleColor')];\n\n/** The Scales tab's colours: the axes' text and lines. */\nexport const SCALE_ROWS: readonly LookRow[] = [\n row('drawingSettings.text', 'axis.price.textColor', 'axis.time.textColor'),\n row('settings.scaleLines', 'axis.price.lineColor', 'axis.time.lineColor'),\n];\n\n/** The Appearance tab: the background, the grid, the crosshair, the session breaks, the drawings' handles. */\nexport const APPEARANCE_SECTIONS: readonly LookSection[] = [\n {\n title: 'settings.section.background',\n rows: [\n row('settings.background', 'background.color'),\n row('settings.paneBackground', 'panes.background'),\n row('settings.paneSeparator', 'panes.separatorColor'),\n autoRow('settings.watermark', 'watermark.color', QUIET_TEXT),\n ],\n },\n {\n title: 'settings.gridLines',\n rows: [\n row('settings.horizontal', 'grid.horizontal.visible'),\n row('settings.vertical', 'grid.vertical.visible'),\n row('drawingSettings.color', 'grid.horizontal.color', 'grid.vertical.color'),\n row('drawingSettings.lineStyle', 'grid.horizontal.style', 'grid.vertical.style'),\n row('drawingSettings.lineWidth', 'grid.horizontal.width', 'grid.vertical.width'),\n ],\n },\n {\n title: 'settings.crosshairMode',\n rows: [\n row('settings.horizontal', 'crosshair.horizontal.visible'),\n row('settings.vertical', 'crosshair.vertical.visible'),\n row('drawingSettings.color', 'crosshair.horizontal.color', 'crosshair.vertical.color'),\n row('drawingSettings.lineStyle', 'crosshair.horizontal.style', 'crosshair.vertical.style'),\n row('drawingSettings.lineWidth', 'crosshair.horizontal.width', 'crosshair.vertical.width'),\n row('settings.labelBackground', 'crosshair.labelBackground'),\n row('settings.labelText', 'crosshair.labelTextColor'),\n ],\n },\n {\n title: 'settings.sessionBreaks',\n rows: [\n autoRow('drawingSettings.color', 'sessionBreaks.color', { from: 'axis.price.lineColor' }),\n autoRow('drawingSettings.lineStyle', 'sessionBreaks.style'),\n autoRow('drawingSettings.lineWidth', 'sessionBreaks.width'),\n ],\n },\n {\n title: 'objects.drawings',\n rows: [autoRow('settings.handles', 'drawings.handleColor', hint('#ffffff'))],\n },\n];\n\n/** The Trading tab: the colours of what the host puts on the chart, its own until set. */\nexport const TRADING_SECTIONS: readonly LookSection[] = [\n {\n title: 'settings.section.orders',\n trading: true,\n rows: [\n autoRow('ticket.buy', 'trading.buyColor', hint(DEFAULT_TRADING_CONFIG.orderColors?.buy)),\n autoRow('ticket.sell', 'trading.sellColor', hint(DEFAULT_TRADING_CONFIG.orderColors?.sell)),\n autoRow('settings.profit', 'trading.profitColor', hint(DEFAULT_TRADING_CONFIG.positionColors?.profit)),\n autoRow('settings.loss', 'trading.lossColor', hint(DEFAULT_TRADING_CONFIG.positionColors?.loss)),\n autoRow('account.entry', 'trading.entryColor', hint(DEFAULT_TRADING_CONFIG.positionColors?.entry)),\n ],\n },\n {\n title: 'settings.section.signals',\n rows: [\n autoRow('account.long', 'markers.longColor', hint(DEFAULT_SIGNAL_STYLE.longColor)),\n autoRow('account.short', 'markers.shortColor', hint(DEFAULT_SIGNAL_STYLE.shortColor)),\n autoRow('markers.neutral', 'markers.neutralColor', hint(DEFAULT_SIGNAL_STYLE.neutralColor)),\n ],\n },\n {\n title: 'settings.section.tradeZones',\n rows: [\n autoRow('settings.profit', 'tradeZones.profitColor', hint(DEFAULT_TRADE_ZONE_STYLE.profitColor)),\n autoRow('settings.loss', 'tradeZones.lossColor', hint(DEFAULT_TRADE_ZONE_STYLE.lossColor)),\n autoRow('settings.openTrade', 'tradeZones.activeColor', hint(DEFAULT_TRADE_ZONE_STYLE.activeColor)),\n ],\n },\n];\n\n/** The name of each of a chart type's keys, by the key's last part. */\nconst SERIES_LABELS: Readonly<Record<string, MessageKey>> = {\n upColor: 'settings.up',\n downColor: 'settings.down',\n wickUpColor: 'settings.upWick',\n wickDownColor: 'settings.downWick',\n color: 'drawingSettings.color',\n lineColor: 'drawingSettings.color',\n lineWidth: 'drawingSettings.lineWidth',\n topColor: 'settings.areaTop',\n bottomColor: 'settings.areaBottom',\n};\n\n/** Types whose up and down are bodies with wicks. */\nconst BODIES: ReadonlySet<ChartType> = new Set<ChartType>(['candlestick', 'heikinAshi', 'volumeCandles', 'equivolume']);\n\n/** The rows of a chart type's own colours and widths, in the key table's order. */\nexport function seriesRows(type: ChartType): LookRow[] {\n const prefix = `series.${type}.`;\n return (Object.keys(CHART_STYLE_KEYS) as ChartStyleKey[])\n .filter((key) => key.startsWith(prefix))\n .map((key) => {\n const prop = key.slice(prefix.length);\n let label = SERIES_LABELS[prop] ?? 'drawingSettings.color';\n if (BODIES.has(type) && prop === 'upColor') label = 'settings.upBody';\n if (BODIES.has(type) && prop === 'downColor') label = 'settings.downBody';\n if (type === 'baseline' && prop === 'upColor') label = 'settings.aboveBase';\n if (type === 'baseline' && prop === 'downColor') label = 'settings.belowBase';\n return row(label, key);\n });\n}\n\n/**\n * Every key the settings set, every chart type's included: what Reset takes\n * away and an undo puts back.\n */\nexport const SETTINGS_LOOK_KEYS: readonly ChartStyleKey[] = [\n ...new Set<ChartStyleKey>([\n ...(Object.keys(CHART_STYLE_KEYS) as ChartStyleKey[]).filter((key) => key.startsWith('series.')),\n ...[...SYMBOL_SECTIONS, ...APPEARANCE_SECTIONS, ...TRADING_SECTIONS].flatMap((section) => section.rows.flatMap((r) => r.keys)),\n ...[...STATUS_LINE_ROWS, ...SCALE_ROWS].flatMap((r) => r.keys),\n ]),\n];\n","import type { DrawingToolGroupDef } from './types.js';\nimport type { MessageKey, Translator } from './i18n.js';\n\n/** Number formats the settings offer, by locale tag. */\nexport const NUMBER_LOCALES: readonly string[] = [\n 'en-US', 'en-GB', 'en-IN', 'de-DE', 'fr-FR', 'es-ES', 'it-IT', 'pt-BR', 'ru-RU', 'tr-TR',\n 'vi-VN', 'id-ID', 'th-TH', 'zh-CN', 'zh-TW', 'ja-JP', 'ko-KR',\n];\n\nconst SAMPLE = 65234;\n\n/** \"de-DE (65.234,00)\": each format with a sample number; the current one stays listed. */\nexport function numberLocaleOptions(current: string): { value: string; label: string }[] {\n const codes = current && !NUMBER_LOCALES.includes(current) ? [current, ...NUMBER_LOCALES] : NUMBER_LOCALES;\n return codes.map((code) => {\n let sample: string;\n try {\n sample = new Intl.NumberFormat(code, { minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(SAMPLE);\n } catch {\n sample = '';\n }\n return { value: code, label: sample ? `${code} (${sample})` : code };\n });\n}\n\n/** Message key of each built-in drawing-tool group, by its English name. */\nconst TOOL_GROUP_KEYS: Readonly<Record<string, MessageKey>> = {\n Lines: 'toolGroup.lines',\n 'Horizontal/Vertical': 'toolGroup.horizontalVertical',\n Channels: 'toolGroup.channels',\n Fibonacci: 'toolGroup.fibonacci',\n Shapes: 'toolGroup.shapes',\n 'Gann & Pitchforks': 'toolGroup.gannPitchforks',\n Patterns: 'toolGroup.patterns',\n Measure: 'toolGroup.measure',\n Annotation: 'toolGroup.annotation',\n Forecasting: 'toolGroup.forecasting',\n Brushes: 'toolGroup.brushes',\n Cycles: 'toolGroup.cycles',\n 'Elliott Waves': 'toolGroup.elliott',\n};\n\n/** A chart type's name in the widget's language (an unknown type keeps its own). */\nexport function chartTypeLabel(ct: { value: string; label: string }, t: Translator): string {\n const key = `chartType.${ct.value}` as MessageKey;\n const translated = t(key);\n return translated === key ? ct.label : translated;\n}\n\n/** The drawing-tool groups with names in the widget's language (unknown tools keep theirs). */\nexport function localizeToolGroups(groups: readonly DrawingToolGroupDef[], t: Translator): DrawingToolGroupDef[] {\n return groups.map((group) => ({\n ...group,\n label: TOOL_GROUP_KEYS[group.label] ? t(TOOL_GROUP_KEYS[group.label]) : group.label,\n tools: group.tools.map((tool) => {\n const key = `tool.${tool.value}` as MessageKey;\n const label = t(key);\n // A heading is a former group's name, translated as one.\n const heading = tool.heading !== undefined && TOOL_GROUP_KEYS[tool.heading] ? t(TOOL_GROUP_KEYS[tool.heading]) : tool.heading;\n return { ...tool, label: label === key ? tool.label : label, ...(heading !== undefined ? { heading } : {}) };\n }),\n }));\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ let e=require(`@tradecanvas/commons`);var t=[{zone:`Pacific/Honolulu`,city:`Honolulu`},{zone:`America/Los_Angeles`,city:`Los Angeles`},{zone:`America/Denver`,city:`Denver`},{zone:`America/Chicago`,city:`Chicago`},{zone:`America/New_York`,city:`New York`},{zone:`America/Toronto`,city:`Toronto`},{zone:`America/Sao_Paulo`,city:`São Paulo`},{zone:`UTC`,city:`UTC`},{zone:`Europe/London`,city:`London`},{zone:`Europe/Berlin`,city:`Frankfurt`},{zone:`Europe/Paris`,city:`Paris`},{zone:`Europe/Zurich`,city:`Zurich`},{zone:`Africa/Johannesburg`,city:`Johannesburg`},{zone:`Europe/Istanbul`,city:`Istanbul`},{zone:`Europe/Moscow`,city:`Moscow`},{zone:`Asia/Dubai`,city:`Dubai`},{zone:`Asia/Kolkata`,city:`Mumbai`},{zone:`Asia/Bangkok`,city:`Bangkok`},{zone:`Asia/Ho_Chi_Minh`,city:`Ho Chi Minh City`},{zone:`Asia/Jakarta`,city:`Jakarta`},{zone:`Asia/Singapore`,city:`Singapore`},{zone:`Asia/Hong_Kong`,city:`Hong Kong`},{zone:`Asia/Shanghai`,city:`Shanghai`},{zone:`Asia/Taipei`,city:`Taipei`},{zone:`Asia/Seoul`,city:`Seoul`},{zone:`Asia/Tokyo`,city:`Tokyo`},{zone:`Australia/Sydney`,city:`Sydney`},{zone:`Pacific/Auckland`,city:`Auckland`}],n=/^-?\d+$/,r=840;function i(e){if(!n.test(e))return null;let t=Number(e);return Math.abs(t)<=r?t:null}function a(t){return!t||t===`local`?null:t===`exchange`?`exchange`:n.test(t)?i(t):(0,e.isValidTimeZone)(t)?t:null}function o(e){return e===null?`local`:String(e)}function s(n,r,i,o){let s=(0,e.offsetAt)(null,r),c=t.filter(({zone:t})=>(0,e.isValidTimeZone)(t)).map(({zone:t,city:n})=>{let i=(0,e.offsetAt)(t,r);return{value:t,label:t===`UTC`?`UTC`:`(${(0,e.tzLabel)(i)}) ${n}`,offset:i}}),l=a(n);typeof l==`number`&&c.push({value:n,label:(0,e.tzLabel)(l),offset:l}),c.sort((e,t)=>e.offset-t.offset);let u=[{value:`local`,label:`${i} (${(0,e.tzLabel)(s)})`,offset:s}];if(o){let t=(0,e.offsetAt)(o.zone&&(0,e.isValidTimeZone)(o.zone)?o.zone:`UTC`,r);u.push({value:`exchange`,label:`${o.label} (${(0,e.tzLabel)(t)})`,offset:t})}return[...u,...c]}var c=[{label:`Candlestick`,value:`candlestick`},{label:`Line`,value:`line`},{label:`Area`,value:`area`},{label:`Bar`,value:`bar`},{label:`Heikin-Ashi`,value:`heikinAshi`},{label:`Hollow Candle`,value:`hollowCandle`},{label:`Baseline`,value:`baseline`},{label:`Volume Candles`,value:`volumeCandles`},{label:`Equivolume`,value:`equivolume`},{label:`HLC Area`,value:`hlcArea`},{label:`Step Line`,value:`stepLine`},{label:`Line + Markers`,value:`lineWithMarkers`},{label:`High-Low`,value:`hiLo`},{label:`Renko`,value:`renko`},{label:`Line Break`,value:`lineBreak`},{label:`Kagi`,value:`kagi`},{label:`Point & Figure`,value:`pointAndFigure`},{label:`Range Bars`,value:`rangeBars`}],l=[{label:`Lines`,section:`lines`,tools:[{label:`Trend Line`,value:`trendLine`,heading:`Lines`},{label:`Ray`,value:`ray`},{label:`Extended Line`,value:`extendedLine`},{label:`Info Line`,value:`infoLine`},{label:`Trend Angle`,value:`trendAngle`},{label:`Horizontal Line`,value:`horizontalLine`,heading:`Horizontal/Vertical`},{label:`Horizontal Ray`,value:`horizontalRay`},{label:`Vertical Line`,value:`verticalLine`},{label:`Cross Line`,value:`crossLine`},{label:`Parallel Channel`,value:`parallelChannel`,heading:`Channels`},{label:`Regression Channel`,value:`regressionChannel`}]},{label:`Fibonacci`,section:`fibonacci`,tools:[{label:`Fib Retracement`,value:`fibRetracement`,heading:`Fibonacci`},{label:`Fib Extension`,value:`fibExtension`},{label:`Fib Channel`,value:`fibChannel`},{label:`Fib Time Zones`,value:`fibTimeZones`},{label:`Fib Speed Resistance Fan`,value:`fibSpeedResistanceFan`},{label:`Fib Speed Resistance Arcs`,value:`fibArcs`},{label:`Fib Circles`,value:`fibCircles`},{label:`Fib Spiral`,value:`fibSpiral`},{label:`Fib Wedge`,value:`fibWedge`},{label:`Pitchfork`,value:`pitchfork`,heading:`Gann & Pitchforks`},{label:`Schiff Pitchfork`,value:`schiffPitchfork`},{label:`Modified Schiff Pitchfork`,value:`modifiedSchiffPitchfork`},{label:`Gann Fan`,value:`gannFan`},{label:`Gann Box`,value:`gannBox`},{label:`Gann Square`,value:`gannSquare`},{label:`Pitchfan`,value:`pitchfan`},{label:`Cyclic Lines`,value:`cyclicLines`,heading:`Cycles`},{label:`Time Cycles`,value:`timeCycles`},{label:`Sine Line`,value:`sineLine`}]},{label:`Patterns`,section:`patterns`,tools:[{label:`XABCD Pattern`,value:`xabcdPattern`,heading:`Patterns`},{label:`ABCD Pattern`,value:`abcdPattern`},{label:`Head and Shoulders`,value:`headAndShoulders`},{label:`Cypher Pattern`,value:`cypherPattern`},{label:`Three Drives Pattern`,value:`threeDrives`},{label:`Elliott Wave`,value:`elliottWave`,heading:`Elliott Waves`},{label:`Elliott Impulse Wave`,value:`elliottImpulse`},{label:`Elliott Correction Wave`,value:`elliottCorrection`},{label:`Elliott Triangle Wave`,value:`elliottTriangle`},{label:`Elliott Double Combo Wave`,value:`elliottDoubleCombo`},{label:`Elliott Triple Combo Wave`,value:`elliottTripleCombo`}]},{label:`Forecasting`,section:`forecasting`,tools:[{label:`Long/Short Position`,value:`riskReward`,heading:`Forecasting`},{label:`Anchored VWAP`,value:`anchoredVWAP`},{label:`Fixed Range Volume Profile`,value:`volumeProfileRange`},{label:`Forecast`,value:`forecast`},{label:`Projection`,value:`projection`},{label:`Bars Pattern`,value:`barsPattern`},{label:`Price Range`,value:`priceRange`,heading:`Measure`},{label:`Date Range`,value:`dateRange`},{label:`Date and Price Range`,value:`dateAndPriceRange`},{label:`Measure`,value:`measure`}]},{label:`Shapes`,section:`annotation`,tools:[{label:`Rectangle`,value:`rectangle`,heading:`Shapes`},{label:`Circle`,value:`circle`},{label:`Ellipse`,value:`ellipse`},{label:`Triangle`,value:`triangle`},{label:`Polyline`,value:`polyline`},{label:`Curve`,value:`curve`},{label:`Arc`,value:`arc`},{label:`Brush`,value:`brush`,heading:`Brushes`},{label:`Highlighter`,value:`highlighter`},{label:`Path`,value:`path`}]},{label:`Annotation`,section:`annotation`,tools:[{label:`Text`,value:`text`},{label:`Price Label`,value:`priceLabel`},{label:`Arrow`,value:`arrow`},{label:`Note`,value:`note`},{label:`Callout`,value:`callout`},{label:`Flag Mark`,value:`flag`},{label:`Arrow Mark`,value:`arrowMark`},{label:`Icon`,value:`icon`},{label:`Signpost`,value:`signpost`},{label:`Balloon`,value:`balloon`},{label:`Anchored Text`,value:`anchoredText`},{label:`Anchored Note`,value:`anchoredNote`}]}],u=[`BTCUSDT`,`ETHUSDT`,`SOLUSDT`,`BNBUSDT`],d={gridVisible:!0,volumeVisible:!0,volumeProfileVisible:!1,marketProfileVisible:!1,marketProfileSplit:!1,marketProfileLetters:!1,marketProfileBuckets:48,marketProfileOpacity:.32,depthHeatmapVisible:!1,depthHeatmapOpacity:.7,sessionShadingVisible:!1,pivotMarkersVisible:!1,pivotStrength:5,pivotStructureLabels:!1,periodLevelsVisible:!1,periodLevelsPeriod:`day`,legendVisible:!0,barCountdown:!0,indicatorValueLabels:!1,alignAxisLabels:!0,logScale:!1,scaleMode:`regular`,autoScale:!0,invertScale:!1,leftPriceScale:!1,crosshairMode:`magnet`,numberLocale:`en-US`,timezone:`local`,highLowLines:!1,mainSeriesVisible:!0,extendedHours:!0,chartTypeOptions:{}},f=(e,...t)=>({label:e,keys:t}),p=(e,t,n={})=>({label:e,keys:[t],auto:n}),m=e=>({hint:e}),h={from:`panes.titleColor`},g={title:`settings.section.lastPrice`,rows:[f(`settings.priceLine`,`lastPrice.visible`),f(`settings.up`,`lastPrice.upColor`),f(`settings.down`,`lastPrice.downColor`),f(`drawingSettings.lineStyle`,`lastPrice.style`),f(`drawingSettings.lineWidth`,`lastPrice.width`)]},_={title:`settings.volume`,rows:[f(`settings.up`,`volume.upColor`),f(`settings.down`,`volume.downColor`)]},v={title:`settings.highLowLines`,rows:[p(`drawingSettings.color`,`highLow.color`,h)]},y=[g,_,v],b=[f(`settings.legendText`,`legend.textColor`),f(`settings.legendLabels`,`legend.labelColor`)],x=[...b,f(`settings.paneTitles`,`panes.titleColor`)],S=[f(`drawingSettings.text`,`axis.price.textColor`,`axis.time.textColor`),f(`settings.scaleLines`,`axis.price.lineColor`,`axis.time.lineColor`)],C=[{title:`settings.section.background`,rows:[f(`settings.background`,`background.color`),f(`settings.paneBackground`,`panes.background`),f(`settings.paneSeparator`,`panes.separatorColor`),p(`settings.watermark`,`watermark.color`,h)]},{title:`settings.gridLines`,rows:[f(`settings.horizontal`,`grid.horizontal.visible`),f(`settings.vertical`,`grid.vertical.visible`),f(`drawingSettings.color`,`grid.horizontal.color`,`grid.vertical.color`),f(`drawingSettings.lineStyle`,`grid.horizontal.style`,`grid.vertical.style`),f(`drawingSettings.lineWidth`,`grid.horizontal.width`,`grid.vertical.width`)]},{title:`settings.crosshairMode`,rows:[f(`settings.horizontal`,`crosshair.horizontal.visible`),f(`settings.vertical`,`crosshair.vertical.visible`),f(`drawingSettings.color`,`crosshair.horizontal.color`,`crosshair.vertical.color`),f(`drawingSettings.lineStyle`,`crosshair.horizontal.style`,`crosshair.vertical.style`),f(`drawingSettings.lineWidth`,`crosshair.horizontal.width`,`crosshair.vertical.width`),f(`settings.labelBackground`,`crosshair.labelBackground`),f(`settings.labelText`,`crosshair.labelTextColor`)]},{title:`settings.sessionBreaks`,rows:[p(`drawingSettings.color`,`sessionBreaks.color`,{from:`axis.price.lineColor`}),p(`drawingSettings.lineStyle`,`sessionBreaks.style`),p(`drawingSettings.lineWidth`,`sessionBreaks.width`)]},{title:`objects.drawings`,rows:[p(`settings.handles`,`drawings.handleColor`,m(`#ffffff`))]}],w=[{title:`settings.section.orders`,trading:!0,rows:[p(`ticket.buy`,`trading.buyColor`,m(e.DEFAULT_TRADING_CONFIG.orderColors?.buy)),p(`ticket.sell`,`trading.sellColor`,m(e.DEFAULT_TRADING_CONFIG.orderColors?.sell)),p(`settings.profit`,`trading.profitColor`,m(e.DEFAULT_TRADING_CONFIG.positionColors?.profit)),p(`settings.loss`,`trading.lossColor`,m(e.DEFAULT_TRADING_CONFIG.positionColors?.loss)),p(`account.entry`,`trading.entryColor`,m(e.DEFAULT_TRADING_CONFIG.positionColors?.entry))]},{title:`settings.section.signals`,rows:[p(`account.long`,`markers.longColor`,m(e.DEFAULT_SIGNAL_STYLE.longColor)),p(`account.short`,`markers.shortColor`,m(e.DEFAULT_SIGNAL_STYLE.shortColor)),p(`markers.neutral`,`markers.neutralColor`,m(e.DEFAULT_SIGNAL_STYLE.neutralColor))]},{title:`settings.section.tradeZones`,rows:[p(`settings.profit`,`tradeZones.profitColor`,m(e.DEFAULT_TRADE_ZONE_STYLE.profitColor)),p(`settings.loss`,`tradeZones.lossColor`,m(e.DEFAULT_TRADE_ZONE_STYLE.lossColor)),p(`settings.openTrade`,`tradeZones.activeColor`,m(e.DEFAULT_TRADE_ZONE_STYLE.activeColor))]}],T={upColor:`settings.up`,downColor:`settings.down`,wickUpColor:`settings.upWick`,wickDownColor:`settings.downWick`,color:`drawingSettings.color`,lineColor:`drawingSettings.color`,lineWidth:`drawingSettings.lineWidth`,topColor:`settings.areaTop`,bottomColor:`settings.areaBottom`},E=new Set([`candlestick`,`heikinAshi`,`volumeCandles`,`equivolume`]);function D(t){let n=`series.${t}.`;return Object.keys(e.CHART_STYLE_KEYS).filter(e=>e.startsWith(n)).map(e=>{let r=e.slice(n.length),i=T[r]??`drawingSettings.color`;return E.has(t)&&r===`upColor`&&(i=`settings.upBody`),E.has(t)&&r===`downColor`&&(i=`settings.downBody`),t===`baseline`&&r===`upColor`&&(i=`settings.aboveBase`),t===`baseline`&&r===`downColor`&&(i=`settings.belowBase`),f(i,e)})}var O=[...new Set([...Object.keys(e.CHART_STYLE_KEYS).filter(e=>e.startsWith(`series.`)),...[...y,...C,...w].flatMap(e=>e.rows.flatMap(e=>e.keys)),...[...x,...S].flatMap(e=>e.keys)])],k=[`en-US`,`en-GB`,`en-IN`,`de-DE`,`fr-FR`,`es-ES`,`it-IT`,`pt-BR`,`ru-RU`,`tr-TR`,`vi-VN`,`id-ID`,`th-TH`,`zh-CN`,`zh-TW`,`ja-JP`,`ko-KR`],A=65234;function j(e){return(e&&!k.includes(e)?[e,...k]:k).map(e=>{let t;try{t=new Intl.NumberFormat(e,{minimumFractionDigits:2,maximumFractionDigits:2}).format(A)}catch{t=``}return{value:e,label:t?`${e} (${t})`:e}})}var M={Lines:`toolGroup.lines`,"Horizontal/Vertical":`toolGroup.horizontalVertical`,Channels:`toolGroup.channels`,Fibonacci:`toolGroup.fibonacci`,Shapes:`toolGroup.shapes`,"Gann & Pitchforks":`toolGroup.gannPitchforks`,Patterns:`toolGroup.patterns`,Measure:`toolGroup.measure`,Annotation:`toolGroup.annotation`,Forecasting:`toolGroup.forecasting`,Brushes:`toolGroup.brushes`,Cycles:`toolGroup.cycles`,"Elliott Waves":`toolGroup.elliott`};function N(e,t){let n=`chartType.${e.value}`,r=t(n);return r===n?e.label:r}function P(e,t){return e.map(e=>({...e,label:M[e.label]?t(M[e.label]):e.label,tools:e.tools.map(e=>{let n=`tool.${e.value}`,r=t(n),i=e.heading!==void 0&&M[e.heading]?t(M[e.heading]):e.heading;return{...e,label:r===n?e.label:r,...i===void 0?{}:{heading:i}}})}))}Object.defineProperty(exports,`_`,{enumerable:!0,get:function(){return l}}),Object.defineProperty(exports,`a`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`b`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`c`,{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,`d`,{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,`f`,{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,`g`,{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,`h`,{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,`l`,{enumerable:!0,get:function(){return O}}),Object.defineProperty(exports,`m`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,`o`,{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,`p`,{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,`s`,{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,`u`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`v`,{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,`y`,{enumerable:!0,get:function(){return s}});
2
+ //# sourceMappingURL=widgetLocales-fhdzLs5l.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widgetLocales-fhdzLs5l.cjs","names":[],"sources":["../src/widget/widgetTimezones.ts","../src/widget/widgetConfig.ts","../src/widget/widgetSettingsLook.ts","../src/widget/widgetLocales.ts"],"sourcesContent":["import type { TimeZoneSetting } from '@tradecanvas/commons';\nimport { isValidTimeZone, offsetAt, tzLabel } from '@tradecanvas/commons';\n\n/** The zones the settings offer besides the browser's own, by city. */\nexport const WIDGET_TIMEZONES: readonly { zone: string; city: string }[] = [\n { zone: 'Pacific/Honolulu', city: 'Honolulu' },\n { zone: 'America/Los_Angeles', city: 'Los Angeles' },\n { zone: 'America/Denver', city: 'Denver' },\n { zone: 'America/Chicago', city: 'Chicago' },\n { zone: 'America/New_York', city: 'New York' },\n { zone: 'America/Toronto', city: 'Toronto' },\n { zone: 'America/Sao_Paulo', city: 'São Paulo' },\n { zone: 'UTC', city: 'UTC' },\n { zone: 'Europe/London', city: 'London' },\n { zone: 'Europe/Berlin', city: 'Frankfurt' },\n { zone: 'Europe/Paris', city: 'Paris' },\n { zone: 'Europe/Zurich', city: 'Zurich' },\n { zone: 'Africa/Johannesburg', city: 'Johannesburg' },\n { zone: 'Europe/Istanbul', city: 'Istanbul' },\n { zone: 'Europe/Moscow', city: 'Moscow' },\n { zone: 'Asia/Dubai', city: 'Dubai' },\n { zone: 'Asia/Kolkata', city: 'Mumbai' },\n { zone: 'Asia/Bangkok', city: 'Bangkok' },\n { zone: 'Asia/Ho_Chi_Minh', city: 'Ho Chi Minh City' },\n { zone: 'Asia/Jakarta', city: 'Jakarta' },\n { zone: 'Asia/Singapore', city: 'Singapore' },\n { zone: 'Asia/Hong_Kong', city: 'Hong Kong' },\n { zone: 'Asia/Shanghai', city: 'Shanghai' },\n { zone: 'Asia/Taipei', city: 'Taipei' },\n { zone: 'Asia/Seoul', city: 'Seoul' },\n { zone: 'Asia/Tokyo', city: 'Tokyo' },\n { zone: 'Australia/Sydney', city: 'Sydney' },\n { zone: 'Pacific/Auckland', city: 'Auckland' },\n];\n\n/** A fixed offset as the settings write one: a whole number of minutes. */\nconst OFFSET_SETTING = /^-?\\d+$/;\n/**\n * No zone is further from UTC than 14 hours (Kiribati is UTC+14, the\n * furthest west UTC-12), so minutes past that are not an offset but a\n * broken value, and so many digits can even read as Infinity.\n */\nconst MAX_OFFSET_MINUTES = 14 * 60;\n\n/** The fixed offset a settings value names, in minutes east of UTC; null when it names none a zone could have. */\nexport function offsetSettingMinutes(value: string): number | null {\n if (!OFFSET_SETTING.test(value)) return null;\n const minutes = Number(value);\n return Math.abs(minutes) <= MAX_OFFSET_MINUTES ? minutes : null;\n}\n\n/**\n * The settings' timezone value as a display timezone: `'local'` is the\n * browser's, a number of minutes a fixed offset (older saved settings), and\n * anything else an IANA zone — the browser's own when it doesn't know it or\n * the offset is past any zone's.\n */\nexport function settingToTimezone(value: string): TimeZoneSetting {\n if (!value || value === 'local') return null;\n if (value === 'exchange') return 'exchange';\n if (OFFSET_SETTING.test(value)) return offsetSettingMinutes(value);\n return isValidTimeZone(value) ? value : null;\n}\n\n/** A display timezone as the settings' value: the inverse of `settingToTimezone`. */\nexport function timezoneToSetting(tz: TimeZoneSetting): string {\n if (tz === null) return 'local';\n return String(tz);\n}\n\nexport interface TimezoneOption {\n value: string;\n label: string;\n /** Minutes east of UTC at the time the list was made. */\n offset: number;\n}\n\n/**\n * The timezone menu at `atMs`: the browser's zone first, then the zones by\n * the offset in force then (\"(UTC-4) New York\"). An older fixed-offset\n * setting that isn't one of them stays on the list.\n */\nexport function timezoneOptions(\n current: string,\n atMs: number,\n localLabel: string,\n /** Offer the symbol's exchange zone ('exchange'); `zone` is null while unknown (UTC). */\n exchange?: { label: string; zone: string | null },\n): TimezoneOption[] {\n const local = offsetAt(null, atMs);\n const zones = WIDGET_TIMEZONES\n .filter(({ zone }) => isValidTimeZone(zone))\n .map(({ zone, city }) => {\n const offset = offsetAt(zone, atMs);\n return { value: zone, label: zone === 'UTC' ? 'UTC' : `(${tzLabel(offset)}) ${city}`, offset };\n });\n const fixed = settingToTimezone(current);\n if (typeof fixed === 'number') zones.push({ value: current, label: tzLabel(fixed), offset: fixed });\n zones.sort((a, b) => a.offset - b.offset);\n const first: TimezoneOption[] = [{ value: 'local', label: `${localLabel} (${tzLabel(local)})`, offset: local }];\n if (exchange) {\n const zone = exchange.zone && isValidTimeZone(exchange.zone) ? exchange.zone : 'UTC';\n const offset = offsetAt(zone, atMs);\n first.push({ value: 'exchange', label: `${exchange.label} (${tzLabel(offset)})`, offset });\n }\n return [...first, ...zones];\n}\n","import type { ChartType, DrawingToolType } from '@tradecanvas/commons';\nimport type { DrawingToolGroupDef, ChartSettingsState } from './types.js';\n\nexport const CHART_TYPES: { label: string; value: ChartType }[] = [\n { label: 'Candlestick', value: 'candlestick' },\n { label: 'Line', value: 'line' },\n { label: 'Area', value: 'area' },\n { label: 'Bar', value: 'bar' },\n { label: 'Heikin-Ashi', value: 'heikinAshi' },\n { label: 'Hollow Candle', value: 'hollowCandle' },\n { label: 'Baseline', value: 'baseline' },\n { label: 'Volume Candles', value: 'volumeCandles' },\n { label: 'Equivolume', value: 'equivolume' },\n { label: 'HLC Area', value: 'hlcArea' },\n { label: 'Step Line', value: 'stepLine' },\n { label: 'Line + Markers', value: 'lineWithMarkers' },\n { label: 'High-Low', value: 'hiLo' },\n { label: 'Renko', value: 'renko' },\n { label: 'Line Break', value: 'lineBreak' },\n { label: 'Kagi', value: 'kagi' },\n { label: 'Point & Figure', value: 'pointAndFigure' },\n { label: 'Range Bars', value: 'rangeBars' },\n];\n\n/**\n * The drawing tools, a button for each kind: lines, Fibonacci and Gann,\n * patterns, forecasting and measuring, shapes and brushes, and notes. A\n * button's menu lists its tools under headings (the kinds it gathers), so the\n * column holds few buttons, each big enough to read and hit at a glance.\n */\nexport const DRAWING_TOOL_GROUPS: DrawingToolGroupDef[] = [\n {\n label: 'Lines',\n section: 'lines',\n tools: [\n { label: 'Trend Line', value: 'trendLine' as DrawingToolType, heading: 'Lines' },\n { label: 'Ray', value: 'ray' as DrawingToolType },\n { label: 'Extended Line', value: 'extendedLine' as DrawingToolType },\n { label: 'Info Line', value: 'infoLine' as DrawingToolType },\n { label: 'Trend Angle', value: 'trendAngle' as DrawingToolType },\n { label: 'Horizontal Line', value: 'horizontalLine' as DrawingToolType, heading: 'Horizontal/Vertical' },\n { label: 'Horizontal Ray', value: 'horizontalRay' as DrawingToolType },\n { label: 'Vertical Line', value: 'verticalLine' as DrawingToolType },\n { label: 'Cross Line', value: 'crossLine' as DrawingToolType },\n { label: 'Parallel Channel', value: 'parallelChannel' as DrawingToolType, heading: 'Channels' },\n { label: 'Regression Channel', value: 'regressionChannel' as DrawingToolType },\n ],\n },\n {\n label: 'Fibonacci',\n section: 'fibonacci',\n tools: [\n { label: 'Fib Retracement', value: 'fibRetracement' as DrawingToolType, heading: 'Fibonacci' },\n { label: 'Fib Extension', value: 'fibExtension' as DrawingToolType },\n { label: 'Fib Channel', value: 'fibChannel' as DrawingToolType },\n { label: 'Fib Time Zones', value: 'fibTimeZones' as DrawingToolType },\n { label: 'Fib Speed Resistance Fan', value: 'fibSpeedResistanceFan' as DrawingToolType },\n { label: 'Fib Speed Resistance Arcs', value: 'fibArcs' as DrawingToolType },\n { label: 'Fib Circles', value: 'fibCircles' as DrawingToolType },\n { label: 'Fib Spiral', value: 'fibSpiral' as DrawingToolType },\n { label: 'Fib Wedge', value: 'fibWedge' as DrawingToolType },\n { label: 'Pitchfork', value: 'pitchfork' as DrawingToolType, heading: 'Gann & Pitchforks' },\n { label: 'Schiff Pitchfork', value: 'schiffPitchfork' as DrawingToolType },\n { label: 'Modified Schiff Pitchfork', value: 'modifiedSchiffPitchfork' as DrawingToolType },\n { label: 'Gann Fan', value: 'gannFan' as DrawingToolType },\n { label: 'Gann Box', value: 'gannBox' as DrawingToolType },\n { label: 'Gann Square', value: 'gannSquare' as DrawingToolType },\n { label: 'Pitchfan', value: 'pitchfan' as DrawingToolType },\n { label: 'Cyclic Lines', value: 'cyclicLines' as DrawingToolType, heading: 'Cycles' },\n { label: 'Time Cycles', value: 'timeCycles' as DrawingToolType },\n { label: 'Sine Line', value: 'sineLine' as DrawingToolType },\n ],\n },\n {\n label: 'Patterns',\n section: 'patterns',\n tools: [\n { label: 'XABCD Pattern', value: 'xabcdPattern' as DrawingToolType, heading: 'Patterns' },\n { label: 'ABCD Pattern', value: 'abcdPattern' as DrawingToolType },\n { label: 'Head and Shoulders', value: 'headAndShoulders' as DrawingToolType },\n { label: 'Cypher Pattern', value: 'cypherPattern' as DrawingToolType },\n { label: 'Three Drives Pattern', value: 'threeDrives' as DrawingToolType },\n { label: 'Elliott Wave', value: 'elliottWave' as DrawingToolType, heading: 'Elliott Waves' },\n { label: 'Elliott Impulse Wave', value: 'elliottImpulse' as DrawingToolType },\n { label: 'Elliott Correction Wave', value: 'elliottCorrection' as DrawingToolType },\n { label: 'Elliott Triangle Wave', value: 'elliottTriangle' as DrawingToolType },\n { label: 'Elliott Double Combo Wave', value: 'elliottDoubleCombo' as DrawingToolType },\n { label: 'Elliott Triple Combo Wave', value: 'elliottTripleCombo' as DrawingToolType },\n ],\n },\n {\n label: 'Forecasting',\n section: 'forecasting',\n tools: [\n { label: 'Long/Short Position', value: 'riskReward' as DrawingToolType, heading: 'Forecasting' },\n { label: 'Anchored VWAP', value: 'anchoredVWAP' as DrawingToolType },\n { label: 'Fixed Range Volume Profile', value: 'volumeProfileRange' as DrawingToolType },\n { label: 'Forecast', value: 'forecast' as DrawingToolType },\n { label: 'Projection', value: 'projection' as DrawingToolType },\n { label: 'Bars Pattern', value: 'barsPattern' as DrawingToolType },\n { label: 'Price Range', value: 'priceRange' as DrawingToolType, heading: 'Measure' },\n { label: 'Date Range', value: 'dateRange' as DrawingToolType },\n { label: 'Date and Price Range', value: 'dateAndPriceRange' as DrawingToolType },\n { label: 'Measure', value: 'measure' as DrawingToolType },\n ],\n },\n {\n label: 'Shapes',\n section: 'annotation',\n tools: [\n { label: 'Rectangle', value: 'rectangle' as DrawingToolType, heading: 'Shapes' },\n { label: 'Circle', value: 'circle' as DrawingToolType },\n { label: 'Ellipse', value: 'ellipse' as DrawingToolType },\n { label: 'Triangle', value: 'triangle' as DrawingToolType },\n { label: 'Polyline', value: 'polyline' as DrawingToolType },\n { label: 'Curve', value: 'curve' as DrawingToolType },\n { label: 'Arc', value: 'arc' as DrawingToolType },\n { label: 'Brush', value: 'brush' as DrawingToolType, heading: 'Brushes' },\n { label: 'Highlighter', value: 'highlighter' as DrawingToolType },\n { label: 'Path', value: 'path' as DrawingToolType },\n ],\n },\n {\n label: 'Annotation',\n section: 'annotation',\n tools: [\n { label: 'Text', value: 'text' as DrawingToolType },\n { label: 'Price Label', value: 'priceLabel' as DrawingToolType },\n { label: 'Arrow', value: 'arrow' as DrawingToolType },\n { label: 'Note', value: 'note' as DrawingToolType },\n { label: 'Callout', value: 'callout' as DrawingToolType },\n { label: 'Flag Mark', value: 'flag' as DrawingToolType },\n { label: 'Arrow Mark', value: 'arrowMark' as DrawingToolType },\n { label: 'Icon', value: 'icon' as DrawingToolType },\n { label: 'Signpost', value: 'signpost' as DrawingToolType },\n { label: 'Balloon', value: 'balloon' as DrawingToolType },\n { label: 'Anchored Text', value: 'anchoredText' as DrawingToolType },\n { label: 'Anchored Note', value: 'anchoredNote' as DrawingToolType },\n ],\n },\n];\n\nexport const DEFAULT_SYMBOLS = [\n 'BTCUSDT', 'ETHUSDT', 'SOLUSDT', 'BNBUSDT',\n];\n\nexport const DEFAULT_SETTINGS: ChartSettingsState = {\n gridVisible: true,\n volumeVisible: true,\n volumeProfileVisible: false,\n marketProfileVisible: false,\n marketProfileSplit: false,\n marketProfileLetters: false,\n marketProfileBuckets: 48,\n marketProfileOpacity: 0.32,\n depthHeatmapVisible: false,\n depthHeatmapOpacity: 0.7,\n sessionShadingVisible: false,\n pivotMarkersVisible: false,\n pivotStrength: 5,\n pivotStructureLabels: false,\n periodLevelsVisible: false,\n periodLevelsPeriod: 'day',\n legendVisible: true,\n barCountdown: true,\n indicatorValueLabels: false,\n alignAxisLabels: true,\n logScale: false,\n scaleMode: 'regular',\n autoScale: true,\n invertScale: false,\n leftPriceScale: false,\n crosshairMode: 'magnet',\n numberLocale: 'en-US',\n timezone: 'local',\n highLowLines: false,\n mainSeriesVisible: true,\n extendedHours: true,\n chartTypeOptions: {},\n};\n","import {\n CHART_STYLE_KEYS,\n DEFAULT_SIGNAL_STYLE,\n DEFAULT_TRADE_ZONE_STYLE,\n DEFAULT_TRADING_CONFIG,\n type ChartStyleKey,\n type ChartType,\n} from '@tradecanvas/commons';\nimport type { MessageKey } from './i18n.js';\n\n/** A row of the settings' look: the style keys it sets together (it shows the first) and its name. */\nexport interface LookRow {\n label: MessageKey;\n keys: readonly ChartStyleKey[];\n /**\n * A key the chart leaves to the part itself until set (it reads back null):\n * the row offers Auto, and a colour picker starts from `hint` (the part's\n * colour as the library sets it; a host may have set its own) or from the\n * colour another key reads back (`from`).\n */\n auto?: { hint?: string; from?: ChartStyleKey };\n}\n\nexport interface LookSection {\n title: MessageKey;\n rows: readonly LookRow[];\n /** Shown only on a chart that trades. */\n trading?: boolean;\n}\n\nconst row = (label: MessageKey, ...keys: ChartStyleKey[]): LookRow => ({ label, keys });\nconst autoRow = (label: MessageKey, key: ChartStyleKey, start: { hint?: string; from?: ChartStyleKey } = {}): LookRow =>\n ({ label, keys: [key], auto: start });\nconst hint = (colour: string | undefined) => ({ hint: colour });\n/** The theme's quieter text, which the watermark and the high and low lines take. */\nconst QUIET_TEXT = { from: 'panes.titleColor' } as const;\n\n/** The Symbol tab's sections after the chart type's own: the last price, the volume, the high and low. */\nexport const LAST_PRICE_SECTION: LookSection = {\n title: 'settings.section.lastPrice',\n rows: [\n row('settings.priceLine', 'lastPrice.visible'),\n row('settings.up', 'lastPrice.upColor'),\n row('settings.down', 'lastPrice.downColor'),\n row('drawingSettings.lineStyle', 'lastPrice.style'),\n row('drawingSettings.lineWidth', 'lastPrice.width'),\n ],\n};\nexport const VOLUME_SECTION: LookSection = {\n title: 'settings.volume',\n rows: [row('settings.up', 'volume.upColor'), row('settings.down', 'volume.downColor')],\n};\nexport const HIGH_LOW_SECTION: LookSection = {\n title: 'settings.highLowLines',\n rows: [autoRow('drawingSettings.color', 'highLow.color', QUIET_TEXT)],\n};\n\nexport const SYMBOL_SECTIONS: readonly LookSection[] = [LAST_PRICE_SECTION, VOLUME_SECTION, HIGH_LOW_SECTION];\n\n/** The Status line tab's colours of the legend, offered where the chart has one. */\nexport const LEGEND_ROWS: readonly LookRow[] = [\n row('settings.legendText', 'legend.textColor'),\n row('settings.legendLabels', 'legend.labelColor'),\n];\n/** The Status line tab's colours: the legend's text and the panes' titles, which are drawn without it. */\nexport const STATUS_LINE_ROWS: readonly LookRow[] = [...LEGEND_ROWS, row('settings.paneTitles', 'panes.titleColor')];\n\n/** The Scales tab's colours: the axes' text and lines. */\nexport const SCALE_ROWS: readonly LookRow[] = [\n row('drawingSettings.text', 'axis.price.textColor', 'axis.time.textColor'),\n row('settings.scaleLines', 'axis.price.lineColor', 'axis.time.lineColor'),\n];\n\n/** The Appearance tab: the background, the grid, the crosshair, the session breaks, the drawings' handles. */\nexport const APPEARANCE_SECTIONS: readonly LookSection[] = [\n {\n title: 'settings.section.background',\n rows: [\n row('settings.background', 'background.color'),\n row('settings.paneBackground', 'panes.background'),\n row('settings.paneSeparator', 'panes.separatorColor'),\n autoRow('settings.watermark', 'watermark.color', QUIET_TEXT),\n ],\n },\n {\n title: 'settings.gridLines',\n rows: [\n row('settings.horizontal', 'grid.horizontal.visible'),\n row('settings.vertical', 'grid.vertical.visible'),\n row('drawingSettings.color', 'grid.horizontal.color', 'grid.vertical.color'),\n row('drawingSettings.lineStyle', 'grid.horizontal.style', 'grid.vertical.style'),\n row('drawingSettings.lineWidth', 'grid.horizontal.width', 'grid.vertical.width'),\n ],\n },\n {\n title: 'settings.crosshairMode',\n rows: [\n row('settings.horizontal', 'crosshair.horizontal.visible'),\n row('settings.vertical', 'crosshair.vertical.visible'),\n row('drawingSettings.color', 'crosshair.horizontal.color', 'crosshair.vertical.color'),\n row('drawingSettings.lineStyle', 'crosshair.horizontal.style', 'crosshair.vertical.style'),\n row('drawingSettings.lineWidth', 'crosshair.horizontal.width', 'crosshair.vertical.width'),\n row('settings.labelBackground', 'crosshair.labelBackground'),\n row('settings.labelText', 'crosshair.labelTextColor'),\n ],\n },\n {\n title: 'settings.sessionBreaks',\n rows: [\n autoRow('drawingSettings.color', 'sessionBreaks.color', { from: 'axis.price.lineColor' }),\n autoRow('drawingSettings.lineStyle', 'sessionBreaks.style'),\n autoRow('drawingSettings.lineWidth', 'sessionBreaks.width'),\n ],\n },\n {\n title: 'objects.drawings',\n rows: [autoRow('settings.handles', 'drawings.handleColor', hint('#ffffff'))],\n },\n];\n\n/** The Trading tab: the colours of what the host puts on the chart, its own until set. */\nexport const TRADING_SECTIONS: readonly LookSection[] = [\n {\n title: 'settings.section.orders',\n trading: true,\n rows: [\n autoRow('ticket.buy', 'trading.buyColor', hint(DEFAULT_TRADING_CONFIG.orderColors?.buy)),\n autoRow('ticket.sell', 'trading.sellColor', hint(DEFAULT_TRADING_CONFIG.orderColors?.sell)),\n autoRow('settings.profit', 'trading.profitColor', hint(DEFAULT_TRADING_CONFIG.positionColors?.profit)),\n autoRow('settings.loss', 'trading.lossColor', hint(DEFAULT_TRADING_CONFIG.positionColors?.loss)),\n autoRow('account.entry', 'trading.entryColor', hint(DEFAULT_TRADING_CONFIG.positionColors?.entry)),\n ],\n },\n {\n title: 'settings.section.signals',\n rows: [\n autoRow('account.long', 'markers.longColor', hint(DEFAULT_SIGNAL_STYLE.longColor)),\n autoRow('account.short', 'markers.shortColor', hint(DEFAULT_SIGNAL_STYLE.shortColor)),\n autoRow('markers.neutral', 'markers.neutralColor', hint(DEFAULT_SIGNAL_STYLE.neutralColor)),\n ],\n },\n {\n title: 'settings.section.tradeZones',\n rows: [\n autoRow('settings.profit', 'tradeZones.profitColor', hint(DEFAULT_TRADE_ZONE_STYLE.profitColor)),\n autoRow('settings.loss', 'tradeZones.lossColor', hint(DEFAULT_TRADE_ZONE_STYLE.lossColor)),\n autoRow('settings.openTrade', 'tradeZones.activeColor', hint(DEFAULT_TRADE_ZONE_STYLE.activeColor)),\n ],\n },\n];\n\n/** The name of each of a chart type's keys, by the key's last part. */\nconst SERIES_LABELS: Readonly<Record<string, MessageKey>> = {\n upColor: 'settings.up',\n downColor: 'settings.down',\n wickUpColor: 'settings.upWick',\n wickDownColor: 'settings.downWick',\n color: 'drawingSettings.color',\n lineColor: 'drawingSettings.color',\n lineWidth: 'drawingSettings.lineWidth',\n topColor: 'settings.areaTop',\n bottomColor: 'settings.areaBottom',\n};\n\n/** Types whose up and down are bodies with wicks. */\nconst BODIES: ReadonlySet<ChartType> = new Set<ChartType>(['candlestick', 'heikinAshi', 'volumeCandles', 'equivolume']);\n\n/** The rows of a chart type's own colours and widths, in the key table's order. */\nexport function seriesRows(type: ChartType): LookRow[] {\n const prefix = `series.${type}.`;\n return (Object.keys(CHART_STYLE_KEYS) as ChartStyleKey[])\n .filter((key) => key.startsWith(prefix))\n .map((key) => {\n const prop = key.slice(prefix.length);\n let label = SERIES_LABELS[prop] ?? 'drawingSettings.color';\n if (BODIES.has(type) && prop === 'upColor') label = 'settings.upBody';\n if (BODIES.has(type) && prop === 'downColor') label = 'settings.downBody';\n if (type === 'baseline' && prop === 'upColor') label = 'settings.aboveBase';\n if (type === 'baseline' && prop === 'downColor') label = 'settings.belowBase';\n return row(label, key);\n });\n}\n\n/**\n * Every key the settings set, every chart type's included: what Reset takes\n * away and an undo puts back.\n */\nexport const SETTINGS_LOOK_KEYS: readonly ChartStyleKey[] = [\n ...new Set<ChartStyleKey>([\n ...(Object.keys(CHART_STYLE_KEYS) as ChartStyleKey[]).filter((key) => key.startsWith('series.')),\n ...[...SYMBOL_SECTIONS, ...APPEARANCE_SECTIONS, ...TRADING_SECTIONS].flatMap((section) => section.rows.flatMap((r) => r.keys)),\n ...[...STATUS_LINE_ROWS, ...SCALE_ROWS].flatMap((r) => r.keys),\n ]),\n];\n","import type { DrawingToolGroupDef } from './types.js';\nimport type { MessageKey, Translator } from './i18n.js';\n\n/** Number formats the settings offer, by locale tag. */\nexport const NUMBER_LOCALES: readonly string[] = [\n 'en-US', 'en-GB', 'en-IN', 'de-DE', 'fr-FR', 'es-ES', 'it-IT', 'pt-BR', 'ru-RU', 'tr-TR',\n 'vi-VN', 'id-ID', 'th-TH', 'zh-CN', 'zh-TW', 'ja-JP', 'ko-KR',\n];\n\nconst SAMPLE = 65234;\n\n/** \"de-DE (65.234,00)\": each format with a sample number; the current one stays listed. */\nexport function numberLocaleOptions(current: string): { value: string; label: string }[] {\n const codes = current && !NUMBER_LOCALES.includes(current) ? [current, ...NUMBER_LOCALES] : NUMBER_LOCALES;\n return codes.map((code) => {\n let sample: string;\n try {\n sample = new Intl.NumberFormat(code, { minimumFractionDigits: 2, maximumFractionDigits: 2 }).format(SAMPLE);\n } catch {\n sample = '';\n }\n return { value: code, label: sample ? `${code} (${sample})` : code };\n });\n}\n\n/** Message key of each built-in drawing-tool group, by its English name. */\nconst TOOL_GROUP_KEYS: Readonly<Record<string, MessageKey>> = {\n Lines: 'toolGroup.lines',\n 'Horizontal/Vertical': 'toolGroup.horizontalVertical',\n Channels: 'toolGroup.channels',\n Fibonacci: 'toolGroup.fibonacci',\n Shapes: 'toolGroup.shapes',\n 'Gann & Pitchforks': 'toolGroup.gannPitchforks',\n Patterns: 'toolGroup.patterns',\n Measure: 'toolGroup.measure',\n Annotation: 'toolGroup.annotation',\n Forecasting: 'toolGroup.forecasting',\n Brushes: 'toolGroup.brushes',\n Cycles: 'toolGroup.cycles',\n 'Elliott Waves': 'toolGroup.elliott',\n};\n\n/** A chart type's name in the widget's language (an unknown type keeps its own). */\nexport function chartTypeLabel(ct: { value: string; label: string }, t: Translator): string {\n const key = `chartType.${ct.value}` as MessageKey;\n const translated = t(key);\n return translated === key ? ct.label : translated;\n}\n\n/** The drawing-tool groups with names in the widget's language (unknown tools keep theirs). */\nexport function localizeToolGroups(groups: readonly DrawingToolGroupDef[], t: Translator): DrawingToolGroupDef[] {\n return groups.map((group) => ({\n ...group,\n label: TOOL_GROUP_KEYS[group.label] ? t(TOOL_GROUP_KEYS[group.label]) : group.label,\n tools: group.tools.map((tool) => {\n const key = `tool.${tool.value}` as MessageKey;\n const label = t(key);\n // A heading is a former group's name, translated as one.\n const heading = tool.heading !== undefined && TOOL_GROUP_KEYS[tool.heading] ? t(TOOL_GROUP_KEYS[tool.heading]) : tool.heading;\n return { ...tool, label: label === key ? tool.label : label, ...(heading !== undefined ? { heading } : {}) };\n }),\n }));\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tradecanvas/chart",
3
- "version": "1.78.0",
3
+ "version": "1.79.1",
4
4
  "type": "module",
5
5
  "description": "High-performance canvas trading chart with built-in indicators, drawing tools, and real-time streaming. Zero external dependencies.",
6
6
  "license": "MIT",
@@ -63,8 +63,8 @@
63
63
  "README.md"
64
64
  ],
65
65
  "dependencies": {
66
- "@tradecanvas/core": "1.78.0",
67
- "@tradecanvas/commons": "1.78.0"
66
+ "@tradecanvas/commons": "1.79.1",
67
+ "@tradecanvas/core": "1.79.1"
68
68
  },
69
69
  "devDependencies": {
70
70
  "jsdom": "^25.0.1",