@carbon/charts 0.50.5 → 0.50.9

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.
@@ -74,7 +74,7 @@ var BinnedRuler = /** @class */ (function (_super) {
74
74
  var tooltipDataGroups = activeDataGroupNames
75
75
  .reverse()
76
76
  .map(function (dataGroupName) { return ({
77
- label: 'Group',
77
+ label: dataGroupName,
78
78
  value: get(sampleMatchData_1, "data." + dataGroupName),
79
79
  class: _this.model.getColorClassName({
80
80
  classNameTypes: [ColorClassNameTypes.TOOLTIP],
@@ -1 +1 @@
1
- {"version":3,"file":"ruler-binned.js","sourceRoot":"","sources":["ruler-binned.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { GenericSvgSelection, Ruler } from './ruler';\nimport { DOMUtils } from '../../services';\nimport {\n\tCartesianOrientations,\n\tColorClassNameTypes,\n\tEvents,\n\tRenderTypes,\n} from '../../interfaces';\nimport { Tools } from '../../tools';\n\n// D3 Imports\nimport { select } from 'd3-selection';\n\nimport { get } from 'lodash-es';\n\nexport class BinnedRuler extends Ruler {\n\ttype = 'ruler-binned';\n\trenderType = RenderTypes.SVG;\n\n\tshowRuler(event, [x, y]: [number, number]) {\n\t\tconst svg = this.parent;\n\n\t\tconst options = this.model.getOptions();\n\n\t\tconst orientation: CartesianOrientations = this.services.cartesianScales.getOrientation();\n\n\t\tconst rangeScale = this.services.cartesianScales.getRangeScale();\n\t\tconst [yScaleEnd, yScaleStart] = rangeScale.range();\n\n\t\tconst domainScale = this.services.cartesianScales.getDomainScale();\n\t\tconst correspondingDomainValue = domainScale.invert(\n\t\t\torientation === CartesianOrientations.VERTICAL ? x : y\n\t\t);\n\n\t\tconst ruler = DOMUtils.appendOrSelect(svg, 'g.ruler').attr(\n\t\t\t'aria-label',\n\t\t\t'ruler'\n\t\t);\n\t\tconst rulerLine = DOMUtils.appendOrSelect(ruler, 'line.ruler-line');\n\n\t\tconst dataPointElements: GenericSvgSelection = svg.selectAll(\n\t\t\t'[role=graphics-symbol]'\n\t\t);\n\n\t\tconst elementsToHighlight = dataPointElements.filter((d) => {\n\t\t\tif (\n\t\t\t\tparseFloat(get(d, 'data.x0')) <= correspondingDomainValue &&\n\t\t\t\tparseFloat(get(d, 'data.x1')) >= correspondingDomainValue\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\n\t\t// some data point match\n\t\tif (elementsToHighlight.size() > 0) {\n\t\t\t/** if we pass from a trigger area to another one\n\t\t\t * mouseout on previous elements won't get dispatched\n\t\t\t * so we need to do it manually\n\t\t\t */\n\t\t\tif (\n\t\t\t\tthis.elementsToHighlight &&\n\t\t\t\tthis.elementsToHighlight.size() > 0 &&\n\t\t\t\t!Tools.isEqual(this.elementsToHighlight, elementsToHighlight)\n\t\t\t) {\n\t\t\t\tthis.hideRuler();\n\t\t\t}\n\n\t\t\telementsToHighlight.dispatch('mouseover');\n\n\t\t\t// set current hovered elements\n\t\t\tthis.elementsToHighlight = elementsToHighlight;\n\n\t\t\tconst sampleMatchData = select(\n\t\t\t\telementsToHighlight.nodes()[0]\n\t\t\t).datum();\n\n\t\t\tconst x0 = parseFloat(get(sampleMatchData, 'data.x0'));\n\t\t\tconst x1 = parseFloat(get(sampleMatchData, 'data.x1'));\n\n\t\t\tconst activeDataGroupNames = this.model.getActiveDataGroupNames();\n\n\t\t\tconst tooltipDataGroups = activeDataGroupNames\n\t\t\t\t.reverse()\n\t\t\t\t.map((dataGroupName) => ({\n\t\t\t\t\tlabel: 'Group',\n\t\t\t\t\tvalue: get(sampleMatchData, `data.${dataGroupName}`),\n\t\t\t\t\tclass: this.model.getColorClassName({\n\t\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.TOOLTIP],\n\t\t\t\t\t\tdataGroupName,\n\t\t\t\t\t}),\n\t\t\t\t}))\n\t\t\t\t.filter((d) => d.value !== 0);\n\t\t\tconst thereIsMatchingData = tooltipDataGroups.length > 0;\n\n\t\t\tif (thereIsMatchingData) {\n\t\t\t\tthis.services.events.dispatchEvent(Events.Tooltip.SHOW, {\n\t\t\t\t\tmousePosition: [x, y],\n\t\t\t\t\thoveredElement: rulerLine,\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: get(options, 'bins.rangeLabel') || 'Range',\n\t\t\t\t\t\t\tvalue: `${x0} – ${x1}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...tooltipDataGroups,\n\t\t\t\t\t\t...(Tools.getProperty(\n\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\t'tooltip',\n\t\t\t\t\t\t\t'showTotal'\n\t\t\t\t\t\t) === true\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t\t\t\t\tget(\n\t\t\t\t\t\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\t\t\t\t\t\t'tooltip.totalLabel'\n\t\t\t\t\t\t\t\t\t\t\t) || 'Total',\n\t\t\t\t\t\t\t\t\t\tvalue: activeDataGroupNames.reduce(\n\t\t\t\t\t\t\t\t\t\t\t(accum, currentValue) =>\n\t\t\t\t\t\t\t\t\t\t\t\taccum +\n\t\t\t\t\t\t\t\t\t\t\t\tparseFloat(\n\t\t\t\t\t\t\t\t\t\t\t\t\tget(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsampleMatchData,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`data.${currentValue}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: []),\n\t\t\t\t\t],\n\t\t\t\t});\n\n\t\t\t\truler.attr('opacity', 1);\n\n\t\t\t\tconst rulerPosition = domainScale((x0 + x1) / 2);\n\n\t\t\t\t// line snaps to matching point\n\t\t\t\tif (orientation === 'horizontal') {\n\t\t\t\t\trulerLine\n\t\t\t\t\t\t.attr('x1', yScaleStart)\n\t\t\t\t\t\t.attr('x2', yScaleEnd)\n\t\t\t\t\t\t.attr('y1', rulerPosition)\n\t\t\t\t\t\t.attr('y2', rulerPosition);\n\t\t\t\t} else {\n\t\t\t\t\trulerLine\n\t\t\t\t\t\t.attr('y1', yScaleStart)\n\t\t\t\t\t\t.attr('y2', yScaleEnd)\n\t\t\t\t\t\t.attr('x1', rulerPosition)\n\t\t\t\t\t\t.attr('x2', rulerPosition);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.hideRuler();\n\t\t\t}\n\t\t} else {\n\t\t\tthis.hideRuler();\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"ruler-binned.js","sourceRoot":"","sources":["ruler-binned.ts"],"names":[],"mappings":"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","sourcesContent":["// Internal Imports\nimport { GenericSvgSelection, Ruler } from './ruler';\nimport { DOMUtils } from '../../services';\nimport {\n\tCartesianOrientations,\n\tColorClassNameTypes,\n\tEvents,\n\tRenderTypes,\n} from '../../interfaces';\nimport { Tools } from '../../tools';\n\n// D3 Imports\nimport { select } from 'd3-selection';\n\nimport { get } from 'lodash-es';\n\nexport class BinnedRuler extends Ruler {\n\ttype = 'ruler-binned';\n\trenderType = RenderTypes.SVG;\n\n\tshowRuler(event, [x, y]: [number, number]) {\n\t\tconst svg = this.parent;\n\n\t\tconst options = this.model.getOptions();\n\n\t\tconst orientation: CartesianOrientations = this.services.cartesianScales.getOrientation();\n\n\t\tconst rangeScale = this.services.cartesianScales.getRangeScale();\n\t\tconst [yScaleEnd, yScaleStart] = rangeScale.range();\n\n\t\tconst domainScale = this.services.cartesianScales.getDomainScale();\n\t\tconst correspondingDomainValue = domainScale.invert(\n\t\t\torientation === CartesianOrientations.VERTICAL ? x : y\n\t\t);\n\n\t\tconst ruler = DOMUtils.appendOrSelect(svg, 'g.ruler').attr(\n\t\t\t'aria-label',\n\t\t\t'ruler'\n\t\t);\n\t\tconst rulerLine = DOMUtils.appendOrSelect(ruler, 'line.ruler-line');\n\n\t\tconst dataPointElements: GenericSvgSelection = svg.selectAll(\n\t\t\t'[role=graphics-symbol]'\n\t\t);\n\n\t\tconst elementsToHighlight = dataPointElements.filter((d) => {\n\t\t\tif (\n\t\t\t\tparseFloat(get(d, 'data.x0')) <= correspondingDomainValue &&\n\t\t\t\tparseFloat(get(d, 'data.x1')) >= correspondingDomainValue\n\t\t\t) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t});\n\n\t\t// some data point match\n\t\tif (elementsToHighlight.size() > 0) {\n\t\t\t/** if we pass from a trigger area to another one\n\t\t\t * mouseout on previous elements won't get dispatched\n\t\t\t * so we need to do it manually\n\t\t\t */\n\t\t\tif (\n\t\t\t\tthis.elementsToHighlight &&\n\t\t\t\tthis.elementsToHighlight.size() > 0 &&\n\t\t\t\t!Tools.isEqual(this.elementsToHighlight, elementsToHighlight)\n\t\t\t) {\n\t\t\t\tthis.hideRuler();\n\t\t\t}\n\n\t\t\telementsToHighlight.dispatch('mouseover');\n\n\t\t\t// set current hovered elements\n\t\t\tthis.elementsToHighlight = elementsToHighlight;\n\n\t\t\tconst sampleMatchData = select(\n\t\t\t\telementsToHighlight.nodes()[0]\n\t\t\t).datum();\n\n\t\t\tconst x0 = parseFloat(get(sampleMatchData, 'data.x0'));\n\t\t\tconst x1 = parseFloat(get(sampleMatchData, 'data.x1'));\n\n\t\t\tconst activeDataGroupNames = this.model.getActiveDataGroupNames();\n\n\t\t\tconst tooltipDataGroups = activeDataGroupNames\n\t\t\t\t.reverse()\n\t\t\t\t.map((dataGroupName) => ({\n\t\t\t\t\tlabel: dataGroupName,\n\t\t\t\t\tvalue: get(sampleMatchData, `data.${dataGroupName}`),\n\t\t\t\t\tclass: this.model.getColorClassName({\n\t\t\t\t\t\tclassNameTypes: [ColorClassNameTypes.TOOLTIP],\n\t\t\t\t\t\tdataGroupName,\n\t\t\t\t\t}),\n\t\t\t\t}))\n\t\t\t\t.filter((d) => d.value !== 0);\n\t\t\tconst thereIsMatchingData = tooltipDataGroups.length > 0;\n\n\t\t\tif (thereIsMatchingData) {\n\t\t\t\tthis.services.events.dispatchEvent(Events.Tooltip.SHOW, {\n\t\t\t\t\tmousePosition: [x, y],\n\t\t\t\t\thoveredElement: rulerLine,\n\t\t\t\t\titems: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: get(options, 'bins.rangeLabel') || 'Range',\n\t\t\t\t\t\t\tvalue: `${x0} – ${x1}`,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t...tooltipDataGroups,\n\t\t\t\t\t\t...(Tools.getProperty(\n\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\t'tooltip',\n\t\t\t\t\t\t\t'showTotal'\n\t\t\t\t\t\t) === true\n\t\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tlabel:\n\t\t\t\t\t\t\t\t\t\t\tget(\n\t\t\t\t\t\t\t\t\t\t\t\toptions,\n\t\t\t\t\t\t\t\t\t\t\t\t'tooltip.totalLabel'\n\t\t\t\t\t\t\t\t\t\t\t) || 'Total',\n\t\t\t\t\t\t\t\t\t\tvalue: activeDataGroupNames.reduce(\n\t\t\t\t\t\t\t\t\t\t\t(accum, currentValue) =>\n\t\t\t\t\t\t\t\t\t\t\t\taccum +\n\t\t\t\t\t\t\t\t\t\t\t\tparseFloat(\n\t\t\t\t\t\t\t\t\t\t\t\t\tget(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsampleMatchData,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t`data.${currentValue}`\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t0\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t ]\n\t\t\t\t\t\t\t: []),\n\t\t\t\t\t],\n\t\t\t\t});\n\n\t\t\t\truler.attr('opacity', 1);\n\n\t\t\t\tconst rulerPosition = domainScale((x0 + x1) / 2);\n\n\t\t\t\t// line snaps to matching point\n\t\t\t\tif (orientation === 'horizontal') {\n\t\t\t\t\trulerLine\n\t\t\t\t\t\t.attr('x1', yScaleStart)\n\t\t\t\t\t\t.attr('x2', yScaleEnd)\n\t\t\t\t\t\t.attr('y1', rulerPosition)\n\t\t\t\t\t\t.attr('y2', rulerPosition);\n\t\t\t\t} else {\n\t\t\t\t\trulerLine\n\t\t\t\t\t\t.attr('y1', yScaleStart)\n\t\t\t\t\t\t.attr('y2', yScaleEnd)\n\t\t\t\t\t\t.attr('x1', rulerPosition)\n\t\t\t\t\t\t.attr('x2', rulerPosition);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tthis.hideRuler();\n\t\t\t}\n\t\t} else {\n\t\t\tthis.hideRuler();\n\t\t}\n\t}\n}\n"]}
@@ -52,31 +52,20 @@ export declare const createVueChartApp: (demo: any) => {
52
52
  };
53
53
  export declare const createSvelteChartApp: (demo: any) => {
54
54
  'App.svelte': string;
55
- 'index.js': string;
55
+ 'index.html': string;
56
56
  'package.json': {
57
57
  scripts: {
58
- build: string;
59
- autobuild: string;
60
58
  dev: string;
61
- start: string;
62
- 'start:dev': string;
59
+ build: string;
63
60
  };
64
61
  devDependencies: {
65
- 'npm-run-all': string;
66
- rollup: string;
67
- 'rollup-plugin-commonjs': string;
68
- 'rollup-plugin-node-resolve': string;
69
- 'rollup-plugin-svelte': string;
70
- 'rollup-plugin-terser': string;
71
- 'sirv-cli': string;
72
- };
73
- dependencies: {
74
- '@carbon/charts': any;
75
62
  '@carbon/charts-svelte': any;
76
- 'carbon-components': any;
63
+ '@sveltejs/vite-plugin-svelte': string;
77
64
  d3: string;
78
65
  svelte: string;
66
+ 'svelte-hmr': string;
67
+ vite: string;
79
68
  };
80
69
  };
81
- 'rollup.config.js': string;
70
+ 'vite.config.js': string;
82
71
  };
@@ -138,39 +138,28 @@ export var createSvelteChartApp = function (demo) {
138
138
  chartComponent = 'BarChartStacked';
139
139
  break;
140
140
  }
141
- var indexJs = "import App from \"./App.svelte\";\n\nconst app = new App({ target: document.body });\n\nexport default app;\n";
142
- var App = "<script>\n\timport \"@carbon/charts/styles.min.css\";\n\timport \"carbon-components/css/carbon-components.min.css\";\n\timport { " + chartComponent + " } from \"@carbon/charts-svelte\";\n</script>\n\n<svelte:head>\n\t<link\n\t\t\trel=\"preconnect\"\n\t\t\tcrossorigin=\"anonymous\"\n\t\t\thref=\"https://fonts.gstatic.com\"\n\t/>\n\t<link\n\t\t\thref=\"https://fonts.googleapis.com/css?family=IBM+Plex+Sans+Condensed:300,400%7CIBM+Plex+Sans:400,600&display=swap\"\n\t\t\trel=\"stylesheet\"\n\t\t\tcrossorigin=\"anonymous\"\n\t/>\n</svelte:head>\n\n<" + chartComponent + "\n\tdata={" + chartData + "}\n\toptions={" + chartOptions + "}\n\t/>\n";
141
+ var indexHtml = "<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <link\n rel=\"preconnect\"\n crossorigin=\"anonymous\"\n href=\"https://fonts.gstatic.com\"\n />\n <link\n href=\"https://fonts.googleapis.com/css?family=IBM+Plex+Sans+Condensed:300,400%7CIBM+Plex+Sans:400,600&display=swap\"\n rel=\"stylesheet\"\n crossorigin=\"anonymous\"\n />\n </head>\n <body>\n <script type=\"module\">\n import App from \"./App.svelte\";\n\n const app = new App({ target: document.body });\n\n export default app;\n </script>\n </body>\n</html>\n";
142
+ var App = "<script>\n\timport \"@carbon/charts/styles.min.css\";\n\timport \"carbon-components/css/carbon-components.min.css\";\n\timport { " + chartComponent + " } from \"@carbon/charts-svelte\";\n</script>\n\n<" + chartComponent + "\n\tdata={" + chartData + "}\n\toptions={" + chartOptions + "}\n\t/>\n";
143
143
  var packageJson = {
144
144
  scripts: {
145
- build: 'rollup -c',
146
- autobuild: 'rollup -c -w',
147
- dev: 'run-p start:dev autobuild',
148
- start: 'sirv public',
149
- 'start:dev': 'sirv public --dev',
145
+ dev: 'vite',
146
+ build: 'vite build',
150
147
  },
151
148
  devDependencies: {
152
- 'npm-run-all': '^4.1.5',
153
- rollup: '^1.10.1',
154
- 'rollup-plugin-commonjs': '^9.3.4',
155
- 'rollup-plugin-node-resolve': '^4.2.3',
156
- 'rollup-plugin-svelte': '^5.0.3',
157
- 'rollup-plugin-terser': '^4.0.4',
158
- 'sirv-cli': '^0.3.1',
159
- },
160
- dependencies: {
161
- '@carbon/charts': libraryVersion,
162
149
  '@carbon/charts-svelte': libraryVersion,
163
- 'carbon-components': carbonComponentsVersion,
150
+ '@sveltejs/vite-plugin-svelte': 'next',
164
151
  d3: D3VERSION,
165
- svelte: '3.20.x',
152
+ svelte: '^3.43.1',
153
+ 'svelte-hmr': '^0.14.7',
154
+ vite: '^2.6.7',
166
155
  },
167
156
  };
168
- var rollup = "import svelte from \"rollup-plugin-svelte\";\nimport resolve from \"rollup-plugin-node-resolve\";\nimport commonjs from \"rollup-plugin-commonjs\";\nimport { terser } from \"rollup-plugin-terser\";\nimport postcss from \"rollup-plugin-postcss\";\n\nconst production = !process.env.ROLLUP_WATCH;\n\nexport default {\n input: \"index.js\",\n output: {\n sourcemap: true,\n format: \"iife\",\n name: \"app\",\n file: \"public/bundle.js\"\n },\n plugins: [\n postcss(),\n svelte({\n dev: !production,\n css: css => {\n css.write(\"public/bundle.css\");\n }\n }),\n resolve(),\n commonjs(),\n production && terser()\n ]\n};\n";
157
+ var vite = "import { svelte } from \"@sveltejs/vite-plugin-svelte\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig(({ mode }) => {\n return {\n plugins: [svelte()],\n build: { minify: mode === \"production\" },\n optimizeDeps: { include: [\"@carbon/charts\"] },\n };\n});\n";
169
158
  return {
170
159
  'App.svelte': App,
171
- 'index.js': indexJs,
160
+ 'index.html': indexHtml,
172
161
  'package.json': packageJson,
173
- 'rollup.config.js': rollup,
162
+ 'vite.config.js': vite,
174
163
  };
175
164
  };
176
165
  //# sourceMappingURL=../../demo/create-codesandbox.js.map
@@ -1 +1 @@
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 packageJSON = require('@carbon/charts/package.json');\nconst libraryVersion = packageJSON.version;\nconst carbonComponentsVersion =\n\tpackageJSON.devDependencies['carbon-components'];\n\nconst plexAndCarbonComponentsCSS = `@import \"https://fonts.googleapis.com/css?family=IBM+Plex+Sans+Condensed|IBM+Plex+Sans:400,600&display=swap\";\n@import \"https://unpkg.com/carbon-components/css/carbon-components.min.css\";\n`;\n\nconst D3VERSION = '^7.0.0';\n\nexport const createChartSandbox = (chartTemplate: any) => {\n\tconst files = {};\n\n\tObject.keys(chartTemplate).forEach(\n\t\t(filePath) => (files[filePath] = { content: chartTemplate[filePath] })\n\t);\n\n\treturn `https://codesandbox.io/api/v1/sandboxes/define?parameters=${getParameters(\n\t\t{ files }\n\t)}`;\n};\n\nexport const createVanillaChartApp = (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 = `<html>\n\t<head>\n\t\t<title>Parcel Sandbox</title>\n\t\t<meta charset=\"UTF-8\" />\n\t\t<link\n\t\t\trel=\"preconnect\"\n\t\t\tcrossorigin=\"anonymous\"\n\t\t\thref=\"https://fonts.gstatic.com\"\n\t\t/>\n\t\t<link\n\t\t\thref=\"https://fonts.googleapis.com/css?family=IBM+Plex+Sans+Condensed:300,400|IBM+Plex+Sans:400,600&display=swap\"\n\t\t\trel=\"stylesheet\"\n\t\t\tcrossorigin=\"anonymous\"\n\t\t/>\n\t\t<link\n\t\t\thref=\"https://unpkg.com/carbon-components/css/carbon-components.min.css\"\n\t\t\trel=\"stylesheet\"\n\t\t/>\n\t</head>\n\t<body>\n\t\t<div id=\"app\" style=\"width: 100%; height: 100%;\"></div>\n\n\t\t<script src=\"src/index.js\"></script>\n\t</body>\n</html>`;\n\tconst indexJs = `import \"@carbon/charts/styles.css\";\nimport { ${chartComponent} } from \"@carbon/charts\";\n\nconst data = ${chartData};\n\nconst options = ${chartOptions};\n\n// Grab chart holder HTML element and initialize the chart\nconst chartHolder = document.getElementById(\"app\");\nnew ${chartComponent}(chartHolder, {\n\tdata,\n\toptions\n});\n`;\n\tconst packageJson = {\n\t\tscripts: {\n\t\t\tstart: 'parcel index.html --open',\n\t\t\tbuild: 'parcel build index.html',\n\t\t},\n\t\tdependencies: {\n\t\t\t'@carbon/charts': libraryVersion,\n\t\t\t'carbon-components': carbonComponentsVersion,\n\t\t\td3: D3VERSION,\n\t\t},\n\t\tdevDependencies: {\n\t\t\t'parcel-bundler': '^1.6.1',\n\t\t},\n\t};\n\n\treturn {\n\t\t'index.html': indexHtml,\n\t\t'src/index.js': indexJs,\n\t\t'package.json': packageJson,\n\t};\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\n\tconst indexJs = `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\n// IBM Plex should either be imported in your project by using Carbon\n// or consumed manually through an import\nimport \"./plex-and-carbon-components.css\";\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: D3VERSION,\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\t'carbon-components': carbonComponentsVersion,\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'src/plex-and-carbon-components.css': plexAndCarbonComponentsCSS,\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 = `import { Component } from \"@angular/core\";\n\nimport \"@carbon/charts/styles.css\";\n\n// IBM Plex should either be imported in your project by using Carbon\n// or consumed manually through an import\nimport \"./plex-and-carbon-components.css\";\n\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 = `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 = `<!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 = `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\"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\t{\n\t\t\tdependencies: {\n\t\t\t\t'@angular/animations': '8.2.14',\n\t\t\t\t'@angular/common': '8.2.14',\n\t\t\t\t'@angular/compiler': '8.2.14',\n\t\t\t\t'@angular/core': '8.2.14',\n\t\t\t\t'@angular/forms': '8.2.14',\n\t\t\t\t'@angular/platform-browser': '8.2.14',\n\t\t\t\t'@angular/platform-browser-dynamic': '8.2.14',\n\t\t\t\t'@angular/router': '8.2.14',\n\t\t\t\t'@carbon/charts': libraryVersion,\n\t\t\t\t'@carbon/charts-angular': libraryVersion,\n\t\t\t\t'core-js': '3.6.0',\n\t\t\t\td3: D3VERSION,\n\t\t\t\trxjs: '6.5.3',\n\t\t\t\t'zone.js': '0.10.2',\n\t\t\t},\n\t\t},\n\t\tnull,\n\t\t'\\t'\n\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/plex-and-carbon-components.css': plexAndCarbonComponentsCSS,\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 = `<script>\nimport Vue from \"vue\";\nimport \"@carbon/charts/styles.css\";\nimport chartsVue from \"@carbon/charts-vue\";\n\n// IBM Plex should either be imported in your project by using Carbon\n// or consumed manually through an import\nimport \"../plex-and-carbon-components.css\";\n\nVue.use(chartsVue);\n\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 = `<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 = `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\t{\n\t\t\tdependencies: {\n\t\t\t\t'@carbon/charts': libraryVersion,\n\t\t\t\t'@carbon/charts-vue': libraryVersion,\n\t\t\t\t'@vue/cli-plugin-babel': '4.1.1',\n\t\t\t\t'carbon-components': carbonComponentsVersion,\n\t\t\t\td3: D3VERSION,\n\t\t\t\tvue: '^2.6.11',\n\t\t\t},\n\t\t},\n\t\tnull,\n\t\t'\\t\\t'\n\t);\n\n\treturn {\n\t\t'src/components/chart.vue': chartVue,\n\t\t'src/plex-and-carbon-components.css': plexAndCarbonComponentsCSS,\n\t\t'src/App.vue': appVue,\n\t\t'src/main.js': mainJs,\n\t\t'package.json': packageJson,\n\t};\n};\n\nexport const createSvelteChartApp = (demo: any) => {\n\tconst chartData = JSON.stringify(demo.data, null, '\\t');\n\tconst chartOptions = JSON.stringify(demo.options, null, '\\t');\n\n\tlet chartComponent = demo.chartType.vanilla;\n\n\tswitch (chartComponent) {\n\t\tcase 'SimpleBarChart':\n\t\t\tchartComponent = 'BarChartSimple';\n\t\t\tbreak;\n\t\tcase 'GroupedBarChart':\n\t\t\tchartComponent = 'BarChartGrouped';\n\t\t\tbreak;\n\t\tcase 'StackedBarChart':\n\t\t\tchartComponent = 'BarChartStacked';\n\t\t\tbreak;\n\t}\n\n\tconst indexJs = `import App from \"./App.svelte\";\n\nconst app = new App({ target: document.body });\n\nexport default app;\n`;\n\n\tconst App = `<script>\n\timport \"@carbon/charts/styles.min.css\";\n\timport \"carbon-components/css/carbon-components.min.css\";\n\timport { ${chartComponent} } from \"@carbon/charts-svelte\";\n</script>\n\n<svelte:head>\n\t<link\n\t\t\trel=\"preconnect\"\n\t\t\tcrossorigin=\"anonymous\"\n\t\t\thref=\"https://fonts.gstatic.com\"\n\t/>\n\t<link\n\t\t\thref=\"https://fonts.googleapis.com/css?family=IBM+Plex+Sans+Condensed:300,400%7CIBM+Plex+Sans:400,600&display=swap\"\n\t\t\trel=\"stylesheet\"\n\t\t\tcrossorigin=\"anonymous\"\n\t/>\n</svelte:head>\n\n<${chartComponent}\n\tdata={${chartData}}\n\toptions={${chartOptions}}\n\t/>\n`;\n\n\tconst packageJson = {\n\t\tscripts: {\n\t\t\tbuild: 'rollup -c',\n\t\t\tautobuild: 'rollup -c -w',\n\t\t\tdev: 'run-p start:dev autobuild',\n\t\t\tstart: 'sirv public',\n\t\t\t'start:dev': 'sirv public --dev',\n\t\t},\n\t\tdevDependencies: {\n\t\t\t'npm-run-all': '^4.1.5',\n\t\t\trollup: '^1.10.1',\n\t\t\t'rollup-plugin-commonjs': '^9.3.4',\n\t\t\t'rollup-plugin-node-resolve': '^4.2.3',\n\t\t\t'rollup-plugin-svelte': '^5.0.3',\n\t\t\t'rollup-plugin-terser': '^4.0.4',\n\t\t\t'sirv-cli': '^0.3.1',\n\t\t},\n\t\tdependencies: {\n\t\t\t'@carbon/charts': libraryVersion,\n\t\t\t'@carbon/charts-svelte': libraryVersion,\n\t\t\t'carbon-components': carbonComponentsVersion,\n\t\t\td3: D3VERSION,\n\t\t\tsvelte: '3.20.x',\n\t\t},\n\t};\n\n\tconst rollup = `import svelte from \"rollup-plugin-svelte\";\nimport resolve from \"rollup-plugin-node-resolve\";\nimport commonjs from \"rollup-plugin-commonjs\";\nimport { terser } from \"rollup-plugin-terser\";\nimport postcss from \"rollup-plugin-postcss\";\n\nconst production = !process.env.ROLLUP_WATCH;\n\nexport default {\n input: \"index.js\",\n output: {\n sourcemap: true,\n format: \"iife\",\n name: \"app\",\n file: \"public/bundle.js\"\n },\n plugins: [\n postcss(),\n svelte({\n dev: !production,\n css: css => {\n css.write(\"public/bundle.css\");\n }\n }),\n resolve(),\n commonjs(),\n production && terser()\n ]\n};\n`;\n\n\treturn {\n\t\t'App.svelte': App,\n\t\t'index.js': indexJs,\n\t\t'package.json': packageJson,\n\t\t'rollup.config.js': rollup,\n\t};\n};\n"]}
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 packageJSON = require('@carbon/charts/package.json');\nconst libraryVersion = packageJSON.version;\nconst carbonComponentsVersion =\n\tpackageJSON.devDependencies['carbon-components'];\n\nconst plexAndCarbonComponentsCSS = `@import \"https://fonts.googleapis.com/css?family=IBM+Plex+Sans+Condensed|IBM+Plex+Sans:400,600&display=swap\";\n@import \"https://unpkg.com/carbon-components/css/carbon-components.min.css\";\n`;\n\nconst D3VERSION = '^7.0.0';\n\nexport const createChartSandbox = (chartTemplate: any) => {\n\tconst files = {};\n\n\tObject.keys(chartTemplate).forEach(\n\t\t(filePath) => (files[filePath] = { content: chartTemplate[filePath] })\n\t);\n\n\treturn `https://codesandbox.io/api/v1/sandboxes/define?parameters=${getParameters(\n\t\t{ files }\n\t)}`;\n};\n\nexport const createVanillaChartApp = (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 = `<html>\n\t<head>\n\t\t<title>Parcel Sandbox</title>\n\t\t<meta charset=\"UTF-8\" />\n\t\t<link\n\t\t\trel=\"preconnect\"\n\t\t\tcrossorigin=\"anonymous\"\n\t\t\thref=\"https://fonts.gstatic.com\"\n\t\t/>\n\t\t<link\n\t\t\thref=\"https://fonts.googleapis.com/css?family=IBM+Plex+Sans+Condensed:300,400|IBM+Plex+Sans:400,600&display=swap\"\n\t\t\trel=\"stylesheet\"\n\t\t\tcrossorigin=\"anonymous\"\n\t\t/>\n\t\t<link\n\t\t\thref=\"https://unpkg.com/carbon-components/css/carbon-components.min.css\"\n\t\t\trel=\"stylesheet\"\n\t\t/>\n\t</head>\n\t<body>\n\t\t<div id=\"app\" style=\"width: 100%; height: 100%;\"></div>\n\n\t\t<script src=\"src/index.js\"></script>\n\t</body>\n</html>`;\n\tconst indexJs = `import \"@carbon/charts/styles.css\";\nimport { ${chartComponent} } from \"@carbon/charts\";\n\nconst data = ${chartData};\n\nconst options = ${chartOptions};\n\n// Grab chart holder HTML element and initialize the chart\nconst chartHolder = document.getElementById(\"app\");\nnew ${chartComponent}(chartHolder, {\n\tdata,\n\toptions\n});\n`;\n\tconst packageJson = {\n\t\tscripts: {\n\t\t\tstart: 'parcel index.html --open',\n\t\t\tbuild: 'parcel build index.html',\n\t\t},\n\t\tdependencies: {\n\t\t\t'@carbon/charts': libraryVersion,\n\t\t\t'carbon-components': carbonComponentsVersion,\n\t\t\td3: D3VERSION,\n\t\t},\n\t\tdevDependencies: {\n\t\t\t'parcel-bundler': '^1.6.1',\n\t\t},\n\t};\n\n\treturn {\n\t\t'index.html': indexHtml,\n\t\t'src/index.js': indexJs,\n\t\t'package.json': packageJson,\n\t};\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\n\tconst indexJs = `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\n// IBM Plex should either be imported in your project by using Carbon\n// or consumed manually through an import\nimport \"./plex-and-carbon-components.css\";\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: D3VERSION,\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\t'carbon-components': carbonComponentsVersion,\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'src/plex-and-carbon-components.css': plexAndCarbonComponentsCSS,\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 = `import { Component } from \"@angular/core\";\n\nimport \"@carbon/charts/styles.css\";\n\n// IBM Plex should either be imported in your project by using Carbon\n// or consumed manually through an import\nimport \"./plex-and-carbon-components.css\";\n\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 = `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 = `<!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 = `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\"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\t{\n\t\t\tdependencies: {\n\t\t\t\t'@angular/animations': '8.2.14',\n\t\t\t\t'@angular/common': '8.2.14',\n\t\t\t\t'@angular/compiler': '8.2.14',\n\t\t\t\t'@angular/core': '8.2.14',\n\t\t\t\t'@angular/forms': '8.2.14',\n\t\t\t\t'@angular/platform-browser': '8.2.14',\n\t\t\t\t'@angular/platform-browser-dynamic': '8.2.14',\n\t\t\t\t'@angular/router': '8.2.14',\n\t\t\t\t'@carbon/charts': libraryVersion,\n\t\t\t\t'@carbon/charts-angular': libraryVersion,\n\t\t\t\t'core-js': '3.6.0',\n\t\t\t\td3: D3VERSION,\n\t\t\t\trxjs: '6.5.3',\n\t\t\t\t'zone.js': '0.10.2',\n\t\t\t},\n\t\t},\n\t\tnull,\n\t\t'\\t'\n\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/plex-and-carbon-components.css': plexAndCarbonComponentsCSS,\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 = `<script>\nimport Vue from \"vue\";\nimport \"@carbon/charts/styles.css\";\nimport chartsVue from \"@carbon/charts-vue\";\n\n// IBM Plex should either be imported in your project by using Carbon\n// or consumed manually through an import\nimport \"../plex-and-carbon-components.css\";\n\nVue.use(chartsVue);\n\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 = `<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 = `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\t{\n\t\t\tdependencies: {\n\t\t\t\t'@carbon/charts': libraryVersion,\n\t\t\t\t'@carbon/charts-vue': libraryVersion,\n\t\t\t\t'@vue/cli-plugin-babel': '4.1.1',\n\t\t\t\t'carbon-components': carbonComponentsVersion,\n\t\t\t\td3: D3VERSION,\n\t\t\t\tvue: '^2.6.11',\n\t\t\t},\n\t\t},\n\t\tnull,\n\t\t'\\t\\t'\n\t);\n\n\treturn {\n\t\t'src/components/chart.vue': chartVue,\n\t\t'src/plex-and-carbon-components.css': plexAndCarbonComponentsCSS,\n\t\t'src/App.vue': appVue,\n\t\t'src/main.js': mainJs,\n\t\t'package.json': packageJson,\n\t};\n};\n\nexport const createSvelteChartApp = (demo: any) => {\n\tconst chartData = JSON.stringify(demo.data, null, '\\t');\n\tconst chartOptions = JSON.stringify(demo.options, null, '\\t');\n\n\tlet chartComponent = demo.chartType.vanilla;\n\n\tswitch (chartComponent) {\n\t\tcase 'SimpleBarChart':\n\t\t\tchartComponent = 'BarChartSimple';\n\t\t\tbreak;\n\t\tcase 'GroupedBarChart':\n\t\t\tchartComponent = 'BarChartGrouped';\n\t\t\tbreak;\n\t\tcase 'StackedBarChart':\n\t\t\tchartComponent = 'BarChartStacked';\n\t\t\tbreak;\n\t}\n\n\tconst indexHtml = `<!DOCTYPE html>\n<html lang=\"en\">\n <head>\n <meta charset=\"utf-8\" />\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n <link\n rel=\"preconnect\"\n crossorigin=\"anonymous\"\n href=\"https://fonts.gstatic.com\"\n />\n <link\n href=\"https://fonts.googleapis.com/css?family=IBM+Plex+Sans+Condensed:300,400%7CIBM+Plex+Sans:400,600&display=swap\"\n rel=\"stylesheet\"\n crossorigin=\"anonymous\"\n />\n </head>\n <body>\n <script type=\"module\">\n import App from \"./App.svelte\";\n\n const app = new App({ target: document.body });\n\n export default app;\n </script>\n </body>\n</html>\n`;\n\n\tconst App = `<script>\n\timport \"@carbon/charts/styles.min.css\";\n\timport \"carbon-components/css/carbon-components.min.css\";\n\timport { ${chartComponent} } from \"@carbon/charts-svelte\";\n</script>\n\n<${chartComponent}\n\tdata={${chartData}}\n\toptions={${chartOptions}}\n\t/>\n`;\n\n\tconst packageJson = {\n\t\tscripts: {\n\t\t\tdev: 'vite',\n\t\t\tbuild: 'vite build',\n\t\t},\n\t\tdevDependencies: {\n\t\t\t'@carbon/charts-svelte': libraryVersion,\n\t\t\t'@sveltejs/vite-plugin-svelte': 'next',\n\t\t\td3: D3VERSION,\n\t\t\tsvelte: '^3.43.1',\n\t\t\t'svelte-hmr': '^0.14.7',\n\t\t\tvite: '^2.6.7',\n\t\t},\n\t};\n\n\tconst vite = `import { svelte } from \"@sveltejs/vite-plugin-svelte\";\nimport { defineConfig } from \"vite\";\n\nexport default defineConfig(({ mode }) => {\n return {\n plugins: [svelte()],\n build: { minify: mode === \"production\" },\n optimizeDeps: { include: [\"@carbon/charts\"] },\n };\n});\n`;\n\n\treturn {\n\t\t'App.svelte': App,\n\t\t'index.html': indexHtml,\n\t\t'package.json': packageJson,\n\t\t'vite.config.js': vite,\n\t};\n};\n"]}