linear-react-components-ui 1.0.10-beta.11 → 1.0.10-beta.12

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 (240) hide show
  1. package/lib/alerts/AlertContainer.d.ts +0 -2
  2. package/lib/alerts/AlertProvider.d.ts +0 -2
  3. package/lib/alerts/BaseAlert.d.ts +0 -2
  4. package/lib/alerts/Message.d.ts +0 -2
  5. package/lib/alerts/Message.js +1 -1
  6. package/lib/alerts/alert.spec.js +133 -0
  7. package/lib/alerts/helpers.d.ts +0 -2
  8. package/lib/alerts/index.d.ts +0 -2
  9. package/lib/alerts/types.d.ts +1 -3
  10. package/lib/alerts/withAlert.d.ts +0 -2
  11. package/lib/assets/styles/dialog.scss +2 -0
  12. package/lib/assets/styles/drawers.scss +0 -9
  13. package/lib/assets/styles/table.scss +0 -30
  14. package/lib/assets/styles/tooltip.scss +2 -42
  15. package/lib/avatar/avatar.spec.js +190 -0
  16. package/lib/badge/badge.spec.js +127 -0
  17. package/lib/buttons/ActivateButton.d.ts +0 -2
  18. package/lib/buttons/AddButton.d.ts +0 -2
  19. package/lib/buttons/Button.d.ts +0 -2
  20. package/lib/buttons/CancelButton.d.ts +0 -2
  21. package/lib/buttons/DangerButton.d.ts +0 -2
  22. package/lib/buttons/DefaultButton.d.ts +0 -2
  23. package/lib/buttons/DefaultButton.js +4 -16
  24. package/lib/buttons/DestroyButton.d.ts +0 -2
  25. package/lib/buttons/EditButton.d.ts +0 -2
  26. package/lib/buttons/InactivateButton.d.ts +0 -2
  27. package/lib/buttons/InfoButton.d.ts +0 -2
  28. package/lib/buttons/PrimaryButton.d.ts +0 -2
  29. package/lib/buttons/RestoreButton.d.ts +0 -2
  30. package/lib/buttons/SaveButton.d.ts +0 -2
  31. package/lib/buttons/SpinnerLoading.js +230 -0
  32. package/lib/buttons/SuccessButton.d.ts +0 -2
  33. package/lib/buttons/WarningButton.d.ts +0 -2
  34. package/lib/buttons/buttons.spec.js +504 -0
  35. package/lib/buttons/index.d.ts +0 -2
  36. package/lib/buttons/split_button/index.d.ts +0 -2
  37. package/lib/buttons/types.d.ts +2 -6
  38. package/lib/calendar/calendar.spec.js +171 -0
  39. package/lib/checkbox/checkbox.spec.js +215 -0
  40. package/lib/dialog/Alert.d.ts +0 -2
  41. package/lib/dialog/Custom.d.ts +0 -2
  42. package/lib/dialog/Custom.js +1 -1
  43. package/lib/dialog/Error.d.ts +0 -2
  44. package/lib/dialog/Information.d.ts +0 -2
  45. package/lib/dialog/Question.d.ts +0 -2
  46. package/lib/dialog/Warning.d.ts +0 -2
  47. package/lib/dialog/base/Content.d.ts +0 -2
  48. package/lib/dialog/base/Footer.d.ts +0 -2
  49. package/lib/dialog/base/Header.d.ts +0 -2
  50. package/lib/dialog/base/index.d.ts +0 -2
  51. package/lib/dialog/base/index.js +2 -5
  52. package/lib/dialog/dialog.spec.js +488 -0
  53. package/lib/dialog/form/index.d.ts +0 -2
  54. package/lib/dialog/index.d.ts +0 -2
  55. package/lib/dialog/types.d.ts +2 -4
  56. package/lib/drawer/Content.d.ts +0 -2
  57. package/lib/drawer/Drawer.d.ts +1 -3
  58. package/lib/drawer/Drawer.js +2 -25
  59. package/lib/drawer/Drawer.spec.js +258 -0
  60. package/lib/drawer/Header.d.ts +0 -2
  61. package/lib/drawer/helpers.d.ts +0 -2
  62. package/lib/drawer/index.d.ts +0 -2
  63. package/lib/drawer/types.d.ts +1 -4
  64. package/lib/dropdown/Popup.js +0 -7
  65. package/lib/dropdown/dropdown.spec.js +169 -0
  66. package/lib/fieldset/fieldset.spec.js +329 -0
  67. package/lib/form/Field.js +2 -3
  68. package/lib/form/FieldNumber.d.ts +2 -2
  69. package/lib/form/form.spec.js +293 -0
  70. package/lib/form/index.d.ts +1 -2
  71. package/lib/form/index.js +1 -10
  72. package/lib/form/types.d.ts +5 -2
  73. package/lib/form/withFormSecurity.js +1 -2
  74. package/lib/gridlayout/gridLayout.spec.js +169 -0
  75. package/lib/icons/icons.spec.js +86 -0
  76. package/lib/icons/index.d.ts +0 -2
  77. package/lib/icons/types.d.ts +1 -3
  78. package/lib/index.d.ts +1 -3
  79. package/lib/inputs/base/InputTextBase.js +1 -7
  80. package/lib/inputs/base/base.spec.js +690 -0
  81. package/lib/inputs/base/index.js +1 -0
  82. package/lib/inputs/color/color_input.spec.js +174 -0
  83. package/lib/inputs/date/date.spec.js +354 -0
  84. package/lib/inputs/inputHOC.d.ts +0 -2
  85. package/lib/inputs/mask/helpers.d.ts +0 -2
  86. package/lib/inputs/mask/imaskHOC.d.ts +0 -2
  87. package/lib/inputs/mask/imaskHOC.js +2 -2
  88. package/lib/inputs/mask/input_mask.spec.js +607 -0
  89. package/lib/inputs/multiSelect/ActionButtons.d.ts +1 -1
  90. package/lib/inputs/multiSelect/ActionButtons.js +1 -4
  91. package/lib/inputs/multiSelect/Dropdown.js +1 -1
  92. package/lib/inputs/multiSelect/helper.d.ts +6 -8
  93. package/lib/inputs/multiSelect/helper.js +1 -7
  94. package/lib/inputs/multiSelect/index.js +2 -5
  95. package/lib/inputs/multiSelect/types.d.ts +3 -11
  96. package/lib/inputs/number/BaseNumber.d.ts +0 -2
  97. package/lib/inputs/number/Currency.d.ts +0 -2
  98. package/lib/inputs/number/Decimal.d.ts +0 -2
  99. package/lib/inputs/number/index.d.ts +0 -2
  100. package/lib/inputs/number/numberfield.spec.js +215 -0
  101. package/lib/inputs/number/types.d.ts +0 -2
  102. package/lib/inputs/period/index.js +8 -8
  103. package/lib/inputs/period/types.d.ts +2 -2
  104. package/lib/inputs/search/index.d.ts +0 -2
  105. package/lib/inputs/search/search_input.spec.js +209 -0
  106. package/lib/inputs/select/ActionButtons.d.ts +0 -2
  107. package/lib/inputs/select/Dropdown.d.ts +0 -2
  108. package/lib/inputs/select/Dropdown.js +1 -1
  109. package/lib/inputs/select/helper.d.ts +9 -6
  110. package/lib/inputs/select/helper.js +2 -16
  111. package/lib/inputs/select/index.js +6 -7
  112. package/lib/inputs/select/multiple/Selecteds.js +1 -1
  113. package/lib/inputs/select/multiple/index.js +10 -13
  114. package/lib/inputs/select/select.spec.js +395 -0
  115. package/lib/inputs/select/simple/index.js +12 -35
  116. package/lib/inputs/select/types.d.ts +7 -21
  117. package/lib/inputs/text/textfield.spec.js +215 -0
  118. package/lib/inputs/textarea/textarea.spec.js +59 -0
  119. package/lib/inputs/types.d.ts +1 -4
  120. package/lib/internals/types.d.ts +0 -1
  121. package/lib/internals/withTooltip.js +6 -13
  122. package/lib/labelMessages/index.d.ts +0 -2
  123. package/lib/labelMessages/index.js +4 -3
  124. package/lib/labelMessages/labelMessages.spec.js +176 -0
  125. package/lib/labelMessages/types.d.ts +1 -3
  126. package/lib/labels/DangerLabel.d.ts +0 -2
  127. package/lib/labels/DefaultLabel.d.ts +0 -2
  128. package/lib/labels/InfoLabel.d.ts +0 -2
  129. package/lib/labels/PrimaryLabel.d.ts +0 -2
  130. package/lib/labels/SuccessLabel.d.ts +0 -2
  131. package/lib/labels/WarningLabel.d.ts +0 -2
  132. package/lib/labels/index.d.ts +0 -2
  133. package/lib/labels/label.spec.js +162 -0
  134. package/lib/labels/types.d.ts +1 -3
  135. package/lib/list/Header.d.ts +0 -2
  136. package/lib/list/Item.d.ts +0 -2
  137. package/lib/list/helpers.d.ts +0 -2
  138. package/lib/list/index.d.ts +0 -2
  139. package/lib/list/list.spec.js +769 -0
  140. package/lib/list/types.d.ts +2 -4
  141. package/lib/menus/float/MenuItem.d.ts +0 -2
  142. package/lib/menus/float/float-menu.spec.js +221 -0
  143. package/lib/menus/float/helpers.d.ts +0 -2
  144. package/lib/menus/float/index.d.ts +0 -2
  145. package/lib/menus/float/types.d.ts +1 -3
  146. package/lib/menus/index.d.ts +0 -2
  147. package/lib/menus/sidenav/ExpandMenu.d.ts +0 -2
  148. package/lib/menus/sidenav/MenuLink.d.ts +0 -2
  149. package/lib/menus/sidenav/NavMenuGroup.d.ts +0 -2
  150. package/lib/menus/sidenav/NavMenuItem.d.ts +0 -2
  151. package/lib/menus/sidenav/NavSubMenuItem.d.ts +0 -2
  152. package/lib/menus/sidenav/helpers.d.ts +0 -2
  153. package/lib/menus/sidenav/index.d.ts +0 -2
  154. package/lib/menus/sidenav/popup_menu_search/EmptyList.d.ts +0 -2
  155. package/lib/menus/sidenav/popup_menu_search/index.d.ts +0 -2
  156. package/lib/menus/sidenav/sidenav.spec.js +379 -0
  157. package/lib/menus/sidenav/types.d.ts +2 -4
  158. package/lib/panel/Content.d.ts +1 -3
  159. package/lib/panel/DangerPanel.d.ts +1 -3
  160. package/lib/panel/Default.d.ts +1 -3
  161. package/lib/panel/Header.d.ts +1 -3
  162. package/lib/panel/Header.js +4 -3
  163. package/lib/panel/InfoPanel.d.ts +1 -3
  164. package/lib/panel/PrimaryPanel.d.ts +1 -3
  165. package/lib/panel/SuccessPanel.d.ts +1 -3
  166. package/lib/panel/ToolBar.d.ts +1 -3
  167. package/lib/panel/WarningPanel.d.ts +1 -3
  168. package/lib/panel/helpers.d.ts +1 -3
  169. package/lib/panel/index.d.ts +1 -3
  170. package/lib/panel/panel.spec.js +216 -0
  171. package/lib/panel/types.d.ts +1 -3
  172. package/lib/popover/PopoverText.d.ts +0 -2
  173. package/lib/popover/PopoverTitle.d.ts +0 -2
  174. package/lib/popover/index.d.ts +0 -2
  175. package/lib/popover/index.js +2 -1
  176. package/lib/popover/popover.spec.js +146 -0
  177. package/lib/popover/types.d.ts +1 -3
  178. package/lib/progress/progress.spec.js +94 -0
  179. package/lib/radio/radio.spec.js +189 -0
  180. package/lib/spinner/spinner.spec.js +152 -0
  181. package/lib/split/split.spec.js +163 -0
  182. package/lib/table/Row.js +3 -20
  183. package/lib/table/table.spec.js +352 -0
  184. package/lib/table/types.d.ts +0 -5
  185. package/lib/tabs/DropdownItems.d.ts +0 -2
  186. package/lib/tabs/Menu.d.ts +0 -2
  187. package/lib/tabs/MenuItems.d.ts +0 -2
  188. package/lib/tabs/Panel.d.ts +0 -2
  189. package/lib/tabs/index.d.ts +0 -2
  190. package/lib/tabs/tabHelpers.d.ts +0 -2
  191. package/lib/tabs/tabs.spec.js +321 -0
  192. package/lib/tabs/types.d.ts +1 -3
  193. package/lib/toolbar/ButtonBar.d.ts +0 -2
  194. package/lib/toolbar/LabelBar.d.ts +0 -2
  195. package/lib/toolbar/ToolBarGroup.d.ts +0 -2
  196. package/lib/toolbar/helpers.d.ts +0 -2
  197. package/lib/toolbar/index.d.ts +0 -2
  198. package/lib/toolbar/toolbar.spec.js +394 -0
  199. package/lib/toolbar/types.d.ts +2 -4
  200. package/lib/tooltip/index.d.ts +1 -1
  201. package/lib/tooltip/index.js +1 -5
  202. package/lib/tooltip/tooltip.spec.js +215 -0
  203. package/lib/tooltip/types.d.ts +0 -1
  204. package/lib/treeview/treeview.spec.js +279 -0
  205. package/lib/{types-c1d83632.d.ts → types-3c6f1c20.d.ts} +1 -2
  206. package/lib/uitour/uitour.spec.js +176 -0
  207. package/package.json +1 -1
  208. package/demo/06c001f4d19c06397d470bb43ff3fe49.png +0 -0
  209. package/demo/270084ef02ed3bddc3f735fd91ee3cae.png +0 -0
  210. package/demo/882f8e819d18f5f2dc08d23ebd28a7d5.png +0 -0
  211. package/demo/bundle.js +0 -2
  212. package/demo/bundle.js.LICENSE.txt +0 -65
  213. package/demo/cbc3b4bd6342c551db7afafe26dc458c.jpg +0 -0
  214. package/demo/edc9476523b940deab91951066981a31.png +0 -0
  215. package/demo/fb44e7c36db6d95bb85a745d4f060fb2.png +0 -0
  216. package/demo/fonts/Roboto-Black.woff +0 -0
  217. package/demo/fonts/Roboto-Black.woff2 +0 -0
  218. package/demo/fonts/Roboto-Bold.woff +0 -0
  219. package/demo/fonts/Roboto-Bold.woff2 +0 -0
  220. package/demo/fonts/Roboto-Light.woff +0 -0
  221. package/demo/fonts/Roboto-Light.woff2 +0 -0
  222. package/demo/fonts/Roboto-Medium.woff +0 -0
  223. package/demo/fonts/Roboto-Medium.woff2 +0 -0
  224. package/demo/fonts/Roboto-Regular.woff +0 -0
  225. package/demo/fonts/Roboto-Regular.woff2 +0 -0
  226. package/demo/fonts/Roboto-Thin.woff +0 -0
  227. package/demo/fonts/Roboto-Thin.woff2 +0 -0
  228. package/demo/fonts/TitilliumWeb-Black.woff +0 -0
  229. package/demo/fonts/TitilliumWeb-Black.woff2 +0 -0
  230. package/demo/fonts/TitilliumWeb-Bold.woff +0 -0
  231. package/demo/fonts/TitilliumWeb-Bold.woff2 +0 -0
  232. package/demo/fonts/TitilliumWeb-ExtraLight.woff +0 -0
  233. package/demo/fonts/TitilliumWeb-ExtraLight.woff2 +0 -0
  234. package/demo/fonts/TitilliumWeb-Light.woff +0 -0
  235. package/demo/fonts/TitilliumWeb-Light.woff2 +0 -0
  236. package/demo/fonts/TitilliumWeb-Regular.woff +0 -0
  237. package/demo/fonts/TitilliumWeb-Regular.woff2 +0 -0
  238. package/demo/fonts/TitilliumWeb-SemiBold.woff +0 -0
  239. package/demo/fonts/TitilliumWeb-SemiBold.woff2 +0 -0
  240. package/demo/index.html +0 -1
