@tradecanvas/commons 1.19.1 → 1.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +437 -261
- package/dist/index.js.map +1 -1
- package/dist/market/index.d.ts +2 -2
- package/dist/market/index.d.ts.map +1 -1
- package/dist/market/presets.d.ts +53 -2
- package/dist/market/presets.d.ts.map +1 -1
- package/dist/market/types.d.ts +26 -2
- package/dist/market/types.d.ts.map +1 -1
- package/dist/types/finance.d.ts +194 -7
- package/dist/types/finance.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/market/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type { MarketType, StockExchange, MarketConfig, TradingSession, MarketColorScheme, PriceLimitInfo } from './types.js';
|
|
2
|
-
export { VN_COLORS, HOSE_SESSIONS, HNX_SESSIONS, MARKET_HOSE, MARKET_HNX, MARKET_UPCOM, MARKET_CRYPTO, MARKET_NYSE, createVNTheme, computePriceLimits, getCurrentSession, } from './presets.js';
|
|
1
|
+
export type { MarketType, StockExchange, MarketConfig, PriceStepBand, TradingSession, MarketColorScheme, PriceLimitInfo, VN30FContract } from './types.js';
|
|
2
|
+
export { VN_COLORS, HOSE_SESSIONS, HNX_SESSIONS, UPCOM_SESSIONS, VN30F_SESSIONS, MARKET_HOSE, MARKET_HOSE_ETF, MARKET_HNX, MARKET_UPCOM, MARKET_VN30F, MARKET_CRYPTO, MARKET_NYSE, createVNTheme, priceStepAt, roundToPriceStep, computePriceLimits, scaleMarketPrices, getCurrentSession, vn30fLastTradingDay, vn30fContracts, } from './presets.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/market/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/market/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3J,OAAO,EACL,SAAS,EACT,aAAa,EACb,YAAY,EACZ,cAAc,EACd,cAAc,EACd,WAAW,EACX,eAAe,EACf,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,aAAa,EACb,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,GACf,MAAM,cAAc,CAAC"}
|
package/dist/market/presets.d.ts
CHANGED
|
@@ -1,18 +1,69 @@
|
|
|
1
|
-
import { MarketConfig, MarketColorScheme, TradingSession } from './types.js';
|
|
1
|
+
import { MarketConfig, MarketColorScheme, TradingSession, VN30FContract } from './types.js';
|
|
2
2
|
import { Theme } from '../types/theme.js';
|
|
3
|
+
/**
|
|
4
|
+
* Vietnamese price boards: green up, red down, purple at the ceiling (trần),
|
|
5
|
+
* cyan at the floor (sàn), yellow at the reference price (tham chiếu).
|
|
6
|
+
*/
|
|
3
7
|
export declare const VN_COLORS: MarketColorScheme;
|
|
4
8
|
export declare const HOSE_SESSIONS: TradingSession[];
|
|
5
9
|
export declare const HNX_SESSIONS: TradingSession[];
|
|
10
|
+
export declare const UPCOM_SESSIONS: TradingSession[];
|
|
11
|
+
export declare const VN30F_SESSIONS: TradingSession[];
|
|
6
12
|
export declare const MARKET_HOSE: MarketConfig;
|
|
13
|
+
/** HOSE ETFs and covered warrants: 10 dong at every price. */
|
|
14
|
+
export declare const MARKET_HOSE_ETF: MarketConfig;
|
|
7
15
|
export declare const MARKET_HNX: MarketConfig;
|
|
8
16
|
export declare const MARKET_UPCOM: MarketConfig;
|
|
17
|
+
/** VN30 index futures on HNX: index points, 0.1 a step, 100,000 dong a point. */
|
|
18
|
+
export declare const MARKET_VN30F: MarketConfig;
|
|
9
19
|
export declare const MARKET_CRYPTO: MarketConfig;
|
|
10
20
|
export declare const MARKET_NYSE: MarketConfig;
|
|
11
21
|
export declare function createVNTheme(base: Theme): Theme;
|
|
22
|
+
/**
|
|
23
|
+
* The price step at `price`: the band it falls in, else the market's
|
|
24
|
+
* `priceStep`; undefined when the market names no step.
|
|
25
|
+
*/
|
|
26
|
+
export declare function priceStepAt(price: number, config: MarketConfig): number | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* `price` on the step of its band: to the nearest step, or `'down'` / `'up'`.
|
|
29
|
+
* A market without a step leaves it as it is.
|
|
30
|
+
*/
|
|
31
|
+
export declare function roundToPriceStep(price: number, config: MarketConfig, mode?: 'nearest' | 'down' | 'up'): number;
|
|
32
|
+
/**
|
|
33
|
+
* The day's ceiling, floor and reference prices. With a price step, the
|
|
34
|
+
* ceiling rounds down and the floor up to a valid price; when one would land
|
|
35
|
+
* back on the reference it moves a step off it, and a reference of one step
|
|
36
|
+
* keeps the floor at the reference (the exchanges' rules).
|
|
37
|
+
*/
|
|
12
38
|
export declare function computePriceLimits(referencePrice: number, config: MarketConfig): {
|
|
13
39
|
ceiling: number;
|
|
14
40
|
floor: number;
|
|
15
41
|
reference: number;
|
|
16
42
|
} | null;
|
|
17
|
-
|
|
43
|
+
/**
|
|
44
|
+
* A copy of `config` for prices `factor` times larger (a power of ten):
|
|
45
|
+
* steps, bands, the reference price and the decimals follow; a contract's
|
|
46
|
+
* multiplier stays. `scaleMarketPrices(MARKET_HOSE, 1000)` reads prices in
|
|
47
|
+
* dong (25350) instead of thousands (25.35).
|
|
48
|
+
*/
|
|
49
|
+
export declare function scaleMarketPrices(config: MarketConfig, factor: number): MarketConfig;
|
|
50
|
+
/**
|
|
51
|
+
* The session `now` falls in: by the clock of `timeZone` (a market's
|
|
52
|
+
* `timeZone`), or of this computer without one. Null outside them all, and
|
|
53
|
+
* for a time zone it doesn't know. By the time of day only: weekends and
|
|
54
|
+
* holidays are yours to tell.
|
|
55
|
+
*/
|
|
56
|
+
export declare function getCurrentSession(sessions: TradingSession[], now?: number, timeZone?: string): TradingSession | null;
|
|
57
|
+
/**
|
|
58
|
+
* The last trading day of the VN30 futures contract of `month` (1–12): the
|
|
59
|
+
* third Thursday, or the trading day before it when that is a holiday
|
|
60
|
+
* (`isHoliday` gets `YYYY-MM-DD`). As `YYYY-MM-DD`.
|
|
61
|
+
*/
|
|
62
|
+
export declare function vn30fLastTradingDay(year: number, month: number, isHoliday?: (day: string) => boolean): string;
|
|
63
|
+
/**
|
|
64
|
+
* The VN30 futures contracts listed at `now`: this month's (until its last
|
|
65
|
+
* trading day), the next month's, and the last months of the two quarters
|
|
66
|
+
* after that.
|
|
67
|
+
*/
|
|
68
|
+
export declare function vn30fContracts(now: number, isHoliday?: (day: string) => boolean): VN30FContract[];
|
|
18
69
|
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/market/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../src/market/presets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAiB,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAK/C;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,iBAOvB,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,cAAc,EAMzC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,cAAc,EAMxC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAAc,EAI1C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,cAAc,EAM1C,CAAC;AAWF,eAAO,MAAM,WAAW,EAAE,YAYzB,CAAC;AAEF,8DAA8D;AAC9D,eAAO,MAAM,eAAe,EAAE,YAG7B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,YAWxB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,YAW1B,CAAC;AAEF,iFAAiF;AACjF,eAAO,MAAM,YAAY,EAAE,YAY1B,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,YAK3B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,YAazB,CAAC;AAGF,wBAAgB,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,CAUhD;AAKD;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAMnF;AAWD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,GAAE,SAAS,GAAG,MAAM,GAAG,IAAgB,GAAG,MAAM,CAUzH;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAmB7I;AAKD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAYpF;AAqBD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,GAAG,GAAE,MAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAOhI;AAWD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAU7G;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,GAAG,aAAa,EAAE,CAoBjG"}
|
package/dist/market/types.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
|
-
export type MarketType = 'crypto' | 'stock' | 'forex';
|
|
1
|
+
export type MarketType = 'crypto' | 'stock' | 'forex' | 'futures';
|
|
2
2
|
export type StockExchange = 'HOSE' | 'HNX' | 'UPCOM' | 'NYSE' | 'NASDAQ' | string;
|
|
3
|
+
/** From `from` up to the next band, prices move in steps of `step`. */
|
|
4
|
+
export interface PriceStepBand {
|
|
5
|
+
from: number;
|
|
6
|
+
step: number;
|
|
7
|
+
}
|
|
3
8
|
export interface MarketConfig {
|
|
4
9
|
type: MarketType;
|
|
5
10
|
exchange?: StockExchange;
|
|
@@ -7,6 +12,15 @@ export interface MarketConfig {
|
|
|
7
12
|
pricePrecision?: number;
|
|
8
13
|
volumeUnit?: number;
|
|
9
14
|
priceStep?: number;
|
|
15
|
+
/**
|
|
16
|
+
* Steps that depend on the price, lowest band first (HOSE: 10, 50 or 100
|
|
17
|
+
* dong). Prices below the first band use `priceStep`.
|
|
18
|
+
*/
|
|
19
|
+
priceSteps?: readonly PriceStepBand[];
|
|
20
|
+
/** The exchange's IANA time zone, which its session times are in. */
|
|
21
|
+
timeZone?: string;
|
|
22
|
+
/** Currency per point of a futures contract (VN30F: 100,000 dong). */
|
|
23
|
+
contractMultiplier?: number;
|
|
10
24
|
priceLimits?: {
|
|
11
25
|
enabled: boolean;
|
|
12
26
|
ceilingPercent?: number;
|
|
@@ -20,7 +34,8 @@ export interface TradingSession {
|
|
|
20
34
|
name: string;
|
|
21
35
|
startTime: string;
|
|
22
36
|
endTime: string;
|
|
23
|
-
|
|
37
|
+
/** `preOpen` / `preClose`: the opening and closing auctions; `postClose`: trading after the close. */
|
|
38
|
+
type: 'preOpen' | 'continuous' | 'preClose' | 'postClose' | 'closed';
|
|
24
39
|
}
|
|
25
40
|
export interface MarketColorScheme {
|
|
26
41
|
up: string;
|
|
@@ -35,4 +50,13 @@ export interface PriceLimitInfo {
|
|
|
35
50
|
floor: number;
|
|
36
51
|
reference: number;
|
|
37
52
|
}
|
|
53
|
+
/** One listed VN30 index futures contract. */
|
|
54
|
+
export interface VN30FContract {
|
|
55
|
+
/** `VN30F` with the year and month of expiry: `VN30F2611`. */
|
|
56
|
+
symbol: string;
|
|
57
|
+
year: number;
|
|
58
|
+
month: number;
|
|
59
|
+
/** Its last trading day, `YYYY-MM-DD`. */
|
|
60
|
+
lastTradingDay: string;
|
|
61
|
+
}
|
|
38
62
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/market/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/market/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAElE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElF,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;IACtC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAG5B,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IAGF,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAG5B,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,sGAAsG;IACtG,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,CAAC;CACtE;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,cAAc,EAAE,MAAM,CAAC;CACxB"}
|
package/dist/types/finance.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export interface BaseFinanceChartOptions {
|
|
|
4
4
|
width?: number;
|
|
5
5
|
height?: number;
|
|
6
6
|
theme?: ThemeName | Theme;
|
|
7
|
+
/** What the chart shows, for screen readers; the newer charts describe themselves without one. */
|
|
8
|
+
ariaLabel?: string;
|
|
7
9
|
}
|
|
8
10
|
export interface SparklineOptions extends BaseFinanceChartOptions {
|
|
9
11
|
data: number[];
|
|
@@ -55,16 +57,28 @@ export interface HeatmapCell {
|
|
|
55
57
|
group?: string;
|
|
56
58
|
meta?: Record<string, unknown>;
|
|
57
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Colours from low values through zero to high ones. `min` and `max` are
|
|
62
|
+
* where the end colours are reached; values past them keep the end colour.
|
|
63
|
+
* A colour left out is the chart's default. Hex and rgb() colours blend;
|
|
64
|
+
* others (names, hsl()) switch half-way instead.
|
|
65
|
+
*/
|
|
66
|
+
export interface ColorScale {
|
|
67
|
+
negative?: string;
|
|
68
|
+
zero?: string;
|
|
69
|
+
positive?: string;
|
|
70
|
+
min?: number;
|
|
71
|
+
max?: number;
|
|
72
|
+
}
|
|
58
73
|
export interface HeatmapOptions extends BaseFinanceChartOptions {
|
|
59
74
|
data: HeatmapCell[];
|
|
60
|
-
colorScale?:
|
|
61
|
-
negative: string;
|
|
62
|
-
zero: string;
|
|
63
|
-
positive: string;
|
|
64
|
-
min?: number;
|
|
65
|
-
max?: number;
|
|
66
|
-
};
|
|
75
|
+
colorScale?: ColorScale;
|
|
67
76
|
weighted?: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Cells with the same `group` sit together under its name (a sector map):
|
|
79
|
+
* each group takes the room of its cells' weights, as `weighted` does.
|
|
80
|
+
*/
|
|
81
|
+
grouped?: boolean;
|
|
68
82
|
cellPadding?: number;
|
|
69
83
|
cellRadius?: number;
|
|
70
84
|
labelFormat?: (cell: HeatmapCell) => string;
|
|
@@ -128,4 +142,177 @@ export interface GaugeOptions extends BaseFinanceChartOptions {
|
|
|
128
142
|
animate?: boolean;
|
|
129
143
|
animationDuration?: number;
|
|
130
144
|
}
|
|
145
|
+
/** One named row of values: one value per category (bar chart). */
|
|
146
|
+
export interface ChartSeries {
|
|
147
|
+
name: string;
|
|
148
|
+
values: number[];
|
|
149
|
+
color?: string;
|
|
150
|
+
}
|
|
151
|
+
/** What the pointer is on in a bar chart. */
|
|
152
|
+
export interface BarHit {
|
|
153
|
+
category: string;
|
|
154
|
+
series: string;
|
|
155
|
+
value: number;
|
|
156
|
+
/** The category's index. */
|
|
157
|
+
index: number;
|
|
158
|
+
}
|
|
159
|
+
export interface BarChartOptions extends BaseFinanceChartOptions {
|
|
160
|
+
/** One label per bar group, along the category axis. */
|
|
161
|
+
categories: string[];
|
|
162
|
+
series: ChartSeries[];
|
|
163
|
+
/** `'grouped'` (default): series side by side; `'stacked'`: positives up and negatives down from zero. */
|
|
164
|
+
mode?: 'grouped' | 'stacked';
|
|
165
|
+
/** `'vertical'` (default) bars rise from the category axis; `'horizontal'` bars run to the right. */
|
|
166
|
+
orientation?: 'vertical' | 'horizontal';
|
|
167
|
+
/** Colour each bar by its sign (net flows): `true` takes the theme's up and down colours. */
|
|
168
|
+
colorBySign?: boolean | {
|
|
169
|
+
positive: string;
|
|
170
|
+
negative: string;
|
|
171
|
+
};
|
|
172
|
+
/** Print each bar's value at its end. */
|
|
173
|
+
showValues?: boolean;
|
|
174
|
+
/** Show the series' names; default: when there is more than one. */
|
|
175
|
+
legend?: boolean;
|
|
176
|
+
/** How values read on the axis, the bars and the tooltip. */
|
|
177
|
+
valueFormat?: (value: number) => string;
|
|
178
|
+
/** Show the hovered bar's values. Default `true`. */
|
|
179
|
+
crosshair?: boolean;
|
|
180
|
+
onBarClick?: (hit: BarHit) => void;
|
|
181
|
+
}
|
|
182
|
+
export interface DonutSlice {
|
|
183
|
+
label: string;
|
|
184
|
+
value: number;
|
|
185
|
+
color?: string;
|
|
186
|
+
}
|
|
187
|
+
export interface DonutChartOptions extends BaseFinanceChartOptions {
|
|
188
|
+
/** Slices in order, clockwise from twelve o'clock; values of 0 or less are left out. */
|
|
189
|
+
data: DonutSlice[];
|
|
190
|
+
/** The hole as a share of the radius: `0.6` (default), `0` for a pie. */
|
|
191
|
+
innerRadius?: number;
|
|
192
|
+
/** Text in the hole: a caption and a figure (`'Total'`, `'1.2B'`). */
|
|
193
|
+
centerLabel?: string;
|
|
194
|
+
centerValue?: string;
|
|
195
|
+
/** Print each slice's share on it when it fits. Default `true`. */
|
|
196
|
+
showLabels?: boolean;
|
|
197
|
+
/** The slices' names and shares beside the ring. Default `true`. */
|
|
198
|
+
legend?: boolean;
|
|
199
|
+
valueFormat?: (value: number) => string;
|
|
200
|
+
/** Show the hovered slice's value and share. Default `true`. */
|
|
201
|
+
crosshair?: boolean;
|
|
202
|
+
onSliceClick?: (slice: DonutSlice) => void;
|
|
203
|
+
}
|
|
204
|
+
export interface ScatterPoint {
|
|
205
|
+
x: number;
|
|
206
|
+
y: number;
|
|
207
|
+
/** A bubble's size: its area grows with it. */
|
|
208
|
+
size?: number;
|
|
209
|
+
label?: string;
|
|
210
|
+
meta?: Record<string, unknown>;
|
|
211
|
+
}
|
|
212
|
+
export interface ScatterSeries {
|
|
213
|
+
name: string;
|
|
214
|
+
points: ScatterPoint[];
|
|
215
|
+
color?: string;
|
|
216
|
+
}
|
|
217
|
+
export interface ScatterChartOptions extends BaseFinanceChartOptions {
|
|
218
|
+
series: ScatterSeries[];
|
|
219
|
+
/** Axis titles. */
|
|
220
|
+
xLabel?: string;
|
|
221
|
+
yLabel?: string;
|
|
222
|
+
xFormat?: (value: number) => string;
|
|
223
|
+
yFormat?: (value: number) => string;
|
|
224
|
+
/** The largest bubble's radius, px. Default `24`. */
|
|
225
|
+
maxRadius?: number;
|
|
226
|
+
/** Print each point's label beside it. */
|
|
227
|
+
showLabels?: boolean;
|
|
228
|
+
/** Lines at x = 0 and y = 0 when the axes cross them. Default `true`. */
|
|
229
|
+
zeroLines?: boolean;
|
|
230
|
+
legend?: boolean;
|
|
231
|
+
crosshair?: boolean;
|
|
232
|
+
onPointClick?: (point: ScatterPoint, series: string) => void;
|
|
233
|
+
}
|
|
234
|
+
export interface HistogramMarker {
|
|
235
|
+
value: number;
|
|
236
|
+
label?: string;
|
|
237
|
+
color?: string;
|
|
238
|
+
}
|
|
239
|
+
export interface HistogramBin {
|
|
240
|
+
from: number;
|
|
241
|
+
/** The bin ends before `to`; the last one includes it. */
|
|
242
|
+
to: number;
|
|
243
|
+
count: number;
|
|
244
|
+
}
|
|
245
|
+
export interface HistogramOptions extends BaseFinanceChartOptions {
|
|
246
|
+
/** The raw values: daily returns, trade P&Ls… */
|
|
247
|
+
values: number[];
|
|
248
|
+
/** A count of bins, or `'auto'` (default: Sturges' rule). */
|
|
249
|
+
bins?: number | 'auto';
|
|
250
|
+
/** A bin width instead, on a grid from 0 (bins at -0.01, 0, 0.01…). */
|
|
251
|
+
binWidth?: number;
|
|
252
|
+
color?: string;
|
|
253
|
+
/** Bins below zero in the theme's down colour, the rest in its up colour. */
|
|
254
|
+
colorBySign?: boolean;
|
|
255
|
+
/** Labelled lines at values: the mean, a VaR… */
|
|
256
|
+
markers?: HistogramMarker[];
|
|
257
|
+
valueFormat?: (value: number) => string;
|
|
258
|
+
crosshair?: boolean;
|
|
259
|
+
}
|
|
260
|
+
/** One day's value; `date` is the calendar day, `YYYY-MM-DD`. */
|
|
261
|
+
export interface CalendarDay {
|
|
262
|
+
date: string;
|
|
263
|
+
value: number;
|
|
264
|
+
meta?: Record<string, unknown>;
|
|
265
|
+
}
|
|
266
|
+
export interface CalendarChartOptions extends BaseFinanceChartOptions {
|
|
267
|
+
data: CalendarDay[];
|
|
268
|
+
/** The first and last days shown, `YYYY-MM-DD`; default: the data's. */
|
|
269
|
+
from?: string;
|
|
270
|
+
to?: string;
|
|
271
|
+
/** `7` (default) every day; `5` Monday to Friday, for trading days. */
|
|
272
|
+
weekdays?: 5 | 7;
|
|
273
|
+
/** The day a week starts on with `weekdays: 7`: `1` Monday (default), `0` Sunday. */
|
|
274
|
+
weekStart?: 0 | 1;
|
|
275
|
+
/** Default: the theme's down and up colours either side of zero, over the data's range. */
|
|
276
|
+
colorScale?: ColorScale;
|
|
277
|
+
/** Month and day names, `'vi-VN'`; default: the browser's. */
|
|
278
|
+
locale?: string;
|
|
279
|
+
valueFormat?: (value: number) => string;
|
|
280
|
+
/** How a day reads in the tooltip; default: the locale's long date. */
|
|
281
|
+
dateFormat?: (date: string) => string;
|
|
282
|
+
/** The colour scale's bar under the calendar. Default `true`. */
|
|
283
|
+
legend?: boolean;
|
|
284
|
+
crosshair?: boolean;
|
|
285
|
+
onDayClick?: (day: CalendarDay) => void;
|
|
286
|
+
}
|
|
287
|
+
/** A cell of a matrix chart. */
|
|
288
|
+
export interface MatrixCell {
|
|
289
|
+
row: string;
|
|
290
|
+
column: string;
|
|
291
|
+
value: number;
|
|
292
|
+
rowIndex: number;
|
|
293
|
+
columnIndex: number;
|
|
294
|
+
}
|
|
295
|
+
export interface MatrixChartOptions extends BaseFinanceChartOptions {
|
|
296
|
+
/** The rows' names, top to bottom. */
|
|
297
|
+
rows: string[];
|
|
298
|
+
/** The columns' names, left to right; default: the rows' (a square matrix). */
|
|
299
|
+
columns?: string[];
|
|
300
|
+
/** `values[row][column]`; a missing or non-finite value leaves its cell empty. */
|
|
301
|
+
values: number[][];
|
|
302
|
+
/**
|
|
303
|
+
* Default: the theme's down and up colours either side of zero, over the
|
|
304
|
+
* values' range. For correlations give `{ min: -1, max: 1 }`.
|
|
305
|
+
*/
|
|
306
|
+
colorScale?: ColorScale;
|
|
307
|
+
/** Only half of a square matrix, the diagonal included: a correlation matrix needs no more. */
|
|
308
|
+
triangle?: 'lower' | 'upper';
|
|
309
|
+
/** Print each value in its cell when it fits. Default `true`. */
|
|
310
|
+
showValues?: boolean;
|
|
311
|
+
/** Default: two decimals. */
|
|
312
|
+
valueFormat?: (value: number) => string;
|
|
313
|
+
/** The colour scale's bar under the matrix. Default `true`. */
|
|
314
|
+
legend?: boolean;
|
|
315
|
+
crosshair?: boolean;
|
|
316
|
+
onCellClick?: (cell: MatrixCell) => void;
|
|
317
|
+
}
|
|
131
318
|
//# sourceMappingURL=finance.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"finance.d.ts","sourceRoot":"","sources":["../../src/types/finance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"finance.d.ts","sourceRoot":"","sources":["../../src/types/finance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,WAAW,uBAAuB;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC;IAC1B,kGAAkG;IAClG,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;CACxC;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,WAAW,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAe,SAAQ,uBAAuB;IAC7D,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,MAAM,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC;CACvD;AAED,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,IAAI,EAAE,YAAY,EAAE,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAa,SAAQ,uBAAuB;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;IACpB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uGAAuG;IACvG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC;;;;OAIG;IACH,OAAO,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC9B,oFAAoF;IACpF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,mEAAmE;AACnE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,6CAA6C;AAC7C,MAAM,WAAW,MAAM;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,eAAgB,SAAQ,uBAAuB;IAC9D,wDAAwD;IACxD,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,0GAA0G;IAC1G,IAAI,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,qGAAqG;IACrG,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,6FAA6F;IAC7F,WAAW,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,yCAAyC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,qDAAqD;IACrD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAkB,SAAQ,uBAAuB;IAChE,wFAAwF;IACxF,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,gEAAgE;IAChE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAoB,SAAQ,uBAAuB;IAClE,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACpC,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yEAAyE;IACzE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAiB,SAAQ,uBAAuB;IAC/D,iDAAiD;IACjD,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iDAAiD;IACjD,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACjB,qFAAqF;IACrF,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAClB,2FAA2F;IAC3F,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,uEAAuE;IACvE,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACtC,iEAAiE;IACjE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,KAAK,IAAI,CAAC;CACzC;AAED,gCAAgC;AAChC,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB;IACjE,sCAAsC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,kFAAkF;IAClF,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC7B,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,+DAA+D;IAC/D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CAC1C"}
|