@pie-lib/config-ui 11.9.24 → 11.9.25-next.1595
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/CHANGELOG.json +8 -1653
- package/CHANGELOG.md +131 -39
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/alert-dialog.js +38 -7
- package/lib/alert-dialog.js.map +1 -1
- package/lib/checkbox.js +6 -1
- package/lib/checkbox.js.map +1 -1
- package/lib/choice-configuration/index.js +19 -8
- package/lib/choice-configuration/index.js.map +1 -1
- package/lib/feedback-config/feedback-selector.js +0 -0
- package/lib/inputs.js +8 -2
- package/lib/inputs.js.map +1 -1
- package/lib/layout/config-layout.js +27 -10
- package/lib/layout/config-layout.js.map +1 -1
- package/lib/number-text-field-custom.js +134 -43
- package/lib/number-text-field-custom.js.map +1 -1
- package/lib/number-text-field.js +17 -18
- package/lib/number-text-field.js.map +1 -1
- package/lib/radio-with-label.js +9 -1
- package/lib/radio-with-label.js.map +1 -1
- package/lib/settings/index.js +3 -1
- package/lib/settings/index.js.map +1 -1
- package/lib/settings/panel.js +7 -4
- package/lib/settings/panel.js.map +1 -1
- package/lib/settings/settings-radio-label.js +9 -1
- package/lib/settings/settings-radio-label.js.map +1 -1
- package/lib/settings/toggle.js +18 -0
- package/lib/settings/toggle.js.map +1 -1
- package/package.json +8 -5
- package/src/__tests__/__snapshots__/langs.test.jsx.snap +32 -0
- package/src/__tests__/__snapshots__/settings-panel.test.js.snap +115 -0
- package/src/__tests__/__snapshots__/two-choice.test.js.snap +171 -0
- package/src/__tests__/choice-utils.test.js +12 -0
- package/src/__tests__/langs.test.jsx +37 -0
- package/src/__tests__/number-text-field.test.jsx +148 -0
- package/src/__tests__/settings-panel.test.js +204 -0
- package/src/__tests__/two-choice.test.js +24 -0
- package/src/alert-dialog.jsx +27 -7
- package/src/checkbox.jsx +8 -1
- package/src/choice-configuration/__tests__/__snapshots__/feedback-menu.test.jsx.snap +51 -0
- package/src/choice-configuration/__tests__/__snapshots__/index.test.jsx.snap +519 -0
- package/src/choice-configuration/__tests__/feedback-menu.test.jsx +10 -0
- package/src/choice-configuration/__tests__/index.test.jsx +92 -0
- package/src/choice-configuration/index.jsx +14 -3
- package/src/feedback-config/__tests__/__snapshots__/feedback-config.test.jsx.snap +27 -0
- package/src/feedback-config/__tests__/__snapshots__/feedback-selector.test.jsx.snap +38 -0
- package/src/feedback-config/__tests__/feedback-config.test.jsx +71 -0
- package/src/feedback-config/__tests__/feedback-selector.test.jsx +60 -0
- package/src/feedback-config/feedback-selector.jsx +0 -0
- package/src/inputs.jsx +9 -2
- package/src/layout/__tests__/__snapshots__/config.layout.test.jsx.snap +59 -0
- package/src/layout/__tests__/config.layout.test.jsx +42 -0
- package/src/layout/__tests__/layout-content.test.jsx +3 -0
- package/src/layout/config-layout.jsx +16 -8
- package/src/number-text-field-custom.jsx +86 -28
- package/src/number-text-field.jsx +6 -5
- package/src/radio-with-label.jsx +6 -2
- package/src/settings/index.js +2 -1
- package/src/settings/panel.jsx +5 -2
- package/src/settings/settings-radio-label.jsx +6 -2
- package/src/settings/toggle.jsx +20 -2
- package/src/tags-input/__tests__/__snapshots__/index.test.jsx.snap +170 -0
- package/src/tags-input/__tests__/index.test.jsx +62 -0
- package/README.md +0 -12
|
@@ -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","mathMlOptions","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 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 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 toolbarOpts: PropTypes.object,\n uploadSoundSupport: 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 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 toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\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"}
|
|
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","pluginOpts","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","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 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"],"file":"index.js"}
|
|
File without changes
|
package/lib/inputs.js
CHANGED
|
@@ -77,7 +77,7 @@ var RawInputCheckbox = function RawInputCheckbox(props) {
|
|
|
77
77
|
className: className,
|
|
78
78
|
label: label
|
|
79
79
|
}, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
|
|
80
|
-
className: (0, _classnames["default"])(classes.checkboxRoot, error && classes.error),
|
|
80
|
+
className: (0, _classnames["default"])(classes.checkboxRoot, classes.customColor, error && classes.error),
|
|
81
81
|
disabled: disabled,
|
|
82
82
|
checked: checked,
|
|
83
83
|
onChange: onChange,
|
|
@@ -99,7 +99,7 @@ var RawInputRadio = function RawInputRadio(props) {
|
|
|
99
99
|
className: className,
|
|
100
100
|
label: label
|
|
101
101
|
}, /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
|
|
102
|
-
className: (0, _classnames["default"])(classes.radioRoot, error && classes.error),
|
|
102
|
+
className: (0, _classnames["default"])(classes.radioRoot, classes.customColor, error && classes.error),
|
|
103
103
|
disabled: disabled,
|
|
104
104
|
checked: checked,
|
|
105
105
|
onChange: onChange,
|
|
@@ -115,6 +115,9 @@ var InputCheckbox = (0, _styles.withStyles)(function (theme) {
|
|
|
115
115
|
},
|
|
116
116
|
error: {
|
|
117
117
|
color: theme.palette.error.main
|
|
118
|
+
},
|
|
119
|
+
customColor: {
|
|
120
|
+
color: "".concat(_renderUi.color.tertiary(), " !important")
|
|
118
121
|
}
|
|
119
122
|
};
|
|
120
123
|
})(RawInputCheckbox);
|
|
@@ -126,6 +129,9 @@ var InputRadio = (0, _styles.withStyles)(function (theme) {
|
|
|
126
129
|
},
|
|
127
130
|
error: {
|
|
128
131
|
color: theme.palette.error.main
|
|
132
|
+
},
|
|
133
|
+
customColor: {
|
|
134
|
+
color: "".concat(_renderUi.color.tertiary(), " !important")
|
|
129
135
|
}
|
|
130
136
|
};
|
|
131
137
|
})(RawInputRadio);
|
package/lib/inputs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/inputs.jsx"],"names":["InputTypes","classes","PropTypes","object","isRequired","className","string","label","checked","bool","onChange","func","disabled","error","RawInputSwitch","switchRoot","propTypes","InputSwitch","justifyContent","transform","RawInputCheckbox","props","checkboxRoot","RawInputRadio","radioRoot","InputCheckbox","theme","color","palette","main","InputRadio"],"mappings":";;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;
|
|
1
|
+
{"version":3,"sources":["../src/inputs.jsx"],"names":["InputTypes","classes","PropTypes","object","isRequired","className","string","label","checked","bool","onChange","func","disabled","error","RawInputSwitch","switchRoot","propTypes","InputSwitch","justifyContent","transform","RawInputCheckbox","props","checkboxRoot","customColor","RawInputRadio","radioRoot","InputCheckbox","theme","color","palette","main","tertiary","InputRadio"],"mappings":"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","sourcesContent":["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"],"file":"inputs.js"}
|
|
@@ -27,12 +27,18 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
27
27
|
|
|
28
28
|
var _reactMeasure = _interopRequireWildcard(require("react-measure"));
|
|
29
29
|
|
|
30
|
+
var _styles = require("@material-ui/core/styles");
|
|
31
|
+
|
|
30
32
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
33
|
|
|
34
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
|
+
|
|
32
36
|
var _layoutContents = _interopRequireDefault(require("./layout-contents"));
|
|
33
37
|
|
|
34
38
|
var _settingsBox = _interopRequireDefault(require("./settings-box"));
|
|
35
39
|
|
|
40
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
41
|
+
|
|
36
42
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
37
43
|
|
|
38
44
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -41,16 +47,25 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
41
47
|
|
|
42
48
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
43
49
|
|
|
44
|
-
var
|
|
45
|
-
|
|
50
|
+
var styles = {
|
|
51
|
+
extraCSSRules: {}
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
var MeasuredConfigLayout = /*#__PURE__*/function (_AppendCSSRules) {
|
|
55
|
+
(0, _inherits2["default"])(MeasuredConfigLayout, _AppendCSSRules);
|
|
46
56
|
|
|
47
57
|
var _super = _createSuper(MeasuredConfigLayout);
|
|
48
58
|
|
|
49
|
-
function MeasuredConfigLayout(
|
|
59
|
+
function MeasuredConfigLayout() {
|
|
50
60
|
var _this;
|
|
51
61
|
|
|
52
62
|
(0, _classCallCheck2["default"])(this, MeasuredConfigLayout);
|
|
53
|
-
|
|
63
|
+
|
|
64
|
+
for (var _len = arguments.length, props = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
65
|
+
props[_key] = arguments[_key];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
_this = _super.call.apply(_super, [this].concat(props));
|
|
54
69
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onResize", function (contentRect) {
|
|
55
70
|
var bounds = contentRect.bounds;
|
|
56
71
|
var _this$props = _this.props,
|
|
@@ -60,7 +75,7 @@ var MeasuredConfigLayout = /*#__PURE__*/function (_React$Component) {
|
|
|
60
75
|
var _ref = dimensions || {},
|
|
61
76
|
maxWidth = _ref.maxWidth;
|
|
62
77
|
|
|
63
|
-
var layoutMode = bounds.width
|
|
78
|
+
var layoutMode = bounds.width > sidePanelMinWidth && (maxWidth ? maxWidth > sidePanelMinWidth : true) ? 'inline' : 'tabbed';
|
|
64
79
|
|
|
65
80
|
_this.setState({
|
|
66
81
|
layoutMode: layoutMode
|
|
@@ -86,15 +101,17 @@ var MeasuredConfigLayout = /*#__PURE__*/function (_React$Component) {
|
|
|
86
101
|
children = _this2$props.children,
|
|
87
102
|
settings = _this2$props.settings,
|
|
88
103
|
hideSettings = _this2$props.hideSettings,
|
|
89
|
-
dimensions = _this2$props.dimensions
|
|
104
|
+
dimensions = _this2$props.dimensions,
|
|
105
|
+
classes = _this2$props.classes;
|
|
90
106
|
var layoutMode = _this2.state.layoutMode;
|
|
91
107
|
var settingsPanel = layoutMode === 'inline' ? /*#__PURE__*/_react["default"].createElement(_settingsBox["default"], {
|
|
92
108
|
className: "settings-box"
|
|
93
109
|
}, settings) : settings;
|
|
94
110
|
var secondaryContent = hideSettings ? null : settingsPanel;
|
|
111
|
+
var finalClass = (0, _classnames["default"])('main-container', classes.extraCSSRules);
|
|
95
112
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
96
113
|
ref: measureRef,
|
|
97
|
-
className:
|
|
114
|
+
className: finalClass
|
|
98
115
|
}, /*#__PURE__*/_react["default"].createElement(_layoutContents["default"], {
|
|
99
116
|
mode: layoutMode,
|
|
100
117
|
secondary: secondaryContent,
|
|
@@ -104,7 +121,7 @@ var MeasuredConfigLayout = /*#__PURE__*/function (_React$Component) {
|
|
|
104
121
|
}
|
|
105
122
|
}]);
|
|
106
123
|
return MeasuredConfigLayout;
|
|
107
|
-
}(
|
|
124
|
+
}(_renderUi.AppendCSSRules);
|
|
108
125
|
|
|
109
126
|
(0, _defineProperty2["default"])(MeasuredConfigLayout, "propTypes", {
|
|
110
127
|
children: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].arrayOf(_propTypes["default"].element), _propTypes["default"].element]),
|
|
@@ -116,11 +133,11 @@ var MeasuredConfigLayout = /*#__PURE__*/function (_React$Component) {
|
|
|
116
133
|
hideSettings: _propTypes["default"].bool
|
|
117
134
|
});
|
|
118
135
|
(0, _defineProperty2["default"])(MeasuredConfigLayout, "defaultProps", {
|
|
119
|
-
sidePanelMinWidth:
|
|
136
|
+
sidePanelMinWidth: 1135,
|
|
120
137
|
hideSettings: false,
|
|
121
138
|
dimensions: {}
|
|
122
139
|
});
|
|
123
|
-
var ConfigLayout = (0, _reactMeasure.withContentRect)('bounds')(MeasuredConfigLayout);
|
|
140
|
+
var ConfigLayout = (0, _styles.withStyles)(styles)((0, _reactMeasure.withContentRect)('bounds')(MeasuredConfigLayout));
|
|
124
141
|
var _default = ConfigLayout;
|
|
125
142
|
exports["default"] = _default;
|
|
126
143
|
//# sourceMappingURL=config-layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/layout/config-layout.jsx"],"names":["MeasuredConfigLayout","props","contentRect","bounds","sidePanelMinWidth","dimensions","maxWidth","layoutMode","width","setState","state","undefined","onResize","measureRef","children","settings","hideSettings","settingsPanel","secondaryContent","
|
|
1
|
+
{"version":3,"sources":["../../src/layout/config-layout.jsx"],"names":["styles","extraCSSRules","MeasuredConfigLayout","props","contentRect","bounds","sidePanelMinWidth","dimensions","maxWidth","layoutMode","width","setState","state","undefined","onResize","measureRef","children","settings","hideSettings","classes","settingsPanel","secondaryContent","finalClass","AppendCSSRules","PropTypes","oneOfType","string","arrayOf","element","className","object","number","bool","ConfigLayout"],"mappings":"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","sourcesContent":["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"],"file":"config-layout.js"}
|
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
10
|
exports["default"] = exports.NumberTextFieldCustom = void 0;
|
|
9
11
|
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
+
|
|
10
14
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
15
|
|
|
12
16
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
@@ -41,6 +45,12 @@ var _Remove = _interopRequireDefault(require("@material-ui/icons/Remove"));
|
|
|
41
45
|
|
|
42
46
|
var _Add = _interopRequireDefault(require("@material-ui/icons/Add"));
|
|
43
47
|
|
|
48
|
+
var math = _interopRequireWildcard(require("mathjs"));
|
|
49
|
+
|
|
50
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
51
|
+
|
|
52
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
53
|
+
|
|
44
54
|
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); }; }
|
|
45
55
|
|
|
46
56
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -90,16 +100,17 @@ var NumberTextFieldCustom = /*#__PURE__*/function (_React$Component) {
|
|
|
90
100
|
|
|
91
101
|
(0, _classCallCheck2["default"])(this, NumberTextFieldCustom);
|
|
92
102
|
_this = _super.call(this, props);
|
|
93
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "normalizeValueAndIndex", function (customValues, number) {
|
|
94
|
-
var
|
|
103
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "normalizeValueAndIndex", function (customValues, number, min, max) {
|
|
104
|
+
var type = _this.props.type;
|
|
105
|
+
|
|
106
|
+
var value = _this.clamp(number, min, max);
|
|
95
107
|
|
|
96
108
|
var currentIndex = (customValues || []).findIndex(function (val) {
|
|
97
109
|
return val === value;
|
|
98
110
|
});
|
|
99
111
|
|
|
100
112
|
if ((customValues || []).length > 0 && currentIndex === -1) {
|
|
101
|
-
var closestValue = _this.getClosestValue(customValues, value);
|
|
102
|
-
|
|
113
|
+
var closestValue = type === 'text' ? _this.getClosestFractionValue(customValues, value) : _this.getClosestValue(customValues, value);
|
|
103
114
|
return {
|
|
104
115
|
value: closestValue.value,
|
|
105
116
|
currentIndex: closestValue.index
|
|
@@ -122,25 +133,84 @@ var NumberTextFieldCustom = /*#__PURE__*/function (_React$Component) {
|
|
|
122
133
|
index: 0
|
|
123
134
|
});
|
|
124
135
|
});
|
|
136
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getClosestFractionValue", function (customValues, number) {
|
|
137
|
+
return customValues.reduce(function (closest, value, index) {
|
|
138
|
+
return Math.abs(math.number(math.fraction(value)) - math.number(math.fraction(number))) < Math.abs(math.number(math.fraction(closest.value)) - math.number(math.fraction(number))) ? {
|
|
139
|
+
value: value,
|
|
140
|
+
index: index
|
|
141
|
+
} : closest;
|
|
142
|
+
}, {
|
|
143
|
+
value: customValues[0],
|
|
144
|
+
index: 0
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getValidFraction", function (value) {
|
|
148
|
+
if (_this.isPositiveInteger(value.trim())) {
|
|
149
|
+
return value.trim();
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (value.trim() === '' || value.trim().split('/').length !== 2) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
var _value$trim$split = value.trim().split('/'),
|
|
157
|
+
_value$trim$split2 = (0, _slicedToArray2["default"])(_value$trim$split, 2),
|
|
158
|
+
numerator = _value$trim$split2[0],
|
|
159
|
+
denominator = _value$trim$split2[1];
|
|
160
|
+
|
|
161
|
+
if (isNaN(numerator) || isNaN(denominator)) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
numerator = parseFloat(numerator);
|
|
166
|
+
denominator = parseFloat(denominator);
|
|
167
|
+
|
|
168
|
+
if (!Number.isInteger(numerator) || !Number.isInteger(denominator)) {
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
if (numerator < 0 || denominator < 1) {
|
|
173
|
+
return false;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
return numerator + '/' + denominator;
|
|
177
|
+
});
|
|
178
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "isPositiveInteger", function (n) {
|
|
179
|
+
return n >>> 0 === parseFloat(n);
|
|
180
|
+
});
|
|
125
181
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onBlur", function (event) {
|
|
126
182
|
var _this$props = _this.props,
|
|
127
183
|
customValues = _this$props.customValues,
|
|
128
|
-
onlyIntegersAllowed = _this$props.onlyIntegersAllowed
|
|
184
|
+
onlyIntegersAllowed = _this$props.onlyIntegersAllowed,
|
|
185
|
+
type = _this$props.type;
|
|
129
186
|
var value = event.target.value;
|
|
130
|
-
|
|
187
|
+
|
|
188
|
+
if (type === 'text') {
|
|
189
|
+
var tempValue = _this.getValidFraction(value);
|
|
190
|
+
|
|
191
|
+
if (tempValue) {
|
|
192
|
+
value = tempValue;
|
|
193
|
+
} else {
|
|
194
|
+
value = _this.props.value;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
var rawNumber = onlyIntegersAllowed ? Math.round(parseFloat(value)) : parseFloat(value);
|
|
199
|
+
|
|
200
|
+
if (type === 'text') {
|
|
201
|
+
rawNumber = value.trim();
|
|
202
|
+
}
|
|
131
203
|
|
|
132
204
|
var _this$normalizeValueA = _this.normalizeValueAndIndex(customValues, rawNumber),
|
|
133
205
|
number = _this$normalizeValueA.value,
|
|
134
206
|
currentIndex = _this$normalizeValueA.currentIndex;
|
|
135
207
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
});
|
|
143
|
-
}
|
|
208
|
+
_this.setState({
|
|
209
|
+
value: number.toString(),
|
|
210
|
+
currentIndex: currentIndex
|
|
211
|
+
}, function () {
|
|
212
|
+
return _this.props.onChange(event, number);
|
|
213
|
+
});
|
|
144
214
|
});
|
|
145
215
|
|
|
146
216
|
var _this$normalizeValueA2 = _this.normalizeValueAndIndex(props.customValues, props.value),
|
|
@@ -163,7 +233,7 @@ var NumberTextFieldCustom = /*#__PURE__*/function (_React$Component) {
|
|
|
163
233
|
(0, _createClass2["default"])(NumberTextFieldCustom, [{
|
|
164
234
|
key: "UNSAFE_componentWillReceiveProps",
|
|
165
235
|
value: function UNSAFE_componentWillReceiveProps(props) {
|
|
166
|
-
var _this$normalizeValueA3 = this.normalizeValueAndIndex(props.customValues, props.value),
|
|
236
|
+
var _this$normalizeValueA3 = this.normalizeValueAndIndex(props.customValues, props.value, props.min, props.max),
|
|
167
237
|
value = _this$normalizeValueA3.value,
|
|
168
238
|
currentIndex = _this$normalizeValueA3.currentIndex;
|
|
169
239
|
|
|
@@ -175,10 +245,9 @@ var NumberTextFieldCustom = /*#__PURE__*/function (_React$Component) {
|
|
|
175
245
|
}, {
|
|
176
246
|
key: "clamp",
|
|
177
247
|
value: function clamp(value) {
|
|
178
|
-
var
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
customValues = _this$props2.customValues;
|
|
248
|
+
var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.min;
|
|
249
|
+
var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.props.max;
|
|
250
|
+
var customValues = this.props.customValues;
|
|
182
251
|
|
|
183
252
|
if ((customValues || []).length > 0) {
|
|
184
253
|
return value;
|
|
@@ -201,7 +270,13 @@ var NumberTextFieldCustom = /*#__PURE__*/function (_React$Component) {
|
|
|
201
270
|
}, {
|
|
202
271
|
key: "onChange",
|
|
203
272
|
value: function onChange(event) {
|
|
273
|
+
var type = this.props.type;
|
|
204
274
|
var value = event.target.value;
|
|
275
|
+
|
|
276
|
+
if (type !== 'text' && typeof value === 'string' && value.trim() === '') {
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
|
|
205
280
|
this.setState({
|
|
206
281
|
value: value
|
|
207
282
|
});
|
|
@@ -212,11 +287,11 @@ var NumberTextFieldCustom = /*#__PURE__*/function (_React$Component) {
|
|
|
212
287
|
var sign = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
|
|
213
288
|
var shouldUpdate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
214
289
|
event.preventDefault();
|
|
215
|
-
var _this$
|
|
216
|
-
customValues = _this$
|
|
217
|
-
step = _this$
|
|
218
|
-
onlyIntegersAllowed = _this$
|
|
219
|
-
onChange = _this$
|
|
290
|
+
var _this$props2 = this.props,
|
|
291
|
+
customValues = _this$props2.customValues,
|
|
292
|
+
step = _this$props2.step,
|
|
293
|
+
onlyIntegersAllowed = _this$props2.onlyIntegersAllowed,
|
|
294
|
+
onChange = _this$props2.onChange;
|
|
220
295
|
var _this$state = this.state,
|
|
221
296
|
currentIndex = _this$state.currentIndex,
|
|
222
297
|
value = _this$state.value;
|
|
@@ -249,21 +324,36 @@ var NumberTextFieldCustom = /*#__PURE__*/function (_React$Component) {
|
|
|
249
324
|
value: function render() {
|
|
250
325
|
var _this2 = this;
|
|
251
326
|
|
|
252
|
-
var _this$
|
|
253
|
-
className = _this$
|
|
254
|
-
classes = _this$
|
|
255
|
-
label = _this$
|
|
256
|
-
disabled = _this$
|
|
257
|
-
error = _this$
|
|
258
|
-
min = _this$
|
|
259
|
-
max = _this$
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
327
|
+
var _this$props3 = this.props,
|
|
328
|
+
className = _this$props3.className,
|
|
329
|
+
classes = _this$props3.classes,
|
|
330
|
+
label = _this$props3.label,
|
|
331
|
+
disabled = _this$props3.disabled,
|
|
332
|
+
error = _this$props3.error,
|
|
333
|
+
min = _this$props3.min,
|
|
334
|
+
max = _this$props3.max,
|
|
335
|
+
customValues = _this$props3.customValues,
|
|
336
|
+
inputClassName = _this$props3.inputClassName,
|
|
337
|
+
disableUnderline = _this$props3.disableUnderline,
|
|
338
|
+
helperText = _this$props3.helperText,
|
|
339
|
+
variant = _this$props3.variant,
|
|
340
|
+
textAlign = _this$props3.textAlign,
|
|
341
|
+
_this$props3$type = _this$props3.type,
|
|
342
|
+
type = _this$props3$type === void 0 ? 'number' : _this$props3$type;
|
|
265
343
|
var value = this.state.value;
|
|
266
|
-
var names = (0, _classnames["default"])(className, classes.input);
|
|
344
|
+
var names = (0, _classnames["default"])(className, classes.input); //Logic to disable the increment and decrement buttons
|
|
345
|
+
|
|
346
|
+
var disabledStart = false;
|
|
347
|
+
var disabledEnd = false;
|
|
348
|
+
|
|
349
|
+
if (customValues.length > 0) {
|
|
350
|
+
disabledStart = value === customValues[0];
|
|
351
|
+
disabledEnd = value === customValues[customValues.length - 1];
|
|
352
|
+
} else if ((0, _isFinite["default"])(min) && (0, _isFinite["default"])(max)) {
|
|
353
|
+
disabledStart = value === min;
|
|
354
|
+
disabledEnd = value === max;
|
|
355
|
+
}
|
|
356
|
+
|
|
267
357
|
return /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
268
358
|
variant: variant,
|
|
269
359
|
inputRef: function inputRef(ref) {
|
|
@@ -292,7 +382,7 @@ var NumberTextFieldCustom = /*#__PURE__*/function (_React$Component) {
|
|
|
292
382
|
}
|
|
293
383
|
},
|
|
294
384
|
title: '',
|
|
295
|
-
type:
|
|
385
|
+
type: type,
|
|
296
386
|
className: names,
|
|
297
387
|
InputProps: {
|
|
298
388
|
className: inputClassName,
|
|
@@ -301,7 +391,7 @@ var NumberTextFieldCustom = /*#__PURE__*/function (_React$Component) {
|
|
|
301
391
|
position: "start"
|
|
302
392
|
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
303
393
|
className: classes.iconButton,
|
|
304
|
-
disabled: disabled,
|
|
394
|
+
disabled: disabled ? disabled : disabledStart,
|
|
305
395
|
onClick: function onClick(e) {
|
|
306
396
|
return _this2.changeValue(e, -1, true);
|
|
307
397
|
}
|
|
@@ -312,7 +402,7 @@ var NumberTextFieldCustom = /*#__PURE__*/function (_React$Component) {
|
|
|
312
402
|
position: "end"
|
|
313
403
|
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
314
404
|
className: classes.iconButton,
|
|
315
|
-
disabled: disabled,
|
|
405
|
+
disabled: disabled ? disabled : disabledEnd,
|
|
316
406
|
onClick: function onClick(e) {
|
|
317
407
|
return _this2.changeValue(e, 1, true);
|
|
318
408
|
}
|
|
@@ -344,14 +434,15 @@ exports.NumberTextFieldCustom = NumberTextFieldCustom;
|
|
|
344
434
|
helperText: _propTypes["default"].string,
|
|
345
435
|
onChange: _propTypes["default"].func.isRequired,
|
|
346
436
|
onlyIntegersAllowed: _propTypes["default"].bool,
|
|
347
|
-
value: _propTypes["default"].
|
|
437
|
+
value: _propTypes["default"].any,
|
|
348
438
|
min: _propTypes["default"].number,
|
|
349
439
|
max: _propTypes["default"].number,
|
|
350
440
|
step: _propTypes["default"].number,
|
|
351
441
|
label: _propTypes["default"].string,
|
|
352
442
|
disableUnderline: _propTypes["default"].bool,
|
|
353
443
|
textAlign: _propTypes["default"].string,
|
|
354
|
-
variant: _propTypes["default"].string
|
|
444
|
+
variant: _propTypes["default"].string,
|
|
445
|
+
type: _propTypes["default"].string
|
|
355
446
|
});
|
|
356
447
|
(0, _defineProperty2["default"])(NumberTextFieldCustom, "defaultProps", {
|
|
357
448
|
step: 1,
|