tenjin-ui-kit 0.3.67 → 0.3.69

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.
Files changed (204) hide show
  1. package/.dockerignore +6 -0
  2. package/.storybook/main.js +16 -0
  3. package/.storybook/preview.js +11 -0
  4. package/Dockerfile +17 -0
  5. package/Jenkinsfile +66 -0
  6. package/build/asset-manifest.json +16 -0
  7. package/build/favicon.ico +0 -0
  8. package/build/index.html +1 -0
  9. package/build/logo192.png +0 -0
  10. package/build/logo512.png +0 -0
  11. package/build/manifest.json +25 -0
  12. package/build/robots.txt +3 -0
  13. package/build/static/css/main.e7366529.css +2 -0
  14. package/build/static/css/main.e7366529.css.map +1 -0
  15. package/build/static/js/453.900c81c3.chunk.js +2 -0
  16. package/build/static/js/453.900c81c3.chunk.js.map +1 -0
  17. package/build/static/js/main.8abb72fa.js +3 -0
  18. package/build/static/js/main.8abb72fa.js.LICENSE.txt +61 -0
  19. package/build/static/js/main.8abb72fa.js.map +1 -0
  20. package/build/static/media/logo.6ce24c58023cc2f8fd88fe9d219db6c6.svg +1 -0
  21. package/build/tenjinLogo.png +0 -0
  22. package/dist/README.md +13 -0
  23. package/dist/common/hooks/apiHooks.js +155 -0
  24. package/dist/common/hooks/newApiHook.js +188 -0
  25. package/{common → dist/common}/utils/security/index.js +2 -2
  26. package/{common → dist/common}/utils/security/securityConfig.js +1 -2
  27. package/dist/components/Canvas.js +330 -0
  28. package/dist/components/DragBox/index.js +40 -0
  29. package/dist/components/InputWithChip/index.js +294 -0
  30. package/{components → dist/components}/RightContext/index.js +19 -28
  31. package/dist/components/WorkFlow.js +42 -0
  32. package/dist/components/WorkFlowBuilder.js +115 -0
  33. package/dist/components/alert/Style.js +20 -0
  34. package/dist/components/alert/index.js +67 -0
  35. package/{components → dist/components}/attachment/index.js +21 -28
  36. package/{components → dist/components}/authenticationProvider/AuthError.js +3 -4
  37. package/{components → dist/components}/authenticationProvider/AuthLoader.js +3 -4
  38. package/dist/components/authenticationProvider/index.js +110 -0
  39. package/{components → dist/components}/avatar/index.js +13 -14
  40. package/dist/components/avatar/styles.js +91 -0
  41. package/dist/components/breadCrumbs/index.js +169 -0
  42. package/{components → dist/components}/breadCrumbs/style.js +1 -4
  43. package/{components → dist/components}/browsingTestCaseLayout/DetailsViewLayout/DetailsViewContent/index.js +5 -6
  44. package/{components → dist/components}/browsingTestCaseLayout/DetailsViewLayout/DetailsViewContent/style.js +5 -8
  45. package/{components → dist/components}/browsingTestCaseLayout/DetailsViewLayout/DetailsViewHeader/index.js +4 -5
  46. package/{components → dist/components}/browsingTestCaseLayout/TreeViewLayout/TreeViewContent/Index.js +4 -5
  47. package/{components → dist/components}/browsingTestCaseLayout/TreeViewLayout/TreeViewHeader/Index.js +5 -6
  48. package/dist/components/browsingTestCaseLayout/TreeViewLayout/TreeViewHeader/style.js +23 -0
  49. package/{components → dist/components}/browsingTestCaseLayout/index.js +25 -30
  50. package/dist/components/button/index.js +133 -0
  51. package/{components → dist/components}/chatBotModal/index.js +36 -45
  52. package/dist/components/checkBox/index.js +29 -0
  53. package/{components → dist/components}/combobox/index.js +51 -72
  54. package/dist/components/divider/index.js +37 -0
  55. package/{components → dist/components}/editableField/index.js +19 -28
  56. package/{components → dist/components}/error/index.js +6 -12
  57. package/dist/components/errorBoundary/index.js +140 -0
  58. package/dist/components/fileUploader/index.js +151 -0
  59. package/dist/components/fileUploader/style.js +57 -0
  60. package/dist/components/filter/ValueSelector.js +333 -0
  61. package/{components → dist/components}/filter/index.js +31 -36
  62. package/{components → dist/components}/iconButton/index.js +3 -4
  63. package/dist/components/input/index.js +167 -0
  64. package/dist/components/layout/index.js +94 -0
  65. package/dist/components/layout/main/index.js +24 -0
  66. package/dist/components/layout/main/style.js +19 -0
  67. package/{components → dist/components}/layout/pageContent/index.js +6 -7
  68. package/dist/components/layout/sidebar/FlatMenu.js +64 -0
  69. package/dist/components/layout/sidebar/GroupedIconMenu.js +233 -0
  70. package/dist/components/layout/sidebar/GroupedMenu.js +57 -0
  71. package/dist/components/layout/sidebar/ProjectMenu.js +223 -0
  72. package/dist/components/layout/sidebar/index.js +88 -0
  73. package/dist/components/layout/sidebar/style.js +149 -0
  74. package/{components → dist/components}/layout/topBar/ProjectTopbar.js +81 -98
  75. package/dist/components/layout/topBar/UserAvatar.js +138 -0
  76. package/dist/components/layout/topBar/index.js +121 -0
  77. package/{components → dist/components}/loader/index.js +9 -12
  78. package/dist/components/menu/index.js +71 -0
  79. package/{components → dist/components}/modal/Modal.js +5 -6
  80. package/dist/components/modal/index.js +88 -0
  81. package/dist/components/modal/style.js +65 -0
  82. package/dist/components/optionMenu/index.js +105 -0
  83. package/dist/components/pagination/index.js +114 -0
  84. package/dist/components/pagination/style.js +33 -0
  85. package/dist/components/paginationUpdated/index.js +73 -0
  86. package/dist/components/paper/index.js +43 -0
  87. package/dist/components/paper/style.js +31 -0
  88. package/dist/components/reactSelect/index.js +195 -0
  89. package/dist/components/reactSelect/style.js +130 -0
  90. package/dist/components/richTextEditor/index.js +64 -0
  91. package/dist/components/select/GroupedSelect.js +167 -0
  92. package/dist/components/select/SimpleSelect.js +184 -0
  93. package/{components → dist/components}/select/index.js +38 -54
  94. package/dist/components/simpleSelect/index.js +53 -0
  95. package/{components → dist/components}/sort/index.js +19 -22
  96. package/{components → dist/components}/switch/index.js +10 -11
  97. package/dist/components/switch/style.js +39 -0
  98. package/{components → dist/components}/switch/switch.js +17 -23
  99. package/dist/components/table/ReactTable.js +101 -0
  100. package/dist/components/table/SimpleTable.js +117 -0
  101. package/dist/components/table/index.js +381 -0
  102. package/dist/components/text/index.js +65 -0
  103. package/{components → dist/components}/timeStamp/index.js +4 -6
  104. package/dist/components/timeStamp/style.js +20 -0
  105. package/dist/components/topBar/index.js +169 -0
  106. package/{components → dist/components}/tree/index.js +29 -47
  107. package/dist/components/tree/style.js +29 -0
  108. package/dist/components/valuePicker/ValueSelector.js +205 -0
  109. package/{components → dist/components}/valuePicker/index.js +19 -26
  110. package/{components → dist/components}/wrapperLayout/layout/index.js +4 -5
  111. package/{components → dist/components}/wrapperLayout/main/index.js +4 -5
  112. package/{components → dist/components}/wrapperLayout/main/pageContainer/index.js +4 -5
  113. package/dist/components/wrapperLayout/main/sideBar/index.js +272 -0
  114. package/dist/components/wrapperLayout/main/sideBar/style.js +190 -0
  115. package/{components → dist/components}/wrapperLayout/topBar/UserAvatar.js +4 -5
  116. package/dist/components/wrapperLayout/topBar/avatar.js +55 -0
  117. package/dist/components/wrapperLayout/topBar/index.js +196 -0
  118. package/{components → dist/components}/wrapperLayout/topBar/menuIcon.js +4 -5
  119. package/dist/components/wrapperLayout/topBar/style.js +74 -0
  120. package/dist/http/index.js +133 -0
  121. package/{index.js → dist/index.js} +53 -55
  122. package/dist/package.json +127 -0
  123. package/{templates → dist/templates}/listPage/index.js +36 -57
  124. package/{themes → dist/themes}/default.js +5 -7
  125. package/{themes → dist/themes}/defaultSmall.js +2 -3
  126. package/{themes → dist/themes}/responsiveTheme.js +6 -8
  127. package/package.json +4 -1
  128. package/public/favicon.ico +0 -0
  129. package/public/index.html +43 -0
  130. package/public/logo192.png +0 -0
  131. package/public/logo512.png +0 -0
  132. package/public/manifest.json +25 -0
  133. package/public/robots.txt +3 -0
  134. package/public/tenjinLogo.png +0 -0
  135. package/common/hooks/apiHooks.js +0 -223
  136. package/common/hooks/newApiHook.js +0 -270
  137. package/components/Canvas.js +0 -254
  138. package/components/DragBox/index.js +0 -45
  139. package/components/InputWithChip/index.js +0 -187
  140. package/components/WorkFlow.js +0 -47
  141. package/components/WorkFlowBuilder.js +0 -130
  142. package/components/alert/Style.js +0 -23
  143. package/components/alert/index.js +0 -69
  144. package/components/authenticationProvider/index.js +0 -166
  145. package/components/avatar/styles.js +0 -94
  146. package/components/breadCrumbs/index.js +0 -180
  147. package/components/browsingTestCaseLayout/TreeViewLayout/TreeViewHeader/style.js +0 -26
  148. package/components/button/index.js +0 -135
  149. package/components/checkBox/index.js +0 -30
  150. package/components/divider/index.js +0 -41
  151. package/components/errorBoundary/index.js +0 -160
  152. package/components/fileUploader/index.js +0 -156
  153. package/components/fileUploader/style.js +0 -60
  154. package/components/filter/ValueSelector.js +0 -350
  155. package/components/input/index.js +0 -174
  156. package/components/layout/index.js +0 -98
  157. package/components/layout/main/index.js +0 -27
  158. package/components/layout/main/style.js +0 -22
  159. package/components/layout/sidebar/FlatMenu.js +0 -64
  160. package/components/layout/sidebar/GroupedIconMenu.js +0 -246
  161. package/components/layout/sidebar/GroupedMenu.js +0 -67
  162. package/components/layout/sidebar/ProjectMenu.js +0 -230
  163. package/components/layout/sidebar/index.js +0 -91
  164. package/components/layout/sidebar/style.js +0 -154
  165. package/components/layout/topBar/UserAvatar.js +0 -145
  166. package/components/layout/topBar/index.js +0 -132
  167. package/components/menu/index.js +0 -80
  168. package/components/modal/index.js +0 -91
  169. package/components/modal/style.js +0 -68
  170. package/components/optionMenu/index.js +0 -112
  171. package/components/pagination/index.js +0 -129
  172. package/components/pagination/style.js +0 -36
  173. package/components/paginationUpdated/index.js +0 -75
  174. package/components/paper/index.js +0 -44
  175. package/components/paper/style.js +0 -34
  176. package/components/reactSelect/index.js +0 -212
  177. package/components/reactSelect/style.js +0 -163
  178. package/components/richTextEditor/index.js +0 -83
  179. package/components/select/GroupedSelect.js +0 -183
  180. package/components/select/SimpleSelect.js +0 -212
  181. package/components/simpleSelect/index.js +0 -56
  182. package/components/switch/style.js +0 -42
  183. package/components/table/ReactTable.js +0 -118
  184. package/components/table/SimpleTable.js +0 -136
  185. package/components/table/index.js +0 -256
  186. package/components/text/index.js +0 -67
  187. package/components/timeStamp/style.js +0 -23
  188. package/components/topBar/index.js +0 -176
  189. package/components/tree/style.js +0 -32
  190. package/components/valuePicker/ValueSelector.js +0 -273
  191. package/components/wrapperLayout/main/sideBar/index.js +0 -262
  192. package/components/wrapperLayout/main/sideBar/style.js +0 -196
  193. package/components/wrapperLayout/topBar/avatar.js +0 -57
  194. package/components/wrapperLayout/topBar/index.js +0 -182
  195. package/components/wrapperLayout/topBar/style.js +0 -77
  196. package/http/index.js +0 -226
  197. /package/{assets → dist/assets}/images/MicrosoftTeams-image (1).png +0 -0
  198. /package/{assets → dist/assets}/images/tenjin-4.0-logo.png +0 -0
  199. /package/{components → dist/components}/RightContext/index.css +0 -0
  200. /package/{components → dist/components}/browsingTestCaseLayout/style.css +0 -0
  201. /package/{components → dist/components}/errorBoundary/Error.jpg +0 -0
  202. /package/{components → dist/components}/iconButton/style.js +0 -0
  203. /package/{components → dist/components}/richTextEditor/style.js +0 -0
  204. /package/{components → dist/components}/wrapperLayout/layout/style.js +0 -0
