@pie-lib/graphing 2.4.3-next.462 → 2.4.3-next.473

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.
@@ -1 +1 @@
1
- {"version":3,"file":"grid-setup.js","names":["GridConfig","props","classes","disabled","displayedFields","labelValue","labelValues","gridValue","gridValues","onChange","labelStep","step","columnView","enabled","mediumTextField","label","e","v","AxisConfig","displayHeader","maxValue","minValue","type","axisLabel","min","max","activePlugins","value","GridSetup","domain","includeAxes","range","size","sizeConstraints","standardGrid","gridProps","dimensionsEnabled","includeAxesEnabled","standardGridEnabled","displayAxisType","gridConfigFields","axisConfigFields","onIncludeAxes","noAxesConfig","axis","updatedRange","updatedDomain","onStandardGridChanged","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","textField","propTypes","PropTypes","object","bool","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color","paddingTop","withStyles"],"sources":["../src/grid-setup.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';\nimport EditableHTML from '@pie-lib/editable-html';\n\nconst GridConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n labelValue,\n labelValues,\n gridValue,\n gridValues,\n onChange\n } = props;\n const { labelStep = {}, step = {} } = displayedFields;\n\n return (\n <div className={classes.columnView}>\n {step && step.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={step.label || ''}\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n )}\n {labelStep && labelStep.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={labelStep.label || ''}\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n )}\n </div>\n );\n};\n\nconst AxisConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n displayHeader,\n label,\n maxValue,\n minValue,\n onChange,\n type\n } = props;\n const { axisLabel = {}, min = {}, max = {} } = displayedFields;\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough'\n // 'languageCharacters'\n ];\n\n return (\n <div className={classes.columnView}>\n {displayHeader && (\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n )}\n {min && min.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={min.label || ''}\n value={minValue}\n min={-10000}\n max={maxValue - 0.01}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n )}\n {max && max.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={max.label || ''}\n value={maxValue}\n min={minValue + 0.01}\n max={10000}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n )}\n {axisLabel && axisLabel.enabled && (\n <InputContainer label={axisLabel.label || ''} className={classes.mediumTextField}>\n <EditableHTML\n className={classes.axisLabel}\n onChange={value => onChange('axisLabel', value)}\n markup={label || ''}\n charactersLimit={5}\n activePlugins={activePlugins}\n />\n </InputContainer>\n )}\n </div>\n );\n};\n\nconst GridSetup = props => {\n const {\n classes,\n domain,\n displayedFields = {},\n gridValues = {},\n includeAxes,\n labelValues = {},\n onChange,\n range,\n size,\n sizeConstraints,\n standardGrid\n } = props;\n const gridProps = { min: 2, max: 41 };\n const {\n axisLabel = {},\n dimensionsEnabled,\n includeAxesEnabled,\n labelStep = {},\n min = {},\n max = {},\n standardGridEnabled,\n step = {}\n } = displayedFields || {};\n const displayAxisType =\n min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;\n const gridConfigFields = { step, labelStep };\n const axisConfigFields = { min, max, axisLabel };\n\n const onIncludeAxes = includeAxes => {\n const noAxesConfig = type => {\n const axis = type === 'domain' ? domain : range;\n\n return {\n min: 1,\n max: axis.max < gridProps.min || axis.max > gridProps.max ? 16 : axis.max,\n step: 1,\n labelStep: 0\n };\n };\n\n const updatedRange = {\n ...range,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('range'))\n };\n const updatedDomain = {\n ...domain,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('domain'))\n };\n\n onChange({ includeAxes, range: updatedRange, domain: updatedDomain });\n };\n\n const onStandardGridChanged = value => {\n onChange({\n standardGrid: value,\n range: {\n ...domain,\n axisLabel: range.axisLabel\n },\n graph: {\n ...size,\n height: size.width\n }\n });\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n if (standardGrid) {\n graph.height = value;\n }\n\n onChange({ graph });\n };\n\n const onDomainChanged = (key, value) => {\n domain[key] = value;\n\n if (standardGrid && key !== 'axisLabel') {\n range[key] = value;\n }\n\n onChange({ domain, range });\n };\n\n const onRangeChanged = (key, value) => {\n range[key] = value;\n\n onChange({ range });\n };\n\n const axesConfig = (\n <React.Fragment>\n <div className={classes.rowView}>\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"domain\"\n minValue={domain.min}\n maxValue={domain.max}\n label={domain.axisLabel}\n includeAxes={includeAxes}\n onChange={onDomainChanged}\n />\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"range\"\n minValue={range.min}\n maxValue={range.max}\n label={range.axisLabel}\n disabled={standardGrid}\n includeAxes={includeAxes}\n onChange={onRangeChanged}\n />\n </div>\n {(min.enabled || max.enabled) && (\n <Typography className={classes.text}>\n If you want the axis to be visible, use a zero or negative Min Value, and a positive Max\n Value\n </Typography>\n )}\n {(step.enabled || labelStep.enabled) && (\n <div className={classes.rowView}>\n <GridConfig\n classes={classes}\n displayedFields={gridConfigFields}\n gridValue={domain.step}\n labelValue={domain.labelStep}\n gridValues={gridValues.domain || []}\n labelValues={labelValues.domain || []}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n displayedFields={gridConfigFields}\n gridValue={range.step}\n labelValue={range.labelStep}\n gridValues={gridValues.range || []}\n labelValues={labelValues.range || []}\n onChange={onRangeChanged}\n />\n </div>\n )}\n {labelStep.enabled && (\n <Typography className={classes.text}>\n For unnumbered gridlines, enter a label interval of 0\n </Typography>\n )}\n </React.Fragment>\n );\n\n const gridlinesConfig = max.enabled ? (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Horizontal Gridlines\"\n value={domain.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n onChange={(e, v) => onDomainChanged('max', v)}\n />\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Vertical Gridlines\"\n value={range.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onRangeChanged('max', v)}\n />\n </div>\n ) : null;\n\n return (\n <div className={classes.wrapper}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"subtitle1\">Customize Grid Setup</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.content}>\n {includeAxesEnabled && (\n <Toggle\n label=\"Include axes and labels?\"\n toggle={onIncludeAxes}\n checked={includeAxes}\n />\n )}\n {standardGridEnabled && (\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\n />\n )}\n {includeAxes ? axesConfig : gridlinesConfig}\n {dimensionsEnabled && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n <Typography className={classes.disabled}>\n Min {sizeConstraints.min}, Max {sizeConstraints.max}\n </Typography>\n </div>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Width\"\n value={size.width}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Height\"\n value={size.height}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n </div>\n )}\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n};\n\nGridSetup.propTypes = {\n classes: PropTypes.object,\n domain: PropTypes.object,\n displayedFields: PropTypes.object,\n gridValues: PropTypes.object,\n includeAxes: PropTypes.bool,\n labelValues: PropTypes.object,\n onChange: PropTypes.function,\n range: PropTypes.object,\n size: PropTypes.object,\n sizeConstraints: PropTypes.object,\n standardGrid: PropTypes.bool\n};\n\nconst styles = theme => ({\n wrapper: {\n width: '450px'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center'\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n disabled: {\n color: color.disabled()\n },\n axisLabel: {\n paddingTop: theme.spacing.unit * 2\n }\n});\n\nexport default withStyles(styles)(GridSetup);\n"],"mappings":"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"}
1
+ {"version":3,"file":"grid-setup.js","names":["GridConfig","props","classes","disabled","displayedFields","labelValue","labelValues","gridValue","gridValues","onChange","labelStep","step","columnView","enabled","mediumTextField","label","e","v","propTypes","PropTypes","object","bool","number","array","func","AxisConfig","displayHeader","maxValue","minValue","type","axisLabel","min","max","activePlugins","value","GridSetup","domain","includeAxes","onChangeView","range","size","sizeConstraints","standardGrid","gridProps","dimensionsEnabled","includeAxesEnabled","standardGridEnabled","displayAxisType","gridConfigFields","axisConfigFields","onIncludeAxes","noAxesConfig","axis","updatedRange","updatedDomain","onStandardGridChanged","graph","height","width","onSizeChanged","key","onDomainChanged","onRangeChanged","axesConfig","rowView","text","gridlinesConfig","largeTextField","wrapper","content","dimensions","textField","styles","theme","display","flexDirection","alignItems","justifyContent","margin","spacing","unit","fontStyle","color","paddingTop","withStyles"],"sources":["../src/grid-setup.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { color, InputContainer } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { NumberTextFieldCustom, Toggle } from '@pie-lib/config-ui';\nimport EditableHTML from '@pie-lib/editable-html';\n\nconst GridConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n labelValue,\n labelValues,\n gridValue,\n gridValues,\n onChange\n } = props;\n const { labelStep = {}, step = {} } = displayedFields;\n\n return (\n <div className={classes.columnView}>\n {step && step.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={step.label || ''}\n value={gridValue}\n customValues={gridValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('step', v)}\n />\n )}\n {labelStep && labelStep.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={labelStep.label || ''}\n value={labelValue}\n customValues={labelValues}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('labelStep', v)}\n />\n )}\n </div>\n );\n};\n\nGridConfig.propTypes = {\n classes: PropTypes.object,\n disabled: PropTypes.bool,\n displayedFields: PropTypes.object,\n labelValue: PropTypes.number,\n labelValues: PropTypes.array,\n gridValue: PropTypes.number,\n gridValues: PropTypes.array,\n onChange: PropTypes.func\n};\n\nconst AxisConfig = props => {\n const {\n classes,\n disabled,\n displayedFields,\n displayHeader,\n label,\n maxValue,\n minValue,\n onChange,\n type\n } = props;\n const { axisLabel = {}, min = {}, max = {} } = displayedFields;\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough'\n // 'languageCharacters'\n ];\n\n return (\n <div className={classes.columnView}>\n {displayHeader && (\n <Typography variant=\"subtitle2\">\n <i>{type === 'domain' ? 'x' : 'y'}</i>\n -axis\n </Typography>\n )}\n {min && min.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={min.label || ''}\n value={minValue}\n min={-10000}\n max={maxValue - 0.01}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('min', v)}\n />\n )}\n {max && max.enabled && (\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={max.label || ''}\n value={maxValue}\n min={minValue + 0.01}\n max={10000}\n variant=\"outlined\"\n disabled={disabled}\n onChange={(e, v) => onChange('max', v)}\n />\n )}\n {axisLabel && axisLabel.enabled && (\n <InputContainer label={axisLabel.label || ''} className={classes.mediumTextField}>\n <EditableHTML\n className={classes.axisLabel}\n onChange={value => onChange('axisLabel', value)}\n markup={label || ''}\n charactersLimit={5}\n activePlugins={activePlugins}\n />\n </InputContainer>\n )}\n </div>\n );\n};\n\nconst GridSetup = props => {\n const {\n classes,\n domain,\n displayedFields = {},\n gridValues = {},\n includeAxes,\n labelValues = {},\n onChange,\n onChangeView,\n range,\n size,\n sizeConstraints,\n standardGrid\n } = props;\n const gridProps = { min: 2, max: 41 };\n const {\n axisLabel = {},\n dimensionsEnabled,\n includeAxesEnabled,\n labelStep = {},\n min = {},\n max = {},\n standardGridEnabled,\n step = {}\n } = displayedFields || {};\n const displayAxisType =\n min.enabled || max.enabled || axisLabel.enabled || step.enabled || labelStep.enabled;\n const gridConfigFields = { step, labelStep };\n const axisConfigFields = { min, max, axisLabel };\n\n const onIncludeAxes = includeAxes => {\n const noAxesConfig = type => {\n const axis = type === 'domain' ? domain : range;\n\n return {\n min: 1,\n max: axis.max < gridProps.min || axis.max > gridProps.max ? 16 : axis.max,\n step: 1,\n labelStep: 0\n };\n };\n\n const updatedRange = {\n ...range,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('range'))\n };\n const updatedDomain = {\n ...domain,\n ...(includeAxes ? { labelStep: 1 } : noAxesConfig('domain'))\n };\n\n onChange({ includeAxes, range: updatedRange, domain: updatedDomain });\n };\n\n const onStandardGridChanged = value => {\n onChange({\n standardGrid: value,\n range: {\n ...domain,\n axisLabel: range.axisLabel\n },\n graph: {\n ...size,\n height: size.width\n }\n });\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n if (standardGrid) {\n graph.height = value;\n }\n\n onChange({ graph });\n };\n\n const onDomainChanged = (key, value) => {\n domain[key] = value;\n\n if (standardGrid && key !== 'axisLabel') {\n range[key] = value;\n }\n\n onChange({ domain, range });\n };\n\n const onRangeChanged = (key, value) => {\n range[key] = value;\n\n onChange({ range });\n };\n\n const axesConfig = (\n <React.Fragment>\n <div className={classes.rowView}>\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"domain\"\n minValue={domain.min}\n maxValue={domain.max}\n label={domain.axisLabel}\n includeAxes={includeAxes}\n onChange={onDomainChanged}\n />\n <AxisConfig\n classes={classes}\n displayedFields={axisConfigFields}\n displayHeader={displayAxisType}\n type=\"range\"\n minValue={range.min}\n maxValue={range.max}\n label={range.axisLabel}\n disabled={standardGrid}\n includeAxes={includeAxes}\n onChange={onRangeChanged}\n />\n </div>\n {(min.enabled || max.enabled) && (\n <Typography className={classes.text}>\n If you want the axis to be visible, use a zero or negative Min Value, and a positive Max\n Value\n </Typography>\n )}\n {(step.enabled || labelStep.enabled) && (\n <div className={classes.rowView}>\n <GridConfig\n classes={classes}\n displayedFields={gridConfigFields}\n gridValue={domain.step}\n labelValue={domain.labelStep}\n gridValues={gridValues.domain || []}\n labelValues={labelValues.domain || []}\n onChange={onDomainChanged}\n />\n <GridConfig\n classes={classes}\n disabled={standardGrid}\n displayedFields={gridConfigFields}\n gridValue={range.step}\n labelValue={range.labelStep}\n gridValues={gridValues.range || []}\n labelValues={labelValues.range || []}\n onChange={onRangeChanged}\n />\n </div>\n )}\n {labelStep.enabled && (\n <Typography className={classes.text}>\n For unnumbered gridlines, enter a label interval of 0\n </Typography>\n )}\n </React.Fragment>\n );\n\n const gridlinesConfig = max.enabled ? (\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Horizontal Gridlines\"\n value={domain.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n onChange={(e, v) => onDomainChanged('max', v)}\n />\n <NumberTextFieldCustom\n className={classes.largeTextField}\n label=\"Number of Vertical Gridlines\"\n value={range.max}\n min={!includeAxes && gridProps.min}\n max={!includeAxes && gridProps.max}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onRangeChanged('max', v)}\n />\n </div>\n ) : null;\n\n return (\n <div className={classes.wrapper}>\n <ExpansionPanel onChange={onChangeView}>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography variant=\"subtitle1\">Customize Grid Setup</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.content}>\n {includeAxesEnabled && (\n <Toggle\n label=\"Include axes and labels?\"\n toggle={onIncludeAxes}\n checked={includeAxes}\n />\n )}\n {standardGridEnabled && (\n <Toggle\n label=\"Constrain to standard coordinate grid?\"\n toggle={onStandardGridChanged}\n checked={standardGrid}\n />\n )}\n {includeAxes ? axesConfig : gridlinesConfig}\n {dimensionsEnabled && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n <Typography className={classes.disabled}>\n Min {sizeConstraints.min}, Max {sizeConstraints.max}\n </Typography>\n </div>\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Width\"\n value={size.width}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <NumberTextFieldCustom\n className={classes.textField}\n label=\"Height\"\n value={size.height}\n min={sizeConstraints.min}\n max={sizeConstraints.max}\n step={sizeConstraints.step}\n variant=\"outlined\"\n disabled={standardGrid}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n </div>\n )}\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n};\n\nGridSetup.propTypes = {\n classes: PropTypes.object,\n domain: PropTypes.object,\n displayedFields: PropTypes.object,\n gridValues: PropTypes.object,\n includeAxes: PropTypes.bool,\n labelValues: PropTypes.object,\n onChange: PropTypes.function,\n onChangeView: PropTypes.function,\n range: PropTypes.object,\n size: PropTypes.object,\n sizeConstraints: PropTypes.object,\n standardGrid: PropTypes.bool\n};\n\nconst styles = theme => ({\n wrapper: {\n width: '450px'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%'\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center'\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n disabled: {\n color: color.disabled()\n },\n axisLabel: {\n paddingTop: theme.spacing.unit * 2\n }\n});\n\nexport default withStyles(styles)(GridSetup);\n"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,UAAU,GAAG,SAAbA,UAAa,CAAAC,KAAK,EAAI;EAC1B,IACEC,OADF,GASID,KATJ,CACEC,OADF;EAAA,IAEEC,QAFF,GASIF,KATJ,CAEEE,QAFF;EAAA,IAGEC,eAHF,GASIH,KATJ,CAGEG,eAHF;EAAA,IAIEC,UAJF,GASIJ,KATJ,CAIEI,UAJF;EAAA,IAKEC,WALF,GASIL,KATJ,CAKEK,WALF;EAAA,IAMEC,SANF,GASIN,KATJ,CAMEM,SANF;EAAA,IAOEC,UAPF,GASIP,KATJ,CAOEO,UAPF;EAAA,IAQEC,SARF,GASIR,KATJ,CAQEQ,QARF;EAUA,4BAAsCL,eAAtC,CAAQM,SAAR;EAAA,IAAQA,SAAR,sCAAoB,EAApB;EAAA,4BAAsCN,eAAtC,CAAwBO,IAAxB;EAAA,IAAwBA,IAAxB,sCAA+B,EAA/B;EAEA,oBACE;IAAK,SAAS,EAAET,OAAO,CAACU;EAAxB,GACGD,IAAI,IAAIA,IAAI,CAACE,OAAb,iBACC,gCAAC,+BAAD;IACE,SAAS,EAAEX,OAAO,CAACY,eADrB;IAEE,KAAK,EAAEH,IAAI,CAACI,KAAL,IAAc,EAFvB;IAGE,KAAK,EAAER,SAHT;IAIE,YAAY,EAAEC,UAJhB;IAKE,OAAO,EAAC,UALV;IAME,QAAQ,EAAEL,QANZ;IAOE,QAAQ,EAAE,kBAACa,CAAD,EAAIC,CAAJ;MAAA,OAAUR,SAAQ,CAAC,MAAD,EAASQ,CAAT,CAAlB;IAAA;EAPZ,EAFJ,EAYGP,SAAS,IAAIA,SAAS,CAACG,OAAvB,iBACC,gCAAC,+BAAD;IACE,SAAS,EAAEX,OAAO,CAACY,eADrB;IAEE,KAAK,EAAEJ,SAAS,CAACK,KAAV,IAAmB,EAF5B;IAGE,KAAK,EAAEV,UAHT;IAIE,YAAY,EAAEC,WAJhB;IAKE,OAAO,EAAC,UALV;IAME,QAAQ,EAAEH,QANZ;IAOE,QAAQ,EAAE,kBAACa,CAAD,EAAIC,CAAJ;MAAA,OAAUR,SAAQ,CAAC,WAAD,EAAcQ,CAAd,CAAlB;IAAA;EAPZ,EAbJ,CADF;AA0BD,CAvCD;;AAyCAjB,UAAU,CAACkB,SAAX,GAAuB;EACrBhB,OAAO,EAAEiB,qBAAA,CAAUC,MADE;EAErBjB,QAAQ,EAAEgB,qBAAA,CAAUE,IAFC;EAGrBjB,eAAe,EAAEe,qBAAA,CAAUC,MAHN;EAIrBf,UAAU,EAAEc,qBAAA,CAAUG,MAJD;EAKrBhB,WAAW,EAAEa,qBAAA,CAAUI,KALF;EAMrBhB,SAAS,EAAEY,qBAAA,CAAUG,MANA;EAOrBd,UAAU,EAAEW,qBAAA,CAAUI,KAPD;EAQrBd,QAAQ,EAAEU,qBAAA,CAAUK;AARC,CAAvB;;AAWA,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAAAxB,KAAK,EAAI;EAC1B,IACEC,OADF,GAUID,KAVJ,CACEC,OADF;EAAA,IAEEC,QAFF,GAUIF,KAVJ,CAEEE,QAFF;EAAA,IAGEC,eAHF,GAUIH,KAVJ,CAGEG,eAHF;EAAA,IAIEsB,aAJF,GAUIzB,KAVJ,CAIEyB,aAJF;EAAA,IAKEX,KALF,GAUId,KAVJ,CAKEc,KALF;EAAA,IAMEY,QANF,GAUI1B,KAVJ,CAME0B,QANF;EAAA,IAOEC,QAPF,GAUI3B,KAVJ,CAOE2B,QAPF;EAAA,IAQEnB,UARF,GAUIR,KAVJ,CAQEQ,QARF;EAAA,IASEoB,IATF,GAUI5B,KAVJ,CASE4B,IATF;EAWA,4BAA+CzB,eAA/C,CAAQ0B,SAAR;EAAA,IAAQA,SAAR,sCAAoB,EAApB;EAAA,2BAA+C1B,eAA/C,CAAwB2B,GAAxB;EAAA,IAAwBA,GAAxB,qCAA8B,EAA9B;EAAA,2BAA+C3B,eAA/C,CAAkC4B,GAAlC;EAAA,IAAkCA,GAAlC,qCAAwC,EAAxC;EACA,IAAMC,aAAa,GAAG,CACpB,MADoB,EAEpB,QAFoB,EAGpB,WAHoB,EAIpB,eAJoB,CAKpB;EALoB,CAAtB;EAQA,oBACE;IAAK,SAAS,EAAE/B,OAAO,CAACU;EAAxB,GACGc,aAAa,iBACZ,gCAAC,sBAAD;IAAY,OAAO,EAAC;EAApB,gBACE,2CAAIG,IAAI,KAAK,QAAT,GAAoB,GAApB,GAA0B,GAA9B,CADF,UAFJ,EAOGE,GAAG,IAAIA,GAAG,CAAClB,OAAX,iBACC,gCAAC,+BAAD;IACE,SAAS,EAAEX,OAAO,CAACY,eADrB;IAEE,KAAK,EAAEiB,GAAG,CAAChB,KAAJ,IAAa,EAFtB;IAGE,KAAK,EAAEa,QAHT;IAIE,GAAG,EAAE,CAAC,KAJR;IAKE,GAAG,EAAED,QAAQ,GAAG,IALlB;IAME,OAAO,EAAC,UANV;IAOE,QAAQ,EAAExB,QAPZ;IAQE,QAAQ,EAAE,kBAACa,CAAD,EAAIC,CAAJ;MAAA,OAAUR,UAAQ,CAAC,KAAD,EAAQQ,CAAR,CAAlB;IAAA;EARZ,EARJ,EAmBGe,GAAG,IAAIA,GAAG,CAACnB,OAAX,iBACC,gCAAC,+BAAD;IACE,SAAS,EAAEX,OAAO,CAACY,eADrB;IAEE,KAAK,EAAEkB,GAAG,CAACjB,KAAJ,IAAa,EAFtB;IAGE,KAAK,EAAEY,QAHT;IAIE,GAAG,EAAEC,QAAQ,GAAG,IAJlB;IAKE,GAAG,EAAE,KALP;IAME,OAAO,EAAC,UANV;IAOE,QAAQ,EAAEzB,QAPZ;IAQE,QAAQ,EAAE,kBAACa,CAAD,EAAIC,CAAJ;MAAA,OAAUR,UAAQ,CAAC,KAAD,EAAQQ,CAAR,CAAlB;IAAA;EARZ,EApBJ,EA+BGa,SAAS,IAAIA,SAAS,CAACjB,OAAvB,iBACC,gCAAC,wBAAD;IAAgB,KAAK,EAAEiB,SAAS,CAACf,KAAV,IAAmB,EAA1C;IAA8C,SAAS,EAAEb,OAAO,CAACY;EAAjE,gBACE,gCAAC,wBAAD;IACE,SAAS,EAAEZ,OAAO,CAAC4B,SADrB;IAEE,QAAQ,EAAE,kBAAAI,KAAK;MAAA,OAAIzB,UAAQ,CAAC,WAAD,EAAcyB,KAAd,CAAZ;IAAA,CAFjB;IAGE,MAAM,EAAEnB,KAAK,IAAI,EAHnB;IAIE,eAAe,EAAE,CAJnB;IAKE,aAAa,EAAEkB;EALjB,EADF,CAhCJ,CADF;AA6CD,CAlED;;AAoEA,IAAME,SAAS,GAAG,SAAZA,SAAY,CAAAlC,KAAK,EAAI;EACzB,IACEC,OADF,GAaID,KAbJ,CACEC,OADF;EAAA,IAEEkC,MAFF,GAaInC,KAbJ,CAEEmC,MAFF;EAAA,4BAaInC,KAbJ,CAGEG,eAHF;EAAA,IAGEA,eAHF,sCAGoB,EAHpB;EAAA,wBAaIH,KAbJ,CAIEO,UAJF;EAAA,IAIEA,UAJF,kCAIe,EAJf;EAAA,IAKE6B,WALF,GAaIpC,KAbJ,CAKEoC,WALF;EAAA,yBAaIpC,KAbJ,CAMEK,WANF;EAAA,IAMEA,WANF,mCAMgB,EANhB;EAAA,IAOEG,QAPF,GAaIR,KAbJ,CAOEQ,QAPF;EAAA,IAQE6B,YARF,GAaIrC,KAbJ,CAQEqC,YARF;EAAA,IASEC,KATF,GAaItC,KAbJ,CASEsC,KATF;EAAA,IAUEC,IAVF,GAaIvC,KAbJ,CAUEuC,IAVF;EAAA,IAWEC,eAXF,GAaIxC,KAbJ,CAWEwC,eAXF;EAAA,IAYEC,YAZF,GAaIzC,KAbJ,CAYEyC,YAZF;EAcA,IAAMC,SAAS,GAAG;IAAEZ,GAAG,EAAE,CAAP;IAAUC,GAAG,EAAE;EAAf,CAAlB;;EACA,WASI5B,eAAe,IAAI,EATvB;EAAA,0BACE0B,SADF;EAAA,IACEA,SADF,+BACc,EADd;EAAA,IAEEc,iBAFF,QAEEA,iBAFF;EAAA,IAGEC,kBAHF,QAGEA,kBAHF;EAAA,0BAIEnC,SAJF;EAAA,IAIEA,SAJF,+BAIc,EAJd;EAAA,oBAKEqB,GALF;EAAA,IAKEA,GALF,yBAKQ,EALR;EAAA,oBAMEC,GANF;EAAA,IAMEA,GANF,yBAMQ,EANR;EAAA,IAOEc,mBAPF,QAOEA,mBAPF;EAAA,qBAQEnC,IARF;EAAA,IAQEA,IARF,0BAQS,EART;;EAUA,IAAMoC,eAAe,GACnBhB,GAAG,CAAClB,OAAJ,IAAemB,GAAG,CAACnB,OAAnB,IAA8BiB,SAAS,CAACjB,OAAxC,IAAmDF,IAAI,CAACE,OAAxD,IAAmEH,SAAS,CAACG,OAD/E;EAEA,IAAMmC,gBAAgB,GAAG;IAAErC,IAAI,EAAJA,IAAF;IAAQD,SAAS,EAATA;EAAR,CAAzB;EACA,IAAMuC,gBAAgB,GAAG;IAAElB,GAAG,EAAHA,GAAF;IAAOC,GAAG,EAAHA,GAAP;IAAYF,SAAS,EAATA;EAAZ,CAAzB;;EAEA,IAAMoB,aAAa,GAAG,SAAhBA,aAAgB,CAAAb,WAAW,EAAI;IACnC,IAAMc,YAAY,GAAG,SAAfA,YAAe,CAAAtB,IAAI,EAAI;MAC3B,IAAMuB,IAAI,GAAGvB,IAAI,KAAK,QAAT,GAAoBO,MAApB,GAA6BG,KAA1C;MAEA,OAAO;QACLR,GAAG,EAAE,CADA;QAELC,GAAG,EAAEoB,IAAI,CAACpB,GAAL,GAAWW,SAAS,CAACZ,GAArB,IAA4BqB,IAAI,CAACpB,GAAL,GAAWW,SAAS,CAACX,GAAjD,GAAuD,EAAvD,GAA4DoB,IAAI,CAACpB,GAFjE;QAGLrB,IAAI,EAAE,CAHD;QAILD,SAAS,EAAE;MAJN,CAAP;IAMD,CATD;;IAWA,IAAM2C,YAAY,mCACbd,KADa,GAEZF,WAAW,GAAG;MAAE3B,SAAS,EAAE;IAAb,CAAH,GAAsByC,YAAY,CAAC,OAAD,CAFjC,CAAlB;;IAIA,IAAMG,aAAa,mCACdlB,MADc,GAEbC,WAAW,GAAG;MAAE3B,SAAS,EAAE;IAAb,CAAH,GAAsByC,YAAY,CAAC,QAAD,CAFhC,CAAnB;;IAKA1C,QAAQ,CAAC;MAAE4B,WAAW,EAAXA,WAAF;MAAeE,KAAK,EAAEc,YAAtB;MAAoCjB,MAAM,EAAEkB;IAA5C,CAAD,CAAR;EACD,CAtBD;;EAwBA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAAArB,KAAK,EAAI;IACrCzB,QAAQ,CAAC;MACPiC,YAAY,EAAER,KADP;MAEPK,KAAK,kCACAH,MADA;QAEHN,SAAS,EAAES,KAAK,CAACT;MAFd,EAFE;MAMP0B,KAAK,kCACAhB,IADA;QAEHiB,MAAM,EAAEjB,IAAI,CAACkB;MAFV;IANE,CAAD,CAAR;EAWD,CAZD;;EAcA,IAAMC,aAAa,GAAG,SAAhBA,aAAgB,CAACC,GAAD,EAAM1B,KAAN,EAAgB;IACpC,IAAMsB,KAAK,mCAAQhB,IAAR,4CAAeoB,GAAf,EAAqB1B,KAArB,EAAX;;IAEA,IAAIQ,YAAJ,EAAkB;MAChBc,KAAK,CAACC,MAAN,GAAevB,KAAf;IACD;;IAEDzB,QAAQ,CAAC;MAAE+C,KAAK,EAALA;IAAF,CAAD,CAAR;EACD,CARD;;EAUA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACD,GAAD,EAAM1B,KAAN,EAAgB;IACtCE,MAAM,CAACwB,GAAD,CAAN,GAAc1B,KAAd;;IAEA,IAAIQ,YAAY,IAAIkB,GAAG,KAAK,WAA5B,EAAyC;MACvCrB,KAAK,CAACqB,GAAD,CAAL,GAAa1B,KAAb;IACD;;IAEDzB,QAAQ,CAAC;MAAE2B,MAAM,EAANA,MAAF;MAAUG,KAAK,EAALA;IAAV,CAAD,CAAR;EACD,CARD;;EAUA,IAAMuB,cAAc,GAAG,SAAjBA,cAAiB,CAACF,GAAD,EAAM1B,KAAN,EAAgB;IACrCK,KAAK,CAACqB,GAAD,CAAL,GAAa1B,KAAb;IAEAzB,QAAQ,CAAC;MAAE8B,KAAK,EAALA;IAAF,CAAD,CAAR;EACD,CAJD;;EAMA,IAAMwB,UAAU,gBACd,gCAAC,iBAAD,CAAO,QAAP,qBACE;IAAK,SAAS,EAAE7D,OAAO,CAAC8D;EAAxB,gBACE,gCAAC,UAAD;IACE,OAAO,EAAE9D,OADX;IAEE,eAAe,EAAE+C,gBAFnB;IAGE,aAAa,EAAEF,eAHjB;IAIE,IAAI,EAAC,QAJP;IAKE,QAAQ,EAAEX,MAAM,CAACL,GALnB;IAME,QAAQ,EAAEK,MAAM,CAACJ,GANnB;IAOE,KAAK,EAAEI,MAAM,CAACN,SAPhB;IAQE,WAAW,EAAEO,WARf;IASE,QAAQ,EAAEwB;EATZ,EADF,eAYE,gCAAC,UAAD;IACE,OAAO,EAAE3D,OADX;IAEE,eAAe,EAAE+C,gBAFnB;IAGE,aAAa,EAAEF,eAHjB;IAIE,IAAI,EAAC,OAJP;IAKE,QAAQ,EAAER,KAAK,CAACR,GALlB;IAME,QAAQ,EAAEQ,KAAK,CAACP,GANlB;IAOE,KAAK,EAAEO,KAAK,CAACT,SAPf;IAQE,QAAQ,EAAEY,YARZ;IASE,WAAW,EAAEL,WATf;IAUE,QAAQ,EAAEyB;EAVZ,EAZF,CADF,EA0BG,CAAC/B,GAAG,CAAClB,OAAJ,IAAemB,GAAG,CAACnB,OAApB,kBACC,gCAAC,sBAAD;IAAY,SAAS,EAAEX,OAAO,CAAC+D;EAA/B,oGA3BJ,EAgCG,CAACtD,IAAI,CAACE,OAAL,IAAgBH,SAAS,CAACG,OAA3B,kBACC;IAAK,SAAS,EAAEX,OAAO,CAAC8D;EAAxB,gBACE,gCAAC,UAAD;IACE,OAAO,EAAE9D,OADX;IAEE,eAAe,EAAE8C,gBAFnB;IAGE,SAAS,EAAEZ,MAAM,CAACzB,IAHpB;IAIE,UAAU,EAAEyB,MAAM,CAAC1B,SAJrB;IAKE,UAAU,EAAEF,UAAU,CAAC4B,MAAX,IAAqB,EALnC;IAME,WAAW,EAAE9B,WAAW,CAAC8B,MAAZ,IAAsB,EANrC;IAOE,QAAQ,EAAEyB;EAPZ,EADF,eAUE,gCAAC,UAAD;IACE,OAAO,EAAE3D,OADX;IAEE,QAAQ,EAAEwC,YAFZ;IAGE,eAAe,EAAEM,gBAHnB;IAIE,SAAS,EAAET,KAAK,CAAC5B,IAJnB;IAKE,UAAU,EAAE4B,KAAK,CAAC7B,SALpB;IAME,UAAU,EAAEF,UAAU,CAAC+B,KAAX,IAAoB,EANlC;IAOE,WAAW,EAAEjC,WAAW,CAACiC,KAAZ,IAAqB,EAPpC;IAQE,QAAQ,EAAEuB;EARZ,EAVF,CAjCJ,EAuDGpD,SAAS,CAACG,OAAV,iBACC,gCAAC,sBAAD;IAAY,SAAS,EAAEX,OAAO,CAAC+D;EAA/B,2DAxDJ,CADF;;EAgEA,IAAMC,eAAe,GAAGlC,GAAG,CAACnB,OAAJ,gBACtB;IAAK,SAAS,EAAEX,OAAO,CAACU;EAAxB,gBACE,gCAAC,+BAAD;IACE,SAAS,EAAEV,OAAO,CAACiE,cADrB;IAEE,KAAK,EAAC,gCAFR;IAGE,KAAK,EAAE/B,MAAM,CAACJ,GAHhB;IAIE,GAAG,EAAE,CAACK,WAAD,IAAgBM,SAAS,CAACZ,GAJjC;IAKE,GAAG,EAAE,CAACM,WAAD,IAAgBM,SAAS,CAACX,GALjC;IAME,OAAO,EAAC,UANV;IAOE,QAAQ,EAAE,kBAAChB,CAAD,EAAIC,CAAJ;MAAA,OAAU4C,eAAe,CAAC,KAAD,EAAQ5C,CAAR,CAAzB;IAAA;EAPZ,EADF,eAUE,gCAAC,+BAAD;IACE,SAAS,EAAEf,OAAO,CAACiE,cADrB;IAEE,KAAK,EAAC,8BAFR;IAGE,KAAK,EAAE5B,KAAK,CAACP,GAHf;IAIE,GAAG,EAAE,CAACK,WAAD,IAAgBM,SAAS,CAACZ,GAJjC;IAKE,GAAG,EAAE,CAACM,WAAD,IAAgBM,SAAS,CAACX,GALjC;IAME,OAAO,EAAC,UANV;IAOE,QAAQ,EAAEU,YAPZ;IAQE,QAAQ,EAAE,kBAAC1B,CAAD,EAAIC,CAAJ;MAAA,OAAU6C,cAAc,CAAC,KAAD,EAAQ7C,CAAR,CAAxB;IAAA;EARZ,EAVF,CADsB,GAsBpB,IAtBJ;EAwBA,oBACE;IAAK,SAAS,EAAEf,OAAO,CAACkE;EAAxB,gBACE,gCAAC,0BAAD;IAAgB,QAAQ,EAAE9B;EAA1B,gBACE,gCAAC,iCAAD;IAAuB,UAAU,eAAE,gCAAC,sBAAD;EAAnC,gBACE,gCAAC,sBAAD;IAAY,OAAO,EAAC;EAApB,0BADF,CADF,eAIE,gCAAC,iCAAD,qBACE;IAAK,SAAS,EAAEpC,OAAO,CAACmE;EAAxB,GACGxB,kBAAkB,iBACjB,gCAAC,gBAAD;IACE,KAAK,EAAC,0BADR;IAEE,MAAM,EAAEK,aAFV;IAGE,OAAO,EAAEb;EAHX,EAFJ,EAQGS,mBAAmB,iBAClB,gCAAC,gBAAD;IACE,KAAK,EAAC,wCADR;IAEE,MAAM,EAAES,qBAFV;IAGE,OAAO,EAAEb;EAHX,EATJ,EAeGL,WAAW,GAAG0B,UAAH,GAAgBG,eAf9B,EAgBGtB,iBAAiB,iBAChB;IAAK,SAAS,EAAE1C,OAAO,CAACoE;EAAxB,gBACE,0DACE,gCAAC,sBAAD,yBADF,eAEE,gCAAC,sBAAD;IAAY,SAAS,EAAEpE,OAAO,CAACC;EAA/B,WACOsC,eAAe,CAACV,GADvB,YACkCU,eAAe,CAACT,GADlD,CAFF,CADF,eAOE,gCAAC,+BAAD;IACE,SAAS,EAAE9B,OAAO,CAACqE,SADrB;IAEE,KAAK,EAAC,OAFR;IAGE,KAAK,EAAE/B,IAAI,CAACkB,KAHd;IAIE,GAAG,EAAEjB,eAAe,CAACV,GAJvB;IAKE,GAAG,EAAEU,eAAe,CAACT,GALvB;IAME,IAAI,EAAES,eAAe,CAAC9B,IANxB;IAOE,OAAO,EAAC,UAPV;IAQE,QAAQ,EAAE,kBAACK,CAAD,EAAIC,CAAJ;MAAA,OAAU0C,aAAa,CAAC,OAAD,EAAU1C,CAAV,CAAvB;IAAA;EARZ,EAPF,eAiBE,gCAAC,+BAAD;IACE,SAAS,EAAEf,OAAO,CAACqE,SADrB;IAEE,KAAK,EAAC,QAFR;IAGE,KAAK,EAAE/B,IAAI,CAACiB,MAHd;IAIE,GAAG,EAAEhB,eAAe,CAACV,GAJvB;IAKE,GAAG,EAAEU,eAAe,CAACT,GALvB;IAME,IAAI,EAAES,eAAe,CAAC9B,IANxB;IAOE,OAAO,EAAC,UAPV;IAQE,QAAQ,EAAE+B,YARZ;IASE,QAAQ,EAAE,kBAAC1B,CAAD,EAAIC,CAAJ;MAAA,OAAU0C,aAAa,CAAC,QAAD,EAAW1C,CAAX,CAAvB;IAAA;EATZ,EAjBF,CAjBJ,CADF,CAJF,CADF,CADF;AA2DD,CAlPD;;AAoPAkB,SAAS,CAACjB,SAAV,GAAsB;EACpBhB,OAAO,EAAEiB,qBAAA,CAAUC,MADC;EAEpBgB,MAAM,EAAEjB,qBAAA,CAAUC,MAFE;EAGpBhB,eAAe,EAAEe,qBAAA,CAAUC,MAHP;EAIpBZ,UAAU,EAAEW,qBAAA,CAAUC,MAJF;EAKpBiB,WAAW,EAAElB,qBAAA,CAAUE,IALH;EAMpBf,WAAW,EAAEa,qBAAA,CAAUC,MANH;EAOpBX,QAAQ,EAAEU,qBAAA,YAPU;EAQpBmB,YAAY,EAAEnB,qBAAA,YARM;EASpBoB,KAAK,EAAEpB,qBAAA,CAAUC,MATG;EAUpBoB,IAAI,EAAErB,qBAAA,CAAUC,MAVI;EAWpBqB,eAAe,EAAEtB,qBAAA,CAAUC,MAXP;EAYpBsB,YAAY,EAAEvB,qBAAA,CAAUE;AAZJ,CAAtB;;AAeA,IAAMmD,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACvBL,OAAO,EAAE;MACPV,KAAK,EAAE;IADA,CADc;IAIvBW,OAAO,EAAE;MACPK,OAAO,EAAE,MADF;MAEPC,aAAa,EAAE,QAFR;MAGPjB,KAAK,EAAE;IAHA,CAJc;IASvB9C,UAAU,EAAE;MACV8D,OAAO,EAAE,MADC;MAEVC,aAAa,EAAE,QAFL;MAGVC,UAAU,EAAE;IAHF,CATW;IAcvBZ,OAAO,EAAE;MACPU,OAAO,EAAE,MADF;MAEPG,cAAc,EAAE,cAFT;MAGPD,UAAU,EAAE;IAHL,CAdc;IAmBvBL,SAAS,EAAE;MACTb,KAAK,EAAE,OADE;MAEToB,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB,gBAA6BP,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAAlD;IAFG,CAnBY;IAuBvBlE,eAAe,EAAE;MACf4C,KAAK,EAAE,OADQ;MAEfoB,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB,gBAA6BP,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAAlD;IAFS,CAvBM;IA2BvBb,cAAc,EAAE;MACdT,KAAK,EAAE,OADO;MAEdoB,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB,gBAA6BP,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB,CAAlD;IAFQ,CA3BO;IA+BvBf,IAAI,EAAE;MACJgB,SAAS,EAAE,QADP;MAEJH,MAAM,YAAKL,KAAK,CAACM,OAAN,CAAcC,IAAnB;IAFF,CA/BiB;IAmCvBV,UAAU,EAAE;MACVI,OAAO,EAAE,MADC;MAEVG,cAAc,EAAE,eAFN;MAGVD,UAAU,EAAE;IAHF,CAnCW;IAwCvBzE,QAAQ,EAAE;MACR+E,KAAK,EAAEA,eAAA,CAAM/E,QAAN;IADC,CAxCa;IA2CvB2B,SAAS,EAAE;MACTqD,UAAU,EAAEV,KAAK,CAACM,OAAN,CAAcC,IAAd,GAAqB;IADxB;EA3CY,CAAL;AAAA,CAApB;;eAgDe,IAAAI,kBAAA,EAAWZ,MAAX,EAAmBrC,SAAnB,C"}
package/lib/labels.js CHANGED
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
7
7
  });