@@ -1,20 +1,23 @@
1
+ import { DataCombo } from '../../@types/DataCombo.js';
1
2
  import { IDropdownSelectProps } from '../types.js';
2
- import { GetSimpleFilteredParams, GetMultipleFilteredParams } from './types.js';
3
3
  import 'react';
4
4
  import '../../@types/PermissionAttr.js';
5
- import '../../@types/DataCombo.js';
6
5
  import '../base/types.js';
7
6
  import '../../@types/Align.js';
8
7
  import '../../@types/Period.js';
9
8
  import '../../drawer/types.js';
10
9
  import '../../@types/Position.js';
11
- import '../../@types/Icon.js';
12
- import '../../icons/helper.js';
13
10
 
14
11
  declare const contentClass: (props: IDropdownSelectProps) => string;
15
12
  declare const getDropdownItemCssClass: (selected: boolean, disabled: boolean, striped: boolean) => string;
16
- declare const getFilteredSimpleDataCombo: ({ dataSource, descriptionKey, inputText, }: Omit<GetSimpleFilteredParams, 'currents'>) => any[];
17
- declare const getFilteredMultipleDataCombo: ({ dataSource, inputText, descriptionKey, currents, }: GetMultipleFilteredParams) => any[];
13
+ interface GetFilteredParams {
14
+ dataSource: DataCombo[];
15
+ descriptionKey: string;
16
+ inputText: string;
17
+ currents: DataCombo[];
18
+ }
19
+ declare const getFilteredSimpleDataCombo: ({ dataSource, descriptionKey, inputText, }: Omit<GetFilteredParams, 'currents'>) => any[];
20
+ declare const getFilteredMultipleDataCombo: ({ dataSource, inputText, descriptionKey, currents, }: GetFilteredParams) => any[];
18
21
  declare const returnDropdownDynamicStyles: ({ selectFieldRef, dropdownMaxHeight, dropdownRef }: IDropdownSelectProps) => {
19
22
  maxHeight: number;
20
23
  top: number;
@@ -26,15 +26,7 @@ var getFilteredSimpleDataCombo = function getFilteredSimpleDataCombo(_ref) {
26
26
  descriptionKey = _ref.descriptionKey,
27
27
  inputText = _ref.inputText;
28
28
  return dataSource && dataSource.filter(function (item) {
29
- var _descriptionKey;
30
-
31
- if (typeof descriptionKey === 'string') {
32
- var _item$descriptionKey;
33
-
34
- return ((_item$descriptionKey = item[descriptionKey]) === null || _item$descriptionKey === void 0 ? void 0 : _item$descriptionKey.toLowerCase().indexOf(inputText === null || inputText === void 0 ? void 0 : inputText.toString().toLowerCase())) > -1;
35
- }
36
-
37
- return ((_descriptionKey = descriptionKey(item)) === null || _descriptionKey === void 0 ? void 0 : _descriptionKey.toLowerCase().indexOf(inputText === null || inputText === void 0 ? void 0 : inputText.toString().toLowerCase())) > -1;
29
+ return item[descriptionKey].toLowerCase().indexOf(inputText.toLowerCase()) > -1;
38
30
  });
39
31
  };
40
32
 
@@ -46,13 +38,7 @@ var getFilteredMultipleDataCombo = function getFilteredMultipleDataCombo(_ref2)
46
38
  descriptionKey = _ref2.descriptionKey,
47
39
  currents = _ref2.currents;
48
40
  return dataSource.filter(function (item) {
49
- var _descriptionKey2;
50
-
51
- if (typeof descriptionKey === 'string') {
52
- return item[descriptionKey].toLowerCase().indexOf(inputText === null || inputText === void 0 ? void 0 : inputText.toString().toLowerCase()) > -1 && !currents.includes(item);
53
- }
54
-
55
- return ((_descriptionKey2 = descriptionKey(item)) === null || _descriptionKey2 === void 0 ? void 0 : _descriptionKey2.toLowerCase().indexOf(inputText === null || inputText === void 0 ? void 0 : inputText.toString().toLowerCase())) > -1 && !currents.includes(item);
41
+ return item[descriptionKey].toLowerCase().indexOf(inputText.toLowerCase()) > -1 && !currents.includes(item);
56
42
  });
57
43
  };
