diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml
index 800b887..7d6d596 100644
--- a/common/config/rush/pnpm-lock.yaml
+++ b/common/config/rush/pnpm-lock.yaml
@@ -1,4 +1,4 @@
-lockfileVersion: 5.3
+lockfileVersion: 5.4
importers:
@@ -20,7 +20,7 @@ importers:
classnames: ~2.3.1
codesandboxer: ~1.0.3
leva: ~0.9.27
- lightweight-charts: ^3.8.0
+ lightweight-charts: 4.0.1
lightweight-charts-react-wrapper: workspace:*
lodash-es: ~4.17.21
react: ^18.1.0
@@ -32,7 +32,7 @@ importers:
dependencies:
'@babel/runtime': 7.17.9
'@testing-library/jest-dom': 5.16.4
- '@testing-library/react': 13.2.0_react-dom@18.1.0+react@18.1.0
+ '@testing-library/react': 13.2.0_ef5jwxihqo6n7gxfmzogljlgcm
'@testing-library/user-event': 13.5.0
'@types/jest': 27.5.1
'@types/lodash-es': 4.17.6
@@ -42,14 +42,14 @@ importers:
'@types/webpack-env': 1.17.0
classnames: 2.3.1
codesandboxer: 1.0.3
- leva: 0.9.27_react-dom@18.1.0+react@18.1.0
- lightweight-charts: 3.8.0
+ leva: 0.9.27_ef5jwxihqo6n7gxfmzogljlgcm
+ lightweight-charts: 4.0.1
lightweight-charts-react-wrapper: link:../lib
lodash-es: 4.17.21
react: 18.1.0
react-dom: 18.1.0_react@18.1.0
- react-router-dom: 6.3.0_react-dom@18.1.0+react@18.1.0
- react-scripts: 5.0.1_react@18.1.0+typescript@4.6.4
+ react-router-dom: 6.3.0_ef5jwxihqo6n7gxfmzogljlgcm
+ react-scripts: 5.0.1_oxzyc36t6ywqirvp35nas5bcte
typescript: 4.6.4
web-vitals: 2.1.4
@@ -57,7 +57,7 @@ importers:
specifiers:
'@types/react': ^18.0.9
'@types/react-dom': ^18.0.4
- lightweight-charts: ^3.8.0
+ lightweight-charts: 4.0.1
react: ^18.1.0
react-dom: ^18.1.0
rimraf: ^2.6.2
@@ -66,7 +66,7 @@ importers:
devDependencies:
'@types/react': 18.0.9
'@types/react-dom': 18.0.5
- lightweight-charts: 3.8.0
+ lightweight-charts: 4.0.1
react: 18.1.0
react-dom: 18.1.0_react@18.1.0
rimraf: 2.7.1
@@ -130,7 +130,7 @@ packages:
- supports-color
dev: false
- /@babel/eslint-parser/7.18.2_@babel+core@7.18.2+eslint@8.16.0:
+ /@babel/eslint-parser/7.18.2_j4uj5cgi2mksbox6kqvi7jrs6u:
resolution: {integrity: sha512-oFQYkE8SuH14+uR51JVAmdqwKYXGRjEXx7s+WiagVjqQ+HPE+nnwyF2qlVG8evUsUHmPcA+6YXMEDbIhEyQc5A==}
engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0}
peerDependencies:
@@ -388,6 +388,8 @@ packages:
resolution: {integrity: sha512-rL50YcEuHbbauAFAysNsJA4/f89fGTOBRNs9P81sniKnKAr4xULe5AecolcsKbi88xu0ByWYDj/S1AJ3FSFuSQ==}
engines: {node: '>=6.0.0'}
hasBin: true
+ dependencies:
+ '@babel/types': 7.18.2
dev: false
/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.17.12_@babel+core@7.18.2:
@@ -1460,7 +1462,7 @@ packages:
peerDependencies:
postcss: ^8.3
dependencies:
- '@csstools/selector-specificity': 1.0.0_e73911252e8c76a7ba13ab9c39479e7d
+ '@csstools/selector-specificity': 1.0.0_444rcjjorr3kpoqtvoodsr46pu
postcss: 8.4.14
postcss-selector-parser: 6.0.10
dev: false
@@ -1513,7 +1515,7 @@ packages:
peerDependencies:
postcss: ^8.4
dependencies:
- '@csstools/selector-specificity': 1.0.0_e73911252e8c76a7ba13ab9c39479e7d
+ '@csstools/selector-specificity': 1.0.0_444rcjjorr3kpoqtvoodsr46pu
postcss: 8.4.14
postcss-selector-parser: 6.0.10
dev: false
@@ -1568,7 +1570,7 @@ packages:
postcss: 8.4.14
dev: false
- /@csstools/selector-specificity/1.0.0_e73911252e8c76a7ba13ab9c39479e7d:
+ /@csstools/selector-specificity/1.0.0_444rcjjorr3kpoqtvoodsr46pu:
resolution: {integrity: sha512-RkYG5KiGNX0fJ5YoI0f4Wfq2Yo74D25Hru4fxTOioYdQvHBxcrrtTTyT5Ozzh2ejcNrhFy7IEts2WyEY7yi5yw==}
engines: {node: ^12 || ^14 || >=16}
peerDependencies:
@@ -1922,7 +1924,7 @@ packages:
fastq: 1.13.0
dev: false
- /@pmmmwh/react-refresh-webpack-plugin/0.5.7_10e9430ea3cdfe32a913fa23525aceac:
+ /@pmmmwh/react-refresh-webpack-plugin/0.5.7_cduugdvdzx7dfkit7irvewwovq:
resolution: {integrity: sha512-bcKCAzF0DV2IIROp9ZHkRJa6O4jy7NlnHdWL3GmcUxYWNjLXkK5kfELELwEfSP5hXPfVL/qOGMAROuMQb9GG8Q==}
engines: {node: '>= 10.13'}
peerDependencies:
@@ -2030,7 +2032,7 @@ packages:
react: 18.1.0
dev: false
- /@radix-ui/react-portal/0.1.3_react-dom@18.1.0+react@18.1.0:
+ /@radix-ui/react-portal/0.1.3_ef5jwxihqo6n7gxfmzogljlgcm:
resolution: {integrity: sha512-DrV+sPYLs0HhmX5/b7yRT6nLM9Nl6FtQe2KUG+46kiCOKQ+0XzNMO5hmeQtyq0mRf/qlC02rFu6OMsWpIqVsJg==}
peerDependencies:
react: ^16.8 || ^17.0
@@ -2043,7 +2045,7 @@ packages:
react-dom: 18.1.0_react@18.1.0
dev: false
- /@radix-ui/react-portal/0.1.4_react-dom@18.1.0+react@18.1.0:
+ /@radix-ui/react-portal/0.1.4_ef5jwxihqo6n7gxfmzogljlgcm:
resolution: {integrity: sha512-MO0wRy2eYRTZ/CyOri9NANCAtAtq89DEtg90gicaTlkCfdqCLEBsLb+/q66BZQTr3xX/Vq01nnVfc/TkCqoqvw==}
peerDependencies:
react: ^16.8 || ^17.0
@@ -2097,7 +2099,7 @@ packages:
react: 18.1.0
dev: false
- /@radix-ui/react-tooltip/0.1.6_react-dom@18.1.0+react@18.1.0:
+ /@radix-ui/react-tooltip/0.1.6_ef5jwxihqo6n7gxfmzogljlgcm:
resolution: {integrity: sha512-0uaRpRmTCQo5yMUkDpv4LEDnaQDoeLXcNNhZonCZdbZBQ7ntvjURIWIigq1/pXZp0UX7oPpFzsXD9jUp8JT0WA==}
peerDependencies:
react: ^16.8 || ^17.0
@@ -2109,7 +2111,7 @@ packages:
'@radix-ui/react-context': 0.1.1_react@18.1.0
'@radix-ui/react-id': 0.1.4_react@18.1.0
'@radix-ui/react-popper': 0.1.3_react@18.1.0
- '@radix-ui/react-portal': 0.1.3_react-dom@18.1.0+react@18.1.0
+ '@radix-ui/react-portal': 0.1.3_ef5jwxihqo6n7gxfmzogljlgcm
'@radix-ui/react-presence': 0.1.1_react@18.1.0
'@radix-ui/react-primitive': 0.1.3_react@18.1.0
'@radix-ui/react-slot': 0.1.2_react@18.1.0
@@ -2204,7 +2206,7 @@ packages:
'@babel/runtime': 7.17.9
dev: false
- /@rollup/plugin-babel/5.3.1_@babel+core@7.18.2+rollup@2.74.1:
+ /@rollup/plugin-babel/5.3.1_o5sqowbm3tib3dowmwlyo7rr74:
resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
engines: {node: '>= 10.0.0'}
peerDependencies:
@@ -2433,7 +2435,7 @@ packages:
redent: 3.0.0
dev: false
- /@testing-library/react/13.2.0_react-dom@18.1.0+react@18.1.0:
+ /@testing-library/react/13.2.0_ef5jwxihqo6n7gxfmzogljlgcm:
resolution: {integrity: sha512-Bprbz/SZVONCJy5f7hcihNCv313IJXdYiv0nSJklIs1SQCIHHNlnGNkosSXnGZTmesyGIcBGNppYhXcc11pb7g==}
engines: {node: '>=12'}
peerDependencies:
@@ -2743,7 +2745,7 @@ packages:
'@types/yargs-parser': 21.0.0
dev: false
- /@typescript-eslint/eslint-plugin/5.26.0_3538258888b78689808cec7bffc2237a:
+ /@typescript-eslint/eslint-plugin/5.26.0_gu4clceiw6ditaem5r577qrdpi:
resolution: {integrity: sha512-oGCmo0PqnRZZndr+KwvvAUvD3kNE4AfyoGCwOZpoCncSh4MVD06JTE8XQa2u9u+NX5CsyZMBTEc2C72zx38eYA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -2754,10 +2756,10 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/parser': 5.26.0_eslint@8.16.0+typescript@4.6.4
+ '@typescript-eslint/parser': 5.26.0_utdtartgf6fqqgkivzeynh76la
'@typescript-eslint/scope-manager': 5.26.0
- '@typescript-eslint/type-utils': 5.26.0_eslint@8.16.0+typescript@4.6.4
- '@typescript-eslint/utils': 5.26.0_eslint@8.16.0+typescript@4.6.4
+ '@typescript-eslint/type-utils': 5.26.0_utdtartgf6fqqgkivzeynh76la
+ '@typescript-eslint/utils': 5.26.0_utdtartgf6fqqgkivzeynh76la
debug: 4.3.4
eslint: 8.16.0
functional-red-black-tree: 1.0.1
@@ -2770,20 +2772,20 @@ packages:
- supports-color
dev: false
- /@typescript-eslint/experimental-utils/5.26.0_eslint@8.16.0+typescript@4.6.4:
+ /@typescript-eslint/experimental-utils/5.26.0_utdtartgf6fqqgkivzeynh76la:
resolution: {integrity: sha512-OgUGXC/teXD8PYOkn33RSwBJPVwL0I2ipm5OHr9g9cfAhVrPC2DxQiWqaq88MNO5mbr/ZWnav3EVBpuwDreS5Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
dependencies:
- '@typescript-eslint/utils': 5.26.0_eslint@8.16.0+typescript@4.6.4
+ '@typescript-eslint/utils': 5.26.0_utdtartgf6fqqgkivzeynh76la
eslint: 8.16.0
transitivePeerDependencies:
- supports-color
- typescript
dev: false
- /@typescript-eslint/parser/5.26.0_eslint@8.16.0+typescript@4.6.4:
+ /@typescript-eslint/parser/5.26.0_utdtartgf6fqqgkivzeynh76la:
resolution: {integrity: sha512-n/IzU87ttzIdnAH5vQ4BBDnLPly7rC5VnjN3m0xBG82HK6rhRxnCb3w/GyWbNDghPd+NktJqB/wl6+YkzZ5T5Q==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -2811,7 +2813,7 @@ packages:
'@typescript-eslint/visitor-keys': 5.26.0
dev: false
- /@typescript-eslint/type-utils/5.26.0_eslint@8.16.0+typescript@4.6.4:
+ /@typescript-eslint/type-utils/5.26.0_utdtartgf6fqqgkivzeynh76la:
resolution: {integrity: sha512-7ccbUVWGLmcRDSA1+ADkDBl5fP87EJt0fnijsMFTVHXKGduYMgienC/i3QwoVhDADUAPoytgjbZbCOMj4TY55A==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -2821,7 +2823,7 @@ packages:
typescript:
optional: true
dependencies:
- '@typescript-eslint/utils': 5.26.0_eslint@8.16.0+typescript@4.6.4
+ '@typescript-eslint/utils': 5.26.0_utdtartgf6fqqgkivzeynh76la
debug: 4.3.4
eslint: 8.16.0
tsutils: 3.21.0_typescript@4.6.4
@@ -2856,7 +2858,7 @@ packages:
- supports-color
dev: false
- /@typescript-eslint/utils/5.26.0_eslint@8.16.0+typescript@4.6.4:
+ /@typescript-eslint/utils/5.26.0_utdtartgf6fqqgkivzeynh76la:
resolution: {integrity: sha512-PJFwcTq2Pt4AMOKfe3zQOdez6InIDOjUJJD3v3LyEtxHGVVRK3Vo7Dd923t/4M9hSH2q2CLvcTdxlLPjcIk3eg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
@@ -3357,7 +3359,7 @@ packages:
- supports-color
dev: false
- /babel-loader/8.2.5_b691d163cf7cf2d6fe2c056467b6e090:
+ /babel-loader/8.2.5_w2i5cy6pptznn7rmavsgpnxasa:
resolution: {integrity: sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==}
engines: {node: '>= 8.9'}
peerDependencies:
@@ -3499,6 +3501,7 @@ packages:
'@babel/plugin-proposal-numeric-separator': 7.16.7_@babel+core@7.18.2
'@babel/plugin-proposal-optional-chaining': 7.17.12_@babel+core@7.18.2
'@babel/plugin-proposal-private-methods': 7.17.12_@babel+core@7.18.2
+ '@babel/plugin-proposal-private-property-in-object': 7.17.12_@babel+core@7.18.2
'@babel/plugin-transform-flow-strip-types': 7.17.12_@babel+core@7.18.2
'@babel/plugin-transform-react-display-name': 7.16.7_@babel+core@7.18.2
'@babel/plugin-transform-runtime': 7.18.2_@babel+core@7.18.2
@@ -3565,6 +3568,8 @@ packages:
raw-body: 2.5.1
type-is: 1.6.18
unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
dev: false
/bonjour-service/1.0.12:
@@ -3894,6 +3899,8 @@ packages:
on-headers: 1.0.2
safe-buffer: 5.1.2
vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
dev: false
/concat-map/0.0.1:
@@ -4254,12 +4261,22 @@ packages:
/debug/2.6.9:
resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
dependencies:
ms: 2.0.0
dev: false
/debug/3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
dependencies:
ms: 2.1.3
dev: false
@@ -4363,6 +4380,8 @@ packages:
dependencies:
address: 1.2.0
debug: 2.6.9
+ transitivePeerDependencies:
+ - supports-color
dev: false
/detective/5.2.0:
@@ -4659,33 +4678,39 @@ packages:
source-map: 0.6.1
dev: false
- /eslint-config-react-app/7.0.1_d91a484b24073d013c4ad262398a987d:
+ /eslint-config-react-app/7.0.1_3eneqszea46qcpck2jrdtcuypu:
resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==}
engines: {node: '>=14.0.0'}
peerDependencies:
eslint: ^8.0.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
dependencies:
'@babel/core': 7.18.2
- '@babel/eslint-parser': 7.18.2_@babel+core@7.18.2+eslint@8.16.0
+ '@babel/eslint-parser': 7.18.2_j4uj5cgi2mksbox6kqvi7jrs6u
'@rushstack/eslint-patch': 1.1.3
- '@typescript-eslint/eslint-plugin': 5.26.0_3538258888b78689808cec7bffc2237a
- '@typescript-eslint/parser': 5.26.0_eslint@8.16.0+typescript@4.6.4
+ '@typescript-eslint/eslint-plugin': 5.26.0_gu4clceiw6ditaem5r577qrdpi
+ '@typescript-eslint/parser': 5.26.0_utdtartgf6fqqgkivzeynh76la
babel-preset-react-app: 10.0.1
confusing-browser-globals: 1.0.11
eslint: 8.16.0
eslint-plugin-flowtype: 8.0.3_eslint@8.16.0
- eslint-plugin-import: 2.26.0_eslint@8.16.0
- eslint-plugin-jest: 25.7.0_5257c99fa782e3871f5679738ed8c9c7
+ eslint-plugin-import: 2.26.0_grfei5yostfimvqdpf73rlhy3e
+ eslint-plugin-jest: 25.7.0_kjl4th5hqlryoh2wpfzy5wgjy4
eslint-plugin-jsx-a11y: 6.5.1_eslint@8.16.0
eslint-plugin-react: 7.30.0_eslint@8.16.0
eslint-plugin-react-hooks: 4.5.0_eslint@8.16.0
- eslint-plugin-testing-library: 5.5.1_eslint@8.16.0+typescript@4.6.4
+ eslint-plugin-testing-library: 5.5.1_utdtartgf6fqqgkivzeynh76la
+ typescript: 4.6.4
transitivePeerDependencies:
- '@babel/plugin-syntax-flow'
- '@babel/plugin-transform-react-jsx'
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
- jest
- supports-color
- - typescript
dev: false
/eslint-import-resolver-node/0.3.6:
@@ -4693,14 +4718,34 @@ packages:
dependencies:
debug: 3.2.7
resolve: 1.22.0
+ transitivePeerDependencies:
+ - supports-color
dev: false
- /eslint-module-utils/2.7.3:
+ /eslint-module-utils/2.7.3_zhgf6mw2wzy6dnrak3ta47vb3m:
resolution: {integrity: sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==}
engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
dependencies:
+ '@typescript-eslint/parser': 5.26.0_utdtartgf6fqqgkivzeynh76la
debug: 3.2.7
+ eslint-import-resolver-node: 0.3.6
find-up: 2.1.0
+ transitivePeerDependencies:
+ - supports-color
dev: false
/eslint-plugin-flowtype/8.0.3_eslint@8.16.0:
@@ -4716,19 +4761,24 @@ packages:
string-natural-compare: 3.0.1
dev: false
- /eslint-plugin-import/2.26.0_eslint@8.16.0:
+ /eslint-plugin-import/2.26.0_grfei5yostfimvqdpf73rlhy3e:
resolution: {integrity: sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==}
engines: {node: '>=4'}
peerDependencies:
+ '@typescript-eslint/parser': '*'
eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
dependencies:
+ '@typescript-eslint/parser': 5.26.0_utdtartgf6fqqgkivzeynh76la
array-includes: 3.1.5
array.prototype.flat: 1.3.0
debug: 2.6.9
doctrine: 2.1.0
eslint: 8.16.0
eslint-import-resolver-node: 0.3.6
- eslint-module-utils: 2.7.3
+ eslint-module-utils: 2.7.3_zhgf6mw2wzy6dnrak3ta47vb3m
has: 1.0.3
is-core-module: 2.9.0
is-glob: 4.0.3
@@ -4736,9 +4786,13 @@ packages:
object.values: 1.1.5
resolve: 1.22.0
tsconfig-paths: 3.14.1
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
dev: false
- /eslint-plugin-jest/25.7.0_5257c99fa782e3871f5679738ed8c9c7:
+ /eslint-plugin-jest/25.7.0_kjl4th5hqlryoh2wpfzy5wgjy4:
resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==}
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
peerDependencies:
@@ -4751,8 +4805,8 @@ packages:
jest:
optional: true
dependencies:
- '@typescript-eslint/eslint-plugin': 5.26.0_3538258888b78689808cec7bffc2237a
- '@typescript-eslint/experimental-utils': 5.26.0_eslint@8.16.0+typescript@4.6.4
+ '@typescript-eslint/eslint-plugin': 5.26.0_gu4clceiw6ditaem5r577qrdpi
+ '@typescript-eslint/experimental-utils': 5.26.0_utdtartgf6fqqgkivzeynh76la
eslint: 8.16.0
jest: 27.5.1
transitivePeerDependencies:
@@ -4813,13 +4867,13 @@ packages:
string.prototype.matchall: 4.0.7
dev: false
- /eslint-plugin-testing-library/5.5.1_eslint@8.16.0+typescript@4.6.4:
+ /eslint-plugin-testing-library/5.5.1_utdtartgf6fqqgkivzeynh76la:
resolution: {integrity: sha512-plLEkkbAKBjPxsLj7x4jNapcHAg2ernkQlKKrN2I8NrQwPISZHyCUNvg5Hv3EDqOQReToQb5bnqXYbkijJPE/g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'}
peerDependencies:
eslint: ^7.5.0 || ^8.0.0
dependencies:
- '@typescript-eslint/utils': 5.26.0_eslint@8.16.0+typescript@4.6.4
+ '@typescript-eslint/utils': 5.26.0_utdtartgf6fqqgkivzeynh76la
eslint: 8.16.0
transitivePeerDependencies:
- supports-color
@@ -4862,7 +4916,7 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: false
- /eslint-webpack-plugin/3.1.1_eslint@8.16.0+webpack@5.72.1:
+ /eslint-webpack-plugin/3.1.1_vzdnq34ogkorkjhrihd2nzxd6u:
resolution: {integrity: sha512-xSucskTN9tOkfW7so4EaiFIkulWLXwCB/15H917lR6pTv0Zot6/fetFucmENRb7J5whVSFKIvwnrnsa78SG2yg==}
engines: {node: '>= 12.13.0'}
peerDependencies:
@@ -5049,6 +5103,8 @@ packages:
type-is: 1.6.18
utils-merge: 1.0.1
vary: 1.1.2
+ transitivePeerDependencies:
+ - supports-color
dev: false
/extend-shallow/2.0.1:
@@ -5066,8 +5122,8 @@ packages:
is-extendable: 1.0.1
dev: false
- /fancy-canvas/0.2.2:
- resolution: {integrity: sha512-50qi8xA0QkHbjmb8h7XQ6k2fvD7y/yMfiUw9YTarJ7rWrq6o5/3CCXPouYk+XSLASvvxtjyiQLRBFt3qkE3oyA==}
+ /fancy-canvas/2.1.0:
+ resolution: {integrity: sha512-nifxXJ95JNLFR2NgRV4/MxVP45G9909wJTEKz5fg/TZS20JJZA6hfgRVh/bC9bwl2zBtBNcYPjiBE4njQHVBwQ==}
/fast-deep-equal/3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -5165,6 +5221,8 @@ packages:
parseurl: 1.3.3
statuses: 2.0.1
unpipe: 1.0.0
+ transitivePeerDependencies:
+ - supports-color
dev: false
/find-cache-dir/3.3.2:
@@ -5233,7 +5291,7 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /fork-ts-checker-webpack-plugin/6.5.2_488fe9da72d60bd4d60dac1eaf407c7a:
+ /fork-ts-checker-webpack-plugin/6.5.2_jch6twts2yf5jvqnvqpk6qd4pi:
resolution: {integrity: sha512-m5cUmF30xkZ7h4tWUgTAcEaKmUW7tfyUyTqNNOz7OxWJ0v1VWKTcOvH8FWHUwSjlW/356Ijc9vi3XfcPstpQKA==}
engines: {node: '>=10', yarn: '>=1.0.0'}
peerDependencies:
@@ -5327,6 +5385,7 @@ packages:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
+ requiresBuild: true
dev: false
optional: true
@@ -6742,14 +6801,14 @@ packages:
language-subtag-registry: 0.3.21
dev: false
- /leva/0.9.27_react-dom@18.1.0+react@18.1.0:
+ /leva/0.9.27_ef5jwxihqo6n7gxfmzogljlgcm:
resolution: {integrity: sha512-om1IG38ZqNwcl0CFj0KoObqNcGClsJ72OJpMsC3O5bKtXZWch0+j2zNcffchVrg9Anr2Q444vVVocNleo0kzSA==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
dependencies:
- '@radix-ui/react-portal': 0.1.4_react-dom@18.1.0+react@18.1.0
- '@radix-ui/react-tooltip': 0.1.6_react-dom@18.1.0+react@18.1.0
+ '@radix-ui/react-portal': 0.1.4_ef5jwxihqo6n7gxfmzogljlgcm
+ '@radix-ui/react-tooltip': 0.1.6_ef5jwxihqo6n7gxfmzogljlgcm
'@stitches/react': 1.2.8_react@18.1.0
'@use-gesture/react': 10.2.15_react@18.1.0
'@welldone-software/why-did-you-render': 6.2.3_react@18.1.0
@@ -6757,7 +6816,7 @@ packages:
dequal: 2.0.2
merge-value: 1.0.0
react: 18.1.0
- react-colorful: 5.5.1_react-dom@18.1.0+react@18.1.0
+ react-colorful: 5.5.1_ef5jwxihqo6n7gxfmzogljlgcm
react-dom: 18.1.0_react@18.1.0
react-dropzone: 12.1.0_react@18.1.0
v8n: 1.4.0
@@ -6785,10 +6844,10 @@ packages:
type-check: 0.4.0
dev: false
- /lightweight-charts/3.8.0:
- resolution: {integrity: sha512-7yFGnYuE1RjRJG9RwUTBz5wvF1QtjBOSW4FFlikr8Dh+/TDNt4ci+HsWSYmStgQUpawpvkCJ3j5/W25GppGj9Q==}
+ /lightweight-charts/4.0.1:
+ resolution: {integrity: sha512-p+j6w41PVzf9Vn7IrmpmCJacunpN0kKsl0IZoxMOySSkDcSagZ7Is9pb6pclIfN/usHdta0aYm9FktkYpAQe0g==}
dependencies:
- fancy-canvas: 0.2.2
+ fancy-canvas: 2.1.0
/lilconfig/2.0.5:
resolution: {integrity: sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==}
@@ -7485,7 +7544,7 @@ packages:
postcss-selector-parser: 6.0.10
dev: false
- /postcss-browser-comments/4.0.0_e75cc2f88047350d88863901d59c799b:
+ /postcss-browser-comments/4.0.0_45omf6eai42q3ceghea5lhdztm:
resolution: {integrity: sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==}
engines: {node: '>=8'}
peerDependencies:
@@ -7767,7 +7826,7 @@ packages:
yaml: 1.10.2
dev: false
- /postcss-loader/6.2.1_postcss@8.4.14+webpack@5.72.1:
+ /postcss-loader/6.2.1_xvg4ntyrrwt57qzvggqcbeozu4:
resolution: {integrity: sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==}
engines: {node: '>= 12.13.0'}
peerDependencies:
@@ -7924,7 +7983,7 @@ packages:
peerDependencies:
postcss: ^8.4
dependencies:
- '@csstools/selector-specificity': 1.0.0_e73911252e8c76a7ba13ab9c39479e7d
+ '@csstools/selector-specificity': 1.0.0_444rcjjorr3kpoqtvoodsr46pu
postcss: 8.4.14
postcss-selector-parser: 6.0.10
dev: false
@@ -8020,7 +8079,7 @@ packages:
postcss-value-parser: 4.2.0
dev: false
- /postcss-normalize/10.0.1_e75cc2f88047350d88863901d59c799b:
+ /postcss-normalize/10.0.1_45omf6eai42q3ceghea5lhdztm:
resolution: {integrity: sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==}
engines: {node: '>= 12'}
peerDependencies:
@@ -8030,7 +8089,7 @@ packages:
'@csstools/normalize.css': 12.0.0
browserslist: 4.20.3
postcss: 8.4.14
- postcss-browser-comments: 4.0.0_e75cc2f88047350d88863901d59c799b
+ postcss-browser-comments: 4.0.0_45omf6eai42q3ceghea5lhdztm
sanitize.css: 13.0.0
dev: false
@@ -8374,7 +8433,7 @@ packages:
whatwg-fetch: 3.6.2
dev: false
- /react-colorful/5.5.1_react-dom@18.1.0+react@18.1.0:
+ /react-colorful/5.5.1_ef5jwxihqo6n7gxfmzogljlgcm:
resolution: {integrity: sha512-M1TJH2X3RXEt12sWkpa6hLc/bbYS0H6F4rIqjQZ+RxNBstpY67d9TrFXtqdZwhpmBXcCwEi7stKqFue3ZRkiOg==}
peerDependencies:
react: '>=16.8.0'
@@ -8384,9 +8443,15 @@ packages:
react-dom: 18.1.0_react@18.1.0
dev: false
- /react-dev-utils/12.0.1_488fe9da72d60bd4d60dac1eaf407c7a:
+ /react-dev-utils/12.0.1_jch6twts2yf5jvqnvqpk6qd4pi:
resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==}
engines: {node: '>=14'}
+ peerDependencies:
+ typescript: '>=2.7'
+ webpack: '>=4'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
dependencies:
'@babel/code-frame': 7.16.7
address: 1.2.0
@@ -8397,7 +8462,7 @@ packages:
escape-string-regexp: 4.0.0
filesize: 8.0.7
find-up: 5.0.0
- fork-ts-checker-webpack-plugin: 6.5.2_488fe9da72d60bd4d60dac1eaf407c7a
+ fork-ts-checker-webpack-plugin: 6.5.2_jch6twts2yf5jvqnvqpk6qd4pi
global-modules: 2.0.0
globby: 11.1.0
gzip-size: 6.0.0
@@ -8412,11 +8477,12 @@ packages:
shell-quote: 1.7.3
strip-ansi: 6.0.1
text-table: 0.2.0
+ typescript: 4.6.4
+ webpack: 5.72.1
transitivePeerDependencies:
- eslint
- - typescript
+ - supports-color
- vue-template-compiler
- - webpack
dev: false
/react-dom/18.1.0_react@18.1.0:
@@ -8461,7 +8527,7 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
- /react-router-dom/6.3.0_react-dom@18.1.0+react@18.1.0:
+ /react-router-dom/6.3.0_ef5jwxihqo6n7gxfmzogljlgcm:
resolution: {integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==}
peerDependencies:
react: '>=16.8'
@@ -8482,7 +8548,7 @@ packages:
react: 18.1.0
dev: false
- /react-scripts/5.0.1_react@18.1.0+typescript@4.6.4:
+ /react-scripts/5.0.1_oxzyc36t6ywqirvp35nas5bcte:
resolution: {integrity: sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==}
engines: {node: '>=14.0.0'}
hasBin: true
@@ -8494,10 +8560,10 @@ packages:
optional: true
dependencies:
'@babel/core': 7.18.2
- '@pmmmwh/react-refresh-webpack-plugin': 0.5.7_10e9430ea3cdfe32a913fa23525aceac
+ '@pmmmwh/react-refresh-webpack-plugin': 0.5.7_cduugdvdzx7dfkit7irvewwovq
'@svgr/webpack': 5.5.0
babel-jest: 27.5.1_@babel+core@7.18.2
- babel-loader: 8.2.5_b691d163cf7cf2d6fe2c056467b6e090
+ babel-loader: 8.2.5_w2i5cy6pptznn7rmavsgpnxasa
babel-plugin-named-asset-import: 0.3.8_@babel+core@7.18.2
babel-preset-react-app: 10.0.1
bfj: 7.0.2
@@ -8509,8 +8575,8 @@ packages:
dotenv: 10.0.0
dotenv-expand: 5.1.0
eslint: 8.16.0
- eslint-config-react-app: 7.0.1_d91a484b24073d013c4ad262398a987d
- eslint-webpack-plugin: 3.1.1_eslint@8.16.0+webpack@5.72.1
+ eslint-config-react-app: 7.0.1_3eneqszea46qcpck2jrdtcuypu
+ eslint-webpack-plugin: 3.1.1_vzdnq34ogkorkjhrihd2nzxd6u
file-loader: 6.2.0_webpack@5.72.1
fs-extra: 10.1.0
html-webpack-plugin: 5.5.0_webpack@5.72.1
@@ -8521,13 +8587,13 @@ packages:
mini-css-extract-plugin: 2.6.0_webpack@5.72.1
postcss: 8.4.14
postcss-flexbugs-fixes: 5.0.2_postcss@8.4.14
- postcss-loader: 6.2.1_postcss@8.4.14+webpack@5.72.1
- postcss-normalize: 10.0.1_e75cc2f88047350d88863901d59c799b
+ postcss-loader: 6.2.1_xvg4ntyrrwt57qzvggqcbeozu4
+ postcss-normalize: 10.0.1_45omf6eai42q3ceghea5lhdztm
postcss-preset-env: 7.6.0_postcss@8.4.14
prompts: 2.4.2
react: 18.1.0
react-app-polyfill: 3.0.0
- react-dev-utils: 12.0.1_488fe9da72d60bd4d60dac1eaf407c7a
+ react-dev-utils: 12.0.1_jch6twts2yf5jvqnvqpk6qd4pi
react-refresh: 0.11.0
resolve: 1.22.0
resolve-url-loader: 4.0.0
@@ -8557,6 +8623,8 @@ packages:
- csso
- debug
- esbuild
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
- fibers
- node-notifier
- node-sass
@@ -8966,6 +9034,8 @@ packages:
on-finished: 2.4.1
range-parser: 1.2.1
statuses: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
dev: false
/serialize-javascript/4.0.0:
@@ -8991,6 +9061,8 @@ packages:
http-errors: 1.6.3
mime-types: 2.1.35
parseurl: 1.3.3
+ transitivePeerDependencies:
+ - supports-color
dev: false
/serve-static/1.15.0:
@@ -9001,6 +9073,8 @@ packages:
escape-html: 1.0.3
parseurl: 1.3.3
send: 0.18.0
+ transitivePeerDependencies:
+ - supports-color
dev: false
/set-value/2.0.1:
@@ -10073,7 +10147,7 @@ packages:
'@babel/core': 7.18.2
'@babel/preset-env': 7.18.2_@babel+core@7.18.2
'@babel/runtime': 7.17.9
- '@rollup/plugin-babel': 5.3.1_@babel+core@7.18.2+rollup@2.74.1
+ '@rollup/plugin-babel': 5.3.1_o5sqowbm3tib3dowmwlyo7rr74
'@rollup/plugin-node-resolve': 11.2.1_rollup@2.74.1
'@rollup/plugin-replace': 2.4.2_rollup@2.74.1
'@surma/rollup-plugin-off-main-thread': 2.2.3
diff --git a/packages/demo/package.json b/packages/demo/package.json
index 40a566d..18d5c4c 100644
--- a/packages/demo/package.json
+++ b/packages/demo/package.json
@@ -16,7 +16,7 @@
"react-scripts": "5.0.1",
"typescript": "~4.6.4",
"web-vitals": "^2.1.0",
- "lightweight-charts": "^3.8.0",
+ "lightweight-charts": "4.0.1",
"classnames": "~2.3.1",
"react-router-dom": "~6.3.0",
"@types/webpack-env": "~1.17.0",
diff --git a/packages/demo/src/samples/legend.tsx b/packages/demo/src/samples/legend.tsx
index 0167b7e..44f4e9c 100644
--- a/packages/demo/src/samples/legend.tsx
+++ b/packages/demo/src/samples/legend.tsx
@@ -1,5 +1,5 @@
import React, {useCallback, useRef, useState} from 'react';
-import {BarPrice, ISeriesApi, LineWidth, MouseEventParams} from 'lightweight-charts';
+import {ISeriesApi, LineWidth, MouseEventParams, LineData} from 'lightweight-charts';
import {Chart, AreaSeries} from 'lightweight-charts-react-wrapper';
import styles from './legend.module.css';
@@ -13,8 +13,8 @@ export default function Legend() {
return;
}
if (param.time) {
- const price = param.seriesPrices.get(series.current) as BarPrice;
- setLegend('ETC USD 7D VWAP' + ' ' + price.toFixed(2));
+ const {value} = param.seriesData.get(series.current) as LineData;
+ setLegend('ETC USD 7D VWAP' + ' ' + value.toFixed(2));
} else {
setLegend('ETC USD 7D VWAP');
}
diff --git a/packages/demo/src/samples/moving-average.tsx b/packages/demo/src/samples/moving-average.tsx
index 04819cc..7a37525 100644
--- a/packages/demo/src/samples/moving-average.tsx
+++ b/packages/demo/src/samples/moving-average.tsx
@@ -1,5 +1,5 @@
import React, {useCallback, useRef, useState} from 'react';
-import {BarPrice, BusinessDay, CandlestickData, CrosshairMode, ISeriesApi, MouseEventParams} from 'lightweight-charts';
+import {AreaData, BusinessDay, CandlestickData, CrosshairMode, ISeriesApi, MouseEventParams} from 'lightweight-charts';
import {Chart, LineSeries, CandlestickSeries} from 'lightweight-charts-react-wrapper';
import styles from './moving-average.module.css';
@@ -12,9 +12,9 @@ export default function MovingAverage() {
if (ref.current === null) {
return;
}
- const price = e.seriesPrices.get(ref.current) as BarPrice | undefined;
- if (price !== undefined) {
- setValue((Math.round(price * 100) / 100).toFixed(2));
+ const data = e.seriesData.get(ref.current) as AreaData | undefined;
+ if (data !== undefined) {
+ setValue((Math.round(data.value * 100) / 100).toFixed(2));
} else {
setValue('n/a');
}
diff --git a/packages/demo/src/samples/series-markers.tsx b/packages/demo/src/samples/series-markers.tsx
new file mode 100644
index 0000000..c0d035b
--- /dev/null
+++ b/packages/demo/src/samples/series-markers.tsx
@@ -0,0 +1,744 @@
+import React from 'react';
+import {SeriesMarker, Time} from 'lightweight-charts';
+import {Chart, CandlestickSeries} from 'lightweight-charts-react-wrapper';
+
+export default function CandlestickChart() {
+ return (
+ <>
+
Series markers
+
+
+
+ >
+ )
+}
+
+const data = [
+ {
+ time: {year: 2018, month: 9, day: 22},
+ open: 29.630237296336794,
+ high: 35.36950035097501,
+ low: 26.21522501353531,
+ close: 30.734997177569916
+ },
+ {
+ time: {year: 2018, month: 9, day: 23},
+ open: 32.267626500691215,
+ high: 34.452661663723774,
+ low: 26.096868360824704,
+ close: 29.573918833457004
+ },
+ {
+ time: {year: 2018, month: 9, day: 24},
+ open: 27.33996760497746,
+ high: 35.8060364835531,
+ low: 27.33996760497746,
+ close: 33.06283432964511
+ },
+ {
+ time: {year: 2018, month: 9, day: 25},
+ open: 31.1654368745013,
+ high: 31.97284477478497,
+ low: 26.766743287285593,
+ close: 27.364979322283386
+ },
+ {
+ time: {year: 2018, month: 9, day: 26},
+ open: 29.5901452337888,
+ high: 32.147919593347474,
+ low: 27.53289219709677,
+ close: 29.202912415085272
+ },
+ {
+ time: {year: 2018, month: 9, day: 27},
+ open: 27.561741523265923,
+ high: 35.11649043301526,
+ low: 25.20035866163233,
+ close: 31.14520649627546
+ },
+ {
+ time: {year: 2018, month: 9, day: 28},
+ open: 31.925975006823798,
+ high: 31.925975006823798,
+ low: 28.998500720406675,
+ close: 29.87723790403876
+ },
+ {
+ time: {year: 2018, month: 9, day: 29},
+ open: 30.826956088992475,
+ high: 34.79463130873015,
+ low: 25.291546123273097,
+ close: 28.994812708315987
+ },
+ {
+ time: {year: 2018, month: 9, day: 30},
+ open: 31.202920145287838,
+ high: 33.19178819590413,
+ low: 23.94419012923956,
+ close: 31.47253745770869
+ },
+ {
+ time: {year: 2018, month: 10, day: 1},
+ open: 26.927794164758666,
+ high: 34.6744456778885,
+ low: 26.927794164758666,
+ close: 31.091122539737423
+ },
+ {
+ time: {year: 2018, month: 10, day: 2},
+ open: 26.452041173938298,
+ high: 34.527917622572154,
+ low: 26.452041173938298,
+ close: 27.65703395829094
+ },
+ {
+ time: {year: 2018, month: 10, day: 3},
+ open: 27.74629982387605,
+ high: 29.300441707649835,
+ low: 23.761300216231263,
+ close: 29.182874625005628
+ },
+ {
+ time: {year: 2018, month: 10, day: 4},
+ open: 30.41599722290526,
+ high: 31.942643078777103,
+ low: 27.09925359459428,
+ close: 30.918477883682872
+ },
+ {
+ time: {year: 2018, month: 10, day: 5},
+ open: 25.76549797105683,
+ high: 33.4650523853759,
+ low: 25.76549797105683,
+ close: 28.15984801386293
+ },
+ {
+ time: {year: 2018, month: 10, day: 6},
+ open: 27.543404135965382,
+ high: 30.7227783000902,
+ low: 25.749951838020884,
+ close: 29.150903848724184
+ },
+ {
+ time: {year: 2018, month: 10, day: 7},
+ open: 29.34759861812077,
+ high: 31.08503530472835,
+ low: 23.395022079647823,
+ close: 25.00923131079722
+ },
+ {
+ time: {year: 2018, month: 10, day: 8},
+ open: 27.00266154335036,
+ high: 29.51599687178633,
+ low: 23.46749249241176,
+ close: 28.702932483799707
+ },
+ {
+ time: {year: 2018, month: 10, day: 9},
+ open: 25.569958099853594,
+ high: 27.669071502065417,
+ low: 25.569958099853594,
+ close: 25.626920473922613
+ },
+ {
+ time: {year: 2018, month: 10, day: 10},
+ open: 24.886919828178304,
+ high: 27.167620185117006,
+ low: 23.71595991386752,
+ close: 23.71595991386752
+ },
+ {
+ time: {year: 2018, month: 10, day: 11},
+ open: 26.14124249813686,
+ high: 29.5638477987916,
+ low: 20.82341105699825,
+ close: 25.563138238511257
+ },
+ {
+ time: {year: 2018, month: 10, day: 12},
+ open: 22.26412127509447,
+ high: 27.637685003390743,
+ low: 20.838507431464958,
+ close: 22.450517792778047
+ },
+ {
+ time: {year: 2018, month: 10, day: 13},
+ open: 25.75099239090953,
+ high: 28.12000626118839,
+ low: 21.929748303510852,
+ close: 22.63015682488669
+ },
+ {
+ time: {year: 2018, month: 10, day: 14},
+ open: 25.428132591291497,
+ high: 25.999229490809693,
+ low: 22.266121337091555,
+ close: 23.51047528528147
+ },
+ {
+ time: {year: 2018, month: 10, day: 15},
+ open: 25.07416967939059,
+ high: 25.50535192500713,
+ low: 21.96666570325133,
+ close: 21.96666570325133
+ },
+ {
+ time: {year: 2018, month: 10, day: 16},
+ open: 24.957206161449307,
+ high: 26.679727314857256,
+ low: 20.196753994637245,
+ close: 21.523347810451863
+ },
+ {
+ time: {year: 2018, month: 10, day: 17},
+ open: 23.705184745772733,
+ high: 26.754094837621004,
+ low: 18.724184302695104,
+ close: 20.160857555541725
+ },
+ {
+ time: {year: 2018, month: 10, day: 18},
+ open: 21.95610851644136,
+ high: 22.914889536420105,
+ low: 19.567733140100472,
+ close: 22.914889536420105
+ },
+ {
+ time: {year: 2018, month: 10, day: 19},
+ open: 23.216357873687972,
+ high: 25.44815512734246,
+ low: 19.54787451276509,
+ close: 20.76851802225937
+ },
+ {
+ time: {year: 2018, month: 10, day: 20},
+ open: 19.6289025950405,
+ high: 24.290702755740412,
+ low: 19.041541929894358,
+ close: 22.48608548162324
+ },
+ {
+ time: {year: 2018, month: 10, day: 21},
+ open: 23.599000037544915,
+ high: 26.839019853462844,
+ low: 20.884129956680898,
+ close: 22.01878871761756
+ },
+ {
+ time: {year: 2018, month: 10, day: 22},
+ open: 24.618502768742008,
+ high: 28.00099352255492,
+ low: 23.061935629399088,
+ close: 23.061935629399088
+ },
+ {
+ time: {year: 2018, month: 10, day: 23},
+ open: 23.840701995876866,
+ high: 28.494382608429564,
+ low: 23.840701995876866,
+ close: 25.321841131665526
+ },
+ {
+ time: {year: 2018, month: 10, day: 24},
+ open: 27.764925733189372,
+ high: 31.05550601484776,
+ low: 22.810929726970702,
+ close: 30.02406259204889
+ },
+ {
+ time: {year: 2018, month: 10, day: 25},
+ open: 29.703149280184604,
+ high: 34.0185175501095,
+ low: 26.82967654698301,
+ close: 32.06834171351323
+ },
+ {
+ time: {year: 2018, month: 10, day: 26},
+ open: 29.0251492427822,
+ high: 36.89478162439007,
+ low: 28.3502671011196,
+ close: 32.822663125409356
+ },
+ {
+ time: {year: 2018, month: 10, day: 27},
+ open: 35.040777462643284,
+ high: 35.12524316379231,
+ low: 26.805156020579663,
+ close: 34.23626219571325
+ },
+ {
+ time: {year: 2018, month: 10, day: 28},
+ open: 31.21349419519032,
+ high: 35.73068910379853,
+ low: 31.064101813812698,
+ close: 34.75020857236565
+ },
+ {
+ time: {year: 2018, month: 10, day: 29},
+ open: 32.34914826794689,
+ high: 42.381605482695505,
+ low: 30.176750284055878,
+ close: 39.24138147444552
+ },
+ {
+ time: {year: 2018, month: 10, day: 30},
+ open: 38.84583808993371,
+ high: 41.75165839362154,
+ low: 33.37106955991806,
+ close: 35.93904098275507
+ },
+ {
+ time: {year: 2018, month: 10, day: 31},
+ open: 37.070183005323564,
+ high: 44.84460203857022,
+ low: 35.23671284121251,
+ close: 36.329972003600034
+ },
+ {
+ time: {year: 2018, month: 11, day: 1},
+ open: 43.31997309164893,
+ high: 48.43216497187469,
+ low: 38.30881963355285,
+ close: 41.554948540677586
+ },
+ {
+ time: {year: 2018, month: 11, day: 2},
+ open: 41.33946811092929,
+ high: 46.65347243834853,
+ low: 37.472215586661335,
+ close: 39.26832265482503
+ },
+ {
+ time: {year: 2018, month: 11, day: 3},
+ open: 44.76468593661226,
+ high: 44.76468593661226,
+ low: 40.039672147314235,
+ close: 43.42106786288436
+ },
+ {
+ time: {year: 2018, month: 11, day: 4},
+ open: 49.13160326887013,
+ high: 49.13160326887013,
+ low: 40.93648693038296,
+ close: 42.17817698294767
+ },
+ {
+ time: {year: 2018, month: 11, day: 5},
+ open: 50.46706012970579,
+ high: 54.38104598422352,
+ low: 38.159930155343616,
+ close: 47.5899156640143
+ },
+ {
+ time: {year: 2018, month: 11, day: 6},
+ open: 48.25899506613569,
+ high: 48.25899506613569,
+ low: 45.63208604138365,
+ close: 45.63208604138365
+ },
+ {
+ time: {year: 2018, month: 11, day: 7},
+ open: 52.45484210527629,
+ high: 57.55979771849961,
+ low: 45.23447676016779,
+ close: 46.01127464234881
+ },
+ {
+ time: {year: 2018, month: 11, day: 8},
+ open: 53.228216675179624,
+ high: 54.07804814570622,
+ low: 40.61161433961706,
+ close: 47.689867390699014
+ },
+ {
+ time: {year: 2018, month: 11, day: 9},
+ open: 46.193099316212816,
+ high: 56.190537353078824,
+ low: 45.01246323828753,
+ close: 49.14012661656766
+ },
+ {
+ time: {year: 2018, month: 11, day: 10},
+ open: 50.409245396927986,
+ high: 52.3082002787041,
+ low: 41.764144138886394,
+ close: 52.3082002787041
+ },
+ {
+ time: {year: 2018, month: 11, day: 11},
+ open: 48.58146178816203,
+ high: 52.653922195022126,
+ low: 47.34031788474959,
+ close: 47.34031788474959
+ },
+ {
+ time: {year: 2018, month: 11, day: 12},
+ open: 46.80040325283692,
+ high: 56.709349494076804,
+ low: 45.81605691554122,
+ close: 45.81605691554122
+ },
+ {
+ time: {year: 2018, month: 11, day: 13},
+ open: 46.042722425788355,
+ high: 58.476056411825695,
+ low: 46.042722425788355,
+ close: 51.2300776481609
+ },
+ {
+ time: {year: 2018, month: 11, day: 14},
+ open: 53.909068487588385,
+ high: 60.240990154306715,
+ low: 45.230741063278664,
+ close: 51.34529637385427
+ },
+ {
+ time: {year: 2018, month: 11, day: 15},
+ open: 53.739609857086606,
+ high: 53.739609857086606,
+ low: 44.38017019990068,
+ close: 47.595960698697894
+ },
+ {
+ time: {year: 2018, month: 11, day: 16},
+ open: 52.52688238296145,
+ high: 60.9220040817774,
+ low: 44.27700764117003,
+ close: 55.27309771985698
+ },
+ {
+ time: {year: 2018, month: 11, day: 17},
+ open: 54.46100795908005,
+ high: 57.57937841117058,
+ low: 49.50543170388487,
+ close: 49.50543170388487
+ },
+ {
+ time: {year: 2018, month: 11, day: 18},
+ open: 51.12284024600029,
+ high: 57.646718858433026,
+ low: 48.73280269653226,
+ close: 51.35457902694444
+ },
+ {
+ time: {year: 2018, month: 11, day: 19},
+ open: 53.536130807863266,
+ high: 53.536130807863266,
+ low: 51.29649965636722,
+ close: 52.99088526565045
+ },
+ {
+ time: {year: 2018, month: 11, day: 20},
+ open: 50.92761950009885,
+ high: 57.70671943558014,
+ low: 46.45030483558741,
+ close: 52.229112575743066
+ },
+ {
+ time: {year: 2018, month: 11, day: 21},
+ open: 49.30035068900293,
+ high: 58.67691694734525,
+ low: 44.63563165197862,
+ close: 58.67691694734525
+ },
+ {
+ time: {year: 2018, month: 11, day: 22},
+ open: 54.230476484061036,
+ high: 59.03831193868438,
+ low: 50.77849134047791,
+ close: 59.03831193868438
+ },
+ {
+ time: {year: 2018, month: 11, day: 23},
+ open: 57.282420985156854,
+ high: 60.4869735007396,
+ low: 44.14116488798797,
+ close: 57.93461310007337
+ },
+ {
+ time: {year: 2018, month: 11, day: 24},
+ open: 54.86833150125539,
+ high: 64.25102812467448,
+ low: 52.36616043331222,
+ close: 52.36616043331222
+ },
+ {
+ time: {year: 2018, month: 11, day: 25},
+ open: 51.689239380620386,
+ high: 64.29747922654688,
+ low: 50.71498529572432,
+ close: 60.518206306602394
+ },
+ {
+ time: {year: 2018, month: 11, day: 26},
+ open: 55.74863310659164,
+ high: 60.816819055612584,
+ low: 46.11238607935206,
+ close: 59.23044859881929
+ },
+ {
+ time: {year: 2018, month: 11, day: 27},
+ open: 52.57406222528308,
+ high: 64.2058753841427,
+ low: 48.163404012323305,
+ close: 60.593847809696896
+ },
+ {
+ time: {year: 2018, month: 11, day: 28},
+ open: 57.50710740029724,
+ high: 60.12123058977347,
+ low: 49.61839271711267,
+ close: 53.29152711098895
+ },
+ {
+ time: {year: 2018, month: 11, day: 29},
+ open: 57.33581828303538,
+ high: 58.92432332528284,
+ low: 53.27790061455899,
+ close: 57.02787118731709
+ },
+ {
+ time: {year: 2018, month: 11, day: 30},
+ open: 57.527445314328595,
+ high: 67.63249690962569,
+ low: 49.603261485289146,
+ close: 54.589123556483656
+ },
+ {
+ time: {year: 2018, month: 12, day: 1},
+ open: 59.98835793934424,
+ high: 65.51917884840141,
+ low: 52.32535994476165,
+ close: 62.127135611086565
+ },
+ {
+ time: {year: 2018, month: 12, day: 2},
+ open: 52.509550731662536,
+ high: 58.49971806419494,
+ low: 52.509550731662536,
+ close: 54.759948868082255
+ },
+ {
+ time: {year: 2018, month: 12, day: 3},
+ open: 58.08470541982317,
+ high: 62.74987556918568,
+ low: 47.85627992158991,
+ close: 58.690428071336406
+ },
+ {
+ time: {year: 2018, month: 12, day: 4},
+ open: 58.28482939034761,
+ high: 69.16675825892361,
+ low: 57.41588944088662,
+ close: 57.74515245619454
+ },
+ {
+ time: {year: 2018, month: 12, day: 5},
+ open: 60.004299871302464,
+ high: 65.82447121605708,
+ low: 53.13330527599658,
+ close: 57.64488004774012
+ },
+ {
+ time: {year: 2018, month: 12, day: 6},
+ open: 61.92746155137417,
+ high: 64.36944842979646,
+ low: 49.470442234694225,
+ close: 59.94404434023895
+ },
+ {
+ time: {year: 2018, month: 12, day: 7},
+ open: 63.72235832229121,
+ high: 66.33649390307095,
+ low: 49.91822946887207,
+ close: 63.56396375320479
+ },
+ {
+ time: {year: 2018, month: 12, day: 8},
+ open: 56.64594047326664,
+ high: 65.3730920902599,
+ low: 52.604389283975664,
+ close: 60.71684658387917
+ },
+ {
+ time: {year: 2018, month: 12, day: 9},
+ open: 58.89798885700999,
+ high: 68.04578543284373,
+ low: 58.89798885700999,
+ close: 63.36111469854223
+ },
+ {
+ time: {year: 2018, month: 12, day: 10},
+ open: 58.869685789579826,
+ high: 70.99828637845869,
+ low: 52.36901833289119,
+ close: 63.15473262144694
+ },
+ {
+ time: {year: 2018, month: 12, day: 11},
+ open: 57.61362492091653,
+ high: 66.41975632948531,
+ low: 50.827182111530895,
+ close: 61.770769489947064
+ },
+ {
+ time: {year: 2018, month: 12, day: 12},
+ open: 57.869332957269656,
+ high: 66.28374056429257,
+ low: 57.05028878520954,
+ close: 63.87762958979595
+ },
+ {
+ time: {year: 2018, month: 12, day: 13},
+ open: 68.14347595614306,
+ high: 73.46304446829079,
+ low: 50.83319311788897,
+ close: 66.9144140431443
+ },
+ {
+ time: {year: 2018, month: 12, day: 14},
+ open: 56.95907344942102,
+ high: 68.81432823196859,
+ low: 56.95907344942102,
+ close: 60.69722290026252
+ },
+ {
+ time: {year: 2018, month: 12, day: 15},
+ open: 69.14662166493828,
+ high: 69.14662166493828,
+ low: 58.59143795311565,
+ close: 66.25235616866007
+ },
+ {
+ time: {year: 2018, month: 12, day: 16},
+ open: 64.0373004661208,
+ high: 72.91321850066319,
+ low: 52.079104978168345,
+ close: 65.92678310822487
+ },
+ {
+ time: {year: 2018, month: 12, day: 17},
+ open: 68.81814300123497,
+ high: 69.51927964796873,
+ low: 62.70935477415118,
+ close: 65.64565364397754
+ },
+ {
+ time: {year: 2018, month: 12, day: 18},
+ open: 63.47554821643351,
+ high: 73.6284398311906,
+ low: 58.996882824636856,
+ close: 58.996882824636856
+ },
+ {
+ time: {year: 2018, month: 12, day: 19},
+ open: 69.97765183896102,
+ high: 69.97765183896102,
+ low: 58.73355952507237,
+ close: 58.73355952507237
+ },
+ {
+ time: {year: 2018, month: 12, day: 20},
+ open: 63.22638756186111,
+ high: 65.67137242291682,
+ low: 59.9542779777421,
+ close: 61.20003065016431
+ },
+ {
+ time: {year: 2018, month: 12, day: 21},
+ open: 59.690029086102506,
+ high: 78.08665559197297,
+ low: 54.862707942292275,
+ close: 70.58935191024504
+ },
+ {
+ time: {year: 2018, month: 12, day: 22},
+ open: 66.29092355620301,
+ high: 71.82667261213395,
+ low: 65.28001993201676,
+ close: 71.82667261213395
+ },
+ {
+ time: {year: 2018, month: 12, day: 23},
+ open: 60.92645998120027,
+ high: 74.21283998861118,
+ low: 57.331119016099116,
+ close: 60.36728842356329
+ },
+ {
+ time: {year: 2018, month: 12, day: 24},
+ open: 60.211957192084036,
+ high: 72.37883919241614,
+ low: 60.211957192084036,
+ close: 72.37883919241614
+ },
+ {
+ time: {year: 2018, month: 12, day: 25},
+ open: 64.80282266865653,
+ high: 71.00204457933133,
+ low: 54.58446926152339,
+ close: 69.9468262738086
+ },
+ {
+ time: {year: 2018, month: 12, day: 26},
+ open: 66.28091239894763,
+ high: 81.00843300529249,
+ low: 54.56212171317677,
+ close: 69.58528111643206
+ },
+ {
+ time: {year: 2018, month: 12, day: 27},
+ open: 66.38479296949795,
+ high: 79.97207476893692,
+ low: 59.738742243860464,
+ close: 73.77893045661807
+ },
+ {
+ time: {year: 2018, month: 12, day: 28},
+ open: 73.80105714462456,
+ high: 73.80105714462456,
+ low: 59.95172576316864,
+ close: 73.49823170047799
+ },
+ {
+ time: {year: 2018, month: 12, day: 29},
+ open: 75.65816205696441,
+ high: 75.65816205696441,
+ low: 63.710206287837266,
+ close: 63.710206287837266
+ },
+ {
+ time: {year: 2018, month: 12, day: 30},
+ open: 70.43199072631421,
+ high: 80.48229715762909,
+ low: 62.65542750589909,
+ close: 63.42588929424237
+ },
+ {
+ time: {year: 2018, month: 12, day: 31},
+ open: 74.18101512382138,
+ high: 79.0918171034821,
+ low: 57.80109358134577,
+ close: 72.91361896511863
+ }
+];
+
+const datesForMarkers = [data[data.length - 39], data[data.length - 19]];
+let indexOfMinPrice = 0;
+for (let i = 1; i < datesForMarkers.length; i++) {
+ if (datesForMarkers[i].high < datesForMarkers[indexOfMinPrice].high) {
+ indexOfMinPrice = i;
+ }
+}
+
+const markers: SeriesMarker