@carbon/charts 0.29.1 → 0.29.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/LICENSE.md +201 -0
- package/{src/axis-chart.d.ts → axis-chart.d.ts} +0 -0
- package/{src/axis-chart.js → axis-chart.js} +9 -2
- package/axis-chart.js.map +1 -0
- package/bundle.js +1 -25
- package/{src/chart.d.ts → chart.d.ts} +0 -0
- package/{src/chart.js → chart.js} +9 -2
- package/chart.js.map +1 -0
- package/{src/charts → charts}/bar-grouped.d.ts +0 -0
- package/{src/charts → charts}/bar-grouped.js +1 -1
- package/{src/charts → charts}/bar-grouped.js.map +0 -0
- package/{src/charts → charts}/bar-simple.d.ts +0 -0
- package/{src/charts → charts}/bar-simple.js +1 -1
- package/{src/charts → charts}/bar-simple.js.map +0 -0
- package/{src/charts → charts}/bar-stacked.d.ts +0 -0
- package/{src/charts → charts}/bar-stacked.js +1 -1
- package/{src/charts → charts}/bar-stacked.js.map +0 -0
- package/{src/charts → charts}/bubble.d.ts +0 -0
- package/{src/charts → charts}/bubble.js +1 -1
- package/{src/charts → charts}/bubble.js.map +0 -0
- package/{src/charts → charts}/donut.d.ts +0 -0
- package/{src/charts → charts}/donut.js +1 -1
- package/{src/charts → charts}/donut.js.map +0 -0
- package/{src/charts → charts}/index.d.ts +0 -0
- package/{src/charts → charts}/index.js +1 -1
- package/{src/charts → charts}/index.js.map +0 -0
- package/{src/charts → charts}/line.d.ts +0 -0
- package/{src/charts → charts}/line.js +1 -1
- package/{src/charts → charts}/line.js.map +0 -0
- package/{src/charts → charts}/pie.d.ts +0 -0
- package/{src/charts → charts}/pie.js +1 -1
- package/{src/charts → charts}/pie.js.map +0 -0
- package/{src/charts → charts}/scatter.d.ts +0 -0
- package/{src/charts → charts}/scatter.js +1 -1
- package/{src/charts → charts}/scatter.js.map +0 -0
- package/{src/components → components}/axes/axis.d.ts +0 -0
- package/{src/components → components}/axes/axis.js +1 -1
- package/{src/components → components}/axes/axis.js.map +0 -0
- package/{src/components → components}/axes/grid.d.ts +0 -0
- package/{src/components → components}/axes/grid.js +1 -1
- package/{src/components → components}/axes/grid.js.map +0 -0
- package/{src/components → components}/axes/two-dimensional-axes.d.ts +0 -0
- package/{src/components → components}/axes/two-dimensional-axes.js +1 -1
- package/{src/components → components}/axes/two-dimensional-axes.js.map +0 -0
- package/{src/components → components}/axes/zero-line.d.ts +0 -0
- package/{src/components → components}/axes/zero-line.js +1 -1
- package/{src/components → components}/axes/zero-line.js.map +0 -0
- package/{src/components → components}/component.d.ts +0 -0
- package/{src/components → components}/component.js +1 -1
- package/{src/components → components}/component.js.map +0 -0
- package/{src/components → components}/essentials/legend.d.ts +0 -0
- package/{src/components → components}/essentials/legend.js +1 -1
- package/{src/components → components}/essentials/legend.js.map +0 -0
- package/{src/components → components}/essentials/title.d.ts +0 -0
- package/{src/components → components}/essentials/title.js +1 -1
- package/{src/components → components}/essentials/title.js.map +0 -0
- package/{src/components → components}/essentials/tooltip-bar.d.ts +0 -0
- package/{src/components → components}/essentials/tooltip-bar.js +1 -1
- package/{src/components → components}/essentials/tooltip-bar.js.map +0 -0
- package/{src/components → components}/essentials/tooltip-scatter.d.ts +0 -0
- package/{src/components → components}/essentials/tooltip-scatter.js +1 -1
- package/{src/components → components}/essentials/tooltip-scatter.js.map +0 -0
- package/{src/components → components}/essentials/tooltip.d.ts +0 -0
- package/{src/components → components}/essentials/tooltip.js +1 -1
- package/{src/components → components}/essentials/tooltip.js.map +0 -0
- package/{src/components → components}/graphs/bar-grouped.d.ts +0 -0
- package/{src/components → components}/graphs/bar-grouped.js +1 -1
- package/{src/components → components}/graphs/bar-grouped.js.map +0 -0
- package/{src/components → components}/graphs/bar-simple.d.ts +0 -0
- package/{src/components → components}/graphs/bar-simple.js +1 -1
- package/{src/components → components}/graphs/bar-simple.js.map +0 -0
- package/{src/components → components}/graphs/bar-stacked.d.ts +0 -0
- package/{src/components → components}/graphs/bar-stacked.js +1 -1
- package/{src/components → components}/graphs/bar-stacked.js.map +0 -0
- package/{src/components → components}/graphs/bar.d.ts +0 -0
- package/{src/components → components}/graphs/bar.js +1 -1
- package/{src/components → components}/graphs/bar.js.map +0 -0
- package/{src/components → components}/graphs/bubble.d.ts +0 -0
- package/{src/components → components}/graphs/bubble.js +1 -1
- package/{src/components → components}/graphs/bubble.js.map +0 -0
- package/{src/components → components}/graphs/donut.d.ts +0 -0
- package/{src/components → components}/graphs/donut.js +1 -1
- package/{src/components → components}/graphs/donut.js.map +0 -0
- package/{src/components → components}/graphs/line.d.ts +0 -0
- package/{src/components → components}/graphs/line.js +1 -1
- package/{src/components → components}/graphs/line.js.map +0 -0
- package/{src/components → components}/graphs/pie.d.ts +0 -0
- package/{src/components → components}/graphs/pie.js +1 -1
- package/{src/components → components}/graphs/pie.js.map +0 -0
- package/{src/components → components}/graphs/scatter.d.ts +0 -0
- package/{src/components → components}/graphs/scatter.js +1 -1
- package/{src/components → components}/graphs/scatter.js.map +0 -0
- package/{src/components → components}/index.d.ts +0 -0
- package/{src/components → components}/index.js +1 -1
- package/{src/components → components}/index.js.map +0 -0
- package/{src/components → components}/layout/layout.d.ts +0 -0
- package/{src/components → components}/layout/layout.js +1 -1
- package/{src/components → components}/layout/layout.js.map +0 -0
- package/{src/components → components}/layout/spacer.d.ts +0 -0
- package/{src/components → components}/layout/spacer.js +1 -1
- package/{src/components → components}/layout/spacer.js.map +0 -0
- package/{src/configuration.d.ts → configuration.d.ts} +0 -0
- package/{src/configuration.js → configuration.js} +1 -1
- package/{src/configuration.js.map → configuration.js.map} +0 -0
- package/demo/demo-data/bundle.js +1 -0
- package/demo/demo-data/create-codesandbox.d.ts +2 -2
- package/demo/demo-data/create-codesandbox.js +1 -1
- package/demo/demo-data/create-codesandbox.js.map +1 -1
- package/demo/demo-data/step.js +1 -1
- package/demo/demo-data/step.js.map +1 -1
- package/demo/demo-options.d.ts +2 -0
- package/demo/demo-options.js +43 -0
- package/demo/demo-options.js.map +1 -0
- package/demo/index.d.ts +1 -0
- package/demo/index.js +128 -0
- package/demo/index.js.map +1 -0
- package/demo/tsconfig.tsbuildinfo +2801 -0
- package/{src/index.d.ts → index.d.ts} +0 -0
- package/index.js +9 -25
- package/{src/index.js.map → index.js.map} +0 -0
- package/{src/interfaces → interfaces}/a11y.d.ts +0 -0
- package/{src/interfaces → interfaces}/a11y.js +1 -1
- package/{src/interfaces → interfaces}/a11y.js.map +0 -0
- package/{src/interfaces → interfaces}/axis-scales.d.ts +0 -0
- package/interfaces/axis-scales.js +1 -0
- package/{src/interfaces → interfaces}/axis-scales.js.map +0 -0
- package/{src/interfaces → interfaces}/charts.d.ts +0 -0
- package/interfaces/charts.js +1 -0
- package/{src/interfaces → interfaces}/charts.js.map +0 -0
- package/{src/interfaces → interfaces}/components.d.ts +0 -0
- package/interfaces/components.js +1 -0
- package/{src/interfaces → interfaces}/components.js.map +0 -0
- package/{src/interfaces → interfaces}/enums.d.ts +0 -0
- package/{src/interfaces → interfaces}/enums.js +1 -1
- package/{src/interfaces → interfaces}/enums.js.map +0 -0
- package/{src/interfaces → interfaces}/events.d.ts +0 -0
- package/{src/interfaces → interfaces}/events.js +1 -1
- package/{src/interfaces → interfaces}/events.js.map +0 -0
- package/{src/interfaces → interfaces}/index.d.ts +0 -0
- package/interfaces/index.js +3 -0
- package/{src/interfaces → interfaces}/index.js.map +0 -0
- package/{src/interfaces → interfaces}/layout.d.ts +0 -0
- package/interfaces/layout.js +1 -0
- package/{src/interfaces → interfaces}/layout.js.map +0 -0
- package/{src/interfaces → interfaces}/model.d.ts +0 -0
- package/interfaces/model.js +1 -0
- package/{src/interfaces → interfaces}/model.js.map +0 -0
- package/{src/model-pie.d.ts → model-pie.d.ts} +0 -0
- package/{src/model-pie.js → model-pie.js} +1 -1
- package/{src/model-pie.js.map → model-pie.js.map} +0 -0
- package/{src/model-simple-bar.d.ts → model-simple-bar.d.ts} +0 -0
- package/{src/model-simple-bar.js → model-simple-bar.js} +1 -1
- package/{src/model-simple-bar.js.map → model-simple-bar.js.map} +0 -0
- package/{src/model.d.ts → model.d.ts} +0 -0
- package/{src/model.js → model.js} +1 -1
- package/{src/model.js.map → model.js.map} +0 -0
- package/package.json +12 -8
- package/{src/polyfills.d.ts → polyfills.d.ts} +0 -0
- package/{src/polyfills.js → polyfills.js} +1 -1
- package/{src/polyfills.js.map → polyfills.js.map} +0 -0
- package/{src/services → services}/colorPalettes.d.ts +0 -0
- package/{src/services → services}/colorPalettes.js +1 -1
- package/{src/services → services}/colorPalettes.js.map +0 -0
- package/{src/services → services}/colors.d.ts +0 -0
- package/{src/services → services}/colors.js +1 -1
- package/{src/services → services}/colors.js.map +0 -0
- package/{src/services → services}/curves.d.ts +0 -0
- package/{src/services → services}/curves.js +1 -1
- package/{src/services → services}/curves.js.map +0 -0
- package/{src/services → services}/essentials/dom-utils.d.ts +0 -0
- package/{src/services → services}/essentials/dom-utils.js +1 -1
- package/{src/services → services}/essentials/dom-utils.js.map +0 -0
- package/{src/services → services}/essentials/events.d.ts +0 -0
- package/{src/services → services}/essentials/events.js +1 -1
- package/{src/services → services}/essentials/events.js.map +0 -0
- package/{src/services → services}/essentials/transitions.d.ts +0 -0
- package/{src/services → services}/essentials/transitions.js +1 -1
- package/{src/services → services}/essentials/transitions.js.map +0 -0
- package/{src/services → services}/index.d.ts +0 -0
- package/{src/services → services}/index.js +1 -1
- package/{src/services → services}/index.js.map +0 -0
- package/{src/services → services}/scales-cartesian.d.ts +0 -0
- package/{src/services → services}/scales-cartesian.js +1 -1
- package/{src/services → services}/scales-cartesian.js.map +0 -0
- package/{src/services → services}/service.d.ts +0 -0
- package/{src/services → services}/service.js +1 -1
- package/{src/services → services}/service.js.map +0 -0
- package/{src/tools.d.ts → tools.d.ts} +16 -15
- package/{src/tools.js → tools.js} +1 -1
- package/{src/tools.js.map → tools.js.map} +0 -0
- package/tsconfig.tsbuildinfo +3102 -0
- package/src/axis-chart.js.map +0 -1
- package/src/chart.js.map +0 -1
- package/src/index.js +0 -9
- package/src/interfaces/axis-scales.js +0 -1
- package/src/interfaces/charts.js +0 -1
- package/src/interfaces/components.js +0 -1
- package/src/interfaces/index.js +0 -3
- package/src/interfaces/layout.js +0 -1
- package/src/interfaces/model.js +0 -1
- package/src/tests/index.d.ts +0 -1
- package/src/tests/index.js +0 -2
- package/src/tests/index.js.map +0 -1
- package/src/tests/test-environment.d.ts +0 -13
- package/src/tests/test-environment.js +0 -32
- package/src/tests/test-environment.js.map +0 -1
- package/src/tests/tools.d.ts +0 -3
- package/src/tests/tools.js +0 -13
- package/src/tests/tools.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getParameters } from "codesandbox/lib/api/define";
|
|
2
|
-
|
|
2
|
+
var libraryVersion = require("@carbon/charts/package.json").version;
|
|
3
3
|
export var createChartSandbox = function (chartTemplate) {
|
|
4
4
|
var files = {};
|
|
5
5
|
Object.keys(chartTemplate)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-codesandbox.js","sourceRoot":"","sources":["create-codesandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"create-codesandbox.js","sourceRoot":"","sources":["create-codesandbox.ts"],"names":[],"mappings":"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","sourcesContent":["import { getParameters } from \"codesandbox/lib/api/define\";\n\nconst { version: libraryVersion } = require(\"@carbon/charts/package.json\");\n\nexport const createChartSandbox = (chartTemplate: any) => {\n\tconst files = {};\n\n\tObject.keys(chartTemplate)\n\t\t.forEach(filePath => files[filePath] = { content: chartTemplate[filePath] });\n\n\treturn `https://codesandbox.io/api/v1/sandboxes/define?parameters=${getParameters({ files })}`;\n};\n\nexport const createReactChartApp = (demo: any) => {\n\tconst chartData = JSON.stringify(demo.data, null, \"\\t\");\n\tconst chartOptions = JSON.stringify(demo.options, null, \"\\t\");\n\tconst chartComponent = demo.chartType.vanilla;\n\n\tconst indexHtml = `<div id=\"root\"></div>\n `;\n\tconst indexJs =\n\t\t`import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { ${chartComponent} } from \"@carbon/charts-react\";\nimport \"@carbon/charts/styles.css\";\n// Or\n// import \"@carbon/charts/styles/styles.scss\";\n\nclass App extends React.Component {\n\tstate = {\n\t\tdata: ${chartData},\n\t\toptions: ${chartOptions}\n\t};\n\n\trender = () => (\n\t\t<${chartComponent}\n\t\t\tdata={this.state.data}\n\t\t\toptions={this.state.options}>\n\t\t</${chartComponent}>\n\t);\n}\nReactDOM.render(<App />, document.getElementById(\"root\"));\n `;\n\tconst packageJson = {\n\t\tdependencies: {\n\t\t\t\"@carbon/charts\": libraryVersion,\n\t\t\t\"@carbon/charts-react\": libraryVersion,\n\t\t\td3: \"5.12.0\",\n\t\t\treact: \"16.12.0\",\n\t\t\t\"react-dom\": \"16.12.0\",\n\t\t\t\"react-scripts\": \"3.0.1\"\n\t\t}\n\t};\n\n\treturn {\n\t\t\"src/index.html\": indexHtml,\n\t\t\"src/index.js\": indexJs,\n\t\t\"package.json\": packageJson\n\t};\n};\n\nexport const createAngularChartApp = (demo: any) => {\n\tconst chartData = JSON.stringify(demo.data, null, \"\\t\\t\");\n\tconst chartOptions = JSON.stringify(demo.options, null, \"\\t\\t\");\n\tconst chartComponent = demo.chartType.angular;\n\n\tconst appComponentHtml = `<${chartComponent} [data]=\"data\" [options]=\"options\"></${chartComponent}>`;\n\tconst appComponentTs =\n\t\t`import { Component } from \"@angular/core\";\n@Component({\n\tselector: \"app-root\",\n\ttemplateUrl: \"./app.component.html\"\n})\nexport class AppComponent {\n\tdata = ${chartData};\n\toptions = ${chartOptions};\n}`;\n\n\tconst appModule =\n\t\t`import { NgModule } from \"@angular/core\";\nimport { BrowserModule } from \"@angular/platform-browser\";\nimport { ChartsModule } from \"@carbon/charts-angular\";\nimport { AppComponent } from \"./app.component\";\n@NgModule({\n\timports: [BrowserModule, ChartsModule],\n\tdeclarations: [AppComponent],\n\tbootstrap: [AppComponent]\n})\nexport class AppModule {}`;\n\n\tconst indexHtml =\n\t\t`<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<title>Angular</title>\n\t</head>\n\t<body>\n\t\t<app-root></app-root>\n\t</body>\n</html>`;\n\n\tconst mainTs =\n\t\t`import { platformBrowserDynamic } from \"@angular/platform-browser-dynamic\";\nimport { AppModule } from \"./app/app.module\";\nplatformBrowserDynamic()\n\t.bootstrapModule(AppModule)\n\t.catch(err => console.log(err));\n`;\n\n\tconst angularCliJson =\n\t\t`{\n\t\"apps\": [\n\t\t{\n\t\t\t\"root\": \"src\",\n\t\t\t\"outDir\": \"dist\",\n\t\t\t\"assets\": [\"assets\", \"favicon.ico\"],\n\t\t\t\"index\": \"index.html\",\n\t\t\t\"main\": \"main.ts\",\n\t\t\t\"polyfills\": \"polyfills.ts\",\n\t\t\t\"prefix\": \"app\",\n\t\t\t\"styles\": [\"styles.css\"],\n\t\t\t\"scripts\": [],\n\t\t\t\"environmentSource\": \"environments/environment.ts\",\n\t\t\t\"environments\": {\n\t\t\t\t\"dev\": \"environments/environment.ts\",\n\t\t\t\t\"prod\": \"environments/environment.prod.ts\"\n\t\t\t}\n\t\t}\n\t]\n}`;\n\n\tconst packageJson = JSON.stringify({\n\t\tdependencies: {\n\t\t\t\"@angular/animations\": \"8.2.14\",\n\t\t\t\"@angular/common\": \"8.2.14\",\n\t\t\t\"@angular/compiler\": \"8.2.14\",\n\t\t\t\"@angular/core\": \"8.2.14\",\n\t\t\t\"@angular/forms\": \"8.2.14\",\n\t\t\t\"@angular/platform-browser\": \"8.2.14\",\n\t\t\t\"@angular/platform-browser-dynamic\": \"8.2.14\",\n\t\t\t\"@angular/router\": \"8.2.14\",\n\t\t\t\"@carbon/charts\": libraryVersion,\n\t\t\t\"@carbon/charts-angular\": libraryVersion,\n\t\t\t\"core-js\": \"3.6.0\",\n\t\t\td3: \"5.15.0\",\n\t\t\trxjs: \"6.5.3\",\n\t\t\t\"zone.js\": \"0.10.2\"\n\t\t}\n\t}, null, \"\\t\");\n\n\treturn {\n\t\t\"src/index.html\": indexHtml,\n\t\t\"src/main.ts\": mainTs,\n\t\t\"src/app/app.component.html\": appComponentHtml,\n\t\t\"src/app/app.component.ts\": appComponentTs,\n\t\t\"src/app/app.module.ts\": appModule,\n\t\t\".angular-cli.json\": angularCliJson,\n\t\t\"package.json\": packageJson\n\t};\n};\n\nexport const createVueChartApp = (demo: any) => {\n\tconst chartData = JSON.stringify(demo.data, null, \"\\t\\t\");\n\tconst chartOptions = JSON.stringify(demo.options, null, \"\\t\\t\");\n\tconst chartComponent = demo.chartType.vue;\n\n\tconst chartVue =\n`<script>\nimport Vue from \"vue\";\nimport \"@carbon/charts/styles.css\";\nimport chartsVue from \"@carbon/charts-vue\";\nVue.use(chartsVue);\nexport default {\n\tname: \"Chart\",\n\tcomponents: {},\n\tdata() {\n\t\treturn {\n\t\t\tdata: ${chartData},\n\t\t\toptions: ${chartOptions}\n\t\t};\n\t},\n\ttemplate: \"<${chartComponent} :data=\"data\" :options=\"options\"></${chartComponent}>\"\n};\n</script>\n `;\n\n\tconst appVue =\n`<template>\n\t<div id=\"app\">\n\t\t<Chart/>\n\t</div>\n</template>\n<script>\nimport Chart from \"./components/chart\";\nexport default {\n\tname: \"App\",\n\tcomponents: {\n\t\tChart\n\t}\n};\n</script>\n `;\n\n\tconst mainJs =\n`import Vue from \"vue\";\nimport App from \"./App.vue\";\nVue.config.productionTip = false;\nnew Vue({\n\trender: h => h(App)\n}).$mount(\"#app\");\n`;\n\n\tconst packageJson = JSON.stringify({\n\t\tdependencies: {\n\t\t\t\"@carbon/charts\": libraryVersion,\n\t\t\t\"@carbon/charts-vue\": libraryVersion,\n\t\t\t\"@vue/cli-plugin-babel\": \"4.1.1\",\n\t\t\td3: \"5.15.0\",\n\t\t\tvue: \"^2.6.11\"\n\t\t}\n\t}, null, \"\\t\\t\");\n\n\treturn {\n\t\t\"src/components/chart.vue\": chartVue,\n\t\t\"src/App.vue\": appVue,\n\t\t\"src/main.js\": mainJs,\n\t\t\"package.json\": packageJson\n\t};\n};\n"]}
|
package/demo/demo-data/step.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step.js","sourceRoot":"","sources":["step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"step.js","sourceRoot":"","sources":["step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,OAAO,EACN,QAAQ,EACR,WAAW,EACX,kBAAkB,EAClB,qBAAqB,EACrB,MAAM,QAAQ,CAAC;AAEhB,MAAM,CAAC,IAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE;IACvD,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,gBAAgB;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,QAAQ,GAAG,QAAQ,CAAC;AAEjC,MAAM,CAAC,IAAM,qBAAqB,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,qBAAqB,EAAE;IAC3E,KAAK,EAAE,oBAAoB;IAC3B,KAAK,EAAE,gBAAgB;CACvB,CAAC,CAAC;AAEH,MAAM,CAAC,IAAM,kBAAkB,GAAG,kBAAkB,CAAC","sourcesContent":["import { Tools } from \"@carbon/charts/tools\";\n\nimport {\n\tlineData,\n\tlineOptions,\n\tlineTimeSeriesData,\n\tlineTimeSeriesOptions\n} from \"./line\";\n\nexport const stepOptions = Tools.merge({}, lineOptions, {\n\ttitle: \"Step (discrete)\",\n\tcurve: \"curveStepAfter\"\n});\n\nexport const stepData = lineData;\n\nexport const stepTimeSeriesOptions = Tools.merge({}, lineTimeSeriesOptions, {\n\ttitle: \"Step (time series)\",\n\tcurve: \"curveStepAfter\"\n});\n\nexport const stepTimeSeriesData = lineTimeSeriesData;\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export var setOrUpdateParam = function (name, value) {
|
|
2
|
+
var params = new URLSearchParams(location.search);
|
|
3
|
+
// Remove any existing "theme" param
|
|
4
|
+
if (params.has(name)) {
|
|
5
|
+
params.delete(name);
|
|
6
|
+
}
|
|
7
|
+
params.append(name, value);
|
|
8
|
+
location.search = params.toString();
|
|
9
|
+
};
|
|
10
|
+
// Theme selector
|
|
11
|
+
var initializeThemeSelector = function () {
|
|
12
|
+
var dropdownOptions = Array.prototype.slice.call(document.querySelectorAll("div.theme-selector a.bx--dropdown-link"));
|
|
13
|
+
// Set click listeners for the dropdown options
|
|
14
|
+
dropdownOptions.forEach(function (dropdownOption) {
|
|
15
|
+
dropdownOption.addEventListener("click", function (e) {
|
|
16
|
+
e.preventDefault();
|
|
17
|
+
setOrUpdateParam("theme", e.target.parentNode.getAttribute("data-value"));
|
|
18
|
+
});
|
|
19
|
+
});
|
|
20
|
+
// Set state for current theme
|
|
21
|
+
var params = new URLSearchParams(location.search);
|
|
22
|
+
if (params.has("theme")) {
|
|
23
|
+
var themeName_1 = params.get("theme");
|
|
24
|
+
if (themeName_1 !== "DEFAULT") {
|
|
25
|
+
// Add theme CSS bundle
|
|
26
|
+
var linkElement = document.createElement("link");
|
|
27
|
+
linkElement.setAttribute("rel", "stylesheet");
|
|
28
|
+
linkElement.setAttribute("type", "text/css");
|
|
29
|
+
linkElement.setAttribute("href", "styles-" + themeName_1 + ".css");
|
|
30
|
+
document.head.appendChild(linkElement);
|
|
31
|
+
// Add classname to body for demo site theming
|
|
32
|
+
document.body.classList.add("carbon--dark-" + themeName_1);
|
|
33
|
+
}
|
|
34
|
+
// Update selected dropdown item
|
|
35
|
+
var dropdownDefaultOption = document.querySelector("div.theme-selector li.bx--dropdown-text");
|
|
36
|
+
var selectedOption = dropdownOptions.find(function (option) { return option.parentNode.getAttribute("data-value") === themeName_1; });
|
|
37
|
+
dropdownDefaultOption.innerHTML = selectedOption.innerText;
|
|
38
|
+
}
|
|
39
|
+
};
|
|
40
|
+
export var initializeDemoOptions = function () {
|
|
41
|
+
initializeThemeSelector();
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=../../demo/demo-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"demo-options.js","sourceRoot":"","sources":["demo-options.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,IAAM,gBAAgB,GAAG,UAAC,IAAI,EAAE,KAAK;IACxC,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;IAEnD,oCAAoC;IACpC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAClB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACvB;IAED,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAE3B,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;AACxC,CAAC,CAAC;AAEF,iBAAiB;AACjB,IAAM,uBAAuB,GAAG;IAC5B,IAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAC9C,QAAQ,CAAC,gBAAgB,CAAC,wCAAwC,CAAC,CACtE,CAAC;IAEF,+CAA+C;IAC/C,eAAe,CAAC,OAAO,CAAC,UAAA,cAAc;QAClC,cAAc,CAAC,gBAAgB,CAAC,OAAO,EAAE,UAAA,CAAC;YACtC,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;QAC9E,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,8BAA8B;IACjC,IAAM,MAAM,GAAG,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;QACxB,IAAM,WAAS,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,WAAS,KAAK,SAAS,EAAE;YAC5B,uBAAuB;YACvB,IAAM,WAAW,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACnD,WAAW,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC9C,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YAC7C,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,YAAU,WAAS,SAAM,CAAC,CAAC;YAC5D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAEvC,8CAA8C;YAC9C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,kBAAgB,WAAW,CAAC,CAAC;SACzD;QAED,gCAAgC;QAChC,IAAM,qBAAqB,GAAG,QAAQ,CAAC,aAAa,CAAC,yCAAyC,CAAC,CAAC;QAChG,IAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,UAAA,MAAM,IAAI,OAAA,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,WAAS,EAA1D,CAA0D,CAAC,CAAC;QAClH,qBAAqB,CAAC,SAAS,GAAG,cAAc,CAAC,SAAS,CAAC;KAC3D;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,IAAM,qBAAqB,GAAG;IACjC,uBAAuB,EAAE,CAAC;AAC9B,CAAC,CAAC","sourcesContent":["export const setOrUpdateParam = (name, value) => {\n const params = new URLSearchParams(location.search)\n\n // Remove any existing \"theme\" param\n if (params.has(name)) {\n params.delete(name);\n }\n\n params.append(name, value);\n\n location.search = params.toString();\n};\n\n// Theme selector\nconst initializeThemeSelector = () => {\n const dropdownOptions = Array.prototype.slice.call(\n document.querySelectorAll(\"div.theme-selector a.bx--dropdown-link\")\n );\n\n // Set click listeners for the dropdown options\n dropdownOptions.forEach(dropdownOption => {\n dropdownOption.addEventListener(\"click\", e => {\n e.preventDefault();\n\n setOrUpdateParam(\"theme\", e.target.parentNode.getAttribute(\"data-value\"));\n });\n });\n\n // Set state for current theme\n\tconst params = new URLSearchParams(location.search);\n\tif (params.has(\"theme\")) {\n\t\tconst themeName = params.get(\"theme\");\n\n\t\tif (themeName !== \"DEFAULT\") {\n\t\t\t// Add theme CSS bundle\n\t\t\tconst linkElement = document.createElement(\"link\");\n\t\t\tlinkElement.setAttribute(\"rel\", \"stylesheet\");\n\t\t\tlinkElement.setAttribute(\"type\", \"text/css\");\n\t\t\tlinkElement.setAttribute(\"href\", `styles-${themeName}.css`);\n\t\t\tdocument.head.appendChild(linkElement);\n\n\t\t\t// Add classname to body for demo site theming\n\t\t\tdocument.body.classList.add(`carbon--dark-${themeName}`);\n\t\t}\n\n\t\t// Update selected dropdown item\n\t\tconst dropdownDefaultOption = document.querySelector(\"div.theme-selector li.bx--dropdown-text\");\n\t\tconst selectedOption = dropdownOptions.find(option => option.parentNode.getAttribute(\"data-value\") === themeName);\n\t\tdropdownDefaultOption.innerHTML = selectedOption.innerText;\n\t}\n};\n\nexport const initializeDemoOptions = () => {\n initializeThemeSelector();\n};\n"]}
|
package/demo/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import "./index.scss";
|
package/demo/index.js
ADDED
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import * as Charts from "@carbon/charts";
|
|
2
|
+
// Styles
|
|
3
|
+
import "./index.scss";
|
|
4
|
+
// Functionality for demo options toolbar
|
|
5
|
+
import { initializeDemoOptions } from "./demo-options";
|
|
6
|
+
// Chart types
|
|
7
|
+
import { demoGroups } from "./demo-data/index";
|
|
8
|
+
// MISC
|
|
9
|
+
import { Tools } from "@carbon/charts/tools";
|
|
10
|
+
initializeDemoOptions();
|
|
11
|
+
var charts = {};
|
|
12
|
+
var changeDemoData = function (id, chartObj) {
|
|
13
|
+
var oldData = chartObj.model.getData();
|
|
14
|
+
// Function to be used to randomize a value
|
|
15
|
+
var randomizeValue = function (datum) {
|
|
16
|
+
var currentVal = datum.value !== undefined ? datum.value : datum;
|
|
17
|
+
var result = Math.random() > 0.5 ? 0.95 * currentVal : 1.05 * currentVal;
|
|
18
|
+
if (Math.random() > 0.5
|
|
19
|
+
|| id.indexOf("stacked") !== -1
|
|
20
|
+
|| id.indexOf("pie") !== -1
|
|
21
|
+
|| id.indexOf("donut") !== -1) {
|
|
22
|
+
result = Math.floor(result);
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
result = Math.floor(result) * -1;
|
|
26
|
+
}
|
|
27
|
+
if (datum.value !== undefined) {
|
|
28
|
+
datum.value = result;
|
|
29
|
+
if (datum.date) {
|
|
30
|
+
datum.date = new Date(datum.date);
|
|
31
|
+
datum.date.setDate(datum.date.getDate() + 2);
|
|
32
|
+
}
|
|
33
|
+
return datum;
|
|
34
|
+
}
|
|
35
|
+
return result;
|
|
36
|
+
};
|
|
37
|
+
// Function to be used to randomize all data points
|
|
38
|
+
var updateChartData = function (currentData) {
|
|
39
|
+
var result = Tools.clone(currentData);
|
|
40
|
+
result.datasets = result.datasets.map(function (dataset) {
|
|
41
|
+
dataset.label = "new dataset " + Math.random().toFixed(2);
|
|
42
|
+
var datasetNewData = dataset.data.map(function (dataPoint) {
|
|
43
|
+
return randomizeValue(dataPoint);
|
|
44
|
+
});
|
|
45
|
+
var newDataset = Object.assign({}, dataset, { data: datasetNewData });
|
|
46
|
+
return newDataset;
|
|
47
|
+
});
|
|
48
|
+
return result;
|
|
49
|
+
};
|
|
50
|
+
var chartObject = charts[id];
|
|
51
|
+
var newData;
|
|
52
|
+
var removeADataset = Math.random() > 0.5;
|
|
53
|
+
switch (id) {
|
|
54
|
+
case "pie":
|
|
55
|
+
case "donut":
|
|
56
|
+
// Randomize old data values
|
|
57
|
+
newData = updateChartData(oldData);
|
|
58
|
+
break;
|
|
59
|
+
default:
|
|
60
|
+
newData = updateChartData(oldData);
|
|
61
|
+
if (removeADataset) {
|
|
62
|
+
var randomIndex = Math.floor(Math.random() * (newData.datasets.length - 1));
|
|
63
|
+
newData.datasets.splice(randomIndex, randomIndex);
|
|
64
|
+
}
|
|
65
|
+
break;
|
|
66
|
+
}
|
|
67
|
+
// Handle setting the new data
|
|
68
|
+
chartObject.model.setData(newData);
|
|
69
|
+
};
|
|
70
|
+
var setDemoActionsEventListener = function (id, chartObj) {
|
|
71
|
+
var changeDataButton = document.getElementById("change-data-" + id);
|
|
72
|
+
if (changeDataButton) {
|
|
73
|
+
changeDataButton.onclick = function (e) {
|
|
74
|
+
e.preventDefault();
|
|
75
|
+
changeDemoData(id, chartObj);
|
|
76
|
+
};
|
|
77
|
+
var actionsElement = document.getElementById("actions-" + id);
|
|
78
|
+
if (actionsElement) {
|
|
79
|
+
var changeDataPromiseButtons = Array.prototype.slice.call(actionsElement.querySelectorAll(".change-data-promise"));
|
|
80
|
+
changeDataPromiseButtons.forEach(function (element) {
|
|
81
|
+
element = element;
|
|
82
|
+
element.onclick = function (e) {
|
|
83
|
+
e.preventDefault();
|
|
84
|
+
changeDemoData(id, chartObj);
|
|
85
|
+
};
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
var createChartContainer = function (demo) {
|
|
91
|
+
// Chart holder
|
|
92
|
+
var holder = document.createElement("div");
|
|
93
|
+
holder.className = "demo-chart-holder has-actions";
|
|
94
|
+
holder.id = demo.id;
|
|
95
|
+
document.body.appendChild(holder);
|
|
96
|
+
// Chart demo actions container
|
|
97
|
+
var chartDemoActions = document.createElement("div");
|
|
98
|
+
chartDemoActions.className = "chart-demo-actions";
|
|
99
|
+
chartDemoActions.id = "actions-" + demo.id;
|
|
100
|
+
chartDemoActions.setAttribute("role", "region");
|
|
101
|
+
chartDemoActions.setAttribute("aria-label", demo.title + " chart actions");
|
|
102
|
+
// Add update data button
|
|
103
|
+
var updateDataButton = document.createElement("button");
|
|
104
|
+
updateDataButton.className = "bx--btn bx--btn--primary";
|
|
105
|
+
updateDataButton.id = "change-data-" + demo.id;
|
|
106
|
+
updateDataButton.innerHTML = "Update data";
|
|
107
|
+
chartDemoActions.appendChild(updateDataButton);
|
|
108
|
+
document.body.appendChild(chartDemoActions);
|
|
109
|
+
return holder;
|
|
110
|
+
};
|
|
111
|
+
// Initialize all charts
|
|
112
|
+
demoGroups.forEach(function (demoGroup) {
|
|
113
|
+
demoGroup.demos.forEach(function (demo) {
|
|
114
|
+
var holder = createChartContainer(demo);
|
|
115
|
+
if (holder) {
|
|
116
|
+
var ClassToInitialize = Charts[demo.chartType.vanilla];
|
|
117
|
+
// Add `height` to the chart options
|
|
118
|
+
demo.options.height = "500px";
|
|
119
|
+
// Initialize chart
|
|
120
|
+
charts[demo.id] = new ClassToInitialize(holder, {
|
|
121
|
+
data: demo.data,
|
|
122
|
+
options: demo.options
|
|
123
|
+
});
|
|
124
|
+
setDemoActionsEventListener(demo.id, charts[demo.id]);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
//# sourceMappingURL=../../demo/index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAC;AAEzC,SAAS;AACT,OAAO,cAAc,CAAC;AAEtB,yCAAyC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO;AACP,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE7C,qBAAqB,EAAE,CAAC;AAExB,IAAM,MAAM,GAAG,EAAE,CAAC;AAElB,IAAM,cAAc,GAAG,UAAC,EAAO,EAAE,QAAa;IAC7C,IAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAEzC,2CAA2C;IAC3C,IAAM,cAAc,GAAG,UAAA,KAAK;QAC3B,IAAM,UAAU,GAAG,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QACnE,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC;QAEzE,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG;eACnB,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;eAC5B,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;eACxB,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;YAC/B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SAC5B;aAAM;YACN,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;QAED,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;YAC9B,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;YAErB,IAAI,KAAK,CAAC,IAAI,EAAE;gBACf,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;aAC7C;YAED,OAAO,KAAK,CAAC;SACb;QAED,OAAO,MAAM,CAAC;IACf,CAAC,CAAC;IAEF,mDAAmD;IACnD,IAAM,eAAe,GAAG,UAAA,WAAW;QAClC,IAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAA,OAAO;YAC5C,OAAO,CAAC,KAAK,GAAG,iBAAe,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAG,CAAA;YACzD,IAAM,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,SAAS;gBAChD,OAAO,cAAc,CAAC,SAAS,CAAC,CAAA;YACjC,CAAC,CAAC,CAAC;YAEH,IAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAExE,OAAO,UAAU,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IACf,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,IAAI,OAAO,CAAC;IAEZ,IAAM,cAAc,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;IAE3C,QAAQ,EAAE,EAAE;QACX,KAAK,KAAK,CAAC;QACX,KAAK,OAAO;YACX,4BAA4B;YAC5B,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM;QACP;YACC,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YAEnC,IAAI,cAAc,EAAE;gBACnB,IAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC9E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;aAClD;YAED,MAAM;KACP;IAED,8BAA8B;IAC9B,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AACpC,CAAC,CAAC;AAEF,IAAM,2BAA2B,GAAG,UAAC,EAAO,EAAE,QAAa;IAC1D,IAAM,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,iBAAe,EAAI,CAAC,CAAC;IACtE,IAAI,gBAAgB,EAAE;QACrB,gBAAgB,CAAC,OAAO,GAAG,UAAA,CAAC;YAC3B,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC9B,CAAC,CAAC;QAEF,IAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC,aAAW,EAAI,CAAC,CAAC;QAChE,IAAI,cAAc,EAAE;YACnB,IAAM,wBAAwB,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACrH,wBAAwB,CAAC,OAAO,CAAC,UAAA,OAAO;gBACvC,OAAO,GAAgB,OAAO,CAAC;gBAC/B,OAAO,CAAC,OAAO,GAAG,UAAA,CAAC;oBAClB,CAAC,CAAC,cAAc,EAAE,CAAC;oBAEnB,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;gBAC9B,CAAC,CAAC;YACH,CAAC,CAAC,CAAC;SACH;KACD;AACF,CAAC,CAAC;AAEF,IAAM,oBAAoB,GAAG,UAAA,IAAI;IAChC,eAAe;IACf,IAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,MAAM,CAAC,SAAS,GAAG,+BAA+B,CAAC;IACnD,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IAEpB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAElC,+BAA+B;IAC/B,IAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvD,gBAAgB,CAAC,SAAS,GAAG,oBAAoB,CAAC;IAClD,gBAAgB,CAAC,EAAE,GAAG,aAAW,IAAI,CAAC,EAAI,CAAC;IAC3C,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChD,gBAAgB,CAAC,YAAY,CAAC,YAAY,EAAK,IAAI,CAAC,KAAK,mBAAgB,CAAC,CAAC;IAE3E,yBAAyB;IACzB,IAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC1D,gBAAgB,CAAC,SAAS,GAAG,0BAA0B,CAAC;IACxD,gBAAgB,CAAC,EAAE,GAAG,iBAAe,IAAI,CAAC,EAAI,CAAC;IAC/C,gBAAgB,CAAC,SAAS,GAAG,aAAa,CAAC;IAE3C,gBAAgB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAC/C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;IAE5C,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF,wBAAwB;AACxB,UAAU,CAAC,OAAO,CAAC,UAAA,SAAS;IAC3B,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,UAAA,IAAI;QAC3B,IAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE;YACX,IAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAEzD,oCAAoC;YACpC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC;YAE9B,mBAAmB;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,iBAAiB,CACtC,MAAM,EACN;gBACC,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,OAAO,EAAE,IAAI,CAAC,OAAO;aACrB,CACD,CAAC;YAEF,2BAA2B,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;SACtD;IACF,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC","sourcesContent":["import * as Charts from \"@carbon/charts\";\n\n// Styles\nimport \"./index.scss\";\n\n// Functionality for demo options toolbar\nimport { initializeDemoOptions } from \"./demo-options\";\n\n// Chart types\nimport { demoGroups } from \"./demo-data/index\";\n\n// MISC\nimport { Tools } from \"@carbon/charts/tools\";\n\ninitializeDemoOptions();\n\nconst charts = {};\n\nconst changeDemoData = (id: any, chartObj: any) => {\n\tconst oldData = chartObj.model.getData();\n\n\t// Function to be used to randomize a value\n\tconst randomizeValue = datum => {\n\t\tconst currentVal = datum.value !== undefined ? datum.value : datum;\n\t\tlet result = Math.random() > 0.5 ? 0.95 * currentVal : 1.05 * currentVal;\n\n\t\tif (Math.random() > 0.5\n\t\t\t|| id.indexOf(\"stacked\") !== -1\n\t\t\t|| id.indexOf(\"pie\") !== -1\n\t\t\t|| id.indexOf(\"donut\") !== -1) {\n\t\t\tresult = Math.floor(result);\n\t\t} else {\n\t\t\tresult = Math.floor(result) * -1;\n\t\t}\n\n\t\tif (datum.value !== undefined) {\n\t\t\tdatum.value = result;\n\n\t\t\tif (datum.date) {\n\t\t\t\tdatum.date = new Date(datum.date);\n\t\t\t\tdatum.date.setDate(datum.date.getDate() + 2);\n\t\t\t}\n\n\t\t\treturn datum;\n\t\t}\n\n\t\treturn result;\n\t};\n\n\t// Function to be used to randomize all data points\n\tconst updateChartData = currentData => {\n\t\tconst result = Tools.clone(currentData);\n\t\tresult.datasets = result.datasets.map(dataset => {\n\t\t\tdataset.label = `new dataset ${Math.random().toFixed(2)}`\n\t\t\tconst datasetNewData = dataset.data.map(dataPoint => {\n\t\t\t\treturn randomizeValue(dataPoint)\n\t\t\t});\n\n\t\t\tconst newDataset = Object.assign({}, dataset, { data: datasetNewData });\n\n\t\t\treturn newDataset;\n\t\t});\n\n\t\treturn result;\n\t};\n\n\tconst chartObject = charts[id];\n\tlet newData;\n\n\tconst removeADataset = Math.random() > 0.5;\n\n\tswitch (id) {\n\t\tcase \"pie\":\n\t\tcase \"donut\":\n\t\t\t// Randomize old data values\n\t\t\tnewData = updateChartData(oldData);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tnewData = updateChartData(oldData);\n\n\t\t\tif (removeADataset) {\n\t\t\t\tconst randomIndex = Math.floor(Math.random() * (newData.datasets.length - 1));\n\t\t\t\tnewData.datasets.splice(randomIndex, randomIndex);\n\t\t\t}\n\n\t\t\tbreak;\n\t}\n\n\t// Handle setting the new data\n\tchartObject.model.setData(newData);\n};\n\nconst setDemoActionsEventListener = (id: any, chartObj: any) => {\n\tconst changeDataButton = document.getElementById(`change-data-${id}`);\n\tif (changeDataButton) {\n\t\tchangeDataButton.onclick = e => {\n\t\t\te.preventDefault();\n\n\t\t\tchangeDemoData(id, chartObj);\n\t\t};\n\n\t\tconst actionsElement = document.getElementById(`actions-${id}`);\n\t\tif (actionsElement) {\n\t\t\tconst changeDataPromiseButtons = Array.prototype.slice.call(actionsElement.querySelectorAll(\".change-data-promise\"));\n\t\t\tchangeDataPromiseButtons.forEach(element => {\n\t\t\t\telement = <HTMLElement>element;\n\t\t\t\telement.onclick = e => {\n\t\t\t\t\te.preventDefault();\n\n\t\t\t\t\tchangeDemoData(id, chartObj);\n\t\t\t\t};\n\t\t\t});\n\t\t}\n\t}\n};\n\nconst createChartContainer = demo => {\n\t// Chart holder\n\tconst holder = document.createElement(\"div\");\n\tholder.className = \"demo-chart-holder has-actions\";\n\tholder.id = demo.id;\n\n\tdocument.body.appendChild(holder);\n\n\t// Chart demo actions container\n\tconst chartDemoActions = document.createElement(\"div\");\n\tchartDemoActions.className = \"chart-demo-actions\";\n\tchartDemoActions.id = `actions-${demo.id}`;\n\tchartDemoActions.setAttribute(\"role\", \"region\");\n\tchartDemoActions.setAttribute(\"aria-label\", `${demo.title} chart actions`);\n\n\t// Add update data button\n\tconst updateDataButton = document.createElement(\"button\");\n\tupdateDataButton.className = \"bx--btn bx--btn--primary\";\n\tupdateDataButton.id = `change-data-${demo.id}`;\n\tupdateDataButton.innerHTML = \"Update data\";\n\n\tchartDemoActions.appendChild(updateDataButton);\n\tdocument.body.appendChild(chartDemoActions);\n\n\treturn holder;\n};\n\n// Initialize all charts\ndemoGroups.forEach(demoGroup => {\n\tdemoGroup.demos.forEach(demo => {\n\t\tconst holder = createChartContainer(demo);\n\t\tif (holder) {\n\t\t\tconst ClassToInitialize = Charts[demo.chartType.vanilla];\n\n\t\t\t// Add `height` to the chart options\n\t\t\tdemo.options.height = \"500px\";\n\n\t\t\t// Initialize chart\n\t\t\tcharts[demo.id] = new ClassToInitialize(\n\t\t\t\tholder,\n\t\t\t\t{\n\t\t\t\t\tdata: demo.data,\n\t\t\t\t\toptions: demo.options\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tsetDemoActionsEventListener(demo.id, charts[demo.id]);\n\t\t}\n\t});\n});\n"]}
|