@pie-lib/config-ui 11.4.1-next.0 → 11.4.1-next.20

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.
@@ -274,6 +274,7 @@ var ChoiceConfiguration = /*#__PURE__*/function (_React$Component) {
274
274
  }), /*#__PURE__*/_react["default"].createElement("div", {
275
275
  className: classes.middleColumn
276
276
  }, /*#__PURE__*/_react["default"].createElement(EditableHtmlContainer, {
277
+ className: classes.input,
277
278
  label: !noLabels ? 'Label' : '',
278
279
  value: data.label,
279
280
  onChange: this.onLabelChange,
@@ -356,7 +357,8 @@ exports.ChoiceConfiguration = ChoiceConfiguration;
356
357
  var styles = function styles(theme) {
357
358
  return {
358
359
  index: {
359
- padding: '24px 8px 0 0'
360
+ paddingRight: theme.spacing.unit,
361
+ paddingTop: theme.spacing.unit * 3.5
360
362
  },
361
363
  choiceConfiguration: {},
362
364
  topRow: {
@@ -370,18 +372,21 @@ var styles = function styles(theme) {
370
372
  marginTop: theme.spacing.unit * 2
371
373
  },
372
374
  toggle: {
373
- flex: '0 1 auto'
375
+ flex: '0 1 auto',
376
+ paddingTop: theme.spacing.unit / 2,
377
+ paddingBottom: 0,
378
+ marginRight: 0,
379
+ marginLeft: theme.spacing.unit
374
380
  },
375
381
  feedback: {
376
382
  flex: '0 1 auto',
377
- paddingTop: theme.spacing.unit,
383
+ paddingTop: theme.spacing.unit * 2,
378
384
  paddingLeft: 0,
379
385
  marginLeft: 0,
380
- paddingRight: theme.spacing.unit * 3
386
+ marginRight: theme.spacing.unit
381
387
  },
382
388
  feedbackIcon: {
383
389
  margin: 0,
384
- paddingLeft: 0,
385
390
  width: 'inherit'
386
391
  },
387
392
  deleteIcon: {
@@ -390,14 +395,18 @@ var styles = function styles(theme) {
390
395
  },
391
396
  "delete": {
392
397
  flex: '0 1 auto',
393
- paddingTop: theme.spacing.unit,
398
+ paddingTop: theme.spacing.unit * 2,
394
399
  paddingLeft: 0,
395
400
  marginLeft: 0
396
401
  },
397
402
  middleColumn: {
398
403
  display: 'flex',
399
404
  flex: 1,
400
- flexDirection: 'column'
405
+ flexDirection: 'column',
406
+ marginRight: theme.spacing.unit
407
+ },
408
+ input: {
409
+ marginRight: 0
401
410
  },
402
411
  errorText: {
403
412
  fontSize: theme.typography.fontSize - 2,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/choice-configuration/index.jsx"],"names":["EditableHtmlContainer","theme","labelContainer","editorHolder","marginTop","spacing","unit","label","classes","onChange","value","className","imageSupport","disableImageAlignmentButtons","disabled","spellCheck","nonEmpty","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","names","editor","language","Feedback","text","width","feedbackContainer","position","arrowIcon","fill","palette","grey","left","top","type","correct","defaults","incorrect","ChoiceConfiguration","key","update","props","data","_changeFn","event","target","checked","v","feedback","fb","t","undefined","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","InputToggle","InputCheckbox","InputRadio","choiceConfiguration","topRow","String","fromCharCode","toUpperCase","toggle","onCheckedChange","middleColumn","onLabelChange","errorText","onFeedbackValueChange","onFeedbackTypeChange","icon","feedbackIcon","deleteIcon","React","Component","PropTypes","object","isRequired","bool","string","oneOf","shape","func","number","add","styles","padding","display","flex","paddingRight","paddingTop","paddingLeft","marginLeft","margin","flexDirection","fontSize","typography","color","main"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\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';\nimport ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\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 toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\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 toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\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 }) => {\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 />\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 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 toolbarOpts: PropTypes.object,\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 toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\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 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 toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\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 padding: '24px 8px 0 0',\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 },\n feedback: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit,\n paddingLeft: 0,\n marginLeft: 0,\n paddingRight: theme.spacing.unit * 3,\n },\n feedbackIcon: {\n margin: 0,\n paddingLeft: 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,\n paddingLeft: 0,\n marginLeft: 0,\n },\n middleColumn: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n },\n});\n\nexport default withStyles(styles)(ChoiceConfiguration);\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/choice-configuration/index.jsx"],"names":["EditableHtmlContainer","theme","labelContainer","editorHolder","marginTop","spacing","unit","label","classes","onChange","value","className","imageSupport","disableImageAlignmentButtons","disabled","spellCheck","nonEmpty","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","names","editor","language","Feedback","text","width","feedbackContainer","position","arrowIcon","fill","palette","grey","left","top","type","correct","defaults","incorrect","ChoiceConfiguration","key","update","props","data","_changeFn","event","target","checked","v","feedback","fb","t","undefined","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","InputToggle","InputCheckbox","InputRadio","choiceConfiguration","topRow","String","fromCharCode","toUpperCase","toggle","onCheckedChange","middleColumn","input","onLabelChange","errorText","onFeedbackValueChange","onFeedbackTypeChange","icon","feedbackIcon","deleteIcon","React","Component","PropTypes","object","isRequired","bool","string","oneOf","shape","func","number","add","styles","paddingRight","paddingTop","display","flex","paddingBottom","marginRight","marginLeft","paddingLeft","margin","flexDirection","fontSize","typography","color","main"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\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';\nimport ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\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 toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\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 toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\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 }) => {\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 />\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 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 toolbarOpts: PropTypes.object,\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 toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\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 toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\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"],"file":"index.js"}
@@ -72,11 +72,12 @@ var style = function style(theme) {
72
72
  paddingBottom: 0
73
73
  },
74
74
  customHolder: holder(theme, {
75
- background: theme.palette.grey[400],
75
+ background: theme.palette.grey[300],
76
76
  padding: 0
77
77
  }),
78
78
  defaultHolder: holder(theme, {
79
79
  fontFamily: theme.typography.fontFamily,
80
+ padding: theme.spacing.unit * 2,
80
81
  cursor: 'default'
81
82
  }),
82
83
  editor: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/feedback-config/feedback-selector.jsx"],"names":["feedbackLabels","none","custom","holder","theme","extras","marginTop","background","palette","grey","padding","spacing","unit","marginBottom","borderRadius","style","feedbackSelector","label","cursor","inputContainerLabel","transform","feedbackInputContainer","paddingBottom","customHolder","defaultHolder","fontFamily","typography","editor","group","paddingTop","FeedbackType","type","PropTypes","oneOf","string","FeedbackSelector","props","onChange","feedback","keys","classes","toolbarOpts","feedbackKeys","Object","changeType","changeCustom","language","React","Component","arrayOf","object","isRequired","shape","func"],"mappings":"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","sourcesContent":["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[400],\n padding: 0,\n }),\n defaultHolder: holder(theme, {\n fontFamily: theme.typography.fontFamily,\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 } = 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 />\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"],"file":"feedback-selector.js"}
1
+ {"version":3,"sources":["../../src/feedback-config/feedback-selector.jsx"],"names":["feedbackLabels","none","custom","holder","theme","extras","marginTop","background","palette","grey","padding","spacing","unit","marginBottom","borderRadius","style","feedbackSelector","label","cursor","inputContainerLabel","transform","feedbackInputContainer","paddingBottom","customHolder","defaultHolder","fontFamily","typography","editor","group","paddingTop","FeedbackType","type","PropTypes","oneOf","string","FeedbackSelector","props","onChange","feedback","keys","classes","toolbarOpts","feedbackKeys","Object","changeType","changeCustom","language","React","Component","arrayOf","object","isRequired","shape","func"],"mappings":"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","sourcesContent":["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 } = 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 />\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"],"file":"feedback-selector.js"}
@@ -65,7 +65,12 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
65
65
  var style = {
66
66
  feedbackContainer: {
67
67
  display: 'flex',
68
+ flex: 1,
68
69
  flexDirection: 'column'
70
+ },
71
+ panelDetails: {
72
+ paddingTop: 0,
73
+ paddingBottom: 0
69
74
  }
70
75
  };
71
76
 
@@ -125,14 +130,19 @@ var FeedbackConfig = /*#__PURE__*/function (_React$Component) {
125
130
  value: function render() {
126
131
  var _this$props2 = this.props,
127
132
  classes = _this$props2.classes,
133
+ className = _this$props2.className,
128
134
  allowPartial = _this$props2.allowPartial,
129
135
  feedback = _this$props2.feedback,
130
136
  toolbarOpts = _this$props2.toolbarOpts;
131
- return /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], null, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
137
+ return /*#__PURE__*/_react["default"].createElement("div", {
138
+ className: className
139
+ }, /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], null, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
132
140
  expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null)
133
141
  }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
134
142
  className: classes.heading
135
- }, "Feedback")), /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], null, /*#__PURE__*/_react["default"].createElement("div", {
143
+ }, "Feedback")), /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], {
144
+ className: classes.panelDetails
145
+ }, /*#__PURE__*/_react["default"].createElement("div", {
136
146
  className: classes.feedbackContainer
137
147
  }, /*#__PURE__*/_react["default"].createElement(_feedbackSelector["default"], {
138
148
  label: "If correct, show",
@@ -149,7 +159,7 @@ var FeedbackConfig = /*#__PURE__*/function (_React$Component) {
149
159
  feedback: feedback.incorrect,
150
160
  onChange: this.onIncorrectChange,
151
161
  toolbarOpts: toolbarOpts
152
- }))));
162
+ })))));
153
163
  }
