From 7c8e76173b789e39bf95ce2e2b0dbf92528b32fd Mon Sep 17 00:00:00 2001 From: Sam Nolan Date: Tue, 15 Feb 2022 17:19:33 +1100 Subject: [PATCH] Add multiple or none results --- packages/components/package-lock.json | 226 +++++++++++++-- packages/components/package.json | 7 +- packages/components/src/lib.ts | 1 + .../src/stories/SquiggleChart.js.map | 1 + .../src/stories/SquiggleChart.stories.js | 18 ++ .../src/stories/SquiggleChart.stories.js.map | 1 + .../components/src/stories/SquiggleChart.tsx | 269 +++++++++--------- packages/components/tsconfig.json | 4 + packages/components/yarn.lock | 78 ++++- 9 files changed, 446 insertions(+), 159 deletions(-) create mode 100644 packages/components/src/lib.ts create mode 100644 packages/components/src/stories/SquiggleChart.js.map create mode 100644 packages/components/src/stories/SquiggleChart.stories.js create mode 100644 packages/components/src/stories/SquiggleChart.stories.js.map diff --git a/packages/components/package-lock.json b/packages/components/package-lock.json index 0bc426ce..32427373 100644 --- a/packages/components/package-lock.json +++ b/packages/components/package-lock.json @@ -25,7 +25,8 @@ "tsconfig-paths-webpack-plugin": "^3.5.2", "typescript": "^4.5.5", "vega-embed": "^6.20.6", - "web-vitals": "^2.1.4" + "web-vitals": "^2.1.4", + "webpack-cli": "^4.9.2" }, "devDependencies": { "@storybook/addon-actions": "^6.4.18", @@ -2135,7 +2136,6 @@ "version": "0.5.6", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true, "engines": { "node": ">=10.0.0" } @@ -12302,6 +12302,39 @@ "@xtuc/long": "4.2.2" } }, + "node_modules/@webpack-cli/configtest": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", + "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", + "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "dependencies": { + "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", + "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -14444,7 +14477,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -16626,6 +16658,17 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -17917,6 +17960,11 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, + "node_modules/fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" + }, "node_modules/fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", @@ -19701,7 +19749,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true, "engines": { "node": ">= 0.10" } @@ -20125,7 +20172,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "dependencies": { "isobject": "^3.0.1" }, @@ -20301,7 +20347,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -26509,6 +26554,17 @@ "node": ">=8.10.0" } }, + "node_modules/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/recursive-readdir": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", @@ -27837,7 +27893,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, "dependencies": { "kind-of": "^6.0.2" }, @@ -31283,6 +31338,56 @@ } } }, + "node_modules/webpack-cli": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", + "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.1.1", + "@webpack-cli/info": "^1.4.1", + "@webpack-cli/serve": "^1.6.1", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "@webpack-cli/migrate": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, "node_modules/webpack-dev-middleware": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", @@ -31569,6 +31674,18 @@ "node": ">=10.13.0" } }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", @@ -31733,6 +31850,11 @@ "node": ">=8" } }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" + }, "node_modules/word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", @@ -33644,8 +33766,7 @@ "@discoveryjs/json-ext": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz", - "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", - "dev": true + "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==" }, "@emotion/cache": { "version": "10.0.29", @@ -41581,6 +41702,26 @@ "@xtuc/long": "4.2.2" } }, + "@webpack-cli/configtest": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", + "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "requires": {} + }, + "@webpack-cli/info": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", + "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", + "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "requires": {} + }, "@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", @@ -43243,7 +43384,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, "requires": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -44985,6 +45125,11 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" + }, "errno": { "version": "0.1.8", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", @@ -45970,6 +46115,11 @@ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" + }, "fastq": { "version": "1.13.0", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", @@ -47318,8 +47468,7 @@ "interpret": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", - "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", - "dev": true + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==" }, "invariant": { "version": "2.2.4", @@ -47598,7 +47747,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, "requires": { "isobject": "^3.0.1" } @@ -47717,8 +47865,7 @@ "isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "istanbul-lib-coverage": { "version": "3.2.0", @@ -52265,6 +52412,14 @@ "picomatch": "^2.2.1" } }, + "rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "requires": { + "resolve": "^1.9.0" + } + }, "recursive-readdir": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", @@ -53301,7 +53456,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, "requires": { "kind-of": "^6.0.2" } @@ -56110,6 +56264,32 @@ } } }, + "webpack-cli": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", + "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.1.1", + "@webpack-cli/info": "^1.4.1", + "@webpack-cli/serve": "^1.6.1", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + } + } + }, "webpack-dev-middleware": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz", @@ -56307,6 +56487,15 @@ } } }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, "webpack-sources": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", @@ -56423,6 +56612,11 @@ "string-width": "^4.0.0" } }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" + }, "word-wrap": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", diff --git a/packages/components/package.json b/packages/components/package.json index fb779556..27afca7e 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -21,7 +21,8 @@ "tsconfig-paths-webpack-plugin": "^3.5.2", "typescript": "^4.5.5", "vega-embed": "^6.20.6", - "web-vitals": "^2.1.4" + "web-vitals": "^2.1.4", + "webpack-cli": "^4.9.2" }, "scripts": { "start": "react-scripts start", @@ -69,5 +70,7 @@ "@storybook/preset-create-react-app": "^4.0.0", "@storybook/react": "^6.4.18", "webpack": "^5.68.0" - } + }, + "main": "dist/lib.js", + "types": "dist/lib.d.ts" } diff --git a/packages/components/src/lib.ts b/packages/components/src/lib.ts new file mode 100644 index 00000000..732d2691 --- /dev/null +++ b/packages/components/src/lib.ts @@ -0,0 +1 @@ +export { SquiggleChart } from './stories/SquiggleChart' diff --git a/packages/components/src/stories/SquiggleChart.js.map b/packages/components/src/stories/SquiggleChart.js.map new file mode 100644 index 00000000..b344b505 --- /dev/null +++ b/packages/components/src/stories/SquiggleChart.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SquiggleChart.js","sourceRoot":"","sources":["SquiggleChart.tsx"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/packages/components/src/stories/SquiggleChart.stories.js b/packages/components/src/stories/SquiggleChart.stories.js new file mode 100644 index 00000000..dc04a76c --- /dev/null +++ b/packages/components/src/stories/SquiggleChart.stories.js @@ -0,0 +1,18 @@ +"use strict"; +exports.__esModule = true; +exports.Default = void 0; +var React = require("react"); +var SquiggleChart_1 = require("./SquiggleChart"); +exports["default"] = { + title: 'Example/SquiggleChart', + component: SquiggleChart_1.SquiggleChart +}; +var Template = function (_a) { + var squiggleString = _a.squiggleString; + return React.createElement(SquiggleChart_1.SquiggleChart, { squiggleString: squiggleString }); +}; +exports.Default = Template.bind({}); +exports.Default.args = { + squiggleString: "normal(5, 2)" +}; +//# sourceMappingURL=SquiggleChart.stories.js.map \ No newline at end of file diff --git a/packages/components/src/stories/SquiggleChart.stories.js.map b/packages/components/src/stories/SquiggleChart.stories.js.map new file mode 100644 index 00000000..1b0db844 --- /dev/null +++ b/packages/components/src/stories/SquiggleChart.stories.js.map @@ -0,0 +1 @@ +{"version":3,"file":"SquiggleChart.stories.js","sourceRoot":"","sources":["SquiggleChart.stories.tsx"],"names":[],"mappings":";;;AAAA,6BAA8B;AAC9B,iDAA+C;AAG/C,qBAAe;IACb,KAAK,EAAE,uBAAuB;IAC9B,SAAS,EAAE,6BAAa;CACzB,CAAA;AAED,IAAM,QAAQ,GAAG,UAAC,EAAgB;QAAf,cAAc,oBAAA;IAAM,OAAA,oBAAC,6BAAa,IAAC,cAAc,EAAE,cAAc,GAAI;AAAjD,CAAiD,CAAA;AAE3E,QAAA,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AACxC,eAAO,CAAC,IAAI,GAAG;IACb,cAAc,EAAE,cAAc;CAC/B,CAAC"} \ No newline at end of file diff --git a/packages/components/src/stories/SquiggleChart.tsx b/packages/components/src/stories/SquiggleChart.tsx index 6f21f80d..31531091 100644 --- a/packages/components/src/stories/SquiggleChart.tsx +++ b/packages/components/src/stories/SquiggleChart.tsx @@ -1,7 +1,6 @@ import * as React from 'react'; import * as PropTypes from 'prop-types'; import * as _ from 'lodash'; -import './button.css'; import type { Spec } from 'vega'; import { run } from '@squiggle/squiggle-lang'; import type { DistPlus } from '@squiggle/squiggle-lang'; @@ -19,152 +18,148 @@ let SquigglePercentilesChart = createClassFromSpec({'spec': percentilesSpec as S export const SquiggleChart = ({ squiggleString }: { squiggleString: string}) => { let result = run(squiggleString); + console.log(result) if (result.tag === "Ok") { - let chartResult = result.value[0]; - if(chartResult["NAME"] === "Float"){ - return ; - } - else if(chartResult["NAME"] === "DistPlus"){ - let shape = chartResult.VAL.shape; - if(shape.tag === "Continuous"){ - let xyShape = shape.value.xyShape; - let totalY = xyShape.ys.reduce((a, b) => a + b); - let total = 0; - let cdf = xyShape.ys.map(y => { - total += y; - return total / totalY; - }) - console.log(cdf) - let values = _.zip(cdf, xyShape.xs, xyShape.ys).map(([c, x, y ]) => ({cdf: (c * 100).toFixed(2) + "%", x: x, y: y})); - - return ( - - ); + let chartResults = result.value.map(chartResult => { + console.log(chartResult) + if(chartResult["NAME"] === "Float"){ + return ; } - else if(shape.tag === "Discrete"){ - let xyShape = shape.value.xyShape; - let totalY = xyShape.ys.reduce((a, b) => a + b); - let total = 0; - let cdf = xyShape.ys.map(y => { - total += y; - return total / totalY; - }) - let values = _.zip(cdf, xyShape.xs, xyShape.ys).map(([c, x,y]) => ({cdf: (c * 100).toFixed(2) + "%", x: x, y: y})); + else if(chartResult["NAME"] === "DistPlus"){ + let shape = chartResult.VAL.shape; + if(shape.tag === "Continuous"){ + let xyShape = shape.value.xyShape; + let totalY = xyShape.ys.reduce((a, b) => a + b); + let total = 0; + let cdf = xyShape.ys.map(y => { + total += y; + return total / totalY; + }) + let values = _.zip(cdf, xyShape.xs, xyShape.ys).map(([c, x, y ]) => ({cdf: (c * 100).toFixed(2) + "%", x: x, y: y})); - return ( - - ); - } - else if(shape.tag === "Mixed"){ - console.log(shape) - console.log(shape.value.continuous.integralSumCache) - let discreteShape = shape.value.discrete.xyShape; - let totalDiscrete = discreteShape.ys.reduce((a, b) => a + b); - - let discretePoints = _.zip(discreteShape.xs, discreteShape.ys); - let continuousShape = shape.value.continuous.xyShape; - let continuousPoints = _.zip(continuousShape.xs, continuousShape.ys); - - interface labeledPoint { - x: number, - y: number, - type: "discrete" | "continuous" - }; - - let markedDisPoints : labeledPoint[] = discretePoints.map(([x,y]) => ({x: x, y: y, type: "discrete"})) - let markedConPoints : labeledPoint[] = continuousPoints.map(([x,y]) => ({x: x, y: y, type: "continuous"})) - - let sortedPoints = _.sortBy(markedDisPoints.concat(markedConPoints), 'x') - - let totalContinuous = 1 - totalDiscrete; - let totalY = continuousShape.ys.reduce((a:number, b:number) => a + b); - - let total = 0; - let cdf = sortedPoints.map((point: labeledPoint) => { - if(point.type == "discrete") { - total += point.y; - return total; - } - else if (point.type == "continuous") { - total += point.y / totalY * totalContinuous; - return total; - } - }); - - interface cdfLabeledPoint { - cdf: string, - x: number, - y: number, - type: "discrete" | "continuous" + return ( + + ); } - let cdfLabeledPoint : cdfLabeledPoint[] = _.zipWith(cdf, sortedPoints, (c: number, point: labeledPoint) => ({...point, cdf: (c * 100).toFixed(2) + "%"})) - let continuousValues = cdfLabeledPoint.filter(x => x.type == "continuous") - let discreteValues = cdfLabeledPoint.filter(x => x.type == "discrete") + else if(shape.tag === "Discrete"){ + let xyShape = shape.value.xyShape; + let totalY = xyShape.ys.reduce((a, b) => a + b); + let total = 0; + let cdf = xyShape.ys.map(y => { + total += y; + return total / totalY; + }) + let values = _.zip(cdf, xyShape.xs, xyShape.ys).map(([c, x,y]) => ({cdf: (c * 100).toFixed(2) + "%", x: x, y: y})); - return ( - - ); + return ( + + ); } - } - else if(chartResult.NAME === "Function"){ - console.log("Function time") - // We are looking at a function. In this case, we draw a Percentiles chart - let data = _.range(0,10,0.1).map((_,i) => { - let x = i /10; - console.log(chartResult); - console.log("Run thing") - if(chartResult.NAME=="Function"){ - let result = chartResult.VAL(x); - console.log(result); - if(result.tag == "Ok"){ - let percentileArray = [ - 0.01, - 0.05, - 0.1, - 0.2, - 0.3, - 0.4, - 0.5, - 0.6, - 0.7, - 0.8, - 0.9, - 0.95, - 0.99 - ] - - let percentiles = getPercentiles(percentileArray, result.value); - return { - "x": x, - "p1": percentiles[0], - "p5": percentiles[1], - "p10": percentiles[2], - "p20": percentiles[3], - "p30": percentiles[4], - "p40": percentiles[5], - "p50": percentiles[6], - "p60": percentiles[7], - "p70": percentiles[8], - "p80": percentiles[9], - "p90": percentiles[10], - "p95": percentiles[11], - "p99": percentiles[12] - } + else if(shape.tag === "Mixed"){ + let discreteShape = shape.value.discrete.xyShape; + let totalDiscrete = discreteShape.ys.reduce((a, b) => a + b); - } + let discretePoints = _.zip(discreteShape.xs, discreteShape.ys); + let continuousShape = shape.value.continuous.xyShape; + let continuousPoints = _.zip(continuousShape.xs, continuousShape.ys); + interface labeledPoint { + x: number, + y: number, + type: "discrete" | "continuous" + }; + + let markedDisPoints : labeledPoint[] = discretePoints.map(([x,y]) => ({x: x, y: y, type: "discrete"})) + let markedConPoints : labeledPoint[] = continuousPoints.map(([x,y]) => ({x: x, y: y, type: "continuous"})) + + let sortedPoints = _.sortBy(markedDisPoints.concat(markedConPoints), 'x') + + let totalContinuous = 1 - totalDiscrete; + let totalY = continuousShape.ys.reduce((a:number, b:number) => a + b); + + let total = 0; + let cdf = sortedPoints.map((point: labeledPoint) => { + if(point.type == "discrete") { + total += point.y; + return total; } - return 0; - }) - console.log(data); - return + else if (point.type == "continuous") { + total += point.y / totalY * totalContinuous; + return total; + } + }); + + interface cdfLabeledPoint { + cdf: string, + x: number, + y: number, + type: "discrete" | "continuous" + } + let cdfLabeledPoint : cdfLabeledPoint[] = _.zipWith(cdf, sortedPoints, (c: number, point: labeledPoint) => ({...point, cdf: (c * 100).toFixed(2) + "%"})) + let continuousValues = cdfLabeledPoint.filter(x => x.type == "continuous") + let discreteValues = cdfLabeledPoint.filter(x => x.type == "discrete") + + return ( + + ); + } } + else if(chartResult.NAME === "Function"){ + // We are looking at a function. In this case, we draw a Percentiles chart + let data = _.range(0,10,0.1).map((_,i) => { + let x = i /10; + if(chartResult.NAME=="Function"){ + let result = chartResult.VAL(x); + if(result.tag == "Ok"){ + let percentileArray = [ + 0.01, + 0.05, + 0.1, + 0.2, + 0.3, + 0.4, + 0.5, + 0.6, + 0.7, + 0.8, + 0.9, + 0.95, + 0.99 + ] + + let percentiles = getPercentiles(percentileArray, result.value); + return { + "x": x, + "p1": percentiles[0], + "p5": percentiles[1], + "p10": percentiles[2], + "p20": percentiles[3], + "p30": percentiles[4], + "p40": percentiles[5], + "p50": percentiles[6], + "p60": percentiles[7], + "p70": percentiles[8], + "p80": percentiles[9], + "p90": percentiles[10], + "p95": percentiles[11], + "p99": percentiles[12] + } + + } + + } + return 0; + }) + return + } + }) + return <>{chartResults}; } else if(result.tag == "Error") { // At this point, we came across an error. What was our error? diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json index d4c8ee3d..6e84ad51 100644 --- a/packages/components/tsconfig.json +++ b/packages/components/tsconfig.json @@ -6,8 +6,12 @@ "removeComments": true, "preserveConstEnums": true, "resolveJsonModule": true, + "outDir": "./dist", + "declarationDir": "./dist", + "declaration": true, "sourceMap": true }, + "target": "ES6", "include": ["src/**/*"], "exclude": ["node_modules", "**/*.spec.ts"] } diff --git a/packages/components/yarn.lock b/packages/components/yarn.lock index c69ef9c0..d488df95 100644 --- a/packages/components/yarn.lock +++ b/packages/components/yarn.lock @@ -1207,7 +1207,7 @@ dependencies: "postcss-value-parser" "^4.2.0" -"@discoveryjs/json-ext@^0.5.3": +"@discoveryjs/json-ext@^0.5.0", "@discoveryjs/json-ext@^0.5.3": "integrity" "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==" "resolved" "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.6.tgz" "version" "0.5.6" @@ -3695,6 +3695,23 @@ "@webassemblyjs/wast-parser" "1.9.0" "@xtuc/long" "4.2.2" +"@webpack-cli/configtest@^1.1.1": + "integrity" "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==" + "resolved" "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz" + "version" "1.1.1" + +"@webpack-cli/info@^1.4.1": + "integrity" "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==" + "resolved" "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz" + "version" "1.4.1" + dependencies: + "envinfo" "^7.7.3" + +"@webpack-cli/serve@^1.6.1": + "integrity" "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==" + "resolved" "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz" + "version" "1.6.1" + "@xtuc/ieee754@^1.2.0": "integrity" "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" "resolved" "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" @@ -5201,7 +5218,7 @@ "resolved" "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz" "version" "1.4.0" -"colorette@^2.0.10": +"colorette@^2.0.10", "colorette@^2.0.14": "integrity" "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==" "resolved" "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz" "version" "2.0.16" @@ -5243,6 +5260,11 @@ "resolved" "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" "version" "6.2.1" +"commander@^7.0.0": + "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" + "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" + "version" "7.2.0" + "commander@^7.2.0": "integrity" "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==" "resolved" "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" @@ -6492,6 +6514,11 @@ "resolved" "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz" "version" "2.2.0" +"envinfo@^7.7.3": + "integrity" "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==" + "resolved" "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz" + "version" "7.8.1" + "errno@^0.1.3", "errno@~0.1.7": "integrity" "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==" "resolved" "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz" @@ -7104,6 +7131,11 @@ "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" "version" "2.0.6" +"fastest-levenshtein@^1.0.12": + "integrity" "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==" + "resolved" "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz" + "version" "1.0.12" + "fastq@^1.6.0": "integrity" "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==" "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" @@ -12197,6 +12229,13 @@ dependencies: "picomatch" "^2.2.1" +"rechoir@^0.7.0": + "integrity" "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==" + "resolved" "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz" + "version" "0.7.1" + dependencies: + "resolve" "^1.9.0" + "recursive-readdir@^2.2.2": "integrity" "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==" "resolved" "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz" @@ -12458,7 +12497,7 @@ "resolved" "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz" "version" "1.1.0" -"resolve@^1.1.10", "resolve@^1.10.0", "resolve@^1.12.0", "resolve@^1.14.2", "resolve@^1.19.0", "resolve@^1.20.0", "resolve@^1.22.0", "resolve@^1.3.2": +"resolve@^1.1.10", "resolve@^1.10.0", "resolve@^1.12.0", "resolve@^1.14.2", "resolve@^1.19.0", "resolve@^1.20.0", "resolve@^1.22.0", "resolve@^1.3.2", "resolve@^1.9.0": "integrity" "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==" "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz" "version" "1.22.0" @@ -14784,6 +14823,24 @@ "resolved" "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz" "version" "6.1.0" +"webpack-cli@^4.9.2", "webpack-cli@4.x.x": + "integrity" "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==" + "resolved" "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz" + "version" "4.9.2" + dependencies: + "@discoveryjs/json-ext" "^0.5.0" + "@webpack-cli/configtest" "^1.1.1" + "@webpack-cli/info" "^1.4.1" + "@webpack-cli/serve" "^1.6.1" + "colorette" "^2.0.14" + "commander" "^7.0.0" + "execa" "^5.0.0" + "fastest-levenshtein" "^1.0.12" + "import-local" "^3.0.2" + "interpret" "^2.2.0" + "rechoir" "^0.7.0" + "webpack-merge" "^5.7.3" + "webpack-dev-middleware@^3.7.3": "integrity" "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==" "resolved" "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz" @@ -14885,6 +14942,14 @@ "tapable" "^2.0.0" "webpack-sources" "^2.2.0" +"webpack-merge@^5.7.3": + "integrity" "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==" + "resolved" "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz" + "version" "5.8.0" + dependencies: + "clone-deep" "^4.0.1" + "wildcard" "^2.0.0" + "webpack-sources@^1.4.0", "webpack-sources@^1.4.1", "webpack-sources@^1.4.3": "integrity" "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==" "resolved" "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz" @@ -14918,7 +14983,7 @@ "resolved" "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.3.tgz" "version" "0.4.3" -"webpack@*", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.4.0 || ^5.9.0", "webpack@^4.44.2 || ^5.47.0", "webpack@^5.0.0", "webpack@^5.1.0", "webpack@^5.20.0", "webpack@^5.64.4", "webpack@^5.68.0", "webpack@^5.9.0", "webpack@>= 4", "webpack@>=2", "webpack@>=4.43.0 <6.0.0": +"webpack@*", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", "webpack@^4.4.0 || ^5.9.0", "webpack@^4.44.2 || ^5.47.0", "webpack@^5.0.0", "webpack@^5.1.0", "webpack@^5.20.0", "webpack@^5.64.4", "webpack@^5.68.0", "webpack@^5.9.0", "webpack@>= 4", "webpack@>=2", "webpack@>=4.43.0 <6.0.0", "webpack@4.x.x || 5.x.x": "integrity" "sha512-zUcqaUO0772UuuW2bzaES2Zjlm/y3kRBQDVFVCge+s2Y8mwuUTdperGaAv65/NtRL/1zanpSJOq/MD8u61vo6g==" "resolved" "https://registry.npmjs.org/webpack/-/webpack-5.68.0.tgz" "version" "5.68.0" @@ -15080,6 +15145,11 @@ dependencies: "string-width" "^4.0.0" +"wildcard@^2.0.0": + "integrity" "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==" + "resolved" "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz" + "version" "2.0.0" + "word-wrap@^1.2.3", "word-wrap@~1.2.3": "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz"