diff --git a/jest.config.base.cjs b/jest.config.base.cjs index 1476edd3e1..b346bef0fe 100644 --- a/jest.config.base.cjs +++ b/jest.config.base.cjs @@ -5,7 +5,7 @@ module.exports = { '.(ts|tsx|js|jsx)': ['babel-jest', { rootMode: 'upward' }], }, // Makes jest transform monaco, but continue ignoring other node_modules. Used for MonacoUtils test - transformIgnorePatterns: ['node_modules/(?!(monaco-editor)/)'], + transformIgnorePatterns: ['node_modules/(?!(monaco-editor|d3-interpolate|d3-color)/)'], moduleNameMapper: { '\\.(css|less|scss|sass)$': 'identity-obj-proxy', '\\.(jpg|jpeg|png|gif|eot|otf|webp|svg|ttf|woff|woff2|mp4|webm|wav|mp3|m4a|aac|oga)$': path.join( diff --git a/package-lock.json b/package-lock.json index 58bebd56ba..64d954a64d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -77,7 +77,7 @@ "@types/memoizee": "^0.4.5", "@types/node": "^16.11.7", "@types/papaparse": "5.3.2", - "@types/plotly.js": "^2.12.13", + "@types/plotly.js": "^2.12.18", "@types/pouchdb-browser": "^6.1.3", "@types/prop-types": "^15.7.3", "@types/react": "^17.0.2", @@ -5483,8 +5483,9 @@ } }, "node_modules/@plotly/d3": { - "version": "3.8.0", - "license": "BSD-3-Clause" + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.1.tgz", + "integrity": "sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==" }, "node_modules/@plotly/d3-sankey": { "version": "0.7.2", @@ -6145,9 +6146,9 @@ "license": "MIT" }, "node_modules/@types/plotly.js": { - "version": "2.12.13", - "resolved": "https://registry.npmjs.org/@types/plotly.js/-/plotly.js-2.12.13.tgz", - "integrity": "sha512-p/xo8LuJMxSvT/szkjgUJVlopRu049NZ+p46MpcSlovmO6tIgyzldm8kLUo9p24XE/5iZzGSTtvIUQjLwIUQxw==", + "version": "2.12.18", + "resolved": "https://registry.npmjs.org/@types/plotly.js/-/plotly.js-2.12.18.tgz", + "integrity": "sha512-ff+CIEWnqZNjZqHtQZvkEAVuLs9fkm1f54QnPVmgoET7wMHdSqUka2hasVN4e5yfHD05YwGjsAtCseewJh/BMw==", "dev": true }, "node_modules/@types/pouchdb-adapter-http": { @@ -9618,8 +9619,12 @@ "license": "BSD-3-Clause" }, "node_modules/d3-color": { - "version": "1.4.1", - "license": "BSD-3-Clause" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } }, "node_modules/d3-dispatch": { "version": "1.0.6", @@ -9672,10 +9677,14 @@ "license": "BSD-3-Clause" }, "node_modules/d3-interpolate": { - "version": "1.4.0", - "license": "BSD-3-Clause", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", "dependencies": { - "d3-color": "1" + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" } }, "node_modules/d3-path": { @@ -13016,9 +13025,10 @@ } }, "node_modules/http-cache-semantics": { - "version": "4.1.0", - "dev": true, - "license": "BSD-2-Clause" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "dev": true }, "node_modules/http-errors": { "version": "1.8.1", @@ -20558,11 +20568,11 @@ } }, "node_modules/plotly.js": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.18.0.tgz", - "integrity": "sha512-EauUKlr03yI7v2K2BA0NobvJb1Na+uid0ZFKbLehpiR/WSnGO7tf5/cKnXl4TEqGYKnytj07Poek6JlXZC3jbg==", + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.18.2.tgz", + "integrity": "sha512-Z8ZgWNfjeIEYxt/PCfpKZoWMxWylGYiuz28W2frUwEeTEcnnspi+JveC3IWYGmlq6dS3AWlJiZOJWJgdrJjCmA==", "dependencies": { - "@plotly/d3": "3.8.0", + "@plotly/d3": "3.8.1", "@plotly/d3-sankey": "0.7.2", "@plotly/d3-sankey-circular": "0.33.1", "@turf/area": "^6.4.0", @@ -20579,7 +20589,7 @@ "d3-geo": "^1.12.1", "d3-geo-projection": "^2.9.0", "d3-hierarchy": "^1.1.9", - "d3-interpolate": "^1.4.0", + "d3-interpolate": "^3.0.1", "d3-time": "^1.1.0", "d3-time-format": "^2.2.3", "fast-isnumeric": "^1.1.4", @@ -24000,8 +24010,9 @@ } }, "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -24126,7 +24137,9 @@ } }, "node_modules/ua-parser-js": { - "version": "0.7.31", + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", + "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==", "dev": true, "funding": [ { @@ -24138,7 +24151,6 @@ "url": "https://paypal.me/faisalman" } ], - "license": "MIT", "engines": { "node": "*" } @@ -25235,7 +25247,7 @@ "lodash.set": "^4.3.2", "memoize-one": "^5.1.1", "memoizee": "^0.4.15", - "plotly.js": "^2.18.0", + "plotly.js": "^2.18.2", "prop-types": "^15.7.2", "react-plotly.js": "^2.6.0" }, @@ -27253,7 +27265,7 @@ "lodash.set": "^4.3.2", "memoize-one": "^5.1.1", "memoizee": "^0.4.15", - "plotly.js": "^2.18.0", + "plotly.js": "^2.18.2", "prop-types": "^15.7.2", "react-plotly.js": "^2.6.0" } @@ -30361,7 +30373,9 @@ } }, "@plotly/d3": { - "version": "3.8.0" + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/@plotly/d3/-/d3-3.8.1.tgz", + "integrity": "sha512-x49ThEu1FRA00kTso4Jdfyf2byaCPLBGmLjAYQz5OzaPyLUhHesX3/Nfv2OHEhynhdy2UB39DLXq6thYe2L2kg==" }, "@plotly/d3-sankey": { "version": "0.7.2", @@ -30873,9 +30887,9 @@ "version": "4.0.0" }, "@types/plotly.js": { - "version": "2.12.13", - "resolved": "https://registry.npmjs.org/@types/plotly.js/-/plotly.js-2.12.13.tgz", - "integrity": "sha512-p/xo8LuJMxSvT/szkjgUJVlopRu049NZ+p46MpcSlovmO6tIgyzldm8kLUo9p24XE/5iZzGSTtvIUQjLwIUQxw==", + "version": "2.12.18", + "resolved": "https://registry.npmjs.org/@types/plotly.js/-/plotly.js-2.12.18.tgz", + "integrity": "sha512-ff+CIEWnqZNjZqHtQZvkEAVuLs9fkm1f54QnPVmgoET7wMHdSqUka2hasVN4e5yfHD05YwGjsAtCseewJh/BMw==", "dev": true }, "@types/pouchdb-adapter-http": { @@ -33496,7 +33510,9 @@ "version": "1.0.7" }, "d3-color": { - "version": "1.4.1" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==" }, "d3-dispatch": { "version": "1.0.6" @@ -33537,9 +33553,11 @@ "version": "1.1.9" }, "d3-interpolate": { - "version": "1.4.0", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", "requires": { - "d3-color": "1" + "d3-color": "1 - 3" } }, "d3-path": { @@ -35912,7 +35930,9 @@ "dev": true }, "http-cache-semantics": { - "version": "4.1.0", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, "http-errors": { @@ -41171,11 +41191,11 @@ "dev": true }, "plotly.js": { - "version": "2.18.0", - "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.18.0.tgz", - "integrity": "sha512-EauUKlr03yI7v2K2BA0NobvJb1Na+uid0ZFKbLehpiR/WSnGO7tf5/cKnXl4TEqGYKnytj07Poek6JlXZC3jbg==", + "version": "2.18.2", + "resolved": "https://registry.npmjs.org/plotly.js/-/plotly.js-2.18.2.tgz", + "integrity": "sha512-Z8ZgWNfjeIEYxt/PCfpKZoWMxWylGYiuz28W2frUwEeTEcnnspi+JveC3IWYGmlq6dS3AWlJiZOJWJgdrJjCmA==", "requires": { - "@plotly/d3": "3.8.0", + "@plotly/d3": "3.8.1", "@plotly/d3-sankey": "0.7.2", "@plotly/d3-sankey-circular": "0.33.1", "@turf/area": "^6.4.0", @@ -41192,7 +41212,7 @@ "d3-geo": "^1.12.1", "d3-geo-projection": "^2.9.0", "d3-hierarchy": "^1.1.9", - "d3-interpolate": "^1.4.0", + "d3-interpolate": "^3.0.1", "d3-time": "^1.1.0", "d3-time-format": "^2.2.3", "fast-isnumeric": "^1.1.4", @@ -43632,7 +43652,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } @@ -43717,7 +43739,9 @@ "integrity": "sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==" }, "ua-parser-js": { - "version": "0.7.31", + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", + "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==", "dev": true }, "uglify-js": { diff --git a/package.json b/package.json index 78182c676f..9e4750707f 100644 --- a/package.json +++ b/package.json @@ -88,7 +88,7 @@ "@types/memoizee": "^0.4.5", "@types/node": "^16.11.7", "@types/papaparse": "5.3.2", - "@types/plotly.js": "^2.12.13", + "@types/plotly.js": "^2.12.18", "@types/pouchdb-browser": "^6.1.3", "@types/prop-types": "^15.7.3", "@types/react": "^17.0.2", diff --git a/packages/chart/package.json b/packages/chart/package.json index 845e038ed4..f79223e381 100644 --- a/packages/chart/package.json +++ b/packages/chart/package.json @@ -32,7 +32,7 @@ "lodash.set": "^4.3.2", "memoize-one": "^5.1.1", "memoizee": "^0.4.15", - "plotly.js": "^2.18.0", + "plotly.js": "^2.18.2", "prop-types": "^15.7.2", "react-plotly.js": "^2.6.0" }, diff --git a/packages/chart/src/ChartUtils.ts b/packages/chart/src/ChartUtils.ts index 9c3ef158e8..0f76126b3a 100644 --- a/packages/chart/src/ChartUtils.ts +++ b/packages/chart/src/ChartUtils.ts @@ -30,7 +30,7 @@ import { ErrorBar, LayoutAxis, AxisType as PlotlyAxisType, - OhclData, + OhlcData, MarkerSymbol, } from 'plotly.js'; import { assertNotNull, Range } from '@deephaven/utils'; @@ -780,10 +780,10 @@ class ChartUtils { }); } } else if (plotStyle === dh.plot.SeriesPlotStyle.OHLC) { - (seriesData as Partial).increasing = { + (seriesData as Partial).increasing = { line: { color: theme.ohlc_increasing }, }; - (seriesData as Partial).decreasing = { + (seriesData as Partial).decreasing = { line: { color: theme.ohlc_decreasing }, }; } else if (plotStyle === dh.plot.SeriesPlotStyle.PIE) {