flipper-ui 0.34.3 → 0.34.4

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.
@@ -69,8 +69,8 @@ var renderEditMode = function renderEditMode(column, row, updateRow, errors) {
69
69
  decimalScale: decimalScale,
70
70
  value: numeric,
71
71
  name: column.field.toString(),
72
- onChange: function onChange(event) {
73
- updateRow(column.field, event.target.value);
72
+ onValueChange: function onValueChange(values) {
73
+ updateRow(column.field, values.value);
74
74
  }
75
75
  });
76
76
  }
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- import type { ComponentType } from 'react';
3
- import type { NumberFormatProps } from 'react-number-format';
2
+ import type { ComponentType, SyntheticEvent } from 'react';
3
+ import type { NumberFormatValues, SourceInfo } from 'react-number-format';
4
4
  import type { ITextFieldProps } from '@/core/inputs/text-field';
5
- export interface MaskFieldProps extends NumberFormatProps {
6
- mask?: string;
5
+ import type { SourceType } from 'react-number-format/types/types';
6
+ export interface MaskFieldProps extends Omit<ITextFieldProps, 'size'> {
7
+ mask?: string | string[];
7
8
  type?: 'text' | 'tel' | 'password';
8
9
  decimalSeparator?: string;
9
10
  format?: string;
@@ -11,6 +12,17 @@ export interface MaskFieldProps extends NumberFormatProps {
11
12
  thousandSeparator?: boolean | string;
12
13
  fixedDecimalScale?: boolean;
13
14
  customInput?: ComponentType<ITextFieldProps>;
15
+ hasFormat?: boolean;
16
+ onValueChange?: (values: NumberFormatValues, sourceInfo: SourceInfo) => void;
17
+ }
18
+ export interface IValues {
19
+ value: string;
20
+ floatValue?: number;
21
+ formattedValue?: string;
22
+ }
23
+ export interface ISource {
24
+ event?: SyntheticEvent<HTMLInputElement>;
25
+ source: SourceType;
14
26
  }
15
27
  declare const MaskField: (props: MaskFieldProps) => React.JSX.Element;
16
28
  export default MaskField;
@@ -6,22 +6,28 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports["default"] = void 0;
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
10
11
  var _react = _interopRequireDefault(require("react"));
11
- var _reactNumberFormat = _interopRequireDefault(require("react-number-format"));
12
+ var _reactNumberFormat = require("react-number-format");
12
13
  var _textField = _interopRequireDefault(require("../text-field"));
13
- var _excluded = ["customInput"];
14
+ var _excluded = ["customInput", "hasFormat", "format", "style"];
15
+ 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; }
16
+ 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; }
14
17
  var MaskField = function MaskField(props) {
15
18
  var customInput = props.customInput,
19
+ hasFormat = props.hasFormat,
20
+ _props$format = props.format,
21
+ format = _props$format === void 0 ? '######' : _props$format,
22
+ style = props.style,
16
23
  otherProps = (0, _objectWithoutProperties2["default"])(props, _excluded);
17
- return (
18
- /*#__PURE__*/
19
- // Although react-number-format allow use of additional props,
20
- // shows problem with some props like have been do this
21
- // actually on flipper-ui. (e.g. errors treatment)
22
- _react["default"].createElement(_reactNumberFormat["default"], (0, _extends2["default"])({}, otherProps, {
23
- customInput: customInput || _textField["default"]
24
- }))
25
- );
24
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, hasFormat ? /*#__PURE__*/_react["default"].createElement(_reactNumberFormat.PatternFormat, (0, _extends2["default"])({}, otherProps, {
25
+ format: format,
26
+ style: _objectSpread({}, style),
27
+ customInput: customInput || _textField["default"]
28
+ })) : /*#__PURE__*/_react["default"].createElement(_reactNumberFormat.NumericFormat, (0, _extends2["default"])({}, otherProps, {
29
+ style: _objectSpread({}, style),
30
+ customInput: customInput || _textField["default"]
31
+ })));
26
32
  };
27
33
  var _default = exports["default"] = MaskField;
@@ -10,14 +10,11 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var _Clear2 = _interopRequireDefault(require("@mui/icons-material/Clear"));
12
12
  var _Help2 = _interopRequireDefault(require("@mui/icons-material/Help"));
13
- var _propEq2 = _interopRequireDefault(require("ramda/es/propEq"));
14
13
  var _reject2 = _interopRequireDefault(require("ramda/es/reject"));
15
- var _zipObj2 = _interopRequireDefault(require("ramda/es/zipObj"));
14
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
16
15
  var _map2 = _interopRequireDefault(require("ramda/es/map"));
17
16
  var _split2 = _interopRequireDefault(require("ramda/es/split"));
18
17
  var _pipe2 = _interopRequireDefault(require("ramda/es/pipe"));