58
44
 
@@ -7,14 +7,14 @@ exports.default = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
10
+ var _simple = _interopRequireDefault(require("./simple"));
11
+
10
12
  var _multiple = _interopRequireDefault(require("./multiple"));
11
13
 
12
14
  require("../../assets/styles/select.scss");
13
15
 
14
16
  var _gridlayout = _interopRequireDefault(require("../../gridlayout"));
15
17
 
16
- var _simple = _interopRequireDefault(require("./simple"));
17
-
18
18
  var _excluded = ["gridLayout", "multiple", "value"];
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -31,16 +31,15 @@ var SelectField = function SelectField(props) {
31
31
  value = props.value,
32
32
  newProps = _objectWithoutProperties(props, _excluded);
33
33
 
34
- var component = multiple ? /*#__PURE__*/_react.default.createElement(_multiple.default, _extends({}, newProps, {
34
+ var component = multiple ? /*#__PURE__*/_react.default.createElement(_multiple.default, _extends({
35
35
  dataSource: props.dataSource ? props.dataSource : [],
36
36
  idKey: props.idKey ? props.idKey : '',
37
- value: Array.isArray(value) ? value : undefined,
38
37
  descriptionKey: props.descriptionKey ? props.descriptionKey : ''
39
- })) : /*#__PURE__*/_react.default.createElement(_simple.default, _extends({}, newProps, {
38
+ }, newProps)) : /*#__PURE__*/_react.default.createElement(_simple.default, _extends({
40
39
  idKey: props.idKey ? props.idKey : '',
41
- value: !Array.isArray(value) ? value : undefined,
40
+ value: value,
42
41
  descriptionKey: props.descriptionKey ? props.descriptionKey : ''
43
- }));
42
+ }, newProps));
44
43
 
45
44
  if (gridLayout !== undefined) {
46
45
  return /*#__PURE__*/_react.default.createElement(_gridlayout.default, {
@@ -18,7 +18,7 @@ var Selecteds = function Selecteds(_ref) {
18
18
  return /*#__PURE__*/_react.default.createElement("div", {
19
19
  className: "selecteditem",
20
20
  key: "selected-".concat(selected[idKey])
21
- }, typeof descriptionKey === 'string' ? selected[descriptionKey] : descriptionKey(selected), /*#__PURE__*/_react.default.createElement("span", {
21
+ }, selected[descriptionKey], /*#__PURE__*/_react.default.createElement("span", {
22
22
  className: "close",
23
23
  role: "button",
24
24
  tabIndex: -1,
@@ -79,7 +79,7 @@ var MultipleSelect = function MultipleSelect(props) {
79
79
  selected = _useState6[0],
80
80
  setSelected = _useState6[1];
81
81
 
82
- var _useState7 = (0, _react.useState)([]),
82
+ var _useState7 = (0, _react.useState)(''),
83
83
  _useState8 = _slicedToArray(_useState7, 2),
84
84
  inputValue = _useState8[0],
85
85
  setInputValue = _useState8[1];
@@ -114,7 +114,6 @@ var MultipleSelect = function MultipleSelect(props) {
114
114
  var dropdownRef = (0, _react.useRef)(null);
115
115
  var selectWrapper = (0, _react.useRef)();
116
116
  var gridElRef = (0, _react.useRef)();
117
- var descriptionKeyIsString = typeof descriptionKey === 'string';
118
117
 
119
118
  var onScreenResize = function onScreenResize() {
120
119
  if (selectWrapper.current) setDropdownWidth(selectWrapper.current.clientWidth);
@@ -147,13 +146,13 @@ var MultipleSelect = function MultipleSelect(props) {
147
146
  if (remoteSearch) {
148
147
  if (props.onSearch) props.onSearch(filteredValue);
149
148
  setOpened(true);
150
- setInputValue([filteredValue]);
149
+ setInputValue(filteredValue);
151
150
  } else {
152
151
  var dataComboFilter = dataSource;
153
152
 
154
- if (filteredValue.length > 0) {
153
+ if (filteredValue !== '') {
155
154
  dataComboFilter = (0, _helper.getFilteredMultipleDataCombo)({
156
- inputText: [filteredValue],
155
+ inputText: filteredValue,
157
156
  dataSource: dataSource,
158
157
  descriptionKey: descriptionKey,
159
158
  currents: currents
@@ -164,7 +163,7 @@ var MultipleSelect = function MultipleSelect(props) {
164
163
  setDataCombo(dataComboFilter);
165
164
  setOpened(true);
166
165
  if (selectedFilter) setSelected(selectedFilter);
167
- setInputValue([filteredValue]);
166
+ setInputValue(filteredValue);
168
167
  }
169
168
  };
170
169
 
@@ -173,7 +172,7 @@ var MultipleSelect = function MultipleSelect(props) {
173
172
  var currentsSelect = [].concat(_toConsumableArray(currents), [select]);
174
173
  setCurrents(currentsSelect);
175
174
  setDataCombo(dataSource);
176
- setInputValue([]);
175
+ setInputValue('');
177
176
  setOpened(false);
178
177
  if (props.onSelect) setSelected(props.onSelect(currentsSelect.map(function (i) {
179
178
  return i[idKey];
@@ -224,15 +223,13 @@ var MultipleSelect = function MultipleSelect(props) {
224
223
  index = dataSource && index === 0 ? dataSource.length - 1 : index - 1;
225
224
  }
226
225
 
227
- if (dataSource && dataSource.length) {
228
- if (descriptionKeyIsString && dataSource[index][descriptionKey]) {
229
- setInputValue(dataSource[index][descriptionKey]);
230
- } else if (!descriptionKeyIsString) setInputValue([descriptionKey(dataSource[index])]);
226
+ if (dataSource && dataSource.length && dataSource[index][props.descriptionKey]) {
227
+ setInputValue(dataSource[index][props.descriptionKey]);
231
228
  }
232
229
 
233
230
  if (dataSource) setSelected(dataSource[index]);
234
231
  } else if (e.keyCode === constants.keyCodes.BACKSPACE) {
235
- if (inputValue.length === 0) {
232
+ if (inputValue === '') {
236
233
  var currentsKeyDown = _lodash.default.dropRight(currents);
237
234
 
238
235
  setCurrents(currentsKeyDown);
@@ -299,7 +296,7 @@ var MultipleSelect = function MultipleSelect(props) {
299
296
  ref: componentRef,
300
297
  className: "select-component"
301
298
  }, /*#__PURE__*/_react.default.createElement(_InputTextBase.default, _extends({}, props, {
302
- value: inputValue.toString(),
299
+ value: inputValue,
303
300
  readOnly: shouldBeReadOnly(),
304
301
  onFocus: function onFocus() {
305
302
  _onFocus();
@@ -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
+ });