linear-react-components-ui 1.0.1 → 1.0.3-beta.1

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 (331) 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/alert.spec.js +133 -0
  19. package/lib/alerts/helpers.js +2 -0
  20. package/lib/alerts/index.d.ts +1 -4
  21. package/lib/alerts/index.js +4 -0
  22. package/lib/alerts/types.d.ts +4 -4
  23. package/lib/alerts/withAlert.js +12 -1
  24. package/lib/avatar/avatar.spec.js +190 -0
  25. package/lib/avatar/index.js +35 -20
  26. package/lib/badge/badge.spec.js +127 -0
  27. package/lib/badge/index.js +14 -9
  28. package/lib/buttons/ActivateButton.js +6 -0
  29. package/lib/buttons/AddButton.js +7 -0
  30. package/lib/buttons/Button.js +15 -2
  31. package/lib/buttons/ButtonGroups.js +4 -0
  32. package/lib/buttons/CancelButton.js +11 -1
  33. package/lib/buttons/DangerButton.js +11 -1
  34. package/lib/buttons/DefaultButton.js +81 -45
  35. package/lib/buttons/DestroyButton.js +12 -1
  36. package/lib/buttons/EditButton.js +6 -0
  37. package/lib/buttons/InactivateButton.js +6 -0
  38. package/lib/buttons/InfoButton.js +11 -1
  39. package/lib/buttons/PrimaryButton.js +11 -1
  40. package/lib/buttons/RestoreButton.js +6 -0
  41. package/lib/buttons/SaveButton.js +11 -1
  42. package/lib/buttons/SpinnerLoading.js +230 -0
  43. package/lib/buttons/SuccessButton.js +11 -1
  44. package/lib/buttons/WarningButton.js +11 -1
  45. package/lib/buttons/button_container/index.js +11 -5
  46. package/lib/buttons/buttons.spec.js +504 -0
  47. package/lib/buttons/index.d.ts +1 -4
  48. package/lib/buttons/index.js +18 -0
  49. package/lib/buttons/split_button/index.js +17 -11
  50. package/lib/calendar/DangerCalendar.js +11 -1
  51. package/lib/calendar/InfoCalendar.js +11 -1
  52. package/lib/calendar/PrimaryCalendar.js +11 -1
  53. package/lib/calendar/SuccessCalendar.js +11 -1
  54. package/lib/calendar/WarningCalendar.js +11 -1
  55. package/lib/calendar/base/Day.js +13 -2
  56. package/lib/calendar/base/Month.js +18 -1
  57. package/lib/calendar/base/Week.js +18 -2
  58. package/lib/calendar/base/helpers.js +24 -8
  59. package/lib/calendar/base/index.js +37 -13
  60. package/lib/calendar/calendar.spec.js +171 -0
  61. package/lib/calendar/index.d.ts +1 -4
  62. package/lib/calendar/index.js +8 -0
  63. package/lib/checkbox/Label.js +7 -1
  64. package/lib/checkbox/checkbox.spec.js +215 -0
  65. package/lib/checkbox/index.js +53 -28
  66. package/lib/checkbox/types.d.ts +2 -2
  67. package/lib/dialog/Alert.js +8 -0
  68. package/lib/dialog/Custom.js +17 -5
  69. package/lib/dialog/Error.js +8 -0
  70. package/lib/dialog/Information.js +8 -0
  71. package/lib/dialog/Question.js +15 -4
  72. package/lib/dialog/Warning.js +8 -0
  73. package/lib/dialog/base/Content.js +6 -1
  74. package/lib/dialog/base/Footer.js +4 -0
  75. package/lib/dialog/base/Header.js +13 -5
  76. package/lib/dialog/base/index.js +28 -7
  77. package/lib/dialog/base/style.js +2 -0
  78. package/lib/dialog/dialog.spec.js +488 -0
  79. package/lib/dialog/form/index.js +29 -9
  80. package/lib/dialog/index.d.ts +1 -4
  81. package/lib/dialog/index.js +9 -0
  82. package/lib/drawer/Content.d.ts +0 -1
  83. package/lib/drawer/Content.js +13 -2
  84. package/lib/drawer/Drawer.d.ts +0 -1
  85. package/lib/drawer/Drawer.js +55 -22
  86. package/lib/drawer/Drawer.spec.js +258 -0
  87. package/lib/drawer/Header.d.ts +0 -1
  88. package/lib/drawer/Header.js +27 -10
  89. package/lib/drawer/helpers.d.ts +0 -1
  90. package/lib/drawer/helpers.js +4 -0
  91. package/lib/drawer/index.d.ts +0 -1
  92. package/lib/drawer/index.js +8 -0
  93. package/lib/drawer/types.d.ts +1 -2
  94. package/lib/dropdown/Popup.js +32 -19
  95. package/lib/dropdown/dropdown.spec.js +169 -0
  96. package/lib/dropdown/helper.js +4 -0
  97. package/lib/dropdown/withDropdown.js +47 -18
  98. package/lib/fieldset/fieldset.spec.js +329 -0
  99. package/lib/fieldset/index.js +46 -21
  100. package/lib/form/Field.js +42 -16
  101. package/lib/form/FieldArray.js +32 -15
  102. package/lib/form/FieldNumber.js +20 -6
  103. package/lib/form/FieldPeriod.js +21 -9
  104. package/lib/form/form.spec.js +293 -0
  105. package/lib/form/helpers.js +30 -5
  106. package/lib/form/index.js +91 -36
  107. package/lib/form/types.d.ts +6 -6
  108. package/lib/form/withFieldHOC.js +34 -15
  109. package/lib/form/withFormSecurity.js +28 -5
  110. package/lib/gridlayout/GridCol.js +11 -5
  111. package/lib/gridlayout/GridRow.js +9 -3
  112. package/lib/gridlayout/gridLayout.spec.js +169 -0
  113. package/lib/gridlayout/index.d.ts +1 -4
  114. package/lib/gridlayout/index.js +4 -0
  115. package/lib/icons/icons.spec.js +86 -0
  116. package/lib/icons/index.js +26 -16
  117. package/lib/icons/types.d.ts +1 -1
  118. package/lib/index.d.ts +1 -1
  119. package/lib/index.js +10 -0
  120. package/lib/inputs/base/InputTextBase.js +75 -50
  121. package/lib/inputs/base/base.spec.js +690 -0
  122. package/lib/inputs/base/helpers.d.ts +1 -1
  123. package/lib/inputs/base/helpers.js +40 -7
  124. package/lib/inputs/base/index.js +1 -0
  125. package/lib/inputs/base/types.d.ts +1 -0
  126. package/lib/inputs/color/color_input.spec.js +174 -0
  127. package/lib/inputs/color/index.js +38 -11
  128. package/lib/inputs/date/Dialog.js +7 -2
  129. package/lib/inputs/date/Dropdown.js +8 -1
  130. package/lib/inputs/date/date.spec.js +354 -0
  131. package/lib/inputs/date/helpers.js +11 -2
  132. package/lib/inputs/date/index.js +101 -48
  133. package/lib/inputs/file/DefaultFile.js +42 -13
  134. package/lib/inputs/file/DragDropFile.js +90 -37
  135. package/lib/inputs/file/File.js +25 -4
  136. package/lib/inputs/file/FileButtonSettings.js +11 -5
  137. package/lib/inputs/file/helpers.js +5 -0
  138. package/lib/inputs/file/index.d.ts +1 -4
  139. package/lib/inputs/file/index.js +6 -0
  140. package/lib/inputs/file/types.d.ts +1 -1
  141. package/lib/inputs/inputHOC.d.ts +1 -2
  142. package/lib/inputs/inputHOC.js +34 -10
  143. package/lib/inputs/mask/BaseMask.js +17 -1
  144. package/lib/inputs/mask/Cnpj.js +37 -12
  145. package/lib/inputs/mask/Cpf.js +33 -10
  146. package/lib/inputs/mask/Phone.js +6 -0
  147. package/lib/inputs/mask/ZipCode.js +6 -0
  148. package/lib/inputs/mask/helpers.d.ts +1 -2
  149. package/lib/inputs/mask/helpers.js +20 -8
  150. package/lib/inputs/mask/imaskHOC.d.ts +1 -2
  151. package/lib/inputs/mask/imaskHOC.js +83 -52
  152. package/lib/inputs/mask/index.d.ts +1 -4
  153. package/lib/inputs/mask/index.js +7 -0
  154. package/lib/inputs/mask/input_mask.spec.js +607 -0
  155. package/lib/inputs/multiSelect/ActionButtons.js +13 -4
  156. package/lib/inputs/multiSelect/Dropdown.js +45 -22
  157. package/lib/inputs/multiSelect/helper.js +4 -2
  158. package/lib/inputs/multiSelect/index.js +104 -40
  159. package/lib/inputs/number/BaseNumber.d.ts +1 -2
  160. package/lib/inputs/number/BaseNumber.js +16 -3
  161. package/lib/inputs/number/Currency.d.ts +1 -2
  162. package/lib/inputs/number/Currency.js +7 -1
  163. package/lib/inputs/number/Decimal.d.ts +1 -2
  164. package/lib/inputs/number/Decimal.js +5 -0
  165. package/lib/inputs/number/format_number.js +7 -0
  166. package/lib/inputs/number/index.d.ts +1 -2
  167. package/lib/inputs/number/index.js +13 -3
  168. package/lib/inputs/number/numberfield.spec.js +215 -0
  169. package/lib/inputs/number/types.d.ts +1 -2
  170. package/lib/inputs/period/Dialog.js +7 -2
  171. package/lib/inputs/period/Dropdown.js +7 -0
  172. package/lib/inputs/period/PeriodList.js +7 -1
  173. package/lib/inputs/period/helper.js +12 -2
  174. package/lib/inputs/period/index.js +114 -43
  175. package/lib/inputs/period/types.d.ts +1 -1
  176. package/lib/inputs/search/index.d.ts +1 -2
  177. package/lib/inputs/search/index.js +66 -25
  178. package/lib/inputs/search/search_input.spec.js +209 -0
  179. package/lib/inputs/select/ActionButtons.d.ts +1 -2
  180. package/lib/inputs/select/ActionButtons.js +12 -4
  181. package/lib/inputs/select/Dropdown.d.ts +1 -2
  182. package/lib/inputs/select/Dropdown.js +48 -28
  183. package/lib/inputs/select/helper.d.ts +1 -2
  184. package/lib/inputs/select/helper.js +25 -9
  185. package/lib/inputs/select/index.d.ts +1 -1
  186. package/lib/inputs/select/index.js +18 -3
  187. package/lib/inputs/select/multiple/Selecteds.d.ts +1 -1
  188. package/lib/inputs/select/multiple/Selecteds.js +7 -3
  189. package/lib/inputs/select/multiple/index.d.ts +1 -1
  190. package/lib/inputs/select/multiple/index.js +96 -37
  191. package/lib/inputs/select/select.spec.js +395 -0
  192. package/lib/inputs/select/simple/index.d.ts +1 -1
  193. package/lib/inputs/select/simple/index.js +118 -54
  194. package/lib/inputs/select/types.d.ts +7 -2
  195. package/lib/inputs/text/index.js +5 -1
  196. package/lib/inputs/text/textfield.spec.js +215 -0
  197. package/lib/inputs/text/types.d.ts +1 -1
  198. package/lib/inputs/textarea/index.js +10 -4
  199. package/lib/inputs/textarea/textarea.spec.js +59 -0
  200. package/lib/inputs/types.d.ts +3 -9
  201. package/lib/internals/withTooltip.js +70 -25
  202. package/lib/labelMessages/index.js +45 -25
  203. package/lib/labelMessages/labelMessages.spec.js +176 -0
  204. package/lib/labels/DangerLabel.js +11 -1
  205. package/lib/labels/DefaultLabel.js +41 -19
  206. package/lib/labels/InfoLabel.js +11 -1
  207. package/lib/labels/PrimaryLabel.js +11 -1
  208. package/lib/labels/SuccessLabel.js +11 -1
  209. package/lib/labels/WarningLabel.js +11 -1
  210. package/lib/labels/index.d.ts +1 -4
  211. package/lib/labels/index.js +10 -0
  212. package/lib/labels/label.spec.js +162 -0
  213. package/lib/labels/label_container/index.js +7 -3
  214. package/lib/list/Header.js +7 -3
  215. package/lib/list/Item.js +68 -33
  216. package/lib/list/Separator.js +4 -0
  217. package/lib/list/helpers.js +4 -0
  218. package/lib/list/index.js +60 -25
  219. package/lib/list/list.spec.js +769 -0
  220. package/lib/list/types.d.ts +1 -1
  221. package/lib/menus/float/MenuItem.js +26 -9
  222. package/lib/menus/float/SubMenuContainer.js +17 -5
  223. package/lib/menus/float/float-menu.spec.js +221 -0
  224. package/lib/menus/float/helpers.js +4 -0
  225. package/lib/menus/float/index.js +21 -8
  226. package/lib/menus/index.d.ts +1 -4
  227. package/lib/menus/index.js +3 -0
  228. package/lib/menus/sidenav/ExpandMenu.js +7 -2
  229. package/lib/menus/sidenav/MenuLink.js +12 -3
  230. package/lib/menus/sidenav/NavMenuGroup.js +12 -3
  231. package/lib/menus/sidenav/NavMenuItem.js +56 -27
  232. package/lib/menus/sidenav/NavSubMenuItem.js +27 -8
  233. package/lib/menus/sidenav/helpers.js +9 -0
  234. package/lib/menus/sidenav/index.js +75 -26
  235. package/lib/menus/sidenav/popup_menu_search/EmptyList.js +7 -2
  236. package/lib/menus/sidenav/popup_menu_search/index.js +45 -15
  237. package/lib/menus/sidenav/sidenav.spec.js +379 -0
  238. package/lib/menus/sidenav/types.d.ts +1 -1
  239. package/lib/noPermission/index.js +6 -0
  240. package/lib/panel/Content.d.ts +1 -1
  241. package/lib/panel/Content.js +22 -7
  242. package/lib/panel/DangerPanel.d.ts +1 -1
  243. package/lib/panel/DangerPanel.js +7 -0
  244. package/lib/panel/Default.d.ts +1 -1
  245. package/lib/panel/Default.js +44 -20
  246. package/lib/panel/Header.d.ts +1 -1
  247. package/lib/panel/Header.js +27 -12
  248. package/lib/panel/InfoPanel.d.ts +1 -1
  249. package/lib/panel/InfoPanel.js +7 -0
  250. package/lib/panel/PrimaryPanel.d.ts +1 -1
  251. package/lib/panel/PrimaryPanel.js +7 -0
  252. package/lib/panel/SuccessPanel.d.ts +1 -1
  253. package/lib/panel/SuccessPanel.js +7 -0
  254. package/lib/panel/ToolBar.d.ts +1 -1
  255. package/lib/panel/ToolBar.js +5 -0
  256. package/lib/panel/WarningPanel.d.ts +1 -1
  257. package/lib/panel/WarningPanel.js +7 -0
  258. package/lib/panel/helpers.d.ts +1 -1
  259. package/lib/panel/helpers.js +10 -2
  260. package/lib/panel/index.d.ts +2 -5
  261. package/lib/panel/index.js +11 -0
  262. package/lib/panel/panel.spec.js +216 -0
  263. package/lib/panel/types.d.ts +1 -1
  264. package/lib/permissionValidations.js +15 -3
  265. package/lib/popover/PopoverText.js +4 -0
  266. package/lib/popover/PopoverTitle.js +4 -0
  267. package/lib/popover/index.js +29 -16
  268. package/lib/popover/popover.spec.js +146 -0
  269. package/lib/popover/types.d.ts +2 -1
  270. package/lib/progress/Bar.js +33 -20
  271. package/lib/progress/index.js +14 -5
  272. package/lib/progress/progress.spec.js +94 -0
  273. package/lib/radio/index.js +46 -23
  274. package/lib/radio/radio.spec.js +189 -0
  275. package/lib/skeleton/SkeletonContainer.js +9 -3
  276. package/lib/skeleton/index.js +22 -10
  277. package/lib/spinner/SpinnerLoading.js +7 -3
  278. package/lib/spinner/index.js +40 -18
  279. package/lib/spinner/spinner.spec.js +152 -0
  280. package/lib/split/Split.js +83 -32
  281. package/lib/split/SplitSide.js +18 -6
  282. package/lib/split/helpers.d.ts +1 -1
  283. package/lib/split/helpers.js +4 -0
  284. package/lib/split/index.d.ts +1 -4
  285. package/lib/split/index.js +5 -0
  286. package/lib/split/split.spec.js +163 -0
  287. package/lib/table/Body.js +29 -15
  288. package/lib/table/Header.js +28 -5
  289. package/lib/table/HeaderColumn.js +21 -10
  290. package/lib/table/Row.js +28 -18
  291. package/lib/table/RowColumn.js +29 -12
  292. package/lib/table/helpers.js +7 -0
  293. package/lib/table/index.js +62 -32
  294. package/lib/table/table.spec.js +352 -0
  295. package/lib/table/types.d.ts +1 -1
  296. package/lib/tabs/DropdownItems.js +21 -12
  297. package/lib/tabs/Menu.js +15 -5
  298. package/lib/tabs/MenuItems.js +33 -23
  299. package/lib/tabs/Panel.js +39 -14
  300. package/lib/tabs/index.js +113 -46
  301. package/lib/tabs/tabHelpers.js +16 -3
  302. package/lib/tabs/tabs.spec.js +321 -0
  303. package/lib/toolbar/ButtonBar.js +29 -13
  304. package/lib/toolbar/LabelBar.js +28 -11
  305. package/lib/toolbar/Separator.js +4 -0
  306. package/lib/toolbar/ToolBarGroup.js +6 -2
  307. package/lib/toolbar/helpers.js +2 -0
  308. package/lib/toolbar/index.js +23 -7
  309. package/lib/toolbar/toolbar.spec.js +394 -0
  310. package/lib/tooltip/index.js +25 -10
  311. package/lib/tooltip/tooltip.spec.js +215 -0
  312. package/lib/tooltip/types.d.ts +1 -1
  313. package/lib/treetable/Body.js +27 -9
  314. package/lib/treetable/Header.js +11 -1
  315. package/lib/treetable/Row.js +113 -58
  316. package/lib/treetable/helpers.js +10 -0
  317. package/lib/treetable/index.js +11 -0
  318. package/lib/treeview/Header.js +6 -2
  319. package/lib/treeview/Node.js +111 -47
  320. package/lib/treeview/constants.js +4 -0
  321. package/lib/treeview/index.js +134 -54
  322. package/lib/treeview/treeview.spec.js +279 -0
  323. package/lib/treeview/types.d.ts +2 -2
  324. package/lib/treeview_old/Header.js +6 -1
  325. package/lib/treeview_old/Node.js +32 -5
  326. package/lib/treeview_old/index.js +9 -1
  327. package/lib/{types-90c43ae1.d.ts → types-3c6f1c20.d.ts} +1 -1
  328. package/lib/uitour/index.js +73 -33
  329. package/lib/uitour/types.d.ts +1 -1
  330. package/lib/uitour/uitour.spec.js +176 -0
  331. 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,22 @@ 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
  }