@@ -0,0 +1,333 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _material = require("@mui/material");
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var colors = _interopRequireWildcard(require("@mui/material/colors"));
11
+ var _button = _interopRequireDefault(require("../button"));
12
+ var _text = _interopRequireDefault(require("../text"));
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
16
+ 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."); }
17
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
18
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
19
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
20
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
21
+ 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; }
22
+ 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) { _defineProperty(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; }
23
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
24
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
25
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
26
+ const determineSelectedOptions = (options, selectedIds, valueKey) => {
27
+ if (!options || options.length < 1) return [];
28
+ if (!selectedIds || selectedIds.length < 1) return options;
29
+ return options.map(o => _objectSpread(_objectSpread({}, o), {}, {
30
+ selected: selectedIds.includes(o[valueKey])
31
+ }));
32
+ };
33
+ const ValueSelector = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
34
+ let options = _ref.options,
35
+ valueKey = _ref.valueKey,
36
+ displayKey = _ref.displayKey,
37
+ avatarKey = _ref.avatarKey,
38
+ colorKey = _ref.colorKey,
39
+ onChange = _ref.onChange,
40
+ multiple = _ref.multiple,
41
+ defaultSelectedOptionIds = _ref.defaultSelectedOptionIds,
42
+ fetchData = _ref.fetchData,
43
+ showClearItems = _ref.showClearItems,
44
+ showAvatar = _ref.showAvatar,
45
+ setSearch = _ref.setSearch,
46
+ inputRef = _ref.inputRef,
47
+ searchText = _ref.searchText;
48
+ const theme = (0, _material.useTheme)();
49
+ const _useState = (0, _react.useState)(false),
50
+ _useState2 = _slicedToArray(_useState, 2),
51
+ loading = _useState2[0],
52
+ setLoading = _useState2[1];
53
+ const _useState3 = (0, _react.useState)([]),
54
+ _useState4 = _slicedToArray(_useState3, 2),
55
+ localOptions = _useState4[0],
56
+ setLocalOptions = _useState4[1];
57
+ const _useState5 = (0, _react.useState)(""),
58
+ _useState6 = _slicedToArray(_useState5, 2),
59
+ filter = _useState6[0],
60
+ setFilter = _useState6[1];
61
+ const _useState7 = (0, _react.useState)([]),
62
+ _useState8 = _slicedToArray(_useState7, 2),
63
+ filteredLocalOptions = _useState8[0],
64
+ setFilteredLocalOptions = _useState8[1];
65
+ const _useState9 = (0, _react.useState)(-1),
66
+ _useState0 = _slicedToArray(_useState9, 2),
67
+ activeIndex = _useState0[0],
68
+ setActiveIndex = _useState0[1];
69
+ const itemRefs = (0, _react.useRef)([]);
70
+ const clearBtnRef = (0, _react.useRef)(null);
71
+ const _useState1 = (0, _react.useState)(false),
72
+ _useState10 = _slicedToArray(_useState1, 2),
73
+ clearFocused = _useState10[0],
74
+ setClearFocused = _useState10[1];
75
+ (0, _react.useImperativeHandle)(ref, () => ({
76
+ handleKeyDown: e => {
77
+ if (e.key === "Tab") {
78
+ e.preventDefault();
79
+ e.stopPropagation();
80
+ if (clearFocused) {
81
+ setClearFocused(false);
82
+ requestAnimationFrame(() => {
83
+ var _inputRef$current;
84
+ inputRef === null || inputRef === void 0 || (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 || _inputRef$current.focus();
85
+ });
86
+ return;
87
+ }
88
+ setClearFocused(true);
89
+ setActiveIndex(-1);
90
+ return;
91
+ }
92
+ if (!["ArrowDown", "ArrowUp", "Enter"].includes(e.key)) return;
93
+ if (e.key === "ArrowDown") {
94
+ e.preventDefault();
95
+ if (clearFocused) {
96
+ setClearFocused(false);
97
+ setActiveIndex(0);
98
+ return;
99
+ }
100
+ setActiveIndex(prev => {
101
+ if (filteredLocalOptions.length === 0) return -1;
102
+ return prev < filteredLocalOptions.length - 1 ? prev + 1 : 0;
103
+ });
104
+ } else if (e.key === "ArrowUp") {
105
+ e.preventDefault();
106
+ if (clearFocused) {
107
+ setClearFocused(false);
108
+ setActiveIndex(0);
109
+ return;
110
+ }
111
+ setActiveIndex(prev => {
112
+ if (filteredLocalOptions.length === 0) return -1;
113
+ return prev > 0 ? prev - 1 : filteredLocalOptions.length - 1;
114
+ });
115
+ } else if (e.key === "Enter") {
116
+ e.preventDefault();
117
+ if (clearFocused) {
118
+ handleClearSelection();
119
+ return;
120
+ }
121
+ if (activeIndex >= 0 && activeIndex < filteredLocalOptions.length) {
122
+ handleSelection(filteredLocalOptions[activeIndex]);
123
+ }
124
+ }
125
+ }
126
+ }));
127
+ (0, _react.useEffect)(() => {
128
+ if (activeIndex >= 0 && itemRefs.current[activeIndex]) {
129
+ itemRefs.current[activeIndex].scrollIntoView({
130
+ block: "nearest"
131
+ });
132
+ }
133
+ }, [activeIndex]);
134
+ (0, _react.useEffect)(() => {
135
+ resolveOptions();
136
+ }, []);
137
+ const fetchAsyncData = async () => {
138
+ setLoading(true);
139
+ let response = null;
140
+ if (fetchData) {
141
+ response = await fetchData();
142
+ } else {
143
+ response = [];
144
+ }
145
+ setLoading(false);
146
+ return response;
147
+ };
148
+ const resolveOptions = async () => {
149
+ let tempOptions = [];
150
+ if (fetchData) {
151
+ tempOptions = await fetchAsyncData();
152
+ } else {
153
+ tempOptions = [...options];
154
+ }
155
+ setLocalOptions(determineSelectedOptions(tempOptions, defaultSelectedOptionIds, valueKey));
156
+ };
157
+ const filterOptions = () => {
158
+ if (filter) {
159
+ setFilteredLocalOptions(localOptions.filter(o => {
160
+ let searchTarget = o[displayKey].toLowerCase();
161
+ return searchTarget.includes(filter.toLowerCase());
162
+ }));
163
+ } else {
164
+ setFilteredLocalOptions([...localOptions]);
165
+ }
166
+ };
167
+ (0, _react.useEffect)(() => {
168
+ filterOptions();
169
+ // eslint-disable-next-line react-hooks/exhaustive-deps
170
+ }, [localOptions, filter]);
171
+ const handleSelection = option => {
172
+ let newOptions = [];
173
+ if (multiple) {
174
+ newOptions = localOptions.map(o => o[valueKey] === option[valueKey] ? _objectSpread(_objectSpread({}, o), {}, {
175
+ selected: o.selected ? false : true
176
+ }) : o);
177
+ } else {
178
+ newOptions = localOptions.map(o => o[valueKey] === option[valueKey] ? _objectSpread(_objectSpread({}, o), {}, {
179
+ selected: true
180
+ }) : _objectSpread(_objectSpread({}, o), {}, {
181
+ selected: false
182
+ }));
183
+ }
184
+ onChange(newOptions.filter(o => o.selected));
185
+ setLocalOptions(newOptions);
186
+ };
187
+ const handleClearSelection = () => {
188
+ let newOptions = localOptions.map(l => _objectSpread(_objectSpread({}, l), {}, {
189
+ selected: false
190
+ }));
191
+ onChange([]);
192
+ setLocalOptions(newOptions);
193
+ setSearch("");
194
+ };
195
+ (0, _react.useEffect)(() => {
196
+ const clearFocus = () => {
197
+ setClearFocused(false);
198
+ };
199
+ window.addEventListener("mousedown", clearFocus);
200
+ return () => {
201
+ window.removeEventListener("mousedown", clearFocus);
202
+ };
203
+ }, []);
204
+ (0, _react.useEffect)(() => {
205
+ if (searchText) {
206
+ setFilteredLocalOptions(localOptions.filter(o => {
207
+ var _o$displayKey;
208
+ return (_o$displayKey = o[displayKey]) === null || _o$displayKey === void 0 ? void 0 : _o$displayKey.toLowerCase().includes(searchText.toLowerCase());
209
+ }));
210
+ } else {
211
+ setFilteredLocalOptions(localOptions);
212
+ }
213
+ }, [localOptions, searchText]);
214
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.List, {
215
+ dense: true,
216
+ disablePadding: true,
217
+ sx: {
218
+ // height: "25ch",
219
+ minHeight: "4ch",
220
+ maxHeight: "30ch",
221
+ overflow: "auto"
222
+ }
223
+ }, loading ? /*#__PURE__*/_react.default.createElement(_material.ListItem, {
224
+ dense: true,
225
+ key: "loader"
226
+ }, /*#__PURE__*/_react.default.createElement(_material.ListItemText, {
227
+ sx: {
228
+ fontStyle: "italic"
229
+ }
230
+ }, /*#__PURE__*/_react.default.createElement(_text.default, null, "Fetching options..."))) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
231
+ sx: {
232
+ padding: "0rem 0.5rem"
233
+ }
234
+ }, (filteredLocalOptions === null || filteredLocalOptions === void 0 ? void 0 : filteredLocalOptions.length) === 0 ? /*#__PURE__*/_react.default.createElement(_text.default, {
235
+ color: "secondary"
236
+ }, "No Data") : filteredLocalOptions.map((o, index) => {
237
+ const altVal = o[avatarKey] === "/" ? " " : o[displayKey];
238
+ const bgcAvatar = colors[o[colorKey]] ? colors[o[colorKey]][500] : "red";
239
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
240
+ key: o[valueKey]
241
+ }, /*#__PURE__*/_react.default.createElement(_material.ListItem, {
242
+ dense: true,
243
+ disablePadding: true,
244
+ ref: el => itemRefs.current[index] = el,
245
+ sx: _objectSpread(_objectSpread({}, o.selected && {
246
+ backgroundColor: "#F5FAFF"
247
+ }), activeIndex === index && {
248
+ backgroundColor: theme.palette.action.hover
249
+ })
250
+ }, /*#__PURE__*/_react.default.createElement(_material.ListItemButton, {
251
+ disableRipple: true,
252
+ dense: true,
253
+ onClick: () => handleSelection(o),
254
+ onMouseEnter: () => setActiveIndex(index)
255
+ }, multiple && /*#__PURE__*/_react.default.createElement(_material.ListItemIcon, {
256
+ sx: {
257
+ minWidth: "initial"
258
+ }
259
+ }), showAvatar && /*#__PURE__*/_react.default.createElement(_material.ListItemAvatar, null, /*#__PURE__*/_react.default.createElement(_material.Avatar, {
260
+ sx: {
261
+ bgcolor: bgcAvatar
262
+ },
263
+ alt: altVal,
264
+ src: o[avatarKey]
265
+ })), /*#__PURE__*/_react.default.createElement(_material.ListItemText, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
266
+ sx: {
267
+ display: "flex",
268
+ flexDirection: "row",
269
+ alignItems: "center"
270
+ },
271
+ gap: 1
272
+ }, o === null || o === void 0 ? void 0 : o.icon, /*#__PURE__*/_react.default.createElement(_material.Box, {
273
+ display: "flex",
274
+ justifyContent: "space-between",
275
+ width: "100%"
276
+ }, /*#__PURE__*/_react.default.createElement(_text.default, {
277
+ semibold: true,
278
+ variant: "caption"
279
+ }, o[displayKey]), /*#__PURE__*/_react.default.createElement(_text.default, {
280
+ style: {
281
+ fontSize: 10
282
+ }
283
+ }, o.selected && "✓")))))), o.selected && /*#__PURE__*/_react.default.createElement(_material.Divider, {
284
+ sx: {
285
+ background: "#d3d3d3"
286
+ }
287
+ }));
288
+ })))), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_material.Box, {
289
+ dense: true,
290
+ disablePadding: true,
291
+ sx: {
292
+ padding: 0,
293
+ margin: 0,
294
+ display: "flex",
295
+ justifyContent: "flex-end",
296
+ borderTop: "0.5px solid lightgrey"
297
+ }
298
+ }, /*#__PURE__*/_react.default.createElement(_button.default, {
299
+ disableRipple: true,
300
+ onClick: handleClearSelection,
301
+ variant: "text",
302
+ style: {
303
+ cursor: "pointer",
304
+ justifySelf: "end",
305
+ border: clearFocused ? "2px solid ".concat(theme.palette.primary.main) : "2px solid transparent",
306
+ borderRadius: 4
307
+ }
308
+ }, /*#__PURE__*/_react.default.createElement(_material.Box, {
309
+ sx: {
310
+ color: theme.palette.primary.main
311
+ },
312
+ style: {
313
+ display: "flex",
314
+ justifySelf: "flex-end"
315
+ }
316
+ // pt={"0.5rem"}
317
+ }, /*#__PURE__*/_react.default.createElement(_text.default, {
318
+ semibold: true,
319
+ variant: "caption"
320
+ }, "Clear Selection"))))));
321
+ });
322
+ ValueSelector.propTypes = {
323
+ label: _propTypes.default.string.isRequired,
324
+ options: _propTypes.default.array,
325
+ valueKey: _propTypes.default.string,
326
+ displayKey: _propTypes.default.string,
327
+ onChange: _propTypes.default.func.isRequired,
328
+ multiple: _propTypes.default.bool,
329
+ optionsContainerWidth: _propTypes.default.string,
330
+ defaultSelectedOptionIds: _propTypes.default.array,
331
+ fetchData: _propTypes.default.func
332
+ };
333
+ var _default = exports.default = ValueSelector;
@@ -1,6 +1,5 @@
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); }
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
@@ -12,17 +11,16 @@ var _bs = require("react-icons/bs");
12
11
  var _button = _interopRequireDefault(require("../button"));