19
- var _is2 = _interopRequireDefault(require("ramda/es/is"));
20
- var _when2 = _interopRequireDefault(require("ramda/es/when"));
21
18
  var _makeStyles2 = _interopRequireDefault(require("@mui/styles/makeStyles"));
22
19
  var _react = _interopRequireDefault(require("react"));
23
20
  var _InputAdornment = _interopRequireDefault(require("@mui/material/InputAdornment"));
@@ -38,7 +35,19 @@ var useStyles = (0, _makeStyles2["default"])({
38
35
  fontSize: '14px'
39
36
  }
40
37
  });
41
- var coerceComboOptions = (0, _when2["default"])((0, _is2["default"])(String), (0, _pipe2["default"])((0, _split2["default"])(';'), (0, _map2["default"])((0, _pipe2["default"])((0, _split2["default"])('='), (0, _zipObj2["default"])(['value', 'label']))), (0, _reject2["default"])((0, _propEq2["default"])('value', ''))));
38
+ var coerceComboOptions = function coerceComboOptions(input) {
39
+ return (0, _pipe2["default"])((0, _split2["default"])(';'), (0, _map2["default"])((0, _pipe2["default"])((0, _split2["default"])('='), function (_ref) {
40
+ var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
41
+ value = _ref2[0],
42
+ label = _ref2[1];
43
+ return {
44
+ value: value,
45
+ label: label
46
+ };
47
+ })), (0, _reject2["default"])(function (option) {
48
+ return option.value === '';
49
+ }))(input);
50
+ };
42
51
  var toLispCase = function toLispCase(name) {
43
52
  return name.replace(/([a-z])([A-Z])/g, function (_, first, second) {
44
53
  return first + '-' + second;
@@ -80,34 +89,34 @@ var renderEndAdornment = function renderEndAdornment(disabled, onClear) {
80
89
  fontSize: "inherit"
81
90
  })));
82
91
  };
