@pie-lib/config-ui 11.26.1 → 11.26.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/index.js +624 -7
- package/esm/index.js.map +1 -1
- package/package.json +5 -5
package/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/alert-dialog.jsx","../src/radio-with-label.jsx","../src/feedback-config/group.jsx","../src/feedback-config/feedback-selector.jsx","../src/feedback-config/index.jsx","../src/inputs.jsx","../src/langs.jsx","../src/tabs/index.jsx","../src/checkbox.jsx","../src/form-section.jsx","../src/help.jsx","../src/input.jsx","../src/number-text-field.jsx","../src/number-text-field-custom.jsx","../src/two-choice.jsx","../src/mui-box/index.jsx","../src/tags-input/index.jsx","../src/choice-configuration/feedback-menu.jsx","../src/choice-configuration/index.jsx","../src/layout/layout-contents.jsx","../src/layout/settings-box.jsx","../src/layout/config-layout.jsx","../src/choice-utils.js","../src/with-stateful-model.jsx","../src/settings/toggle.jsx","../src/settings/display-size.jsx","../src/settings/settings-radio-label.jsx","../src/settings/panel.jsx","../src/settings/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst AlertDialog = ({ text, title, onClose, onConfirm, open, onCloseText, onConfirmText, classes }) => (\n <Dialog open={open} onClose={onClose}>\n {title && <DialogTitle className={classes.heading}>{title}</DialogTitle>}\n {text && (\n <DialogContent>\n <DialogContentText className={classes.subheading}>{text}</DialogContentText>\n </DialogContent>\n )}\n <DialogActions>\n {onClose && (\n <Button onClick={onClose} color=\"primary\">\n {onCloseText}\n </Button>\n )}\n {onConfirm && (\n <Button autoFocus onClick={onConfirm} color=\"primary\">\n {onConfirmText}\n </Button>\n )}\n </DialogActions>\n </Dialog>\n);\n\nAlertDialog.defaultProps = {\n onCloseText: 'CANCEL',\n onConfirmText: 'OK',\n};\n\nAlertDialog.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n title: PropTypes.string,\n onClose: PropTypes.func,\n onConfirm: PropTypes.func,\n open: PropTypes.bool,\n onConfirmText: PropTypes.string,\n onCloseText: PropTypes.string,\n classes: PropTypes.object,\n};\n\nconst styles = () => ({\n heading: {\n '& h2': {\n fontSize: 'max(1.25rem, 18px)',\n },\n },\n subheading: {\n fontSize: 'max(1rem, 14px)',\n },\n});\n\nexport default withStyles(styles)(AlertDialog);\n","import FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Radio from '@material-ui/core/Radio';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\n\nexport default withStyles({\n label: {\n left: '-5px',\n position: 'relative',\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n})(({ label, value, checked, onChange, classes }) => (\n <FormControlLabel\n value={value}\n classes={{ label: classes.label }}\n control={<Radio className={classes.customColor} checked={checked} onChange={onChange} />}\n label={label}\n />\n));\n","import PropTypes from 'prop-types';\nimport RadioWithLabel from '../radio-with-label';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nconst styles = (theme) => ({\n radioLabel: {\n fontSize: theme.typography.fontSize - 2,\n },\n choice: {\n display: 'flex',\n alignItems: 'center',\n },\n choiceHolder: {\n display: 'flex',\n alignItems: 'center',\n },\n});\n\nconst Group = (props) => {\n const { feedbackLabels, value, classes, className, onChange, keys } = props;\n\n return (\n <div className={classNames(classes.choiceHolder, className)}>\n {keys.map((key) => {\n return (\n <div className={classes.choice} key={key}>\n <RadioWithLabel\n value={key}\n checked={value === key}\n classes={{ label: classes.radioLabel }}\n onChange={(e) => onChange(e.currentTarget.value)}\n label={feedbackLabels[key]}\n />\n </div>\n );\n })}\n </div>\n );\n};\n\nGroup.propTypes = {\n className: PropTypes.string,\n feedbackLabels: PropTypes.object.isRequired,\n value: PropTypes.string.isRequired,\n classes: PropTypes.object.isRequired,\n keys: PropTypes.arrayOf(PropTypes.string),\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(Group);\n","import EditableHTML from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Group from './group';\n\nconst feedbackLabels = {\n default: 'Simple Feedback',\n none: 'No Feedback',\n custom: 'Customized Feedback',\n};\n\nconst holder = (theme, extras) => ({\n marginTop: '0px',\n background: theme.palette.grey[300],\n padding: theme.spacing.unit,\n marginBottom: theme.spacing.unit * 2,\n borderRadius: '4px',\n ...extras,\n});\n\nconst style = (theme) => ({\n feedbackSelector: {\n marginBottom: theme.spacing.unit,\n },\n label: {\n cursor: 'pointer',\n },\n inputContainerLabel: {\n transform: 'translateY(-20%)',\n },\n feedbackInputContainer: {\n paddingBottom: 0,\n },\n customHolder: holder(theme, {\n background: theme.palette.grey[300],\n padding: 0,\n }),\n defaultHolder: holder(theme, {\n fontFamily: theme.typography.fontFamily,\n padding: theme.spacing.unit * 2,\n cursor: 'default',\n }),\n editor: {\n fontFamily: theme.typography.fontFamily,\n },\n group: {\n paddingTop: theme.spacing.unit,\n },\n});\n\nexport const FeedbackType = {\n type: PropTypes.oneOf(['default', 'custom', 'none']),\n default: PropTypes.string,\n custom: PropTypes.string,\n};\n\nexport class FeedbackSelector extends React.Component {\n static propTypes = {\n keys: PropTypes.arrayOf(PropTypes.string),\n classes: PropTypes.object.isRequired,\n label: PropTypes.string.isRequired,\n feedback: PropTypes.shape(FeedbackType).isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n changeType = (type) => {\n const { onChange, feedback } = this.props;\n\n onChange({ ...feedback, type });\n };\n\n changeCustom = (custom) => {\n const { onChange, feedback } = this.props;\n\n onChange({ ...feedback, type: 'custom', custom });\n };\n\n render() {\n const { keys, classes, label, feedback, toolbarOpts, mathMlOptions = {} } = this.props;\n\n const feedbackKeys = keys || Object.keys(feedbackLabels);\n\n return (\n <div className={classes.feedbackSelector}>\n <InputContainer\n label={label}\n className={classes.feedbackInputContainer}\n extraClasses={{ label: classes.inputContainerLabel }}\n >\n <Group\n className={classes.group}\n keys={feedbackKeys}\n label={label}\n value={feedback.type}\n onChange={this.changeType}\n feedbackLabels={feedbackLabels}\n />\n </InputContainer>\n\n {feedback.type === 'custom' && (\n <div className={classes.customHolder}>\n <EditableHTML\n className={classes.editor}\n onChange={this.changeCustom}\n markup={feedback.custom || ''}\n toolbarOpts={toolbarOpts}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </div>\n )}\n\n {feedback.type === 'default' && <div className={classes.defaultHolder}> {feedback.default}</div>}\n </div>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackSelector);\n","import FeedbackSelector, { FeedbackType } from './feedback-selector';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport merge from 'lodash/merge';\n\nexport { FeedbackSelector };\n\nconst style = {\n feedbackContainer: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n },\n panelDetails: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n};\n\nexport const buildDefaults = (input) => {\n return merge(\n {},\n {\n correct: { type: 'default', default: 'Correct' },\n incorrect: { type: 'default', default: 'Incorrect' },\n partial: { type: 'default', default: 'Nearly' },\n },\n input,\n );\n};\n\nexport class FeedbackConfig extends React.Component {\n static propTypes = {\n allowPartial: PropTypes.bool,\n className: PropTypes.string,\n feedback: PropTypes.shape({\n correct: PropTypes.shape(FeedbackType),\n incorrect: PropTypes.shape(FeedbackType),\n partial: PropTypes.shape(FeedbackType),\n }),\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n static defaultProps = {\n allowPartial: true,\n feedback: buildDefaults(),\n };\n\n onChange(key, config) {\n const { feedback, onChange } = this.props;\n const update = { ...feedback, [key]: config };\n\n onChange(update);\n }\n\n onCorrectChange = this.onChange.bind(this, 'correct');\n\n onIncorrectChange = this.onChange.bind(this, 'incorrect');\n\n onPartialChange = this.onChange.bind(this, 'partial');\n\n render() {\n const { classes, className, allowPartial, feedback, toolbarOpts } = this.props;\n\n return (\n <div className={className}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography className={classes.heading}>Feedback</Typography>\n </ExpansionPanelSummary>\n\n <ExpansionPanelDetails className={classes.panelDetails}>\n <div className={classes.feedbackContainer}>\n <FeedbackSelector\n label=\"If correct, show\"\n feedback={feedback.correct}\n onChange={this.onCorrectChange}\n toolbarOpts={toolbarOpts}\n />\n\n {allowPartial && (\n <FeedbackSelector\n label=\"If partially correct, show\"\n feedback={feedback.partial}\n onChange={this.onPartialChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n\n <FeedbackSelector\n label=\"If incorrect, show\"\n feedback={feedback.incorrect}\n onChange={this.onIncorrectChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackConfig);\n","import Checkbox from '@material-ui/core/Checkbox';\nimport Radio from '@material-ui/core/Radio';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Switch from '@material-ui/core/Switch';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\n\nconst InputTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n label: PropTypes.string,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n error: PropTypes.string,\n};\n\nconst RawInputSwitch = ({ classes, className, label, checked, onChange }) => {\n return (\n <InputContainer className={className} label={label}>\n <Switch className={classes.switchRoot} checked={checked} onChange={onChange} aria-label={label} />\n </InputContainer>\n );\n};\n\nRawInputSwitch.propTypes = { ...InputTypes };\n\nconst InputSwitch = withStyles({\n switchRoot: {\n justifyContent: 'inherit',\n transform: 'translate(-20%, 20%)',\n },\n})(RawInputSwitch);\n\nconst RawInputCheckbox = (props) => {\n const { classes, className, label, checked, onChange, disabled, error } = props;\n\n return (\n <InputContainer className={className} label={label}>\n <Checkbox\n className={classNames(classes.checkboxRoot, classes.customColor, error && classes.error)}\n disabled={disabled}\n checked={checked}\n onChange={onChange}\n aria-label={label}\n />\n </InputContainer>\n );\n};\n\nRawInputCheckbox.propTypes = { ...InputTypes };\n\nconst RawInputRadio = (props) => {\n const { classes, className, label, checked, onChange, disabled, error } = props;\n\n return (\n <InputContainer className={className} label={label}>\n <Radio\n className={classNames(classes.radioRoot, classes.customColor, error && classes.error)}\n disabled={disabled}\n checked={checked}\n onChange={onChange}\n aria-label={label}\n />\n </InputContainer>\n );\n};\n\nRawInputRadio.propTypes = { ...InputTypes };\n\nconst InputCheckbox = withStyles((theme) => ({\n checkboxRoot: {\n transform: 'translate(-25%, 20%)',\n },\n error: {\n color: theme.palette.error.main,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n}))(RawInputCheckbox);\n\nconst InputRadio = withStyles((theme) => ({\n radioRoot: {\n transform: 'translate(-20%, 20%)',\n },\n error: {\n color: theme.palette.error.main,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n}))(RawInputRadio);\n\nexport { InputSwitch, InputCheckbox, InputRadio };\n","import Input from '@material-ui/core/Input';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormControl from '@material-ui/core/FormControl';\nimport debug from 'debug';\n\nconst log = debug('pie-elements:config-ui:langs');\n\nconst styles = (theme) => ({\n root: {\n flexDirection: 'column',\n alignItems: 'start',\n display: 'flex',\n position: 'relative',\n paddingTop: '0px',\n paddingRight: '0px',\n },\n formControl: {\n position: 'initial',\n },\n inputLabel: {\n paddingBottom: theme.spacing.unit,\n },\n});\n\nexport class RawLangs extends React.Component {\n static propTypes = {\n onChange: PropTypes.func,\n langs: PropTypes.array,\n selected: PropTypes.string,\n label: PropTypes.string,\n classes: PropTypes.object.isRequired,\n uid: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.uid = props.uid || (Math.random() * 10000).toFixed();\n }\n\n choose = (event) => {\n log('[choose] event: ', event);\n\n if (this.props.onChange) {\n this.props.onChange(event.target.value);\n }\n };\n\n render() {\n let { langs, selected, label, classes } = this.props;\n\n log('[render] selected:', selected);\n\n return (\n <div className={classes.root}>\n <FormControl className={classes.formControl}>\n <InputLabel className={classes.inputLabel} htmlFor={this.uid}>\n {label}\n </InputLabel>\n\n <Select value={selected} onChange={this.choose} input={<Input id={this.uid} />}>\n {langs.map((l, index) => (\n <MenuItem key={index} value={l}>\n {l}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </div>\n );\n }\n}\n\nconst Langs = withStyles(styles, { name: 'Langs' })(RawLangs);\nexport default Langs;\n\nexport const LanguageControls = withStyles({\n languageControls: {\n display: 'grid',\n gridAutoFlow: 'column',\n gridAutoColumns: '1fr',\n gridGap: '8px',\n },\n})(({ classes, langs, activeLang, defaultLang, onActiveLangChange, onDefaultLangChange, className }) => {\n const names = classNames(classes.languageControls, className);\n\n return (\n <div className={names}>\n <Langs\n label=\"Choose language to edit\"\n langs={langs}\n selected={activeLang}\n onChange={(l) => onActiveLangChange(l)}\n />\n <Langs label=\"Default language\" langs={langs} selected={defaultLang} onChange={(l) => onDefaultLangChange(l)} />\n </div>\n );\n});\n\nLanguageControls.propTypes = {\n langs: PropTypes.array,\n activeLang: PropTypes.string.isRequired,\n defaultLang: PropTypes.string.isRequired,\n onActiveLangChange: PropTypes.func.isRequired,\n onDefaultLangChange: PropTypes.func.isRequired,\n};\n","import React from 'react';\n\nimport MuiTabs from '@material-ui/core/Tabs';\nimport MuiTab from '@material-ui/core/Tab';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core';\n\nexport class Tabs extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n contentClassName: PropTypes.string,\n contentStyle: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = { value: 0 };\n }\n\n handleChange = (event, value) => {\n this.setState({ value });\n };\n\n render() {\n const { value } = this.state;\n const { children, className, contentClassName, contentStyle = {}, classes } = this.props;\n const tabClasses = { root: classes.tabRoot };\n\n return (\n <div className={className}>\n <MuiTabs indicatorColor=\"primary\" value={value} onChange={this.handleChange}>\n {React.Children.map(children, (c, index) =>\n c && c.props.title ? <MuiTab classes={tabClasses} key={index} label={c.props.title} /> : null,\n )}\n </MuiTabs>\n\n <div className={contentClassName} style={contentStyle}>\n {children[value]}\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(() => ({ tabRoot: {} }))(Tabs);\n","import FormControlLabel from '@material-ui/core/FormControlLabel';\nimport MuiCheckbox from '@material-ui/core/Checkbox';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport grey from '@material-ui/core/colors/grey';\nimport { color } from '@pie-lib/render-ui';\n\nconst Checkbox = ({ mini, checked, onChange, value, label, classes, error }) => (\n <FormControlLabel\n className={classNames(classes.mini)}\n classes={{\n label: classNames(classes.label, { [classes.miniLabel]: mini }),\n }}\n control={\n <MuiCheckbox\n checked={checked}\n onChange={onChange}\n value={value}\n className={classNames(classes.customColor, {\n [classes.miniCheckbox]: mini,\n [classes.error]: error,\n })}\n />\n }\n label={label}\n />\n);\n\nCheckbox.propTypes = {\n mini: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n checked: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string,\n label: PropTypes.string.isRequired,\n};\n\nCheckbox.defaultProps = {\n value: '',\n mini: false,\n};\n\nexport default withStyles((theme) => ({\n label: {\n fontSize: theme.typography.fontSize - 1,\n transform: 'translate(-4%, 2%)',\n color: 'rgba(0,0,0,1.0)',\n },\n miniCheckbox: {\n margin: 0,\n padding: 0,\n width: theme.spacing.unit * 3,\n height: theme.spacing.unit * 3,\n },\n miniLabel: {\n marginLeft: theme.spacing.unit,\n color: grey[700],\n fontSize: theme.typography.fontSize - 3,\n },\n mini: {\n margin: 0,\n marginLeft: 0,\n padding: 0,\n },\n error: {\n color: theme.palette.error.main,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n}))(Checkbox);\n","import React from 'react';\nimport Typography from '@material-ui/core/Typography';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = (theme) => ({\n formSection: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n label: {\n marginBottom: theme.spacing.unit,\n },\n});\n\nexport default withStyles(styles)(({ className, classes, label, children, labelExtraStyle }) => (\n <div className={classNames(classes.formSection, className)}>\n <Typography className={classes.label} type=\"subheading\" style={labelExtraStyle}>\n {label}\n </Typography>\n {children}\n </div>\n));\n","import Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport PropTypes from 'prop-types';\n\nimport Button from '@material-ui/core/Button';\nimport HelpIcon from '@material-ui/icons/Help';\nimport IconButton from '@material-ui/core/IconButton';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst RawHelpButton = ({ onClick, classes }) => (\n <IconButton\n classes={{\n label: classes.icon,\n }}\n onClick={onClick}\n >\n <HelpIcon />\n </IconButton>\n);\n\nRawHelpButton.propTypes = {\n onClick: PropTypes.func,\n classes: PropTypes.object.isRequired,\n};\n\nexport const HelpButton = withStyles((theme) => ({\n icon: {\n '&:hover': {\n color: theme.palette.grey[300],\n },\n },\n}))(RawHelpButton);\n\nexport const HelpDialog = ({ open, onClose, children, title }) => (\n <Dialog open={open} onRequestClose={onClose}>\n <DialogTitle>{title}</DialogTitle>\n <DialogContent>\n <DialogContentText>{children}</DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose} color=\"primary\">\n OK\n </Button>\n </DialogActions>\n </Dialog>\n);\n\nHelpDialog.propTypes = {\n open: PropTypes.bool,\n onClose: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n title: PropTypes.string.isRequired,\n};\n\nclass Help extends React.Component {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n title: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n open: false,\n };\n }\n\n render() {\n const { children, title } = this.props;\n\n return (\n <div>\n <HelpButton color=\"accent\" onClick={() => this.setState({ open: true })} />\n\n <HelpDialog open={this.state.open} title={title} onClose={() => this.setState({ open: false })}>\n {children}\n </HelpDialog>\n </div>\n );\n }\n}\n\nexport default Help;\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { default as MaterialInput } from '@material-ui/core/Input';\nimport { InputContainer } from '@pie-lib/render-ui';\n\nexport default class Input extends React.Component {\n static propTypes = {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string,\n type: PropTypes.string.isRequired,\n error: PropTypes.func,\n noModelUpdateOnError: PropTypes.bool,\n };\n\n static defaultProps = {\n type: 'text',\n error: (value, type) => (type === 'number' ? !value || isNaN(value) : !value),\n noModelUpdateOnError: false,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n value: props.value,\n };\n }\n\n UNSAFE_componentWillReceiveProps(newProps) {\n this.setState({\n value: newProps.value,\n });\n }\n\n onChange = (event) => {\n const { type, onChange, error } = this.props;\n const value = event.target.value;\n\n if (error(value, type)) {\n this.setState({\n error: true,\n value: event.target.value,\n });\n } else {\n this.setState({\n error: false,\n value: event.target.value,\n });\n\n onChange(event);\n }\n };\n\n render() {\n const {\n label,\n type,\n noModelUpdateOnError, // eslint-disable-line no-unused-vars\n ...rest\n } = this.props;\n const { value, error } = this.state;\n\n return label ? (\n <InputContainer label={label}>\n <MaterialInput type={type} {...rest} value={value} onChange={this.onChange} error={error} />\n </InputContainer>\n ) : (\n <MaterialInput type={type} {...rest} value={value} onChange={this.onChange} error={error} />\n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport debug from 'debug';\nimport isFinite from 'lodash/isFinite';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nconst log = debug('@pie-lib:config-ui:number-text-field');\n\nconst styles = (theme) => ({\n root: {\n marginRight: theme.spacing.unit,\n '& label': {\n width: 'max-content',\n },\n },\n});\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextField extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n inputClassName: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n label: PropTypes.string,\n suffix: PropTypes.string,\n showErrorWhenOutsideRange: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n variant: PropTypes.string,\n };\n\n static defaultProps = {\n showErrorWhenOutsideRange: false,\n };\n\n constructor(props) {\n super(props);\n\n const value = this.clamp(props.value);\n\n this.state = {\n value,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = this.clamp(props.value, props.min, props.max);\n\n this.setState({ value });\n }\n\n clamp(value, min = this.props.min, max = this.props.max) {\n if (!isFinite(value)) {\n return fallbackNumber(min, max);\n }\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n\n return value;\n }\n\n /**\n * on Blur (this can be triggered by pressing Enter, see below)\n * we check the entered value and reset it if needed\n */\n onBlur = (event) => {\n const value = event.target.value;\n\n const rawNumber = parseFloat(value);\n log('rawNumber: ', rawNumber);\n\n const number = this.clamp(rawNumber);\n log('number: ', number);\n\n if (number !== this.state.value) {\n log('trigger update...');\n this.setState({ value: number.toString() }, () => {\n this.props.onChange(event, number);\n });\n }\n };\n\n onChange(event) {\n const value = event.target.value;\n this.setState({ value });\n }\n\n errorMessage = () => {\n const { min, max } = this.props;\n if (min && max) {\n return `The value must be between ${min} and ${max}`;\n }\n if (min) {\n return `The value must be greater than ${min}`;\n }\n if (max) {\n return `The value must be less than ${max}`;\n }\n };\n\n /**\n * if the input has to show error when outside range,\n * and the entered value is not matching the requirements\n * we display error message\n */\n\n getError = () => {\n const { value } = this.state;\n const float = parseFloat(value);\n const clamped = this.clamp(float);\n if (clamped !== float) {\n return this.errorMessage();\n }\n };\n\n render() {\n const {\n className,\n classes,\n label,\n disabled,\n suffix,\n min,\n max,\n inputClassName,\n disableUnderline,\n showErrorWhenOutsideRange,\n variant,\n } = this.props;\n const names = classNames(classes.root, className);\n\n const error = showErrorWhenOutsideRange && this.getError();\n return (\n <TextField\n variant={variant || 'standard'}\n inputRef={(ref) => {\n this.inputRef = ref;\n }}\n disabled={disabled}\n label={label}\n value={this.state.value}\n error={!!error}\n helperText={error}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyPress={(e) => {\n // once the Enter key is pressed, we force input blur\n if (e.key === 'Enter' && this.inputRef) {\n this.inputRef.blur();\n }\n }}\n type=\"number\"\n className={names}\n InputLabelProps={{\n shrink: true,\n }}\n InputProps={{\n endAdornment: suffix && <InputAdornment position=\"end\">{suffix}</InputAdornment>,\n className: inputClassName,\n disableUnderline: disableUnderline,\n }}\n inputProps={{\n min,\n max,\n }}\n margin=\"normal\"\n />\n );\n }\n}\n\nexport default withStyles(styles)(NumberTextField);\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport isFinite from 'lodash/isFinite';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Remove from '@material-ui/icons/Remove';\nimport Add from '@material-ui/icons/Add';\nimport * as math from 'mathjs';\n\nconst styles = () => ({\n input: {\n '& input[type=number]': {\n '-moz-appearance': 'textfield',\n },\n '& input[type=number]::-webkit-outer-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n '& input[type=number]::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n },\n iconButton: {\n padding: '2px',\n },\n});\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextFieldCustom extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n customValues: PropTypes.array,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n inputClassName: PropTypes.string,\n helperText: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onlyIntegersAllowed: PropTypes.bool,\n value: PropTypes.any,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n label: PropTypes.string,\n disableUnderline: PropTypes.bool,\n textAlign: PropTypes.string,\n variant: PropTypes.string,\n type: PropTypes.string,\n };\n\n static defaultProps = {\n step: 1,\n customValues: [],\n textAlign: 'center',\n variant: 'standard',\n onlyIntegersAllowed: false,\n };\n\n constructor(props) {\n super(props);\n\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value);\n\n this.state = {\n value,\n currentIndex,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value, props.min, props.max);\n\n this.setState({ value, currentIndex });\n }\n\n clamp(value, min = this.props.min, max = this.props.max) {\n const { customValues } = this.props;\n\n if ((customValues || []).length > 0) {\n return value;\n }\n\n if (!isFinite(value)) {\n return fallbackNumber(min, max);\n }\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n\n return value;\n }\n\n normalizeValueAndIndex = (customValues, number, min, max) => {\n const { type } = this.props;\n const value = this.clamp(number, min, max);\n const currentIndex = (customValues || []).findIndex((val) => val === value);\n\n if ((customValues || []).length > 0 && currentIndex === -1) {\n const closestValue =\n type === 'text' ? this.getClosestFractionValue(customValues, value) : this.getClosestValue(customValues, value);\n\n return { value: closestValue.value, currentIndex: closestValue.index };\n }\n\n return { value, currentIndex };\n };\n\n getClosestValue = (customValues, number) =>\n customValues.reduce(\n (closest, value, index) =>\n Math.abs(value - number) < Math.abs(closest.value - number) ? { value, index } : closest,\n { value: customValues[0], index: 0 },\n );\n\n getClosestFractionValue = (customValues, number) =>\n customValues.reduce(\n (closest, value, index) =>\n Math.abs(math.number(math.fraction(value)) - math.number(math.fraction(number))) <\n Math.abs(math.number(math.fraction(closest.value)) - math.number(math.fraction(number)))\n ? { value, index }\n : closest,\n { value: customValues[0], index: 0 },\n );\n\n getValidFraction = (value) => {\n if (this.isPositiveInteger(value.trim())) {\n return value.trim();\n }\n if (value.trim() === '' || value.trim().split('/').length !== 2) {\n return false;\n }\n let [numerator, denominator] = value.trim().split('/');\n if (isNaN(numerator) || isNaN(denominator)) {\n return false;\n }\n numerator = parseFloat(numerator);\n denominator = parseFloat(denominator);\n if (!Number.isInteger(numerator) || !Number.isInteger(denominator)) {\n return false;\n }\n if (numerator < 0 || denominator < 1) {\n return false;\n }\n return numerator + '/' + denominator;\n };\n\n isPositiveInteger = (n) => {\n return n >>> 0 === parseFloat(n);\n };\n\n onBlur = (event) => {\n const { customValues, onlyIntegersAllowed, type } = this.props;\n let { value } = event.target;\n if (type === 'text') {\n let tempValue = this.getValidFraction(value);\n if (tempValue) {\n value = tempValue;\n } else {\n value = this.props.value;\n }\n }\n let rawNumber = onlyIntegersAllowed ? Math.round(parseFloat(value)) : parseFloat(value);\n if (type === 'text') {\n rawNumber = value.trim();\n }\n const { value: number, currentIndex } = this.normalizeValueAndIndex(customValues, rawNumber);\n this.setState(\n {\n value: number.toString(),\n currentIndex,\n },\n () => this.props.onChange(event, number),\n );\n };\n\n onChange(event) {\n const { type } = this.props;\n const { value } = event.target;\n if (type !== 'text' && typeof value === 'string' && value.trim() === '') {\n return;\n }\n this.setState({ value });\n }\n\n changeValue(event, sign = 1, shouldUpdate = false) {\n event.preventDefault();\n const { customValues, step, onlyIntegersAllowed, onChange } = this.props;\n const { currentIndex, value } = this.state;\n const updatedIndex = currentIndex + sign * 1;\n let number;\n if (customValues.length > 0) {\n if (updatedIndex < 0 || updatedIndex >= customValues.length) {\n return;\n }\n number = customValues[updatedIndex];\n } else {\n const rawNumber = onlyIntegersAllowed ? parseInt(value) : parseFloat(value);\n const updatedValue = (rawNumber * 10000 + step * sign * 10000) / 10000;\n number = this.clamp(updatedValue);\n }\n this.setState(\n {\n value: number.toString(),\n currentIndex: updatedIndex,\n },\n () => {\n if (shouldUpdate) {\n onChange(event, number);\n }\n },\n );\n }\n\n render() {\n const {\n className,\n classes,\n label,\n disabled,\n error,\n min,\n max,\n customValues,\n inputClassName,\n disableUnderline,\n helperText,\n variant,\n textAlign,\n type = 'number',\n } = this.props;\n const { value } = this.state;\n const names = classNames(className, classes.input);\n //Logic to disable the increment and decrement buttons\n let disabledStart = false;\n let disabledEnd = false;\n if (customValues.length > 0) {\n disabledStart = value === customValues[0];\n disabledEnd = value === customValues[customValues.length - 1];\n } else if (isFinite(min) && isFinite(max)) {\n disabledStart = value === min;\n disabledEnd = value === max;\n }\n\n return (\n <TextField\n variant={variant}\n inputRef={(ref) => (this.inputRef = ref)}\n disabled={disabled}\n label={label}\n value={value}\n error={error}\n helperText={helperText}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyPress={(e) => {\n // once the Enter key is pressed, we force input blur\n if (e.key === 'Enter' && this.inputRef) {\n this.inputRef.blur();\n }\n }}\n onKeyDown={(e) => {\n if (e.key === 'ArrowUp') {\n this.changeValue(e);\n }\n\n if (e.key === 'ArrowDown') {\n this.changeValue(e, -1);\n }\n }}\n title={''}\n type={type}\n className={names}\n InputProps={{\n className: inputClassName,\n disableUnderline: disableUnderline,\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconButton\n className={classes.iconButton}\n disabled={disabled ? disabled : disabledStart}\n onClick={(e) => this.changeValue(e, -1, true)}\n >\n <Remove fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n className={classes.iconButton}\n disabled={disabled ? disabled : disabledEnd}\n onClick={(e) => this.changeValue(e, 1, true)}\n >\n <Add fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n inputProps={{\n style: { textAlign },\n min,\n max,\n }}\n />\n );\n }\n}\n\nexport default withStyles(styles)(NumberTextFieldCustom);\n","import { InputContainer } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\nimport RadioWithLabel from './radio-with-label';\nimport React from 'react';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = (theme) => ({\n group: {\n display: 'flex',\n flexWrap: 'wrap',\n paddingLeft: 0,\n marginTop: theme.spacing.unit,\n },\n vertical: {\n flexDirection: 'column',\n },\n});\n\nclass RawNChoice extends React.Component {\n static propTypes = {\n header: PropTypes.string.isRequired,\n className: PropTypes.string,\n customLabel: PropTypes.func,\n opts: PropTypes.array.isRequired,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n classes: PropTypes.object.isRequired,\n };\n\n handleChange = (event) => {\n this.props.onChange(event.currentTarget.value);\n };\n\n render() {\n const { header, className, classes, customLabel, opts, value, direction } = this.props;\n\n const preppedOpts = opts.map((o) => {\n return typeof o === 'string' ? { label: o, value: o } : o;\n });\n const LabelComponent = customLabel || RadioWithLabel;\n\n return (\n <InputContainer label={header} className={className}>\n <div className={classNames(classes.group, classes[direction])}>\n {preppedOpts.map((o, index) => (\n <LabelComponent\n value={o.value}\n key={index}\n checked={o.value === value}\n onChange={this.handleChange}\n label={o.label}\n />\n ))}\n </div>\n </InputContainer>\n );\n }\n}\n\nexport const NChoice = withStyles(styles)(RawNChoice);\n\nconst labelValue = PropTypes.shape({ label: PropTypes.string, value: PropTypes.string });\n\nclass TwoChoice extends React.Component {\n static propTypes = {\n header: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n one: PropTypes.oneOfType([labelValue, PropTypes.string]),\n two: PropTypes.oneOfType([labelValue, PropTypes.string]),\n className: PropTypes.string,\n customLabel: PropTypes.func,\n };\n\n render() {\n const { one, two, header, className, customLabel, value, onChange } = this.props;\n const opts = [one, two];\n\n return (\n <NChoice\n customLabel={customLabel}\n header={header}\n className={className}\n opts={opts}\n value={value}\n onChange={onChange}\n />\n );\n }\n}\n\nexport default withStyles(styles)(TwoChoice);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport debug from 'debug';\nimport classNames from 'classnames';\n\nconst log = debug('pie-elements:config-ui:mui-box');\n\nconst MuiBox = withStyles((theme) => {\n const light = theme.palette.type === 'light';\n const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n\n log(theme.palette.primary[theme.palette.type || 'light']);\n\n return {\n muiBox: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n position: 'relative',\n '&:before': {\n left: 0,\n right: 0,\n bottom: 0,\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: bottomLineColor,\n },\n '&:hover:before': {\n height: '2px',\n },\n '&:after': {\n left: 0,\n right: 0,\n bottom: 0,\n height: '2px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: theme.palette.primary[theme.palette.type], //'#304ffe'\n },\n },\n focused: {\n '&:after': {\n transform: 'scaleX(1)',\n },\n },\n };\n})(({ children, classes, focused }) => {\n const names = classNames(classes.muiBox, focused && classes.focused);\n\n return <div className={names}>{children}</div>;\n});\n\nMuiBox.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n focused: PropTypes.bool.isRequired,\n};\n\nexport default MuiBox;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport uniq from 'lodash/uniq';\nimport Chip from '@material-ui/core/Chip';\nimport MuiBox from '../mui-box';\n\nconst ENTER = 13;\n\nconst Tag = withStyles(() => ({\n tag: {\n padding: '0px',\n margin: '1px',\n },\n}))(({ classes, label, onDelete }) => <Chip className={classes.tag} label={label} onDelete={onDelete} />);\n\nTag.propTypes = {\n label: PropTypes.string.isRequired,\n onDelete: PropTypes.func.isRequired,\n};\n\nexport class TagsInput extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n tags: PropTypes.arrayOf(PropTypes.string).isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n value: '',\n focused: false,\n };\n\n this.onKeyDown = (event) => {\n if (event.keyCode === ENTER && this.state.value !== '') {\n const tag = this.state.value.trim();\n const newTags = uniq(this.props.tags.concat([tag]));\n\n if (newTags.length !== this.props.tags.length) {\n this.props.onChange(newTags);\n this.setState({ value: '' });\n }\n }\n };\n\n this.onChange = (event) => {\n this.setState({ value: event.target.value });\n };\n\n this.deleteTag = (tag) => {\n const { tags } = this.props;\n\n const tagIndex = tags.indexOf(tag);\n if (tagIndex !== -1) {\n tags.splice(tagIndex, 1);\n this.props.onChange(tags);\n this.input.focus();\n }\n };\n }\n\n onFocus = () => {\n this.setState({ focused: true });\n };\n\n onBlur = () => {\n this.setState({ focused: false });\n };\n\n render() {\n const { classes, tags } = this.props;\n return (\n <MuiBox focused={this.state.focused}>\n <div className={classes.tagsInput}>\n {(tags || []).map((t, index) => (\n <Tag key={index} label={t} onDelete={() => this.deleteTag(t)} />\n ))}\n <input\n ref={(r) => (this.input = r)}\n onKeyDown={this.onKeyDown}\n onChange={this.onChange}\n className={classes.input}\n value={this.state.value}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n type=\"text\"\n />\n </div>\n </MuiBox>\n );\n }\n}\n\nconst styles = (theme) => ({\n tagsInput: {\n border: `0px solid ${theme.palette.background.paper}`,\n display: 'flex',\n flexWrap: 'wrap',\n },\n input: {\n padding: '2px',\n margin: '1px',\n minWidth: '30px',\n width: '100%',\n flex: '1',\n border: `0px solid ${theme.palette.background.paper}`,\n height: '28px',\n fontSize: theme.typography.fontSize,\n fontFamily: theme.typography.fontFamily,\n outline: 'none',\n '&:focus': {\n outline: 'none',\n },\n },\n});\n\nexport default withStyles(styles)(TagsInput);\n","import Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport ActionFeedback from '@material-ui/icons/Feedback';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport class IconMenu extends React.Component {\n static propTypes = {\n opts: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n iconButtonElement: PropTypes.any,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: undefined,\n open: false,\n };\n }\n\n handleClick = (event) => {\n this.setState({ open: true, anchorEl: event.currentTarget });\n };\n\n handleRequestClose = () => {\n this.setState({ open: false });\n };\n\n render() {\n const { opts, onClick } = this.props;\n const keys = Object.keys(opts);\n\n const handleMenuClick = (key) => () => {\n onClick(key);\n this.handleRequestClose();\n };\n\n return (\n <div>\n <div onClick={this.handleClick}>{this.props.iconButtonElement}</div>\n <Menu id=\"simple-menu\" anchorEl={this.state.anchorEl} open={this.state.open} onClose={this.handleRequestClose}>\n {keys.map((k, index) => (\n <MenuItem key={index} onClick={handleMenuClick(k)}>\n {opts[k]}\n </MenuItem>\n ))}\n </Menu>\n </div>\n );\n }\n}\n\nexport default class FeedbackMenu extends React.Component {\n static propTypes = {\n value: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n classes: {},\n };\n\n render() {\n const { value, onChange, classes } = this.props;\n const t = value && value.type;\n const iconColor = t === 'custom' || t === 'default' ? 'primary' : 'disabled';\n const tooltip = t === 'custom' ? 'Custom Feedback' : t === 'default' ? 'Default Feedback' : 'Feedback disabled';\n\n const icon = (\n <IconButton className={classes.icon} aria-label={tooltip}>\n <ActionFeedback color={iconColor} />\n </IconButton>\n );\n\n return (\n <IconMenu\n iconButtonElement={icon}\n onClick={(key) => onChange(key)}\n opts={{\n none: 'No Feedback',\n default: 'Default',\n custom: 'Custom',\n }}\n />\n );\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\nimport classNames from 'classnames';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\n\nconst EditableHtmlContainer = withStyles((theme) => ({\n labelContainer: {},\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n}))(\n ({\n label,\n classes,\n onChange,\n value,\n className,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n pluginOpts,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n }) => {\n const names = classNames(classes.labelContainer, className);\n\n return (\n <InputContainer label={label} className={names}>\n <div className={classes.editorHolder}>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n className={classes.editor}\n pluginProps={pluginOpts || {}}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </div>\n </InputContainer>\n );\n },\n);\n\nconst Feedback = withStyles((theme) => ({\n text: {\n width: '100%',\n },\n feedbackContainer: {\n position: 'relative',\n },\n arrowIcon: {\n fill: theme.palette.grey[400],\n left: -56,\n position: 'absolute',\n top: 20,\n },\n}))(({ value, onChange, type, correct, classes, defaults, toolbarOpts, mathMlOptions = {} }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <TextField\n className={classes.text}\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n />\n </div>\n );\n } else {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <EditableHtmlContainer\n className={classes.text}\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n mathMlOptions={mathMlOptions}\n />\n </div>\n );\n }\n});\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n noLabels: PropTypes.bool,\n useLetterOrdering: PropTypes.bool,\n className: PropTypes.string,\n error: PropTypes.string,\n mode: PropTypes.oneOf(['checkbox', 'radio']),\n defaultFeedback: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n nonEmpty: PropTypes.bool,\n data: PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n correct: PropTypes.bool,\n feedback: PropTypes.shape({\n type: PropTypes.string,\n value: PropTypes.string,\n }),\n }),\n onDelete: PropTypes.func,\n onChange: PropTypes.func,\n index: PropTypes.number,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n disableImageAlignmentButtons: PropTypes.bool,\n allowFeedBack: PropTypes.bool,\n allowDelete: PropTypes.bool,\n noCorrectAnswerError: PropTypes.string,\n spellCheck: PropTypes.bool,\n pluginOpts: PropTypes.object,\n toolbarOpts: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\n };\n\n static defaultProps = {\n index: -1,\n noLabels: false,\n useLetterOrdering: false,\n allowFeedBack: true,\n allowDelete: true,\n };\n\n _changeFn = (key) => (update) => {\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, [key]: update });\n }\n };\n\n onLabelChange = this._changeFn('label');\n\n onCheckedChange = (event) => {\n const correct = event.target.checked;\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, correct });\n }\n };\n\n onFeedbackValueChange = (v) => {\n const { data, onChange } = this.props;\n\n if (data.feedback.type !== 'custom') {\n return;\n }\n\n const fb = { ...data.feedback, value: v };\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n onFeedbackTypeChange = (t) => {\n const { data, onChange } = this.props;\n const fb = { ...data.feedback, type: t };\n\n if (fb.type !== 'custom') {\n fb.value = undefined;\n }\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n render() {\n const {\n data,\n classes,\n mode,\n onDelete,\n defaultFeedback,\n index,\n className,\n noLabels,\n useLetterOrdering,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n allowFeedBack,\n allowDelete,\n pluginOpts,\n toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\n maxImageWidth,\n maxImageHeight,\n mathMlOptions = {},\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n const names = classNames(classes.choiceConfiguration, className);\n\n return (\n <div className={names}>\n <div className={classes.topRow}>\n {index > 0 && (\n <span className={classes.index} type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </span>\n )}\n\n <InputToggle\n className={classes.toggle}\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n error={noCorrectAnswerError}\n />\n\n <div className={classes.middleColumn}>\n <EditableHtmlContainer\n className={classes.input}\n label={!noLabels ? 'Label' : ''}\n value={data.label}\n onChange={this.onLabelChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n pluginOpts={pluginOpts}\n toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n />\n {error && <div className={classes.errorText}>{error}</div>}\n\n {allowFeedBack && (\n <Feedback\n {...data.feedback}\n correct={data.correct}\n defaults={defaultFeedback}\n onChange={this.onFeedbackValueChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n\n {allowFeedBack && (\n <InputContainer className={classes.feedback} label={!noLabels ? 'Feedback' : ''}>\n <FeedbackMenu\n onChange={this.onFeedbackTypeChange}\n value={data.feedback}\n classes={{\n icon: classes.feedbackIcon,\n }}\n />\n </InputContainer>\n )}\n\n {allowDelete && (\n <InputContainer className={classes.delete} label={!noLabels ? 'Delete' : ''}>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={onDelete}>\n <ActionDelete />\n </IconButton>\n </InputContainer>\n )}\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n index: {\n paddingRight: theme.spacing.unit,\n paddingTop: theme.spacing.unit * 3.5,\n },\n choiceConfiguration: {},\n topRow: {\n display: 'flex',\n },\n value: {\n flex: '0.5',\n paddingRight: theme.spacing.unit,\n },\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n toggle: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit / 2,\n paddingBottom: 0,\n marginRight: 0,\n marginLeft: theme.spacing.unit,\n },\n feedback: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit * 2,\n paddingLeft: 0,\n marginLeft: 0,\n marginRight: theme.spacing.unit,\n },\n feedbackIcon: {\n margin: 0,\n width: 'inherit',\n },\n deleteIcon: {\n margin: 0,\n width: 'inherit',\n },\n delete: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit * 2,\n paddingLeft: 0,\n marginLeft: 0,\n },\n middleColumn: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n marginRight: theme.spacing.unit,\n },\n input: {\n marginRight: 0,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n },\n});\n\nexport default withStyles(styles)(ChoiceConfiguration);\n","import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core';\nimport Tabs from '../tabs';\nimport classNames from 'classnames';\n\nclass RawLayoutContents extends React.Component {\n static propTypes = {\n mode: PropTypes.oneOf(['tabbed', 'inline']),\n secondary: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n classes: PropTypes.object,\n dimensions: PropTypes.object,\n };\n\n getConfiguration = () => {\n const { secondary } = this.props;\n // in config-layout, secondary can be: <SettingsBox>{settings}</SettingsBox>, settings, null\n\n return secondary?.props?.configuration || secondary?.props?.children?.props?.configuration || undefined;\n };\n\n // // eslint-disable-next-line no-unused-vars\n // componentDidUpdate(prevProps, prevState, snapshot) {\n // const configuration = this.getConfiguration();\n // const { mode } = this.props;\n //\n // // promptHolder class is used to wrap up inputs:\n // // we don't want inputs to fill the entire scrollable container,\n // // but instead we want inputs to fit in the first view,\n // // so we calculate the maximum space inputs need\n // try {\n // if (\n // configuration?.maxWidth &&\n // getComputedStyle(document.documentElement).getPropertyValue('--pie-prompt-holder-max-width') !==\n // configuration?.maxWidth\n // ) {\n // document.documentElement.style.setProperty(\n // '--pie-prompt-holder-max-width',\n // mode === 'inline' ? `calc(${configuration.maxWidth} - 340px)` : configuration.maxWidth,\n // );\n // }\n // } catch (e) {\n // console.log(e.toString());\n // }\n // }\n\n render() {\n const { mode, secondary, children, classes, dimensions } = this.props;\n const { minHeight, minWidth, maxHeight, maxWidth } = dimensions || {};\n const configuration = this.getConfiguration();\n\n let hasSettingsPanel = Object.entries(configuration || {}).some(([, obj]) => !!obj?.settings);\n // ebsr has configuration.partA and configuration.partB\n // because we might have nested configuration for other item types as well, let's add this simple regex to check values for settings\n\n if (!hasSettingsPanel) {\n try {\n hasSettingsPanel = JSON.stringify(configuration)?.match(/settings\":true/)?.length;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e.toString());\n }\n }\n\n return (\n <div className={classes.container} style={{ minHeight, minWidth, maxHeight, maxWidth }}>\n {mode === 'inline' && (\n <div className={classnames(classes.flow, classes.contentContainer)}>\n <div className={classnames(classes.configContainer, 'design-container')}>{children}</div>\n {hasSettingsPanel && (\n <div className={classnames(classes.settingsContainer, 'settings-container')}>{secondary}</div>\n )}\n </div>\n )}\n\n {mode === 'tabbed' && hasSettingsPanel && (\n <Tabs onChange={this.onTabsChange} contentClassName={classes.contentContainer} indicatorColor=\"primary\">\n <div title=\"Design\" className=\"design-container\">\n {children}\n </div>\n <div title=\"Settings\" className=\"settings-container\">\n {secondary}\n </div>\n </Tabs>\n )}\n\n {mode === 'tabbed' && !hasSettingsPanel && (\n <div className={classNames(classes.contentContainer, 'design-container')}>{children}</div>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n flow: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n container: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n contentContainer: {\n padding: `${theme.spacing.unit * 2}px 0`,\n },\n configContainer: {\n flex: '1',\n },\n settingsContainer: {\n marginLeft: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(RawLayoutContents);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nexport class SettingsBox extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n };\n\n static defaultProps = {};\n\n render() {\n const { classes, className, children } = this.props;\n\n return <div className={classNames(classes.settingsBox, className)}>{children}</div>;\n }\n}\nconst styles = (theme) => ({\n settingsBox: {\n backgroundColor: theme.palette.background.paper,\n border: `2px solid ${theme.palette.grey[200]}`,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n minWidth: '275px',\n maxWidth: '300px',\n padding: '20px 4px 4px 20px',\n zIndex: 99,\n },\n});\n\nexport default withStyles(styles)(SettingsBox);\n","import React from 'react';\nimport Measure from 'react-measure';\nimport { withContentRect } from 'react-measure';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport LayoutContents from './layout-contents';\nimport SettingsBox from './settings-box';\nimport { AppendCSSRules } from '@pie-lib/render-ui';\n\nconst styles = {\n extraCSSRules: {},\n};\n\nclass MeasuredConfigLayout extends AppendCSSRules {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n className: PropTypes.string,\n classes: PropTypes.object,\n dimensions: PropTypes.object,\n settings: PropTypes.element,\n sidePanelMinWidth: PropTypes.number,\n hideSettings: PropTypes.bool,\n };\n\n static defaultProps = {\n sidePanelMinWidth: 1135,\n hideSettings: false,\n dimensions: {},\n };\n\n constructor(...props) {\n super(...props);\n this.state = { layoutMode: undefined };\n }\n\n onResize = (contentRect) => {\n const { bounds } = contentRect;\n const { sidePanelMinWidth, dimensions } = this.props;\n const { maxWidth } = dimensions || {};\n\n const layoutMode =\n bounds.width > sidePanelMinWidth && (maxWidth ? maxWidth > sidePanelMinWidth : true) ? 'inline' : 'tabbed';\n\n this.setState({ layoutMode });\n };\n\n render() {\n return (\n <Measure bounds onResize={this.onResize}>\n {({ measureRef }) => {\n const { children, settings, hideSettings, dimensions, classes } = this.props;\n const { layoutMode } = this.state;\n\n const settingsPanel =\n layoutMode === 'inline' ? <SettingsBox className=\"settings-box\">{settings}</SettingsBox> : settings;\n const secondaryContent = hideSettings ? null : settingsPanel;\n const finalClass = classNames('main-container', classes.extraCSSRules);\n\n return (\n <div ref={measureRef} className={finalClass}>\n <LayoutContents mode={layoutMode} secondary={secondaryContent} dimensions={dimensions}>\n {children}\n </LayoutContents>\n </div>\n );\n }}\n </Measure>\n );\n }\n}\n\nconst ConfigLayout = withStyles(styles)(withContentRect('bounds')(MeasuredConfigLayout));\n\nexport default ConfigLayout;\n","import includes from 'lodash/includes';\n\n/**\n * Add value to every model.choices.\n * @param {Object} model the model to normalize\n * @return {Object} the updated model\n */\nexport const normalizeChoices = (model) => {\n const choices = model.choices.map((c, index) => {\n if (!c.value) {\n c.value = `${index}`;\n }\n return c;\n });\n return { ...model, choices };\n};\n\n/**\n * Find the first available index.\n * @param {string[]} values\n * @param {number} index\n * @return {string}\n */\nexport const firstAvailableIndex = (values, index) => {\n if (includes(values, `${index}`)) {\n return firstAvailableIndex(values, index + 1);\n } else {\n return `${index}`;\n }\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst withStatefulModel = (Component) => {\n class Stateful extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n };\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n this.setState({ model: props.model });\n }\n\n onChange = (model) => {\n this.setState({ model }, () => {\n this.props.onChange(this.state.model);\n });\n };\n\n render() {\n return <Component model={this.state.model} onChange={this.onChange} />;\n }\n }\n\n return Stateful;\n};\n\nexport default withStatefulModel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport { withStyles } from '@material-ui/core/styles';\nimport Switch from '@material-ui/core/Switch';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\n\nconst Toggle = withStyles((theme) => ({\n toggle: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n },\n label: {\n color: 'rgba(0, 0, 0, 0.89)',\n fontSize: theme.typography.fontSize,\n paddingTop: theme.spacing.unit * 2,\n },\n checkedThumb: {\n color: `${color.tertiary()} !important`,\n },\n checkedBar: {\n backgroundColor: `${color.tertiaryLight()} !important`,\n },\n}))(({ checked, disabled, label, toggle, classes }) => (\n <div className={classes.toggle}>\n <InputLabel className={classes.label}>{label}</InputLabel>\n <Switch\n classes={{\n checked: classNames(classes.checkedThumb),\n bar: classNames({\n [classes.checkedBar]: checked,\n }),\n }}\n checked={checked}\n disabled={disabled}\n onChange={(e) => toggle(e.target.checked)}\n />\n </div>\n));\n\nToggle.propTypes = {\n checked: PropTypes.bool,\n label: PropTypes.string.isRequired,\n toggle: PropTypes.func.isRequired,\n};\n\nexport default Toggle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport NumberTextField from '../number-text-field';\n\nconst DisplaySize = withStyles((theme) => ({\n displaySize: {\n display: 'flex',\n paddingTop: theme.spacing.unit,\n },\n}))(({ size, label, classes, onChange }) => {\n const updateSize = (key, v) => {\n onChange({ ...size, [key]: v });\n };\n return (\n <div>\n <Typography>{label}</Typography>\n <div className={classes.displaySize}>\n <NumberTextField\n label=\"Width\"\n type=\"number\"\n variant=\"outlined\"\n value={size.width}\n min={150}\n max={1000}\n onChange={(e, v) => updateSize('width', v)}\n />\n <NumberTextField\n label=\"Height\"\n type=\"number\"\n variant=\"outlined\"\n min={150}\n max={1000}\n value={size.height}\n onChange={(e, v) => updateSize('height', v)}\n />\n </div>\n </div>\n );\n});\n\nDisplaySize.propTypes = {\n size: PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n }).isRequired,\n label: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n};\n\nexport default DisplaySize;\n","import FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Radio from '@material-ui/core/Radio';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\n\nexport default withStyles((theme) => ({\n label: {\n color: 'rgba(0, 0, 0, 0.89)',\n fontSize: theme.typography.fontSize - 2,\n left: '-5px',\n position: 'relative',\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n}))(({ label, value, checked, onChange, classes }) => (\n <FormControlLabel\n value={value}\n classes={{ label: classes.label }}\n control={<Radio className={classes.customColor} checked={checked} onChange={onChange} />}\n label={label}\n />\n));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport Select from '@material-ui/core/Select';\nimport Input from '@material-ui/core/Input';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport debug from 'debug';\n\nimport Toggle from './toggle';\nimport { NChoice } from '../two-choice';\nimport SettingsRadioLabel from './settings-radio-label';\nimport NumberTextField from '../number-text-field';\nimport Checkbox from '../checkbox';\nimport Typography from '@material-ui/core/Typography';\n\nconst log = debug('pie-lib:config-ui:settings:panel');\n\nconst labelValue = {\n label: PropTypes.string,\n value: PropTypes.string,\n};\n\nconst baseTypes = {\n label: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n};\n\nconst CheckboxChoice = ({ label, value, onChange }) => {\n return (\n <Checkbox\n checked={value}\n label={label}\n onChange={(event) => {\n onChange(event.target.checked);\n }}\n />\n );\n};\n\nCheckboxChoice.propTypes = {\n label: PropTypes.string,\n value: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nconst Radio = ({ classes, label, value, onChange, choices }) => {\n return (\n <NChoice\n className={classes.radioSettings}\n direction=\"horizontal\"\n customLabel={SettingsRadioLabel}\n value={value}\n header={label}\n opts={choices}\n onChange={onChange}\n />\n );\n};\n\nRadio.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.shape(labelValue)) };\n\nconst StyledRadio = withStyles((theme) => ({\n radioSettings: {\n marginTop: theme.spacing.unit / 2,\n paddingBottom: theme.spacing.unit / 2,\n width: '100%',\n '& > label': {\n color: 'rgba(0, 0, 0, 0.89)',\n transform: 'translate(0, 10px) scale(1)',\n fontSize: '14px',\n },\n '& > div': {\n marginTop: theme.spacing.unit * 2.5,\n },\n },\n label: {\n display: 'none',\n },\n}))(Radio);\n\nconst Dropdown = withStyles((theme) => ({\n label: {\n margin: 0,\n fontSize: theme.typography.fontSize,\n },\n wrapper: {\n marginTop: theme.spacing.unit / 2,\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n}))(({ classes, label, value, onChange, choices = [] }) => {\n const getItemLabel = (l) => (typeof l === 'string' ? l : l.label);\n const getItemValue = (l) => (typeof l === 'string' ? l : l.value);\n return (\n <div>\n {label && <p className={classes.label}>{label}</p>}\n <Select\n className={classes.wrapper}\n value={value || (choices && choices[0])}\n onChange={({ target }) => onChange(target.value)}\n input={<Input id={`dropdown-${label}`} />}\n disableUnderline\n >\n {choices.map((l, index) => (\n <MenuItem key={index} value={getItemValue(l)}>\n {getItemLabel(l)}\n </MenuItem>\n ))}\n </Select>\n </div>\n );\n});\n\nDropdown.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.string) };\n\nconst TextField = withStyles((theme) => ({\n field: {\n marginRight: theme.spacing.unit * 3,\n marginTop: theme.spacing.unit,\n },\n}))(({ classes, label }) => {\n return <Typography className={classes.field}>{label}</Typography>;\n});\n\nconst NumberField = withStyles((theme) => ({\n field: {\n width: '35%',\n marginRight: theme.spacing.unit * 3,\n marginTop: theme.spacing.unit,\n },\n wrapper: {\n marginTop: theme.spacing.unit / 2,\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n}))(({ classes, label, value, onChange = () => {}, suffix, min, max }) => {\n return (\n <NumberTextField\n label={label || 'Label'}\n value={value}\n max={max}\n min={min}\n onChange={(ev, value) => onChange(value)}\n suffix={suffix}\n className={classes.field}\n showErrorWhenOutsideRange\n inputClassName={classes.wrapper}\n disableUnderline\n classes={classes}\n />\n );\n});\n\nNumberField.propTypes = {\n ...baseTypes,\n classes: PropTypes.object,\n suffix: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n};\n\nTextField.propTypes = {\n ...baseTypes,\n};\n\nconst ToggleWrapper = ({ disabled, label, value, onChange }) => (\n <Toggle label={label} checked={!!value} disabled={!!disabled} toggle={onChange} />\n);\n\nToggleWrapper.propTypes = { ...baseTypes, value: PropTypes.bool };\n\nconst tagMap = {\n toggle: ToggleWrapper,\n radio: StyledRadio,\n dropdown: Dropdown,\n numberField: NumberField,\n checkbox: CheckboxChoice,\n textField: TextField,\n};\n\nconst Group = withStyles((theme) => ({\n group: {\n margin: `0 0 ${theme.spacing.unit * 2}px 0`,\n },\n groupHeader: {\n color: '#495B8F',\n fontSize: theme.typography.fontSize + 2,\n fontWeight: 600,\n marginBottom: theme.spacing.unit,\n },\n numberFields: {\n fontSize: theme.typography.fontSize,\n marginBottom: 0,\n },\n}))((props) => {\n const { classes, model, label, group, configuration, onChange } = props;\n\n /**\n * @param group - the group of settings\n * @param key - the key(or path) to be used to set or get from model or configuration\n * @param innerKey - the key(or path) to be used to get from the group (used only for numberField type)\n * @returns tag that corresponds to element type */\n const getTag = (group, key, innerKey) => {\n const { isConfigProperty, ...properties } = get(group, innerKey || key);\n const value = isConfigProperty ? get(configuration, key) : get(model, key);\n const tagProps = { ...properties, key, value };\n const Tag = tagMap[tagProps.type];\n\n return <Tag key={key} {...tagProps} onChange={(v) => onChange(key, v, isConfigProperty)} />;\n };\n\n const content = (group, key) => {\n const currentGroup = group[key];\n\n if (!currentGroup) {\n return null;\n }\n\n const { type, label, fields, choices } = currentGroup;\n\n if (type === 'numberFields') {\n return (\n <div key={`numberField-${label}`}>\n <p className={classes.numberFields}>{label}</p>\n {Object.keys(fields).map((fieldKey) => {\n return getTag(group, `${key}.${fieldKey}`, `${key}.fields.${fieldKey}`);\n })}\n </div>\n );\n }\n\n if (type === 'checkboxes') {\n return (\n <div key={`checkbox-${label}`}>\n <p>{label}</p>\n {Object.keys(choices).map((choiceKey) => {\n return getTag(group, `${key}.${choiceKey}`, `${key}.choices.${choiceKey}`);\n })}\n </div>\n );\n }\n\n // if type is toggle, radio, dropdown, numberField or numberText\n return getTag(group, key);\n };\n\n return (\n <div className={classes.group}>\n <div className={classes.groupHeader}>{label}</div>\n\n {Object.keys(group).map((key) => {\n return content(group, key);\n })}\n </div>\n );\n});\n\nexport class Panel extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n configuration: PropTypes.object,\n groups: PropTypes.object,\n onChangeModel: PropTypes.func,\n onChangeConfiguration: PropTypes.func,\n modal: PropTypes.object,\n };\n\n static defaultProps = {\n onChangeModel: () => {},\n onChangeConfiguration: () => {},\n };\n\n change = (key, value, isConfigProperty = false) => {\n log('[changeModel]', key, value);\n\n const { onChangeModel, onChangeConfiguration } = this.props;\n const model = { ...this.props.model };\n const configuration = { ...this.props.configuration };\n\n if (isConfigProperty) {\n set(configuration, key, value);\n onChangeConfiguration(configuration, key);\n } else {\n set(model, key, value);\n onChangeModel(model, key);\n }\n };\n\n render() {\n const { groups, model, configuration, modal } = this.props;\n\n log('render:', model);\n\n const renderedGroups = Object.keys(groups || {}).map((group) => {\n const showGroup = Object.entries(groups[group]).some(([, propVal]) => !!propVal);\n\n if (showGroup) {\n return (\n <Group\n label={group}\n key={group}\n model={model}\n configuration={configuration}\n group={groups[group]}\n onChange={this.change}\n />\n );\n }\n\n return null;\n });\n\n return (\n <div>\n {renderedGroups}\n {modal}\n </div>\n );\n }\n}\n\nexport default Panel;\n","import Panel from './panel';\n\nexport { Panel };\n\nexport const textField = (label, isConfigProperty = true) => ({\n label,\n type: 'textField',\n isConfigProperty,\n});\n\nexport const toggle = (label, isConfigProperty = false, disabled = false) => ({\n type: 'toggle',\n label,\n isConfigProperty,\n disabled,\n});\n\nconst toChoice = (opt) => {\n if (typeof opt === 'string') {\n return { label: opt, value: opt };\n } else {\n return opt;\n }\n};\n\nexport const radio = function() {\n const args = Array.prototype.slice.call(arguments);\n const [label, choices, isConfigProperty = false] = args;\n\n return {\n type: 'radio',\n label,\n choices: choices && choices.map((o) => toChoice(o)),\n isConfigProperty,\n };\n};\n\nexport const dropdown = (label, choices, isConfigProperty = false) => {\n return {\n type: 'dropdown',\n label,\n choices,\n isConfigProperty,\n };\n};\n\nexport const numberField = (label, options, isConfigProperty = false) => ({\n ...options,\n label,\n type: 'numberField',\n isConfigProperty,\n});\n\nexport const numberFields = (label, fields, isConfigProperty = false) => {\n Object.keys(fields).map((key) => {\n fields[key] = numberField(fields[key].label, fields[key], isConfigProperty);\n });\n\n return {\n type: 'numberFields',\n label,\n fields,\n };\n};\n\nexport const checkbox = (label, settings, isConfigProperty = false) => ({\n ...settings,\n label,\n type: 'checkbox',\n isConfigProperty,\n});\n\nexport const checkboxes = (label, choices, isConfigProperty = false) => {\n Object.keys(choices).map((key) => {\n choices[key] = checkbox(choices[key].label, choices[key], isConfigProperty);\n });\n\n return {\n type: 'checkboxes',\n label,\n choices,\n };\n};\n"],"names":["AlertDialog","text","title","onClose","onConfirm","open","onCloseText","onConfirmText","classes","React","heading","subheading","defaultProps","propTypes","PropTypes","oneOfType","string","object","func","bool","styles","fontSize","withStyles","label","left","position","customColor","color","tertiary","value","checked","onChange","Radio","theme","radioLabel","typography","choice","display","alignItems","choiceHolder","Group","props","feedbackLabels","className","keys","classNames","map","key","e","currentTarget","isRequired","arrayOf","default","none","custom","holder","extras","marginTop","background","palette","grey","padding","spacing","unit","marginBottom","borderRadius","style","feedbackSelector","cursor","inputContainerLabel","transform","feedbackInputContainer","paddingBottom","customHolder","defaultHolder","fontFamily","editor","group","paddingTop","FeedbackType","type","oneOf","FeedbackSelector","Component","changeType","feedback","changeCustom","render","toolbarOpts","mathMlOptions","feedbackKeys","Object","language","shape","feedbackContainer","flex","flexDirection","panelDetails","buildDefaults","input","merge","correct","incorrect","partial","FeedbackConfig","onCorrectChange","bind","onIncorrectChange","onPartialChange","config","update","allowPartial","InputTypes","disabled","error","RawInputSwitch","switchRoot","InputSwitch","justifyContent","RawInputCheckbox","Checkbox","checkboxRoot","RawInputRadio","radioRoot","InputCheckbox","main","InputRadio","log","debug","root","paddingRight","formControl","inputLabel","RawLangs","constructor","choose","event","target","uid","Math","random","toFixed","langs","selected","Input","l","index","array","Langs","name","LanguageControls","languageControls","gridAutoFlow","gridAutoColumns","gridGap","activeLang","defaultLang","onActiveLangChange","onDefaultLangChange","names","Tabs","handleChange","setState","state","children","contentClassName","contentStyle","tabClasses","tabRoot","Children","c","node","mini","miniLabel","MuiCheckbox","miniCheckbox","margin","width","height","marginLeft","formSection","labelExtraStyle","RawHelpButton","onClick","icon","HelpButton","HelpDialog","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions","Button","Help","UNSAFE_componentWillReceiveProps","newProps","rest","_excluded","number","noModelUpdateOnError","isNaN","marginRight","fallbackNumber","min","max","isFinite","NumberTextField","onBlur","rawNumber","parseFloat","clamp","toString","errorMessage","getError","float","clamped","suffix","inputClassName","disableUnderline","showErrorWhenOutsideRange","variant","TextField","ref","inputRef","blur","shrink","endAdornment","iconButton","NumberTextFieldCustom","normalizeValueAndIndex","customValues","currentIndex","findIndex","val","length","closestValue","getClosestFractionValue","getClosestValue","reduce","closest","abs","math","fraction","getValidFraction","isPositiveInteger","trim","split","numerator","denominator","Number","isInteger","n","onlyIntegersAllowed","tempValue","round","changeValue","sign","shouldUpdate","preventDefault","step","updatedIndex","parseInt","updatedValue","helperText","textAlign","disabledStart","disabledEnd","startAdornment","any","flexWrap","paddingLeft","vertical","RawNChoice","header","customLabel","opts","direction","preppedOpts","o","LabelComponent","RadioWithLabel","NChoice","labelValue","TwoChoice","one","two","MuiBox","light","bottomLineColor","primary","muiBox","right","bottom","content","transition","pointerEvents","backgroundColor","focused","ENTER","Tag","tag","onDelete","TagsInput","onFocus","onKeyDown","keyCode","newTags","uniq","tags","concat","deleteTag","tagIndex","indexOf","splice","focus","tagsInput","t","r","border","paper","minWidth","outline","IconMenu","handleClick","anchorEl","handleRequestClose","undefined","handleMenuClick","iconButtonElement","k","FeedbackMenu","iconColor","tooltip","EditableHtmlContainer","labelContainer","editorHolder","imageSupport","disableImageAlignmentButtons","spellCheck","nonEmpty","pluginOpts","maxImageWidth","maxImageHeight","uploadSoundSupport","EditableHtml","Feedback","arrowIcon","fill","top","defaults","ChoiceConfiguration","_changeFn","data","onLabelChange","onCheckedChange","onFeedbackValueChange","v","fb","onFeedbackTypeChange","mode","defaultFeedback","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","InputToggle","choiceConfiguration","topRow","String","fromCharCode","toUpperCase","toggle","middleColumn","errorText","feedbackIcon","delete","deleteIcon","add","RawLayoutContents","getConfiguration","secondary","configuration","dimensions","minHeight","maxHeight","maxWidth","hasSettingsPanel","entries","some","obj","settings","JSON","stringify","match","console","container","classnames","flow","contentContainer","configContainer","settingsContainer","onTabsChange","SettingsBox","settingsBox","zIndex","extraCSSRules","MeasuredConfigLayout","AppendCSSRules","onResize","contentRect","bounds","sidePanelMinWidth","layoutMode","measureRef","hideSettings","settingsPanel","secondaryContent","finalClass","element","ConfigLayout","withContentRect","normalizeChoices","model","choices","firstAvailableIndex","values","includes","withStatefulModel","Stateful","Toggle","checkedThumb","checkedBar","tertiaryLight","bar","DisplaySize","displaySize","size","updateSize","baseTypes","CheckboxChoice","radioSettings","SettingsRadioLabel","StyledRadio","Dropdown","wrapper","getItemLabel","getItemValue","field","NumberField","ev","ToggleWrapper","tagMap","radio","dropdown","numberField","checkbox","textField","groupHeader","fontWeight","numberFields","getTag","innerKey","get","isConfigProperty","properties","tagProps","currentGroup","fields","fieldKey","choiceKey","Panel","change","onChangeModel","onChangeConfiguration","set","groups","modal","renderedGroups","showGroup","propVal","toChoice","opt","args","Array","prototype","slice","call","arguments","options","checkboxes"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/alert-dialog.jsx","../src/radio-with-label.jsx","../src/feedback-config/group.jsx","../src/feedback-config/feedback-selector.jsx","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/recompose/setStatic.js","../../../node_modules/recompose/setDisplayName.js","../../../node_modules/recompose/getDisplayName.js","../../../node_modules/recompose/wrapDisplayName.js","../../../node_modules/recompose/shouldUpdate.js","../../../node_modules/fbjs/lib/shallowEqual.js","../../../node_modules/recompose/shallowEqual.js","../../../node_modules/recompose/pure.js","../../../node_modules/@material-ui/icons/utils/createSvgIcon.js","../../../node_modules/@material-ui/icons/ExpandMore.js","../src/feedback-config/index.jsx","../src/inputs.jsx","../src/langs.jsx","../src/tabs/index.jsx","../src/checkbox.jsx","../src/form-section.jsx","../../../node_modules/@material-ui/icons/Help.js","../src/help.jsx","../src/input.jsx","../src/number-text-field.jsx","../../../node_modules/@material-ui/icons/Remove.js","../../../node_modules/@material-ui/icons/Add.js","../src/number-text-field-custom.jsx","../src/two-choice.jsx","../src/mui-box/index.jsx","../src/tags-input/index.jsx","../../../node_modules/@material-ui/icons/Delete.js","../../../node_modules/@material-ui/icons/SubdirectoryArrowRight.js","../../../node_modules/@material-ui/icons/Feedback.js","../src/choice-configuration/feedback-menu.jsx","../src/choice-configuration/index.jsx","../src/layout/layout-contents.jsx","../src/layout/settings-box.jsx","../src/layout/config-layout.jsx","../src/choice-utils.js","../src/with-stateful-model.jsx","../src/settings/toggle.jsx","../src/settings/display-size.jsx","../src/settings/settings-radio-label.jsx","../src/settings/panel.jsx","../src/settings/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Dialog, DialogActions, DialogContent, DialogContentText, DialogTitle } from '@material-ui/core';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst AlertDialog = ({ text, title, onClose, onConfirm, open, onCloseText, onConfirmText, classes }) => (\n <Dialog open={open} onClose={onClose}>\n {title && <DialogTitle className={classes.heading}>{title}</DialogTitle>}\n {text && (\n <DialogContent>\n <DialogContentText className={classes.subheading}>{text}</DialogContentText>\n </DialogContent>\n )}\n <DialogActions>\n {onClose && (\n <Button onClick={onClose} color=\"primary\">\n {onCloseText}\n </Button>\n )}\n {onConfirm && (\n <Button autoFocus onClick={onConfirm} color=\"primary\">\n {onConfirmText}\n </Button>\n )}\n </DialogActions>\n </Dialog>\n);\n\nAlertDialog.defaultProps = {\n onCloseText: 'CANCEL',\n onConfirmText: 'OK',\n};\n\nAlertDialog.propTypes = {\n text: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\n title: PropTypes.string,\n onClose: PropTypes.func,\n onConfirm: PropTypes.func,\n open: PropTypes.bool,\n onConfirmText: PropTypes.string,\n onCloseText: PropTypes.string,\n classes: PropTypes.object,\n};\n\nconst styles = () => ({\n heading: {\n '& h2': {\n fontSize: 'max(1.25rem, 18px)',\n },\n },\n subheading: {\n fontSize: 'max(1rem, 14px)',\n },\n});\n\nexport default withStyles(styles)(AlertDialog);\n","import FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Radio from '@material-ui/core/Radio';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\n\nexport default withStyles({\n label: {\n left: '-5px',\n position: 'relative',\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n})(({ label, value, checked, onChange, classes }) => (\n <FormControlLabel\n value={value}\n classes={{ label: classes.label }}\n control={<Radio className={classes.customColor} checked={checked} onChange={onChange} />}\n label={label}\n />\n));\n","import PropTypes from 'prop-types';\nimport RadioWithLabel from '../radio-with-label';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nconst styles = (theme) => ({\n radioLabel: {\n fontSize: theme.typography.fontSize - 2,\n },\n choice: {\n display: 'flex',\n alignItems: 'center',\n },\n choiceHolder: {\n display: 'flex',\n alignItems: 'center',\n },\n});\n\nconst Group = (props) => {\n const { feedbackLabels, value, classes, className, onChange, keys } = props;\n\n return (\n <div className={classNames(classes.choiceHolder, className)}>\n {keys.map((key) => {\n return (\n <div className={classes.choice} key={key}>\n <RadioWithLabel\n value={key}\n checked={value === key}\n classes={{ label: classes.radioLabel }}\n onChange={(e) => onChange(e.currentTarget.value)}\n label={feedbackLabels[key]}\n />\n </div>\n );\n })}\n </div>\n );\n};\n\nGroup.propTypes = {\n className: PropTypes.string,\n feedbackLabels: PropTypes.object.isRequired,\n value: PropTypes.string.isRequired,\n classes: PropTypes.object.isRequired,\n keys: PropTypes.arrayOf(PropTypes.string),\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(Group);\n","import EditableHTML from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Group from './group';\n\nconst feedbackLabels = {\n default: 'Simple Feedback',\n none: 'No Feedback',\n custom: 'Customized Feedback',\n};\n\nconst holder = (theme, extras) => ({\n marginTop: '0px',\n background: theme.palette.grey[300],\n padding: theme.spacing.unit,\n marginBottom: theme.spacing.unit * 2,\n borderRadius: '4px',\n ...extras,\n});\n\nconst style = (theme) => ({\n feedbackSelector: {\n marginBottom: theme.spacing.unit,\n },\n label: {\n cursor: 'pointer',\n },\n inputContainerLabel: {\n transform: 'translateY(-20%)',\n },\n feedbackInputContainer: {\n paddingBottom: 0,\n },\n customHolder: holder(theme, {\n background: theme.palette.grey[300],\n padding: 0,\n }),\n defaultHolder: holder(theme, {\n fontFamily: theme.typography.fontFamily,\n padding: theme.spacing.unit * 2,\n cursor: 'default',\n }),\n editor: {\n fontFamily: theme.typography.fontFamily,\n },\n group: {\n paddingTop: theme.spacing.unit,\n },\n});\n\nexport const FeedbackType = {\n type: PropTypes.oneOf(['default', 'custom', 'none']),\n default: PropTypes.string,\n custom: PropTypes.string,\n};\n\nexport class FeedbackSelector extends React.Component {\n static propTypes = {\n keys: PropTypes.arrayOf(PropTypes.string),\n classes: PropTypes.object.isRequired,\n label: PropTypes.string.isRequired,\n feedback: PropTypes.shape(FeedbackType).isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n changeType = (type) => {\n const { onChange, feedback } = this.props;\n\n onChange({ ...feedback, type });\n };\n\n changeCustom = (custom) => {\n const { onChange, feedback } = this.props;\n\n onChange({ ...feedback, type: 'custom', custom });\n };\n\n render() {\n const { keys, classes, label, feedback, toolbarOpts, mathMlOptions = {} } = this.props;\n\n const feedbackKeys = keys || Object.keys(feedbackLabels);\n\n return (\n <div className={classes.feedbackSelector}>\n <InputContainer\n label={label}\n className={classes.feedbackInputContainer}\n extraClasses={{ label: classes.inputContainerLabel }}\n >\n <Group\n className={classes.group}\n keys={feedbackKeys}\n label={label}\n value={feedback.type}\n onChange={this.changeType}\n feedbackLabels={feedbackLabels}\n />\n </InputContainer>\n\n {feedback.type === 'custom' && (\n <div className={classes.customHolder}>\n <EditableHTML\n className={classes.editor}\n onChange={this.changeCustom}\n markup={feedback.custom || ''}\n toolbarOpts={toolbarOpts}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </div>\n )}\n\n {feedback.type === 'default' && <div className={classes.defaultHolder}> {feedback.default}</div>}\n </div>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackSelector);\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar setStatic = function setStatic(key, value) {\n return function (BaseComponent) {\n /* eslint-disable no-param-reassign */\n BaseComponent[key] = value;\n /* eslint-enable no-param-reassign */\n\n return BaseComponent;\n };\n};\n\nvar _default = setStatic;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _setStatic = _interopRequireDefault(require(\"./setStatic\"));\n\nvar setDisplayName = function setDisplayName(displayName) {\n return (0, _setStatic.default)('displayName', displayName);\n};\n\nvar _default = setDisplayName;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar getDisplayName = function getDisplayName(Component) {\n if (typeof Component === 'string') {\n return Component;\n }\n\n if (!Component) {\n return undefined;\n }\n\n return Component.displayName || Component.name || 'Component';\n};\n\nvar _default = getDisplayName;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _getDisplayName = _interopRequireDefault(require(\"./getDisplayName\"));\n\nvar wrapDisplayName = function wrapDisplayName(BaseComponent, hocName) {\n return hocName + \"(\" + (0, _getDisplayName.default)(BaseComponent) + \")\";\n};\n\nvar _default = wrapDisplayName;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = require(\"react\");\n\nvar _setDisplayName = _interopRequireDefault(require(\"./setDisplayName\"));\n\nvar _wrapDisplayName = _interopRequireDefault(require(\"./wrapDisplayName\"));\n\nvar shouldUpdate = function shouldUpdate(test) {\n return function (BaseComponent) {\n var factory = (0, _react.createFactory)(BaseComponent);\n\n var ShouldUpdate =\n /*#__PURE__*/\n function (_Component) {\n (0, _inheritsLoose2.default)(ShouldUpdate, _Component);\n\n function ShouldUpdate() {\n return _Component.apply(this, arguments) || this;\n }\n\n var _proto = ShouldUpdate.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return test(this.props, nextProps);\n };\n\n _proto.render = function render() {\n return factory(this.props);\n };\n\n return ShouldUpdate;\n }(_react.Component);\n\n if (process.env.NODE_ENV !== 'production') {\n return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'shouldUpdate'))(ShouldUpdate);\n }\n\n return ShouldUpdate;\n };\n};\n\nvar _default = shouldUpdate;\nexports.default = _default;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _shallowEqual = _interopRequireDefault(require(\"fbjs/lib/shallowEqual\"));\n\nvar _default = _shallowEqual.default;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _shouldUpdate = _interopRequireDefault(require(\"./shouldUpdate\"));\n\nvar _shallowEqual = _interopRequireDefault(require(\"./shallowEqual\"));\n\nvar _setDisplayName = _interopRequireDefault(require(\"./setDisplayName\"));\n\nvar _wrapDisplayName = _interopRequireDefault(require(\"./wrapDisplayName\"));\n\nvar pure = function pure(BaseComponent) {\n var hoc = (0, _shouldUpdate.default)(function (props, nextProps) {\n return !(0, _shallowEqual.default)(props, nextProps);\n });\n\n if (process.env.NODE_ENV !== 'production') {\n return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'pure'))(hoc(BaseComponent));\n }\n\n return hoc(BaseComponent);\n};\n\nvar _default = pure;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"@material-ui/core/SvgIcon\"));\n\nfunction createSvgIcon(path, displayName) {\n var Icon = function Icon(props) {\n return _react.default.createElement(_SvgIcon.default, props, path);\n };\n\n Icon.displayName = \"\".concat(displayName, \"Icon\");\n Icon = (0, _pure.default)(Icon);\n Icon.muiName = 'SvgIcon';\n return Icon;\n}\n\n;\nvar _default = createSvgIcon;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n d: \"M16.59 8.59L12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n}), _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n})), 'ExpandMore');\n\nexports.default = _default;","import FeedbackSelector, { FeedbackType } from './feedback-selector';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport merge from 'lodash/merge';\n\nexport { FeedbackSelector };\n\nconst style = {\n feedbackContainer: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n },\n panelDetails: {\n paddingTop: 0,\n paddingBottom: 0,\n },\n};\n\nexport const buildDefaults = (input) => {\n return merge(\n {},\n {\n correct: { type: 'default', default: 'Correct' },\n incorrect: { type: 'default', default: 'Incorrect' },\n partial: { type: 'default', default: 'Nearly' },\n },\n input,\n );\n};\n\nexport class FeedbackConfig extends React.Component {\n static propTypes = {\n allowPartial: PropTypes.bool,\n className: PropTypes.string,\n feedback: PropTypes.shape({\n correct: PropTypes.shape(FeedbackType),\n incorrect: PropTypes.shape(FeedbackType),\n partial: PropTypes.shape(FeedbackType),\n }),\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n static defaultProps = {\n allowPartial: true,\n feedback: buildDefaults(),\n };\n\n onChange(key, config) {\n const { feedback, onChange } = this.props;\n const update = { ...feedback, [key]: config };\n\n onChange(update);\n }\n\n onCorrectChange = this.onChange.bind(this, 'correct');\n\n onIncorrectChange = this.onChange.bind(this, 'incorrect');\n\n onPartialChange = this.onChange.bind(this, 'partial');\n\n render() {\n const { classes, className, allowPartial, feedback, toolbarOpts } = this.props;\n\n return (\n <div className={className}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography className={classes.heading}>Feedback</Typography>\n </ExpansionPanelSummary>\n\n <ExpansionPanelDetails className={classes.panelDetails}>\n <div className={classes.feedbackContainer}>\n <FeedbackSelector\n label=\"If correct, show\"\n feedback={feedback.correct}\n onChange={this.onCorrectChange}\n toolbarOpts={toolbarOpts}\n />\n\n {allowPartial && (\n <FeedbackSelector\n label=\"If partially correct, show\"\n feedback={feedback.partial}\n onChange={this.onPartialChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n\n <FeedbackSelector\n label=\"If incorrect, show\"\n feedback={feedback.incorrect}\n onChange={this.onIncorrectChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackConfig);\n","import Checkbox from '@material-ui/core/Checkbox';\nimport Radio from '@material-ui/core/Radio';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Switch from '@material-ui/core/Switch';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\n\nconst InputTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n label: PropTypes.string,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n disabled: PropTypes.bool,\n error: PropTypes.string,\n};\n\nconst RawInputSwitch = ({ classes, className, label, checked, onChange }) => {\n return (\n <InputContainer className={className} label={label}>\n <Switch className={classes.switchRoot} checked={checked} onChange={onChange} aria-label={label} />\n </InputContainer>\n );\n};\n\nRawInputSwitch.propTypes = { ...InputTypes };\n\nconst InputSwitch = withStyles({\n switchRoot: {\n justifyContent: 'inherit',\n transform: 'translate(-20%, 20%)',\n },\n})(RawInputSwitch);\n\nconst RawInputCheckbox = (props) => {\n const { classes, className, label, checked, onChange, disabled, error } = props;\n\n return (\n <InputContainer className={className} label={label}>\n <Checkbox\n className={classNames(classes.checkboxRoot, classes.customColor, error && classes.error)}\n disabled={disabled}\n checked={checked}\n onChange={onChange}\n aria-label={label}\n />\n </InputContainer>\n );\n};\n\nRawInputCheckbox.propTypes = { ...InputTypes };\n\nconst RawInputRadio = (props) => {\n const { classes, className, label, checked, onChange, disabled, error } = props;\n\n return (\n <InputContainer className={className} label={label}>\n <Radio\n className={classNames(classes.radioRoot, classes.customColor, error && classes.error)}\n disabled={disabled}\n checked={checked}\n onChange={onChange}\n aria-label={label}\n />\n </InputContainer>\n );\n};\n\nRawInputRadio.propTypes = { ...InputTypes };\n\nconst InputCheckbox = withStyles((theme) => ({\n checkboxRoot: {\n transform: 'translate(-25%, 20%)',\n },\n error: {\n color: theme.palette.error.main,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n}))(RawInputCheckbox);\n\nconst InputRadio = withStyles((theme) => ({\n radioRoot: {\n transform: 'translate(-20%, 20%)',\n },\n error: {\n color: theme.palette.error.main,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n}))(RawInputRadio);\n\nexport { InputSwitch, InputCheckbox, InputRadio };\n","import Input from '@material-ui/core/Input';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormControl from '@material-ui/core/FormControl';\nimport debug from 'debug';\n\nconst log = debug('pie-elements:config-ui:langs');\n\nconst styles = (theme) => ({\n root: {\n flexDirection: 'column',\n alignItems: 'start',\n display: 'flex',\n position: 'relative',\n paddingTop: '0px',\n paddingRight: '0px',\n },\n formControl: {\n position: 'initial',\n },\n inputLabel: {\n paddingBottom: theme.spacing.unit,\n },\n});\n\nexport class RawLangs extends React.Component {\n static propTypes = {\n onChange: PropTypes.func,\n langs: PropTypes.array,\n selected: PropTypes.string,\n label: PropTypes.string,\n classes: PropTypes.object.isRequired,\n uid: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.uid = props.uid || (Math.random() * 10000).toFixed();\n }\n\n choose = (event) => {\n log('[choose] event: ', event);\n\n if (this.props.onChange) {\n this.props.onChange(event.target.value);\n }\n };\n\n render() {\n let { langs, selected, label, classes } = this.props;\n\n log('[render] selected:', selected);\n\n return (\n <div className={classes.root}>\n <FormControl className={classes.formControl}>\n <InputLabel className={classes.inputLabel} htmlFor={this.uid}>\n {label}\n </InputLabel>\n\n <Select value={selected} onChange={this.choose} input={<Input id={this.uid} />}>\n {langs.map((l, index) => (\n <MenuItem key={index} value={l}>\n {l}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </div>\n );\n }\n}\n\nconst Langs = withStyles(styles, { name: 'Langs' })(RawLangs);\nexport default Langs;\n\nexport const LanguageControls = withStyles({\n languageControls: {\n display: 'grid',\n gridAutoFlow: 'column',\n gridAutoColumns: '1fr',\n gridGap: '8px',\n },\n})(({ classes, langs, activeLang, defaultLang, onActiveLangChange, onDefaultLangChange, className }) => {\n const names = classNames(classes.languageControls, className);\n\n return (\n <div className={names}>\n <Langs\n label=\"Choose language to edit\"\n langs={langs}\n selected={activeLang}\n onChange={(l) => onActiveLangChange(l)}\n />\n <Langs label=\"Default language\" langs={langs} selected={defaultLang} onChange={(l) => onDefaultLangChange(l)} />\n </div>\n );\n});\n\nLanguageControls.propTypes = {\n langs: PropTypes.array,\n activeLang: PropTypes.string.isRequired,\n defaultLang: PropTypes.string.isRequired,\n onActiveLangChange: PropTypes.func.isRequired,\n onDefaultLangChange: PropTypes.func.isRequired,\n};\n","import React from 'react';\n\nimport MuiTabs from '@material-ui/core/Tabs';\nimport MuiTab from '@material-ui/core/Tab';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core';\n\nexport class Tabs extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n contentClassName: PropTypes.string,\n contentStyle: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = { value: 0 };\n }\n\n handleChange = (event, value) => {\n this.setState({ value });\n };\n\n render() {\n const { value } = this.state;\n const { children, className, contentClassName, contentStyle = {}, classes } = this.props;\n const tabClasses = { root: classes.tabRoot };\n\n return (\n <div className={className}>\n <MuiTabs indicatorColor=\"primary\" value={value} onChange={this.handleChange}>\n {React.Children.map(children, (c, index) =>\n c && c.props.title ? <MuiTab classes={tabClasses} key={index} label={c.props.title} /> : null,\n )}\n </MuiTabs>\n\n <div className={contentClassName} style={contentStyle}>\n {children[value]}\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(() => ({ tabRoot: {} }))(Tabs);\n","import FormControlLabel from '@material-ui/core/FormControlLabel';\nimport MuiCheckbox from '@material-ui/core/Checkbox';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport grey from '@material-ui/core/colors/grey';\nimport { color } from '@pie-lib/render-ui';\n\nconst Checkbox = ({ mini, checked, onChange, value, label, classes, error }) => (\n <FormControlLabel\n className={classNames(classes.mini)}\n classes={{\n label: classNames(classes.label, { [classes.miniLabel]: mini }),\n }}\n control={\n <MuiCheckbox\n checked={checked}\n onChange={onChange}\n value={value}\n className={classNames(classes.customColor, {\n [classes.miniCheckbox]: mini,\n [classes.error]: error,\n })}\n />\n }\n label={label}\n />\n);\n\nCheckbox.propTypes = {\n mini: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n checked: PropTypes.bool.isRequired,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string,\n label: PropTypes.string.isRequired,\n};\n\nCheckbox.defaultProps = {\n value: '',\n mini: false,\n};\n\nexport default withStyles((theme) => ({\n label: {\n fontSize: theme.typography.fontSize - 1,\n transform: 'translate(-4%, 2%)',\n color: 'rgba(0,0,0,1.0)',\n },\n miniCheckbox: {\n margin: 0,\n padding: 0,\n width: theme.spacing.unit * 3,\n height: theme.spacing.unit * 3,\n },\n miniLabel: {\n marginLeft: theme.spacing.unit,\n color: grey[700],\n fontSize: theme.typography.fontSize - 3,\n },\n mini: {\n margin: 0,\n marginLeft: 0,\n padding: 0,\n },\n error: {\n color: theme.palette.error.main,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n}))(Checkbox);\n","import React from 'react';\nimport Typography from '@material-ui/core/Typography';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = (theme) => ({\n formSection: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n label: {\n marginBottom: theme.spacing.unit,\n },\n});\n\nexport default withStyles(styles)(({ className, classes, label, children, labelExtraStyle }) => (\n <div className={classNames(classes.formSection, className)}>\n <Typography className={classes.label} type=\"subheading\" style={labelExtraStyle}>\n {label}\n </Typography>\n {children}\n </div>\n));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n}), _react.default.createElement(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z\"\n})), 'Help');\n\nexports.default = _default;","import Dialog from '@material-ui/core/Dialog';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport PropTypes from 'prop-types';\n\nimport Button from '@material-ui/core/Button';\nimport HelpIcon from '@material-ui/icons/Help';\nimport IconButton from '@material-ui/core/IconButton';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst RawHelpButton = ({ onClick, classes }) => (\n <IconButton\n classes={{\n label: classes.icon,\n }}\n onClick={onClick}\n >\n <HelpIcon />\n </IconButton>\n);\n\nRawHelpButton.propTypes = {\n onClick: PropTypes.func,\n classes: PropTypes.object.isRequired,\n};\n\nexport const HelpButton = withStyles((theme) => ({\n icon: {\n '&:hover': {\n color: theme.palette.grey[300],\n },\n },\n}))(RawHelpButton);\n\nexport const HelpDialog = ({ open, onClose, children, title }) => (\n <Dialog open={open} onRequestClose={onClose}>\n <DialogTitle>{title}</DialogTitle>\n <DialogContent>\n <DialogContentText>{children}</DialogContentText>\n </DialogContent>\n <DialogActions>\n <Button onClick={onClose} color=\"primary\">\n OK\n </Button>\n </DialogActions>\n </Dialog>\n);\n\nHelpDialog.propTypes = {\n open: PropTypes.bool,\n onClose: PropTypes.func,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n title: PropTypes.string.isRequired,\n};\n\nclass Help extends React.Component {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n title: PropTypes.string,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n open: false,\n };\n }\n\n render() {\n const { children, title } = this.props;\n\n return (\n <div>\n <HelpButton color=\"accent\" onClick={() => this.setState({ open: true })} />\n\n <HelpDialog open={this.state.open} title={title} onClose={() => this.setState({ open: false })}>\n {children}\n </HelpDialog>\n </div>\n );\n }\n}\n\nexport default Help;\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { default as MaterialInput } from '@material-ui/core/Input';\nimport { InputContainer } from '@pie-lib/render-ui';\n\nexport default class Input extends React.Component {\n static propTypes = {\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onChange: PropTypes.func.isRequired,\n label: PropTypes.string,\n type: PropTypes.string.isRequired,\n error: PropTypes.func,\n noModelUpdateOnError: PropTypes.bool,\n };\n\n static defaultProps = {\n type: 'text',\n error: (value, type) => (type === 'number' ? !value || isNaN(value) : !value),\n noModelUpdateOnError: false,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n value: props.value,\n };\n }\n\n UNSAFE_componentWillReceiveProps(newProps) {\n this.setState({\n value: newProps.value,\n });\n }\n\n onChange = (event) => {\n const { type, onChange, error } = this.props;\n const value = event.target.value;\n\n if (error(value, type)) {\n this.setState({\n error: true,\n value: event.target.value,\n });\n } else {\n this.setState({\n error: false,\n value: event.target.value,\n });\n\n onChange(event);\n }\n };\n\n render() {\n const {\n label,\n type,\n noModelUpdateOnError, // eslint-disable-line no-unused-vars\n ...rest\n } = this.props;\n const { value, error } = this.state;\n\n return label ? (\n <InputContainer label={label}>\n <MaterialInput type={type} {...rest} value={value} onChange={this.onChange} error={error} />\n </InputContainer>\n ) : (\n <MaterialInput type={type} {...rest} value={value} onChange={this.onChange} error={error} />\n );\n }\n}\n","import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport debug from 'debug';\nimport isFinite from 'lodash/isFinite';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nconst log = debug('@pie-lib:config-ui:number-text-field');\n\nconst styles = (theme) => ({\n root: {\n marginRight: theme.spacing.unit,\n '& label': {\n width: 'max-content',\n },\n },\n});\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextField extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n inputClassName: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n label: PropTypes.string,\n suffix: PropTypes.string,\n showErrorWhenOutsideRange: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n variant: PropTypes.string,\n };\n\n static defaultProps = {\n showErrorWhenOutsideRange: false,\n };\n\n constructor(props) {\n super(props);\n\n const value = this.clamp(props.value);\n\n this.state = {\n value,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = this.clamp(props.value, props.min, props.max);\n\n this.setState({ value });\n }\n\n clamp(value, min = this.props.min, max = this.props.max) {\n if (!isFinite(value)) {\n return fallbackNumber(min, max);\n }\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n\n return value;\n }\n\n /**\n * on Blur (this can be triggered by pressing Enter, see below)\n * we check the entered value and reset it if needed\n */\n onBlur = (event) => {\n const value = event.target.value;\n\n const rawNumber = parseFloat(value);\n log('rawNumber: ', rawNumber);\n\n const number = this.clamp(rawNumber);\n log('number: ', number);\n\n if (number !== this.state.value) {\n log('trigger update...');\n this.setState({ value: number.toString() }, () => {\n this.props.onChange(event, number);\n });\n }\n };\n\n onChange(event) {\n const value = event.target.value;\n this.setState({ value });\n }\n\n errorMessage = () => {\n const { min, max } = this.props;\n if (min && max) {\n return `The value must be between ${min} and ${max}`;\n }\n if (min) {\n return `The value must be greater than ${min}`;\n }\n if (max) {\n return `The value must be less than ${max}`;\n }\n };\n\n /**\n * if the input has to show error when outside range,\n * and the entered value is not matching the requirements\n * we display error message\n */\n\n getError = () => {\n const { value } = this.state;\n const float = parseFloat(value);\n const clamped = this.clamp(float);\n if (clamped !== float) {\n return this.errorMessage();\n }\n };\n\n render() {\n const {\n className,\n classes,\n label,\n disabled,\n suffix,\n min,\n max,\n inputClassName,\n disableUnderline,\n showErrorWhenOutsideRange,\n variant,\n } = this.props;\n const names = classNames(classes.root, className);\n\n const error = showErrorWhenOutsideRange && this.getError();\n return (\n <TextField\n variant={variant || 'standard'}\n inputRef={(ref) => {\n this.inputRef = ref;\n }}\n disabled={disabled}\n label={label}\n value={this.state.value}\n error={!!error}\n helperText={error}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyPress={(e) => {\n // once the Enter key is pressed, we force input blur\n if (e.key === 'Enter' && this.inputRef) {\n this.inputRef.blur();\n }\n }}\n type=\"number\"\n className={names}\n InputLabelProps={{\n shrink: true,\n }}\n InputProps={{\n endAdornment: suffix && <InputAdornment position=\"end\">{suffix}</InputAdornment>,\n className: inputClassName,\n disableUnderline: disableUnderline,\n }}\n inputProps={{\n min,\n max,\n }}\n margin=\"normal\"\n />\n );\n }\n}\n\nexport default withStyles(styles)(NumberTextField);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n d: \"M19 13H5v-2h14v2z\"\n}), _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n})), 'Remove');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n})), 'Add');\n\nexports.default = _default;","import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport isFinite from 'lodash/isFinite';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Remove from '@material-ui/icons/Remove';\nimport Add from '@material-ui/icons/Add';\nimport * as math from 'mathjs';\n\nconst styles = () => ({\n input: {\n '& input[type=number]': {\n '-moz-appearance': 'textfield',\n },\n '& input[type=number]::-webkit-outer-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n '& input[type=number]::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n },\n iconButton: {\n padding: '2px',\n },\n});\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextFieldCustom extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n customValues: PropTypes.array,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n inputClassName: PropTypes.string,\n helperText: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onlyIntegersAllowed: PropTypes.bool,\n value: PropTypes.any,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n label: PropTypes.string,\n disableUnderline: PropTypes.bool,\n textAlign: PropTypes.string,\n variant: PropTypes.string,\n type: PropTypes.string,\n };\n\n static defaultProps = {\n step: 1,\n customValues: [],\n textAlign: 'center',\n variant: 'standard',\n onlyIntegersAllowed: false,\n };\n\n constructor(props) {\n super(props);\n\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value);\n\n this.state = {\n value,\n currentIndex,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value, props.min, props.max);\n\n this.setState({ value, currentIndex });\n }\n\n clamp(value, min = this.props.min, max = this.props.max) {\n const { customValues } = this.props;\n\n if ((customValues || []).length > 0) {\n return value;\n }\n\n if (!isFinite(value)) {\n return fallbackNumber(min, max);\n }\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n\n return value;\n }\n\n normalizeValueAndIndex = (customValues, number, min, max) => {\n const { type } = this.props;\n const value = this.clamp(number, min, max);\n const currentIndex = (customValues || []).findIndex((val) => val === value);\n\n if ((customValues || []).length > 0 && currentIndex === -1) {\n const closestValue =\n type === 'text' ? this.getClosestFractionValue(customValues, value) : this.getClosestValue(customValues, value);\n\n return { value: closestValue.value, currentIndex: closestValue.index };\n }\n\n return { value, currentIndex };\n };\n\n getClosestValue = (customValues, number) =>\n customValues.reduce(\n (closest, value, index) =>\n Math.abs(value - number) < Math.abs(closest.value - number) ? { value, index } : closest,\n { value: customValues[0], index: 0 },\n );\n\n getClosestFractionValue = (customValues, number) =>\n customValues.reduce(\n (closest, value, index) =>\n Math.abs(math.number(math.fraction(value)) - math.number(math.fraction(number))) <\n Math.abs(math.number(math.fraction(closest.value)) - math.number(math.fraction(number)))\n ? { value, index }\n : closest,\n { value: customValues[0], index: 0 },\n );\n\n getValidFraction = (value) => {\n if (this.isPositiveInteger(value.trim())) {\n return value.trim();\n }\n if (value.trim() === '' || value.trim().split('/').length !== 2) {\n return false;\n }\n let [numerator, denominator] = value.trim().split('/');\n if (isNaN(numerator) || isNaN(denominator)) {\n return false;\n }\n numerator = parseFloat(numerator);\n denominator = parseFloat(denominator);\n if (!Number.isInteger(numerator) || !Number.isInteger(denominator)) {\n return false;\n }\n if (numerator < 0 || denominator < 1) {\n return false;\n }\n return numerator + '/' + denominator;\n };\n\n isPositiveInteger = (n) => {\n return n >>> 0 === parseFloat(n);\n };\n\n onBlur = (event) => {\n const { customValues, onlyIntegersAllowed, type } = this.props;\n let { value } = event.target;\n if (type === 'text') {\n let tempValue = this.getValidFraction(value);\n if (tempValue) {\n value = tempValue;\n } else {\n value = this.props.value;\n }\n }\n let rawNumber = onlyIntegersAllowed ? Math.round(parseFloat(value)) : parseFloat(value);\n if (type === 'text') {\n rawNumber = value.trim();\n }\n const { value: number, currentIndex } = this.normalizeValueAndIndex(customValues, rawNumber);\n this.setState(\n {\n value: number.toString(),\n currentIndex,\n },\n () => this.props.onChange(event, number),\n );\n };\n\n onChange(event) {\n const { type } = this.props;\n const { value } = event.target;\n if (type !== 'text' && typeof value === 'string' && value.trim() === '') {\n return;\n }\n this.setState({ value });\n }\n\n changeValue(event, sign = 1, shouldUpdate = false) {\n event.preventDefault();\n const { customValues, step, onlyIntegersAllowed, onChange } = this.props;\n const { currentIndex, value } = this.state;\n const updatedIndex = currentIndex + sign * 1;\n let number;\n if (customValues.length > 0) {\n if (updatedIndex < 0 || updatedIndex >= customValues.length) {\n return;\n }\n number = customValues[updatedIndex];\n } else {\n const rawNumber = onlyIntegersAllowed ? parseInt(value) : parseFloat(value);\n const updatedValue = (rawNumber * 10000 + step * sign * 10000) / 10000;\n number = this.clamp(updatedValue);\n }\n this.setState(\n {\n value: number.toString(),\n currentIndex: updatedIndex,\n },\n () => {\n if (shouldUpdate) {\n onChange(event, number);\n }\n },\n );\n }\n\n render() {\n const {\n className,\n classes,\n label,\n disabled,\n error,\n min,\n max,\n customValues,\n inputClassName,\n disableUnderline,\n helperText,\n variant,\n textAlign,\n type = 'number',\n } = this.props;\n const { value } = this.state;\n const names = classNames(className, classes.input);\n //Logic to disable the increment and decrement buttons\n let disabledStart = false;\n let disabledEnd = false;\n if (customValues.length > 0) {\n disabledStart = value === customValues[0];\n disabledEnd = value === customValues[customValues.length - 1];\n } else if (isFinite(min) && isFinite(max)) {\n disabledStart = value === min;\n disabledEnd = value === max;\n }\n\n return (\n <TextField\n variant={variant}\n inputRef={(ref) => (this.inputRef = ref)}\n disabled={disabled}\n label={label}\n value={value}\n error={error}\n helperText={helperText}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyPress={(e) => {\n // once the Enter key is pressed, we force input blur\n if (e.key === 'Enter' && this.inputRef) {\n this.inputRef.blur();\n }\n }}\n onKeyDown={(e) => {\n if (e.key === 'ArrowUp') {\n this.changeValue(e);\n }\n\n if (e.key === 'ArrowDown') {\n this.changeValue(e, -1);\n }\n }}\n title={''}\n type={type}\n className={names}\n InputProps={{\n className: inputClassName,\n disableUnderline: disableUnderline,\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconButton\n className={classes.iconButton}\n disabled={disabled ? disabled : disabledStart}\n onClick={(e) => this.changeValue(e, -1, true)}\n >\n <Remove fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n className={classes.iconButton}\n disabled={disabled ? disabled : disabledEnd}\n onClick={(e) => this.changeValue(e, 1, true)}\n >\n <Add fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n inputProps={{\n style: { textAlign },\n min,\n max,\n }}\n />\n );\n }\n}\n\nexport default withStyles(styles)(NumberTextFieldCustom);\n","import { InputContainer } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\nimport RadioWithLabel from './radio-with-label';\nimport React from 'react';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst styles = (theme) => ({\n group: {\n display: 'flex',\n flexWrap: 'wrap',\n paddingLeft: 0,\n marginTop: theme.spacing.unit,\n },\n vertical: {\n flexDirection: 'column',\n },\n});\n\nclass RawNChoice extends React.Component {\n static propTypes = {\n header: PropTypes.string.isRequired,\n className: PropTypes.string,\n customLabel: PropTypes.func,\n opts: PropTypes.array.isRequired,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n direction: PropTypes.oneOf(['horizontal', 'vertical']),\n classes: PropTypes.object.isRequired,\n };\n\n handleChange = (event) => {\n this.props.onChange(event.currentTarget.value);\n };\n\n render() {\n const { header, className, classes, customLabel, opts, value, direction } = this.props;\n\n const preppedOpts = opts.map((o) => {\n return typeof o === 'string' ? { label: o, value: o } : o;\n });\n const LabelComponent = customLabel || RadioWithLabel;\n\n return (\n <InputContainer label={header} className={className}>\n <div className={classNames(classes.group, classes[direction])}>\n {preppedOpts.map((o, index) => (\n <LabelComponent\n value={o.value}\n key={index}\n checked={o.value === value}\n onChange={this.handleChange}\n label={o.label}\n />\n ))}\n </div>\n </InputContainer>\n );\n }\n}\n\nexport const NChoice = withStyles(styles)(RawNChoice);\n\nconst labelValue = PropTypes.shape({ label: PropTypes.string, value: PropTypes.string });\n\nclass TwoChoice extends React.Component {\n static propTypes = {\n header: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n one: PropTypes.oneOfType([labelValue, PropTypes.string]),\n two: PropTypes.oneOfType([labelValue, PropTypes.string]),\n className: PropTypes.string,\n customLabel: PropTypes.func,\n };\n\n render() {\n const { one, two, header, className, customLabel, value, onChange } = this.props;\n const opts = [one, two];\n\n return (\n <NChoice\n customLabel={customLabel}\n header={header}\n className={className}\n opts={opts}\n value={value}\n onChange={onChange}\n />\n );\n }\n}\n\nexport default withStyles(styles)(TwoChoice);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport debug from 'debug';\nimport classNames from 'classnames';\n\nconst log = debug('pie-elements:config-ui:mui-box');\n\nconst MuiBox = withStyles((theme) => {\n const light = theme.palette.type === 'light';\n const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n\n log(theme.palette.primary[theme.palette.type || 'light']);\n\n return {\n muiBox: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n position: 'relative',\n '&:before': {\n left: 0,\n right: 0,\n bottom: 0,\n height: '1px',\n content: '\"\"',\n position: 'absolute',\n transition: 'background-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: bottomLineColor,\n },\n '&:hover:before': {\n height: '2px',\n },\n '&:after': {\n left: 0,\n right: 0,\n bottom: 0,\n height: '2px',\n content: '\"\"',\n position: 'absolute',\n transform: 'scaleX(0)',\n transition: 'transform 200ms cubic-bezier(0.0, 0, 0.2, 1) 0ms',\n pointerEvents: 'none',\n backgroundColor: theme.palette.primary[theme.palette.type], //'#304ffe'\n },\n },\n focused: {\n '&:after': {\n transform: 'scaleX(1)',\n },\n },\n };\n})(({ children, classes, focused }) => {\n const names = classNames(classes.muiBox, focused && classes.focused);\n\n return <div className={names}>{children}</div>;\n});\n\nMuiBox.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n focused: PropTypes.bool.isRequired,\n};\n\nexport default MuiBox;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport uniq from 'lodash/uniq';\nimport Chip from '@material-ui/core/Chip';\nimport MuiBox from '../mui-box';\n\nconst ENTER = 13;\n\nconst Tag = withStyles(() => ({\n tag: {\n padding: '0px',\n margin: '1px',\n },\n}))(({ classes, label, onDelete }) => <Chip className={classes.tag} label={label} onDelete={onDelete} />);\n\nTag.propTypes = {\n label: PropTypes.string.isRequired,\n onDelete: PropTypes.func.isRequired,\n};\n\nexport class TagsInput extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n tags: PropTypes.arrayOf(PropTypes.string).isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n value: '',\n focused: false,\n };\n\n this.onKeyDown = (event) => {\n if (event.keyCode === ENTER && this.state.value !== '') {\n const tag = this.state.value.trim();\n const newTags = uniq(this.props.tags.concat([tag]));\n\n if (newTags.length !== this.props.tags.length) {\n this.props.onChange(newTags);\n this.setState({ value: '' });\n }\n }\n };\n\n this.onChange = (event) => {\n this.setState({ value: event.target.value });\n };\n\n this.deleteTag = (tag) => {\n const { tags } = this.props;\n\n const tagIndex = tags.indexOf(tag);\n if (tagIndex !== -1) {\n tags.splice(tagIndex, 1);\n this.props.onChange(tags);\n this.input.focus();\n }\n };\n }\n\n onFocus = () => {\n this.setState({ focused: true });\n };\n\n onBlur = () => {\n this.setState({ focused: false });\n };\n\n render() {\n const { classes, tags } = this.props;\n return (\n <MuiBox focused={this.state.focused}>\n <div className={classes.tagsInput}>\n {(tags || []).map((t, index) => (\n <Tag key={index} label={t} onDelete={() => this.deleteTag(t)} />\n ))}\n <input\n ref={(r) => (this.input = r)}\n onKeyDown={this.onKeyDown}\n onChange={this.onChange}\n className={classes.input}\n value={this.state.value}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n type=\"text\"\n />\n </div>\n </MuiBox>\n );\n }\n}\n\nconst styles = (theme) => ({\n tagsInput: {\n border: `0px solid ${theme.palette.background.paper}`,\n display: 'flex',\n flexWrap: 'wrap',\n },\n input: {\n padding: '2px',\n margin: '1px',\n minWidth: '30px',\n width: '100%',\n flex: '1',\n border: `0px solid ${theme.palette.background.paper}`,\n height: '28px',\n fontSize: theme.typography.fontSize,\n fontFamily: theme.typography.fontFamily,\n outline: 'none',\n '&:focus': {\n outline: 'none',\n },\n },\n});\n\nexport default withStyles(styles)(TagsInput);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z\"\n}), _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n})), 'Delete');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0V0z\"\n}), _react.default.createElement(\"path\", {\n d: \"M19 15l-6 6-1.42-1.42L15.17 16H4V4h2v10h9.17l-3.59-3.58L13 9l6 6z\"\n})), 'SubdirectoryArrowRight');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n}), _react.default.createElement(\"path\", {\n d: \"M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 12h-2v-2h2v2zm0-4h-2V6h2v4z\"\n})), 'Feedback');\n\nexports.default = _default;","import Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport ActionFeedback from '@material-ui/icons/Feedback';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport class IconMenu extends React.Component {\n static propTypes = {\n opts: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n iconButtonElement: PropTypes.any,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: undefined,\n open: false,\n };\n }\n\n handleClick = (event) => {\n this.setState({ open: true, anchorEl: event.currentTarget });\n };\n\n handleRequestClose = () => {\n this.setState({ open: false });\n };\n\n render() {\n const { opts, onClick } = this.props;\n const keys = Object.keys(opts);\n\n const handleMenuClick = (key) => () => {\n onClick(key);\n this.handleRequestClose();\n };\n\n return (\n <div>\n <div onClick={this.handleClick}>{this.props.iconButtonElement}</div>\n <Menu id=\"simple-menu\" anchorEl={this.state.anchorEl} open={this.state.open} onClose={this.handleRequestClose}>\n {keys.map((k, index) => (\n <MenuItem key={index} onClick={handleMenuClick(k)}>\n {opts[k]}\n </MenuItem>\n ))}\n </Menu>\n </div>\n );\n }\n}\n\nexport default class FeedbackMenu extends React.Component {\n static propTypes = {\n value: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n classes: {},\n };\n\n render() {\n const { value, onChange, classes } = this.props;\n const t = value && value.type;\n const iconColor = t === 'custom' || t === 'default' ? 'primary' : 'disabled';\n const tooltip = t === 'custom' ? 'Custom Feedback' : t === 'default' ? 'Default Feedback' : 'Feedback disabled';\n\n const icon = (\n <IconButton className={classes.icon} aria-label={tooltip}>\n <ActionFeedback color={iconColor} />\n </IconButton>\n );\n\n return (\n <IconMenu\n iconButtonElement={icon}\n onClick={(key) => onChange(key)}\n opts={{\n none: 'No Feedback',\n default: 'Default',\n custom: 'Custom',\n }}\n />\n );\n }\n}\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\nimport classNames from 'classnames';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\n\nconst EditableHtmlContainer = withStyles((theme) => ({\n labelContainer: {},\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n}))(\n ({\n label,\n classes,\n onChange,\n value,\n className,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n pluginOpts,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n }) => {\n const names = classNames(classes.labelContainer, className);\n\n return (\n <InputContainer label={label} className={names}>\n <div className={classes.editorHolder}>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n className={classes.editor}\n pluginProps={pluginOpts || {}}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n </div>\n </InputContainer>\n );\n },\n);\n\nconst Feedback = withStyles((theme) => ({\n text: {\n width: '100%',\n },\n feedbackContainer: {\n position: 'relative',\n },\n arrowIcon: {\n fill: theme.palette.grey[400],\n left: -56,\n position: 'absolute',\n top: 20,\n },\n}))(({ value, onChange, type, correct, classes, defaults, toolbarOpts, mathMlOptions = {} }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <TextField\n className={classes.text}\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n />\n </div>\n );\n } else {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <EditableHtmlContainer\n className={classes.text}\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n mathMlOptions={mathMlOptions}\n />\n </div>\n );\n }\n});\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n noLabels: PropTypes.bool,\n useLetterOrdering: PropTypes.bool,\n className: PropTypes.string,\n error: PropTypes.string,\n mode: PropTypes.oneOf(['checkbox', 'radio']),\n defaultFeedback: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n nonEmpty: PropTypes.bool,\n data: PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n correct: PropTypes.bool,\n feedback: PropTypes.shape({\n type: PropTypes.string,\n value: PropTypes.string,\n }),\n }),\n onDelete: PropTypes.func,\n onChange: PropTypes.func,\n index: PropTypes.number,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n disableImageAlignmentButtons: PropTypes.bool,\n allowFeedBack: PropTypes.bool,\n allowDelete: PropTypes.bool,\n noCorrectAnswerError: PropTypes.string,\n spellCheck: PropTypes.bool,\n pluginOpts: PropTypes.object,\n toolbarOpts: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n maxImageWidth: PropTypes.number,\n maxImageHeight: PropTypes.number,\n };\n\n static defaultProps = {\n index: -1,\n noLabels: false,\n useLetterOrdering: false,\n allowFeedBack: true,\n allowDelete: true,\n };\n\n _changeFn = (key) => (update) => {\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, [key]: update });\n }\n };\n\n onLabelChange = this._changeFn('label');\n\n onCheckedChange = (event) => {\n const correct = event.target.checked;\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, correct });\n }\n };\n\n onFeedbackValueChange = (v) => {\n const { data, onChange } = this.props;\n\n if (data.feedback.type !== 'custom') {\n return;\n }\n\n const fb = { ...data.feedback, value: v };\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n onFeedbackTypeChange = (t) => {\n const { data, onChange } = this.props;\n const fb = { ...data.feedback, type: t };\n\n if (fb.type !== 'custom') {\n fb.value = undefined;\n }\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n render() {\n const {\n data,\n classes,\n mode,\n onDelete,\n defaultFeedback,\n index,\n className,\n noLabels,\n useLetterOrdering,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n allowFeedBack,\n allowDelete,\n pluginOpts,\n toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\n maxImageWidth,\n maxImageHeight,\n mathMlOptions = {},\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n const names = classNames(classes.choiceConfiguration, className);\n\n return (\n <div className={names}>\n <div className={classes.topRow}>\n {index > 0 && (\n <span className={classes.index} type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </span>\n )}\n\n <InputToggle\n className={classes.toggle}\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n error={noCorrectAnswerError}\n />\n\n <div className={classes.middleColumn}>\n <EditableHtmlContainer\n className={classes.input}\n label={!noLabels ? 'Label' : ''}\n value={data.label}\n onChange={this.onLabelChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n pluginOpts={pluginOpts}\n toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n />\n {error && <div className={classes.errorText}>{error}</div>}\n\n {allowFeedBack && (\n <Feedback\n {...data.feedback}\n correct={data.correct}\n defaults={defaultFeedback}\n onChange={this.onFeedbackValueChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n\n {allowFeedBack && (\n <InputContainer className={classes.feedback} label={!noLabels ? 'Feedback' : ''}>\n <FeedbackMenu\n onChange={this.onFeedbackTypeChange}\n value={data.feedback}\n classes={{\n icon: classes.feedbackIcon,\n }}\n />\n </InputContainer>\n )}\n\n {allowDelete && (\n <InputContainer className={classes.delete} label={!noLabels ? 'Delete' : ''}>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={onDelete}>\n <ActionDelete />\n </IconButton>\n </InputContainer>\n )}\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n index: {\n paddingRight: theme.spacing.unit,\n paddingTop: theme.spacing.unit * 3.5,\n },\n choiceConfiguration: {},\n topRow: {\n display: 'flex',\n },\n value: {\n flex: '0.5',\n paddingRight: theme.spacing.unit,\n },\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n toggle: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit / 2,\n paddingBottom: 0,\n marginRight: 0,\n marginLeft: theme.spacing.unit,\n },\n feedback: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit * 2,\n paddingLeft: 0,\n marginLeft: 0,\n marginRight: theme.spacing.unit,\n },\n feedbackIcon: {\n margin: 0,\n width: 'inherit',\n },\n deleteIcon: {\n margin: 0,\n width: 'inherit',\n },\n delete: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit * 2,\n paddingLeft: 0,\n marginLeft: 0,\n },\n middleColumn: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n marginRight: theme.spacing.unit,\n },\n input: {\n marginRight: 0,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n },\n});\n\nexport default withStyles(styles)(ChoiceConfiguration);\n","import React from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core';\nimport Tabs from '../tabs';\nimport classNames from 'classnames';\n\nclass RawLayoutContents extends React.Component {\n static propTypes = {\n mode: PropTypes.oneOf(['tabbed', 'inline']),\n secondary: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n classes: PropTypes.object,\n dimensions: PropTypes.object,\n };\n\n getConfiguration = () => {\n const { secondary } = this.props;\n // in config-layout, secondary can be: <SettingsBox>{settings}</SettingsBox>, settings, null\n\n return secondary?.props?.configuration || secondary?.props?.children?.props?.configuration || undefined;\n };\n\n // // eslint-disable-next-line no-unused-vars\n // componentDidUpdate(prevProps, prevState, snapshot) {\n // const configuration = this.getConfiguration();\n // const { mode } = this.props;\n //\n // // promptHolder class is used to wrap up inputs:\n // // we don't want inputs to fill the entire scrollable container,\n // // but instead we want inputs to fit in the first view,\n // // so we calculate the maximum space inputs need\n // try {\n // if (\n // configuration?.maxWidth &&\n // getComputedStyle(document.documentElement).getPropertyValue('--pie-prompt-holder-max-width') !==\n // configuration?.maxWidth\n // ) {\n // document.documentElement.style.setProperty(\n // '--pie-prompt-holder-max-width',\n // mode === 'inline' ? `calc(${configuration.maxWidth} - 340px)` : configuration.maxWidth,\n // );\n // }\n // } catch (e) {\n // console.log(e.toString());\n // }\n // }\n\n render() {\n const { mode, secondary, children, classes, dimensions } = this.props;\n const { minHeight, minWidth, maxHeight, maxWidth } = dimensions || {};\n const configuration = this.getConfiguration();\n\n let hasSettingsPanel = Object.entries(configuration || {}).some(([, obj]) => !!obj?.settings);\n // ebsr has configuration.partA and configuration.partB\n // because we might have nested configuration for other item types as well, let's add this simple regex to check values for settings\n\n if (!hasSettingsPanel) {\n try {\n hasSettingsPanel = JSON.stringify(configuration)?.match(/settings\":true/)?.length;\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e.toString());\n }\n }\n\n return (\n <div className={classes.container} style={{ minHeight, minWidth, maxHeight, maxWidth }}>\n {mode === 'inline' && (\n <div className={classnames(classes.flow, classes.contentContainer)}>\n <div className={classnames(classes.configContainer, 'design-container')}>{children}</div>\n {hasSettingsPanel && (\n <div className={classnames(classes.settingsContainer, 'settings-container')}>{secondary}</div>\n )}\n </div>\n )}\n\n {mode === 'tabbed' && hasSettingsPanel && (\n <Tabs onChange={this.onTabsChange} contentClassName={classes.contentContainer} indicatorColor=\"primary\">\n <div title=\"Design\" className=\"design-container\">\n {children}\n </div>\n <div title=\"Settings\" className=\"settings-container\">\n {secondary}\n </div>\n </Tabs>\n )}\n\n {mode === 'tabbed' && !hasSettingsPanel && (\n <div className={classNames(classes.contentContainer, 'design-container')}>{children}</div>\n )}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n flow: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n container: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n contentContainer: {\n padding: `${theme.spacing.unit * 2}px 0`,\n },\n configContainer: {\n flex: '1',\n },\n settingsContainer: {\n marginLeft: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(RawLayoutContents);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nexport class SettingsBox extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n };\n\n static defaultProps = {};\n\n render() {\n const { classes, className, children } = this.props;\n\n return <div className={classNames(classes.settingsBox, className)}>{children}</div>;\n }\n}\nconst styles = (theme) => ({\n settingsBox: {\n backgroundColor: theme.palette.background.paper,\n border: `2px solid ${theme.palette.grey[200]}`,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-start',\n minWidth: '275px',\n maxWidth: '300px',\n padding: '20px 4px 4px 20px',\n zIndex: 99,\n },\n});\n\nexport default withStyles(styles)(SettingsBox);\n","import React from 'react';\nimport Measure from 'react-measure';\nimport { withContentRect } from 'react-measure';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport LayoutContents from './layout-contents';\nimport SettingsBox from './settings-box';\nimport { AppendCSSRules } from '@pie-lib/render-ui';\n\nconst styles = {\n extraCSSRules: {},\n};\n\nclass MeasuredConfigLayout extends AppendCSSRules {\n static propTypes = {\n children: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n className: PropTypes.string,\n classes: PropTypes.object,\n dimensions: PropTypes.object,\n settings: PropTypes.element,\n sidePanelMinWidth: PropTypes.number,\n hideSettings: PropTypes.bool,\n };\n\n static defaultProps = {\n sidePanelMinWidth: 1135,\n hideSettings: false,\n dimensions: {},\n };\n\n constructor(...props) {\n super(...props);\n this.state = { layoutMode: undefined };\n }\n\n onResize = (contentRect) => {\n const { bounds } = contentRect;\n const { sidePanelMinWidth, dimensions } = this.props;\n const { maxWidth } = dimensions || {};\n\n const layoutMode =\n bounds.width > sidePanelMinWidth && (maxWidth ? maxWidth > sidePanelMinWidth : true) ? 'inline' : 'tabbed';\n\n this.setState({ layoutMode });\n };\n\n render() {\n return (\n <Measure bounds onResize={this.onResize}>\n {({ measureRef }) => {\n const { children, settings, hideSettings, dimensions, classes } = this.props;\n const { layoutMode } = this.state;\n\n const settingsPanel =\n layoutMode === 'inline' ? <SettingsBox className=\"settings-box\">{settings}</SettingsBox> : settings;\n const secondaryContent = hideSettings ? null : settingsPanel;\n const finalClass = classNames('main-container', classes.extraCSSRules);\n\n return (\n <div ref={measureRef} className={finalClass}>\n <LayoutContents mode={layoutMode} secondary={secondaryContent} dimensions={dimensions}>\n {children}\n </LayoutContents>\n </div>\n );\n }}\n </Measure>\n );\n }\n}\n\nconst ConfigLayout = withStyles(styles)(withContentRect('bounds')(MeasuredConfigLayout));\n\nexport default ConfigLayout;\n","import includes from 'lodash/includes';\n\n/**\n * Add value to every model.choices.\n * @param {Object} model the model to normalize\n * @return {Object} the updated model\n */\nexport const normalizeChoices = (model) => {\n const choices = model.choices.map((c, index) => {\n if (!c.value) {\n c.value = `${index}`;\n }\n return c;\n });\n return { ...model, choices };\n};\n\n/**\n * Find the first available index.\n * @param {string[]} values\n * @param {number} index\n * @return {string}\n */\nexport const firstAvailableIndex = (values, index) => {\n if (includes(values, `${index}`)) {\n return firstAvailableIndex(values, index + 1);\n } else {\n return `${index}`;\n }\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\nconst withStatefulModel = (Component) => {\n class Stateful extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n };\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n this.setState({ model: props.model });\n }\n\n onChange = (model) => {\n this.setState({ model }, () => {\n this.props.onChange(this.state.model);\n });\n };\n\n render() {\n return <Component model={this.state.model} onChange={this.onChange} />;\n }\n }\n\n return Stateful;\n};\n\nexport default withStatefulModel;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport { withStyles } from '@material-ui/core/styles';\nimport Switch from '@material-ui/core/Switch';\nimport classNames from 'classnames';\nimport { color } from '@pie-lib/render-ui';\n\nconst Toggle = withStyles((theme) => ({\n toggle: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-between',\n },\n label: {\n color: 'rgba(0, 0, 0, 0.89)',\n fontSize: theme.typography.fontSize,\n paddingTop: theme.spacing.unit * 2,\n },\n checkedThumb: {\n color: `${color.tertiary()} !important`,\n },\n checkedBar: {\n backgroundColor: `${color.tertiaryLight()} !important`,\n },\n}))(({ checked, disabled, label, toggle, classes }) => (\n <div className={classes.toggle}>\n <InputLabel className={classes.label}>{label}</InputLabel>\n <Switch\n classes={{\n checked: classNames(classes.checkedThumb),\n bar: classNames({\n [classes.checkedBar]: checked,\n }),\n }}\n checked={checked}\n disabled={disabled}\n onChange={(e) => toggle(e.target.checked)}\n />\n </div>\n));\n\nToggle.propTypes = {\n checked: PropTypes.bool,\n label: PropTypes.string.isRequired,\n toggle: PropTypes.func.isRequired,\n};\n\nexport default Toggle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport NumberTextField from '../number-text-field';\n\nconst DisplaySize = withStyles((theme) => ({\n displaySize: {\n display: 'flex',\n paddingTop: theme.spacing.unit,\n },\n}))(({ size, label, classes, onChange }) => {\n const updateSize = (key, v) => {\n onChange({ ...size, [key]: v });\n };\n return (\n <div>\n <Typography>{label}</Typography>\n <div className={classes.displaySize}>\n <NumberTextField\n label=\"Width\"\n type=\"number\"\n variant=\"outlined\"\n value={size.width}\n min={150}\n max={1000}\n onChange={(e, v) => updateSize('width', v)}\n />\n <NumberTextField\n label=\"Height\"\n type=\"number\"\n variant=\"outlined\"\n min={150}\n max={1000}\n value={size.height}\n onChange={(e, v) => updateSize('height', v)}\n />\n </div>\n </div>\n );\n});\n\nDisplaySize.propTypes = {\n size: PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n }).isRequired,\n label: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n};\n\nexport default DisplaySize;\n","import FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Radio from '@material-ui/core/Radio';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\n\nexport default withStyles((theme) => ({\n label: {\n color: 'rgba(0, 0, 0, 0.89)',\n fontSize: theme.typography.fontSize - 2,\n left: '-5px',\n position: 'relative',\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n}))(({ label, value, checked, onChange, classes }) => (\n <FormControlLabel\n value={value}\n classes={{ label: classes.label }}\n control={<Radio className={classes.customColor} checked={checked} onChange={onChange} />}\n label={label}\n />\n));\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport get from 'lodash/get';\nimport set from 'lodash/set';\nimport Select from '@material-ui/core/Select';\nimport Input from '@material-ui/core/Input';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport debug from 'debug';\n\nimport Toggle from './toggle';\nimport { NChoice } from '../two-choice';\nimport SettingsRadioLabel from './settings-radio-label';\nimport NumberTextField from '../number-text-field';\nimport Checkbox from '../checkbox';\nimport Typography from '@material-ui/core/Typography';\n\nconst log = debug('pie-lib:config-ui:settings:panel');\n\nconst labelValue = {\n label: PropTypes.string,\n value: PropTypes.string,\n};\n\nconst baseTypes = {\n label: PropTypes.string,\n value: PropTypes.string,\n onChange: PropTypes.func,\n};\n\nconst CheckboxChoice = ({ label, value, onChange }) => {\n return (\n <Checkbox\n checked={value}\n label={label}\n onChange={(event) => {\n onChange(event.target.checked);\n }}\n />\n );\n};\n\nCheckboxChoice.propTypes = {\n label: PropTypes.string,\n value: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nconst Radio = ({ classes, label, value, onChange, choices }) => {\n return (\n <NChoice\n className={classes.radioSettings}\n direction=\"horizontal\"\n customLabel={SettingsRadioLabel}\n value={value}\n header={label}\n opts={choices}\n onChange={onChange}\n />\n );\n};\n\nRadio.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.shape(labelValue)) };\n\nconst StyledRadio = withStyles((theme) => ({\n radioSettings: {\n marginTop: theme.spacing.unit / 2,\n paddingBottom: theme.spacing.unit / 2,\n width: '100%',\n '& > label': {\n color: 'rgba(0, 0, 0, 0.89)',\n transform: 'translate(0, 10px) scale(1)',\n fontSize: '14px',\n },\n '& > div': {\n marginTop: theme.spacing.unit * 2.5,\n },\n },\n label: {\n display: 'none',\n },\n}))(Radio);\n\nconst Dropdown = withStyles((theme) => ({\n label: {\n margin: 0,\n fontSize: theme.typography.fontSize,\n },\n wrapper: {\n marginTop: theme.spacing.unit / 2,\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n}))(({ classes, label, value, onChange, choices = [] }) => {\n const getItemLabel = (l) => (typeof l === 'string' ? l : l.label);\n const getItemValue = (l) => (typeof l === 'string' ? l : l.value);\n return (\n <div>\n {label && <p className={classes.label}>{label}</p>}\n <Select\n className={classes.wrapper}\n value={value || (choices && choices[0])}\n onChange={({ target }) => onChange(target.value)}\n input={<Input id={`dropdown-${label}`} />}\n disableUnderline\n >\n {choices.map((l, index) => (\n <MenuItem key={index} value={getItemValue(l)}>\n {getItemLabel(l)}\n </MenuItem>\n ))}\n </Select>\n </div>\n );\n});\n\nDropdown.propTypes = { ...baseTypes, choices: PropTypes.arrayOf(PropTypes.string) };\n\nconst TextField = withStyles((theme) => ({\n field: {\n marginRight: theme.spacing.unit * 3,\n marginTop: theme.spacing.unit,\n },\n}))(({ classes, label }) => {\n return <Typography className={classes.field}>{label}</Typography>;\n});\n\nconst NumberField = withStyles((theme) => ({\n field: {\n width: '35%',\n marginRight: theme.spacing.unit * 3,\n marginTop: theme.spacing.unit,\n },\n wrapper: {\n marginTop: theme.spacing.unit / 2,\n border: '2px solid lightgrey',\n borderRadius: '4px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n}))(({ classes, label, value, onChange = () => {}, suffix, min, max }) => {\n return (\n <NumberTextField\n label={label || 'Label'}\n value={value}\n max={max}\n min={min}\n onChange={(ev, value) => onChange(value)}\n suffix={suffix}\n className={classes.field}\n showErrorWhenOutsideRange\n inputClassName={classes.wrapper}\n disableUnderline\n classes={classes}\n />\n );\n});\n\nNumberField.propTypes = {\n ...baseTypes,\n classes: PropTypes.object,\n suffix: PropTypes.string,\n min: PropTypes.number,\n max: PropTypes.number,\n value: PropTypes.number,\n};\n\nTextField.propTypes = {\n ...baseTypes,\n};\n\nconst ToggleWrapper = ({ disabled, label, value, onChange }) => (\n <Toggle label={label} checked={!!value} disabled={!!disabled} toggle={onChange} />\n);\n\nToggleWrapper.propTypes = { ...baseTypes, value: PropTypes.bool };\n\nconst tagMap = {\n toggle: ToggleWrapper,\n radio: StyledRadio,\n dropdown: Dropdown,\n numberField: NumberField,\n checkbox: CheckboxChoice,\n textField: TextField,\n};\n\nconst Group = withStyles((theme) => ({\n group: {\n margin: `0 0 ${theme.spacing.unit * 2}px 0`,\n },\n groupHeader: {\n color: '#495B8F',\n fontSize: theme.typography.fontSize + 2,\n fontWeight: 600,\n marginBottom: theme.spacing.unit,\n },\n numberFields: {\n fontSize: theme.typography.fontSize,\n marginBottom: 0,\n },\n}))((props) => {\n const { classes, model, label, group, configuration, onChange } = props;\n\n /**\n * @param group - the group of settings\n * @param key - the key(or path) to be used to set or get from model or configuration\n * @param innerKey - the key(or path) to be used to get from the group (used only for numberField type)\n * @returns tag that corresponds to element type */\n const getTag = (group, key, innerKey) => {\n const { isConfigProperty, ...properties } = get(group, innerKey || key);\n const value = isConfigProperty ? get(configuration, key) : get(model, key);\n const tagProps = { ...properties, key, value };\n const Tag = tagMap[tagProps.type];\n\n return <Tag key={key} {...tagProps} onChange={(v) => onChange(key, v, isConfigProperty)} />;\n };\n\n const content = (group, key) => {\n const currentGroup = group[key];\n\n if (!currentGroup) {\n return null;\n }\n\n const { type, label, fields, choices } = currentGroup;\n\n if (type === 'numberFields') {\n return (\n <div key={`numberField-${label}`}>\n <p className={classes.numberFields}>{label}</p>\n {Object.keys(fields).map((fieldKey) => {\n return getTag(group, `${key}.${fieldKey}`, `${key}.fields.${fieldKey}`);\n })}\n </div>\n );\n }\n\n if (type === 'checkboxes') {\n return (\n <div key={`checkbox-${label}`}>\n <p>{label}</p>\n {Object.keys(choices).map((choiceKey) => {\n return getTag(group, `${key}.${choiceKey}`, `${key}.choices.${choiceKey}`);\n })}\n </div>\n );\n }\n\n // if type is toggle, radio, dropdown, numberField or numberText\n return getTag(group, key);\n };\n\n return (\n <div className={classes.group}>\n <div className={classes.groupHeader}>{label}</div>\n\n {Object.keys(group).map((key) => {\n return content(group, key);\n })}\n </div>\n );\n});\n\nexport class Panel extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n configuration: PropTypes.object,\n groups: PropTypes.object,\n onChangeModel: PropTypes.func,\n onChangeConfiguration: PropTypes.func,\n modal: PropTypes.object,\n };\n\n static defaultProps = {\n onChangeModel: () => {},\n onChangeConfiguration: () => {},\n };\n\n change = (key, value, isConfigProperty = false) => {\n log('[changeModel]', key, value);\n\n const { onChangeModel, onChangeConfiguration } = this.props;\n const model = { ...this.props.model };\n const configuration = { ...this.props.configuration };\n\n if (isConfigProperty) {\n set(configuration, key, value);\n onChangeConfiguration(configuration, key);\n } else {\n set(model, key, value);\n onChangeModel(model, key);\n }\n };\n\n render() {\n const { groups, model, configuration, modal } = this.props;\n\n log('render:', model);\n\n const renderedGroups = Object.keys(groups || {}).map((group) => {\n const showGroup = Object.entries(groups[group]).some(([, propVal]) => !!propVal);\n\n if (showGroup) {\n return (\n <Group\n label={group}\n key={group}\n model={model}\n configuration={configuration}\n group={groups[group]}\n onChange={this.change}\n />\n );\n }\n\n return null;\n });\n\n return (\n <div>\n {renderedGroups}\n {modal}\n </div>\n );\n }\n}\n\nexport default Panel;\n","import Panel from './panel';\n\nexport { Panel };\n\nexport const textField = (label, isConfigProperty = true) => ({\n label,\n type: 'textField',\n isConfigProperty,\n});\n\nexport const toggle = (label, isConfigProperty = false, disabled = false) => ({\n type: 'toggle',\n label,\n isConfigProperty,\n disabled,\n});\n\nconst toChoice = (opt) => {\n if (typeof opt === 'string') {\n return { label: opt, value: opt };\n } else {\n return opt;\n }\n};\n\nexport const radio = function() {\n const args = Array.prototype.slice.call(arguments);\n const [label, choices, isConfigProperty = false] = args;\n\n return {\n type: 'radio',\n label,\n choices: choices && choices.map((o) => toChoice(o)),\n isConfigProperty,\n };\n};\n\nexport const dropdown = (label, choices, isConfigProperty = false) => {\n return {\n type: 'dropdown',\n label,\n choices,\n isConfigProperty,\n };\n};\n\nexport const numberField = (label, options, isConfigProperty = false) => ({\n ...options,\n label,\n type: 'numberField',\n isConfigProperty,\n});\n\nexport const numberFields = (label, fields, isConfigProperty = false) => {\n Object.keys(fields).map((key) => {\n fields[key] = numberField(fields[key].label, fields[key], isConfigProperty);\n });\n\n return {\n type: 'numberFields',\n label,\n fields,\n };\n};\n\nexport const checkbox = (label, settings, isConfigProperty = false) => ({\n ...settings,\n label,\n type: 'checkbox',\n isConfigProperty,\n});\n\nexport const checkboxes = (label, choices, isConfigProperty = false) => {\n Object.keys(choices).map((key) => {\n choices[key] = checkbox(choices[key].label, choices[key], isConfigProperty);\n });\n\n return {\n type: 'checkboxes',\n label,\n choices,\n };\n};\n"],"names":["AlertDialog","text","title","onClose","onConfirm","open","onCloseText","onConfirmText","classes","React","heading","subheading","defaultProps","propTypes","PropTypes","oneOfType","string","object","func","bool","styles","fontSize","withStyles","label","left","position","customColor","color","tertiary","value","checked","onChange","Radio","theme","radioLabel","typography","choice","display","alignItems","choiceHolder","Group","props","feedbackLabels","className","keys","classNames","map","key","e","currentTarget","isRequired","arrayOf","default","none","custom","holder","extras","marginTop","background","palette","grey","padding","spacing","unit","marginBottom","borderRadius","style","feedbackSelector","cursor","inputContainerLabel","transform","feedbackInputContainer","paddingBottom","customHolder","defaultHolder","fontFamily","editor","group","paddingTop","FeedbackType","type","oneOf","FeedbackSelector","Component","changeType","feedback","changeCustom","render","toolbarOpts","mathMlOptions","feedbackKeys","Object","language","shape","require$$0","setStatic_1","setStatic","setDisplayName_1","require$$1","setDisplayName","getDisplayName_1","getDisplayName","wrapDisplayName_1","wrapDisplayName","shouldUpdate_1","require$$2","require$$3","require$$4","shouldUpdate","pure_1","pure","createSvgIcon_1","createSvgIcon","feedbackContainer","flex","flexDirection","panelDetails","buildDefaults","input","merge","correct","incorrect","partial","FeedbackConfig","onCorrectChange","bind","onIncorrectChange","onPartialChange","config","update","allowPartial","InputTypes","disabled","error","RawInputSwitch","switchRoot","InputSwitch","justifyContent","RawInputCheckbox","Checkbox","checkboxRoot","RawInputRadio","radioRoot","InputCheckbox","main","InputRadio","log","debug","root","paddingRight","formControl","inputLabel","RawLangs","constructor","choose","event","target","uid","Math","random","toFixed","langs","selected","Input","l","index","array","Langs","name","LanguageControls","languageControls","gridAutoFlow","gridAutoColumns","gridGap","activeLang","defaultLang","onActiveLangChange","onDefaultLangChange","names","Tabs","handleChange","setState","state","children","contentClassName","contentStyle","tabClasses","tabRoot","Children","c","node","mini","miniLabel","MuiCheckbox","miniCheckbox","margin","width","height","marginLeft","formSection","labelExtraStyle","Help","RawHelpButton","onClick","icon","HelpButton","HelpDialog","Dialog","DialogTitle","DialogContent","DialogContentText","DialogActions","Button","UNSAFE_componentWillReceiveProps","newProps","rest","_excluded","number","noModelUpdateOnError","isNaN","marginRight","fallbackNumber","min","max","isFinite","NumberTextField","onBlur","rawNumber","parseFloat","clamp","toString","errorMessage","getError","float","clamped","suffix","inputClassName","disableUnderline","showErrorWhenOutsideRange","variant","TextField","ref","inputRef","blur","shrink","endAdornment","Remove","Add","iconButton","NumberTextFieldCustom","normalizeValueAndIndex","customValues","currentIndex","findIndex","val","length","closestValue","getClosestFractionValue","getClosestValue","reduce","closest","abs","math","fraction","getValidFraction","isPositiveInteger","trim","split","numerator","denominator","Number","isInteger","n","onlyIntegersAllowed","tempValue","round","changeValue","sign","preventDefault","step","updatedIndex","parseInt","updatedValue","helperText","textAlign","disabledStart","disabledEnd","startAdornment","any","flexWrap","paddingLeft","vertical","RawNChoice","header","customLabel","opts","direction","preppedOpts","o","LabelComponent","RadioWithLabel","NChoice","labelValue","TwoChoice","one","two","MuiBox","light","bottomLineColor","primary","muiBox","right","bottom","content","transition","pointerEvents","backgroundColor","focused","ENTER","Tag","tag","onDelete","TagsInput","onFocus","onKeyDown","keyCode","newTags","uniq","tags","concat","deleteTag","tagIndex","indexOf","splice","focus","tagsInput","t","r","border","paper","minWidth","outline","Feedback","IconMenu","handleClick","anchorEl","handleRequestClose","undefined","handleMenuClick","iconButtonElement","k","FeedbackMenu","iconColor","tooltip","EditableHtmlContainer","labelContainer","editorHolder","imageSupport","disableImageAlignmentButtons","spellCheck","nonEmpty","pluginOpts","maxImageWidth","maxImageHeight","uploadSoundSupport","EditableHtml","arrowIcon","fill","top","defaults","ChoiceConfiguration","_changeFn","data","onLabelChange","onCheckedChange","onFeedbackValueChange","v","fb","onFeedbackTypeChange","mode","defaultFeedback","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","InputToggle","choiceConfiguration","topRow","String","fromCharCode","toUpperCase","toggle","middleColumn","errorText","feedbackIcon","delete","deleteIcon","add","RawLayoutContents","getConfiguration","secondary","configuration","dimensions","minHeight","maxHeight","maxWidth","hasSettingsPanel","entries","some","obj","settings","JSON","stringify","match","console","container","classnames","flow","contentContainer","configContainer","settingsContainer","onTabsChange","SettingsBox","settingsBox","zIndex","extraCSSRules","MeasuredConfigLayout","AppendCSSRules","onResize","contentRect","bounds","sidePanelMinWidth","layoutMode","measureRef","hideSettings","settingsPanel","secondaryContent","finalClass","element","ConfigLayout","withContentRect","normalizeChoices","model","choices","firstAvailableIndex","values","includes","withStatefulModel","Stateful","Toggle","checkedThumb","checkedBar","tertiaryLight","bar","DisplaySize","displaySize","size","updateSize","baseTypes","CheckboxChoice","radioSettings","SettingsRadioLabel","StyledRadio","Dropdown","wrapper","getItemLabel","getItemValue","field","NumberField","ev","ToggleWrapper","tagMap","radio","dropdown","numberField","checkbox","textField","groupHeader","fontWeight","numberFields","getTag","innerKey","get","isConfigProperty","properties","tagProps","currentGroup","fields","fieldKey","choiceKey","Panel","change","onChangeModel","onChangeConfiguration","set","groups","modal","renderedGroups","showGroup","propVal","toChoice","opt","args","Array","prototype","slice","call","arguments","options","checkboxes"],"mappings":"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","x_google_ignoreList":[4,5,6,7,8,9,10,11,12,13,14,15,16,23,27,28,33,34,35]}
|