flipper-ui 0.25.1 → 0.25.2
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/core/TextField.d.ts +4 -1
- package/core/TextField.js +62 -15
- package/package.json +1 -1
- package/stories/TextField.stories.js +54 -3
package/core/TextField.d.ts
CHANGED
|
@@ -26,6 +26,8 @@ export interface TextFieldProps extends DefaultProps {
|
|
|
26
26
|
rowsMax?: string | number;
|
|
27
27
|
helperText?: ReactNode;
|
|
28
28
|
helperIcon?: ReactNode;
|
|
29
|
+
hasClear?: boolean;
|
|
30
|
+
onClear?: () => void;
|
|
29
31
|
onHelperClick?: () => void;
|
|
30
32
|
onChange?: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
31
33
|
onBlur?: (event: FocusEvent<HTMLInputElement>) => void;
|
|
@@ -35,8 +37,9 @@ export interface TextFieldProps extends DefaultProps {
|
|
|
35
37
|
interface IHelperProps extends Pick<TextFieldProps, 'helperIcon'> {
|
|
36
38
|
onHelperClick: (event: MouseEvent<HTMLButtonElement>) => void;
|
|
37
39
|
}
|
|
38
|
-
export declare const useStyles: (props?: any) => Record<"input" | "outlinedInput" | "outlinedLabel" | "outlinedMultiline" | "iconOutlined", string>;
|
|
39
40
|
export declare const TextFieldWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
41
|
+
export declare const StaticTextFieldWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
42
|
+
export declare const useStyles: (props?: any) => Record<"input" | "outlinedInput" | "outlinedLabel" | "outlinedMultiline" | "iconOutlined", string>;
|
|
40
43
|
export declare const HelperBox: (props: IHelperProps) => JSX.Element;
|
|
41
44
|
declare const TextField: FC<TextFieldProps>;
|
|
42
45
|
export default TextField;
|
package/core/TextField.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = exports.HelperBox = exports.
|
|
8
|
+
exports["default"] = exports.HelperBox = exports.useStyles = exports.StaticTextFieldWrapper = exports.TextFieldWrapper = void 0;
|
|
9
9
|
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
11
|
|
|
@@ -15,15 +15,21 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
15
15
|
|
|
16
16
|
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
17
17
|
|
|
18
|
+
var _InputAdornment = _interopRequireDefault(require("@material-ui/core/InputAdornment"));
|
|
19
|
+
|
|
18
20
|
var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
|
|
19
21
|
|
|
22
|
+
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
23
|
+
|
|
20
24
|
var _styles = require("@material-ui/core/styles");
|
|
21
25
|
|
|
22
26
|
var _react = _interopRequireDefault(require("react"));
|
|
23
27
|
|
|
28
|
+
var _Clear = _interopRequireDefault(require("@material-ui/icons/Clear"));
|
|
29
|
+
|
|
24
30
|
var _Help = _interopRequireDefault(require("@material-ui/icons/Help"));
|
|
25
31
|
|
|
26
|
-
var
|
|
32
|
+
var _IconButton2 = _interopRequireDefault(require("./IconButton"));
|
|
27
33
|
|
|
28
34
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
29
35
|
|
|
@@ -31,8 +37,18 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
31
37
|
|
|
32
38
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
33
39
|
|
|
40
|
+
function _templateObject3() {
|
|
41
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: rows;\n width: 100%;\n align-items: center;\n"]);
|
|
42
|
+
|
|
43
|
+
_templateObject3 = function _templateObject3() {
|
|
44
|
+
return data;
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
return data;
|
|
48
|
+
}
|
|
49
|
+
|
|
34
50
|
function _templateObject2() {
|
|
35
|
-
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: rows;\n width: 100%;\n align-items: center;\n button {\n display: none
|
|
51
|
+
var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: rows;\n width: 100%;\n align-items: center;\n button {\n display: none;\n }\n :hover button {\n display: flex;\n }\n"]);
|
|
36
52
|
|
|
37
53
|
_templateObject2 = function _templateObject2() {
|
|
38
54
|
return data;
|
|
@@ -51,6 +67,15 @@ function _templateObject() {
|
|
|
51
67
|
return data;
|
|
52
68
|
}
|
|
53
69
|
|
|
70
|
+
var Helper = _styledComponents["default"].div(_templateObject());
|
|
71
|
+
|
|
72
|
+
var TextFieldWrapper = _styledComponents["default"].div(_templateObject2());
|
|
73
|
+
|
|
74
|
+
exports.TextFieldWrapper = TextFieldWrapper;
|
|
75
|
+
|
|
76
|
+
var StaticTextFieldWrapper = _styledComponents["default"].div(_templateObject3());
|
|
77
|
+
|
|
78
|
+
exports.StaticTextFieldWrapper = StaticTextFieldWrapper;
|
|
54
79
|
var useStyles = (0, _styles.makeStyles)({
|
|
55
80
|
input: {
|
|
56
81
|
fontSize: '14px',
|
|
@@ -75,14 +100,8 @@ var useStyles = (0, _styles.makeStyles)({
|
|
|
75
100
|
});
|
|
76
101
|
exports.useStyles = useStyles;
|
|
77
102
|
|
|
78
|
-
var Helper = _styledComponents["default"].div(_templateObject());
|
|
79
|
-
|
|
80
|
-
var TextFieldWrapper = _styledComponents["default"].div(_templateObject2());
|
|
81
|
-
|
|
82
|
-
exports.TextFieldWrapper = TextFieldWrapper;
|
|
83
|
-
|
|
84
103
|
var HelperBox = function HelperBox(props) {
|
|
85
|
-
return /*#__PURE__*/_react["default"].createElement(Helper, null, /*#__PURE__*/_react["default"].createElement(
|
|
104
|
+
return /*#__PURE__*/_react["default"].createElement(Helper, null, /*#__PURE__*/_react["default"].createElement(_IconButton2["default"], {
|
|
86
105
|
padding: "6px 2px",
|
|
87
106
|
onClick: props.onHelperClick
|
|
88
107
|
}, props.helperIcon || /*#__PURE__*/_react["default"].createElement(_Help["default"], {
|
|
@@ -92,6 +111,19 @@ var HelperBox = function HelperBox(props) {
|
|
|
92
111
|
|
|
93
112
|
exports.HelperBox = HelperBox;
|
|
94
113
|
|
|
114
|
+
var renderEndAdornment = function renderEndAdornment(onClear) {
|
|
115
|
+
return /*#__PURE__*/_react["default"].createElement(_InputAdornment["default"], {
|
|
116
|
+
position: "end"
|
|
117
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
118
|
+
onClick: onClear,
|
|
119
|
+
size: "small"
|
|
120
|
+
}, /*#__PURE__*/_react["default"].createElement(_Clear["default"], {
|
|
121
|
+
style: {
|
|
122
|
+
fontSize: '15px'
|
|
123
|
+
}
|
|
124
|
+
})));
|
|
125
|
+
};
|
|
126
|
+
|
|
95
127
|
var TextField = function TextField(_ref) {
|
|
96
128
|
var margin = _ref.margin,
|
|
97
129
|
padding = _ref.padding,
|
|
@@ -111,8 +143,22 @@ var TextField = function TextField(_ref) {
|
|
|
111
143
|
onHelperClick = _ref.onHelperClick,
|
|
112
144
|
helperIcon = _ref.helperIcon,
|
|
113
145
|
fullWidth = _ref.fullWidth,
|
|
114
|
-
|
|
146
|
+
hasClear = _ref.hasClear,
|
|
147
|
+
onClear = _ref.onClear,
|
|
148
|
+
otherProps = (0, _objectWithoutProperties2["default"])(_ref, ["margin", "padding", "style", "error", "variant", "InputLabelProps", "InputProps", "SelectProps", "autoComplete", "onHelperClick", "helperIcon", "fullWidth", "hasClear", "onClear"]);
|
|
149
|
+
var clearStyle = (0, _styles.makeStyles)({
|
|
150
|
+
iconOutlined: {
|
|
151
|
+
position: 'relative',
|
|
152
|
+
right: '2px',
|
|
153
|
+
marginLeft: '-20px'
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
var hasValue = !!otherProps.value;
|
|
157
|
+
var endAdornment = hasValue && hasClear ? {
|
|
158
|
+
endAdornment: renderEndAdornment(onClear)
|
|
159
|
+
} : {};
|
|
115
160
|
var classes = useStyles();
|
|
161
|
+
var clearClass = clearStyle();
|
|
116
162
|
|
|
117
163
|
var handleClick = function handleClick() {
|
|
118
164
|
if (onHelperClick) {
|
|
@@ -120,7 +166,8 @@ var TextField = function TextField(_ref) {
|
|
|
120
166
|
}
|
|
121
167
|
};
|
|
122
168
|
|
|
123
|
-
|
|
169
|
+
var Wrapper = hasClear ? StaticTextFieldWrapper : TextFieldWrapper;
|
|
170
|
+
return /*#__PURE__*/_react["default"].createElement(Wrapper, null, /*#__PURE__*/_react["default"].createElement(_TextField["default"], (0, _extends2["default"])({
|
|
124
171
|
fullWidth: fullWidth,
|
|
125
172
|
autoComplete: autoComplete,
|
|
126
173
|
error: error,
|
|
@@ -140,11 +187,11 @@ var TextField = function TextField(_ref) {
|
|
|
140
187
|
multiline: variant === 'outlined' ? classes.outlinedMultiline : ''
|
|
141
188
|
}
|
|
142
189
|
}, InputProps),
|
|
143
|
-
SelectProps: _objectSpread({
|
|
190
|
+
SelectProps: _objectSpread(_objectSpread({
|
|
144
191
|
classes: {
|
|
145
|
-
iconOutlined: classes.iconOutlined
|
|
192
|
+
iconOutlined: hasClear ? clearClass.iconOutlined : classes.iconOutlined
|
|
146
193
|
}
|
|
147
|
-
}, SelectProps)
|
|
194
|
+
}, endAdornment), SelectProps)
|
|
148
195
|
}, otherProps)), onHelperClick && /*#__PURE__*/_react["default"].createElement(HelperBox, {
|
|
149
196
|
helperIcon: helperIcon,
|
|
150
197
|
onHelperClick: handleClick
|
package/package.json
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
+
|
|
3
5
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
6
|
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
|
-
exports.withSelect = exports.withHelperButton = exports.withInputAdornment = exports.Default = exports["default"] = void 0;
|
|
10
|
+
exports.withSelectAndClear = exports.withSelect = exports.withHelperButton = exports.withInputAdornment = exports.Default = exports["default"] = void 0;
|
|
11
|
+
|
|
12
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
13
|
|
|
10
|
-
var _react =
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
15
|
|
|
12
16
|
var _TextField = _interopRequireDefault(require("../core/TextField"));
|
|
13
17
|
|
|
@@ -97,4 +101,51 @@ var withSelect = function withSelect() {
|
|
|
97
101
|
})));
|
|
98
102
|
};
|
|
99
103
|
|
|
100
|
-
exports.withSelect = withSelect;
|
|
104
|
+
exports.withSelect = withSelect;
|
|
105
|
+
|
|
106
|
+
var withSelectAndClear = function withSelectAndClear() {
|
|
107
|
+
var _useState = (0, _react.useState)('fable'),
|
|
108
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
109
|
+
value = _useState2[0],
|
|
110
|
+
setValue = _useState2[1];
|
|
111
|
+
|
|
112
|
+
var onClear = function onClear() {
|
|
113
|
+
setValue('');
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
var handleChange = function handleChange(event) {
|
|
117
|
+
setValue(event.target.value);
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
121
|
+
select: true,
|
|
122
|
+
value: value,
|
|
123
|
+
hasClear: true,
|
|
124
|
+
onClear: onClear,
|
|
125
|
+
onChange: handleChange
|
|
126
|
+
}, [{
|
|
127
|
+
label: null,
|
|
128
|
+
value: ''
|
|
129
|
+
}, {
|
|
130
|
+
label: 'Elm',
|
|
131
|
+
value: 'elm'
|
|
132
|
+
}, {
|
|
133
|
+
label: 'ReasonML',
|
|
134
|
+
value: 'reasonml'
|
|
135
|
+
}, {
|
|
136
|
+
label: 'Purescript',
|
|
137
|
+
value: 'purescript'
|
|
138
|
+
}, {
|
|
139
|
+
label: 'Fable',
|
|
140
|
+
value: 'fable'
|
|
141
|
+
}].map(function (_ref3) {
|
|
142
|
+
var label = _ref3.label,
|
|
143
|
+
value = _ref3.value;
|
|
144
|
+
return /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
|
|
145
|
+
key: value,
|
|
146
|
+
value: value
|
|
147
|
+
}, label);
|
|
148
|
+
})));
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
exports.withSelectAndClear = withSelectAndClear;
|