225
+
174
226
  if (dataSource && dataSource.length && dataSource[index][props.descriptionKey]) {
175
227
  setInputValue(dataSource[index][props.descriptionKey]);
176
228
  }
229
+
177
230
  if (dataSource) setSelected(dataSource[index]);
178
231
  } else if (e.keyCode === constants.keyCodes.BACKSPACE) {
179
232
  if (inputValue === '') {
180
233
  var currentsKeyDown = _lodash.default.dropRight(currents);
234
+
181
235
  setCurrents(currentsKeyDown);
182
236
  if (props.onSelect) props.onSelect(currentsKeyDown.map(function (i) {
183
237
  return i[idKey];
@@ -186,15 +240,19 @@ var MultipleSelect = function MultipleSelect(props) {
186
240
  }
187
241
  }
188
242
  };
243
+
189
244
  var setOnDenied = function setOnDenied(denied) {
190
245
  setOnDeniedSelect(denied);
191
246
  };
247
+
192
248
  var shouldDisable = function shouldDisable() {
193
249
  return props.disabled || onDenied && (onDenied.disabled || onDenied.hideContent);
194
250
  };
251
+
195
252
  var shouldBeReadOnly = function shouldBeReadOnly() {
196
253
  return props.readOnly || onDenied && onDenied.readOnly;
197
254
  };
255
+
198
256
  (0, _react.useEffect)(function () {
199
257
  window.addEventListener('resize', onScreenResize);
200
258
  document.addEventListener('click', onClickOutside);
@@ -289,5 +347,6 @@ var MultipleSelect = function MultipleSelect(props) {
289
347
  dropdownWidth: dropdownWidth || 0
290
348
  })));
291
349
  };
350
+
292
351
  var _default = MultipleSelect;
293
352
  exports.default = _default;
@@ -0,0 +1,395 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _storageMock = _interopRequireWildcard(require("../../../../config/jest/storageMock"));
10
+
11
+ var _simple = _interopRequireDefault(require("./simple"));
12
+
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+
15
+ 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; }
16
+
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+
19
+ function _extends() { _extends = Object.assign || 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
+
21
+ var SelectFieldTest = function SelectFieldTest(props) {
22
+ var dataArray = function dataArray() {
23
+ return [{
24
+ id: 9000,
25
+ name: 'C#',
26
+ iconName: 'user_group'
27
+ }, {
28
+ id: 14,
29
+ name: 'Java',
30
+ iconName: 'folder_close'
31
+ }, {
32
+ id: 3,
33
+ name: 'Erlang',
34
+ iconName: 'calendar'
35
+ }, {
36
+ id: 13,
37
+ name: 'Pascal',
38
+ iconName: 'config'
39
+ }];
40
+ };
41
+
42
+ return /*#__PURE__*/_react.default.createElement(_simple.default, _extends({}, props, {
43
+ dataSource: dataArray(),
44
+ idKey: "id",
45
+ descriptionKey: "name",
46
+ id: "testId",
47
+ value: 14,
48
+ label: "testLabel",
49
+ placeHolder: "testPlaceHolder",
50
+ maxLength: 5,
51
+ multiple: true,
52
+ hint: "testHint",
53
+ errorMessages: ['error1, error2'],
54
+ textAlign: "left",
55
+ dropdownMaxHeight: 100,
56
+ name: "test"
57
+ }));
58
+ };
59
+
60
+ describe('Select', function () {
61
+ describe('Permission', function () {
62
+ var defineStorage = function defineStorage() {
63
+ Object.defineProperty(window, 'sessionStorage', {
64
+ value: (0, _storageMock.default)()
65
+ });
66
+ };
67
+
68
+ it('should check permission', function () {
69
+ defineStorage();
70
+
71
+ var _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_simple.default, {
72
+ idKey: "id",
73
+ descriptionKey: "name",
74
+ permissionAttr: (0, _storageMock.permissionAttrMockAuthorized)('disabled')
75
+ })),
76
+ container = _render.container;
77
+
78
+ expect(container.firstChild).not.toHaveClass('-disabled');
79
+ expect(container.firstChild).toBeTruthy();
80
+ });
81
+ it('should check permission, be unavaible and onDenied is disabled', function () {
82
+ defineStorage();
83
+ var mockOnClick = jest.fn();
84
+
85
+ var mockButton = /*#__PURE__*/_react.default.createElement(_simple.default, {
86
+ idKey: "id",
87
+ descriptionKey: "name",
88
+ onClick: mockOnClick,
89
+ permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('disabled')
90
+ });
91
+
92
+ var _render2 = (0, _react2.render)(mockButton),
93
+ container = _render2.container;
94
+
95
+ _react2.fireEvent.click(container.querySelector('input'));
96
+
97
+ expect(container.querySelector('input')).toBeDisabled();
98
+ expect(mockOnClick).toBeCalledTimes(0);
99
+ });
100
+ it('should check permission, be unavaible and onDenied is unvisible', function () {
101
+ defineStorage();
102
+
103
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_simple.default, {
104
+ idKey: "id",
105
+ descriptionKey: "name",
106
+ permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('unvisible')
107
+ })),
108
+ container = _render3.container;
109
+
110
+ expect(container.querySelector('input')).not.toBeTruthy();
111
+ });
112
+ });
113
+ describe('Default', function () {
114
+ it('should render without errors', function () {
115
+ var _render4 = (0, _react2.render)(SelectFieldTest()),
116
+ container = _render4.container;
117
+
118
+ expect(container.firstChild).toBeTruthy();
119
+ });
120
+ it('should idKey', function () {
121
+ var _render5 = (0, _react2.render)(SelectFieldTest()),
122
+ container = _render5.container;
123
+
124
+ expect(container.querySelector('input').id).toBe('testId');
125
+ });
126
+ it('should value', function () {
127
+ var _render6 = (0, _react2.render)(SelectFieldTest()),
128
+ container = _render6.container;
129
+
130
+ expect(container.querySelector('input').value).toBe('Java');
131
+ });
132
+ it('should multiple', function () {
133
+ var _render7 = (0, _react2.render)(SelectFieldTest()),
134
+ container = _render7.container,
135
+ getByTestId = _render7.getByTestId;
136
+
137
+ var inputContent = container.querySelector('input');
138
+
139
+ _react2.fireEvent.change(inputContent, {
140
+ target: {
141
+ value: [14, 13, 3]
142
+ }
143
+ });
144
+
145
+ expect(getByTestId('testInputContent')).toHaveClass('multiselect');
146
+ expect(getByTestId('testInputContent').querySelectorAll('.item').length >= 1);
147
+ });
148
+ it('should hint', function () {
149
+ var _render8 = (0, _react2.render)(SelectFieldTest()),
150
+ container = _render8.container;
151
+
152
+ expect(container.querySelector('p')).toHaveTextContent('testHint');
153
+ });
154
+ it('should undigitable', function () {
155
+ var _render9 = (0, _react2.render)(SelectFieldTest({
156
+ undigitable: true
157
+ })),
158
+ getByTestId = _render9.getByTestId;
159
+
160
+ expect(getByTestId('testInputWrapper')).toHaveClass('-undigitable');
161
+ });
162
+ it('should label text match with prop label', function () {
163
+ var _render10 = (0, _react2.render)(SelectFieldTest()),
164
+ container = _render10.container;
165
+
166
+ expect(container.querySelector('.select-component')).toHaveTextContent('testLabel');
167
+ });
168
+ it('should readOnly', function () {
169
+ var _render11 = (0, _react2.render)(SelectFieldTest({
170
+ readOnly: true
171
+ })),
172
+ container = _render11.container;
173
+
174
+ expect(container.querySelector('input').readOnly).toEqual(true);
175
+ });
176
+ it('should apply placeHolder', function () {
177
+ var _render12 = (0, _react2.render)(SelectFieldTest()),
178
+ container = _render12.container;
179
+
180
+ expect(container.querySelector('input').placeholder).toBe('testPlaceHolder');
181
+ });
182
+ it('should maxLength', function () {
183
+ var _render13 = (0, _react2.render)(SelectFieldTest()),
184
+ container = _render13.container;
185
+
186
+ expect(container.querySelector('input').maxLength).toBe(5);
187
+ });
188
+ it('should name', function () {
189
+ var _render14 = (0, _react2.render)(SelectFieldTest()),
190
+ container = _render14.container;
191
+
192
+ expect(container.querySelector('input').name).toBe('test');
193
+ });
194
+ it('should textAlign', function () {
195
+ var _render15 = (0, _react2.render)(SelectFieldTest()),
196
+ container = _render15.container;
197
+
198
+ expect(container.querySelector('input')).toHaveClass('text-align-left');
199
+ });
200
+ it('should rounded', function () {
201
+ var _render16 = (0, _react2.render)(SelectFieldTest({
202
+ rounded: true
203
+ })),
204
+ getByTestId = _render16.getByTestId;
205
+
206
+ expect(getByTestId('testInputWrapper')).toHaveClass('-roundedborders');
207
+ });
208
+ it('should id', function () {
209
+ var _render17 = (0, _react2.render)(SelectFieldTest()),
210
+ container = _render17.container;
211
+
212
+ expect(container.querySelector('input').id).toBe('testId');
213
+ });
214
+ it('should required', function () {
215
+ var _render18 = (0, _react2.render)(SelectFieldTest({
216
+ required: true
217
+ })),
218
+ container = _render18.container;
219
+
220
+ expect(container.querySelector('.labelcontainer span span')).toHaveClass('-requiredlabel');
221
+ });
222
+ it('should errorMessages', function () {
223
+ var _render19 = (0, _react2.render)(SelectFieldTest()),
224
+ getByTestId = _render19.getByTestId;
225
+
226
+ expect(getByTestId('testInputWrapper')).toHaveClass('-requirederror');
227
+ });
228
+ it('should searchOnDropdown', function () {
229
+ var _render20 = (0, _react2.render)(SelectFieldTest({
230
+ searchOnDropdown: true
231
+ })),
232
+ getByTestId = _render20.getByTestId;
233
+
234
+ expect(getByTestId('testInputWrapper')).toHaveClass('-undigitable');
235
+ });
236
+ it('should gridLayout', function () {
237
+ var _render21 = (0, _react2.render)(SelectFieldTest({
238
+ gridLayout: '6 6 6 6'
239
+ })),
240
+ container = _render21.container;
241
+
242
+ expect(container.querySelector('div')).toHaveClass('grid-container col-xs-6 col-sm-6 col-md-6 col-lg-6');
243
+ });
244
+ it('should showClearButton', function () {
245
+ var _render22 = (0, _react2.render)(SelectFieldTest({
246
+ showClearButton: true
247
+ })),
248
+ container = _render22.container;
249
+
250
+ expect(container.querySelector('svg')).toHaveClass('icon-component iconclear');
251
+ });
252
+ it('should autoFocus', function () {
253
+ var _render23 = (0, _react2.render)(SelectFieldTest({
254
+ autoFocus: true
255
+ })),
256
+ container = _render23.container;
257
+
258
+ expect(container.querySelector('input').focus).toBeTruthy();
259
+ });
260
+ it('should apply disabled', function () {
261
+ var _render24 = (0, _react2.render)(SelectFieldTest({
262
+ disabled: true
263
+ })),
264
+ container = _render24.container;
265
+
266
+ expect(container.querySelector('input')).toBeDisabled();
267
+ });
268
+ it('should apply onChange', function () {
269
+ var onChange = jest.fn();
270
+
271
+ var _render25 = (0, _react2.render)(SelectFieldTest({
272
+ onChange: onChange
273
+ })),
274
+ container = _render25.container;
275
+
276
+ var inputContent = container.querySelector('input');
277
+
278
+ _react2.fireEvent.change(inputContent, {
279
+ target: {
280
+ value: 14
281
+ }
282
+ });
283
+
284
+ expect(onChange).toBeCalled();
285
+ });
286
+ it('should apply onBlur', function () {
287
+ var onBlur = jest.fn();
288
+
289
+ var _render26 = (0, _react2.render)(SelectFieldTest({
290
+ onBlur: onBlur
291
+ })),
292
+ container = _render26.container;
293
+
294
+ var inputContent = container.querySelector('input');
295
+
296
+ _react2.fireEvent.blur(inputContent);
297
+
298
+ expect(onBlur).toBeCalled();
299
+ });
300
+ it('should remoteSearch', function () {
301
+ var MockOnSearch = jest.fn();
302
+
303
+ var _render27 = (0, _react2.render)(SelectFieldTest({
304
+ remoteSearch: true,
305
+ onSearch: MockOnSearch
306
+ })),
307
+ container = _render27.container;
308
+
309
+ var inputContent = container.querySelector('input');
310
+
311
+ _react2.fireEvent.change(inputContent, {
312
+ target: {
313
+ value: 'test'
314
+ }
315
+ });
316
+
317
+ expect(MockOnSearch).toHaveBeenCalled();
318
+ });
319
+ it('should apply onSearch', function () {
320
+ var onSearch = jest.fn();
321
+
322
+ var _render28 = (0, _react2.render)(SelectFieldTest({
323
+ remoteSearch: true,
324
+ onSearch: onSearch
325
+ })),
326
+ container = _render28.container;
327
+
328
+ var inputContent = container.querySelector('input');
329
+
330
+ _react2.fireEvent.change(inputContent, {
331
+ target: {
332
+ value: 'C#'
333
+ }
334
+ });
335
+
336
+ expect(onSearch).toBeCalled();
337
+ });
338
+ it('should descriptionKey', function () {
339
+ var _render29 = (0, _react2.render)(SelectFieldTest()),
340
+ container = _render29.container;
341
+
342
+ var inputContent = container.querySelector('input');
343
+
344
+ _react2.fireEvent.change(inputContent, {
345
+ target: {
346
+ value: 'test'
347
+ }
348
+ });
349
+
350
+ var dropdownItem = document.querySelectorAll('.select-dropdown .item')[0];
351
+ expect(dropdownItem).toHaveTextContent('C#');
352
+ });
353
+ it('should selectFirstOnEnter', function () {
354
+ var _render30 = (0, _react2.render)(SelectFieldTest({
355
+ selectFirstOnEnter: true
356
+ })),
357
+ container = _render30.container;
358
+
359
+ var inputContent = container.querySelector('input');
360
+
361
+ _react2.fireEvent.change(inputContent, {
362
+ target: {
363
+ value: ''
364
+ }
365
+ });
366
+
367
+ var dropdown = document.querySelector('.select-dropdown');
368
+ expect(dropdown.firstChild).toHaveClass('-selected');
369
+ });
370
+ it('should openDropdownOnFocus', function () {
371
+ var _render31 = (0, _react2.render)(SelectFieldTest({
372
+ openDropdownOnFocus: false
373
+ })),
374
+ container = _render31.container;
375
+
376
+ container.querySelector('input').focus();
377
+ expect(container.querySelector('.dropdown')).not.toBeTruthy();
378
+ });
379
+ it('should dataSource', function () {
380
+ var _render32 = (0, _react2.render)(SelectFieldTest()),
381
+ container = _render32.container;
382
+
383
+ var inputContent = container.querySelector('input');
384
+
385
+ _react2.fireEvent.change(inputContent, {
386
+ target: {
387
+ value: 'test'
388
+ }
389
+ });
390
+
391
+ var dropdown = document.querySelector('.select-dropdown');
392
+ expect(dropdown.firstChild !== dropdown.lastChild);
393
+ });
394
+ });
395
+ });