154
164
  }]);
155
165
  return FeedbackConfig;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/feedback-config/index.jsx"],"names":["style","feedbackContainer","display","flexDirection","buildDefaults","input","correct","type","incorrect","partial","FeedbackConfig","onChange","bind","key","config","props","feedback","update","classes","allowPartial","toolbarOpts","heading","onCorrectChange","onPartialChange","onIncorrectChange","React","Component","PropTypes","bool","shape","FeedbackType","func","isRequired","object"],"mappings":"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","sourcesContent":["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 flexDirection: 'column',\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 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, allowPartial, feedback, toolbarOpts } = this.props;\n\n return (\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography className={classes.heading}>Feedback</Typography>\n </ExpansionPanelSummary>\n\n <ExpansionPanelDetails>\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 );\n }\n}\n\nexport default withStyles(style)(FeedbackConfig);\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/feedback-config/index.jsx"],"names":["style","feedbackContainer","display","flex","flexDirection","panelDetails","paddingTop","paddingBottom","buildDefaults","input","correct","type","incorrect","partial","FeedbackConfig","onChange","bind","key","config","props","feedback","update","classes","className","allowPartial","toolbarOpts","heading","onCorrectChange","onPartialChange","onIncorrectChange","React","Component","PropTypes","bool","shape","FeedbackType","func","isRequired","object"],"mappings":"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","sourcesContent":["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 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"],"file":"index.js"}
