flipper-ui 0.29.4 → 0.29.6
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/feedback/dialog/index.d.ts +2 -1
- package/core/feedback/dialog/index.js +5 -3
- package/core/inputs/text-field/index.d.ts +12 -1
- package/core/inputs/text-field/index.js +40 -4
- package/core/inputs/text-field/text-field.stories.d.ts +1 -0
- package/package.json +1 -1
- package/test/mocks/text-field-options-mock.d.ts +8 -0
- package/test/mocks/text-field-options-mock.js +38 -0
|
@@ -22,7 +22,8 @@ export interface DialogProps extends DefaultProps, Omit<MuiDialogProps, 'scroll'
|
|
|
22
22
|
snippetContentStyle?: CSSProperties;
|
|
23
23
|
contentTextStyle?: CSSProperties;
|
|
24
24
|
scroll?: 'body' | 'paper' | 'unset-paper' | 'unset-body';
|
|
25
|
+
'aria-title'?: string;
|
|
25
26
|
onClose?: (event: Event) => void;
|
|
26
27
|
}
|
|
27
|
-
export declare const Dialog: ({ snippet, style, padding, margin, scroll, PaperProps, open, fullScreen, fullWidth, maxWidth, onClose, titleAction, titleWrapperStyle, titleStyle, titleActionStyle, contentStyle, contentTextStyle, actionsStyle, actions, content, text, title, snippetStyle, snippetContentStyle, ...otherProps }: DialogProps) => JSX.Element;
|
|
28
|
+
export declare const Dialog: ({ snippet, style, padding, margin, scroll, PaperProps, open, fullScreen, fullWidth, maxWidth, onClose, titleAction, titleWrapperStyle, titleStyle, titleActionStyle, contentStyle, contentTextStyle, actionsStyle, actions, content, text, title, snippetStyle, snippetContentStyle, "aria-title": ariaTitle, ...otherProps }: DialogProps) => JSX.Element;
|
|
28
29
|
export default Dialog;
|
|
@@ -17,7 +17,7 @@ var _DialogTitle = _interopRequireDefault(require("@material-ui/core/DialogTitle
|
|
|
17
17
|
var _react = _interopRequireDefault(require("react"));
|
|
18
18
|
var _styles = require("@material-ui/core/styles");
|
|
19
19
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
20
|
-
var _excluded = ["snippet", "style", "padding", "margin", "scroll", "PaperProps", "open", "fullScreen", "fullWidth", "maxWidth", "onClose", "titleAction", "titleWrapperStyle", "titleStyle", "titleActionStyle", "contentStyle", "contentTextStyle", "actionsStyle", "actions", "content", "text", "title", "snippetStyle", "snippetContentStyle"];
|
|
20
|
+
var _excluded = ["snippet", "style", "padding", "margin", "scroll", "PaperProps", "open", "fullScreen", "fullWidth", "maxWidth", "onClose", "titleAction", "titleWrapperStyle", "titleStyle", "titleActionStyle", "contentStyle", "contentTextStyle", "actionsStyle", "actions", "content", "text", "title", "snippetStyle", "snippetContentStyle", "aria-title"];
|
|
21
21
|
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
22
22
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23
23
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -55,6 +55,7 @@ var Dialog = function Dialog(_ref) {
|
|
|
55
55
|
title = _ref.title,
|
|
56
56
|
snippetStyle = _ref.snippetStyle,
|
|
57
57
|
snippetContentStyle = _ref.snippetContentStyle,
|
|
58
|
+
ariaTitle = _ref['aria-title'],
|
|
58
59
|
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
59
60
|
var classes = useStyles();
|
|
60
61
|
var renderTitle = function renderTitle(title) {
|
|
@@ -106,8 +107,9 @@ var Dialog = function Dialog(_ref) {
|
|
|
106
107
|
fullWidth: fullWidth,
|
|
107
108
|
maxWidth: maxWidth,
|
|
108
109
|
scroll: scrollMode,
|
|
109
|
-
PaperProps: _objectSpread({
|
|
110
|
-
title:
|
|
110
|
+
PaperProps: _objectSpread(_objectSpread({}, ariaTitle ? {
|
|
111
|
+
title: ariaTitle
|
|
112
|
+
} : {}), {}, {
|
|
111
113
|
classes: scroll === 'unset-body' || scroll === 'unset-paper' ? {
|
|
112
114
|
root: classes.root
|
|
113
115
|
} : undefined
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { TextFieldProps as MuiTextFieldProps } from '@material-ui/core';
|
|
2
2
|
import React, { ChangeEvent, KeyboardEvent, FocusEvent, ReactNode, MouseEvent } from 'react';
|
|
3
3
|
import { DefaultProps } from '../../types';
|
|
4
|
+
export interface IOption {
|
|
5
|
+
label: string;
|
|
6
|
+
name?: string;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
value: string | number;
|
|
9
|
+
options?: IOption[];
|
|
10
|
+
}
|
|
4
11
|
export interface TextFieldProps extends DefaultProps, Omit<MuiTextFieldProps, 'margin' | 'variant'> {
|
|
5
12
|
autoComplete?: string;
|
|
13
|
+
options?: IOption[] | string;
|
|
6
14
|
autoFocus?: boolean;
|
|
7
15
|
defaultValue?: string | number;
|
|
8
16
|
disabled?: boolean;
|
|
@@ -50,7 +58,10 @@ interface IEditProps extends Pick<TextFieldProps, 'showEdit' | 'style'> {
|
|
|
50
58
|
export declare const TextFieldWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
51
59
|
export declare const StaticTextFieldWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
52
60
|
export declare const useStyles: (props?: any) => import("@material-ui/styles").ClassNameMap<"input" | "iconOutlined" | "outlinedInput" | "outlinedLabel" | "outlinedMultiline">;
|
|
61
|
+
export declare const coerceComboOptions: (input: string) => IOption[];
|
|
62
|
+
export declare const toLispCase: (name: string) => string;
|
|
53
63
|
export declare const HelperBox: (props: IHelperProps) => JSX.Element;
|
|
64
|
+
export declare const renderOptions: (options: TextFieldProps['options']) => "" | JSX.Element[] | undefined;
|
|
54
65
|
export declare const EditBox: (props: IEditProps) => JSX.Element;
|
|
55
|
-
export declare const TextField: ({ margin, padding, style, error, variant, InputLabelProps, InputProps, SelectProps, autoComplete, onHelperClick, helperIcon, fullWidth, hasClear, onClear, ...otherProps }: TextFieldProps) => JSX.Element;
|
|
66
|
+
export declare const TextField: ({ options, margin, padding, style, error, variant, InputLabelProps, InputProps, SelectProps, autoComplete, onHelperClick, helperIcon, fullWidth, hasClear, onClear, children, ...otherProps }: TextFieldProps) => JSX.Element;
|
|
56
67
|
export default TextField;
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.useStyles = exports["default"] = exports.TextFieldWrapper = exports.TextField = exports.StaticTextFieldWrapper = exports.HelperBox = exports.EditBox = void 0;
|
|
7
|
+
exports.useStyles = exports.toLispCase = exports.renderOptions = exports["default"] = exports.coerceComboOptions = exports.TextFieldWrapper = exports.TextField = exports.StaticTextFieldWrapper = exports.HelperBox = exports.EditBox = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
10
10
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
@@ -12,6 +12,7 @@ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/hel
|
|
|
12
12
|
var _InputAdornment = _interopRequireDefault(require("@material-ui/core/InputAdornment"));
|
|
13
13
|
var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
|
|
14
14
|
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
15
|
+
var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
|
|
15
16
|
var _styles = require("@material-ui/core/styles");
|
|
16
17
|
var _react = _interopRequireDefault(require("react"));
|
|
17
18
|
var _Clear = _interopRequireDefault(require("@material-ui/icons/Clear"));
|
|
@@ -20,7 +21,15 @@ var _Edit = _interopRequireDefault(require("@material-ui/icons/Edit"));
|
|
|
20
21
|
var _Save = _interopRequireDefault(require("@material-ui/icons/Save"));
|
|
21
22
|
var _iconButton = _interopRequireDefault(require("../icon-button"));
|
|
22
23
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
23
|
-
var
|
|
24
|
+
var _when = _interopRequireDefault(require("ramda/es/when"));
|
|
25
|
+
var _is = _interopRequireDefault(require("ramda/es/is"));
|
|
26
|
+
var _pipe = _interopRequireDefault(require("ramda/es/pipe"));
|
|
27
|
+
var _split = _interopRequireDefault(require("ramda/es/split"));
|
|
28
|
+
var _map = _interopRequireDefault(require("ramda/es/map"));
|
|
29
|
+
var _zipObj = _interopRequireDefault(require("ramda/es/zipObj"));
|
|
30
|
+
var _reject = _interopRequireDefault(require("ramda/es/reject"));
|
|
31
|
+
var _propEq = _interopRequireDefault(require("ramda/es/propEq"));
|
|
32
|
+
var _excluded = ["options", "margin", "padding", "style", "error", "variant", "InputLabelProps", "InputProps", "SelectProps", "autoComplete", "onHelperClick", "helperIcon", "fullWidth", "hasClear", "onClear", "children"];
|
|
24
33
|
var _templateObject, _templateObject2, _templateObject3;
|
|
25
34
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
26
35
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -52,6 +61,14 @@ var useStyles = (0, _styles.makeStyles)({
|
|
|
52
61
|
}
|
|
53
62
|
});
|
|
54
63
|
exports.useStyles = useStyles;
|
|
64
|
+
var coerceComboOptions = (0, _when["default"])((0, _is["default"])(String), (0, _pipe["default"])((0, _split["default"])(';'), (0, _map["default"])((0, _pipe["default"])((0, _split["default"])('='), (0, _zipObj["default"])(['value', 'label']))), (0, _reject["default"])((0, _propEq["default"])('value', ''))));
|
|
65
|
+
exports.coerceComboOptions = coerceComboOptions;
|
|
66
|
+
var toLispCase = function toLispCase(name) {
|
|
67
|
+
return name.replace(/([a-z])([A-Z])/g, function (_, first, second) {
|
|
68
|
+
return first + '-' + second;
|
|
69
|
+
}).toLowerCase();
|
|
70
|
+
};
|
|
71
|
+
exports.toLispCase = toLispCase;
|
|
55
72
|
var HelperBox = function HelperBox(props) {
|
|
56
73
|
return /*#__PURE__*/_react["default"].createElement(Helper, {
|
|
57
74
|
role: "helper-box"
|
|
@@ -62,7 +79,23 @@ var HelperBox = function HelperBox(props) {
|
|
|
62
79
|
color: "primary"
|
|
63
80
|
})));
|
|
64
81
|
};
|
|
82
|
+
/* Jest-ignore-start ignore next */
|
|
65
83
|
exports.HelperBox = HelperBox;
|
|
84
|
+
var renderOptions = function renderOptions(options) {
|
|
85
|
+
console.log(options);
|
|
86
|
+
var comboOptions = typeof options === 'string' ? coerceComboOptions(options) : options;
|
|
87
|
+
return options &&
|
|
88
|
+
// @ts-ignore
|
|
89
|
+
comboOptions.map(function (option) {
|
|
90
|
+
return /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
|
|
91
|
+
id: toLispCase("option-".concat(option.value)),
|
|
92
|
+
key: option.value,
|
|
93
|
+
disabled: option.disabled,
|
|
94
|
+
value: option.value
|
|
95
|
+
}, option.label);
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
exports.renderOptions = renderOptions;
|
|
66
99
|
var EditBox = function EditBox(props) {
|
|
67
100
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
68
101
|
role: "edit-box"
|
|
@@ -93,7 +126,8 @@ var renderEndAdornment = function renderEndAdornment(onClear) {
|
|
|
93
126
|
})));
|
|
94
127
|
};
|
|
95
128
|
var TextField = function TextField(_ref) {
|
|
96
|
-
var
|
|
129
|
+
var options = _ref.options,
|
|
130
|
+
margin = _ref.margin,
|
|
97
131
|
padding = _ref.padding,
|
|
98
132
|
_ref$style = _ref.style,
|
|
99
133
|
style = _ref$style === void 0 ? {} : _ref$style,
|
|
@@ -113,6 +147,7 @@ var TextField = function TextField(_ref) {
|
|
|
113
147
|
fullWidth = _ref.fullWidth,
|
|
114
148
|
hasClear = _ref.hasClear,
|
|
115
149
|
onClear = _ref.onClear,
|
|
150
|
+
children = _ref.children,
|
|
116
151
|
otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
117
152
|
var clearStyle = (0, _styles.makeStyles)({
|
|
118
153
|
iconOutlined: {
|
|
@@ -134,6 +169,7 @@ var TextField = function TextField(_ref) {
|
|
|
134
169
|
};
|
|
135
170
|
var Wrapper = hasClear ? StaticTextFieldWrapper : TextFieldWrapper;
|
|
136
171
|
return /*#__PURE__*/_react["default"].createElement(Wrapper, null, /*#__PURE__*/_react["default"].createElement(_TextField["default"], (0, _extends2["default"])({
|
|
172
|
+
select: !!(options !== null && options !== void 0 && options.length),
|
|
137
173
|
fullWidth: fullWidth,
|
|
138
174
|
autoComplete: autoComplete,
|
|
139
175
|
error: error,
|
|
@@ -161,7 +197,7 @@ var TextField = function TextField(_ref) {
|
|
|
161
197
|
iconOutlined: hasClear ? clearClass.iconOutlined : classes.iconOutlined
|
|
162
198
|
}
|
|
163
199
|
}, endAdornment), SelectProps)
|
|
164
|
-
}, otherProps)), onHelperClick && /*#__PURE__*/_react["default"].createElement(HelperBox, {
|
|
200
|
+
}, otherProps), options ? renderOptions(options) : children), onHelperClick && /*#__PURE__*/_react["default"].createElement(HelperBox, {
|
|
165
201
|
helperIcon: helperIcon,
|
|
166
202
|
onHelperClick: handleClick
|
|
167
203
|
}));
|
package/package.json
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { IOption, TextFieldProps } from '@/core/inputs/text-field';
|
|
2
|
+
interface IProps {
|
|
3
|
+
initialOption?: string;
|
|
4
|
+
inputProps?: TextFieldProps;
|
|
5
|
+
options?: IOption[] | string;
|
|
6
|
+
}
|
|
7
|
+
declare const Default: ({ inputProps, initialOption, options }: IProps) => JSX.Element;
|
|
8
|
+
export default Default;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
var _textField = _interopRequireDefault(require("../../core/inputs/text-field"));
|
|
12
|
+
var React = _interopRequireWildcard(require("react"));
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
+
var Default = function Default(_ref) {
|
|
16
|
+
var inputProps = _ref.inputProps,
|
|
17
|
+
initialOption = _ref.initialOption,
|
|
18
|
+
options = _ref.options;
|
|
19
|
+
var _React$useState = React.useState(initialOption ? initialOption : ''),
|
|
20
|
+
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
|
|
21
|
+
value = _React$useState2[0],
|
|
22
|
+
setValue = _React$useState2[1];
|
|
23
|
+
var handleChange = function handleChange(event) {
|
|
24
|
+
setValue(event.target.value);
|
|
25
|
+
};
|
|
26
|
+
var handleClear = function handleClear() {
|
|
27
|
+
setValue('');
|
|
28
|
+
};
|
|
29
|
+
return /*#__PURE__*/React.createElement(_textField["default"], (0, _extends2["default"])({
|
|
30
|
+
value: value,
|
|
31
|
+
onChange: handleChange,
|
|
32
|
+
onClear: handleClear
|
|
33
|
+
}, inputProps, {
|
|
34
|
+
options: options
|
|
35
|
+
}));
|
|
36
|
+
};
|
|
37
|
+
var _default = Default;
|
|
38
|
+
exports["default"] = _default;
|