8
8
  exports.getTransform = exports["default"] = exports.Labels = exports.LabelType = void 0;
9
9
 
10
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
+
10
12
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
13
 
12
14
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -29,6 +31,14 @@ var _plot = require("@pie-lib/plot");
29
31
 
30
32
  var _renderUi = require("@pie-lib/render-ui");
31
33
 
34
+ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
35
+
36
+ var _classnames = _interopRequireDefault(require("classnames"));
37
+
38
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
39
+
40
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
41
+
32
42
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
33
43
 
34
44
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
@@ -70,13 +80,13 @@ var getY = function getY(side, height) {
70
80
  return -height;
71
81
 
72
82
  case 'top':
73
- return -height + 10;
83
+ return -height;
74
84
 
75
85
  case 'right':
76
- return -height + 10;
86
+ return -height - 10;
77
87
 
78
88
  default:
79
- return 0;
89
+ return -height + 10;
80
90
  }
81
91
  };
82
92
 
@@ -93,11 +103,16 @@ var RawLabel = /*#__PURE__*/function (_React$Component) {
93
103
  (0, _createClass2["default"])(RawLabel, [{
94
104
  key: "render",
95
105
  value: function render() {
106
+ var _cn;
107
+
96
108
  var _this$props = this.props,
109
+ disabledLabel = _this$props.disabledLabel,
110
+ placeholder = _this$props.placeholder,
97
111
  text = _this$props.text,
98
112
  side = _this$props.side,
99
113
  graphProps = _this$props.graphProps,
100
- classes = _this$props.classes;
114
+ classes = _this$props.classes,
115
+ onChange = _this$props.onChange;
101
116
  var size = graphProps.size,
102
117
  domain = graphProps.domain,
103
118
  range = graphProps.range;
@@ -107,20 +122,28 @@ var RawLabel = /*#__PURE__*/function (_React$Component) {
107
122
  var width = side === 'left' || side === 'right' ? totalHeight : totalWidth;
108
123
  var height = 36;
109
124
  var y = getY(side, height);
125
+ var finalHeight = side === 'bottom' ? height + 22 : height + 18;
126
+ var activePlugins = ['bold', 'italic', 'underline', 'strikethrough', 'math' // 'languageCharacters'
127
+ ];
110
128
  return /*#__PURE__*/_react["default"].createElement("foreignObject", {
111
129
  x: -(width / 2),
112
130
  y: y,
113
131
  width: width,
114
- height: height,
132
+ height: finalHeight,
115
133
  transform: transform,
116
134
  textAnchor: "middle"
117
135
  }, /*#__PURE__*/_react["default"].createElement(_renderUi.Readable, {
118
136
  "false": true
119
- }, /*#__PURE__*/_react["default"].createElement("div", {
120
- dangerouslySetInnerHTML: {
121
- __html: text
137
+ }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
138
+ className: (0, _classnames["default"])((_cn = {}, (0, _defineProperty2["default"])(_cn, classes.bottomLabel, side === 'bottom'), (0, _defineProperty2["default"])(_cn, classes.disabledAxisLabel, disabledLabel), _cn), classes.axisLabel),
139
+ markup: text || '',
140
+ onChange: onChange,
141
+ placeholder: !disabledLabel && placeholder,
142
+ toolbarOpts: {
143
+ position: side === 'bottom' ? 'top' : 'bottom',
144
+ noBorder: true
122
145
  },
123
- className: classes.axisLabel
146
+ activePlugins: activePlugins
124
147
  })));
125
148
  }
126
149
  }]);
@@ -131,6 +154,8 @@ var RawLabel = /*#__PURE__*/function (_React$Component) {
131
154
  text: _propTypes["default"].string,
132
155
  side: _propTypes["default"].string,
133
156
  classes: _propTypes["default"].object,
157
+ disabledLabel: _propTypes["default"].bool,
158
+ placeholder: _propTypes["default"].string,
134
159
  graphProps: _plot.types.GraphPropsType.isRequired
135
160
  });
136
161
  var Label = (0, _styles.withStyles)(function (theme) {
@@ -139,8 +164,15 @@ var Label = (0, _styles.withStyles)(function (theme) {
139
164
  fill: _renderUi.color.secondary()
140
165
  },
141
166
  axisLabel: {
142
- fontSize: theme.typography.fontSize,
143
- textAlign: 'center'
167
+ fontSize: theme.typography.fontSize - 2,
168
+ textAlign: 'center',
169
+ padding: '0 4px'
170
+ },
171
+ disabledAxisLabel: {
172
+ pointerEvents: 'none'
173
+ },
174
+ bottomLabel: {
175
+ marginTop: '44px'
144
176
  }
145
177
  };
146
178
  })(RawLabel);
@@ -158,36 +190,79 @@ var Labels = /*#__PURE__*/function (_React$Component2) {
158
190
  var _super2 = _createSuper(Labels);
159
191
 
160
192
  function Labels() {
193
+ var _this;
194
+
161
195
  (0, _classCallCheck2["default"])(this, Labels);
162
- return _super2.apply(this, arguments);
196
+
197
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
198
+ args[_key] = arguments[_key];
199
+ }
200
+
201
+ _this = _super2.call.apply(_super2, [this].concat(args));
202
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChangeLabel", function (newValue, side) {
203
+ var _this$props2 = _this.props,
204
+ value = _this$props2.value,
205
+ onChange = _this$props2.onChange;
206
+
207
+ var labels = _objectSpread(_objectSpread({}, value), {}, (0, _defineProperty2["default"])({}, side, newValue));
208
+
209
+ onChange(labels);
210
+ });
211
+ return _this;
163
212
  }
