@pie-lib/config-ui 12.0.0-beta.5 → 12.0.0-next.0
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 +345 -4
- package/LICENSE.md +5 -0
- package/NEXT.CHANGELOG.json +1 -0
- package/lib/alert-dialog.js +40 -10
- package/lib/alert-dialog.js.map +1 -1
- package/lib/checkbox.js +58 -48
- package/lib/checkbox.js.map +1 -1
- package/lib/choice-configuration/feedback-menu.js +24 -26
- package/lib/choice-configuration/feedback-menu.js.map +1 -1
- package/lib/choice-configuration/index.js +182 -185
- package/lib/choice-configuration/index.js.map +1 -1
- package/lib/choice-utils.js +5 -7
- package/lib/choice-utils.js.map +1 -1
- package/lib/feedback-config/feedback-selector.js +69 -73
- package/lib/feedback-config/feedback-selector.js.map +1 -1
- package/lib/feedback-config/group.js +22 -25
- package/lib/feedback-config/group.js.map +1 -1
- package/lib/feedback-config/index.js +41 -44
- package/lib/feedback-config/index.js.map +1 -1
- package/lib/form-section.js +31 -25
- package/lib/form-section.js.map +1 -1
- package/lib/help.js +37 -47
- package/lib/help.js.map +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/input.js +12 -17
- package/lib/input.js.map +1 -1
- package/lib/inputs.js +58 -67
- package/lib/inputs.js.map +1 -1
- package/lib/langs.js +56 -70
- package/lib/langs.js.map +1 -1
- package/lib/layout/config-layout.js +78 -47
- package/lib/layout/config-layout.js.map +1 -1
- package/lib/layout/index.js.map +1 -1
- package/lib/layout/layout-contents.js +58 -60
- package/lib/layout/layout-contents.js.map +1 -1
- package/lib/layout/settings-box.js +25 -33
- package/lib/layout/settings-box.js.map +1 -1
- package/lib/mui-box/index.js +41 -50
- package/lib/mui-box/index.js.map +1 -1
- package/lib/number-text-field-custom.js +151 -89
- package/lib/number-text-field-custom.js.map +1 -1
- package/lib/number-text-field.js +74 -63
- package/lib/number-text-field.js.map +1 -1
- package/lib/radio-with-label.js +30 -16
- package/lib/radio-with-label.js.map +1 -1
- package/lib/settings/display-size.js +16 -20
- package/lib/settings/display-size.js.map +1 -1
- package/lib/settings/index.js +13 -19
- package/lib/settings/index.js.map +1 -1
- package/lib/settings/panel.js +140 -141
- package/lib/settings/panel.js.map +1 -1
- package/lib/settings/settings-radio-label.js +29 -16
- package/lib/settings/settings-radio-label.js.map +1 -1
- package/lib/settings/toggle.js +39 -25
- package/lib/settings/toggle.js.map +1 -1
- package/lib/tabs/index.js +18 -30
- package/lib/tabs/index.js.map +1 -1
- package/lib/tags-input/index.js +49 -61
- package/lib/tags-input/index.js.map +1 -1
- package/lib/two-choice.js +33 -43
- package/lib/two-choice.js.map +1 -1
- package/lib/with-stateful-model.js +8 -12
- package/lib/with-stateful-model.js.map +1 -1
- package/package.json +22 -11
- package/src/__tests__/alert-dialog.test.jsx +283 -0
- package/src/__tests__/checkbox.test.jsx +249 -0
- package/src/__tests__/choice-utils.test.js +12 -0
- package/src/__tests__/form-section.test.jsx +334 -0
- package/src/__tests__/help.test.jsx +184 -0
- package/src/__tests__/input.test.jsx +192 -0
- package/src/__tests__/langs.test.jsx +457 -0
- package/src/__tests__/number-text-field-custom.test.jsx +438 -0
- package/src/__tests__/number-text-field.test.jsx +341 -0
- package/src/__tests__/radio-with-label.test.jsx +259 -0
- package/src/__tests__/settings-panel.test.js +187 -0
- package/src/__tests__/settings.test.jsx +515 -0
- package/src/__tests__/tabs.test.jsx +193 -0
- package/src/__tests__/two-choice.test.js +110 -0
- package/src/__tests__/with-stateful-model.test.jsx +145 -0
- package/src/alert-dialog.jsx +30 -8
- package/src/checkbox.jsx +43 -37
- package/src/choice-configuration/__tests__/feedback-menu.test.jsx +163 -0
- package/src/choice-configuration/__tests__/index.test.jsx +234 -0
- package/src/choice-configuration/feedback-menu.jsx +6 -6
- package/src/choice-configuration/index.jsx +208 -192
- package/src/feedback-config/__tests__/feedback-config.test.jsx +141 -0
- package/src/feedback-config/__tests__/feedback-selector.test.jsx +107 -0
- package/src/feedback-config/feedback-selector.jsx +52 -53
- package/src/feedback-config/group.jsx +21 -22
- package/src/feedback-config/index.jsx +27 -29
- package/src/form-section.jsx +26 -18
- package/src/help.jsx +20 -28
- package/src/input.jsx +1 -1
- package/src/inputs.jsx +35 -44
- package/src/langs.jsx +41 -46
- package/src/layout/__tests__/config.layout.test.jsx +59 -0
- package/src/layout/__tests__/layout-content.test.jsx +3 -0
- package/src/layout/config-layout.jsx +53 -23
- package/src/layout/layout-contents.jsx +38 -40
- package/src/layout/settings-box.jsx +16 -19
- package/src/mui-box/index.jsx +35 -43
- package/src/number-text-field-custom.jsx +117 -65
- package/src/number-text-field.jsx +51 -34
- package/src/radio-with-label.jsx +26 -10
- package/src/settings/display-size.jsx +12 -11
- package/src/settings/index.js +2 -1
- package/src/settings/panel.jsx +101 -92
- package/src/settings/settings-radio-label.jsx +26 -10
- package/src/settings/toggle.jsx +37 -18
- package/src/tabs/index.jsx +8 -8
- package/src/tags-input/__tests__/index.test.jsx +113 -0
- package/src/tags-input/index.jsx +35 -38
- package/src/two-choice.jsx +15 -19
- package/README.md +0 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-text-field-custom.js","names":["_propTypes","_interopRequireDefault","require","_react","_TextField","_classnames","_styles","_isFinite","_IconButton","_InputAdornment","_Remove","_Add","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","input","margin","iconButton","padding","fallbackNumber","min","max","isFinite","NumberTextFieldCustom","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","customValues","number","value","clamp","currentIndex","findIndex","val","length","closestValue","getClosestValue","index","reduce","closest","Math","abs","event","_this$props","onlyIntegersAllowed","target","rawNumber","parseInt","parseFloat","_this$normalizeValueA","normalizeValueAndIndex","state","setState","toString","onChange","_this$normalizeValueA2","bind","_createClass2","key","UNSAFE_componentWillReceiveProps","_this$normalizeValueA3","_this$props2","changeValue","sign","undefined","shouldUpdate","preventDefault","_this$props3","step","_this$state","updatedIndex","updatedValue","render","_this2","_this$props4","className","classes","label","disabled","error","inputClassName","disableUnderline","helperText","variant","textAlign","names","classNames","createElement","inputRef","ref","onBlur","onKeyPress","blur","onKeyDown","title","type","InputProps","startAdornment","position","onClick","fontSize","endAdornment","inputProps","style","React","Component","exports","PropTypes","object","isRequired","string","array","bool","func","_default","withStyles"],"sources":["../src/number-text-field-custom.jsx"],"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 isFinite from 'lodash/isFinite';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Remove from '@material-ui/icons/Remove';\nimport Add from '@material-ui/icons/Add';\n\nconst styles = () => ({\n input: {\n '& input[type=number]': {\n '-moz-appearance': 'textfield',\n },\n '& input[type=number]::-webkit-outer-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n '& input[type=number]::-webkit-inner-spin-button': {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n },\n iconButton: {\n padding: '2px',\n },\n});\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextFieldCustom extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n customValues: PropTypes.array,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n inputClassName: PropTypes.string,\n helperText: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onlyIntegersAllowed: PropTypes.bool,\n value: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n label: PropTypes.string,\n disableUnderline: PropTypes.bool,\n textAlign: PropTypes.string,\n variant: PropTypes.string,\n };\n\n static defaultProps = {\n step: 1,\n customValues: [],\n textAlign: 'center',\n variant: 'standard',\n onlyIntegersAllowed: false,\n };\n\n constructor(props) {\n super(props);\n\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value);\n\n this.state = {\n value,\n currentIndex,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value);\n\n this.setState({ value, currentIndex });\n }\n\n clamp(value) {\n const { min, max, customValues } = this.props;\n\n if ((customValues || []).length > 0) {\n return value;\n }\n\n if (!isFinite(value)) {\n return fallbackNumber(min, max);\n }\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n\n return value;\n }\n\n normalizeValueAndIndex = (customValues, number) => {\n const value = this.clamp(number);\n const currentIndex = (customValues || []).findIndex((val) => val === value);\n\n if ((customValues || []).length > 0 && currentIndex === -1) {\n const closestValue = this.getClosestValue(customValues, value);\n\n return { value: closestValue.value, currentIndex: closestValue.index };\n }\n\n return { value, currentIndex };\n };\n\n getClosestValue = (customValues, number) =>\n customValues.reduce(\n (closest, value, index) =>\n Math.abs(value - number) < Math.abs(closest.value - number) ? { value, index } : closest,\n { value: customValues[0], index: 0 },\n );\n\n onBlur = (event) => {\n const { customValues, onlyIntegersAllowed } = this.props;\n const { value } = event.target;\n const rawNumber = onlyIntegersAllowed ? parseInt(value) : parseFloat(value);\n\n const { value: number, currentIndex } = this.normalizeValueAndIndex(customValues, rawNumber);\n\n if (number !== this.state.value) {\n this.setState(\n {\n value: number.toString(),\n currentIndex,\n },\n () => this.props.onChange(event, number),\n );\n }\n };\n\n onChange(event) {\n const { value } = event.target;\n\n this.setState({ value });\n }\n\n changeValue(event, sign = 1, shouldUpdate = false) {\n event.preventDefault();\n\n const { customValues, step, onlyIntegersAllowed, onChange } = this.props;\n const { currentIndex, value } = this.state;\n const updatedIndex = currentIndex + sign * 1;\n let number;\n\n if (customValues.length > 0) {\n if (updatedIndex < 0 || updatedIndex >= customValues.length) {\n return;\n }\n\n number = customValues[updatedIndex];\n } else {\n const rawNumber = onlyIntegersAllowed ? parseInt(value) : parseFloat(value);\n const updatedValue = (rawNumber * 10000 + step * sign * 10000) / 10000;\n number = this.clamp(updatedValue);\n }\n\n this.setState(\n {\n value: number.toString(),\n currentIndex: updatedIndex,\n },\n () => {\n if (shouldUpdate) {\n onChange(event, number);\n }\n },\n );\n }\n\n render() {\n const {\n className,\n classes,\n label,\n disabled,\n error,\n min,\n max,\n inputClassName,\n disableUnderline,\n helperText,\n variant,\n textAlign,\n } = this.props;\n const { value } = this.state;\n const names = classNames(className, classes.input);\n\n return (\n <TextField\n variant={variant}\n inputRef={(ref) => (this.inputRef = ref)}\n disabled={disabled}\n label={label}\n value={value}\n error={error}\n helperText={helperText}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyPress={(e) => {\n // once the Enter key is pressed, we force input blur\n if (e.key === 'Enter' && this.inputRef) {\n this.inputRef.blur();\n }\n }}\n onKeyDown={(e) => {\n if (e.key === 'ArrowUp') {\n this.changeValue(e);\n }\n\n if (e.key === 'ArrowDown') {\n this.changeValue(e, -1);\n }\n }}\n title={''}\n type=\"number\"\n className={names}\n InputProps={{\n className: inputClassName,\n disableUnderline: disableUnderline,\n startAdornment: (\n <InputAdornment position=\"start\">\n <IconButton\n className={classes.iconButton}\n disabled={disabled}\n onClick={(e) => this.changeValue(e, -1, true)}\n >\n <Remove fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <IconButton\n className={classes.iconButton}\n disabled={disabled}\n onClick={(e) => this.changeValue(e, 1, true)}\n >\n <Add fontSize=\"small\" />\n </IconButton>\n </InputAdornment>\n ),\n }}\n inputProps={{\n style: { textAlign },\n min,\n max,\n }}\n />\n );\n }\n}\n\nexport default withStyles(styles)(NumberTextFieldCustom);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"number-text-field-custom.js","names":["_propTypes","_interopRequireDefault","require","_react","_TextField","_styles","_isFinite","_IconButton","_InputAdornment","_Remove","_Add","math","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","StyledTextField","styled","TextField","MozAppearance","WebkitAppearance","margin","StyledIconButton","IconButton","padding","fallbackNumber","min","max","isFinite","NumberTextFieldCustom","exports","_React$Component","props","_this","_classCallCheck2","_defineProperty2","customValues","number","type","value","clamp","currentIndex","findIndex","val","length","closestValue","getClosestFractionValue","getClosestValue","index","reduce","closest","Math","abs","fraction","isPositiveInteger","trim","split","_value$trim$split","_value$trim$split2","_slicedToArray2","numerator","denominator","isNaN","parseFloat","Number","isInteger","event","_this$props","onlyIntegersAllowed","target","tempValue","getValidFraction","rawNumber","round","_this$normalizeValueA","normalizeValueAndIndex","setState","toString","onChange","_this$normalizeValueA2","state","bind","_inherits2","_createClass2","key","UNSAFE_componentWillReceiveProps","_this$normalizeValueA3","arguments","undefined","changeValue","sign","shouldUpdate","preventDefault","_this$props2","step","_this$state","updatedIndex","parseInt","updatedValue","render","_this2","_this$props3","className","label","disabled","error","inputClassName","disableUnderline","helperText","variant","textAlign","_this$props3$type","names","disabledStart","disabledEnd","createElement","inputRef","ref","onBlur","onKeyPress","blur","onKeyDown","title","InputProps","startAdornment","position","onClick","size","fontSize","endAdornment","inputProps","style","React","Component","PropTypes","string","array","bool","func","isRequired","any","_default"],"sources":["../src/number-text-field-custom.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@mui/material/TextField';\nimport { styled } from '@mui/material/styles';\nimport isFinite from 'lodash/isFinite';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\nimport Remove from '@mui/icons-material/Remove';\nimport Add from '@mui/icons-material/Add';\nimport * as math from 'mathjs';\n\nconst StyledTextField = styled(TextField)(() => ({\n '& input[type=number]': {\n MozAppearance: 'textfield',\n },\n '& input[type=number]::-webkit-outer-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n '& input[type=number]::-webkit-inner-spin-button': {\n WebkitAppearance: 'none',\n margin: 0,\n },\n}));\n\nconst StyledIconButton = styled(IconButton)(() => ({\n padding: '2px',\n}));\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextFieldCustom extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n customValues: PropTypes.array,\n disabled: PropTypes.bool,\n error: PropTypes.bool,\n inputClassName: PropTypes.string,\n helperText: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n onlyIntegersAllowed: PropTypes.bool,\n value: PropTypes.any,\n min: PropTypes.number,\n max: PropTypes.number,\n step: PropTypes.number,\n label: PropTypes.string,\n disableUnderline: PropTypes.bool,\n textAlign: PropTypes.string,\n variant: PropTypes.string,\n type: PropTypes.string,\n };\n\n static defaultProps = {\n step: 1,\n customValues: [],\n textAlign: 'center',\n variant: 'standard',\n onlyIntegersAllowed: false,\n };\n\n constructor(props) {\n super(props);\n\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value);\n\n this.state = {\n value,\n currentIndex,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const { value, currentIndex } = this.normalizeValueAndIndex(props.customValues, props.value, props.min, props.max);\n\n this.setState({ value, currentIndex });\n }\n\n clamp(value, min = this.props.min, max = this.props.max) {\n const { customValues } = this.props;\n\n if ((customValues || []).length > 0) {\n return value;\n }\n\n if (!isFinite(value)) {\n return fallbackNumber(min, max);\n }\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n\n return value;\n }\n\n normalizeValueAndIndex = (customValues, number, min, max) => {\n const { type } = this.props;\n const value = this.clamp(number, min, max);\n const currentIndex = (customValues || []).findIndex((val) => val === value);\n\n if ((customValues || []).length > 0 && currentIndex === -1) {\n const closestValue =\n type === 'text' ? this.getClosestFractionValue(customValues, value) : this.getClosestValue(customValues, value);\n\n return { value: closestValue.value, currentIndex: closestValue.index };\n }\n\n return { value, currentIndex };\n };\n\n getClosestValue = (customValues, number) =>\n customValues.reduce(\n (closest, value, index) =>\n Math.abs(value - number) < Math.abs(closest.value - number) ? { value, index } : closest,\n { value: customValues[0], index: 0 },\n );\n\n getClosestFractionValue = (customValues, number) =>\n customValues.reduce(\n (closest, value, index) =>\n Math.abs(math.number(math.fraction(value)) - math.number(math.fraction(number))) <\n Math.abs(math.number(math.fraction(closest.value)) - math.number(math.fraction(number)))\n ? { value, index }\n : closest,\n { value: customValues[0], index: 0 },\n );\n\n getValidFraction = (value) => {\n if (this.isPositiveInteger(value.trim())) {\n return value.trim();\n }\n if (value.trim() === '' || value.trim().split('/').length !== 2) {\n return false;\n }\n let [numerator, denominator] = value.trim().split('/');\n if (isNaN(numerator) || isNaN(denominator)) {\n return false;\n }\n numerator = parseFloat(numerator);\n denominator = parseFloat(denominator);\n if (!Number.isInteger(numerator) || !Number.isInteger(denominator)) {\n return false;\n }\n if (numerator < 0 || denominator < 1) {\n return false;\n }\n return numerator + '/' + denominator;\n };\n\n isPositiveInteger = (n) => {\n return n >>> 0 === parseFloat(n);\n };\n\n onBlur = (event) => {\n const { customValues, onlyIntegersAllowed, type } = this.props;\n let { value } = event.target;\n if (type === 'text') {\n let tempValue = this.getValidFraction(value);\n if (tempValue) {\n value = tempValue;\n } else {\n value = this.props.value;\n }\n }\n let rawNumber = onlyIntegersAllowed ? Math.round(parseFloat(value)) : parseFloat(value);\n if (type === 'text') {\n rawNumber = value.trim();\n }\n const { value: number, currentIndex } = this.normalizeValueAndIndex(customValues, rawNumber);\n this.setState(\n {\n value: number.toString(),\n currentIndex,\n },\n () => this.props.onChange(event, number),\n );\n };\n\n onChange(event) {\n const { type } = this.props;\n const { value } = event.target;\n if (type !== 'text' && typeof value === 'string' && value.trim() === '') {\n return;\n }\n this.setState({ value });\n }\n\n changeValue(event, sign = 1, shouldUpdate = false) {\n event.preventDefault();\n const { customValues, step, onlyIntegersAllowed, onChange } = this.props;\n const { currentIndex, value } = this.state;\n const updatedIndex = currentIndex + sign * 1;\n let number;\n if (customValues.length > 0) {\n if (updatedIndex < 0 || updatedIndex >= customValues.length) {\n return;\n }\n number = customValues[updatedIndex];\n } else {\n const rawNumber = onlyIntegersAllowed ? parseInt(value) : parseFloat(value);\n const updatedValue = (rawNumber * 10000 + step * sign * 10000) / 10000;\n number = this.clamp(updatedValue);\n }\n this.setState(\n {\n value: number.toString(),\n currentIndex: updatedIndex,\n },\n () => {\n if (shouldUpdate) {\n onChange(event, number);\n }\n },\n );\n }\n\n render() {\n const {\n className,\n label,\n disabled,\n error,\n min,\n max,\n customValues,\n inputClassName,\n disableUnderline,\n helperText,\n variant,\n textAlign,\n type = 'number',\n } = this.props;\n const { value } = this.state;\n const names = className;\n //Logic to disable the increment and decrement buttons\n let disabledStart = false;\n let disabledEnd = false;\n if (customValues.length > 0) {\n disabledStart = value === customValues[0];\n disabledEnd = value === customValues[customValues.length - 1];\n } else if (isFinite(min) && isFinite(max)) {\n disabledStart = value === min;\n disabledEnd = value === max;\n }\n\n return (\n <StyledTextField\n variant={variant}\n inputRef={(ref) => (this.inputRef = ref)}\n disabled={disabled}\n label={label}\n value={value}\n error={error}\n helperText={helperText}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyPress={(e) => {\n // once the Enter key is pressed, we force input blur\n if (e.key === 'Enter' && this.inputRef) {\n this.inputRef.blur();\n }\n }}\n onKeyDown={(e) => {\n if (e.key === 'ArrowUp') {\n this.changeValue(e);\n }\n\n if (e.key === 'ArrowDown') {\n this.changeValue(e, -1);\n }\n }}\n title={''}\n type={type}\n className={names}\n InputProps={{\n className: inputClassName,\n disableUnderline: disableUnderline,\n startAdornment: (\n <InputAdornment position=\"start\">\n <StyledIconButton\n disabled={disabled ? disabled : disabledStart}\n onClick={(e) => this.changeValue(e, -1, true)}\n size=\"large\">\n <Remove fontSize=\"small\" />\n </StyledIconButton>\n </InputAdornment>\n ),\n endAdornment: (\n <InputAdornment position=\"end\">\n <StyledIconButton\n disabled={disabled ? disabled : disabledEnd}\n onClick={(e) => this.changeValue(e, 1, true)}\n size=\"large\">\n <Add fontSize=\"small\" />\n </StyledIconButton>\n </InputAdornment>\n ),\n }}\n inputProps={{\n style: { textAlign },\n min,\n max,\n }}\n />\n );\n }\n}\n\nexport default NumberTextFieldCustom;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/number-text-field.js
CHANGED
|
@@ -7,32 +7,50 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports["default"] = exports.NumberTextField = void 0;
|
|
8
8
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
10
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
11
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
13
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
14
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
16
15
|
var _react = _interopRequireDefault(require("react"));
|
|
17
|
-
var _TextField = _interopRequireDefault(require("@material
|
|
18
|
-
var
|
|
19
|
-
var _styles = require("@material-ui/core/styles");
|
|
16
|
+
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
17
|
+
var _styles = require("@mui/material/styles");
|
|
20
18
|
var _debug = _interopRequireDefault(require("debug"));
|
|
21
19
|
var _isFinite = _interopRequireDefault(require("lodash/isFinite"));
|
|
22
|
-
var _InputAdornment = _interopRequireDefault(require("@material
|
|
23
|
-
function
|
|
24
|
-
function _isNativeReflectConstruct() {
|
|
20
|
+
var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
|
|
21
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
22
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
25
23
|
var log = (0, _debug["default"])('@pie-lib:config-ui:number-text-field');
|
|
26
|
-
var
|
|
24
|
+
var StyledTextField = (0, _styles.styled)(_TextField["default"])(function (_ref) {
|
|
25
|
+
var theme = _ref.theme;
|
|
27
26
|
return {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
marginRight: theme.spacing(1),
|
|
28
|
+
'& .MuiInputLabel-root': {
|
|
29
|
+
width: 'auto',
|
|
30
|
+
minWidth: 'max-content',
|
|
31
|
+
maxWidth: 'none',
|
|
32
|
+
whiteSpace: 'nowrap',
|
|
33
|
+
overflow: 'visible',
|
|
34
|
+
transform: 'translate(0, 8px) scale(0.75)',
|
|
35
|
+
transformOrigin: 'top left',
|
|
36
|
+
position: 'relative'
|
|
37
|
+
},
|
|
38
|
+
'& .MuiInputBase-root, & .MuiInput-root, & .MuiFilledInput-root, & .MuiOutlinedInput-root': {
|
|
39
|
+
height: 'auto',
|
|
40
|
+
minHeight: 'auto'
|
|
41
|
+
},
|
|
42
|
+
'& .MuiInputBase-input': {
|
|
43
|
+
height: 'auto',
|
|
44
|
+
minHeight: 'auto',
|
|
45
|
+
padding: '8px 12px'
|
|
46
|
+
},
|
|
47
|
+
'& .MuiInput-root, & .MuiFilledInput-root': {
|
|
48
|
+
'&:before, &:after, &:hover:not(.Mui-disabled):before': {
|
|
49
|
+
display: 'none'
|
|
32
50
|
}
|
|
33
51
|
}
|
|
34
52
|
};
|
|
35
|
-
};
|
|
53
|
+
});
|
|
36
54
|
var fallbackNumber = function fallbackNumber(min, max) {
|
|
37
55
|
if (!(0, _isFinite["default"])(min) && !(0, _isFinite["default"])(max)) {
|
|
38
56
|
return 0;
|
|
@@ -44,18 +62,16 @@ var fallbackNumber = function fallbackNumber(min, max) {
|
|
|
44
62
|
return min;
|
|
45
63
|
}
|
|
46
64
|
};
|
|
47
|
-
var NumberTextField = /*#__PURE__*/function (_React$Component) {
|
|
48
|
-
(0, _inherits2["default"])(NumberTextField, _React$Component);
|
|
49
|
-
var _super = _createSuper(NumberTextField);
|
|
65
|
+
var NumberTextField = exports.NumberTextField = /*#__PURE__*/function (_React$Component) {
|
|
50
66
|
function NumberTextField(props) {
|
|
51
67
|
var _this;
|
|
52
68
|
(0, _classCallCheck2["default"])(this, NumberTextField);
|
|
53
|
-
_this =
|
|
69
|
+
_this = _callSuper(this, NumberTextField, [props]);
|
|
54
70
|
/**
|
|
55
71
|
* on Blur (this can be triggered by pressing Enter, see below)
|
|
56
72
|
* we check the entered value and reset it if needed
|
|
57
73
|
*/
|
|
58
|
-
(0, _defineProperty2["default"])(
|
|
74
|
+
(0, _defineProperty2["default"])(_this, "onBlur", function (event) {
|
|
59
75
|
var value = event.target.value;
|
|
60
76
|
var rawNumber = parseFloat(value);
|
|
61
77
|
log('rawNumber: ', rawNumber);
|
|
@@ -70,7 +86,7 @@ var NumberTextField = /*#__PURE__*/function (_React$Component) {
|
|
|
70
86
|
});
|
|
71
87
|
}
|
|
72
88
|
});
|
|
73
|
-
(0, _defineProperty2["default"])(
|
|
89
|
+
(0, _defineProperty2["default"])(_this, "errorMessage", function () {
|
|
74
90
|
var _this$props = _this.props,
|
|
75
91
|
min = _this$props.min,
|
|
76
92
|
max = _this$props.max;
|
|
@@ -89,7 +105,7 @@ var NumberTextField = /*#__PURE__*/function (_React$Component) {
|
|
|
89
105
|
* and the entered value is not matching the requirements
|
|
90
106
|
* we display error message
|
|
91
107
|
*/
|
|
92
|
-
(0, _defineProperty2["default"])(
|
|
108
|
+
(0, _defineProperty2["default"])(_this, "getError", function () {
|
|
93
109
|
var value = _this.state.value;
|
|
94
110
|
var _float = parseFloat(value);
|
|
95
111
|
var clamped = _this.clamp(_float);
|
|
@@ -104,13 +120,14 @@ var NumberTextField = /*#__PURE__*/function (_React$Component) {
|
|
|
104
120
|
if (_value !== props.value) {
|
|
105
121
|
_this.props.onChange({}, _value);
|
|
106
122
|
}
|
|
107
|
-
_this.onChange = _this.onChange.bind(
|
|
123
|
+
_this.onChange = _this.onChange.bind(_this);
|
|
108
124
|
return _this;
|
|
109
125
|
}
|
|
110
|
-
(0,
|
|
126
|
+
(0, _inherits2["default"])(NumberTextField, _React$Component);
|
|
127
|
+
return (0, _createClass2["default"])(NumberTextField, [{
|
|
111
128
|
key: "UNSAFE_componentWillReceiveProps",
|
|
112
129
|
value: function UNSAFE_componentWillReceiveProps(props) {
|
|
113
|
-
var value = this.clamp(props.value);
|
|
130
|
+
var value = this.clamp(props.value, props.min, props.max);
|
|
114
131
|
this.setState({
|
|
115
132
|
value: value
|
|
116
133
|
});
|
|
@@ -118,12 +135,11 @@ var NumberTextField = /*#__PURE__*/function (_React$Component) {
|
|
|
118
135
|
}, {
|
|
119
136
|
key: "clamp",
|
|
120
137
|
value: function clamp(value) {
|
|
138
|
+
var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.props.min;
|
|
139
|
+
var max = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : this.props.max;
|
|
121
140
|
if (!(0, _isFinite["default"])(value)) {
|
|
122
|
-
return fallbackNumber(
|
|
141
|
+
return fallbackNumber(min, max);
|
|
123
142
|
}
|
|
124
|
-
var _this$props2 = this.props,
|
|
125
|
-
min = _this$props2.min,
|
|
126
|
-
max = _this$props2.max;
|
|
127
143
|
if ((0, _isFinite["default"])(max)) {
|
|
128
144
|
value = Math.min(value, max);
|
|
129
145
|
}
|
|
@@ -144,64 +160,60 @@ var NumberTextField = /*#__PURE__*/function (_React$Component) {
|
|
|
144
160
|
key: "render",
|
|
145
161
|
value: function render() {
|
|
146
162
|
var _this2 = this;
|
|
147
|
-
var _this$
|
|
148
|
-
className = _this$
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
variant = _this$props3.variant;
|
|
159
|
-
var names = (0, _classnames["default"])(classes.root, className);
|
|
163
|
+
var _this$props2 = this.props,
|
|
164
|
+
className = _this$props2.className,
|
|
165
|
+
label = _this$props2.label,
|
|
166
|
+
disabled = _this$props2.disabled,
|
|
167
|
+
suffix = _this$props2.suffix,
|
|
168
|
+
min = _this$props2.min,
|
|
169
|
+
max = _this$props2.max,
|
|
170
|
+
inputClassName = _this$props2.inputClassName,
|
|
171
|
+
disableUnderline = _this$props2.disableUnderline,
|
|
172
|
+
showErrorWhenOutsideRange = _this$props2.showErrorWhenOutsideRange,
|
|
173
|
+
variant = _this$props2.variant;
|
|
160
174
|
var error = showErrorWhenOutsideRange && this.getError();
|
|
161
|
-
return /*#__PURE__*/_react["default"].createElement(
|
|
162
|
-
variant: variant || 'standard',
|
|
175
|
+
return /*#__PURE__*/_react["default"].createElement(StyledTextField, {
|
|
176
|
+
variant: disableUnderline ? 'filled' : variant || 'standard',
|
|
163
177
|
inputRef: function inputRef(ref) {
|
|
164
178
|
_this2.inputRef = ref;
|
|
165
179
|
},
|
|
166
180
|
disabled: disabled,
|
|
167
181
|
label: label,
|
|
182
|
+
InputLabelProps: {
|
|
183
|
+
shrink: true
|
|
184
|
+
},
|
|
168
185
|
value: this.state.value,
|
|
169
186
|
error: !!error,
|
|
170
187
|
helperText: error,
|
|
171
188
|
onChange: this.onChange,
|
|
172
189
|
onBlur: this.onBlur,
|
|
173
|
-
|
|
190
|
+
onKeyDown: function onKeyDown(e) {
|
|
174
191
|
// once the Enter key is pressed, we force input blur
|
|
175
192
|
if (e.key === 'Enter' && _this2.inputRef) {
|
|
176
193
|
_this2.inputRef.blur();
|
|
177
194
|
}
|
|
178
195
|
},
|
|
179
196
|
type: "number",
|
|
180
|
-
className:
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
min: min,
|
|
193
|
-
max: max
|
|
197
|
+
className: className,
|
|
198
|
+
slotProps: {
|
|
199
|
+
input: {
|
|
200
|
+
endAdornment: suffix && /*#__PURE__*/_react["default"].createElement(_InputAdornment["default"], {
|
|
201
|
+
position: "end"
|
|
202
|
+
}, suffix),
|
|
203
|
+
className: inputClassName,
|
|
204
|
+
inputProps: {
|
|
205
|
+
min: min,
|
|
206
|
+
max: max
|
|
207
|
+
}
|
|
208
|
+
}
|
|
194
209
|
},
|
|
195
210
|
margin: "normal"
|
|
196
211
|
});
|
|
197
212
|
}
|
|
198
213
|
}]);
|
|
199
|
-
return NumberTextField;
|
|
200
214
|
}(_react["default"].Component);
|
|
201
|
-
exports.NumberTextField = NumberTextField;
|
|
202
215
|
(0, _defineProperty2["default"])(NumberTextField, "propTypes", {
|
|
203
216
|
disabled: _propTypes["default"].bool,
|
|
204
|
-
classes: _propTypes["default"].object.isRequired,
|
|
205
217
|
className: _propTypes["default"].string,
|
|
206
218
|
inputClassName: _propTypes["default"].string,
|
|
207
219
|
onChange: _propTypes["default"].func.isRequired,
|
|
@@ -217,6 +229,5 @@ exports.NumberTextField = NumberTextField;
|
|
|
217
229
|
(0, _defineProperty2["default"])(NumberTextField, "defaultProps", {
|
|
218
230
|
showErrorWhenOutsideRange: false
|
|
219
231
|
});
|
|
220
|
-
var _default =
|
|
221
|
-
exports["default"] = _default;
|
|
232
|
+
var _default = exports["default"] = NumberTextField;
|
|
222
233
|
//# sourceMappingURL=number-text-field.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number-text-field.js","names":["_propTypes","_interopRequireDefault","require","_react","_TextField","_classnames","_styles","_debug","_isFinite","_InputAdornment","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","styles","theme","root","marginRight","spacing","unit","width","fallbackNumber","min","max","isFinite","NumberTextField","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","event","value","target","rawNumber","parseFloat","number","clamp","state","setState","toString","onChange","_this$props","concat","float","clamped","errorMessage","bind","_createClass2","key","UNSAFE_componentWillReceiveProps","_this$props2","Math","render","_this2","_this$props3","className","classes","label","disabled","suffix","inputClassName","disableUnderline","showErrorWhenOutsideRange","variant","names","classNames","error","getError","createElement","inputRef","ref","helperText","onBlur","onKeyPress","blur","type","InputLabelProps","shrink","InputProps","endAdornment","position","inputProps","margin","React","Component","exports","PropTypes","bool","object","isRequired","string","func","_default","withStyles"],"sources":["../src/number-text-field.jsx"],"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: {\n marginRight: theme.spacing.unit,\n '& label': {\n width: 'max-content',\n },\n },\n});\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextField extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n inputClassName: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n label: PropTypes.string,\n suffix: PropTypes.string,\n showErrorWhenOutsideRange: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n variant: PropTypes.string,\n };\n\n static defaultProps = {\n showErrorWhenOutsideRange: false,\n };\n\n constructor(props) {\n super(props);\n\n const value = this.clamp(props.value);\n\n this.state = {\n value,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = this.clamp(props.value);\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"number-text-field.js","names":["_propTypes","_interopRequireDefault","require","_react","_TextField","_styles","_debug","_isFinite","_InputAdornment","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","log","debug","StyledTextField","styled","TextField","_ref","theme","marginRight","spacing","width","minWidth","maxWidth","whiteSpace","overflow","transform","transformOrigin","position","height","minHeight","padding","display","fallbackNumber","min","max","isFinite","NumberTextField","exports","_React$Component","props","_this","_classCallCheck2","_defineProperty2","event","value","target","rawNumber","parseFloat","number","clamp","state","setState","toString","onChange","_this$props","concat","float","clamped","errorMessage","bind","_inherits2","_createClass2","key","UNSAFE_componentWillReceiveProps","arguments","length","undefined","Math","render","_this2","_this$props2","className","label","disabled","suffix","inputClassName","disableUnderline","showErrorWhenOutsideRange","variant","error","getError","createElement","inputRef","ref","InputLabelProps","shrink","helperText","onBlur","onKeyDown","blur","type","slotProps","input","endAdornment","inputProps","margin","React","Component","PropTypes","bool","string","func","isRequired","_default"],"sources":["../src/number-text-field.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport TextField from '@mui/material/TextField';\nimport { styled } from '@mui/material/styles';\nimport debug from 'debug';\nimport isFinite from 'lodash/isFinite';\nimport InputAdornment from '@mui/material/InputAdornment';\nconst log = debug('@pie-lib:config-ui:number-text-field');\n\nconst StyledTextField = styled(TextField)(({ theme }) => ({\n marginRight: theme.spacing(1),\n '& .MuiInputLabel-root': {\n width: 'auto',\n minWidth: 'max-content',\n maxWidth: 'none',\n whiteSpace: 'nowrap',\n overflow: 'visible',\n transform: 'translate(0, 8px) scale(0.75)',\n transformOrigin: 'top left',\n position: 'relative',\n },\n '& .MuiInputBase-root, & .MuiInput-root, & .MuiFilledInput-root, & .MuiOutlinedInput-root': {\n height: 'auto',\n minHeight: 'auto',\n },\n '& .MuiInputBase-input': {\n height: 'auto',\n minHeight: 'auto',\n padding: '8px 12px',\n },\n '& .MuiInput-root, & .MuiFilledInput-root': {\n '&:before, &:after, &:hover:not(.Mui-disabled):before': {\n display: 'none',\n },\n },\n}));\n\nconst fallbackNumber = (min, max) => {\n if (!isFinite(min) && !isFinite(max)) {\n return 0;\n }\n if (!isFinite(min) && isFinite(max)) {\n return max;\n }\n\n if (isFinite(min)) {\n return min;\n }\n};\n\nexport class NumberTextField extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n className: PropTypes.string,\n inputClassName: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number,\n min: PropTypes.number,\n max: PropTypes.number,\n label: PropTypes.string,\n suffix: PropTypes.string,\n showErrorWhenOutsideRange: PropTypes.bool,\n disableUnderline: PropTypes.bool,\n variant: PropTypes.string,\n };\n\n static defaultProps = {\n showErrorWhenOutsideRange: false,\n };\n\n constructor(props) {\n super(props);\n\n const value = this.clamp(props.value);\n\n this.state = {\n value,\n };\n\n if (value !== props.value) {\n this.props.onChange({}, value);\n }\n\n this.onChange = this.onChange.bind(this);\n }\n\n UNSAFE_componentWillReceiveProps(props) {\n const value = this.clamp(props.value, props.min, props.max);\n\n this.setState({ value });\n }\n\n clamp(value, min = this.props.min, max = this.props.max) {\n if (!isFinite(value)) {\n return fallbackNumber(min, max);\n }\n\n if (isFinite(max)) {\n value = Math.min(value, max);\n }\n\n if (isFinite(min)) {\n value = Math.max(value, min);\n }\n\n return value;\n }\n\n /**\n * on Blur (this can be triggered by pressing Enter, see below)\n * we check the entered value and reset it if needed\n */\n onBlur = (event) => {\n const value = event.target.value;\n\n const rawNumber = parseFloat(value);\n log('rawNumber: ', rawNumber);\n\n const number = this.clamp(rawNumber);\n log('number: ', number);\n\n if (number !== this.state.value) {\n log('trigger update...');\n this.setState({ value: number.toString() }, () => {\n this.props.onChange(event, number);\n });\n }\n };\n\n onChange(event) {\n const value = event.target.value;\n this.setState({ value });\n }\n\n errorMessage = () => {\n const { min, max } = this.props;\n if (min && max) {\n return `The value must be between ${min} and ${max}`;\n }\n if (min) {\n return `The value must be greater than ${min}`;\n }\n if (max) {\n return `The value must be less than ${max}`;\n }\n };\n\n /**\n * if the input has to show error when outside range,\n * and the entered value is not matching the requirements\n * we display error message\n */\n\n getError = () => {\n const { value } = this.state;\n const float = parseFloat(value);\n const clamped = this.clamp(float);\n if (clamped !== float) {\n return this.errorMessage();\n }\n };\n\n render() {\n const {\n className,\n label,\n disabled,\n suffix,\n min,\n max,\n inputClassName,\n disableUnderline,\n showErrorWhenOutsideRange,\n variant,\n } = this.props;\n\n const error = showErrorWhenOutsideRange && this.getError();\n return (\n <StyledTextField\n variant={disableUnderline ? 'filled' : (variant || 'standard')}\n inputRef={(ref) => {\n this.inputRef = ref;\n }}\n disabled={disabled}\n label={label}\n InputLabelProps={{\n shrink: true,\n }}\n value={this.state.value}\n error={!!error}\n helperText={error}\n onChange={this.onChange}\n onBlur={this.onBlur}\n onKeyDown={(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={className}\n slotProps={{\n input: {\n endAdornment: suffix && <InputAdornment position=\"end\">{suffix}</InputAdornment>,\n className: inputClassName,\n inputProps: {\n min,\n max,\n },\n },\n }}\n margin=\"normal\"\n />\n );\n }\n}\n\nexport default NumberTextField;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/radio-with-label.js
CHANGED
|
@@ -5,30 +5,44 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports["default"] = void 0;
|
|
8
|
-
var _FormControlLabel = _interopRequireDefault(require("@material
|
|
9
|
-
var _Radio = _interopRequireDefault(require("@material
|
|
8
|
+
var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
|
|
9
|
+
var _Radio = _interopRequireDefault(require("@mui/material/Radio"));
|
|
10
10
|
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
14
|
+
var StyledFormControlLabel = (0, _styles.styled)(_FormControlLabel["default"])(function () {
|
|
15
|
+
return {
|
|
16
|
+
'& .MuiFormControlLabel-label': {
|
|
17
|
+
left: '-5px',
|
|
18
|
+
position: 'relative'
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
});
|
|
22
|
+
var StyledRadio = (0, _styles.styled)(_Radio["default"])(function () {
|
|
23
|
+
return {
|
|
24
|
+
color: "".concat(_renderUi.color.tertiary(), " !important")
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
var RadioWithLabel = function RadioWithLabel(_ref) {
|
|
18
28
|
var label = _ref.label,
|
|
19
29
|
value = _ref.value,
|
|
20
30
|
checked = _ref.checked,
|
|
21
|
-
onChange = _ref.onChange
|
|
22
|
-
|
|
23
|
-
return /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
|
|
31
|
+
onChange = _ref.onChange;
|
|
32
|
+
return /*#__PURE__*/_react["default"].createElement(StyledFormControlLabel, {
|
|
24
33
|
value: value,
|
|
25
|
-
|
|
26
|
-
control: /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
|
|
34
|
+
control: /*#__PURE__*/_react["default"].createElement(StyledRadio, {
|
|
27
35
|
checked: checked,
|
|
28
36
|
onChange: onChange
|
|
29
37
|
}),
|
|
30
38
|
label: label
|
|
31
39
|
});
|
|
32
|
-
}
|
|
33
|
-
|
|
40
|
+
};
|
|
41
|
+
RadioWithLabel.propTypes = {
|
|
42
|
+
label: _propTypes["default"].string,
|
|
43
|
+
value: _propTypes["default"].string,
|
|
44
|
+
checked: _propTypes["default"].bool,
|
|
45
|
+
onChange: _propTypes["default"].func
|
|
46
|
+
};
|
|
47
|
+
var _default = exports["default"] = RadioWithLabel;
|
|
34
48
|
//# sourceMappingURL=radio-with-label.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-with-label.js","names":["_FormControlLabel","_interopRequireDefault","require","_Radio","_react","_styles","
|
|
1
|
+
{"version":3,"file":"radio-with-label.js","names":["_FormControlLabel","_interopRequireDefault","require","_Radio","_react","_propTypes","_styles","_renderUi","StyledFormControlLabel","styled","FormControlLabel","left","position","StyledRadio","Radio","color","concat","tertiary","RadioWithLabel","_ref","label","value","checked","onChange","createElement","control","propTypes","PropTypes","string","bool","func","_default","exports"],"sources":["../src/radio-with-label.jsx"],"sourcesContent":["import FormControlLabel from '@mui/material/FormControlLabel';\nimport Radio from '@mui/material/Radio';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { color } from '@pie-lib/render-ui';\n\nconst StyledFormControlLabel = styled(FormControlLabel)(() => ({\n '& .MuiFormControlLabel-label': {\n left: '-5px',\n position: 'relative',\n },\n}));\n\nconst StyledRadio = styled(Radio)(() => ({\n color: `${color.tertiary()} !important`,\n}));\n\nconst RadioWithLabel = ({ label, value, checked, onChange }) => (\n <StyledFormControlLabel\n value={value}\n control={<StyledRadio checked={checked} onChange={onChange} />}\n label={label}\n />\n);\n\nRadioWithLabel.propTypes = {\n label: PropTypes.string,\n value: PropTypes.string,\n checked: PropTypes.bool,\n onChange: PropTypes.func,\n};\n\nexport default RadioWithLabel;\n"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AAEA,IAAMM,sBAAsB,GAAG,IAAAC,cAAM,EAACC,4BAAgB,CAAC,CAAC;EAAA,OAAO;IAC7D,8BAA8B,EAAE;MAC9BC,IAAI,EAAE,MAAM;MACZC,QAAQ,EAAE;IACZ;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,WAAW,GAAG,IAAAJ,cAAM,EAACK,iBAAK,CAAC,CAAC;EAAA,OAAO;IACvCC,KAAK,KAAAC,MAAA,CAAKD,eAAK,CAACE,QAAQ,CAAC,CAAC;EAC5B,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA;EAAA,IAAMC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IAAEC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;EAAA,oBACvDnB,MAAA,YAAAoB,aAAA,CAAChB,sBAAsB;IACrBa,KAAK,EAAEA,KAAM;IACbI,OAAO,eAAErB,MAAA,YAAAoB,aAAA,CAACX,WAAW;MAACS,OAAO,EAAEA,OAAQ;MAACC,QAAQ,EAAEA;IAAS,CAAE,CAAE;IAC/DH,KAAK,EAAEA;EAAM,CACd,CAAC;AAAA,CACH;AAEDF,cAAc,CAACQ,SAAS,GAAG;EACzBN,KAAK,EAAEO,qBAAS,CAACC,MAAM;EACvBP,KAAK,EAAEM,qBAAS,CAACC,MAAM;EACvBN,OAAO,EAAEK,qBAAS,CAACE,IAAI;EACvBN,QAAQ,EAAEI,qBAAS,CAACG;AACtB,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEad,cAAc","ignoreList":[]}
|
|
@@ -8,29 +8,26 @@ exports["default"] = void 0;
|
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
-
var _Typography = _interopRequireDefault(require("@material
|
|
12
|
-
var _styles = require("@material
|
|
11
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
13
|
var _numberTextField = _interopRequireDefault(require("../number-text-field"));
|
|
14
|
-
function ownKeys(
|
|
15
|
-
function _objectSpread(
|
|
16
|
-
var
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
+
var StyledDisplaySize = (0, _styles.styled)('div')(function (_ref) {
|
|
17
|
+
var theme = _ref.theme;
|
|
17
18
|
return {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
paddingTop: theme.spacing.unit
|
|
21
|
-
}
|
|
19
|
+
display: 'flex',
|
|
20
|
+
paddingTop: theme.spacing(1)
|
|
22
21
|
};
|
|
23
|
-
})
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
onChange =
|
|
22
|
+
});
|
|
23
|
+
var DisplaySize = function DisplaySize(_ref2) {
|
|
24
|
+
var size = _ref2.size,
|
|
25
|
+
label = _ref2.label,
|
|
26
|
+
onChange = _ref2.onChange;
|
|
28
27
|
var updateSize = function updateSize(key, v) {
|
|
29
28
|
onChange(_objectSpread(_objectSpread({}, size), {}, (0, _defineProperty2["default"])({}, key, v)));
|
|
30
29
|
};
|
|
31
|
-
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, label), /*#__PURE__*/_react["default"].createElement("
|
|
32
|
-
className: classes.displaySize
|
|
33
|
-
}, /*#__PURE__*/_react["default"].createElement(_numberTextField["default"], {
|
|
30
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], null, label), /*#__PURE__*/_react["default"].createElement(StyledDisplaySize, null, /*#__PURE__*/_react["default"].createElement(_numberTextField["default"], {
|
|
34
31
|
label: "Width",
|
|
35
32
|
type: "number",
|
|
36
33
|
variant: "outlined",
|
|
@@ -51,7 +48,7 @@ var DisplaySize = (0, _styles.withStyles)(function (theme) {
|
|
|
51
48
|
return updateSize('height', v);
|
|
52
49
|
}
|
|
53
50
|
})));
|
|
54
|
-
}
|
|
51
|
+
};
|
|
55
52
|
DisplaySize.propTypes = {
|
|
56
53
|
size: _propTypes["default"].shape({
|
|
57
54
|
width: _propTypes["default"].number.isRequired,
|
|
@@ -60,6 +57,5 @@ DisplaySize.propTypes = {
|
|
|
60
57
|
label: _propTypes["default"].string.isRequired,
|
|
61
58
|
onChange: _propTypes["default"].func
|
|
62
59
|
};
|
|
63
|
-
var _default = DisplaySize;
|
|
64
|
-
exports["default"] = _default;
|
|
60
|
+
var _default = exports["default"] = DisplaySize;
|
|
65
61
|
//# sourceMappingURL=display-size.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"display-size.js","names":["_react","_interopRequireDefault","require","_propTypes","_Typography","_styles","_numberTextField","ownKeys","
|
|
1
|
+
{"version":3,"file":"display-size.js","names":["_react","_interopRequireDefault","require","_propTypes","_Typography","_styles","_numberTextField","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledDisplaySize","styled","_ref","theme","display","paddingTop","spacing","DisplaySize","_ref2","size","label","onChange","updateSize","key","v","createElement","type","variant","value","width","min","max","height","propTypes","PropTypes","shape","number","isRequired","string","func","_default","exports"],"sources":["../../src/settings/display-size.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Typography from '@mui/material/Typography';\nimport { styled } from '@mui/material/styles';\nimport NumberTextField from '../number-text-field';\n\nconst StyledDisplaySize = styled('div')(({ theme }) => ({\n display: 'flex',\n paddingTop: theme.spacing(1),\n}));\n\nconst DisplaySize = ({ size, label, onChange }) => {\n const updateSize = (key, v) => {\n onChange({ ...size, [key]: v });\n };\n \n return (\n <div>\n <Typography>{label}</Typography>\n <StyledDisplaySize>\n <NumberTextField\n label=\"Width\"\n type=\"number\"\n variant=\"outlined\"\n value={size.width}\n min={150}\n max={1000}\n onChange={(e, v) => updateSize('width', v)}\n />\n <NumberTextField\n label=\"Height\"\n type=\"number\"\n variant=\"outlined\"\n min={150}\n max={1000}\n value={size.height}\n onChange={(e, v) => updateSize('height', v)}\n />\n </StyledDisplaySize>\n </div>\n );\n};\n\nDisplaySize.propTypes = {\n size: PropTypes.shape({\n width: PropTypes.number.isRequired,\n height: PropTypes.number.isRequired,\n }).isRequired,\n label: PropTypes.string.isRequired,\n onChange: PropTypes.func,\n};\n\nexport default DisplaySize;\n"],"mappings":"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","ignoreList":[]}
|