@panneau/field-number 3.0.222 → 3.0.224
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/package.json +10 -7
- package/lib/index.js +0 -150
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panneau/field-number",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.224",
|
|
4
4
|
"description": "A number field",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -33,8 +33,11 @@
|
|
|
33
33
|
}
|
|
34
34
|
],
|
|
35
35
|
"license": "ISC",
|
|
36
|
-
"
|
|
36
|
+
"type": "module",
|
|
37
37
|
"module": "es/index.js",
|
|
38
|
+
"exports": {
|
|
39
|
+
".": "./es/index.js"
|
|
40
|
+
},
|
|
38
41
|
"files": [
|
|
39
42
|
"lib",
|
|
40
43
|
"es",
|
|
@@ -54,10 +57,10 @@
|
|
|
54
57
|
},
|
|
55
58
|
"dependencies": {
|
|
56
59
|
"@babel/runtime": "^7.12.5",
|
|
57
|
-
"@panneau/core": "^3.0.
|
|
58
|
-
"@panneau/element-icon": "^3.0.
|
|
59
|
-
"@panneau/field-text": "^3.0.
|
|
60
|
-
"@panneau/themes": "^3.0.
|
|
60
|
+
"@panneau/core": "^3.0.224",
|
|
61
|
+
"@panneau/element-icon": "^3.0.224",
|
|
62
|
+
"@panneau/field-text": "^3.0.224",
|
|
63
|
+
"@panneau/themes": "^3.0.224",
|
|
61
64
|
"classnames": "^2.5.1",
|
|
62
65
|
"lodash": "^4.17.21",
|
|
63
66
|
"prop-types": "^15.7.2"
|
|
@@ -65,5 +68,5 @@
|
|
|
65
68
|
"publishConfig": {
|
|
66
69
|
"access": "public"
|
|
67
70
|
},
|
|
68
|
-
"gitHead": "
|
|
71
|
+
"gitHead": "c95bd465867c4c7d112bf0ed66036574cc05c627"
|
|
69
72
|
}
|
package/lib/index.js
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
6
|
-
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
7
|
-
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
8
|
-
var classNames = require('classnames');
|
|
9
|
-
var isNaN = require('lodash/isNaN');
|
|
10
|
-
var isNumber = require('lodash/isNumber');
|
|
11
|
-
var PropTypes = require('prop-types');
|
|
12
|
-
var React = require('react');
|
|
13
|
-
var Icon = require('@panneau/element-icon');
|
|
14
|
-
var TextField = require('@panneau/field-text');
|
|
15
|
-
|
|
16
|
-
var styles = {"container":"panneau-field-number-container","arrow":"panneau-field-number-arrow","dataListItems":"panneau-field-number-dataListItems","dataListItem":"panneau-field-number-dataListItem","dataListItemButton":"panneau-field-number-dataListItemButton"};
|
|
17
|
-
|
|
18
|
-
var _excluded = ["value", "step", "floatStep", "float", "dataList", "autoComplete", "disabled", "className", "onChange"];
|
|
19
|
-
var propTypes = {
|
|
20
|
-
value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
|
21
|
-
step: PropTypes.number,
|
|
22
|
-
floatStep: PropTypes.number,
|
|
23
|
-
"float": PropTypes.bool,
|
|
24
|
-
dataList: PropTypes.arrayOf(PropTypes.number),
|
|
25
|
-
autoComplete: PropTypes.bool,
|
|
26
|
-
disabled: PropTypes.bool,
|
|
27
|
-
className: PropTypes.string,
|
|
28
|
-
onChange: PropTypes.func
|
|
29
|
-
};
|
|
30
|
-
var defaultProps = {
|
|
31
|
-
value: null,
|
|
32
|
-
step: 1,
|
|
33
|
-
floatStep: 0.1,
|
|
34
|
-
"float": false,
|
|
35
|
-
dataList: null,
|
|
36
|
-
autoComplete: false,
|
|
37
|
-
disabled: false,
|
|
38
|
-
className: null,
|
|
39
|
-
onChange: null
|
|
40
|
-
};
|
|
41
|
-
function isNumeric(str) {
|
|
42
|
-
if (typeof str !== 'string') return false; // we only process strings!
|
|
43
|
-
return !isNaN(str) &&
|
|
44
|
-
// use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...
|
|
45
|
-
!isNaN(parseFloat(str));
|
|
46
|
-
}
|
|
47
|
-
var NumberField = function NumberField(_ref) {
|
|
48
|
-
var value = _ref.value,
|
|
49
|
-
step = _ref.step,
|
|
50
|
-
floatStep = _ref.floatStep,
|
|
51
|
-
_float = _ref["float"],
|
|
52
|
-
dataList = _ref.dataList,
|
|
53
|
-
autoComplete = _ref.autoComplete,
|
|
54
|
-
disabled = _ref.disabled,
|
|
55
|
-
className = _ref.className,
|
|
56
|
-
onChange = _ref.onChange,
|
|
57
|
-
props = _objectWithoutProperties(_ref, _excluded);
|
|
58
|
-
var parseValue = React.useCallback(function (newValue) {
|
|
59
|
-
if (newValue !== null) {
|
|
60
|
-
if (_float) {
|
|
61
|
-
return newValue;
|
|
62
|
-
}
|
|
63
|
-
if (isNumber(newValue)) {
|
|
64
|
-
return newValue;
|
|
65
|
-
}
|
|
66
|
-
if (isNumeric(newValue)) {
|
|
67
|
-
return _float ? parseFloat(newValue) : parseInt(newValue, 10);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
71
|
-
}, [_float]);
|
|
72
|
-
var onInputChange = React.useCallback(function (val) {
|
|
73
|
-
if (onChange !== null) {
|
|
74
|
-
if (_float) {
|
|
75
|
-
onChange(val !== null && val.length > 0 ? val : null);
|
|
76
|
-
} else {
|
|
77
|
-
onChange(val !== null && val.length > 0 ? parseValue(val) : null);
|
|
78
|
-
}
|
|
79
|
-
onChange(val !== null && val.length > 0 ? parseValue(val) : null);
|
|
80
|
-
}
|
|
81
|
-
}, [onChange, _float]);
|
|
82
|
-
|
|
83
|
-
// Datalist
|
|
84
|
-
|
|
85
|
-
var hasDataList = dataList !== null;
|
|
86
|
-
var _useState = React.useState(false),
|
|
87
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
88
|
-
dataListActive = _useState2[0],
|
|
89
|
-
setDataListActive = _useState2[1];
|
|
90
|
-
var onInputFocus = React.useCallback(function () {
|
|
91
|
-
if (hasDataList) {
|
|
92
|
-
setDataListActive(true);
|
|
93
|
-
}
|
|
94
|
-
}, [setDataListActive, hasDataList]);
|
|
95
|
-
var onInputBlur = React.useCallback(function () {
|
|
96
|
-
if (hasDataList && dataListActive) {
|
|
97
|
-
setDataListActive(false);
|
|
98
|
-
}
|
|
99
|
-
}, [setDataListActive, hasDataList, dataListActive]);
|
|
100
|
-
var onDataListClick = React.useCallback(function (dataListValue) {
|
|
101
|
-
if (onChange !== null && dataListValue !== null) {
|
|
102
|
-
onChange(parseValue(dataListValue));
|
|
103
|
-
setDataListActive(false);
|
|
104
|
-
}
|
|
105
|
-
}, [onChange, setDataListActive]);
|
|
106
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
107
|
-
className: classNames([styles.container, _defineProperty({}, className, className !== null)])
|
|
108
|
-
}, /*#__PURE__*/React.createElement(TextField, Object.assign({
|
|
109
|
-
type: "number",
|
|
110
|
-
className: styles.input,
|
|
111
|
-
value: value !== null ? "".concat(value) : '',
|
|
112
|
-
step: _float ? floatStep : step,
|
|
113
|
-
autoComplete: autoComplete ? 'on' : 'off',
|
|
114
|
-
onChange: onInputChange,
|
|
115
|
-
onFocus: onInputFocus,
|
|
116
|
-
onBlur: onInputBlur,
|
|
117
|
-
disabled: disabled
|
|
118
|
-
}, props)), !disabled && hasDataList ? /*#__PURE__*/React.createElement("div", {
|
|
119
|
-
className: styles.arrow
|
|
120
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
121
|
-
name: dataListActive ? 'caret-up' : 'caret-down'
|
|
122
|
-
})) : null, !disabled && hasDataList && dataListActive ? /*#__PURE__*/React.createElement("ul", {
|
|
123
|
-
className: styles.dataListItems
|
|
124
|
-
}, dataList.map(function (dataListValue) {
|
|
125
|
-
return /*#__PURE__*/React.createElement("li", {
|
|
126
|
-
key: "data-list-".concat(dataListValue),
|
|
127
|
-
className: styles.dataListItem
|
|
128
|
-
}, /*#__PURE__*/React.createElement("button", {
|
|
129
|
-
className: styles.dataListItemButton,
|
|
130
|
-
type: "button",
|
|
131
|
-
onTouchStart: function onTouchStart() {
|
|
132
|
-
onDataListClick(dataListValue);
|
|
133
|
-
},
|
|
134
|
-
onMouseDown: function onMouseDown() {
|
|
135
|
-
onDataListClick(dataListValue);
|
|
136
|
-
}
|
|
137
|
-
}, dataListValue));
|
|
138
|
-
})) : null);
|
|
139
|
-
};
|
|
140
|
-
NumberField.propTypes = propTypes;
|
|
141
|
-
NumberField.defaultProps = defaultProps;
|
|
142
|
-
var NumberField$1 = NumberField;
|
|
143
|
-
|
|
144
|
-
var definition = {
|
|
145
|
-
id: 'number',
|
|
146
|
-
component: 'Number'
|
|
147
|
-
};
|
|
148
|
-
|
|
149
|
-
exports.default = NumberField$1;
|
|
150
|
-
exports.definition = definition;
|