@@ -45,8 +45,9 @@ var log = (0, _debug["default"])('@pie-lib:config-ui:number-text-field');
45
45
 
46
46
  var styles = function styles(theme) {
47
47
  return {
48
- root: {
49
- marginRight: theme.spacing.unit
48
+ marginRight: theme.spacing.unit,
49
+ '& label': {
50
+ width: 'max-content'
50
51
  }
51
52
  };
52
53
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/number-text-field.jsx"],"names":["log","styles","theme","root","marginRight","spacing","unit","fallbackNumber","min","max","NumberTextField","props","event","value","target","rawNumber","parseFloat","number","clamp","state","setState","toString","onChange","float","clamped","errorMessage","bind","Math","className","classes","label","disabled","suffix","inputClassName","disableUnderline","showErrorWhenOutsideRange","variant","names","error","getError","ref","inputRef","onBlur","e","key","blur","shrink","endAdornment","React","Component","PropTypes","bool","object","isRequired","string","func"],"mappings":"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","sourcesContent":["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: { marginRight: theme.spacing.unit },\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);\n this.setState({ value });\n }\n\n clamp(value) {\n if (!isFinite(value)) {\n return fallbackNumber(this.props.min, this.props.max);\n }\n\n const { min, max } = this.props;\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n if (isFinite(min)) {\n value = Math.max(value, min);\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"],"file":"number-text-field.js"}
1
+ {"version":3,"sources":["../src/number-text-field.jsx"],"names":["log","styles","theme","marginRight","spacing","unit","width","fallbackNumber","min","max","NumberTextField","props","event","value","target","rawNumber","parseFloat","number","clamp","state","setState","toString","onChange","float","clamped","errorMessage","bind","Math","className","classes","label","disabled","suffix","inputClassName","disableUnderline","showErrorWhenOutsideRange","variant","names","root","error","getError","ref","inputRef","onBlur","e","key","blur","shrink","endAdornment","React","Component","PropTypes","bool","object","isRequired","string","func"],"mappings":"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","sourcesContent":["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 marginRight: theme.spacing.unit,\n '& label': {\n width: 'max-content',\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);\n this.setState({ value });\n }\n\n clamp(value) {\n if (!isFinite(value)) {\n return fallbackNumber(this.props.min, this.props.max);\n }\n\n const { min, max } = this.props;\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n if (isFinite(min)) {\n value = Math.max(value, min);\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"],"file":"number-text-field.js"}
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "Panel", {
11
11
  return _panel["default"];
12
12
  }
13
13
  });