13
12
  var _text = _interopRequireDefault(require("../text"));
14
13
  var _ValueSelector = _interopRequireDefault(require("./ValueSelector"));
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; }
17
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
19
17
  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; }
24
- var Filter = function Filter(_ref) {
25
- var label = _ref.label,
18
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
20
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
21
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
22
+ const Filter = _ref => {
23
+ let label = _ref.label,
26
24
  options = _ref.options,
27
25
  valueKey = _ref.valueKey,
28
26
  displayKey = _ref.displayKey,
@@ -40,51 +38,52 @@ var Filter = function Filter(_ref) {
40
38
  onClick = _ref.onClick,
41
39
  isSearch = _ref.isSearch,
42
40
  loading = _ref.loading;
43
- var _useState = (0, _react.useState)(false),
41
+ const _useState = (0, _react.useState)(false),
44
42
  _useState2 = _slicedToArray(_useState, 2),
45
43
  menuExpanded = _useState2[0],
46
44
  setMenuExpanded = _useState2[1];
47
- var _useState3 = (0, _react.useState)(null),
45
+ const _useState3 = (0, _react.useState)(null),
48
46
  _useState4 = _slicedToArray(_useState3, 2),
49
47
  menuAnchor = _useState4[0],
50
48
  setMenuAnchor = _useState4[1];
51
- var _useState5 = (0, _react.useState)(defaultSelectedOptions),
49
+ const _useState5 = (0, _react.useState)(defaultSelectedOptions),
52
50
  _useState6 = _slicedToArray(_useState5, 2),
53
51
  selectedValues = _useState6[0],
54
52
  setSelectedValues = _useState6[1];
55
- (0, _react.useEffect)(function () {
53
+ (0, _react.useEffect)(() => {
56
54
  setSelectedValues(defaultSelectedOptions);
57
55
  }, [defaultSelectedOptions]);
58
- var handleMenuClose = function handleMenuClose() {
56
+ const handleMenuClose = () => {
59
57
  setMenuAnchor(null);
60
58
  if (!atleastOneItemSelected) setMenuExpanded(false);
61
59
  };
62
- var handleMenuOpen = function handleMenuOpen(e) {
60
+ const handleMenuOpen = e => {
63
61
  setMenuAnchor(e.currentTarget);
64
62
  setMenuExpanded(true);
65
63
  onClick && onClick(true);
66
64
  };
67
- var handleChange = function handleChange(selection) {
65
+ const handleChange = selection => {
68
66
  setSelectedValues(selection);
69
67
  onChange(selection);
70
68
  };
71
- var atleastOneItemSelected = selectedValues && selectedValues.length > 0;
72
- var theme = (0, _material.useTheme)();
73
- var _useState7 = (0, _react.useState)(""),
69
+ const atleastOneItemSelected = selectedValues && selectedValues.length > 0;
70
+ const theme = (0, _material.useTheme)();
71
+ const _useState7 = (0, _react.useState)(""),
74
72
  _useState8 = _slicedToArray(_useState7, 2),
75
73
  filter = _useState8[0],
76
74
  setFilter = _useState8[1];
77
- var valueSelectorRef = (0, _react.useRef)(null);
78
- var handleKeyDown = function handleKeyDown(e) {
79
- if (["ArrowDown", "ArrowUp", "Enter"].includes(e.key)) {
75
+ const valueSelectorRef = (0, _react.useRef)(null);
76
+ const inputRef = (0, _react.useRef)(null);
77
+ const handleKeyDown = e => {
78
+ if (["ArrowDown", "ArrowUp", "Enter", "Tab"].includes(e.key)) {
80
79
  e.stopPropagation();
81
80
  }
82
81
  if (valueSelectorRef.current) {
83
82
  valueSelectorRef.current.handleKeyDown(e);
84
83
  }
85
84
  };
86
- var handleFilterChange = function handleFilterChange(e) {
87
- var value = e.target.value;
85
+ const handleFilterChange = e => {
86
+ const value = e.target.value;
88
87
  setFilter(value);
89
88
  };
90
89
  return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_button.default, {
@@ -144,6 +143,7 @@ var Filter = function Filter(_ref) {
144
143
  paddingTop: 1.5,
145
144
  paddingBottom: 1.5
146
145
  }, /*#__PURE__*/_react.default.createElement(_material.TextField, {
146
+ inputRef: inputRef,
147
147
  fullWidth: true,
148
148
  autoFocus: true,
149
149
  value: filter,
@@ -196,15 +196,11 @@ var Filter = function Filter(_ref) {
196
196
  height: 10
197
197
  })) : /*#__PURE__*/_react.default.createElement(_ValueSelector.default, {
198
198
  ref: valueSelectorRef,
199
+ inputRef: inputRef,
199
200
  key: JSON.stringify(filter),
200
- options: filter ? options.filter(function (data) {
201
- return "".concat(data.id).concat(data.name).trim().toLowerCase().includes(filter.trim().toLowerCase());
202
- }) : options,
203
- defaultSelectedOptionIds: selectedValues ? selectedValues.map(function (s) {
204
- return s[valueKey];
205
- }) : defaultSelectedOptions.map(function (s) {
206
- return s[valueKey];
207
- }),
201
+ options: options,
202
+ searchText: filter,
203
+ defaultSelectedOptionIds: selectedValues ? selectedValues.map(s => s[valueKey]) : defaultSelectedOptions.map(s => s[valueKey]),
208
204
  valueKey: valueKey,
209
205
  displayKey: displayKey,
210
206
  avatarKey: avatarKey,
@@ -232,5 +228,4 @@ Filter.propTypes = {
232
228
  Filter.defaultProps = {
233
229
  defaultSelectedOptions: []
234
230
  };
235
- var _default = Filter;
236
- exports.default = _default;
231
+ var _default = exports.default = Filter;
@@ -8,8 +8,8 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _propTypes = _interopRequireDefault(require("prop-types"));
9
9
  var _LoadingButton = _interopRequireDefault(require("@mui/lab/LoadingButton"));
10
10
  var _material = require("@mui/material");
11
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- var IconButton = function IconButton(props) {
11
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
12
+ const IconButton = props => {
13
13
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !props.loading ? /*#__PURE__*/_react.default.createElement(_material.Tooltip, {
14
14
  arrow: true,
15
15
  placement: "top",
@@ -30,5 +30,4 @@ IconButton.prototypes = {
30
30
  color: _propTypes.default.oneOf(["primary", "secondary", "#ff0000"]),
31
31
  loading: _propTypes.default.oneOf([true, false])
32
32
  };
33
- var _default = IconButton;
34
- exports.default = _default;
33
+ var _default = exports.default = IconButton;
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _material = require("@mui/material");
8
+ var _FormControl = _interopRequireDefault(require("@mui/material/FormControl"));
9
+ var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
10
+ var _styles = require("@mui/material/styles");
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+ var _text = _interopRequireDefault(require("../text"));
14
+ const _excluded = ["label", "id", "fullWidth", "disableAutocomplete", "startIcon", "endIcon", "size", "error", "errorMessage", "isRequired", "isDisabled", "isPastDateDisabled", "readOnly", "helperText", "autoFocus", "onBlurDelay", "onChange", "restrictSpecialChars"];
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
18
+ 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; }
19
+ 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) { _defineProperty(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; }
20
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
21
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
22
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
23
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
24
+ 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."); }
25
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
26
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
27
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
28
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
29
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
30
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
31
+ const Input = _ref => {
32
+ let label = _ref.label,
33
+ id = _ref.id,
34
+ fullWidth = _ref.fullWidth,
35
+ disableAutocomplete = _ref.disableAutocomplete,
36
+ startIcon = _ref.startIcon,
37
+ endIcon = _ref.endIcon,
38
+ size = _ref.size,
39
+ error = _ref.error,
40
+ errorMessage = _ref.errorMessage,
41
+ isRequired = _ref.isRequired,
42
+ isDisabled = _ref.isDisabled,
43
+ isPastDateDisabled = _ref.isPastDateDisabled,
44
+ readOnly = _ref.readOnly,
45
+ helperText = _ref.helperText,
46
+ autoFocus = _ref.autoFocus,
47
+ onBlurDelay = _ref.onBlurDelay,
48
+ onChange = _ref.onChange,
49
+ _ref$restrictSpecialC = _ref.restrictSpecialChars,
50
+ restrictSpecialChars = _ref$restrictSpecialC === void 0 ? false : _ref$restrictSpecialC,
51
+ rest = _objectWithoutProperties(_ref, _excluded);
52
+ const inputRef = (0, _react.useRef)(null);
53
+ const theme = (0, _styles.useTheme)();
54
+ const minDate = new Date().toISOString().split("T")[0];
55
+ const _useState = (0, _react.useState)(""),
56
+ _useState2 = _slicedToArray(_useState, 2),
57
+ localErrorMessage = _useState2[0],
58
+ setLocalErrorMessage = _useState2[1];
59
+ const showError = message => setLocalErrorMessage(message);
60
+ const clearError = () => setLocalErrorMessage("");
61
+ const validateRestrictiveCharacters = e => {
62
+ // e.preventDefault();
63
+ let value = e.target.value;
64
+ if (!restrictSpecialChars) {
65
+ onChange(e);
66
+ return;
67
+ }
68
+ const filteredValue = value.replace(/[^a-zA-Z0-9.,@_\-() ]/g, "");
69
+ if (filteredValue !== value) {
70
+ showError("Only letters, numbers, and . , _ - @ ( ) are allowed.");
71
+ e.target.value = filteredValue;
72
+ value = filteredValue;
73
+ if (inputRef.current) {
74
+ inputRef.current.value = filteredValue;
75
+ }
76
+ if (onChange) {
77
+ onChange(_objectSpread(_objectSpread({}, e), {}, {
78
+ target: _objectSpread(_objectSpread({}, e.target), {}, {
79
+ value: filteredValue
80
+ })
81
+ }));
82
+ }
83
+ } else {
84
+ clearError();
85
+ if (onChange) {
86
+ onChange(_objectSpread(_objectSpread({}, e), {}, {
87
+ target: _objectSpread(_objectSpread({}, e.target), {}, {
88
+ value
89
+ })
90
+ }));
91
+ }
92
+ }
93
+ };
94
+ return /*#__PURE__*/_react.default.createElement(_FormControl.default, {
95
+ variant: "standard",
96
+ fullWidth: fullWidth
97
+ }, label && /*#__PURE__*/_react.default.createElement(_material.FormLabel, {
98
+ sx: {
99
+ fontSize: "0.8rem",
100
+ fontWeight: 500,
101
+ paddingBottom: "0.2rem"
102
+ },
103
+ htmlFor: id
104
+ }, /*#__PURE__*/_react.default.createElement(_text.default, null, label, isRequired ? /*#__PURE__*/_react.default.createElement("span", {
105
+ style: {
106
+ color: "red"
107
+ }
108
+ }, " * ") : "")), /*#__PURE__*/_react.default.createElement(_material.OutlinedInput, _extends({
109
+ id: id,
110
+ ref: inputRef,
111
+ required: isRequired,
112
+ autoComplete: disableAutocomplete ? "nothing" : null,
113
+ sx: {
114
+ "& input": {
115
+ backgroundColor: isDisabled && "#DDDDDD",
116
+ color: isDisabled && "#000000"
117
+ },
118
+ "& label": {
119
+ fontWeight: 500
120
+ },
121
+ "& svg": {
122
+ marginRight: startIcon ? theme.spacing(1) : 0,
123
+ marginLeft: endIcon ? theme.spacing(1) : 0
124
+ }
125
+ },
126
+ startAdornment: startIcon,
127
+ endAdornment: endIcon
128
+ // helperText={errorMessage || localErrorMessage}
129
+ ,
130
+ disabled: isDisabled,
131
+ error: !!error || !!localErrorMessage,
132
+ onChange: validateRestrictiveCharacters,
133
+ onBlur: e => {
134
+ setTimeout(() => {
135
+ if (e && typeof rest.onBlur === "function") {
136
+ rest.onBlur(e);
137
+ }
138
+ }, onBlurDelay || 100);
139
+ },
140
+ autoFocus: !!autoFocus ? rest.value ? rest.value : true : false,
141
+ inputProps: _objectSpread({
142
+ readOnly: readOnly ? "readOnly" : null
143
+ }, isPastDateDisabled && {
144
+ min: minDate
145
+ })
146
+ }, rest)), (error || localErrorMessage) && /*#__PURE__*/_react.default.createElement(_material.FormHelperText, {
147
+ sx: {
148
+ color: "red"
149
+ },
150
+ id: "component-error-text"
151
+ }, localErrorMessage || errorMessage || helperText));
152
+ };
153
+ Input.propTypes = {
154
+ label: _propTypes.default.string,
155
+ id: _propTypes.default.string,
156
+ fullWidth: _propTypes.default.bool,
157
+ startIcon: _propTypes.default.any,
158
+ endIcon: _propTypes.default.any,
159
+ disableAutocomplete: _propTypes.default.bool,
160
+ size: _propTypes.default.string,
161
+ isRequired: _propTypes.default.bool,
162
+ isDisabled: _propTypes.default.bool,
163
+ readOnly: _propTypes.default.bool,
164
+ // Added readOnly prop type
165
+ autoFocus: _propTypes.default.bool
166
+ };
167
+ var _default = exports.default = Input;