tenjin-ui-kit 0.2.144 → 0.2.145

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.
@@ -52,19 +52,7 @@ var Button = function Button(props) {
52
52
  setSelectedMenu(value);
53
53
  handleClose();
54
54
  };
55
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !type ? /*#__PURE__*/_react.default.createElement(_material.Button, _extends({
56
- onClick: handleClick
57
- }, props, {
58
- sx: fixedWidth && {
59
- minWidth: 148
60
- }
61
- }), loading ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ButtonLoader, {
62
- buttonColor: color,
63
- size: size,
64
- loadingText: loadingText
65
- }), loadingText && {
66
- loadingText: loadingText
67
- }) : children) : /*#__PURE__*/_react.default.createElement("div", {
55
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, type === "menu" ? /*#__PURE__*/_react.default.createElement("div", {
68
56
  style: {
69
57
  display: "flex",
70
58
  justifyContent: "flex-end",
@@ -98,7 +86,19 @@ var Button = function Button(props) {
98
86
  },
99
87
  key: item.item
100
88
  }, item.item);
101
- })))));
89
+ })))) : /*#__PURE__*/_react.default.createElement(_material.Button, _extends({
90
+ onClick: handleClick
91
+ }, props, {
92
+ sx: fixedWidth && {
93
+ minWidth: 148
94
+ }
95
+ }), loading ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ButtonLoader, {
96
+ buttonColor: color,
97
+ size: size,
98
+ loadingText: loadingText
99
+ }), loadingText && {
100
+ loadingText: loadingText
101
+ }) : children));
102
102
  };
103
103
  var ButtonLoader = function ButtonLoader(_ref) {
104
104
  var buttonColor = _ref.buttonColor,
@@ -1,16 +1,26 @@
1
1
  "use strict";
2
2
 
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
7
  exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
8
9
  var _reactFinalForm = require("react-final-form");
9
10
  var _material = require("@mui/material");
10
11
  var _text = _interopRequireDefault(require("../text"));
11
- var _excluded = ["options", "errorMessage", "error", "fullWidth", "isDisabled", "label", "isRequired", "helperText"];
12
+ var _Search = _interopRequireDefault(require("@mui/icons-material/Search"));
13
+ var _excluded = ["options", "errorMessage", "error", "fullWidth", "isDisabled", "label", "isRequired", "helperText", "isSearch", "loading"];
12
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ 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); }
16
+ 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; }
13
17
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
18
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
19
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
20
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
21
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
22
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
23
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
24
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
15
25
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
16
26
  // import { Form } from "react-final-form";
@@ -25,7 +35,44 @@ var SimpleSelect = function SimpleSelect(_ref) {
25
35
  label = _ref.label,
26
36
  isRequired = _ref.isRequired,
27
37
  helperText = _ref.helperText,
38
+ isSearch = _ref.isSearch,
39
+ loading = _ref.loading,
28
40
  rest = _objectWithoutProperties(_ref, _excluded);
41
+ var _useState = (0, _react.useState)(""),
42
+ _useState2 = _slicedToArray(_useState, 2),
43
+ searchText = _useState2[0],
44
+ setSearchText = _useState2[1];
45
+ var _useState3 = (0, _react.useState)(false),
46
+ _useState4 = _slicedToArray(_useState3, 2),
47
+ noDataAvailable = _useState4[0],
48
+ setNoDataAvailable = _useState4[1];
49
+ var containsText = function containsText(text, searchText) {
50
+ return typeof text === "string" && typeof searchText === "string" && text.toLowerCase().indexOf(searchText.toLowerCase()) > -1;
51
+ };
52
+
53
+ // const displayedOptions = useMemo(() => {
54
+ // return options
55
+ // .filter((option) => containsText(option.label, searchText))
56
+ // .map((option) => ({
57
+ // label: option.label,
58
+ // value: option.value,
59
+ // }));
60
+ // }, [options, searchText]);
61
+ var displayedOptions = (0, _react.useMemo)(function () {
62
+ var filteredOptions = options.filter(function (option) {
63
+ return containsText(option.label, searchText);
64
+ });
65
+ if (isSearch) {
66
+ setNoDataAvailable(filteredOptions.length === 0);
67
+ }
68
+ return filteredOptions.map(function (option) {
69
+ return {
70
+ label: option.label,
71
+ value: option.value
72
+ };
73
+ });
74
+ }, [options, searchText, isSearch]);
75
+ var recommendedOptions = isSearch ? displayedOptions : options;
29
76
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_material.FormControl, {
30
77
  sx: {
31
78
  m: 1,
@@ -49,8 +96,40 @@ var SimpleSelect = function SimpleSelect(_ref) {
49
96
  color: "red"
50
97
  }
51
98
  }, " * ") : "")), /*#__PURE__*/_react.default.createElement(_material.Select, _extends({}, rest, {
52
- fullWidth: true
53
- }), options.map(function (option) {
99
+ fullWidth: true,
100
+ onClose: function onClose() {
101
+ return setSearchText("");
102
+ }
103
+ }), isSearch && /*#__PURE__*/_react.default.createElement(_material.TextField, {
104
+ size: "small",
105
+ autoFocus: true,
106
+ placeholder: "Type to search...",
107
+ fullWidth: true,
108
+ InputProps: {
109
+ startAdornment: /*#__PURE__*/_react.default.createElement(_material.InputAdornment, {
110
+ position: "start"
111
+ }, /*#__PURE__*/_react.default.createElement(_Search.default, null))
112
+ },
113
+ onChange: function onChange(e) {
114
+ return setSearchText(e.target.value);
115
+ },
116
+ onKeyDown: function onKeyDown(e) {
117
+ if (e.key !== "Escape") {
118
+ // Prevents autoselecting item while typing (default Select behaviour)
119
+ e.stopPropagation();
120
+ }
121
+ }
122
+ }), loading ? /*#__PURE__*/_react.default.createElement(_text.default, {
123
+ variant: "span",
124
+ color: "secondary",
125
+ sx: {
126
+ fontStyle: "italic",
127
+ display: "flex",
128
+ padding: "0.5rem 0rem 0rem 1rem"
129
+ }
130
+ }, "Fetching Options...") : noDataAvailable ? /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
131
+ disabled: true
132
+ }, "No Data Available") : recommendedOptions === null || recommendedOptions === void 0 ? void 0 : recommendedOptions.map(function (option) {
54
133
  return /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
55
134
  key: option.value,
56
135
  value: option.value
@@ -192,7 +192,9 @@ ReactSelect.propTypes = {
192
192
  placeholder: _propTypes.default.string,
193
193
  isRequired: _propTypes.default.bool,
194
194
  simulateNativeSelect: _propTypes.default.bool,
195
- onChange: _propTypes.default.func
195
+ onChange: _propTypes.default.func,
196
+ isSearch: _propTypes.default.bool,
197
+ loading: _propTypes.default.bool
196
198
  };
197
199
  ReactSelect.defaultProps = {
198
200
  value: {},
@@ -204,7 +206,9 @@ ReactSelect.defaultProps = {
204
206
  options: [],
205
207
  placeholder: "",
206
208
  isRequired: false,
207
- simulateNativeSelect: true
209
+ simulateNativeSelect: true,
210
+ isSearch: false,
211
+ loading: false
208
212
  };
209
213
  var _default = ReactSelect;
210
214
  exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tenjin-ui-kit",
3
- "version": "0.2.144",
3
+ "version": "0.2.145",
4
4
  "repository": {
5
5
  "url": "https://gitlab.com/yethi/react/tenjin-ui-kit.git"
6
6
  },