linear-react-components-ui 1.0.2 → 1.0.3-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (268) hide show
  1. package/lib/@types/Align.d.ts +1 -1
  2. package/lib/@types/ButtonTypes.d.ts +1 -1
  3. package/lib/@types/ColorStyles.d.ts +1 -1
  4. package/lib/@types/DataCombo.d.ts +1 -1
  5. package/lib/@types/Icon.d.ts +1 -1
  6. package/lib/@types/LabelStyles.d.ts +1 -1
  7. package/lib/@types/Period.d.ts +1 -1
  8. package/lib/@types/PermissionAttr.d.ts +2 -2
  9. package/lib/@types/PointerEvents.d.ts +1 -1
  10. package/lib/@types/Position.d.ts +1 -1
  11. package/lib/@types/PositionAlert.d.ts +1 -1
  12. package/lib/@types/Size.d.ts +1 -1
  13. package/lib/@types/SizePixels.d.ts +1 -1
  14. package/lib/alerts/AlertContainer.js +21 -5
  15. package/lib/alerts/AlertProvider.js +45 -15
  16. package/lib/alerts/BaseAlert.js +20 -4
  17. package/lib/alerts/Message.js +32 -21
  18. package/lib/alerts/helpers.js +2 -0
  19. package/lib/alerts/index.d.ts +1 -4
  20. package/lib/alerts/index.js +4 -0
  21. package/lib/alerts/types.d.ts +4 -4
  22. package/lib/alerts/withAlert.js +12 -1
  23. package/lib/avatar/index.js +35 -20
  24. package/lib/badge/index.js +14 -9
  25. package/lib/buttons/ActivateButton.js +6 -0
  26. package/lib/buttons/AddButton.js +7 -0
  27. package/lib/buttons/Button.js +15 -2
  28. package/lib/buttons/ButtonGroups.js +4 -0
  29. package/lib/buttons/CancelButton.js +11 -1
  30. package/lib/buttons/DangerButton.js +11 -1
  31. package/lib/buttons/DefaultButton.js +81 -45
  32. package/lib/buttons/DestroyButton.js +12 -1
  33. package/lib/buttons/EditButton.js +6 -0
  34. package/lib/buttons/InactivateButton.js +6 -0
  35. package/lib/buttons/InfoButton.js +11 -1
  36. package/lib/buttons/PrimaryButton.js +11 -1
  37. package/lib/buttons/RestoreButton.js +6 -0
  38. package/lib/buttons/SaveButton.js +11 -1
  39. package/lib/buttons/SuccessButton.js +11 -1
  40. package/lib/buttons/WarningButton.js +11 -1
  41. package/lib/buttons/button_container/index.js +11 -5
  42. package/lib/buttons/index.d.ts +1 -4
  43. package/lib/buttons/index.js +18 -0
  44. package/lib/buttons/split_button/index.js +17 -11
  45. package/lib/calendar/DangerCalendar.js +11 -1
  46. package/lib/calendar/InfoCalendar.js +11 -1
  47. package/lib/calendar/PrimaryCalendar.js +11 -1
  48. package/lib/calendar/SuccessCalendar.js +11 -1
  49. package/lib/calendar/WarningCalendar.js +11 -1
  50. package/lib/calendar/base/Day.js +13 -2
  51. package/lib/calendar/base/Month.js +18 -1
  52. package/lib/calendar/base/Week.js +18 -2
  53. package/lib/calendar/base/helpers.js +24 -8
  54. package/lib/calendar/base/index.js +37 -13
  55. package/lib/calendar/index.d.ts +1 -4
  56. package/lib/calendar/index.js +8 -0
  57. package/lib/checkbox/Label.js +7 -1
  58. package/lib/checkbox/index.js +53 -28
  59. package/lib/checkbox/types.d.ts +2 -2
  60. package/lib/dialog/Alert.js +8 -0
  61. package/lib/dialog/Custom.js +17 -5
  62. package/lib/dialog/Error.js +8 -0
  63. package/lib/dialog/Information.js +8 -0
  64. package/lib/dialog/Question.js +15 -4
  65. package/lib/dialog/Warning.js +8 -0
  66. package/lib/dialog/base/Content.js +6 -1
  67. package/lib/dialog/base/Footer.js +4 -0
  68. package/lib/dialog/base/Header.js +13 -5
  69. package/lib/dialog/base/index.js +28 -7
  70. package/lib/dialog/base/style.js +2 -0
  71. package/lib/dialog/form/index.js +29 -9
  72. package/lib/dialog/index.d.ts +1 -4
  73. package/lib/dialog/index.js +9 -0
  74. package/lib/drawer/Content.js +13 -2
  75. package/lib/drawer/Drawer.js +58 -22
  76. package/lib/drawer/Header.js +27 -10
  77. package/lib/drawer/helpers.js +4 -0
  78. package/lib/drawer/index.js +8 -0
  79. package/lib/dropdown/Popup.js +32 -19
  80. package/lib/dropdown/helper.js +4 -0
  81. package/lib/dropdown/withDropdown.js +47 -18
  82. package/lib/fieldset/index.js +46 -21
  83. package/lib/form/Field.js +42 -16
  84. package/lib/form/FieldArray.js +32 -15
  85. package/lib/form/FieldNumber.js +20 -6
  86. package/lib/form/FieldPeriod.js +21 -9
  87. package/lib/form/helpers.js +30 -5
  88. package/lib/form/index.js +91 -36
  89. package/lib/form/types.d.ts +6 -6
  90. package/lib/form/withFieldHOC.js +34 -15
  91. package/lib/form/withFormSecurity.js +28 -5
  92. package/lib/gridlayout/GridCol.js +11 -5
  93. package/lib/gridlayout/GridRow.js +9 -3
  94. package/lib/gridlayout/index.d.ts +1 -4
  95. package/lib/gridlayout/index.js +4 -0
  96. package/lib/icons/index.js +26 -16
  97. package/lib/icons/types.d.ts +1 -1
  98. package/lib/index.d.ts +1 -1
  99. package/lib/index.js +10 -0
  100. package/lib/inputs/base/InputTextBase.js +73 -49
  101. package/lib/inputs/base/helpers.js +19 -6
  102. package/lib/inputs/color/index.js +38 -11
  103. package/lib/inputs/date/Dialog.js +7 -2
  104. package/lib/inputs/date/Dropdown.js +8 -1
  105. package/lib/inputs/date/helpers.js +11 -2
  106. package/lib/inputs/date/index.js +101 -48
  107. package/lib/inputs/file/DefaultFile.js +42 -13
  108. package/lib/inputs/file/DragDropFile.js +90 -37
  109. package/lib/inputs/file/File.js +25 -4
  110. package/lib/inputs/file/FileButtonSettings.js +11 -5
  111. package/lib/inputs/file/helpers.js +5 -0
  112. package/lib/inputs/file/index.d.ts +1 -4
  113. package/lib/inputs/file/index.js +6 -0
  114. package/lib/inputs/file/types.d.ts +1 -1
  115. package/lib/inputs/inputHOC.js +34 -10
  116. package/lib/inputs/mask/BaseMask.js +17 -1
  117. package/lib/inputs/mask/Cnpj.js +37 -12
  118. package/lib/inputs/mask/Cpf.js +33 -10
  119. package/lib/inputs/mask/Phone.js +6 -0
  120. package/lib/inputs/mask/ZipCode.js +6 -0
  121. package/lib/inputs/mask/helpers.js +20 -8
  122. package/lib/inputs/mask/imaskHOC.js +83 -52
  123. package/lib/inputs/mask/index.d.ts +1 -4
  124. package/lib/inputs/mask/index.js +7 -0
  125. package/lib/inputs/multiSelect/ActionButtons.js +13 -4
  126. package/lib/inputs/multiSelect/Dropdown.js +46 -23
  127. package/lib/inputs/multiSelect/helper.d.ts +1 -1
  128. package/lib/inputs/multiSelect/helper.js +5 -3
  129. package/lib/inputs/multiSelect/index.js +105 -41
  130. package/lib/inputs/multiSelect/types.d.ts +2 -2
  131. package/lib/inputs/number/BaseNumber.js +16 -3
  132. package/lib/inputs/number/Currency.js +7 -1
  133. package/lib/inputs/number/Decimal.js +5 -0
  134. package/lib/inputs/number/format_number.js +7 -0
  135. package/lib/inputs/number/index.js +13 -3
  136. package/lib/inputs/period/Dialog.js +7 -2
  137. package/lib/inputs/period/Dropdown.js +7 -0
  138. package/lib/inputs/period/PeriodList.js +7 -1
  139. package/lib/inputs/period/helper.js +12 -2
  140. package/lib/inputs/period/index.js +114 -43
  141. package/lib/inputs/period/types.d.ts +1 -1
  142. package/lib/inputs/search/index.js +63 -18
  143. package/lib/inputs/select/ActionButtons.js +12 -4
  144. package/lib/inputs/select/Dropdown.js +49 -29
  145. package/lib/inputs/select/helper.d.ts +1 -1
  146. package/lib/inputs/select/helper.js +27 -11
  147. package/lib/inputs/select/index.js +22 -7
  148. package/lib/inputs/select/multiple/Selecteds.js +8 -4
  149. package/lib/inputs/select/multiple/index.js +100 -39
  150. package/lib/inputs/select/simple/index.js +123 -59
  151. package/lib/inputs/select/types.d.ts +4 -4
  152. package/lib/inputs/text/index.js +5 -1
  153. package/lib/inputs/text/types.d.ts +1 -1
  154. package/lib/inputs/textarea/index.js +10 -4
  155. package/lib/inputs/types.d.ts +1 -1
  156. package/lib/internals/withTooltip.js +70 -25
  157. package/lib/labelMessages/index.js +45 -25
  158. package/lib/labels/DangerLabel.js +11 -1
  159. package/lib/labels/DefaultLabel.js +41 -19
  160. package/lib/labels/InfoLabel.js +11 -1
  161. package/lib/labels/PrimaryLabel.js +11 -1
  162. package/lib/labels/SuccessLabel.js +11 -1
  163. package/lib/labels/WarningLabel.js +11 -1
  164. package/lib/labels/index.d.ts +1 -4
  165. package/lib/labels/index.js +10 -0
  166. package/lib/labels/label_container/index.js +7 -3
  167. package/lib/list/Header.js +7 -3
  168. package/lib/list/Item.js +68 -33
  169. package/lib/list/Separator.js +4 -0
  170. package/lib/list/helpers.js +4 -0
  171. package/lib/list/index.js +60 -25
  172. package/lib/list/types.d.ts +1 -1
  173. package/lib/menus/float/MenuItem.js +26 -9
  174. package/lib/menus/float/SubMenuContainer.js +17 -5
  175. package/lib/menus/float/helpers.js +4 -0
  176. package/lib/menus/float/index.js +21 -8
  177. package/lib/menus/index.d.ts +1 -4
  178. package/lib/menus/index.js +3 -0
  179. package/lib/menus/sidenav/ExpandMenu.js +7 -2
  180. package/lib/menus/sidenav/MenuLink.js +12 -3
  181. package/lib/menus/sidenav/NavMenuGroup.js +12 -3
  182. package/lib/menus/sidenav/NavMenuItem.js +56 -27
  183. package/lib/menus/sidenav/NavSubMenuItem.js +27 -8
  184. package/lib/menus/sidenav/helpers.js +9 -0
  185. package/lib/menus/sidenav/index.js +75 -26
  186. package/lib/menus/sidenav/popup_menu_search/EmptyList.js +7 -2
  187. package/lib/menus/sidenav/popup_menu_search/index.js +45 -15
  188. package/lib/menus/sidenav/types.d.ts +1 -1
  189. package/lib/noPermission/index.js +6 -0
  190. package/lib/panel/Content.d.ts +1 -1
  191. package/lib/panel/Content.js +22 -7
  192. package/lib/panel/DangerPanel.d.ts +1 -1
  193. package/lib/panel/DangerPanel.js +7 -0
  194. package/lib/panel/Default.d.ts +1 -1
  195. package/lib/panel/Default.js +44 -20
  196. package/lib/panel/Header.d.ts +1 -1
  197. package/lib/panel/Header.js +27 -12
  198. package/lib/panel/InfoPanel.d.ts +1 -1
  199. package/lib/panel/InfoPanel.js +7 -0
  200. package/lib/panel/PrimaryPanel.d.ts +1 -1
  201. package/lib/panel/PrimaryPanel.js +7 -0
  202. package/lib/panel/SuccessPanel.d.ts +1 -1
  203. package/lib/panel/SuccessPanel.js +7 -0
  204. package/lib/panel/ToolBar.d.ts +1 -1
  205. package/lib/panel/ToolBar.js +5 -0
  206. package/lib/panel/WarningPanel.d.ts +1 -1
  207. package/lib/panel/WarningPanel.js +7 -0
  208. package/lib/panel/helpers.d.ts +1 -1
  209. package/lib/panel/helpers.js +10 -2
  210. package/lib/panel/index.d.ts +2 -5
  211. package/lib/panel/index.js +11 -0
  212. package/lib/panel/types.d.ts +1 -1
  213. package/lib/permissionValidations.js +15 -3
  214. package/lib/popover/PopoverText.js +4 -0
  215. package/lib/popover/PopoverTitle.js +4 -0
  216. package/lib/popover/index.js +23 -12
  217. package/lib/progress/Bar.js +33 -20
  218. package/lib/progress/index.js +14 -5
  219. package/lib/radio/index.js +46 -23
  220. package/lib/skeleton/SkeletonContainer.js +9 -3
  221. package/lib/skeleton/index.js +22 -10
  222. package/lib/spinner/SpinnerLoading.js +7 -3
  223. package/lib/spinner/index.js +40 -18
  224. package/lib/split/Split.js +83 -32
  225. package/lib/split/SplitSide.js +18 -6
  226. package/lib/split/helpers.d.ts +1 -1
  227. package/lib/split/helpers.js +4 -0
  228. package/lib/split/index.d.ts +1 -4
  229. package/lib/split/index.js +5 -0
  230. package/lib/table/Body.js +29 -15
  231. package/lib/table/Header.js +28 -5
  232. package/lib/table/HeaderColumn.js +21 -10
  233. package/lib/table/Row.js +28 -18
  234. package/lib/table/RowColumn.js +29 -12
  235. package/lib/table/helpers.js +7 -0
  236. package/lib/table/index.js +62 -32
  237. package/lib/table/types.d.ts +1 -1
  238. package/lib/tabs/DropdownItems.js +21 -12
  239. package/lib/tabs/Menu.js +15 -5
  240. package/lib/tabs/MenuItems.js +33 -23
  241. package/lib/tabs/Panel.js +39 -14
  242. package/lib/tabs/index.js +113 -46
  243. package/lib/tabs/tabHelpers.js +16 -3
  244. package/lib/toolbar/ButtonBar.js +29 -13
  245. package/lib/toolbar/LabelBar.js +28 -11
  246. package/lib/toolbar/Separator.js +4 -0
  247. package/lib/toolbar/ToolBarGroup.js +6 -2
  248. package/lib/toolbar/helpers.js +2 -0
  249. package/lib/toolbar/index.js +23 -7
  250. package/lib/tooltip/index.js +25 -10
  251. package/lib/tooltip/types.d.ts +1 -1
  252. package/lib/treetable/Body.js +27 -9
  253. package/lib/treetable/Header.js +11 -1
  254. package/lib/treetable/Row.js +113 -58
  255. package/lib/treetable/helpers.js +10 -0
  256. package/lib/treetable/index.js +11 -0
  257. package/lib/treeview/Header.js +6 -2
  258. package/lib/treeview/Node.js +111 -47
  259. package/lib/treeview/constants.js +4 -0
  260. package/lib/treeview/index.js +134 -54
  261. package/lib/treeview/types.d.ts +2 -2
  262. package/lib/treeview_old/Header.js +6 -1
  263. package/lib/treeview_old/Node.js +32 -5
  264. package/lib/treeview_old/index.js +9 -1
  265. package/lib/{types-90c43ae1.d.ts → types-3c6f1c20.d.ts} +1 -1
  266. package/lib/uitour/index.js +73 -33
  267. package/lib/uitour/types.d.ts +1 -1
  268. package/package.json +1 -1
