{"version":3,"file":"HistogramWrapper.mjs","names":["React","Box","Grid","MuiVegaLite","useReadMetaData","HistogramWrapper","props","$","_c","propsComponent","id","columnSize","t0","xs","t1","sm","t2","md","t3","Symbol","for","width","minWidth","t4","name","value","bind","input","min","max","t5","t6","step","url","t7","type","field","extent","anchor","signal","nice","t8","source","transform","key","groupby","fields","ops","as","t9","range","domain","t10","t11","round","data","zero","orient","scale","zindex","tickCount","t12","t13","t14","from","encode","update","x","x2","offset","y","y2","fill","hover","t15","t16","t17","t18","$schema","description","height","padding","signals","scales","axes","marks","enter","fillOpacity","t19"],"sources":["../../../../src/componentSystems/pageRenderer/wrappers/HistogramWrapper.jsx"],"sourcesContent":["import React from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport { MuiVegaLite } from '@material-vega/material-ui';\nimport { useReadMetaData } from '../hooks/useReadMetaData';\n\nexport const HistogramWrapper = props => {\n  const { propsComponent } = props;\n  const { id, columnSize, values, encoding, x, y, xfield, yfield } =\n    useReadMetaData(propsComponent);\n\n  return (\n    <Grid\n      item\n      xs={columnSize?.xs}\n      sm={columnSize?.sm}\n      md={columnSize?.md}\n      key={id}\n    >\n      <Box\n        mt={2}\n        clone\n        overflow=\"hidden\"\n        sx={{ width: '100%', minWidth: '100%' }}\n      >\n        <MuiVegaLite\n          variant=\"histogram\"\n          color=\"secondary\"\n          background=\"paper\"\n          autoResize\n          actions={false}\n          spec={{\n            $schema: 'https://vega.github.io/schema/vega/v5.json',\n            description:\n              'An interactive histogram for visualizing a univariate distribution.',\n            width: 500,\n            height: 100,\n            padding: 5,\n\n            signals: [\n              {\n                name: 'binOffset',\n                value: 0,\n                bind: { input: 'range', min: -0.1, max: 0.1 },\n              },\n              {\n                name: 'binStep',\n                value: 0.1,\n                bind: { input: 'range', min: 0.001, max: 0.4, step: 0.001 },\n              },\n            ],\n\n            data: [\n              {\n                name: 'points',\n                url: 'data/normal-2d.json',\n              },\n              {\n                name: 'binned',\n                source: 'points',\n                transform: [\n                  {\n                    type: 'bin',\n                    field: 'u',\n                    extent: [-1, 1],\n                    anchor: { signal: 'binOffset' },\n                    step: { signal: 'binStep' },\n                    nice: false,\n                  },\n                  {\n                    type: 'aggregate',\n                    key: 'bin0',\n                    groupby: ['bin0', 'bin1'],\n                    fields: ['bin0'],\n                    ops: ['count'],\n                    as: ['count'],\n                  },\n                ],\n              },\n            ],\n\n            scales: [\n              {\n                name: 'xscale',\n                type: 'linear',\n                range: 'width',\n                domain: [-1, 1],\n              },\n              {\n                name: 'yscale',\n                type: 'linear',\n                range: 'height',\n                round: true,\n                domain: { data: 'binned', field: 'count' },\n                zero: true,\n                nice: true,\n              },\n            ],\n\n            axes: [\n              { orient: 'bottom', scale: 'xscale', zindex: 1 },\n              { orient: 'left', scale: 'yscale', tickCount: 5, zindex: 1 },\n            ],\n\n            marks: [\n              {\n                type: 'rect',\n                from: { data: 'binned' },\n                encode: {\n                  update: {\n                    x: { scale: 'xscale', field: 'bin0' },\n                    x2: {\n                      scale: 'xscale',\n                      field: 'bin1',\n                      offset: { signal: 'binStep > 0.02 ? -0.5 : 0' },\n                    },\n                    y: { scale: 'yscale', field: 'count' },\n                    y2: { scale: 'yscale', value: 0 },\n                    fill: { value: 'steelblue' },\n                  },\n                  hover: { fill: { value: 'firebrick' } },\n                },\n              },\n              {\n                type: 'rect',\n                from: { data: 'points' },\n                encode: {\n                  enter: {\n                    x: { scale: 'xscale', field: 'u' },\n                    width: { value: 1 },\n                    y: { value: 25, offset: { signal: 'height' } },\n                    height: { value: 5 },\n                    fill: { value: 'steelblue' },\n                    fillOpacity: { value: 0.4 },\n                  },\n                },\n              },\n            ],\n          }}\n        />\n      </Box>\n    </Grid>\n  );\n};\n"],"mappings":";;;;;;AAKA,MAAaK,oBAAmBC,UAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAC9B,MAAA,EAAAC,mBAA2BH;CAC3B,MAAA,EAAAI,IAAAC,eACEP,gBAAgBK,eAAe;CAKzB,MAAAG,KAAAD,YAAUE;CACV,MAAAC,KAAAH,YAAUI;CACV,MAAAC,KAAAL,YAAUM;CAAI,IAAAC;AAAA,KAAAX,EAAA,OAAAY,OAAAC,IAAA,4BAAA,EAAA;AAOZF,OAAA;GAAAG,OAAS;GAAMC,UAAY;GAAQ;AAAAf,IAAA,KAAAW;OAAAA,MAAAX,EAAA;CAAA,IAAAgB;AAAA,KAAAhB,EAAA,OAAAY,OAAAC,IAAA,4BAAA,EAAA;AAiBjCG,OAAA;GAAAC,MACQ;GAAWC,OACV;GAACC,MACF;IAAAC,OAAS;IAAOC,KAAO;IAAIC,KAAO;IAAI;GAC7C;AAAAtB,IAAA,KAAAgB;OAAAA,MAAAhB,EAAA;CAAA,IAAAuB;CAAA,IAAAC;AAAA,KAAAxB,EAAA,OAAAY,OAAAC,IAAA,4BAAA,EAAA;AALMU,OAAA,CACPP,IAKA;GAAAC,MACQ;GAASC,OACR;GAAGC,MACJ;IAAAC,OAAS;IAAOC,KAAO;IAAKC,KAAO;IAAGG,MAAQ;IAAM;GAC3D,CACF;AAGCD,OAAA;GAAAP,MACQ;GAAQS,KACT;GACN;AAAA1B,IAAA,KAAAuB;AAAAvB,IAAA,KAAAwB;QAAA;AAAAD,OAAAvB,EAAA;AAAAwB,OAAAxB,EAAA;;CAAA,IAAA2B;AAAA,KAAA3B,EAAA,OAAAY,OAAAC,IAAA,4BAAA,EAAA;AAKGc,OAAA;GAAAC,MACQ;GAAKC,OACJ;GAAGC,QACF,CAAC,IAAI,EAAE;GAAAC,QACP,EAAAC,QAAU,aAAa;GAAAP,MACzB,EAAAO,QAAU,WAAW;GAAAC,MACrB;GACP;AAAAjC,IAAA,KAAA2B;OAAAA,MAAA3B,EAAA;CAAA,IAAAkC;AAAA,KAAAlC,EAAA,OAAAY,OAAAC,IAAA,4BAAA,EAAA;AAhBDqB,OAAA,CACJV,IAIA;GAAAP,MACQ;GAAQkB,QACN;GAAQC,WACL,CACTT,IAQA;IAAAC,MACQ;IAAWS,KACZ;IAAMC,SACF,CAAC,QAAQ,OAAO;IAAAC,QACjB,CAAC,OAAO;IAAAC,KACX,CAAC,QAAQ;IAAAC,IACV,CAAC,QAAO;IACb,CAAA;GAEJ,CACF;AAAAzC,IAAA,KAAAkC;OAAAA,MAAAlC,EAAA;CAAA,IAAA0C;AAAA,KAAA1C,EAAA,OAAAY,OAAAC,IAAA,4BAAA,EAAA;AAGC6B,OAAA;GAAAzB,MACQ;GAAQW,MACR;GAAQe,OACP;GAAOC,QACN,CAAC,IAAI,EAAC;GACf;AAAA5C,IAAA,KAAA0C;OAAAA,MAAA1C,EAAA;CAAA,IAAA6C;CAAA,IAAAC;AAAA,KAAA9C,EAAA,OAAAY,OAAAC,IAAA,4BAAA,EAAA;AANKgC,QAAA,CACNH,IAMA;GAAAzB,MACQ;GAAQW,MACR;GAAQe,OACP;GAAQI,OACR;GAAIH,QACH;IAAAI,MAAQ;IAAQnB,OAAS;IAAS;GAAAoB,MACpC;GAAIhB,MACJ;GACP,CACF;AAEKa,QAAA,CACJ;GAAAI,QAAU;GAAQC,OAAS;GAAQC,QAAU;GAAG,EAChD;GAAAF,QAAU;GAAMC,OAAS;GAAQE,WAAa;GAACD,QAAU;GAAG,CAC7D;AAAApD,IAAA,KAAA6C;AAAA7C,IAAA,KAAA8C;QAAA;AAAAD,QAAA7C,EAAA;AAAA8C,QAAA9C,EAAA;;CAAA,IAAAsD;CAAA,IAAAC;AAAA,KAAAvD,EAAA,OAAAY,OAAAC,IAAA,4BAAA,EAAA;AAKSyC,QAAA,EAAAN,MAAQ,UAAU;AAGjBO,QAAA;GAAAJ,OAAS;GAAQtB,OAAS;GAAQ;AAAA7B,IAAA,KAAAsD;AAAAtD,IAAA,MAAAuD;QAAA;AAAAD,QAAAtD,EAAA;AAAAuD,QAAAvD,EAAA;;CAAA,IAAAwD;AAAA,KAAAxD,EAAA,QAAAY,OAAAC,IAAA,4BAAA,EAAA;AAL3C2C,QAAA;GAAA5B,MACQ;GAAM6B,MACNH;GAAkBI,QAChB;IAAAC,QACE;KAAAC,GACHL;KAAkCM,IACjC;MAAAV,OACK;MAAQtB,OACR;MAAMiC,QACL,EAAA9B,QAAU,6BAA4B;MAC/C;KAAA+B,GACE;MAAAZ,OAAS;MAAQtB,OAAS;MAAS;KAAAmC,IAClC;MAAAb,OAAS;MAAQjC,OAAS;MAAG;KAAA+C,MAC3B,EAAA/C,OAAS,aAAY;KAC5B;IAAAgD,OACM,EAAAD,MAAQ,EAAA/C,OAAS,aAAY,EAAE;IACxC;GACD;AAAAlB,IAAA,MAAAwD;OAAAA,OAAAxD,EAAA;CAAA,IAAAmE;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAArE,EAAA,QAAAY,OAAAC,IAAA,4BAAA,EAAA;AAGOsD,QAAA,EAAAnB,MAAQ,UAAU;AAGjBoB,QAAA;GAAAjB,OAAS;GAAQtB,OAAS;GAAK;AAC3BwC,QAAA,EAAAnD,OAAS,GAAG;AAAAlB,IAAA,MAAAmE;AAAAnE,IAAA,MAAAoE;AAAApE,IAAA,MAAAqE;QAAA;AAAAF,QAAAnE,EAAA;AAAAoE,QAAApE,EAAA;AAAAqE,QAAArE,EAAA;;CAAA,IAAAsE;AAAA,KAAAtE,EAAA,QAAAY,OAAAC,IAAA,4BAAA,EAAA;AA9GjCyD,QAAA,sBAAA,cAAC,KAAD;GACM,IAAA;GACJ,OAAA;GACS,UAAA;GACL,IAAA3D;GAqHA,EAnHJ,sBAAA,cAAC,aAAD;GACU,SAAA;GACF,OAAA;GACK,YAAA;GACX,YAAA;GACS,SAAA;GACH,MAAA;IAAA4D,SACK;IAA4CC,aAEnD;IAAqE1D,OAChE;IAAG2D,QACF;IAAGC,SACF;IAACC,SAEDpD;IAWRyB,MAEKd;IA2BL0C,QAEO/B;IAgBPgC,MAEK/B;IAGLgC,OAEM,CACLtB,KAkBA;KAAA5B,MACQ;KAAM6B,MACNU;KAAkBT,QAChB,EAAAqB,OACC;MAAAnB,GACFQ;MAA+BtD,OAC3BuD;MAAYN,GAChB;OAAA7C,OAAS;OAAE4C,QAAU,EAAA9B,QAAU,UAAS;OAAG;MAAAyC,QACtC,EAAAvD,OAAS,GAAG;MAAA+C,MACd,EAAA/C,OAAS,aAAa;MAAA8D,aACf,EAAA9D,OAAS,IAAI;MAC5B,EACF;KACD,CAAA;IAEL;GAEJ,CAAA,CAAM;AAAAlB,IAAA,MAAAsE;OAAAA,OAAAtE,EAAA;CAAA,IAAAiF;AAAA,KAAAjF,EAAA,QAAAG,MAAAH,EAAA,QAAAK,MAAAL,EAAA,QAAAO,MAAAP,EAAA,QAAAS,IAAA;AAhIRwE,QAAA,sBAAA,cAAC,MAAD;GACE,MAAA;GACI,IAAA5E;GACA,IAAAE;GACA,IAAAE;GACCN,KAAAA;GA4HA,EA1HLmE,IA0HK;AAAAtE,IAAA,MAAAG;AAAAH,IAAA,MAAAK;AAAAL,IAAA,MAAAO;AAAAP,IAAA,MAAAS;AAAAT,IAAA,MAAAiF;OAAAA,OAAAjF,EAAA;AAAA,QAjIPiF"}