14
- exports.toggle = exports.radio = exports.numberFields = exports.numberField = exports.dropdown = exports.checkboxes = exports.checkbox = void 0;
14
+ exports.toggle = exports.textField = exports.radio = exports.numberFields = exports.numberField = exports.dropdown = exports.checkboxes = exports.checkbox = void 0;
15
15
 
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
 
@@ -23,6 +23,17 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
23
23
 
24
24
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
25
25
 
26
+ var textField = function textField(label) {
27
+ var isConfigProperty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
28
+ return {
29
+ label: label,
30
+ type: 'textField',
31
+ isConfigProperty: isConfigProperty
32
+ };
33
+ };
34
+
35
+ exports.textField = textField;
36
+
26
37
  var toggle = function toggle(label) {
27
38
  var isConfigProperty = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
28
39
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/settings/index.js"],"names":["toggle","label","isConfigProperty","type","toChoice","opt","value","radio","args","Array","prototype","slice","call","arguments","choices","map","o","dropdown","numberField","options","numberFields","fields","Object","keys","key","checkbox","settings","checkboxes"],"mappings":"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","sourcesContent":["import Panel from './panel';\n\nexport { Panel };\n\nexport const toggle = (label, isConfigProperty = false) => ({\n type: 'toggle',\n label,\n isConfigProperty,\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"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/settings/index.js"],"names":["textField","label","isConfigProperty","type","toggle","toChoice","opt","value","radio","args","Array","prototype","slice","call","arguments","choices","map","o","dropdown","numberField","options","numberFields","fields","Object","keys","key","checkbox","settings","checkboxes"],"mappings":"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","sourcesContent":["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) => ({\n type: 'toggle',\n label,\n isConfigProperty,\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"],"file":"index.js"}
@@ -55,6 +55,8 @@ var _index = require("../index");
55
55
 
56
56
  var _checkbox = _interopRequireDefault(require("../checkbox"));
57
57
 
58
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
59
+
58
60
  var _excluded = ["isConfigProperty"];
59
61
 
60
62
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
@@ -178,6 +180,20 @@ var Dropdown = (0, _styles.withStyles)(function (theme) {
178
180
  Dropdown.propTypes = _objectSpread(_objectSpread({}, baseTypes), {}, {
179
181
  choices: _propTypes["default"].arrayOf(_propTypes["default"].string)
180
182
  });
183
+ var TextField = (0, _styles.withStyles)(function (theme) {
184
+ return {
185
+ field: {
186
+ marginRight: theme.spacing.unit * 3,
187
+ marginTop: theme.spacing.unit
188
+ }
189
+ };
190
+ })(function (_ref5) {
191
+ var classes = _ref5.classes,
192
+ label = _ref5.label;
193
+ return /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
194
+ className: classes.field
195
+ }, label);
196
+ });
181
197
  var NumberField = (0, _styles.withStyles)(function (theme) {
182
198
  return {
183
199
  field: {
@@ -192,15 +208,15 @@ var NumberField = (0, _styles.withStyles)(function (theme) {
192
208
  padding: "0 ".concat(theme.spacing.unit, "px")
193
209
  }
194
210
  };
195
- })(function (_ref5) {
196
- var classes = _ref5.classes,
197
- label = _ref5.label,
198
- value = _ref5.value,
199
- _ref5$onChange = _ref5.onChange,
200
- _onChange3 = _ref5$onChange === void 0 ? function () {} : _ref5$onChange,
201
- suffix = _ref5.suffix,
202
- min = _ref5.min,
203
- max = _ref5.max;
211
+ })(function (_ref6) {
212
+ var classes = _ref6.classes,
213
+ label = _ref6.label,
214
+ value = _ref6.value,
215
+ _ref6$onChange = _ref6.onChange,
216
+ _onChange3 = _ref6$onChange === void 0 ? function () {} : _ref6$onChange,
217
+ suffix = _ref6.suffix,
218
+ min = _ref6.min,
219
+ max = _ref6.max;
204
220
 
205
221
  return /*#__PURE__*/_react["default"].createElement(_index.NumberTextField, {
206
222
  label: label || 'Label',
@@ -224,11 +240,12 @@ NumberField.propTypes = _objectSpread(_objectSpread({}, baseTypes), {}, {
224
240
  max: _propTypes["default"].number,
225
241
  value: _propTypes["default"].number
226
242
  });
243
+ TextField.propTypes = _objectSpread({}, baseTypes);
227
244
 
228
- var ToggleWrapper = function ToggleWrapper(_ref6) {
229
- var label = _ref6.label,
230
- value = _ref6.value,
231
- onChange = _ref6.onChange;
245
+ var ToggleWrapper = function ToggleWrapper(_ref7) {
246
+ var label = _ref7.label,
247
+ value = _ref7.value,
248
+ onChange = _ref7.onChange;
232
249
  return /*#__PURE__*/_react["default"].createElement(_toggle["default"], {
233
250
  label: label,
234
251
  checked: !!value,
@@ -244,7 +261,8 @@ var tagMap = {
244
261
  radio: StyledRadio,
245
262
  dropdown: Dropdown,
246
263
  numberField: NumberField,
247
- checkbox: CheckboxChoice
264
+ checkbox: CheckboxChoice,
265
+ textField: TextField
248
266
  };
249
267
  var Group = (0, _styles.withStyles)(function (theme) {
250
268
  return {
@@ -325,7 +343,7 @@ var Group = (0, _styles.withStyles)(function (theme) {
325
343
  }, /*#__PURE__*/_react["default"].createElement("p", null, label), Object.keys(choices).map(function (choiceKey) {
326
344
  return getTag(group, "".concat(key, ".").concat(choiceKey), "".concat(key, ".choices.").concat(choiceKey));
327
345
  }));
328
- } // if type is toggle, radio, dropdown or numberField
346
+ } // if type is toggle, radio, dropdown, numberField or numberText
329
347
 
330
348
 
331
349
  return getTag(group, key);
@@ -388,10 +406,10 @@ var Panel = /*#__PURE__*/function (_React$Component) {
388
406
  configuration = _this$props2.configuration;
389
407
  log('render:', model);
390
408
  var renderedGroups = Object.keys(groups || {}).map(function (group) {
391
- var showGroup = Object.entries(groups[group]).some(function (_ref7) {
392
- var _ref8 = (0, _slicedToArray2["default"])(_ref7, 2),
393
- propName = _ref8[0],
394
- propVal = _ref8[1];
409
+ var showGroup = Object.entries(groups[group]).some(function (_ref8) {
410
+ var _ref9 = (0, _slicedToArray2["default"])(_ref8, 2),
411
+ propName = _ref9[0],
412
+ propVal = _ref9[1];
395
413
 
396
414
  return !!propVal;
397
415
  });