@@ -1,112 +1,155 @@
1
1
  "use strict";
2
2
 
3
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
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
11
+
9
12
  var _lodash = _interopRequireDefault(require("lodash"));
13
+
10
14
  var _uuid = _interopRequireDefault(require("uuid"));
15
+
11
16
  var _Dropdown = _interopRequireDefault(require("../Dropdown"));
17
+
12
18
  var _ActionButtons = _interopRequireDefault(require("../ActionButtons"));
19
+
13
20
  var _Selecteds = _interopRequireDefault(require("./Selecteds"));
21
+
14
22
  var constants = _interopRequireWildcard(require("../../../internals/constants"));
23
+
15
24
  var _InputTextBase = _interopRequireDefault(require("../../base/InputTextBase"));
25
+
16
26
  var _helper = require("../helper");
27
+
17
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
29
+
18
30
  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); }
31
+
19
32
  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; }
33
+
20
34
  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); }
35
+
21
36
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
37
+
22
38
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
39
+
23
40
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
41
+
24
42
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
43
+
25
44
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
45
+
26
46
  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."); }
47
+
27
48
  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); }
28
- 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; }
29
- 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; } }
49
+
50
+ 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; }
51
+
52
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
53
+
30
54
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
55
+
31
56
  var MultipleSelect = function MultipleSelect(props) {
32
57
  var idKey = props.idKey,
33
- _props$dataSource = props.dataSource,
34
- dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
35
- handlerClear = props.handlerClear,
36
- _props$value = props.value,
37
- value = _props$value === void 0 ? [] : _props$value,
38
- _props$remoteSearch = props.remoteSearch,
39
- remoteSearch = _props$remoteSearch === void 0 ? false : _props$remoteSearch,
40
- descriptionKey = props.descriptionKey;
58
+ _props$dataSource = props.dataSource,
59
+ dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
60
+ handlerClear = props.handlerClear,
61
+ _props$value = props.value,
62
+ value = _props$value === void 0 ? [] : _props$value,
63
+ _props$remoteSearch = props.remoteSearch,
64
+ remoteSearch = _props$remoteSearch === void 0 ? false : _props$remoteSearch,
65
+ descriptionKey = props.descriptionKey;
66
+
41
67
  var _useState = (0, _react.useState)(dataSource),
42
- _useState2 = _slicedToArray(_useState, 2),
43
- dataCombo = _useState2[0],
44
- setDataCombo = _useState2[1];
68
+ _useState2 = _slicedToArray(_useState, 2),
69
+ dataCombo = _useState2[0],
70
+ setDataCombo = _useState2[1];
71
+
45
72
  var _useState3 = (0, _react.useState)([]),
46
- _useState4 = _slicedToArray(_useState3, 2),
47
- currents = _useState4[0],
48
- setCurrents = _useState4[1];
73
+ _useState4 = _slicedToArray(_useState3, 2),
74
+ currents = _useState4[0],
75
+ setCurrents = _useState4[1];
76
+
49
77
  var _useState5 = (0, _react.useState)(),
50
- _useState6 = _slicedToArray(_useState5, 2),
51
- selected = _useState6[0],
52
- setSelected = _useState6[1];
78
+ _useState6 = _slicedToArray(_useState5, 2),
79
+ selected = _useState6[0],
80
+ setSelected = _useState6[1];
81
+
53
82
  var _useState7 = (0, _react.useState)(''),
54
- _useState8 = _slicedToArray(_useState7, 2),
55
- inputValue = _useState8[0],
56
- setInputValue = _useState8[1];
83
+ _useState8 = _slicedToArray(_useState7, 2),
84
+ inputValue = _useState8[0],
85
+ setInputValue = _useState8[1];
86
+
57
87
  var _useState9 = (0, _react.useState)(false),
58
- _useState10 = _slicedToArray(_useState9, 2),
59
- opened = _useState10[0],
60
- setOpened = _useState10[1];
88
+ _useState10 = _slicedToArray(_useState9, 2),
89
+ opened = _useState10[0],
90
+ setOpened = _useState10[1];
91
+
61
92
  var _useState11 = (0, _react.useState)(0),
62
- _useState12 = _slicedToArray(_useState11, 2),
63
- dropdownWidth = _useState12[0],
64
- setDropdownWidth = _useState12[1];
93
+ _useState12 = _slicedToArray(_useState11, 2),
94
+ dropdownWidth = _useState12[0],
95
+ setDropdownWidth = _useState12[1];
96
+
65
97
  var _useState13 = (0, _react.useState)(false),
66
- _useState14 = _slicedToArray(_useState13, 2),
67
- insideComponent = _useState14[0],
68
- setInsideComponent = _useState14[1];
98
+ _useState14 = _slicedToArray(_useState13, 2),
99
+ insideComponent = _useState14[0],
100
+ setInsideComponent = _useState14[1];
101
+
69
102
  var _useState15 = (0, _react.useState)(),
70
- _useState16 = _slicedToArray(_useState15, 2),
71
- onDenied = _useState16[0],
72
- setOnDeniedSelect = _useState16[1];
103
+ _useState16 = _slicedToArray(_useState15, 2),
104
+ onDenied = _useState16[0],
105
+ setOnDeniedSelect = _useState16[1];
106
+
73
107
  var _useState17 = (0, _react.useState)([]),
74
- _useState18 = _slicedToArray(_useState17, 2),
75
- valueFromProps = _useState18[0],
76
- setValueFromProps = _useState18[1];
108
+ _useState18 = _slicedToArray(_useState17, 2),
109
+ valueFromProps = _useState18[0],
110
+ setValueFromProps = _useState18[1];
111
+
77
112
  var componentId = "select-component".concat(_uuid.default.v1());
78
113
  var componentRef = (0, _react.useRef)(null);
79
114
  var dropdownRef = (0, _react.useRef)(null);
80
115
  var selectWrapper = (0, _react.useRef)();
81
116
  var gridElRef = (0, _react.useRef)();
117
+
82
118
  var onScreenResize = function onScreenResize() {
83
119
  if (selectWrapper.current) setDropdownWidth(selectWrapper.current.clientWidth);
84
120
  };
121
+
85
122
  var onClickOutside = function onClickOutside(event) {
86
123
  var target = event.target;
124
+
87
125
  if (target !== selectWrapper.current && selectWrapper.current && !selectWrapper.current.contains(target) && dropdownRef.current && !dropdownRef.current.contains(target)) {
88
126
  setOpened(false);
89
127
  }
90
128
  };
129
+
91
130
  var onMouseMove = function onMouseMove(event) {
92
131
  var target = event.target;
93
132
  if (target.className === '') return;
94
133
  var insideComponents = ['item', 'menubutton', 'filterinput', 'filtercontainer', 'label'].includes(target.className);
95
134
  setInsideComponent(insideComponents);
96
135
  };
136
+
97
137
  var onClearClick = function onClearClick() {
98
138
  setSelected(undefined);
99
139
  setCurrents([]);
100
140
  if (props.onSelect) props.onSelect();
101
141
  };
142
+
102
143
  var onFilter = function onFilter(filteredValue) {
103
144
  var selectedFilter = null;
145
+
104
146
  if (remoteSearch) {
105
147
  if (props.onSearch) props.onSearch(filteredValue);
106
148
  setOpened(true);
107
149
  setInputValue(filteredValue);
108
150
  } else {
109
151
  var dataComboFilter = dataSource;
152
+
110
153
  if (filteredValue !== '') {
111
154
  dataComboFilter = (0, _helper.getFilteredMultipleDataCombo)({
112
155
  inputText: filteredValue,
@@ -115,6 +158,7 @@ var MultipleSelect = function MultipleSelect(props) {
115
158
  currents: currents
116
159
  });
117
160
  }
161
+
118
162
  if (dataComboFilter && dataComboFilter.length > 0) selectedFilter = dataComboFilter[0];
119
163
  setDataCombo(dataComboFilter);
120
164
  setOpened(true);
@@ -122,6 +166,7 @@ var MultipleSelect = function MultipleSelect(props) {
122
166
  setInputValue(filteredValue);
123
167
  }
124
168
  };
169
+
125
170
  var onSelect = function onSelect(select) {
126
171
  if (select === null) return;
127
172
  var currentsSelect = [].concat(_toConsumableArray(currents), [select]);
@@ -133,6 +178,7 @@ var MultipleSelect = function MultipleSelect(props) {
133
178
  return i[idKey];
134
179
  })));
135
180
  };
