@luxalgo/vela 0.5.0 → 0.5.2
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/dist/{DataProvider-Dzd-Erlk.d.ts → DataProvider-DTOEXKTI.d.ts} +1 -1
- package/dist/{DataProvider-DKNDHpNv.d.cts → DataProvider-gnzv-dgc.d.cts} +1 -1
- package/dist/{chunk-KM6LHB3Y.js → chunk-ATPU5CI6.js} +6 -1
- package/dist/{chunk-7UFX5ZIG.js → chunk-B5TIKQJ5.js} +65 -7
- package/dist/{chunk-GYD2THPV.js → chunk-LJLZR44Y.js} +9 -2
- package/dist/{chunk-RHIDOUFL.js → chunk-P556H6EA.js} +329 -10
- package/dist/{chunk-KCCZNKH7.js → chunk-RRFGWZNJ.js} +1915 -367
- package/dist/{chunk-OVQKKXLZ.js → chunk-Y7TK4ZWK.js} +1810 -153
- package/dist/{contributions-o1GRKPI_.d.cts → contributions-Ci_i3IN2.d.cts} +77 -31
- package/dist/{contributions-hX3EUyjG.d.ts → contributions-b6AVrqqG.d.ts} +77 -31
- package/dist/{history-LJkz4-sS.d.cts → history-Cf1lVsap.d.cts} +22 -5
- package/dist/{history-Dzxz-MQj.d.ts → history-Ci3M0xLV.d.ts} +22 -5
- package/dist/index.cjs +2010 -397
- package/dist/index.d.cts +83 -25
- package/dist/index.d.ts +83 -25
- package/dist/index.js +4 -4
- package/dist/{options-Q-576hIi.d.cts → options-XTBpbx0s.d.cts} +61 -1
- package/dist/{options-Q-576hIi.d.ts → options-XTBpbx0s.d.ts} +61 -1
- package/dist/{plugin-aGUD1epn.d.ts → plugin-CnNd7cuF.d.ts} +305 -8
- package/dist/{plugin-D94muTV-.d.cts → plugin-DfH4Y-Om.d.cts} +305 -8
- package/dist/plugin.cjs +58 -7
- package/dist/plugin.d.cts +4 -4
- package/dist/plugin.d.ts +4 -4
- package/dist/plugin.js +2 -2
- package/dist/providers/binance.d.cts +2 -2
- package/dist/providers/binance.d.ts +2 -2
- package/dist/providers/coinbase.d.cts +2 -2
- package/dist/providers/coinbase.d.ts +2 -2
- package/dist/providers/hyperliquid.d.cts +2 -2
- package/dist/providers/hyperliquid.d.ts +2 -2
- package/dist/ui.cjs +342 -9
- package/dist/ui.d.cts +64 -2
- package/dist/ui.d.ts +64 -2
- package/dist/ui.js +3 -3
- package/dist/vela.global.js +2010 -397
- package/dist/vela.global.min.js +115 -34
- package/dist/widget.cjs +5987 -2242
- package/dist/widget.d.cts +89 -17
- package/dist/widget.d.ts +89 -17
- package/dist/widget.js +169 -18
- package/dist/workspace.cjs +5627 -1587
- package/dist/workspace.d.cts +106 -12
- package/dist/workspace.d.ts +106 -12
- package/dist/workspace.js +494 -52
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { u as DrawingTypeKey,
|
|
2
|
-
import { b as DataControl } from './contributions-
|
|
1
|
+
import { u as DrawingTypeKey, a4 as DrawingStyle, S as SerializedDrawing, D as Drawing, aw as SeriesKind, O as OHLCV, c as VelaTheme } from './options-XTBpbx0s.cjs';
|
|
2
|
+
import { b as DataControl } from './contributions-Ci_i3IN2.cjs';
|
|
3
3
|
import './side-panel-CT9ZwIGz.cjs';
|
|
4
4
|
import './icons-BZYbJXSV.cjs';
|
|
5
5
|
import './keymap-CGOz5F5f.cjs';
|
|
6
|
-
import './DataProvider-
|
|
6
|
+
import './DataProvider-gnzv-dgc.cjs';
|
|
7
7
|
|
|
8
8
|
/** What a drawing type contributes to the toolbar + factory (renderer-neutral). */
|
|
9
9
|
interface DrawingTypeMeta {
|
|
@@ -208,7 +208,11 @@ interface SeriesDataEngine {
|
|
|
208
208
|
from: number;
|
|
209
209
|
to: number;
|
|
210
210
|
}): void;
|
|
211
|
-
/** New settings values from the chart-settings dialog (the type's SDK section).
|
|
211
|
+
/** New settings values from the chart-settings dialog (the type's SDK section).
|
|
212
|
+
* Also delivered once just BEFORE `start()` whenever stored values exist (a
|
|
213
|
+
* persisted config, a market switch recreating the engine) — an engine must
|
|
214
|
+
* accept a pre-start call as pure configuration, so it never fetches on
|
|
215
|
+
* schema defaults the user has edited away. */
|
|
212
216
|
onSettings?(values: Record<string, unknown>): void;
|
|
213
217
|
}
|
|
214
218
|
/** One registered chart type. */
|
|
@@ -242,12 +246,175 @@ interface ChartTypeDefinition {
|
|
|
242
246
|
*/
|
|
243
247
|
basePainting?: 'candles' | 'none';
|
|
244
248
|
}
|
|
245
|
-
/**
|
|
249
|
+
/**
|
|
250
|
+
* A declarative visibility condition on another row's CURRENT value (stored value,
|
|
251
|
+
* or that row's `defval` while unset). Pure data — the dialog evaluates it live as
|
|
252
|
+
* the user edits, so dependent rows appear/disappear without a rebuild.
|
|
253
|
+
* `anyOf` wins over `equals` when both are given.
|
|
254
|
+
*/
|
|
255
|
+
interface SettingsRowCondition {
|
|
256
|
+
key: string;
|
|
257
|
+
equals?: boolean | string | number;
|
|
258
|
+
anyOf?: readonly (boolean | string | number)[];
|
|
259
|
+
}
|
|
260
|
+
/** A row's visibility gate: one condition, or several AND-ed together. */
|
|
261
|
+
type SettingsRowWhen = SettingsRowCondition | readonly SettingsRowCondition[];
|
|
262
|
+
/**
|
|
263
|
+
* An inline color swatch on a toggle row — the color(s) the toggle governs, edited
|
|
264
|
+
* right on the toggle's row (dimmed while the toggle is off) instead of a
|
|
265
|
+
* conditionally revealed row below. Each swatch stores under its own bag key.
|
|
266
|
+
*/
|
|
267
|
+
interface SettingsRowSwatch {
|
|
268
|
+
key: string;
|
|
269
|
+
/** Names the color for the swatch's tooltip (`'Highlight color'`). */
|
|
270
|
+
label: string;
|
|
271
|
+
defval: string;
|
|
272
|
+
/**
|
|
273
|
+
* Optional visibility gate, evaluated live against the values bag exactly like a
|
|
274
|
+
* row's own `when` — lets one toggle row swap its swatch set as another value
|
|
275
|
+
* changes (a mode's two colors while it is on, its one alternative while off).
|
|
276
|
+
* A gated swatch is EXEMPT from the toggle-off dim: its gate already says when
|
|
277
|
+
* it matters, and it may exist specifically for the off state.
|
|
278
|
+
*/
|
|
279
|
+
when?: SettingsRowWhen;
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* An inline LINE-WIDTH dropdown on a toggle row — sits beside the row's color
|
|
283
|
+
* swatches (dimmed with them while the toggle is off) and stores a px number under
|
|
284
|
+
* its own bag key. The control offers the classic drawing-bar weights (1–5 px),
|
|
285
|
+
* each option previewed as a line at that weight.
|
|
286
|
+
*/
|
|
287
|
+
interface SettingsRowWidth {
|
|
288
|
+
key: string;
|
|
289
|
+
/** Names the control for its tooltip (`'Line width'`). */
|
|
290
|
+
label: string;
|
|
291
|
+
defval: number;
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* An inline NUMBER input on a toggle row — sits AHEAD of the row's color swatches
|
|
295
|
+
* (dimmed with them while the toggle is off) and stores a number under its own bag
|
|
296
|
+
* key. For the one value the toggle governs (a percent, a count) — the declarative
|
|
297
|
+
* alternative to a separate `number` row gated on the toggle.
|
|
298
|
+
*/
|
|
299
|
+
interface SettingsRowInlineNumber {
|
|
300
|
+
key: string;
|
|
301
|
+
/** Names the input for its tooltip (`'Value area (%)'`). */
|
|
302
|
+
label: string;
|
|
303
|
+
defval: number;
|
|
304
|
+
min?: number;
|
|
305
|
+
max?: number;
|
|
306
|
+
step?: number;
|
|
307
|
+
}
|
|
308
|
+
/**
|
|
309
|
+
* A select option: a bare string (value = label) or a `[value, label]` pair when the
|
|
310
|
+
* stored id differs from the human-readable text (`['bidAskProfile', 'Bid × Ask Profile']`).
|
|
311
|
+
*/
|
|
312
|
+
type SettingsSelectOption = string | readonly [value: string, label: string];
|
|
313
|
+
/**
|
|
314
|
+
* One INLINE CONTROL on a composite `row` — the composable unit every value row is
|
|
315
|
+
* made of. Each keyed control stores under its own bag key; `label` names it for the
|
|
316
|
+
* control's tooltip. A control may carry its own `when` gate (same shape as a row's),
|
|
317
|
+
* evaluated live against the values bag: a gated control appears/disappears as other
|
|
318
|
+
* values change, and is EXEMPT from the row's toggle-off dim — its gate already says
|
|
319
|
+
* when it matters, and it may exist specifically for the off state.
|
|
320
|
+
*
|
|
321
|
+
* - `number` — a compact number input. With `placeholder`, an input at the default
|
|
322
|
+
* value renders EMPTY showing it, and clearing the input stores the default back —
|
|
323
|
+
* the placeholder names the "unset" state (`'Off'` for a 0-disables bound).
|
|
324
|
+
* - `color` — a color swatch opening the shared color picker.
|
|
325
|
+
* - `width` — a line-width dropdown (the classic drawing-bar 1–5 px weights, each
|
|
326
|
+
* option previewed as a line at that weight), storing a px number.
|
|
327
|
+
* - `select` — a dropdown over {@link SettingsSelectOption}s.
|
|
328
|
+
* - `hint` — display-only dimmed text between controls (the `–` of a min–max pair,
|
|
329
|
+
* a unit); stores nothing.
|
|
330
|
+
*/
|
|
331
|
+
type SettingsInlineControl = {
|
|
332
|
+
kind: 'number';
|
|
333
|
+
key: string;
|
|
334
|
+
label: string;
|
|
335
|
+
defval: number;
|
|
336
|
+
min?: number;
|
|
337
|
+
max?: number;
|
|
338
|
+
step?: number;
|
|
339
|
+
placeholder?: string;
|
|
340
|
+
when?: SettingsRowWhen;
|
|
341
|
+
} | {
|
|
342
|
+
kind: 'color';
|
|
343
|
+
key: string;
|
|
344
|
+
label: string;
|
|
345
|
+
defval: string;
|
|
346
|
+
when?: SettingsRowWhen;
|
|
347
|
+
} | {
|
|
348
|
+
kind: 'width';
|
|
349
|
+
key: string;
|
|
350
|
+
label: string;
|
|
351
|
+
defval: number;
|
|
352
|
+
when?: SettingsRowWhen;
|
|
353
|
+
} | {
|
|
354
|
+
kind: 'select';
|
|
355
|
+
key: string;
|
|
356
|
+
label: string;
|
|
357
|
+
options: readonly SettingsSelectOption[];
|
|
358
|
+
defval: string;
|
|
359
|
+
when?: SettingsRowWhen;
|
|
360
|
+
} | {
|
|
361
|
+
kind: 'hint';
|
|
362
|
+
text: string;
|
|
363
|
+
};
|
|
364
|
+
/**
|
|
365
|
+
* One declarative settings row. To add a NEW inline control kind, see
|
|
366
|
+
* docs/architecture/settings-rows.md.
|
|
367
|
+
*
|
|
368
|
+
* `heading` titles a GROUP of rows: the heading plus everything after it up to the next
|
|
369
|
+
* heading. In a flat `rows` section headings render as inline group titles; inside
|
|
370
|
+
* `instances`/`subsections` (or a `layout: 'grouped'` section) they become entries of
|
|
371
|
+
* the pane's group TOC (see {@link ChartTypeSettingsSection}).
|
|
372
|
+
*
|
|
373
|
+
* `header` is an in-pane subgroup title: same visual as a flat heading, but inside a
|
|
374
|
+
* structured pane it stays in the rows column (does NOT become a TOC entry). Use it to
|
|
375
|
+
* cluster rows inside a TOC group (e.g. Colors / Values under Display).
|
|
376
|
+
*
|
|
377
|
+
* `row` is the COMPOSITE form every value row reduces to: a label, an optional leading
|
|
378
|
+
* `toggle` (a checkbox storing a boolean under `toggle.key`; while off, the row's
|
|
379
|
+
* controls dim and ignore input), and an ordered list of {@link SettingsInlineControl}s
|
|
380
|
+
* in the control column. Any mix of control kinds in any order — no per-combination
|
|
381
|
+
* SDK surface.
|
|
382
|
+
*
|
|
383
|
+
* The remaining kinds are SUGAR over `row` (see {@link normalizeSettingsRow}):
|
|
384
|
+
* - `toggle` — a checkbox row; optional inline `number`, color `colors`, and `width`
|
|
385
|
+
* attachments render in that order.
|
|
386
|
+
* - `number` / `color` / `select` — one control on its own row.
|
|
387
|
+
* - `range` — a min–max pair (two number inputs under `minKey`/`maxKey`, both seeded
|
|
388
|
+
* from the shared `defval`, with `placeholder` naming the unset state).
|
|
389
|
+
*
|
|
390
|
+
* Any row may carry `when` — it is shown only while the condition holds.
|
|
391
|
+
*/
|
|
246
392
|
type SettingsRowDescriptor = {
|
|
393
|
+
kind: 'heading';
|
|
394
|
+
label: string;
|
|
395
|
+
when?: SettingsRowWhen;
|
|
396
|
+
} | {
|
|
397
|
+
kind: 'header';
|
|
398
|
+
label: string;
|
|
399
|
+
when?: SettingsRowWhen;
|
|
400
|
+
} | {
|
|
401
|
+
kind: 'row';
|
|
402
|
+
label: string;
|
|
403
|
+
toggle?: {
|
|
404
|
+
key: string;
|
|
405
|
+
defval: boolean;
|
|
406
|
+
};
|
|
407
|
+
controls: readonly SettingsInlineControl[];
|
|
408
|
+
when?: SettingsRowWhen;
|
|
409
|
+
} | {
|
|
247
410
|
kind: 'toggle';
|
|
248
411
|
key: string;
|
|
249
412
|
label: string;
|
|
250
413
|
defval: boolean;
|
|
414
|
+
number?: SettingsRowInlineNumber;
|
|
415
|
+
colors?: readonly SettingsRowSwatch[];
|
|
416
|
+
width?: SettingsRowWidth;
|
|
417
|
+
when?: SettingsRowWhen;
|
|
251
418
|
} | {
|
|
252
419
|
kind: 'number';
|
|
253
420
|
key: string;
|
|
@@ -256,25 +423,127 @@ type SettingsRowDescriptor = {
|
|
|
256
423
|
min?: number;
|
|
257
424
|
max?: number;
|
|
258
425
|
step?: number;
|
|
426
|
+
when?: SettingsRowWhen;
|
|
259
427
|
} | {
|
|
260
428
|
kind: 'color';
|
|
261
429
|
key: string;
|
|
262
430
|
label: string;
|
|
263
431
|
defval: string;
|
|
432
|
+
when?: SettingsRowWhen;
|
|
264
433
|
} | {
|
|
265
434
|
kind: 'select';
|
|
266
435
|
key: string;
|
|
267
436
|
label: string;
|
|
268
|
-
options: readonly
|
|
437
|
+
options: readonly SettingsSelectOption[];
|
|
269
438
|
defval: string;
|
|
439
|
+
when?: SettingsRowWhen;
|
|
440
|
+
} | {
|
|
441
|
+
kind: 'range';
|
|
442
|
+
label: string;
|
|
443
|
+
minKey: string;
|
|
444
|
+
maxKey: string;
|
|
445
|
+
defval: number;
|
|
446
|
+
min?: number;
|
|
447
|
+
max?: number;
|
|
448
|
+
step?: number;
|
|
449
|
+
placeholder?: string;
|
|
450
|
+
when?: SettingsRowWhen;
|
|
270
451
|
};
|
|
452
|
+
/** A value-carrying row (everything except the key-less `heading`/`header` titles). */
|
|
453
|
+
type SettingsValueRow = Exclude<SettingsRowDescriptor, {
|
|
454
|
+
kind: 'heading' | 'header';
|
|
455
|
+
}>;
|
|
456
|
+
/** The canonical row shape every {@link SettingsValueRow} reduces to (the `row` kind's fields). */
|
|
457
|
+
interface NormalizedSettingsRow {
|
|
458
|
+
label: string;
|
|
459
|
+
toggle?: {
|
|
460
|
+
key: string;
|
|
461
|
+
defval: boolean;
|
|
462
|
+
};
|
|
463
|
+
controls: readonly SettingsInlineControl[];
|
|
464
|
+
when?: SettingsRowWhen;
|
|
465
|
+
}
|
|
466
|
+
/**
|
|
467
|
+
* Reduce a value row to the canonical composite shape — the ONE contract view layers
|
|
468
|
+
* render and the persistence layer enumerates. The sugar kinds map exactly onto their
|
|
469
|
+
* historical rendering: `toggle` attachments in number → colors → width order, `range`
|
|
470
|
+
* as two number controls around a `–` hint (placeholder semantics preserved).
|
|
471
|
+
*/
|
|
472
|
+
declare function normalizeSettingsRow(r: SettingsValueRow): NormalizedSettingsRow;
|
|
473
|
+
/** One value a settings row stores: its bag key, runtime type, and registry default. */
|
|
474
|
+
interface SettingsRowValueKey {
|
|
475
|
+
key: string;
|
|
476
|
+
type: 'boolean' | 'number' | 'string';
|
|
477
|
+
defval: boolean | number | string;
|
|
478
|
+
}
|
|
479
|
+
/**
|
|
480
|
+
* EVERY key a row stores (toggle key + each keyed inline control), with its expected
|
|
481
|
+
* type and default — the single enumeration the dialog seeds from and the factory
|
|
482
|
+
* reset restores, so no key can fall through a kind-specific walk.
|
|
483
|
+
*/
|
|
484
|
+
declare function settingsRowValueKeys(r: SettingsRowDescriptor): SettingsRowValueKey[];
|
|
485
|
+
/**
|
|
486
|
+
* One tab of a section's INSTANCE STRIP — a repeated block of settings (e.g. one of
|
|
487
|
+
* several overlays a style can paint). The dialog shows a tab per PRESENT instance,
|
|
488
|
+
* a dashed `+` that turns on the next absent one, and an `×` on the active removable
|
|
489
|
+
* tab that turns it off. Presence is the boolean at `enableKey` (stored in the same
|
|
490
|
+
* per-type bag as every other value); an instance without `enableKey` is always
|
|
491
|
+
* present and not removable — the base instance.
|
|
492
|
+
*/
|
|
493
|
+
interface ChartTypeSettingsInstance {
|
|
494
|
+
label: string;
|
|
495
|
+
/** Boolean bag key controlling presence; omitted = always present, not removable. */
|
|
496
|
+
enableKey?: string;
|
|
497
|
+
rows: readonly SettingsRowDescriptor[];
|
|
498
|
+
}
|
|
499
|
+
/** An indented sub-entry under the section's rail tab, with its own pane of rows. */
|
|
500
|
+
interface ChartTypeSettingsSubsection {
|
|
501
|
+
title: string;
|
|
502
|
+
rows: readonly SettingsRowDescriptor[];
|
|
503
|
+
/**
|
|
504
|
+
* Boolean bag key that masters this pane. While it is false, every row EXCEPT the
|
|
505
|
+
* one whose `key` matches stays visible but grayed out (not hidden) — so users can
|
|
506
|
+
* still browse and preview settings with the feature off. The matching toggle is
|
|
507
|
+
* typically the first row of the Display group.
|
|
508
|
+
*/
|
|
509
|
+
enableKey?: string;
|
|
510
|
+
}
|
|
511
|
+
/**
|
|
512
|
+
* A chart type's settings tab. Two forms:
|
|
513
|
+
*
|
|
514
|
+
* - **Flat**: `rows` only — rendered as one scrollable pane, `heading` rows as inline
|
|
515
|
+
* group titles (the historical form). `layout: 'grouped'` upgrades the same rows to
|
|
516
|
+
* the GROUP TOC presentation (below) without declaring an instance strip.
|
|
517
|
+
* - **Structured**: `instances` (and optionally `subsections`) — the pane opens with an
|
|
518
|
+
* instance TAB STRIP, and each instance's rows are organized by a GROUP TOC on the
|
|
519
|
+
* left of the pane (right of the dialog's tab rail) built from its `heading` rows
|
|
520
|
+
* (rows before the first heading always show above the groups; selecting a TOC entry
|
|
521
|
+
* shows only that group's rows). `subsections` add indented rail entries under the
|
|
522
|
+
* section's tab, each a pane with the same TOC treatment. A TOC entry hides itself
|
|
523
|
+
* while every row of its group is hidden by `when` gates.
|
|
524
|
+
*
|
|
525
|
+
* All values — every instance and subsection included — live in the ONE per-type bag
|
|
526
|
+
* (`config.chartTypes[<id>]`), so consumers keep receiving a single flat object.
|
|
527
|
+
*/
|
|
271
528
|
interface ChartTypeSettingsSection {
|
|
272
529
|
/** Section heading in the settings dialog. */
|
|
273
530
|
title: string;
|
|
274
|
-
|
|
531
|
+
/** Flat form. Ignored when `instances` is declared. */
|
|
532
|
+
rows?: readonly SettingsRowDescriptor[];
|
|
533
|
+
/** How `rows` are presented: `'flat'` (default) renders headings as inline group
|
|
534
|
+
* titles; `'grouped'` promotes them to a group TOC beside the rows (the structured
|
|
535
|
+
* pane's presentation, without an instance strip). Ignored with `instances`. */
|
|
536
|
+
layout?: 'flat' | 'grouped';
|
|
537
|
+
/** Structured form: the pane's instance tab strip. */
|
|
538
|
+
instances?: readonly ChartTypeSettingsInstance[];
|
|
539
|
+
/** Indented sub-entries under this section's rail tab. */
|
|
540
|
+
subsections?: readonly ChartTypeSettingsSubsection[];
|
|
275
541
|
/** `'active'` (default): shown only while this chart type is the active price style;
|
|
276
542
|
* `'always'`: shown whenever the type is registered. */
|
|
277
543
|
visibility?: 'always' | 'active';
|
|
544
|
+
/** Rail position: `'end'` (default, after the built-in tabs) or `'after-symbol'`
|
|
545
|
+
* (directly under the Symbol tab). Subsections follow their parent. */
|
|
546
|
+
placement?: 'after-symbol' | 'end';
|
|
278
547
|
}
|
|
279
548
|
/** Register (or replace) a chart type. */
|
|
280
549
|
declare function registerChartType(def: ChartTypeDefinition): void;
|
|
@@ -323,6 +592,23 @@ interface RendererLayerArgs {
|
|
|
323
592
|
priceStyle: string;
|
|
324
593
|
/** Frame clock (ms) for pulses/fades; monotonic within a session. */
|
|
325
594
|
nowMs: number;
|
|
595
|
+
/** Plot-relative pointer position, or null when the pointer is off the plot. Layers
|
|
596
|
+
* that hover-test set `repaintOnCursor` on their definition so pointer moves repaint
|
|
597
|
+
* them (only data-tier frames repaint layers otherwise). */
|
|
598
|
+
cursor: {
|
|
599
|
+
x: number;
|
|
600
|
+
y: number;
|
|
601
|
+
} | null;
|
|
602
|
+
}
|
|
603
|
+
/** How the active style's layer dims/slims the BASE painting under it (see
|
|
604
|
+
* {@link RendererLayerInstance.modulateBase}). Omitted fields keep their defaults. */
|
|
605
|
+
interface BasePaintingModulation {
|
|
606
|
+
/** Candle body width multiplier, (0..1] (1 = full width). */
|
|
607
|
+
candleBodyScale?: number;
|
|
608
|
+
/** Candle body-fill opacity, [0..1] (wick + border keep their own opacity). */
|
|
609
|
+
candleBodyAlpha?: number;
|
|
610
|
+
/** Gridline opacity, [0..1] (fade the grid as a reveal-under layer opens). */
|
|
611
|
+
gridAlpha?: number;
|
|
326
612
|
}
|
|
327
613
|
/** One live layer instance (per mounted renderer). */
|
|
328
614
|
interface RendererLayerInstance {
|
|
@@ -332,6 +618,14 @@ interface RendererLayerInstance {
|
|
|
332
618
|
render(args: RendererLayerArgs): void;
|
|
333
619
|
/** Return true while the layer needs CONTINUOUS frames (a pulse/fade) — keeps the animator alive. */
|
|
334
620
|
animating?(): boolean;
|
|
621
|
+
/**
|
|
622
|
+
* How the base painting (candles, grid) should be dimmed/slimmed under this layer for
|
|
623
|
+
* the CURRENT frame — a gradual counterpart of the chart type's all-or-nothing
|
|
624
|
+
* `basePainting: 'none'`. Called after `render`, only for the layer whose id matches
|
|
625
|
+
* the active price style; returning null (or omitting the method) leaves the base
|
|
626
|
+
* painting untouched. Values are clamped by the renderer.
|
|
627
|
+
*/
|
|
628
|
+
modulateBase?(args: RendererLayerArgs): BasePaintingModulation | null;
|
|
335
629
|
/** The renderer unmounted — release everything (the canvas itself is removed by the renderer). */
|
|
336
630
|
destroy?(): void;
|
|
337
631
|
}
|
|
@@ -342,6 +636,9 @@ interface RendererLayerDefinition {
|
|
|
342
636
|
/** Stacking: `'below-data'` = behind the candles (reveal-under styles); `'above-data'` =
|
|
343
637
|
* over the candles, under the chrome/axes. Default `'above-data'`. */
|
|
344
638
|
placement?: 'below-data' | 'above-data';
|
|
639
|
+
/** Repaint this layer when the pointer moves (hover hit-testing UIs). Off by default:
|
|
640
|
+
* pointer moves normally repaint only the crosshair overlay, not the layers. */
|
|
641
|
+
repaintOnCursor?: boolean;
|
|
345
642
|
/** Instance factory — called once per mounted renderer. */
|
|
346
643
|
create(): RendererLayerInstance;
|
|
347
644
|
}
|
|
@@ -402,4 +699,4 @@ declare const CATEGORICAL: readonly string[];
|
|
|
402
699
|
/** Pick a stable categorical color for a string key (same key ⇒ same color). */
|
|
403
700
|
declare function categoricalColor(key: string): string;
|
|
404
701
|
|
|
405
|
-
export { ACCENT as A, BEARISH as B, CATEGORICAL as C, type DrawingTypeMeta as D,
|
|
702
|
+
export { normalizeSettingsRow as $, ACCENT as A, BEARISH as B, CATEGORICAL as C, type DrawingTypeMeta as D, type SettingsRowValueKey as E, type SettingsRowWhen as F, type SettingsRowWidth as G, HIGHLIGHT as H, INFO as I, type SettingsSelectOption as J, type SettingsValueRow as K, TRADE_LONG as L, MARKER as M, NEUTRAL as N, TRADE_SHORT as O, categoricalColor as P, chartType as Q, type RendererLayerArgs as R, SERIES_LINE as S, TRADE_EXIT as T, chartTypes as U, VALID as V, WARNING as W, createDrawing as X, deserializeDrawing as Y, drawingTypes as Z, getDrawingType as _, ACCENT_BRIGHT as a, registerChartType as a0, registerDrawingType as a1, registerRendererDefaults as a2, registerRendererLayer as a3, rendererDefaults as a4, rendererLayers as a5, settingsRowValueKeys as a6, stableSeriesId as a7, tickerModifierIds as a8, unregisterChartType as a9, unregisterRendererDefaults as aa, unregisterRendererLayer as ab, BULLISH as b, type BarTransform as c, type BasePaintingModulation as d, CROSSHAIR as e, type ChartTypeDefinition as f, type ChartTypeSettingsInstance as g, type ChartTypeSettingsSection as h, type ChartTypeSettingsSubsection as i, INVALID as j, type IdentifiableKind as k, type NormalizedSettingsRow as l, type RendererLayerDefinition as m, type RendererLayerInstance as n, SESSION_OFF as o, SESSION_POST as p, SESSION_PRE as q, SLATE as r, SLATE_DEEP as s, type SeriesDataEngine as t, type SeriesDataEngineHost as u, type SettingsInlineControl as v, type SettingsRowCondition as w, type SettingsRowDescriptor as x, type SettingsRowInlineNumber as y, type SettingsRowSwatch as z };
|
package/dist/plugin.cjs
CHANGED
|
@@ -1,6 +1,47 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
// src/chart-types/registry.ts
|
|
4
|
+
function normalizeSettingsRow(r) {
|
|
5
|
+
switch (r.kind) {
|
|
6
|
+
case "row":
|
|
7
|
+
return { label: r.label, toggle: r.toggle, controls: r.controls, when: r.when };
|
|
8
|
+
case "toggle": {
|
|
9
|
+
const controls = [];
|
|
10
|
+
if (r.number) controls.push({ kind: "number", ...r.number });
|
|
11
|
+
for (const c of r.colors ?? []) controls.push({ kind: "color", ...c });
|
|
12
|
+
if (r.width) controls.push({ kind: "width", ...r.width });
|
|
13
|
+
return { label: r.label, toggle: { key: r.key, defval: r.defval }, controls, when: r.when };
|
|
14
|
+
}
|
|
15
|
+
case "number":
|
|
16
|
+
return { label: r.label, controls: [{ kind: "number", key: r.key, label: r.label, defval: r.defval, min: r.min, max: r.max, step: r.step }], when: r.when };
|
|
17
|
+
case "color":
|
|
18
|
+
return { label: r.label, controls: [{ kind: "color", key: r.key, label: r.label, defval: r.defval }], when: r.when };
|
|
19
|
+
case "select":
|
|
20
|
+
return { label: r.label, controls: [{ kind: "select", key: r.key, label: r.label, options: r.options, defval: r.defval }], when: r.when };
|
|
21
|
+
case "range":
|
|
22
|
+
return {
|
|
23
|
+
label: r.label,
|
|
24
|
+
controls: [
|
|
25
|
+
{ kind: "number", key: r.minKey, label: `${r.label} \u2014 min`, defval: r.defval, min: r.min, max: r.max, step: r.step, placeholder: r.placeholder },
|
|
26
|
+
{ kind: "hint", text: "\u2013" },
|
|
27
|
+
{ kind: "number", key: r.maxKey, label: `${r.label} \u2014 max`, defval: r.defval, min: r.min, max: r.max, step: r.step, placeholder: r.placeholder }
|
|
28
|
+
],
|
|
29
|
+
when: r.when
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function settingsRowValueKeys(r) {
|
|
34
|
+
if (r.kind === "heading" || r.kind === "header") return [];
|
|
35
|
+
const n = normalizeSettingsRow(r);
|
|
36
|
+
const keys = [];
|
|
37
|
+
if (n.toggle) keys.push({ key: n.toggle.key, type: "boolean", defval: n.toggle.defval });
|
|
38
|
+
for (const c of n.controls) {
|
|
39
|
+
if (c.kind === "hint") continue;
|
|
40
|
+
if (c.kind === "color" || c.kind === "select") keys.push({ key: c.key, type: "string", defval: c.defval });
|
|
41
|
+
else keys.push({ key: c.key, type: "number", defval: c.defval });
|
|
42
|
+
}
|
|
43
|
+
return keys;
|
|
44
|
+
}
|
|
4
45
|
var registry = /* @__PURE__ */ new Map();
|
|
5
46
|
function registerChartType(def) {
|
|
6
47
|
registry.set(def.id, def);
|
|
@@ -202,14 +243,15 @@ registerIcon(
|
|
|
202
243
|
svg24('<path d="m10 20-1.25-2.5L6 16"/><path d="M10 4 8.75 6.5 6 8"/><path d="m14 20 1.25-2.5L18 16"/><path d="m14 4 1.25 2.5L18 8"/><path d="m17 10-5 5-5-5"/><path d="M4 12h16"/>')
|
|
203
244
|
);
|
|
204
245
|
registerIcon("chevron-right", S('<path d="m6 3.5 4.5 4.5L6 12.5"/>'));
|
|
246
|
+
registerIcon("chevron-left", S('<path d="M10 3.5 5.5 8l4.5 4.5"/>'));
|
|
205
247
|
registerIcon("chevron-down", S('<path d="M3.5 6 8 10.5 12.5 6"/>'));
|
|
206
248
|
registerIcon("chevron-up", S('<path d="M3.5 10 8 5.5 12.5 10"/>'));
|
|
207
249
|
registerIcon("chevrons-right", S('<path d="m4 3.5 4.5 4.5L4 12.5"/><path d="m8.5 3.5 4.5 4.5-4.5 4.5"/>'));
|
|
208
250
|
registerIcon("chevrons-left", S('<path d="M12 3.5 7.5 8l4.5 4.5"/><path d="M7.5 3.5 3 8l4.5 4.5"/>'));
|
|
209
251
|
registerIcon("check", S('<path d="m2.8 8.4 3.4 3.4 7-7.6"/>'));
|
|
210
252
|
registerIcon("close", S('<path d="m3.8 3.8 8.4 8.4M12.2 3.8l-8.4 8.4"/>'));
|
|
211
|
-
registerIcon("eye", S('<path d="M1.5 8s2.5-4
|
|
212
|
-
registerIcon("eye-off", S('<path d="M1.5 8s2.5-4
|
|
253
|
+
registerIcon("eye", S('<path d="M1.5 8s2.5-5.4 6.5-5.4S14.5 8 14.5 8 12 13.4 8 13.4 1.5 8 1.5 8z"/><circle cx="8" cy="8" r="1.8"/>'));
|
|
254
|
+
registerIcon("eye-off", S('<path d="M1.5 8s2.5-5.4 6.5-5.4S14.5 8 14.5 8 12 13.4 8 13.4 1.5 8 1.5 8z" opacity="0.45"/><path d="m3 13 10-10"/>'));
|
|
213
255
|
registerIcon("lock", S('<rect x="3.2" y="7" width="9.6" height="6.6" rx="1.2"/><path d="M5.6 7V5.2a2.4 2.4 0 0 1 4.8 0V7"/>'));
|
|
214
256
|
registerIcon("unlock", S('<rect x="3.2" y="7" width="9.6" height="6.6" rx="1.2"/><path d="M5.6 7V5.2a2.4 2.4 0 0 1 4.7-.7"/>'));
|
|
215
257
|
registerIcon("trash", S('<path d="M2.5 4.3h11M6.2 4.3V3.1a1 1 0 0 1 1-1h1.6a1 1 0 0 1 1 1v1.2M4.2 4.3l.5 9.1a1.15 1.15 0 0 0 1.15 1.1h4.3a1.15 1.15 0 0 0 1.15-1.1l.5-9.1M6.5 7v4.5M9.5 7v4.5"/>'));
|
|
@@ -232,6 +274,7 @@ registerIcon("star", S('<path d="M8 2.2l1.75 3.55 3.9.55-2.8 2.75.65 3.9L8 11.1l
|
|
|
232
274
|
registerIcon("star-filled", S('<path d="M8 2.2l1.75 3.55 3.9.55-2.8 2.75.65 3.9L8 11.1l-3.5 1.85.65-3.9-2.8-2.75 3.9-.55z"/>', 'fill="currentColor"'));
|
|
233
275
|
registerIcon("grip", S('<circle cx="6" cy="3.5" r="1"/><circle cx="10" cy="3.5" r="1"/><circle cx="6" cy="8" r="1"/><circle cx="10" cy="8" r="1"/><circle cx="6" cy="12.5" r="1"/><circle cx="10" cy="12.5" r="1"/>', 'fill="currentColor" stroke="none"'));
|
|
234
276
|
registerIcon("kebab", S('<circle cx="8" cy="3.2" r="1.2"/><circle cx="8" cy="8" r="1.2"/><circle cx="8" cy="12.8" r="1.2"/>', 'fill="currentColor" stroke="none"'));
|
|
277
|
+
registerIcon("burger", S('<path d="M2.5 4.5h11M2.5 8h11M2.5 11.5h11"/>'));
|
|
235
278
|
registerIcon("reset", S('<rect x="6" y="6" width="4" height="4" rx="0.8"/><path d="M2.2 8a5.8 5.8 0 1 0 1.9-4.3L2.2 5.3"/><path d="M2.2 2.2v3.1h3.1"/>'));
|
|
236
279
|
registerIcon("pane-collapse", S('<path d="M2.6 9.4h4v4M13.4 6.6h-4v-4"/><path d="m9.4 6.6 4.2-4.2M2.4 13.6l4.2-4.2"/>'));
|
|
237
280
|
registerIcon("pane-expand", S('<path d="M9.8 2.4h3.8v3.8M6.2 13.6H2.4V9.8"/><path d="m13.6 2.4-4.4 4.4M2.4 13.6l4.4-4.4"/>'));
|
|
@@ -252,6 +295,11 @@ registerIcon(
|
|
|
252
295
|
"pen-lock",
|
|
253
296
|
svg24('<path d="M13.8 4.2a2.1 2.1 0 0 1 3 3L8.5 15.5l-3.5 1 1-3.5Z"/><rect x="13" y="14.5" width="8" height="6" rx="1.2"/><path d="M15 14.5v-1.6a2 2 0 0 1 4 0v1.6"/>')
|
|
254
297
|
);
|
|
298
|
+
registerIcon(
|
|
299
|
+
"pen-sync",
|
|
300
|
+
// Pen + two stacked panes — drawing onto every linked chart at once.
|
|
301
|
+
svg24('<path d="M13.8 4.2a2.1 2.1 0 0 1 3 3L8.5 15.5l-3.5 1 1-3.5Z"/><rect x="12.5" y="13.5" width="6" height="4.8" rx="1"/><path d="M15.5 18.3v1a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-2.8a1 1 0 0 0-1-1h-1"/>')
|
|
302
|
+
);
|
|
255
303
|
registerIcon("brush", svg24('<path d="M9.5 12 17 4.5a2.12 2.12 0 0 1 3 3L12.5 15"/><path d="M7 14a3 3 0 0 0-3 3c0 1.3-1.2 1.5-1.5 2 .8.9 2 1.5 3.5 1.5a3.5 3.5 0 0 0 3.5-3.5 3 3 0 0 0-2.5-3Z"/>'));
|
|
256
304
|
registerIcon(
|
|
257
305
|
"bucket",
|
|
@@ -1774,10 +1822,10 @@ function polylineHit(px, py, pts, tol) {
|
|
|
1774
1822
|
}
|
|
1775
1823
|
|
|
1776
1824
|
// src/core/drawings/types/FixedRangeVolumeProfile.ts
|
|
1777
|
-
var OUTSIDE_UP = `${BULLISH}
|
|
1778
|
-
var OUTSIDE_DOWN = `${BEARISH}
|
|
1779
|
-
var VA_UP = `${BULLISH}
|
|
1780
|
-
var VA_DOWN = `${BEARISH}
|
|
1825
|
+
var OUTSIDE_UP = `${BULLISH}66`;
|
|
1826
|
+
var OUTSIDE_DOWN = `${BEARISH}66`;
|
|
1827
|
+
var VA_UP = `${BULLISH}BF`;
|
|
1828
|
+
var VA_DOWN = `${BEARISH}BF`;
|
|
1781
1829
|
function defaultFrvpStyle() {
|
|
1782
1830
|
return {
|
|
1783
1831
|
rows: 24,
|
|
@@ -1795,7 +1843,8 @@ function defaultFrvpStyle() {
|
|
|
1795
1843
|
valColor: NEUTRAL,
|
|
1796
1844
|
valStyle: "solid",
|
|
1797
1845
|
showPoc: true,
|
|
1798
|
-
pocColor:
|
|
1846
|
+
pocColor: void 0,
|
|
1847
|
+
// theme contrast ink until the user picks a color
|
|
1799
1848
|
pocStyle: "solid",
|
|
1800
1849
|
showDevelopingPoc: false,
|
|
1801
1850
|
developingPocColor: ACCENT,
|
|
@@ -5938,6 +5987,7 @@ exports.getNativeIndicator = getNativeIndicator;
|
|
|
5938
5987
|
exports.iconMarkup = iconMarkup;
|
|
5939
5988
|
exports.legendActions = legendActions;
|
|
5940
5989
|
exports.nativeIndicatorTypes = nativeIndicatorTypes;
|
|
5990
|
+
exports.normalizeSettingsRow = normalizeSettingsRow;
|
|
5941
5991
|
exports.registerChartType = registerChartType;
|
|
5942
5992
|
exports.registerDefaultEngine = registerDefaultEngine;
|
|
5943
5993
|
exports.registerIcon = registerIcon;
|
|
@@ -5951,6 +6001,7 @@ exports.registerWidgetAttachment = registerWidgetAttachment;
|
|
|
5951
6001
|
exports.rendererDefaults = rendererDefaults;
|
|
5952
6002
|
exports.rendererLayers = rendererLayers;
|
|
5953
6003
|
exports.resolveEngines = resolveEngines;
|
|
6004
|
+
exports.settingsRowValueKeys = settingsRowValueKeys;
|
|
5954
6005
|
exports.sidePanels = sidePanels;
|
|
5955
6006
|
exports.stableSeriesId = stableSeriesId;
|
|
5956
6007
|
exports.tickerModifierIds = tickerModifierIds;
|
package/dist/plugin.d.cts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, C as CATEGORICAL,
|
|
2
|
-
export { B as BarsChangeReason, C as ContextSelect, E as EngineAlert, d as EngineCapabilities, e as EngineContextSnapshot, f as EngineFactory, g as EngineWarning, h as ExecutionHandlers, i as ExecutionMarket, j as ExecutionRequest, k as ExecutionSession, F as FetchSeries, L as LegendActionDescriptor, n as LegendIndicatorInfo, N as NativeIndicator, o as NativeIndicatorContext, p as NativeIndicatorDescriptor, q as NativeIndicatorInfo, r as NativeIndicatorOutput, s as PreparedScript, a as ScriptRun, w as ScriptRunCause, x as ScriptRunResult, S as ScriptingEngine, y as SidePanelButton, z as SidePanelDescriptor, A as SidePanelHandle, G as SidePanelHeader, H as StrategyFill, J as StrategyState, K as StrategyTrade, Q as VisibleBarRange, U as WidgetActionDescriptor, X as WidgetActionTarget, Y as WidgetAttachment, W as WidgetContext, Z as getNativeIndicator, _ as legendActions, a0 as nativeIndicatorTypes, a1 as registerDefaultEngine, a2 as registerLegendAction, a3 as registerNativeIndicator, a4 as registerSidePanel, a5 as registerWidgetAction, a6 as registerWidgetAttachment, a7 as resolveEngines, a8 as sidePanels, a9 as unregisterDefaultEngine, aa as unregisterLegendAction, ab as unregisterNativeIndicator, ac as unregisterSidePanel, ad as unregisterWidgetAction, ae as unregisterWidgetAttachment, af as widgetActions, ag as widgetAttachments } from './contributions-
|
|
1
|
+
export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CROSSHAIR, f as ChartTypeDefinition, g as ChartTypeSettingsInstance, h as ChartTypeSettingsSection, i as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, j as INVALID, k as IdentifiableKind, M as MARKER, N as NEUTRAL, l as NormalizedSettingsRow, R as RendererLayerArgs, m as RendererLayerDefinition, n as RendererLayerInstance, S as SERIES_LINE, o as SESSION_OFF, p as SESSION_POST, q as SESSION_PRE, r as SLATE, s as SLATE_DEEP, t as SeriesDataEngine, u as SeriesDataEngineHost, v as SettingsInlineControl, w as SettingsRowCondition, x as SettingsRowDescriptor, y as SettingsRowInlineNumber, z as SettingsRowSwatch, E as SettingsRowValueKey, F as SettingsRowWhen, G as SettingsRowWidth, J as SettingsSelectOption, K as SettingsValueRow, T as TRADE_EXIT, L as TRADE_LONG, O as TRADE_SHORT, V as VALID, W as WARNING, P as categoricalColor, Q as chartType, U as chartTypes, Z as drawingTypes, _ as getDrawingType, $ as normalizeSettingsRow, a0 as registerChartType, a2 as registerRendererDefaults, a3 as registerRendererLayer, a4 as rendererDefaults, a5 as rendererLayers, a6 as settingsRowValueKeys, a7 as stableSeriesId, a8 as tickerModifierIds, a9 as unregisterChartType, aa as unregisterRendererDefaults, ab as unregisterRendererLayer } from './plugin-DfH4Y-Om.cjs';
|
|
2
|
+
export { B as BarsChangeReason, C as ContextSelect, E as EngineAlert, d as EngineCapabilities, e as EngineContextSnapshot, f as EngineFactory, g as EngineWarning, h as ExecutionHandlers, i as ExecutionMarket, j as ExecutionRequest, k as ExecutionSession, F as FetchSeries, L as LegendActionDescriptor, n as LegendIndicatorInfo, N as NativeIndicator, o as NativeIndicatorContext, p as NativeIndicatorDescriptor, q as NativeIndicatorInfo, r as NativeIndicatorOutput, s as PreparedScript, a as ScriptRun, w as ScriptRunCause, x as ScriptRunResult, S as ScriptingEngine, y as SidePanelButton, z as SidePanelDescriptor, A as SidePanelHandle, G as SidePanelHeader, H as StrategyFill, J as StrategyState, K as StrategyTrade, Q as VisibleBarRange, U as WidgetActionDescriptor, X as WidgetActionTarget, Y as WidgetAttachment, W as WidgetContext, Z as getNativeIndicator, _ as legendActions, a0 as nativeIndicatorTypes, a1 as registerDefaultEngine, a2 as registerLegendAction, a3 as registerNativeIndicator, a4 as registerSidePanel, a5 as registerWidgetAction, a6 as registerWidgetAttachment, a7 as resolveEngines, a8 as sidePanels, a9 as unregisterDefaultEngine, aa as unregisterLegendAction, ab as unregisterNativeIndicator, ac as unregisterSidePanel, ad as unregisterWidgetAction, ae as unregisterWidgetAttachment, af as widgetActions, ag as widgetAttachments } from './contributions-Ci_i3IN2.cjs';
|
|
3
3
|
export { D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-CT9ZwIGz.cjs';
|
|
4
|
-
export { B as Background,
|
|
4
|
+
export { B as Background, x as BoxFontFamily, y as BoxHAlign, z as BoxTextSize, E as BoxVAlign, F as CandleBarColor, G as CandleSeries, H as CandleStyle, W as DirtyRange, X as DrawingBox, Y as DrawingExtend, _ as DrawingLabel, $ as DrawingLine, a0 as DrawingLinefill, a3 as DrawingPolyline, a5 as DrawingTable, u as DrawingTypeKey, a7 as DrawingXLoc, a9 as Fill, aa as FillGradientStop, ab as IndicatorMeta, j as IndicatorModel, ac as InputSchema, ad as InputType, l as InputValue, ae as LabelStyle, af as LabelYLoc, ag as LineLikeKind, ah as LineLikeSeries, ai as LineLikeStyle, L as LineStyle, aj as MarkerPoint, ak as MarkerSeries, s as Millis, O as OHLCV, g as Pane, an as PaneHint, ao as PaneKind, ap as PolylinePoint, aq as PriceLine, P as PriceStyle, au as Scene, k as ScenePatch, av as SchemaPatch, aw as SeriesKind, ax as SeriesPoint, ay as SeriesSpec, az as SeriesValueDelta, aC as TableCell, aD as TableMerge, aE as TablePosition, aG as TradeExecution, aH as ValuePatch } from './options-XTBpbx0s.cjs';
|
|
5
5
|
export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.cjs';
|
|
6
6
|
export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.cjs';
|
|
7
|
-
export { B as BarRange, D as DataProvider, M as MarketDataFeed, b as ProviderCapabilities, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo } from './DataProvider-
|
|
7
|
+
export { B as BarRange, D as DataProvider, M as MarketDataFeed, b as ProviderCapabilities, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo } from './DataProvider-gnzv-dgc.cjs';
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, C as CATEGORICAL,
|
|
2
|
-
export { B as BarsChangeReason, C as ContextSelect, E as EngineAlert, d as EngineCapabilities, e as EngineContextSnapshot, f as EngineFactory, g as EngineWarning, h as ExecutionHandlers, i as ExecutionMarket, j as ExecutionRequest, k as ExecutionSession, F as FetchSeries, L as LegendActionDescriptor, n as LegendIndicatorInfo, N as NativeIndicator, o as NativeIndicatorContext, p as NativeIndicatorDescriptor, q as NativeIndicatorInfo, r as NativeIndicatorOutput, s as PreparedScript, a as ScriptRun, w as ScriptRunCause, x as ScriptRunResult, S as ScriptingEngine, y as SidePanelButton, z as SidePanelDescriptor, A as SidePanelHandle, G as SidePanelHeader, H as StrategyFill, J as StrategyState, K as StrategyTrade, Q as VisibleBarRange, U as WidgetActionDescriptor, X as WidgetActionTarget, Y as WidgetAttachment, W as WidgetContext, Z as getNativeIndicator, _ as legendActions, a0 as nativeIndicatorTypes, a1 as registerDefaultEngine, a2 as registerLegendAction, a3 as registerNativeIndicator, a4 as registerSidePanel, a5 as registerWidgetAction, a6 as registerWidgetAttachment, a7 as resolveEngines, a8 as sidePanels, a9 as unregisterDefaultEngine, aa as unregisterLegendAction, ab as unregisterNativeIndicator, ac as unregisterSidePanel, ad as unregisterWidgetAction, ae as unregisterWidgetAttachment, af as widgetActions, ag as widgetAttachments } from './contributions-
|
|
1
|
+
export { A as ACCENT, a as ACCENT_BRIGHT, B as BEARISH, b as BULLISH, c as BarTransform, d as BasePaintingModulation, C as CATEGORICAL, e as CROSSHAIR, f as ChartTypeDefinition, g as ChartTypeSettingsInstance, h as ChartTypeSettingsSection, i as ChartTypeSettingsSubsection, D as DrawingTypeMeta, H as HIGHLIGHT, I as INFO, j as INVALID, k as IdentifiableKind, M as MARKER, N as NEUTRAL, l as NormalizedSettingsRow, R as RendererLayerArgs, m as RendererLayerDefinition, n as RendererLayerInstance, S as SERIES_LINE, o as SESSION_OFF, p as SESSION_POST, q as SESSION_PRE, r as SLATE, s as SLATE_DEEP, t as SeriesDataEngine, u as SeriesDataEngineHost, v as SettingsInlineControl, w as SettingsRowCondition, x as SettingsRowDescriptor, y as SettingsRowInlineNumber, z as SettingsRowSwatch, E as SettingsRowValueKey, F as SettingsRowWhen, G as SettingsRowWidth, J as SettingsSelectOption, K as SettingsValueRow, T as TRADE_EXIT, L as TRADE_LONG, O as TRADE_SHORT, V as VALID, W as WARNING, P as categoricalColor, Q as chartType, U as chartTypes, Z as drawingTypes, _ as getDrawingType, $ as normalizeSettingsRow, a0 as registerChartType, a2 as registerRendererDefaults, a3 as registerRendererLayer, a4 as rendererDefaults, a5 as rendererLayers, a6 as settingsRowValueKeys, a7 as stableSeriesId, a8 as tickerModifierIds, a9 as unregisterChartType, aa as unregisterRendererDefaults, ab as unregisterRendererLayer } from './plugin-CnNd7cuF.js';
|
|
2
|
+
export { B as BarsChangeReason, C as ContextSelect, E as EngineAlert, d as EngineCapabilities, e as EngineContextSnapshot, f as EngineFactory, g as EngineWarning, h as ExecutionHandlers, i as ExecutionMarket, j as ExecutionRequest, k as ExecutionSession, F as FetchSeries, L as LegendActionDescriptor, n as LegendIndicatorInfo, N as NativeIndicator, o as NativeIndicatorContext, p as NativeIndicatorDescriptor, q as NativeIndicatorInfo, r as NativeIndicatorOutput, s as PreparedScript, a as ScriptRun, w as ScriptRunCause, x as ScriptRunResult, S as ScriptingEngine, y as SidePanelButton, z as SidePanelDescriptor, A as SidePanelHandle, G as SidePanelHeader, H as StrategyFill, J as StrategyState, K as StrategyTrade, Q as VisibleBarRange, U as WidgetActionDescriptor, X as WidgetActionTarget, Y as WidgetAttachment, W as WidgetContext, Z as getNativeIndicator, _ as legendActions, a0 as nativeIndicatorTypes, a1 as registerDefaultEngine, a2 as registerLegendAction, a3 as registerNativeIndicator, a4 as registerSidePanel, a5 as registerWidgetAction, a6 as registerWidgetAttachment, a7 as resolveEngines, a8 as sidePanels, a9 as unregisterDefaultEngine, aa as unregisterLegendAction, ab as unregisterNativeIndicator, ac as unregisterSidePanel, ad as unregisterWidgetAction, ae as unregisterWidgetAttachment, af as widgetActions, ag as widgetAttachments } from './contributions-b6AVrqqG.js';
|
|
3
3
|
export { D as DEFAULT_PANEL_MAX_WIDTH, a as DEFAULT_PANEL_MIN_WIDTH, b as DEFAULT_PANEL_WIDTH, S as SidePanelOptions, c as clampPanelWidth } from './side-panel-CT9ZwIGz.js';
|
|
4
|
-
export { B as Background,
|
|
4
|
+
export { B as Background, x as BoxFontFamily, y as BoxHAlign, z as BoxTextSize, E as BoxVAlign, F as CandleBarColor, G as CandleSeries, H as CandleStyle, W as DirtyRange, X as DrawingBox, Y as DrawingExtend, _ as DrawingLabel, $ as DrawingLine, a0 as DrawingLinefill, a3 as DrawingPolyline, a5 as DrawingTable, u as DrawingTypeKey, a7 as DrawingXLoc, a9 as Fill, aa as FillGradientStop, ab as IndicatorMeta, j as IndicatorModel, ac as InputSchema, ad as InputType, l as InputValue, ae as LabelStyle, af as LabelYLoc, ag as LineLikeKind, ah as LineLikeSeries, ai as LineLikeStyle, L as LineStyle, aj as MarkerPoint, ak as MarkerSeries, s as Millis, O as OHLCV, g as Pane, an as PaneHint, ao as PaneKind, ap as PolylinePoint, aq as PriceLine, P as PriceStyle, au as Scene, k as ScenePatch, av as SchemaPatch, aw as SeriesKind, ax as SeriesPoint, ay as SeriesSpec, az as SeriesValueDelta, aC as TableCell, aD as TableMerge, aE as TablePosition, aG as TradeExecution, aH as ValuePatch } from './options-XTBpbx0s.js';
|
|
5
5
|
export { i as iconMarkup, r as registerIcon } from './icons-BZYbJXSV.js';
|
|
6
6
|
export { a as KeyBindingDescriptor, R as ResolvedBinding } from './keymap-CGOz5F5f.js';
|
|
7
|
-
export { B as BarRange, D as DataProvider, M as MarketDataFeed, b as ProviderCapabilities, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo } from './DataProvider-
|
|
7
|
+
export { B as BarRange, D as DataProvider, M as MarketDataFeed, b as ProviderCapabilities, P as ProviderInfo, a as SymbolDescriptor, S as SymbolInfo } from './DataProvider-DTOEXKTI.js';
|
package/dist/plugin.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { stableSeriesId } from './chunk-Q3XQHLIH.js';
|
|
2
|
-
export { DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_WIDTH, chartType, chartTypes, clampPanelWidth, drawingTypes, getDrawingType, getNativeIndicator, legendActions, nativeIndicatorTypes, registerChartType, registerDefaultEngine, registerLegendAction, registerNativeIndicator, registerRendererDefaults, registerRendererLayer, registerSidePanel, registerWidgetAction, registerWidgetAttachment, rendererDefaults, rendererLayers, resolveEngines, sidePanels, tickerModifierIds, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-
|
|
3
|
-
export { ACCENT, ACCENT_BRIGHT, BEARISH, BULLISH, CATEGORICAL, CROSSHAIR, HIGHLIGHT, INFO, INVALID, MARKER, NEUTRAL, SERIES_LINE, SESSION_OFF, SESSION_POST, SESSION_PRE, SLATE, SLATE_DEEP, TRADE_EXIT, TRADE_LONG, TRADE_SHORT, VALID, WARNING, categoricalColor, iconMarkup, registerIcon } from './chunk-
|
|
2
|
+
export { DEFAULT_PANEL_MAX_WIDTH, DEFAULT_PANEL_MIN_WIDTH, DEFAULT_PANEL_WIDTH, chartType, chartTypes, clampPanelWidth, drawingTypes, getDrawingType, getNativeIndicator, legendActions, nativeIndicatorTypes, normalizeSettingsRow, registerChartType, registerDefaultEngine, registerLegendAction, registerNativeIndicator, registerRendererDefaults, registerRendererLayer, registerSidePanel, registerWidgetAction, registerWidgetAttachment, rendererDefaults, rendererLayers, resolveEngines, settingsRowValueKeys, sidePanels, tickerModifierIds, unregisterChartType, unregisterDefaultEngine, unregisterLegendAction, unregisterNativeIndicator, unregisterRendererDefaults, unregisterRendererLayer, unregisterSidePanel, unregisterWidgetAction, unregisterWidgetAttachment, widgetActions, widgetAttachments } from './chunk-B5TIKQJ5.js';
|
|
3
|
+
export { ACCENT, ACCENT_BRIGHT, BEARISH, BULLISH, CATEGORICAL, CROSSHAIR, HIGHLIGHT, INFO, INVALID, MARKER, NEUTRAL, SERIES_LINE, SESSION_OFF, SESSION_POST, SESSION_PRE, SLATE, SLATE_DEEP, TRADE_EXIT, TRADE_LONG, TRADE_SHORT, VALID, WARNING, categoricalColor, iconMarkup, registerIcon } from './chunk-LJLZR44Y.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as OHLCV, U as Unsubscribe } from '../options-
|
|
2
|
-
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-
|
|
1
|
+
import { O as OHLCV, U as Unsubscribe } from '../options-XTBpbx0s.cjs';
|
|
2
|
+
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-gnzv-dgc.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Binance market-data provider, built from scratch on the public REST + WebSocket
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as OHLCV, U as Unsubscribe } from '../options-
|
|
2
|
-
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-
|
|
1
|
+
import { O as OHLCV, U as Unsubscribe } from '../options-XTBpbx0s.js';
|
|
2
|
+
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-DTOEXKTI.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Binance market-data provider, built from scratch on the public REST + WebSocket
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as OHLCV, U as Unsubscribe } from '../options-
|
|
2
|
-
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-
|
|
1
|
+
import { O as OHLCV, U as Unsubscribe } from '../options-XTBpbx0s.cjs';
|
|
2
|
+
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-gnzv-dgc.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Coinbase market-data provider, built from scratch on the public Exchange REST + WebSocket APIs
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as OHLCV, U as Unsubscribe } from '../options-
|
|
2
|
-
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-
|
|
1
|
+
import { O as OHLCV, U as Unsubscribe } from '../options-XTBpbx0s.js';
|
|
2
|
+
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-DTOEXKTI.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Coinbase market-data provider, built from scratch on the public Exchange REST + WebSocket APIs
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as OHLCV, U as Unsubscribe } from '../options-
|
|
2
|
-
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-
|
|
1
|
+
import { O as OHLCV, U as Unsubscribe } from '../options-XTBpbx0s.cjs';
|
|
2
|
+
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-gnzv-dgc.cjs';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Hyperliquid market-data provider, built from scratch on the public info API — no
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { O as OHLCV, U as Unsubscribe } from '../options-
|
|
2
|
-
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-
|
|
1
|
+
import { O as OHLCV, U as Unsubscribe } from '../options-XTBpbx0s.js';
|
|
2
|
+
import { D as DataProvider, P as ProviderInfo, B as BarRange, S as SymbolInfo, a as SymbolDescriptor } from '../DataProvider-DTOEXKTI.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* Hyperliquid market-data provider, built from scratch on the public info API — no
|