164
213
 
165
214
  (0, _createClass2["default"])(Labels, [{
166
215
  key: "render",
167
216
  value: function render() {
168
- var _this$props2 = this.props,
169
- value = _this$props2.value,
170
- graphProps = _this$props2.graphProps;
171
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, value && value.left && /*#__PURE__*/_react["default"].createElement(Label, {
217
+ var _this2 = this;
218
+
219
+ var _this$props3 = this.props,
220
+ disabledLabels = _this$props3.disabledLabels,
221
+ _this$props3$placehol = _this$props3.placeholders,
222
+ placeholders = _this$props3$placehol === void 0 ? {} : _this$props3$placehol,
223
+ _this$props3$value = _this$props3.value,
224
+ value = _this$props3$value === void 0 ? {} : _this$props3$value,
225
+ graphProps = _this$props3.graphProps;
226
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(Label, {
172
227
  key: "left",
173
228
  side: "left",
174
229
  text: value.left,
175
- graphProps: graphProps
176
- }), value && value.top && /*#__PURE__*/_react["default"].createElement(Label, {
230
+ disabledLabel: disabledLabels,
231
+ placeholder: placeholders.left,
232
+ graphProps: graphProps,
233
+ onChange: function onChange(value) {
234
+ return _this2.onChangeLabel(value, 'left');
235
+ }
236
+ }), /*#__PURE__*/_react["default"].createElement(Label, {
177
237
  key: "top",
178
238
  side: "top",
179
239
  text: value.top,
180
- graphProps: graphProps
181
- }), value && value.bottom && /*#__PURE__*/_react["default"].createElement(Label, {
240
+ disabledLabel: disabledLabels,
241
+ placeholder: placeholders.top,
242
+ graphProps: graphProps,
243
+ onChange: function onChange(value) {
244
+ return _this2.onChangeLabel(value, 'top');
245
+ }
246
+ }), /*#__PURE__*/_react["default"].createElement(Label, {
182
247
  key: "bottom",
183
248
  side: "bottom",
184
249
  text: value.bottom,
185
- graphProps: graphProps
186
- }), value && value.right && /*#__PURE__*/_react["default"].createElement(Label, {
250
+ disabledLabel: disabledLabels,
251
+ placeholder: placeholders.bottom,
252
+ graphProps: graphProps,
253
+ onChange: function onChange(value) {
254
+ return _this2.onChangeLabel(value, 'bottom');
255
+ }
256
+ }), /*#__PURE__*/_react["default"].createElement(Label, {
187
257
  key: "right",
188
258
  side: "right",
189
259
  text: value.right,
190
- graphProps: graphProps
260
+ disabledLabel: disabledLabels,
261
+ placeholder: placeholders.right,
262
+ graphProps: graphProps,
263
+ onChange: function onChange(value) {
264
+ return _this2.onChangeLabel(value, 'right');
265
+ }
191
266
  }));
192
267
  }
193
268
  }]);
@@ -198,6 +273,8 @@ exports.Labels = Labels;
198
273
  (0, _defineProperty2["default"])(Labels, "propTypes", {
199
274
  classes: _propTypes["default"].object,
200
275
  className: _propTypes["default"].string,
276
+ disabledLabels: _propTypes["default"].bool,
277
+ placeholders: _propTypes["default"].object,
201
278
  value: _propTypes["default"].shape(LabelType),
202
279
  graphProps: _propTypes["default"].object
203
280
  });
package/lib/labels.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"labels.js","names":["rotations","left","top","bottom","right","getTransform","side","width","height","t","x","y","rotate","getY","RawLabel","props","text","graphProps","classes","size","domain","range","totalHeight","padding","totalWidth","transform","__html","axisLabel","React","Component","PropTypes","string","object","types","GraphPropsType","isRequired","Label","withStyles","theme","label","fill","color","secondary","fontSize","typography","textAlign","LabelType","Labels","value","className","shape"],"sources":["../src/labels.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types } from '@pie-lib/plot';\nimport { color, Readable } from '@pie-lib/render-ui';\n\nconst rotations = {\n left: -90,\n top: 0,\n bottom: 0,\n right: 90\n};\n\nexport const getTransform = (side, width, height) => {\n const t = (x, y, rotate) => `translate(${x}, ${y}), rotate(${rotate})`;\n\n if (side === 'left') {\n return t(-20, height / 2, rotations[side]);\n }\n if (side === 'right') {\n return t(width + 30, height / 2, rotations[side]);\n }\n if (side === 'top') {\n return t(width / 2, -20, rotations[side]);\n }\n if (side === 'bottom') {\n return t(width / 2, height + 30, rotations[side]);\n }\n};\n\nconst getY = (side, height) => {\n switch (side) {\n case 'left':\n return -height;\n case 'top':\n return -height + 10;\n case 'right':\n return -height + 10;\n default:\n return 0;\n }\n};\n\nclass RawLabel extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n side: PropTypes.string,\n classes: PropTypes.object,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const { text, side, graphProps, classes } = this.props;\n const { size, domain, range } = graphProps;\n const totalHeight = (size.height || 500) + (range.padding || 0) * 2;\n const totalWidth = (size.width || 500) + (domain.padding || 0) * 2;\n\n const transform = getTransform(side, totalWidth, totalHeight);\n const width = side === 'left' || side === 'right' ? totalHeight : totalWidth;\n const height = 36;\n const y = getY(side, height);\n\n return (\n <foreignObject\n x={-(width / 2)}\n y={y}\n width={width}\n height={height}\n transform={transform}\n textAnchor=\"middle\"\n >\n <Readable false>\n <div dangerouslySetInnerHTML={{ __html: text }} className={classes.axisLabel} />\n </Readable>\n </foreignObject>\n );\n }\n}\n\nconst Label = withStyles(theme => ({\n label: {\n fill: color.secondary()\n },\n axisLabel: {\n fontSize: theme.typography.fontSize,\n textAlign: 'center'\n }\n}))(RawLabel);\n\nexport const LabelType = {\n left: PropTypes.string,\n top: PropTypes.string,\n bottom: PropTypes.string,\n right: PropTypes.string\n};\n\nexport class Labels extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n value: PropTypes.shape(LabelType),\n graphProps: PropTypes.object\n };\n\n static defaultProps = {};\n\n render() {\n const { value, graphProps } = this.props;\n\n return (\n <React.Fragment>\n {value && value.left && (\n <Label key=\"left\" side=\"left\" text={value.left} graphProps={graphProps} />\n )}\n {value && value.top && (\n <Label key=\"top\" side=\"top\" text={value.top} graphProps={graphProps} />\n )}\n {value && value.bottom && (\n <Label key=\"bottom\" side=\"bottom\" text={value.bottom} graphProps={graphProps} />\n )}\n {value && value.right && (\n <Label key=\"right\" side=\"right\" text={value.right} graphProps={graphProps} />\n )}\n </React.Fragment>\n );\n }\n}\n\nexport default Labels;\n"],"mappings":"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"}
1
+ {"version":3,"file":"labels.js","names":["rotations","left","top","bottom","right","getTransform","side","width","height","t","x","y","rotate","getY","RawLabel","props","disabledLabel","placeholder","text","graphProps","classes","onChange","size","domain","range","totalHeight","padding","totalWidth","transform","finalHeight","activePlugins","cn","bottomLabel","disabledAxisLabel","axisLabel","position","noBorder","React","Component","PropTypes","string","object","bool","types","GraphPropsType","isRequired","Label","withStyles","theme","label","fill","color","secondary","fontSize","typography","textAlign","pointerEvents","marginTop","LabelType","Labels","newValue","value","labels","disabledLabels","placeholders","onChangeLabel","className","shape"],"sources":["../src/labels.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { types } from '@pie-lib/plot';\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport cn from 'classnames';\n\nconst rotations = {\n left: -90,\n top: 0,\n bottom: 0,\n right: 90\n};\n\nexport const getTransform = (side, width, height) => {\n const t = (x, y, rotate) => `translate(${x}, ${y}), rotate(${rotate})`;\n\n if (side === 'left') {\n return t(-20, height / 2, rotations[side]);\n }\n if (side === 'right') {\n return t(width + 30, height / 2, rotations[side]);\n }\n if (side === 'top') {\n return t(width / 2, -20, rotations[side]);\n }\n if (side === 'bottom') {\n return t(width / 2, height + 30, rotations[side]);\n }\n};\n\nconst getY = (side, height) => {\n switch (side) {\n case 'left':\n return -height;\n case 'top':\n return -height;\n case 'right':\n return -height - 10;\n default:\n return -height + 10;\n }\n};\n\nclass RawLabel extends React.Component {\n static propTypes = {\n text: PropTypes.string,\n side: PropTypes.string,\n classes: PropTypes.object,\n disabledLabel: PropTypes.bool,\n placeholder: PropTypes.string,\n graphProps: types.GraphPropsType.isRequired\n };\n\n render() {\n const { disabledLabel, placeholder, text, side, graphProps, classes, onChange } = this.props;\n const { size, domain, range } = graphProps;\n const totalHeight = (size.height || 500) + (range.padding || 0) * 2;\n const totalWidth = (size.width || 500) + (domain.padding || 0) * 2;\n\n const transform = getTransform(side, totalWidth, totalHeight);\n const width = side === 'left' || side === 'right' ? totalHeight : totalWidth;\n const height = 36;\n const y = getY(side, height);\n const finalHeight = side === 'bottom' ? height + 22 : height + 18;\n\n const activePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'strikethrough',\n 'math'\n // 'languageCharacters'\n ];\n\n return (\n <foreignObject\n x={-(width / 2)}\n y={y}\n width={width}\n height={finalHeight}\n transform={transform}\n textAnchor=\"middle\"\n >\n <Readable false>\n <EditableHtml\n className={cn(\n {\n [classes.bottomLabel]: side === 'bottom',\n [classes.disabledAxisLabel]: disabledLabel\n },\n classes.axisLabel\n )}\n markup={text || ''}\n onChange={onChange}\n placeholder={!disabledLabel && placeholder}\n toolbarOpts={{\n position: side === 'bottom' ? 'top' : 'bottom',\n noBorder: true\n }}\n activePlugins={activePlugins}\n />\n </Readable>\n </foreignObject>\n );\n }\n}\n\nconst Label = withStyles(theme => ({\n label: {\n fill: color.secondary()\n },\n axisLabel: {\n fontSize: theme.typography.fontSize - 2,\n textAlign: 'center',\n padding: '0 4px'\n },\n disabledAxisLabel: {\n pointerEvents: 'none'\n },\n bottomLabel: {\n marginTop: '44px'\n }\n}))(RawLabel);\n\nexport const LabelType = {\n left: PropTypes.string,\n top: PropTypes.string,\n bottom: PropTypes.string,\n right: PropTypes.string\n};\n\nexport class Labels extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabledLabels: PropTypes.bool,\n placeholders: PropTypes.object,\n value: PropTypes.shape(LabelType),\n graphProps: PropTypes.object\n };\n\n static defaultProps = {};\n\n onChangeLabel = (newValue, side) => {\n const { value, onChange } = this.props;\n const labels = {\n ...value,\n [side]: newValue\n };\n\n onChange(labels);\n };\n\n render() {\n const { disabledLabels, placeholders = {}, value = {}, graphProps } = this.props;\n\n return (\n <React.Fragment>\n <Label\n key=\"left\"\n side=\"left\"\n text={value.left}\n disabledLabel={disabledLabels}\n placeholder={placeholders.left}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'left')}\n />\n <Label\n key=\"top\"\n side=\"top\"\n text={value.top}\n disabledLabel={disabledLabels}\n placeholder={placeholders.top}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'top')}\n />\n <Label\n key=\"bottom\"\n side=\"bottom\"\n text={value.bottom}\n disabledLabel={disabledLabels}\n placeholder={placeholders.bottom}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'bottom')}\n />\n <Label\n key=\"right\"\n side=\"right\"\n text={value.right}\n disabledLabel={disabledLabels}\n placeholder={placeholders.right}\n graphProps={graphProps}\n onChange={value => this.onChangeLabel(value, 'right')}\n />\n </React.Fragment>\n );\n }\n}\n\nexport default Labels;\n"],"mappings":"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"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "2.4.3-next.462+88f0fb88",
6
+ "version": "2.4.3-next.473+7bad91a1",
7
7
  "description": "Graphing components",
8
8
  "keywords": [
9
9
  "react",
@@ -20,8 +20,8 @@
20
20
  "@material-ui/core": "^3.8.3",
21
21
  "@pie-lib/drag": "^1.1.52",
22
22
  "@pie-lib/graphing-utils": "^1.1.20",
23
- "@pie-lib/plot": "^2.2.0",
24
- "@pie-lib/render-ui": "^4.12.1-next.462+88f0fb88",
23
+ "@pie-lib/plot": "^2.1.10-next.548+7bad91a1",
24
+ "@pie-lib/render-ui": "^4.13.1",
25
25
  "@vx/axis": "^0.0.189",
26
26
  "@vx/clip-path": "^0.0.189",
27
27
  "@vx/event": "^0.0.189",
@@ -44,6 +44,6 @@
44
44
  "peerDependencies": {
45
45
  "react": "^16.8.1"
46
46
  },
47
- "gitHead": "88f0fb88c7a98ceaa2336add0301b176c59355b7",
47
+ "gitHead": "7bad91a13c9cc4987abe66c2b7484af9b9580cac",
48
48
  "scripts": {}
49
49
  }
package/src/axis/axes.jsx CHANGED
@@ -123,7 +123,7 @@ export class RawXAxis extends React.Component {
123
123
 
124
124
  const necessaryRows = countWords(domain.axisLabel);
125
125
  const longestWord = findLongestWord(domain.axisLabel);
126
- const necessaryWidth = amountToIncreaseWidth(longestWord);
126
+ const necessaryWidth = amountToIncreaseWidth(longestWord) + 2;
127
127
 
128
128
  return (
129
129
  <React.Fragment>
@@ -147,8 +147,8 @@ export class RawXAxis extends React.Component {
147
147
  )}
148
148
  {domain.axisLabel && (
149
149
  <foreignObject
150
- x={size.width + 15}
151
- y={scale.y(0) - 10}
150
+ x={size.width + 17}
151
+ y={scale.y(0) - 9}
152
152
  width={necessaryWidth}
153
153
  height={20 * necessaryRows}
154
154
  >
@@ -219,7 +219,7 @@ export class RawYAxis extends React.Component {
219
219
  {range.axisLabel && (
220
220
  <foreignObject
221
221
  x={scale.x(0) - necessaryWidth / 2}
222
- y={-30}
222
+ y={-33}
223
223
  width={necessaryWidth}
224
224
  height="20"
225
225
  >
@@ -72,6 +72,10 @@ export class GraphWithControls extends React.Component {
72
72
  static defaultProps = {
73
73
  collapsibleToolbar: false,
74
74
  collapsibleToolbarTitle: '',
75
+ disabledLabels: false,
76
+ disabledTitle: false,
77
+ showLabels: true,
78
+ showTitle: true,
75
79
  toolbarTools: []
76
80
  };
77
81
 
@@ -109,17 +113,26 @@ export class GraphWithControls extends React.Component {
109
113
  collapsibleToolbar,
110
114
  collapsibleToolbarTitle,
111
115
  disabled,
116
+ disabledLabels,
117
+ disabledTitle,
112
118
  domain,
113
119
  draggableTools,
114
120
  labels,
121
+ labelsPlaceholders,
122
+ onChangeLabels,
115
123
  onChangeMarks,
124
+ onChangeTitle,
116
125
  onChangeTools,
117
126
  onUndo,
118
127
  onRedo,
119
128
  onReset,
120
129
  range,
121
130
  size,
122
- title
131
+ showLabels,
132
+ showPixelGuides,
133
+ showTitle,
134
+ title,
135
+ titlePlaceholder
123
136
  } = this.props;
124
137
  let { backgroundMarks, marks, toolbarTools } = this.props;
125
138
 
@@ -175,14 +188,23 @@ export class GraphWithControls extends React.Component {
175
188
  backgroundMarks={backgroundMarks}
176
189
  coordinatesOnHover={coordinatesOnHover}
177
190
  currentTool={currentTool}
191
+ disabledLabels={disabledLabels}
192
+ disabledTitle={disabledTitle}
178
193
  domain={domain}
179
194
  labels={labels}
180
195
  labelModeEnabled={labelModeEnabled}
196
+ labelsPlaceholders={labelsPlaceholders}
181
197
  marks={marks}
182
198
  onChangeMarks={!disabled ? onChangeMarks : undefined}
199
+ onChangeLabels={onChangeLabels}
200
+ onChangeTitle={onChangeTitle}
183
201
  range={range}
184
202
  size={size}
203
+ showLabels={showLabels}
204
+ showPixelGuides={showPixelGuides}
205
+ showTitle={showTitle}
185
206
  title={title}
207
+ titlePlaceholder={titlePlaceholder}
186
208
  tools={tools}
187
209
  />
188
210
  </div>
@@ -191,9 +213,12 @@ export class GraphWithControls extends React.Component {
191
213
  }
192
214
 
193
215
  const styles = theme => ({
194
- graphWithControls: {},
216
+ graphWithControls: {
217
+ display: 'flex',
218
+ flexDirection: 'column',
219
+ width: 'min-content'
220
+ },
195
221
  controls: {
196
- width: 'inherit',
197
222
  display: 'flex',
198
223
  justifyContent: 'space-between',
199
224
  padding: theme.spacing.unit,
@@ -208,7 +233,8 @@ const styles = theme => ({
208
233
  }
209
234
  },
210
235
  expansionPanel: {
211
- backgroundColor: color.primaryLight()
236
+ backgroundColor: color.primaryLight(),
237
+ width: '100%'
212
238
  },
213
239
  summaryRoot: {
214
240
  padding: `0 ${theme.spacing.unit}px`,
@@ -219,7 +245,9 @@ const styles = theme => ({
219
245
  },
220
246
  details: {
221
247
  padding: 0,
222
- marginTop: theme.spacing.unit
248
+ marginTop: theme.spacing.unit,
249
+ display: 'flex',
250
+ justifyContent: 'space-between'
223
251
  }
224
252
  });
225
253
 
package/src/graph.jsx CHANGED
@@ -20,17 +20,24 @@ export const graphPropTypes = {
20
20
  className: PropTypes.string,
21
21
  collapsibleToolbar: PropTypes.bool,
22
22
  collapsibleToolbarTitle: PropTypes.string,
23
+ disabledLabels: PropTypes.bool,
24
+ disabledTitle: PropTypes.bool,
23
25
  domain: types.DomainType,
24
26
  labels: PropTypes.shape(LabelType),
25
27
  labelModeEnabled: PropTypes.bool,
26
28
  coordinatesOnHover: PropTypes.bool,
27
29
  marks: PropTypes.array,
30
+ onChangeLabels: PropTypes.func,
28
31
  onChangeMarks: PropTypes.func,
32
+ onChangeTitle: PropTypes.func,
29
33
  range: types.DomainType,
30
34
  size: PropTypes.shape({
31
35
  width: PropTypes.number.isRequired,
32
36
  height: PropTypes.number.isRequired
33
37
  }),
38
+ showLabels: PropTypes.bool,
39
+ showPixelGuides: PropTypes.bool,
40
+ showTitle: PropTypes.bool,
34
41
  title: PropTypes.string,
35
42
  tools: PropTypes.array
36
43
  };
@@ -64,7 +71,9 @@ export class Graph extends React.Component {
64
71
  };
65
72
 
66
73
  static defaultProps = {
67
- onChangeMarks: () => {}
74
+ onChangeMarks: () => {},
75
+ disabledLabels: false,
76
+ disabledTitle: false
68
77
  };
69
78
 
70
79
  state = {};
@@ -151,12 +160,21 @@ export class Graph extends React.Component {
151
160
  currentTool,
152
161
  coordinatesOnHover,
153
162
  size,
163
+ disabledLabels,
164
+ disabledTitle,
154
165
  domain,
155
166
  backgroundMarks,
156
167
  range,
157
168
  title,
158
169
  labels,
159
- labelModeEnabled
170
+ labelModeEnabled,
171
+ labelsPlaceholders,
172
+ showLabels,
173
+ showPixelGuides,
174
+ showTitle,
175
+ titlePlaceholder,
176
+ onChangeLabels,
177
+ onChangeTitle
160
178
  } = this.props;
161
179
  let { marks } = this.props;
162
180
 
@@ -167,8 +185,17 @@ export class Graph extends React.Component {
167
185
  marks = removeBuildingToolIfCurrentToolDiffers({ marks: marks || [], currentTool });
168
186
 
169
187
  return (
170
- <Root rootRef={r => (this.rootNode = r)} title={title} {...common}>
171
- <Labels value={labels} {...common} />
188
+ <Root
189
+ rootRef={r => (this.rootNode = r)}
190
+ disabledTitle={disabledTitle}
191
+ showPixelGuides={showPixelGuides}
192
+ showLabels={showLabels}
193
+ showTitle={showTitle}
194
+ title={title}
195
+ titlePlaceholder={titlePlaceholder}
196
+ onChangeTitle={onChangeTitle}
197
+ {...common}
198
+ >
172
199
  <g transform={`translate(${domain.padding}, ${range.padding})`}>
173
200
  <Grid {...common} />
174
201
  <Axes {...axesSettings} {...common} />
@@ -222,6 +249,15 @@ export class Graph extends React.Component {
222
249
  />
223
250
  </g>
224
251
  </g>
252
+ {showLabels && (
253
+ <Labels
254
+ disabledLabels={disabledLabels}
255
+ placeholders={labelsPlaceholders}
256
+ value={labels}
257
+ onChange={onChangeLabels}
258
+ {...common}
259
+ />
260
+ )}
225
261
  </Root>
226
262
  );
227
263
  }