181
+
136
182
  var onUnselect = function onUnselect(id) {
137
183
  if (currents) {
138
184
  var result = currents.filter(function (item) {
@@ -144,19 +190,23 @@ var MultipleSelect = function MultipleSelect(props) {
144
190
  })));
145
191
  }
146
192
  };
193
+
147
194
  var onOpenClose = function onOpenClose() {
148
195
  setOpened(!opened);
149
196
  if (selectWrapper.current) setDropdownWidth(selectWrapper.current.clientWidth);
150
197
  };
198
+
151
199
  var _onFocus = function onFocus() {
152
200
  var dropdownWidthFocus = selectWrapper.current ? selectWrapper.current.clientWidth : dropdownWidth;
153
201
  setOpened(true);
154
202
  setDropdownWidth(dropdownWidthFocus);
155
203
  };
204
+
156
205
  var _onBlur = function onBlur(e) {
157
206
  if (props.onBlur) props.onBlur(e);
158
207
  if (!insideComponent) setOpened(false);
159
208
  };
209
+
160
210
  var onInputKeyDown = function onInputKeyDown(e) {
161
211
  if (e.keyCode) {
162
212
  if (e.keyCode === constants.keyCodes.ENTER && selected) {
@@ -166,18 +216,24 @@ var MultipleSelect = function MultipleSelect(props) {
166
216
  var index = dataSource ? dataSource.findIndex(function (d) {
167
217
  return d === selected;
168
218
  }) : 0;
219
+
169
220
  if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
170
221
  index = dataSource && index === dataSource.length - 1 ? 0 : index + 1;
171
222
  } else {
172
223
  index = dataSource && index === 0 ? dataSource.length - 1 : index - 1;
173
224
  }
174
- if (dataSource && dataSource.length && dataSource[index][props.descriptionKey]) {
175
- setInputValue(dataSource[index][props.descriptionKey]);
225
+
226
+ if (dataSource && dataSource.length) {
227
+ if (typeof props.descriptionKey === 'string' && dataSource[index][props.descriptionKey]) {
228
+ setInputValue(dataSource[index][props.descriptionKey]);
229
+ } else if (typeof props.descriptionKey !== 'string') setInputValue(props.descriptionKey(dataSource[index]));
176
230
  }
231
+
177
232
  if (dataSource) setSelected(dataSource[index]);
178
233
  } else if (e.keyCode === constants.keyCodes.BACKSPACE) {
179
234
  if (inputValue === '') {
180
235
  var currentsKeyDown = _lodash.default.dropRight(currents);
236
+
181
237
  setCurrents(currentsKeyDown);
182
238
  if (props.onSelect) props.onSelect(currentsKeyDown.map(function (i) {
183
239
  return i[idKey];
@@ -186,15 +242,19 @@ var MultipleSelect = function MultipleSelect(props) {
186
242
  }
187
243
  }
188
244
  };
245
+
189
246
  var setOnDenied = function setOnDenied(denied) {
190
247
  setOnDeniedSelect(denied);
191
248
  };
249
+
192
250
  var shouldDisable = function shouldDisable() {
193
251
  return props.disabled || onDenied && (onDenied.disabled || onDenied.hideContent);
194
252
  };
253
+
195
254
  var shouldBeReadOnly = function shouldBeReadOnly() {
196
255
  return props.readOnly || onDenied && onDenied.readOnly;
197
256
  };
257
+
198
258
  (0, _react.useEffect)(function () {
199
259
  window.addEventListener('resize', onScreenResize);
200
260
  document.addEventListener('click', onClickOutside);
@@ -289,5 +349,6 @@ var MultipleSelect = function MultipleSelect(props) {
289
349
  dropdownWidth: dropdownWidth || 0
290
350
  })));
291
351
  };
352
+
292
353
  var _default = MultipleSelect;
293
354
  exports.default = _default;
@@ -1,115 +1,153 @@
1
1
  "use strict";
2
2
 
3
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
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.default = void 0;
9
+
8
10
  var _react = _interopRequireWildcard(require("react"));
11
+
9
12
  var _uuid = _interopRequireDefault(require("uuid"));
13
+
10
14
  var _lodash = _interopRequireDefault(require("lodash"));
15
+
11
16
  var _Dropdown = _interopRequireDefault(require("../Dropdown"));
17
+
12
18
  var _ActionButtons = _interopRequireDefault(require("../ActionButtons"));
19
+
13
20
  var constants = _interopRequireWildcard(require("../../../internals/constants"));
21
+
14
22
  var _helper = require("../helper");
23
+
15
24
  var _InputTextBase = _interopRequireDefault(require("../../base/InputTextBase"));
25
+
16
26
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
+
17
28
  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); }
29
+
18
30
  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; }
31
+
19
32
  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); }