83
- var TextField = function TextField(_ref) {
92
+ var TextField = function TextField(_ref3) {
84
93
  var _otherProps$value, _otherProps$inputProp;
85
- var options = _ref.options,
86
- size = _ref.size,
87
- margin = _ref.margin,
88
- padding = _ref.padding,
89
- _ref$style = _ref.style,
90
- style = _ref$style === void 0 ? {} : _ref$style,
91
- error = _ref.error,
92
- _ref$variant = _ref.variant,
93
- variant = _ref$variant === void 0 ? 'outlined' : _ref$variant,
94
- _ref$InputLabelProps = _ref.InputLabelProps,
95
- InputLabelProps = _ref$InputLabelProps === void 0 ? {} : _ref$InputLabelProps,
96
- _ref$InputProps = _ref.InputProps,
97
- InputProps = _ref$InputProps === void 0 ? {} : _ref$InputProps,
98
- _ref$SelectProps = _ref.SelectProps,
99
- SelectProps = _ref$SelectProps === void 0 ? {} : _ref$SelectProps,
100
- _ref$autoComplete = _ref.autoComplete,
101
- autoComplete = _ref$autoComplete === void 0 ? 'off' : _ref$autoComplete,
102
- onHelperClick = _ref.onHelperClick,
103
- helperIcon = _ref.helperIcon,
104
- fullWidth = _ref.fullWidth,
105
- hasClear = _ref.hasClear,
106
- onClear = _ref.onClear,
107
- onChange = _ref.onChange,
108
- characters = _ref.characters,
109
- children = _ref.children,
110
- otherProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
94
+ var options = _ref3.options,
95
+ size = _ref3.size,
96
+ margin = _ref3.margin,
97
+ padding = _ref3.padding,
98
+ _ref3$style = _ref3.style,
99
+ style = _ref3$style === void 0 ? {} : _ref3$style,
100
+ error = _ref3.error,
101
+ _ref3$variant = _ref3.variant,
102
+ variant = _ref3$variant === void 0 ? 'outlined' : _ref3$variant,
103
+ _ref3$InputLabelProps = _ref3.InputLabelProps,
104
+ InputLabelProps = _ref3$InputLabelProps === void 0 ? {} : _ref3$InputLabelProps,
105
+ _ref3$InputProps = _ref3.InputProps,
106
+ InputProps = _ref3$InputProps === void 0 ? {} : _ref3$InputProps,
107
+ _ref3$SelectProps = _ref3.SelectProps,
108
+ SelectProps = _ref3$SelectProps === void 0 ? {} : _ref3$SelectProps,
109
+ _ref3$autoComplete = _ref3.autoComplete,
110
+ autoComplete = _ref3$autoComplete === void 0 ? 'off' : _ref3$autoComplete,
111
+ onHelperClick = _ref3.onHelperClick,
112
+ helperIcon = _ref3.helperIcon,
113
+ fullWidth = _ref3.fullWidth,
114
+ hasClear = _ref3.hasClear,
115
+ onClear = _ref3.onClear,
116
+ onChange = _ref3.onChange,
117
+ characters = _ref3.characters,
118
+ children = _ref3.children,
119
+ otherProps = (0, _objectWithoutProperties2["default"])(_ref3, _excluded);
111
120
  var classes = useStyles();
112
121
  var hasValue = !!otherProps.value;
113
122
  var endAdornment = hasValue && hasClear ? {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "flipper-ui",
3
- "version": "0.34.3",
3
+ "version": "0.34.4",
4
4
  "description": "React UI based on the @mui/material toolkit for the web",
5
5
  "main": "dist/index.js",
6
6
  "author": "NG",
@@ -35,41 +35,41 @@
35
35
  "dependencies": {
36
36
  "@emotion/react": "11.13.0",
37
37
  "@emotion/styled": "11.13.0",
38
- "@mui/icons-material": "5.16.5",
39
- "@mui/material": "5.16.5",
40
- "@mui/styles": "5.16.5",
41
- "@mui/x-date-pickers": "7.11.1",
38
+ "@mui/icons-material": "5.16.6",
39
+ "@mui/material": "5.16.6",
40
+ "@mui/styles": "5.16.6",
41
+ "@mui/x-date-pickers": "7.12.0",
42
42
  "date-fns": "2.30.0",
43
- "ramda": "0.25.0",
43
+ "ramda": "0.30.1",
44
44
  "react-loading-skeleton": "3.4.0",
45
- "react-number-format": "4.4.1",
45
+ "react-number-format": "5.4.0",
46
46
  "sprintf-js": "1.1.3",
47
47
  "uuid": "10.0.0"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@babel/cli": "7.24.8",
51
- "@babel/core": "7.24.9",
51
+ "@babel/core": "7.25.2",
52
52
  "@babel/plugin-transform-runtime": "7.24.7",
53
- "@babel/preset-env": "7.25.0",
53
+ "@babel/preset-env": "7.25.3",
54
54
  "@babel/preset-typescript": "7.24.7",
55
55
  "@faker-js/faker": "8.4.1",
56
56
  "@storybook/addon-essentials": "7.6.17",
57
57
  "@storybook/addon-styling-webpack": "1.0.0",
58
58
  "@storybook/react": "7.6.17",
59
59
  "@storybook/react-webpack5": "7.6.17",
60
- "@stylistic/eslint-plugin": "2.4.0",
60
+ "@stylistic/eslint-plugin": "2.6.1",
61
61
  "@testing-library/dom": "10.4.0",
62
62
  "@testing-library/jest-dom": "6.4.8",
63
63
  "@testing-library/react": "16.0.0",
64
64
  "@testing-library/user-event": "14.5.2",
65
65
  "@types/jest": "29.5.12",
66
- "@types/node": "22.0.0",
67
- "@types/ramda": "0.25.36",
66
+ "@types/node": "22.1.0",
67
+ "@types/ramda": "0.30.1",
68
68
  "@types/react": "18.3.3",
69
69
  "@types/sprintf-js": "1.1.4",
70
70
  "@types/uuid": "10.0.0",
71
- "@typescript-eslint/eslint-plugin": "7.18.0",
72
- "@typescript-eslint/parser": "7.18.0",
71
+ "@typescript-eslint/eslint-plugin": "8.0.0",
72
+ "@typescript-eslint/parser": "8.0.0",
73
73
  "babel-loader": "9.1.3",
74
74
  "babel-plugin-import": "1.13.8",
75
75
  "babel-plugin-module-resolver": "5.0.2",
@@ -89,7 +89,7 @@
89
89
  "react-dom": "18.3.1",
90
90
  "storybook": "7.6.17",
91
91
  "styled-components": "6.1.12",
92
- "ts-jest": "29.2.3",
92
+ "ts-jest": "29.2.4",
93
93
  "ts-loader": "9.5.1",
94
94
  "typescript": "5.5.4",
95
95
  "webpack": "5.93.0"
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const MaskFieldWrapper: () => React.JSX.Element;
@@ -0,0 +1,33 @@
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.MaskFieldWrapper = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _maskField = _interopRequireDefault(require("../../core/inputs/mask-field"));
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
14
+ var MaskFieldWrapper = exports.MaskFieldWrapper = function MaskFieldWrapper() {
15
+ var _useState = (0, _react.useState)('1234567,89'),
16
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
17
+ value = _useState2[0],
18
+ setValue = _useState2[1];
19
+ var handleChange = function handleChange(value) {
20
+ setValue(value);
21
+ };
22
+ return /*#__PURE__*/_react["default"].createElement(_maskField["default"], {
23
+ fixedDecimalScale: true,
24
+ value: value,
25
+ decimalScale: 2,
26
+ decimalSeparator: ",",
27
+ thousandSeparator: ".",
28
+ placeholder: "Description",
29
+ onValueChange: function onValueChange(values) {
30
+ return handleChange(values.value);
31
+ }
32
+ });
33
+ };