@pie-element/graphing 4.12.3-next.45 → 4.12.3-next.57

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.
@@ -186,6 +186,8 @@ var Configure = /*#__PURE__*/function (_React$Component) {
186
186
  availableTools = _ref3$availableTools === void 0 ? [] : _ref3$availableTools,
187
187
  _ref3$coordinatesOnHo = _ref3.coordinatesOnHover,
188
188
  coordinatesOnHover = _ref3$coordinatesOnHo === void 0 ? {} : _ref3$coordinatesOnHo,
189
+ _ref3$contentDimensio = _ref3.contentDimensions,
190
+ contentDimensions = _ref3$contentDimensio === void 0 ? {} : _ref3$contentDimensio,
189
191
  _ref3$gridConfigurati = _ref3.gridConfigurations,
190
192
  gridConfigurations = _ref3$gridConfigurati === void 0 ? [] : _ref3$gridConfigurati,
191
193
  _ref3$graphDimensions = _ref3.graphDimensions,
@@ -263,6 +265,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
263
265
  instruction: instruction.settings && textField(instruction.label)
264
266
  };
265
267
  return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
268
+ dimensions: contentDimensions,
266
269
  hideSettings: settingsPanelDisabled,
267
270
  settings: /*#__PURE__*/_react["default"].createElement(Panel, {
268
271
  model: model,
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/configure.jsx"],"names":["Panel","settings","toggle","radio","checkboxes","textField","log","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","promptHolder","width","paddingTop","description","Configure","rationale","props","onModelChanged","model","prompt","teacherInstructions","configuration","availableTools","graphDimensions","arrows","showTitle","titleEnabled","showDimensions","dimensionsEnabled","left","right","up","down","toolbarTools","undefined","enabled","classes","onConfigurationChanged","imageSupport","uploadSoundSupport","authoring","coordinatesOnHover","gridConfigurations","instruction","labels","padding","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","errors","labelsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","defaultImageMaxWidth","defaultImageMaxHeight","labelsPlaceholders","top","bottom","panelItemType","label","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","onTeacherInstructionsChange","language","onPromptChange","placeholder","onRationaleChange","React","Component","PropTypes","func","object","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport EditableHtml from '@pie-lib/editable-html';\nimport GraphingConfig from './graphing-config';\nimport CorrectResponse from './correct-response';\nimport intersection from 'lodash/intersection';\n\nconst { Panel, toggle, radio, checkboxes, textField } = settings;\nconst log = debug('@pie-element:graphing:configure');\n\nconst styles = (theme) => ({\n title: {\n fontSize: '1.1rem',\n display: 'block',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit,\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n description: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n});\n\nexport class Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n };\n\n static defaultProps = { classes: {} };\n\n componentDidMount() {\n const { configuration, onModelChanged, model } = this.props;\n const { availableTools, title, graphDimensions } = configuration || {};\n let { arrows, titleEnabled: showTitle, dimensionsEnabled: showDimensions } = model || {};\n\n // This is used for offering support for old models which have the property arrows: boolean\n // Same thing is set in the controller: packages/graphing/controller/src/index.js - model\n if (typeof arrows === 'boolean') {\n if (arrows) {\n arrows = { left: true, right: true, up: true, down: true };\n } else {\n arrows = { left: false, right: false, up: false, down: false };\n }\n }\n\n const toolbarTools = intersection(availableTools || [], model.toolbarTools || []);\n const titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;\n const dimensionsEnabled = showDimensions === undefined || showDimensions === null ? graphDimensions.enabled : showDimensions;\n\n onModelChanged && onModelChanged({ ...model, arrows, toolbarTools, titleEnabled, dimensionsEnabled });\n }\n\n onRationaleChange = (rationale) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, rationale });\n };\n\n onPromptChange = (prompt) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, prompt });\n };\n\n onTeacherInstructionsChange = (teacherInstructions) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, teacherInstructions });\n };\n\n render() {\n const { classes, model, configuration, onConfigurationChanged, onModelChanged, imageSupport, uploadSoundSupport } =\n this.props;\n const {\n arrows = {},\n authoring = {},\n availableTools = [],\n coordinatesOnHover = {},\n gridConfigurations = [],\n graphDimensions = {},\n instruction = {},\n labels = {},\n padding = {},\n prompt = {},\n rationale = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n title = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric = {},\n } = configuration || {};\n const {\n errors = {},\n labelsEnabled,\n dimensionsEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n titleEnabled,\n } = model || {};\n\n log('[render] model', model);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n const labelsPlaceholders = {\n top: labels.top,\n right: labels.right,\n bottom: labels.bottom,\n left: labels.left,\n };\n\n const panelItemType = {\n arrows:\n arrows.settings &&\n checkboxes(arrows.label, {\n left: arrows.left,\n right: arrows.right,\n up: arrows.up,\n down: arrows.down,\n }),\n titleEnabled: title.settings && toggle(title.label),\n padding: padding.settings && toggle(padding.label),\n labelsEnabled: labels.settings && toggle(labels.label),\n dimensionsEnabled: graphDimensions.settings && toggle(graphDimensions.label),\n coordinatesOnHover: coordinatesOnHover.settings && toggle(coordinatesOnHover.label),\n };\n const panelProperties = {\n 'authoring.enabled': authoring.settings && toggle(authoring.label, true),\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['dichotomous', 'partial scoring']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n instruction: instruction.settings && textField(instruction.label),\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onModelChanged}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelItemType,\n Properties: panelProperties,\n }}\n />\n }\n >\n <Typography component=\"div\" type=\"body1\" className={classes.description}>\n {instruction?.label || ''}\n </Typography>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n disableUnderline\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <GraphingConfig\n authoring={authoring}\n availableTools={availableTools}\n gridConfigurations={gridConfigurations}\n graphDimensions={graphDimensions}\n labelsPlaceholders={labelsPlaceholders}\n model={model}\n showLabels={labelsEnabled}\n dimensionsEnabled={dimensionsEnabled}\n showTitle={titleEnabled}\n titlePlaceholder={title.placeholder}\n onChange={this.props.onModelChanged}\n />\n\n <CorrectResponse\n availableTools={availableTools}\n errors={errors}\n model={model}\n onChange={this.props.onModelChanged}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label || 'Rationale'} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
1
+ {"version":3,"sources":["../src/configure.jsx"],"names":["Panel","settings","toggle","radio","checkboxes","textField","log","styles","theme","title","fontSize","display","marginTop","spacing","unit","marginBottom","promptHolder","width","paddingTop","description","Configure","rationale","props","onModelChanged","model","prompt","teacherInstructions","configuration","availableTools","graphDimensions","arrows","showTitle","titleEnabled","showDimensions","dimensionsEnabled","left","right","up","down","toolbarTools","undefined","enabled","classes","onConfigurationChanged","imageSupport","uploadSoundSupport","authoring","coordinatesOnHover","contentDimensions","gridConfigurations","instruction","labels","padding","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","errors","labelsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","defaultImageMaxWidth","defaultImageMaxHeight","labelsPlaceholders","top","bottom","panelItemType","label","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","onTeacherInstructionsChange","language","onPromptChange","placeholder","onRationaleChange","React","Component","PropTypes","func","object","isRequired"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@material-ui/core/Typography';\nimport EditableHtml from '@pie-lib/editable-html';\nimport GraphingConfig from './graphing-config';\nimport CorrectResponse from './correct-response';\nimport intersection from 'lodash/intersection';\n\nconst { Panel, toggle, radio, checkboxes, textField } = settings;\nconst log = debug('@pie-element:graphing:configure');\n\nconst styles = (theme) => ({\n title: {\n fontSize: '1.1rem',\n display: 'block',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit,\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n description: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n});\n\nexport class Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n };\n\n static defaultProps = { classes: {} };\n\n componentDidMount() {\n const { configuration, onModelChanged, model } = this.props;\n const { availableTools, title, graphDimensions } = configuration || {};\n let { arrows, titleEnabled: showTitle, dimensionsEnabled: showDimensions } = model || {};\n\n // This is used for offering support for old models which have the property arrows: boolean\n // Same thing is set in the controller: packages/graphing/controller/src/index.js - model\n if (typeof arrows === 'boolean') {\n if (arrows) {\n arrows = { left: true, right: true, up: true, down: true };\n } else {\n arrows = { left: false, right: false, up: false, down: false };\n }\n }\n\n const toolbarTools = intersection(availableTools || [], model.toolbarTools || []);\n const titleEnabled = showTitle === undefined || showTitle === null ? title.enabled : showTitle;\n const dimensionsEnabled =\n showDimensions === undefined || showDimensions === null ? graphDimensions.enabled : showDimensions;\n\n onModelChanged && onModelChanged({ ...model, arrows, toolbarTools, titleEnabled, dimensionsEnabled });\n }\n\n onRationaleChange = (rationale) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, rationale });\n };\n\n onPromptChange = (prompt) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, prompt });\n };\n\n onTeacherInstructionsChange = (teacherInstructions) => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({ ...model, teacherInstructions });\n };\n\n render() {\n const { classes, model, configuration, onConfigurationChanged, onModelChanged, imageSupport, uploadSoundSupport } =\n this.props;\n const {\n arrows = {},\n authoring = {},\n availableTools = [],\n coordinatesOnHover = {},\n contentDimensions = {},\n gridConfigurations = [],\n graphDimensions = {},\n instruction = {},\n labels = {},\n padding = {},\n prompt = {},\n rationale = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n title = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric = {},\n } = configuration || {};\n const {\n errors = {},\n labelsEnabled,\n dimensionsEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n titleEnabled,\n } = model || {};\n\n log('[render] model', model);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n const labelsPlaceholders = {\n top: labels.top,\n right: labels.right,\n bottom: labels.bottom,\n left: labels.left,\n };\n\n const panelItemType = {\n arrows:\n arrows.settings &&\n checkboxes(arrows.label, {\n left: arrows.left,\n right: arrows.right,\n up: arrows.up,\n down: arrows.down,\n }),\n titleEnabled: title.settings && toggle(title.label),\n padding: padding.settings && toggle(padding.label),\n labelsEnabled: labels.settings && toggle(labels.label),\n dimensionsEnabled: graphDimensions.settings && toggle(graphDimensions.label),\n coordinatesOnHover: coordinatesOnHover.settings && toggle(coordinatesOnHover.label),\n };\n const panelProperties = {\n 'authoring.enabled': authoring.settings && toggle(authoring.label, true),\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['dichotomous', 'partial scoring']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n instruction: instruction.settings && textField(instruction.label),\n };\n\n return (\n <layout.ConfigLayout\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onModelChanged}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelItemType,\n Properties: panelProperties,\n }}\n />\n }\n >\n <Typography component=\"div\" type=\"body1\" className={classes.description}>\n {instruction?.label || ''}\n </Typography>\n\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n spellCheck={spellCheckEnabled}\n disableUnderline\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n\n <GraphingConfig\n authoring={authoring}\n availableTools={availableTools}\n gridConfigurations={gridConfigurations}\n graphDimensions={graphDimensions}\n labelsPlaceholders={labelsPlaceholders}\n model={model}\n showLabels={labelsEnabled}\n dimensionsEnabled={dimensionsEnabled}\n showTitle={titleEnabled}\n titlePlaceholder={title.placeholder}\n onChange={this.props.onModelChanged}\n />\n\n <CorrectResponse\n availableTools={availableTools}\n errors={errors}\n model={model}\n onChange={this.props.onModelChanged}\n />\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label || 'Rationale'} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </InputContainer>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
@@ -67,7 +67,8 @@ var styles = function styles(theme) {
67
67
  },
68
68
  availableTools: {
69
69
  marginTop: theme.spacing.unit,
70
- display: 'flex'
70
+ display: 'flex',
71
+ flexWrap: 'wrap'
71
72
  },
72
73
  availableTool: {
73
74
  cursor: 'pointer',
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/correct-response.jsx"],"names":["styles","theme","column","flex","graphingTools","color","palette","grey","availableTools","marginTop","spacing","unit","display","availableTool","cursor","margin","padding","border","common","white","textTransform","selectedTool","background","container","borderRadius","button","width","responseTitle","alignItems","iconButton","marginLeft","black","name","marginBottom","subtitleText","toolsHeader","justifyContent","defaultTool","defaultToolSelect","menuItem","noDefaultTool","error","main","errorMessage","fontSize","typography","graphError","Tools","classes","hasErrors","toolbarTools","toggleToolBarTool","onDefaultToolChange","allTools","isLabelAvailable","includes","toolbarToolsNoLabel","filter","tool","allToolsNoLabel","length","map","index","selected","find","t","toUpperCase","propTypes","PropTypes","object","isRequired","arrayOf","string","func","CorrectResponse","dialog","open","callback","setState","key","marks","props","model","onChange","answers","Object","entries","reduce","answer","mark","type","updatedToolbarTools","newDefaultTool","findIndex","updatedAnswers","filterMarks","splice","title","text","onConfirm","handleAlertDialog","updateModel","onClose","push","event","value","target","answersKeys","keys","deleteAnswer","errors","state","arrows","backgroundMarks","coordinatesOnHover","domain","graph","labels","labelsEnabled","range","titleEnabled","correctAnswerErrors","toolbarToolsError","deleteAlternateResponse","includeArrows","newMarks","changeMarks","height","addAlternateResponse","React","Component","String"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer as Graph } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport Delete from '@material-ui/icons/Delete';\nimport { set, isEqual } from 'lodash';\nimport { MenuItem, Select, Typography } from '@material-ui/core';\n\nconst styles = (theme) => ({\n column: {\n flex: 1,\n },\n graphingTools: {\n color: theme.palette.grey['A200'],\n },\n availableTools: {\n marginTop: theme.spacing.unit,\n display: 'flex',\n },\n availableTool: {\n cursor: 'pointer',\n margin: theme.spacing.unit,\n padding: theme.spacing.unit,\n border: `2px solid ${theme.palette.common.white}`,\n textTransform: 'capitalize',\n '&:hover': {\n color: theme.palette.grey[800],\n },\n },\n selectedTool: {\n background: theme.palette.grey['A100'],\n border: `2px solid ${theme.palette.grey['A200']}`,\n },\n container: {\n border: `2px solid ${theme.palette.grey['A200']}`,\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit * 4}px ${theme.spacing.unit * 2}px`,\n background: theme.palette.grey[50],\n },\n button: {\n margin: `${theme.spacing.unit * 2.5}px 0`,\n cursor: 'pointer',\n background: theme.palette.grey[200],\n padding: theme.spacing.unit * 1.5,\n width: 'fit-content',\n borderRadius: '4px',\n '&:hover': {\n background: theme.palette.grey['A100'],\n },\n },\n responseTitle: {\n display: 'flex',\n alignItems: 'center',\n marginTop: theme.spacing.unit * 2.5,\n },\n iconButton: {\n marginLeft: '6px',\n color: theme.palette.grey[600],\n '&:hover': {\n cursor: 'pointer',\n color: theme.palette.common.black,\n },\n },\n name: {\n marginBottom: theme.spacing.unit / 2,\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit,\n },\n toolsHeader: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n defaultTool: {\n display: 'flex',\n alignItems: 'center',\n width: '300px',\n },\n defaultToolSelect: {\n marginLeft: theme.spacing.unit,\n textTransform: 'uppercase',\n color: theme.palette.grey[800],\n },\n menuItem: {\n textTransform: 'uppercase',\n },\n noDefaultTool: {\n padding: theme.spacing.unit / 2,\n },\n error: {\n color: theme.palette.error.main,\n },\n errorMessage: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n marginTop: theme.spacing.unit,\n },\n graphError: {\n border: `2px solid ${theme.palette.error.main}`,\n },\n});\n\nexport const Tools = ({\n classes,\n availableTools,\n defaultTool,\n hasErrors,\n toolbarTools,\n toggleToolBarTool,\n onDefaultToolChange,\n}) => {\n let allTools = availableTools || [];\n const isLabelAvailable = allTools.includes('label');\n const toolbarToolsNoLabel = (toolbarTools || []).filter((tool) => tool !== 'label');\n\n if (isLabelAvailable) {\n // label has to be placed at the end of the list\n const allToolsNoLabel = allTools.filter((tool) => tool !== 'label');\n allTools = [...allToolsNoLabel, 'label'];\n }\n\n return (\n <div className={classes.graphingTools}>\n <div className={classes.toolsHeader}>\n <span>GRAPHING TOOLS</span>\n {toolbarToolsNoLabel.length > 0 && (\n <div className={classes.defaultTool}>\n <span>Default graphing tool:</span>\n <Select\n className={classes.defaultToolSelect}\n onChange={onDefaultToolChange}\n value={defaultTool}\n disableUnderline\n >\n {toolbarToolsNoLabel.map((tool, index) => (\n <MenuItem key={index} className={classes.menuItem} value={tool}>\n {tool}\n </MenuItem>\n ))}\n </Select>\n </div>\n )}\n </div>\n <div className={classes.availableTools}>\n {allTools.map((tool) => {\n const selected = toolbarTools.find((t) => t === tool);\n\n return (\n <div\n key={tool}\n className={classnames(\n classes.availableTool,\n selected && classes.selectedTool,\n hasErrors && tool !== 'label' && classes.error,\n )}\n onClick={() => toggleToolBarTool(tool)}\n >\n {tool.toUpperCase()}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nTools.propTypes = {\n classes: PropTypes.object.isRequired,\n toolbarTools: PropTypes.arrayOf(PropTypes.string),\n toggleToolBarTool: PropTypes.func,\n};\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarTools: PropTypes.arrayOf(PropTypes.String),\n };\n\n state = {\n dialog: {\n open: false,\n },\n };\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n changeMarks = (key, marks) => {\n const { model, onChange } = this.props;\n\n set(model, `answers.${key}.marks`, marks);\n onChange(model);\n };\n\n filterMarks = (tool) => {\n const {\n model: { answers },\n } = this.props;\n\n return Object.entries(answers || {}).reduce((object, [key, answer]) => {\n object[key] = {\n ...answer,\n marks: (answer.marks || []).filter((mark) => mark.type !== tool),\n };\n\n return object;\n }, {});\n };\n\n changeToolbarTools = (toolbarTools) => {\n const { model, onChange } = this.props;\n model.toolbarTools = toolbarTools;\n\n onChange(model);\n };\n\n updateModel = (props) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n ...props,\n });\n };\n\n toggleToolBarTool = (tool) => {\n const {\n model: { defaultTool, toolbarTools, answers = {} },\n } = this.props;\n const updatedToolbarTools = [...toolbarTools];\n let newDefaultTool = defaultTool;\n\n const index = toolbarTools.findIndex((t) => tool === t);\n\n if (index >= 0) {\n const updatedAnswers = this.filterMarks(tool);\n updatedToolbarTools.splice(index, 1);\n\n if (tool === defaultTool) {\n const toolbarToolsNoLabel = (updatedToolbarTools || []).filter((tool) => tool !== 'label');\n newDefaultTool = (toolbarToolsNoLabel.length && toolbarToolsNoLabel[0]) || '';\n }\n\n if (!isEqual(answers, updatedAnswers)) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `Correct answer includes one or more ${tool} objects and all of them will be deleted.`,\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n this.updateModel({\n toolbarTools: updatedToolbarTools,\n answers: updatedAnswers,\n defaultTool: newDefaultTool,\n }),\n ),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n\n return;\n }\n } else {\n updatedToolbarTools.push(tool);\n\n if (defaultTool === '' && tool !== 'label') {\n newDefaultTool = tool;\n }\n }\n\n this.updateModel({\n toolbarTools: updatedToolbarTools,\n defaultTool: newDefaultTool,\n });\n };\n\n onDefaultToolChange = (event) => {\n const { value } = event.target;\n\n this.updateModel({ defaultTool: value });\n };\n\n addAlternateResponse = () => {\n const { model, onChange } = this.props;\n const { answers } = model || {};\n const answersKeys = Object.keys(answers || {});\n\n set(model, `answers.${`alternate${answersKeys.length}`}`, {\n name: `Alternate ${answersKeys.length}`,\n marks: [],\n });\n onChange(model);\n };\n\n deleteAlternateResponse = (key, answer) => {\n const { model, onChange } = this.props;\n const { answers } = model || {};\n const { marks = [], name } = answer || {};\n\n const deleteAnswer = () => {\n delete answers[key];\n onChange(model);\n };\n\n if (marks.length) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `${name} includes one or more shapes and the entire response will be deleted.`,\n onConfirm: () => this.handleAlertDialog(false, deleteAnswer),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n\n return;\n }\n\n deleteAnswer();\n };\n\n render() {\n const { availableTools, classes, errors, model } = this.props;\n const { dialog } = this.state;\n const {\n answers = {},\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n defaultTool,\n domain,\n graph = {},\n labels,\n labelsEnabled,\n range,\n title,\n titleEnabled,\n toolbarTools,\n } = model || {};\n const { correctAnswerErrors = {}, toolbarToolsError } = errors || {};\n\n return (\n <div>\n <Typography component=\"div\" variant=\"subheading\">\n Define Tool Set and Correct Response\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to choose which graphing tools students will be able to use, and to define the correct\n answer\n </Typography>\n\n <Tools\n classes={classes}\n availableTools={availableTools}\n defaultTool={defaultTool}\n hasErrors={!!toolbarToolsError}\n onDefaultToolChange={this.onDefaultToolChange}\n toggleToolBarTool={this.toggleToolBarTool}\n toolbarTools={toolbarTools}\n />\n\n {toolbarToolsError && <div className={classes.errorMessage}>{toolbarToolsError}</div>}\n\n {Object.entries(answers || {}).map(([key, answer]) => {\n const { marks = [], name } = answer || {};\n\n return (\n <React.Fragment key={`correct-response-graph-${name}`}>\n <div className={classes.responseTitle}>\n <div className={classes.name}>{name}</div>\n {key !== 'correctAnswer' && (\n <Delete className={classes.iconButton} onClick={() => this.deleteAlternateResponse(key, answer)} />\n )}\n </div>\n\n <Graph\n className={correctAnswerErrors[key] && classes.graphError}\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n draggableTools={key === 'correctAnswer'}\n labels={labels}\n marks={marks}\n onChangeMarks={(newMarks) => this.changeMarks(key, newMarks)}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n toolbarTools={toolbarTools}\n onChangeTools={(toolbarTools) => this.updateModel({ toolbarTools })}\n />\n\n {correctAnswerErrors[key] && <div className={classes.errorMessage}>{correctAnswerErrors[key]}</div>}\n </React.Fragment>\n );\n })}\n\n <div className={classes.button} onClick={this.addAlternateResponse}>\n ADD ALTERNATE\n </div>\n\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(CorrectResponse);\n"],"file":"correct-response.js"}
1
+ {"version":3,"sources":["../src/correct-response.jsx"],"names":["styles","theme","column","flex","graphingTools","color","palette","grey","availableTools","marginTop","spacing","unit","display","flexWrap","availableTool","cursor","margin","padding","border","common","white","textTransform","selectedTool","background","container","borderRadius","button","width","responseTitle","alignItems","iconButton","marginLeft","black","name","marginBottom","subtitleText","toolsHeader","justifyContent","defaultTool","defaultToolSelect","menuItem","noDefaultTool","error","main","errorMessage","fontSize","typography","graphError","Tools","classes","hasErrors","toolbarTools","toggleToolBarTool","onDefaultToolChange","allTools","isLabelAvailable","includes","toolbarToolsNoLabel","filter","tool","allToolsNoLabel","length","map","index","selected","find","t","toUpperCase","propTypes","PropTypes","object","isRequired","arrayOf","string","func","CorrectResponse","dialog","open","callback","setState","key","marks","props","model","onChange","answers","Object","entries","reduce","answer","mark","type","updatedToolbarTools","newDefaultTool","findIndex","updatedAnswers","filterMarks","splice","title","text","onConfirm","handleAlertDialog","updateModel","onClose","push","event","value","target","answersKeys","keys","deleteAnswer","errors","state","arrows","backgroundMarks","coordinatesOnHover","domain","graph","labels","labelsEnabled","range","titleEnabled","correctAnswerErrors","toolbarToolsError","deleteAlternateResponse","includeArrows","newMarks","changeMarks","height","addAlternateResponse","React","Component","String"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { GraphContainer as Graph } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport Delete from '@material-ui/icons/Delete';\nimport { set, isEqual } from 'lodash';\nimport { MenuItem, Select, Typography } from '@material-ui/core';\n\nconst styles = (theme) => ({\n column: {\n flex: 1,\n },\n graphingTools: {\n color: theme.palette.grey['A200'],\n },\n availableTools: {\n marginTop: theme.spacing.unit,\n display: 'flex',\n flexWrap: 'wrap',\n },\n availableTool: {\n cursor: 'pointer',\n margin: theme.spacing.unit,\n padding: theme.spacing.unit,\n border: `2px solid ${theme.palette.common.white}`,\n textTransform: 'capitalize',\n '&:hover': {\n color: theme.palette.grey[800],\n },\n },\n selectedTool: {\n background: theme.palette.grey['A100'],\n border: `2px solid ${theme.palette.grey['A200']}`,\n },\n container: {\n border: `2px solid ${theme.palette.grey['A200']}`,\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit * 4}px ${theme.spacing.unit * 2}px`,\n background: theme.palette.grey[50],\n },\n button: {\n margin: `${theme.spacing.unit * 2.5}px 0`,\n cursor: 'pointer',\n background: theme.palette.grey[200],\n padding: theme.spacing.unit * 1.5,\n width: 'fit-content',\n borderRadius: '4px',\n '&:hover': {\n background: theme.palette.grey['A100'],\n },\n },\n responseTitle: {\n display: 'flex',\n alignItems: 'center',\n marginTop: theme.spacing.unit * 2.5,\n },\n iconButton: {\n marginLeft: '6px',\n color: theme.palette.grey[600],\n '&:hover': {\n cursor: 'pointer',\n color: theme.palette.common.black,\n },\n },\n name: {\n marginBottom: theme.spacing.unit / 2,\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit,\n },\n toolsHeader: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n defaultTool: {\n display: 'flex',\n alignItems: 'center',\n width: '300px',\n },\n defaultToolSelect: {\n marginLeft: theme.spacing.unit,\n textTransform: 'uppercase',\n color: theme.palette.grey[800],\n },\n menuItem: {\n textTransform: 'uppercase',\n },\n noDefaultTool: {\n padding: theme.spacing.unit / 2,\n },\n error: {\n color: theme.palette.error.main,\n },\n errorMessage: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n marginTop: theme.spacing.unit,\n },\n graphError: {\n border: `2px solid ${theme.palette.error.main}`,\n },\n});\n\nexport const Tools = ({\n classes,\n availableTools,\n defaultTool,\n hasErrors,\n toolbarTools,\n toggleToolBarTool,\n onDefaultToolChange,\n}) => {\n let allTools = availableTools || [];\n const isLabelAvailable = allTools.includes('label');\n const toolbarToolsNoLabel = (toolbarTools || []).filter((tool) => tool !== 'label');\n\n if (isLabelAvailable) {\n // label has to be placed at the end of the list\n const allToolsNoLabel = allTools.filter((tool) => tool !== 'label');\n allTools = [...allToolsNoLabel, 'label'];\n }\n\n return (\n <div className={classes.graphingTools}>\n <div className={classes.toolsHeader}>\n <span>GRAPHING TOOLS</span>\n {toolbarToolsNoLabel.length > 0 && (\n <div className={classes.defaultTool}>\n <span>Default graphing tool:</span>\n <Select\n className={classes.defaultToolSelect}\n onChange={onDefaultToolChange}\n value={defaultTool}\n disableUnderline\n >\n {toolbarToolsNoLabel.map((tool, index) => (\n <MenuItem key={index} className={classes.menuItem} value={tool}>\n {tool}\n </MenuItem>\n ))}\n </Select>\n </div>\n )}\n </div>\n <div className={classes.availableTools}>\n {allTools.map((tool) => {\n const selected = toolbarTools.find((t) => t === tool);\n\n return (\n <div\n key={tool}\n className={classnames(\n classes.availableTool,\n selected && classes.selectedTool,\n hasErrors && tool !== 'label' && classes.error,\n )}\n onClick={() => toggleToolBarTool(tool)}\n >\n {tool.toUpperCase()}\n </div>\n );\n })}\n </div>\n </div>\n );\n};\n\nTools.propTypes = {\n classes: PropTypes.object.isRequired,\n toolbarTools: PropTypes.arrayOf(PropTypes.string),\n toggleToolBarTool: PropTypes.func,\n};\n\nexport class CorrectResponse extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarTools: PropTypes.arrayOf(PropTypes.String),\n };\n\n state = {\n dialog: {\n open: false,\n },\n };\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n changeMarks = (key, marks) => {\n const { model, onChange } = this.props;\n\n set(model, `answers.${key}.marks`, marks);\n onChange(model);\n };\n\n filterMarks = (tool) => {\n const {\n model: { answers },\n } = this.props;\n\n return Object.entries(answers || {}).reduce((object, [key, answer]) => {\n object[key] = {\n ...answer,\n marks: (answer.marks || []).filter((mark) => mark.type !== tool),\n };\n\n return object;\n }, {});\n };\n\n changeToolbarTools = (toolbarTools) => {\n const { model, onChange } = this.props;\n model.toolbarTools = toolbarTools;\n\n onChange(model);\n };\n\n updateModel = (props) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n ...props,\n });\n };\n\n toggleToolBarTool = (tool) => {\n const {\n model: { defaultTool, toolbarTools, answers = {} },\n } = this.props;\n const updatedToolbarTools = [...toolbarTools];\n let newDefaultTool = defaultTool;\n\n const index = toolbarTools.findIndex((t) => tool === t);\n\n if (index >= 0) {\n const updatedAnswers = this.filterMarks(tool);\n updatedToolbarTools.splice(index, 1);\n\n if (tool === defaultTool) {\n const toolbarToolsNoLabel = (updatedToolbarTools || []).filter((tool) => tool !== 'label');\n newDefaultTool = (toolbarToolsNoLabel.length && toolbarToolsNoLabel[0]) || '';\n }\n\n if (!isEqual(answers, updatedAnswers)) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `Correct answer includes one or more ${tool} objects and all of them will be deleted.`,\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n this.updateModel({\n toolbarTools: updatedToolbarTools,\n answers: updatedAnswers,\n defaultTool: newDefaultTool,\n }),\n ),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n\n return;\n }\n } else {\n updatedToolbarTools.push(tool);\n\n if (defaultTool === '' && tool !== 'label') {\n newDefaultTool = tool;\n }\n }\n\n this.updateModel({\n toolbarTools: updatedToolbarTools,\n defaultTool: newDefaultTool,\n });\n };\n\n onDefaultToolChange = (event) => {\n const { value } = event.target;\n\n this.updateModel({ defaultTool: value });\n };\n\n addAlternateResponse = () => {\n const { model, onChange } = this.props;\n const { answers } = model || {};\n const answersKeys = Object.keys(answers || {});\n\n set(model, `answers.${`alternate${answersKeys.length}`}`, {\n name: `Alternate ${answersKeys.length}`,\n marks: [],\n });\n onChange(model);\n };\n\n deleteAlternateResponse = (key, answer) => {\n const { model, onChange } = this.props;\n const { answers } = model || {};\n const { marks = [], name } = answer || {};\n\n const deleteAnswer = () => {\n delete answers[key];\n onChange(model);\n };\n\n if (marks.length) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: `${name} includes one or more shapes and the entire response will be deleted.`,\n onConfirm: () => this.handleAlertDialog(false, deleteAnswer),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n\n return;\n }\n\n deleteAnswer();\n };\n\n render() {\n const { availableTools, classes, errors, model } = this.props;\n const { dialog } = this.state;\n const {\n answers = {},\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n defaultTool,\n domain,\n graph = {},\n labels,\n labelsEnabled,\n range,\n title,\n titleEnabled,\n toolbarTools,\n } = model || {};\n const { correctAnswerErrors = {}, toolbarToolsError } = errors || {};\n\n return (\n <div>\n <Typography component=\"div\" variant=\"subheading\">\n Define Tool Set and Correct Response\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to choose which graphing tools students will be able to use, and to define the correct\n answer\n </Typography>\n\n <Tools\n classes={classes}\n availableTools={availableTools}\n defaultTool={defaultTool}\n hasErrors={!!toolbarToolsError}\n onDefaultToolChange={this.onDefaultToolChange}\n toggleToolBarTool={this.toggleToolBarTool}\n toolbarTools={toolbarTools}\n />\n\n {toolbarToolsError && <div className={classes.errorMessage}>{toolbarToolsError}</div>}\n\n {Object.entries(answers || {}).map(([key, answer]) => {\n const { marks = [], name } = answer || {};\n\n return (\n <React.Fragment key={`correct-response-graph-${name}`}>\n <div className={classes.responseTitle}>\n <div className={classes.name}>{name}</div>\n {key !== 'correctAnswer' && (\n <Delete className={classes.iconButton} onClick={() => this.deleteAlternateResponse(key, answer)} />\n )}\n </div>\n\n <Graph\n className={correctAnswerErrors[key] && classes.graphError}\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={backgroundMarks}\n coordinatesOnHover={coordinatesOnHover}\n disabledLabels={true}\n disabledTitle={true}\n domain={domain}\n draggableTools={key === 'correctAnswer'}\n labels={labels}\n marks={marks}\n onChangeMarks={(newMarks) => this.changeMarks(key, newMarks)}\n range={range}\n showLabels={labelsEnabled}\n showTitle={titleEnabled}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n toolbarTools={toolbarTools}\n onChangeTools={(toolbarTools) => this.updateModel({ toolbarTools })}\n />\n\n {correctAnswerErrors[key] && <div className={classes.errorMessage}>{correctAnswerErrors[key]}</div>}\n </React.Fragment>\n );\n })}\n\n <div className={classes.button} onClick={this.addAlternateResponse}>\n ADD ALTERNATE\n </div>\n\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(CorrectResponse);\n"],"file":"correct-response.js"}
@@ -76,6 +76,7 @@ var styles = function styles(theme) {
76
76
  },
77
77
  gridConfig: {
78
78
  display: 'flex',
79
+ flexWrap: 'wrap',
79
80
  alignItems: 'center',
80
81
  width: '100%',
81
82
  marginBottom: theme.spacing.unit * 2.5
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/graphing-config.jsx"],"names":["styles","theme","container","display","flexWrap","marginBottom","spacing","unit","gridConfigWrapper","flexDirection","marginRight","graphConfig","subtitleText","marginTop","gridConfig","alignItems","width","gridConfigLabel","padding","gridConfigSelect","flex","GraphingConfig","props","backgroundMarks","model","onChange","labels","title","config","newSelectedGrid","defaultGridConfiguration","oldSelectedGrid","state","oldGridValues","gridValues","oldLabelValues","labelValues","oldDomain","domain","oldRange","range","updatedModel","answers","includeAxes","graph","standardGrid","selectedGrid","domainConstraints","step","labelStep","rangeConstraints","height","plotableAnswers","setState","dialog","isOpened","onClose","onConfirm","event","expanded","graphDimensions","enabled","showPixelGuides","gridConfigurations","value","target","onConfigChange","authoring","availableTools","classes","labelsPlaceholders","showLabels","dimensionsEnabled","showTitle","titlePlaceholder","arrows","coordinatesOnHover","min","max","sizeConstraints","Math","displayedFields","axisLabel","includeAxesEnabled","standardGridEnabled","displayGridSetup","Object","values","some","field","length","changeGridConfiguration","map","index","label","onChangeView","includeArrows","changeLabels","changeBackgroundMarks","changeTitle","React","Component","PropTypes","object","isRequired","bool","array","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphContainer, GridSetup } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { MenuItem, Select, Typography, OutlinedInput } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport { applyConstraints, filterPlotableMarks, getGridValues, getLabelValues } from './utils';\nimport { isEqual } from 'lodash';\n\nconst styles = (theme) => ({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigWrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 2.5,\n },\n graphConfig: {\n display: 'flex',\n flexDirection: 'column',\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit,\n },\n gridConfig: {\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigLabel: {\n padding: `0 ${theme.spacing.unit}px`,\n },\n gridConfigSelect: {\n flex: '1',\n },\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n authoring: PropTypes.object,\n dimensionsEnabled: PropTypes.bool,\n graphDimensions: PropTypes.object,\n gridConfigurations: PropTypes.array,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n const { domain, range, graph } = props.model || {};\n\n const gridValues = {\n domain: getGridValues(domain, graph.width, true),\n range: getGridValues(range, graph.height, true),\n };\n const labelValues = {\n domain: getLabelValues(domain.step),\n range: getLabelValues(range.step),\n };\n\n this.state = {\n gridValues,\n labelValues,\n showPixelGuides: false,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n };\n }\n\n changeBackgroundMarks = (backgroundMarks) => {\n const model = { ...this.props.model, backgroundMarks };\n\n this.props.onChange(model);\n };\n\n changeLabels = (labels) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, labels });\n };\n\n changeTitle = (title) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, title });\n };\n\n onConfigChange = (config, newSelectedGrid) => {\n const { model, onChange } = this.props;\n const { defaultGridConfiguration: oldSelectedGrid = 0 } = model;\n const {\n gridValues: oldGridValues,\n labelValues: oldLabelValues,\n domain: oldDomain,\n range: oldRange,\n } = this.state;\n const updatedModel = { ...model, ...config };\n const { answers, domain, includeAxes, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n const selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;\n\n if (includeAxes) {\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n\n gridValues.domain = domainConstraints.gridValues || [];\n labelValues.domain = domainConstraints.labelValues || [];\n }\n\n if (standardGrid) {\n gridValues.range = gridValues.domain;\n labelValues.range = labelValues.domain;\n range.step = domain.step;\n range.labelStep = domain.labelStep;\n } else {\n if (includeAxes) {\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues || [];\n labelValues.range = rangeConstraints.labelValues || [];\n }\n }\n\n const plotableAnswers = filterPlotableMarks(domain, range, answers);\n\n if (!isEqual(answers, plotableAnswers)) {\n this.setState({\n dialog: {\n isOpened: true,\n onClose: () =>\n this.setState({ dialog: { isOpened: false } }, onChange({ ...model, domain: oldDomain, range: oldRange })),\n onConfirm: () => {\n this.setState(\n {\n gridValues,\n labelValues,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n },\n onChange({ ...updatedModel, answers: plotableAnswers, defaultGridConfiguration: selectedGrid }),\n );\n },\n },\n });\n\n return;\n }\n\n this.setState({ gridValues, labelValues, domain: { ...domain }, range: { ...range } });\n onChange({...updatedModel, defaultGridConfiguration: selectedGrid});\n };\n\n onChangeView = (event, expanded) => {\n const { graphDimensions: { enabled } = {} } = this.props;\n\n if (enabled) {\n this.setState({ showPixelGuides: expanded });\n }\n };\n\n changeGridConfiguration = (event) => {\n const { gridConfigurations } = this.props;\n const { value } = event.target;\n\n this.onConfigChange(gridConfigurations?.[value] || {}, value);\n };\n\n render() {\n const {\n authoring = {},\n availableTools = [],\n classes,\n gridConfigurations = [],\n graphDimensions = {},\n labelsPlaceholders,\n model,\n showLabels,\n dimensionsEnabled,\n showTitle,\n titlePlaceholder,\n } = this.props;\n const { arrows, backgroundMarks, coordinatesOnHover, defaultGridConfiguration, domain, includeAxes, labels, range, standardGrid, title } =\n model || {};\n const graph = (model || {}).graph || {};\n const { min, max, step } = graphDimensions || {};\n const { dialog = {}, gridValues, labelValues, showPixelGuides } = this.state;\n\n const sizeConstraints = {\n min: Math.max(150, min),\n max: Math.min(800, max),\n step: step >= 1 ? Math.min(200, step) : 20,\n };\n\n const displayedFields = {\n axisLabel: authoring.axisLabel,\n dimensionsEnabled,\n includeAxesEnabled: authoring.includeAxesEnabled,\n labelStep: authoring.labelStep,\n min: authoring.min,\n max: authoring.max,\n standardGridEnabled: authoring.standardGridEnabled,\n step: authoring.step,\n };\n\n const displayGridSetup =\n authoring.enabled &&\n Object.values(displayedFields).some((field) => (typeof field === 'object' ? field.enabled : field));\n\n return (\n <div className={classes.container}>\n <div className={classes.gridConfigWrapper}>\n {gridConfigurations && gridConfigurations.length ? (\n <div className={classes.gridConfig}>\n <Typography component=\"div\" variant=\"subheading\" className={classes.gridConfigLabel}>\n Grid Configuration\n </Typography>\n\n <Select\n input={<OutlinedInput />}\n className={classes.gridConfigSelect}\n displayEmpty\n onChange={this.changeGridConfiguration}\n value={defaultGridConfiguration}\n >\n {(gridConfigurations || []).map((config, index) => (\n <MenuItem key={index} value={index}>\n {config.label}\n </MenuItem>\n ))}\n </Select>\n </div>\n ) : null}\n\n {displayGridSetup && (\n <GridSetup\n displayedFields={displayedFields}\n domain={domain}\n gridValues={gridValues}\n includeAxes={includeAxes}\n labelValues={labelValues}\n range={range}\n size={graph}\n sizeConstraints={sizeConstraints}\n standardGrid={standardGrid}\n onChange={this.onConfigChange}\n onChangeView={this.onChangeView}\n />\n )}\n </div>\n\n <div className={classes.graphConfig} key=\"graph\">\n <Typography component=\"div\" variant=\"subheading\">\n Define Graph Attributes\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to add/edit a title and/or labels, and to set background shapes\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n collapsibleToolbar={true}\n collapsibleToolbarTitle={'Add Background Shapes to Graph'}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n labelsPlaceholders={labelsPlaceholders}\n marks={backgroundMarks}\n onChangeLabels={this.changeLabels}\n onChangeMarks={this.changeBackgroundMarks}\n onChangeTitle={this.changeTitle}\n range={range}\n showLabels={showLabels}\n showPixelGuides={showPixelGuides}\n showTitle={showTitle}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n titlePlaceholder={titlePlaceholder}\n toolbarTools={availableTools}\n />\n </div>\n\n <AlertDialog\n open={dialog.isOpened}\n title=\"Warning\"\n text=\"This change would make it impossible for students to plot one or more graph objects in the current correct answers. If you proceed, all such graph objects will be removed from the correct answers.\"\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
1
+ {"version":3,"sources":["../src/graphing-config.jsx"],"names":["styles","theme","container","display","flexWrap","marginBottom","spacing","unit","gridConfigWrapper","flexDirection","marginRight","graphConfig","subtitleText","marginTop","gridConfig","alignItems","width","gridConfigLabel","padding","gridConfigSelect","flex","GraphingConfig","props","backgroundMarks","model","onChange","labels","title","config","newSelectedGrid","defaultGridConfiguration","oldSelectedGrid","state","oldGridValues","gridValues","oldLabelValues","labelValues","oldDomain","domain","oldRange","range","updatedModel","answers","includeAxes","graph","standardGrid","selectedGrid","domainConstraints","step","labelStep","rangeConstraints","height","plotableAnswers","setState","dialog","isOpened","onClose","onConfirm","event","expanded","graphDimensions","enabled","showPixelGuides","gridConfigurations","value","target","onConfigChange","authoring","availableTools","classes","labelsPlaceholders","showLabels","dimensionsEnabled","showTitle","titlePlaceholder","arrows","coordinatesOnHover","min","max","sizeConstraints","Math","displayedFields","axisLabel","includeAxesEnabled","standardGridEnabled","displayGridSetup","Object","values","some","field","length","changeGridConfiguration","map","index","label","onChangeView","includeArrows","changeLabels","changeBackgroundMarks","changeTitle","React","Component","PropTypes","object","isRequired","bool","array","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphContainer, GridSetup } from '@pie-lib/graphing';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport { MenuItem, Select, Typography, OutlinedInput } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\nimport { applyConstraints, filterPlotableMarks, getGridValues, getLabelValues } from './utils';\nimport { isEqual } from 'lodash';\n\nconst styles = (theme) => ({\n container: {\n display: 'flex',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigWrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginRight: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 2.5,\n },\n graphConfig: {\n display: 'flex',\n flexDirection: 'column',\n },\n subtitleText: {\n marginTop: theme.spacing.unit * 1.5,\n marginBottom: theme.spacing.unit,\n },\n gridConfig: {\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n width: '100%',\n marginBottom: theme.spacing.unit * 2.5,\n },\n gridConfigLabel: {\n padding: `0 ${theme.spacing.unit}px`,\n },\n gridConfigSelect: {\n flex: '1',\n },\n});\n\nexport class GraphingConfig extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n authoring: PropTypes.object,\n dimensionsEnabled: PropTypes.bool,\n graphDimensions: PropTypes.object,\n gridConfigurations: PropTypes.array,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n const { domain, range, graph } = props.model || {};\n\n const gridValues = {\n domain: getGridValues(domain, graph.width, true),\n range: getGridValues(range, graph.height, true),\n };\n const labelValues = {\n domain: getLabelValues(domain.step),\n range: getLabelValues(range.step),\n };\n\n this.state = {\n gridValues,\n labelValues,\n showPixelGuides: false,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n };\n }\n\n changeBackgroundMarks = (backgroundMarks) => {\n const model = { ...this.props.model, backgroundMarks };\n\n this.props.onChange(model);\n };\n\n changeLabels = (labels) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, labels });\n };\n\n changeTitle = (title) => {\n const { model, onChange } = this.props;\n\n onChange({ ...model, title });\n };\n\n onConfigChange = (config, newSelectedGrid) => {\n const { model, onChange } = this.props;\n const { defaultGridConfiguration: oldSelectedGrid = 0 } = model;\n const { gridValues: oldGridValues, labelValues: oldLabelValues, domain: oldDomain, range: oldRange } = this.state;\n const updatedModel = { ...model, ...config };\n const { answers, domain, includeAxes, graph, range, standardGrid } = updatedModel;\n const gridValues = { domain: [], range: [] };\n const labelValues = { domain: [], range: [] };\n const selectedGrid = newSelectedGrid >= 0 ? newSelectedGrid : oldSelectedGrid;\n\n if (includeAxes) {\n const domainConstraints = applyConstraints(domain, graph.width, oldGridValues.domain, oldLabelValues.domain);\n\n gridValues.domain = domainConstraints.gridValues || [];\n labelValues.domain = domainConstraints.labelValues || [];\n }\n\n if (standardGrid) {\n gridValues.range = gridValues.domain;\n labelValues.range = labelValues.domain;\n range.step = domain.step;\n range.labelStep = domain.labelStep;\n } else {\n if (includeAxes) {\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues || [];\n labelValues.range = rangeConstraints.labelValues || [];\n }\n }\n\n const plotableAnswers = filterPlotableMarks(domain, range, answers);\n\n if (!isEqual(answers, plotableAnswers)) {\n this.setState({\n dialog: {\n isOpened: true,\n onClose: () =>\n this.setState({ dialog: { isOpened: false } }, onChange({ ...model, domain: oldDomain, range: oldRange })),\n onConfirm: () => {\n this.setState(\n {\n gridValues,\n labelValues,\n dialog: { isOpened: false },\n domain: { ...domain },\n range: { ...range },\n },\n onChange({ ...updatedModel, answers: plotableAnswers, defaultGridConfiguration: selectedGrid }),\n );\n },\n },\n });\n\n return;\n }\n\n this.setState({ gridValues, labelValues, domain: { ...domain }, range: { ...range } });\n onChange({ ...updatedModel, defaultGridConfiguration: selectedGrid });\n };\n\n onChangeView = (event, expanded) => {\n const { graphDimensions: { enabled } = {} } = this.props;\n\n if (enabled) {\n this.setState({ showPixelGuides: expanded });\n }\n };\n\n changeGridConfiguration = (event) => {\n const { gridConfigurations } = this.props;\n const { value } = event.target;\n\n this.onConfigChange(gridConfigurations?.[value] || {}, value);\n };\n\n render() {\n const {\n authoring = {},\n availableTools = [],\n classes,\n gridConfigurations = [],\n graphDimensions = {},\n labelsPlaceholders,\n model,\n showLabels,\n dimensionsEnabled,\n showTitle,\n titlePlaceholder,\n } = this.props;\n const {\n arrows,\n backgroundMarks,\n coordinatesOnHover,\n defaultGridConfiguration,\n domain,\n includeAxes,\n labels,\n range,\n standardGrid,\n title,\n } = model || {};\n const graph = (model || {}).graph || {};\n const { min, max, step } = graphDimensions || {};\n const { dialog = {}, gridValues, labelValues, showPixelGuides } = this.state;\n\n const sizeConstraints = {\n min: Math.max(150, min),\n max: Math.min(800, max),\n step: step >= 1 ? Math.min(200, step) : 20,\n };\n\n const displayedFields = {\n axisLabel: authoring.axisLabel,\n dimensionsEnabled,\n includeAxesEnabled: authoring.includeAxesEnabled,\n labelStep: authoring.labelStep,\n min: authoring.min,\n max: authoring.max,\n standardGridEnabled: authoring.standardGridEnabled,\n step: authoring.step,\n };\n\n const displayGridSetup =\n authoring.enabled &&\n Object.values(displayedFields).some((field) => (typeof field === 'object' ? field.enabled : field));\n\n return (\n <div className={classes.container}>\n <div className={classes.gridConfigWrapper}>\n {gridConfigurations && gridConfigurations.length ? (\n <div className={classes.gridConfig}>\n <Typography component=\"div\" variant=\"subheading\" className={classes.gridConfigLabel}>\n Grid Configuration\n </Typography>\n\n <Select\n input={<OutlinedInput />}\n className={classes.gridConfigSelect}\n displayEmpty\n onChange={this.changeGridConfiguration}\n value={defaultGridConfiguration}\n >\n {(gridConfigurations || []).map((config, index) => (\n <MenuItem key={index} value={index}>\n {config.label}\n </MenuItem>\n ))}\n </Select>\n </div>\n ) : null}\n\n {displayGridSetup && (\n <GridSetup\n displayedFields={displayedFields}\n domain={domain}\n gridValues={gridValues}\n includeAxes={includeAxes}\n labelValues={labelValues}\n range={range}\n size={graph}\n sizeConstraints={sizeConstraints}\n standardGrid={standardGrid}\n onChange={this.onConfigChange}\n onChangeView={this.onChangeView}\n />\n )}\n </div>\n\n <div className={classes.graphConfig} key=\"graph\">\n <Typography component=\"div\" variant=\"subheading\">\n Define Graph Attributes\n </Typography>\n\n <Typography component=\"div\" variant=\"body1\" className={classes.subtitleText}>\n Use this interface to add/edit a title and/or labels, and to set background shapes\n </Typography>\n\n <GraphContainer\n axesSettings={{ includeArrows: arrows }}\n backgroundMarks={[]}\n coordinatesOnHover={coordinatesOnHover}\n collapsibleToolbar={true}\n collapsibleToolbarTitle={'Add Background Shapes to Graph'}\n domain={domain}\n key=\"graphing-config\"\n labels={labels}\n labelsPlaceholders={labelsPlaceholders}\n marks={backgroundMarks}\n onChangeLabels={this.changeLabels}\n onChangeMarks={this.changeBackgroundMarks}\n onChangeTitle={this.changeTitle}\n range={range}\n showLabels={showLabels}\n showPixelGuides={showPixelGuides}\n showTitle={showTitle}\n size={{ width: graph.width, height: graph.height }}\n title={title}\n titlePlaceholder={titlePlaceholder}\n toolbarTools={availableTools}\n />\n </div>\n\n <AlertDialog\n open={dialog.isOpened}\n title=\"Warning\"\n text=\"This change would make it impossible for students to plot one or more graph objects in the current correct answers. If you proceed, all such graph objects will be removed from the correct answers.\"\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GraphingConfig);\n"],"file":"graphing-config.js"}
@@ -701,6 +701,50 @@
701
701
  "type": "string",
702
702
  "title": "promptLabel"
703
703
  },
704
+ "contentDimensions": {
705
+ "description": "Indicates the dimensions configuration for the authoring container\nNote: Some items have a default minimum width because of their content, but if\nthe minWidth is lower than this, the overflow behavior will take care of that",
706
+ "default": ": {}",
707
+ "type": "object",
708
+ "properties": {
709
+ "maxHeight": {
710
+ "description": "Indicates the max height of the authoring container",
711
+ "default": "undefined",
712
+ "type": [
713
+ "string",
714
+ "number"
715
+ ],
716
+ "title": "maxHeight"
717
+ },
718
+ "maxWidth": {
719
+ "description": "Indicates the max width of the authoring container",
720
+ "default": "undefined",
721
+ "type": [
722
+ "string",
723
+ "number"
724
+ ],
725
+ "title": "maxWidth"
726
+ },
727
+ "minHeight": {
728
+ "description": "Indicates the min height of the authoring container",
729
+ "default": "undefined",
730
+ "type": [
731
+ "string",
732
+ "number"
733
+ ],
734
+ "title": "minHeight"
735
+ },
736
+ "minWidth": {
737
+ "description": "Indicates the min width of the authoring container",
738
+ "default": "undefined",
739
+ "type": [
740
+ "string",
741
+ "number"
742
+ ],
743
+ "title": "minWidth"
744
+ }
745
+ },
746
+ "title": "contentDimensions"
747
+ },
704
748
  "settingsPartialScoring": {
705
749
  "description": "Indicates whether the settings panel wil allow the author to modify settings for partial scoring",
706
750
  "default": true,
@@ -510,6 +510,40 @@ The label for the item stem/prompt field
510
510
 
511
511
  Default: `"Item Stemm"`
512
512
 
513
+ # `contentDimensions` (object)
514
+
515
+ Indicates the dimensions configuration for the authoring container
516
+ Note: Some items have a default minimum width because of their content, but if
517
+ the minWidth is lower than this, the overflow behavior will take care of that
518
+
519
+ Properties of the `contentDimensions` object:
520
+
521
+ ## `maxHeight` (string,number)
522
+
523
+ Indicates the max height of the authoring container
524
+
525
+ Default: `"undefined"`
526
+
527
+ ## `maxWidth` (string,number)
528
+
529
+ Indicates the max width of the authoring container
530
+
531
+ Default: `"undefined"`
532
+
533
+ ## `minHeight` (string,number)
534
+
535
+ Indicates the min height of the authoring container
536
+
537
+ Default: `"undefined"`
538
+
539
+ ## `minWidth` (string,number)
540
+
541
+ Indicates the min width of the authoring container
542
+
543
+ Default: `"undefined"`
544
+
545
+ Default: `": {}"`
546
+
513
547
  # `settingsPartialScoring` (boolean)
514
548
 
515
549
  Indicates whether the settings panel wil allow the author to modify settings for partial scoring
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "4.12.3-next.45+62ff92a85",
7
+ "version": "4.12.3-next.57+f7af573fb",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "author": "",
26
26
  "license": "ISC",
27
- "gitHead": "62ff92a8524033abfcc7a323b126605d76eb73c7",
27
+ "gitHead": "f7af573fb4e0491e4f5ff278103b157ac0120f98",
28
28
  "main": "lib/index.js",
29
29
  "module": "src/index.js"
30
30
  }