@pie-lib/config-ui 12.2.0-next.15 → 12.2.0-next.17

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.md CHANGED
@@ -3,6 +3,16 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [12.2.0-next.17](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@12.2.0-next.16...@pie-lib/config-ui@12.2.0-next.17) (2026-03-11)
7
+
8
+ **Note:** Version bump only for package @pie-lib/config-ui
9
+
10
+ # [12.2.0-next.16](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@12.2.0-next.15...@pie-lib/config-ui@12.2.0-next.16) (2026-03-11)
11
+
12
+ ### Bug Fixes
13
+
14
+ - **config-ui:** adjust number field padding PD-5786 ([5e80d6b](https://github.com/pie-framework/pie-lib/commit/5e80d6bdaf11a15cb93377e0518a21cd2ccb24db))
15
+
6
16
  # [12.2.0-next.15](https://github.com/pie-framework/pie-lib/compare/@pie-lib/config-ui@12.2.0-next.14...@pie-lib/config-ui@12.2.0-next.15) (2026-03-11)
7
17
 
8
18
  **Note:** Version bump only for package @pie-lib/config-ui
@@ -42,7 +42,7 @@ var StyledTextField = (0, _styles.styled)(_TextField["default"])(function (_ref)
42
42
  '& .MuiInputBase-input': {
43
43
  height: 'auto',
44
44
  minHeight: 'auto',
45
- padding: '8px 12px'
45
+ padding: '6px 0 7px'
46
46
  },
47
47
  '& .MuiInput-root, & .MuiFilledInput-root': {
48
48
  '&:before, &:after, &:hover:not(.Mui-disabled):before': {
@@ -1 +1 @@
1
- {"version":3,"file":"number-text-field.js","names":["_propTypes","_interopRequireDefault","require","_react","_TextField","_styles","_debug","_lodashEs","_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-es';\nimport InputAdornment from '@mui/material/InputAdornment';\n\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":[]}
1
+ {"version":3,"file":"number-text-field.js","names":["_propTypes","_interopRequireDefault","require","_react","_TextField","_styles","_debug","_lodashEs","_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-es';\nimport InputAdornment from '@mui/material/InputAdornment';\n\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: '6px 0 7px',\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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/config-ui",
3
- "version": "12.2.0-next.15",
3
+ "version": "12.2.0-next.17",
4
4
  "main": "lib/index.js",
5
5
  "module": "src/index.js",
6
6
  "publishConfig": {
@@ -13,7 +13,7 @@
13
13
  "@emotion/style": "^0.8.0",
14
14
  "@mui/icons-material": "^7.3.4",
15
15
  "@mui/material": "^7.3.4",
16
- "@pie-lib/editable-html-tip-tap": "^1.2.0-next.15",
16
+ "@pie-lib/editable-html-tip-tap": "^1.2.0-next.16",
17
17
  "@pie-lib/icons": "^3.2.0-next.4",
18
18
  "@pie-lib/render-ui": "^5.2.0-next.4",
19
19
  "assert": "^1.4.1",
@@ -30,5 +30,5 @@
30
30
  "peerDependencies": {
31
31
  "react": "^18.2.0"
32
32
  },
33
- "gitHead": "081a473c6d541600d0d3f791bf69388715681cae"
33
+ "gitHead": "0f3d64f90c9c0d9291b4a8075690260220a9d32f"
34
34
  }
@@ -27,7 +27,7 @@ const StyledTextField = styled(TextField)(({ theme }) => ({
27
27
  '& .MuiInputBase-input': {
28
28
  height: 'auto',
29
29
  minHeight: 'auto',
30
- padding: '8px 12px',
30
+ padding: '6px 0 7px',
31
31
  },
32
32
  '& .MuiInput-root, & .MuiFilledInput-root': {
33
33
  '&:before, &:after, &:hover:not(.Mui-disabled):before': {