20
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
33
+
34
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
35
+
23
36
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
37
+
24
38
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
39
+
25
40
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
41
+
26
42
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
43
+
27
44
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
45
+
28
46
  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."); }
47
+
29
48
  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); }
30
- 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; }
31
- 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; } }
49
+
50
+ 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; }
51
+
52
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
53
+
32
54
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
55
+
33
56
  var SimpleSelect = function SimpleSelect(props) {
34
57
  var value = props.value,
35
- _props$descriptionKey = props.descriptionKey,
36
- descriptionKey = _props$descriptionKey === void 0 ? '' : _props$descriptionKey,
37
- _props$dataSource = props.dataSource,
38
- dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
39
- gridLayout = props.gridLayout,
40
- onSearch = props.onSearch,
41
- disabled = props.disabled,
42
- readOnly = props.readOnly,
43
- _props$openDropdownOn = props.openDropdownOnFocus,
44
- openDropdownOnFocus = _props$openDropdownOn === void 0 ? true : _props$openDropdownOn,
45
- _props$selectFirstOnE = props.selectFirstOnEnter,
46
- selectFirstOnEnter = _props$selectFirstOnE === void 0 ? false : _props$selectFirstOnE,
47
- idKey = props.idKey,
48
- _props$remoteSearch = props.remoteSearch,
49
- remoteSearch = _props$remoteSearch === void 0 ? false : _props$remoteSearch,
50
- _props$name = props.name,
51
- name = _props$name === void 0 ? '' : _props$name,
52
- undigitable = props.undigitable,
53
- _props$searchOnDropdo = props.searchOnDropdown,
54
- searchOnDropdown = _props$searchOnDropdo === void 0 ? false : _props$searchOnDropdo,
55
- _props$allOptions = props.allOptions,
56
- allOptions = _props$allOptions === void 0 ? undefined : _props$allOptions;
58
+ _props$descriptionKey = props.descriptionKey,
59
+ descriptionKey = _props$descriptionKey === void 0 ? '' : _props$descriptionKey,
60
+ _props$dataSource = props.dataSource,
61
+ dataSource = _props$dataSource === void 0 ? [] : _props$dataSource,
62
+ gridLayout = props.gridLayout,
63
+ onSearch = props.onSearch,
64
+ disabled = props.disabled,
65
+ readOnly = props.readOnly,
66
+ _props$openDropdownOn = props.openDropdownOnFocus,
67
+ openDropdownOnFocus = _props$openDropdownOn === void 0 ? true : _props$openDropdownOn,
68
+ _props$selectFirstOnE = props.selectFirstOnEnter,
69
+ selectFirstOnEnter = _props$selectFirstOnE === void 0 ? false : _props$selectFirstOnE,
70
+ idKey = props.idKey,
71
+ _props$remoteSearch = props.remoteSearch,
72
+ remoteSearch = _props$remoteSearch === void 0 ? false : _props$remoteSearch,
73
+ _props$name = props.name,
74
+ name = _props$name === void 0 ? '' : _props$name,
75
+ undigitable = props.undigitable,
76
+ _props$searchOnDropdo = props.searchOnDropdown,
77
+ searchOnDropdown = _props$searchOnDropdo === void 0 ? false : _props$searchOnDropdo,
78
+ _props$allOptions = props.allOptions,
79
+ allOptions = _props$allOptions === void 0 ? undefined : _props$allOptions;
80
+
57
81
  var _useState = (0, _react.useState)(dataSource),
58
- _useState2 = _slicedToArray(_useState, 2),
59
- dataCombo = _useState2[0],
60
- setDataCombo = _useState2[1];
82
+ _useState2 = _slicedToArray(_useState, 2),
83
+ dataCombo = _useState2[0],
84
+ setDataCombo = _useState2[1];
85
+
61
86
  var _useState3 = (0, _react.useState)(),
62
- _useState4 = _slicedToArray(_useState3, 2),
63
- selected = _useState4[0],
64
- setSelected = _useState4[1];
87
+ _useState4 = _slicedToArray(_useState3, 2),
88
+ selected = _useState4[0],
89
+ setSelected = _useState4[1];
90
+
65
91
  var _useState5 = (0, _react.useState)(''),
66
- _useState6 = _slicedToArray(_useState5, 2),
67
- inputText = _useState6[0],
68
- setInputText = _useState6[1];
92
+ _useState6 = _slicedToArray(_useState5, 2),
93
+ inputText = _useState6[0],
94
+ setInputText = _useState6[1];
95
+
69
96
  var _useState7 = (0, _react.useState)(false),
70
- _useState8 = _slicedToArray(_useState7, 2),
71
- opened = _useState8[0],
72
- setOpened = _useState8[1];
97
+ _useState8 = _slicedToArray(_useState7, 2),
98
+ opened = _useState8[0],
99
+ setOpened = _useState8[1];
100
+
73
101
  var _useState9 = (0, _react.useState)(0),
74
- _useState10 = _slicedToArray(_useState9, 2),
75
- dropdownWidth = _useState10[0],
76
- setDropdownWidth = _useState10[1];
102
+ _useState10 = _slicedToArray(_useState9, 2),
103
+ dropdownWidth = _useState10[0],
104
+ setDropdownWidth = _useState10[1];
105
+
77
106
  var _useState11 = (0, _react.useState)(false),
78
- _useState12 = _slicedToArray(_useState11, 2),
79
- insideComponent = _useState12[0],
80
- setInsideComponent = _useState12[1];
107
+ _useState12 = _slicedToArray(_useState11, 2),
108
+ insideComponent = _useState12[0],
109
+ setInsideComponent = _useState12[1];
110
+
81
111
  var _useState13 = (0, _react.useState)(),
82
- _useState14 = _slicedToArray(_useState13, 2),
83
- onDenied = _useState14[0],
84
- setOnDeniedSelect = _useState14[1];
112
+ _useState14 = _slicedToArray(_useState13, 2),
113
+ onDenied = _useState14[0],
114
+ setOnDeniedSelect = _useState14[1];
115
+
85
116
  var _useState15 = (0, _react.useState)(false),
86
- _useState16 = _slicedToArray(_useState15, 2),
87
- isTyping = _useState16[0],
88
- setIsTyping = _useState16[1];
117
+ _useState16 = _slicedToArray(_useState15, 2),
118
+ isTyping = _useState16[0],
119
+ setIsTyping = _useState16[1];
120
+
89
121
  var _useState17 = (0, _react.useState)(''),
90
- _useState18 = _slicedToArray(_useState17, 2),
91
- valueFromProps = _useState18[0],
92
- setValueFromProps = _useState18[1];
122
+ _useState18 = _slicedToArray(_useState17, 2),
123
+ valueFromProps = _useState18[0],
124
+ setValueFromProps = _useState18[1];
125
+
93
126
  var dropdownRef = (0, _react.useRef)(null);
94
127
  var componentId = "select-component".concat(_uuid.default.v1());
95
128
  var componentRef = (0, _react.useRef)(null);
96
129
  var selectWrapper = (0, _react.useRef)();
97
130
  var gridElement = (0, _react.useRef)();
131
+
98
132
  var onScreenResize = function onScreenResize() {
99
133
  if (selectWrapper.current) setDropdownWidth(selectWrapper.current.clientWidth);
100
134
  };
135
+
101
136
  var onClickOutside = function onClickOutside(event) {
102
137
  var target = event.target;
138
+
103
139
  if (target !== selectWrapper.current && selectWrapper.current && !selectWrapper.current.contains(target) && dropdownRef.current && !dropdownRef.current.contains(target)) {
104
140
  setOpened(false);
105
141
  }
106
142
  };
143
+
107
144
  var onMouseMove = function onMouseMove(event) {
108
145
  var target = event.target;
109
146
  if (target.className === '') return;
110
147
  var insideComponents = ['item', 'menubutton', 'filterinput', 'filtercontainer', 'label'].includes(target.className);
111
148
  setInsideComponent(insideComponents);
112
149
  };
150
+
113
151
  var getSelectEvent = function getSelectEvent(selectedEvent) {
114
152
  return {
115
153
  target: {
@@ -118,14 +156,17 @@ var SimpleSelect = function SimpleSelect(props) {
118
156
  }
119
157
  };
120
158
  };
159
+
121
160
  var onChange = function onChange(selectedChange) {
122
161
  if (props.onChange) {
123
162
  var event = getSelectEvent(selectedChange);
124
163
  props.onChange(event);
125
164
  }
126
165
  };
166
+
127
167
  var onFilter = function onFilter(valueFilter) {
128
168
  var selectedFilter;
169
+
129
170
  if (remoteSearch) {
130
171
  if (onSearch) onSearch(valueFilter);
131
172
  } else {
@@ -137,43 +178,52 @@ var SimpleSelect = function SimpleSelect(props) {
137
178
  if (dataComboFilter && dataComboFilter.length > 0) selectedFilter = dataComboFilter[0];
138
179
  setDataCombo(dataComboFilter);
139
180
  }
181
+
140
182
  onChange(selectedFilter);
141
183
  setOpened(true);
142
184
  setInputText(valueFilter);
143
185
  setSelected(selectedFilter);
144
186
  };
187
+
145
188
  var onSelect = function onSelect(selectedDropdown) {
146
189
  if (selectedDropdown === undefined) return;
147
190
  setOpened(false);
148
191
  setSelected(selectedDropdown);
149
- setInputText(selectedDropdown[descriptionKey]);
192
+ if (typeof descriptionKey === 'string') setInputText(selectedDropdown[descriptionKey]);else setInputText(descriptionKey(selectedDropdown));
150
193
  onChange(selectedDropdown);
151
194
  };
195
+
152
196
  var onOpenClose = function onOpenClose() {
153
197
  setOpened(!opened);
154
198
  if (selectWrapper.current) setDropdownWidth(selectWrapper.current.clientWidth);
155
199
  };
200
+
156
201
  var _onFocus = function onFocus() {
157
202
  setOpened(openDropdownOnFocus);
203
+
158
204
  if (selectWrapper) {
159
205
  var dropdownWidthFocus = selectWrapper.current ? selectWrapper.current.clientWidth : 0;
160
206
  setDropdownWidth(dropdownWidthFocus);
161
207
  }
162
208
  };
209
+
163
210
  var onBlur = function onBlur(dataBlur) {
164
211
  if (props.onBlur) {
165
212
  var event = getSelectEvent(dataBlur);
166
213
  props.onBlur(event);
167
214
  }
215
+
168
216
  if (!insideComponent) {
169
217
  setOpened(false);
170
218
  setIsTyping(false);
171
219
  }
172
220
  };
221
+
173
222
  var onInputKeyDown = function onInputKeyDown(e) {
174
223
  if (e.keyCode) {
175
224
  if (e.keyCode === constants.keyCodes.ENTER && selected) {
176
225
  var _e$preventDefault;
226
+
177
227
  (_e$preventDefault = e.preventDefault) === null || _e$preventDefault === void 0 ? void 0 : _e$preventDefault.call(e);
178
228
  onSelect(selected);
179
229
  } else if ([constants.keyCodes.ARROW_UP, constants.keyCodes.ARROW_DOWN].includes(e.keyCode)) {
@@ -181,29 +231,37 @@ var SimpleSelect = function SimpleSelect(props) {
181
231
  var index = dataSource.length > 0 ? dataSource.findIndex(function (d) {
182
232
  return selected && d[idKey] === selected[idKey];
183
233
  }) : 0;
234
+
184
235
  if (e.keyCode === constants.keyCodes.ARROW_DOWN) {
185
236
  index = dataSource && index === dataSource.length - 1 ? 0 : index + 1;
186
237
  } else {
187
238
  index = dataSource && index === 0 ? (dataSource === null || dataSource === void 0 ? void 0 : dataSource.length) - 1 : index - 1;
188
239
  }
240
+
189
241
  setSelected(dataSource[index]);
190
242
  }
191
243
  }
244
+
192
245
  if (!isTyping) setIsTyping(true);
193
246
  };
247
+
194
248
  var onClearClick = function onClearClick() {
195
249
  setSelected(undefined);
196
250
  setInputText('');
197
251
  };
252
+
198
253
  var setOnDenied = function setOnDenied(onDeniedSelect) {
199
254
  setOnDeniedSelect(onDeniedSelect);
200
255
  };
256
+
201
257
  var shouldDisable = function shouldDisable() {
202
258
  return disabled || onDenied && (onDenied.disabled || onDenied.hideContent);
203
259
  };
260
+
204
261
  var shouldBeReadOnly = function shouldBeReadOnly() {
205
262
  return readOnly || onDenied && onDenied.readOnly;
206
263
  };
264
+
207
265
  (0, _react.useEffect)(function () {
208
266
  window.addEventListener('resize', onScreenResize);
209
267
  document.addEventListener('click', onClickOutside);
@@ -223,16 +281,18 @@ var SimpleSelect = function SimpleSelect(props) {
223
281
  (0, _react.useEffect)(function () {
224
282
  if (value !== valueFromProps && dataSource.length > 0) {
225
283
  var newCurrent = null;
226
- if (value) {
284
+
285
+ if (value !== undefined) {
227
286
  newCurrent = dataSource.find(function (i) {
228
- return value && i[idKey].toString().toLowerCase() === value.toString().toLowerCase();
287
+ return i[idKey].toString().toLowerCase() === (value === null || value === void 0 ? void 0 : value.toString().toLowerCase());
229
288
  });
230
289
  setValueFromProps(value);
231
290
  } else if (dataSource.length > 0 && selectFirstOnEnter) {
232
291
  newCurrent = dataSource[0];
233
292
  }
293
+
234
294
  setSelected(newCurrent);
235
- setInputText(newCurrent ? newCurrent[descriptionKey] : '');
295
+ if (typeof descriptionKey === 'string') setInputText(newCurrent ? newCurrent[descriptionKey] : '');else setInputText(newCurrent ? descriptionKey(newCurrent) : '');
236
296
  }
237
297
  }, [dataSource.length, value]);
238
298
  (0, _react.useEffect)(function () {
@@ -243,14 +303,17 @@ var SimpleSelect = function SimpleSelect(props) {
243
303
  descriptionKey: descriptionKey
244
304
  });
245
305
  setDataCombo(dataComboFilteredSimple);
306
+
246
307
  if (dataSource.length > 0 && remoteSearch) {
247
308
  var data = dataSource[0];
248
309
  setSelected(data);
249
310
  }
250
311
  }
312
+
251
313
  if (allOptions) {
252
314
  var _ref;
253
- setDataCombo([(_ref = {}, _defineProperty(_ref, idKey, allOptions.idValue), _defineProperty(_ref, descriptionKey, allOptions.label), _ref)].concat(_toConsumableArray(dataSource)));
315
+
316
+ setDataCombo([(_ref = {}, _defineProperty(_ref, idKey, allOptions.idValue), _defineProperty(_ref, typeof descriptionKey === 'string' ? descriptionKey : descriptionKey(allOptions.label), allOptions.label), _ref)].concat(_toConsumableArray(dataSource)));
254
317
  }
255
318
  }, [dataSource]);
256
319
  return /*#__PURE__*/_react.default.createElement("span", {
@@ -309,5 +372,6 @@ var SimpleSelect = function SimpleSelect(props) {
309
372
  dropdownWidth: dropdownWidth || 0
310
373
  })));
311
374
  };
375
+
312
376
  var _default = SimpleSelect;
313
377
  exports.default = _default;