linear-react-components-ui 1.0.10-beta.2 → 1.0.10-beta.21

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 (281) hide show
  1. package/.eslintrc.json +1 -0
  2. package/.vscode/settings.json +1 -1
  3. package/README.md +19 -12
  4. package/lib/@types/Align.d.ts +2 -1
  5. package/lib/alerts/AlertContainer.d.ts +2 -0
  6. package/lib/alerts/AlertProvider.d.ts +2 -0
  7. package/lib/alerts/BaseAlert.d.ts +2 -0
  8. package/lib/alerts/Message.d.ts +2 -0
  9. package/lib/alerts/Message.js +1 -1
  10. package/lib/alerts/alert.spec.js +133 -0
  11. package/lib/alerts/helpers.d.ts +2 -0
  12. package/lib/alerts/index.d.ts +2 -0
  13. package/lib/alerts/types.d.ts +3 -1
  14. package/lib/alerts/withAlert.d.ts +2 -0
  15. package/lib/assets/styles/dialog.scss +9 -6
  16. package/lib/assets/styles/drawers.scss +9 -0
  17. package/lib/assets/styles/effects.scss +2 -2
  18. package/lib/assets/styles/radio.scss +52 -8
  19. package/lib/assets/styles/table.scss +30 -0
  20. package/lib/assets/styles/tooltip.scss +42 -2
  21. package/lib/avatar/avatar.spec.js +190 -0
  22. package/lib/badge/badge.spec.js +127 -0
  23. package/lib/buttons/ActivateButton.d.ts +2 -0
  24. package/lib/buttons/AddButton.d.ts +2 -0
  25. package/lib/buttons/Button.d.ts +2 -0
  26. package/lib/buttons/CancelButton.d.ts +2 -0
  27. package/lib/buttons/DangerButton.d.ts +2 -0
  28. package/lib/buttons/DefaultButton.d.ts +2 -0
  29. package/lib/buttons/DefaultButton.js +14 -4
  30. package/lib/buttons/DestroyButton.d.ts +2 -0
  31. package/lib/buttons/EditButton.d.ts +2 -0
  32. package/lib/buttons/InactivateButton.d.ts +2 -0
  33. package/lib/buttons/InfoButton.d.ts +2 -0
  34. package/lib/buttons/PrimaryButton.d.ts +2 -0
  35. package/lib/buttons/RestoreButton.d.ts +2 -0
  36. package/lib/buttons/SaveButton.d.ts +2 -0
  37. package/lib/buttons/SpinnerLoading.js +230 -0
  38. package/lib/buttons/SuccessButton.d.ts +2 -0
  39. package/lib/buttons/WarningButton.d.ts +2 -0
  40. package/lib/buttons/buttons.spec.js +504 -0
  41. package/lib/buttons/index.d.ts +2 -0
  42. package/lib/buttons/split_button/index.d.ts +2 -0
  43. package/lib/buttons/types.d.ts +6 -2
  44. package/lib/calendar/calendar.spec.js +171 -0
  45. package/lib/checkbox/checkbox.spec.js +215 -0
  46. package/lib/dialog/Alert.d.ts +3 -0
  47. package/lib/dialog/Custom.d.ts +3 -0
  48. package/lib/dialog/Custom.js +1 -1
  49. package/lib/dialog/Error.d.ts +3 -0
  50. package/lib/dialog/Information.d.ts +3 -0
  51. package/lib/dialog/Question.d.ts +3 -0
  52. package/lib/dialog/Warning.d.ts +3 -0
  53. package/lib/dialog/base/Content.d.ts +3 -0
  54. package/lib/dialog/base/Footer.d.ts +3 -0
  55. package/lib/dialog/base/Header.d.ts +3 -0
  56. package/lib/dialog/base/Header.js +12 -1
  57. package/lib/dialog/base/index.d.ts +3 -0
  58. package/lib/dialog/base/index.js +78 -16
  59. package/lib/dialog/dialog.spec.js +488 -0
  60. package/lib/dialog/form/index.d.ts +7 -3
  61. package/lib/dialog/form/index.js +11 -4
  62. package/lib/dialog/index.d.ts +3 -0
  63. package/lib/dialog/types.d.ts +10 -4
  64. package/lib/drawer/Content.d.ts +2 -0
  65. package/lib/drawer/Drawer.d.ts +3 -1
  66. package/lib/drawer/Drawer.js +22 -2
  67. package/lib/drawer/Drawer.spec.js +258 -0
  68. package/lib/drawer/Header.d.ts +2 -0
  69. package/lib/drawer/helpers.d.ts +2 -0
  70. package/lib/drawer/index.d.ts +2 -0
  71. package/lib/drawer/types.d.ts +4 -1
  72. package/lib/dropdown/Popup.js +5 -0
  73. package/lib/dropdown/dropdown.spec.js +169 -0
  74. package/lib/fieldset/fieldset.spec.js +329 -0
  75. package/lib/form/Field.d.ts +2 -1
  76. package/lib/form/Field.js +33 -24
  77. package/lib/form/FieldArray.d.ts +1 -0
  78. package/lib/form/FieldArray.js +41 -4
  79. package/lib/form/FieldNumber.d.ts +1 -0
  80. package/lib/form/FieldNumber.js +24 -5
  81. package/lib/form/FieldPeriod.d.ts +1 -0
  82. package/lib/form/FieldPeriod.js +16 -2
  83. package/lib/form/form.spec.js +293 -0
  84. package/lib/form/helpers.d.ts +2 -1
  85. package/lib/form/helpers.js +2 -2
  86. package/lib/form/index.d.ts +4 -2
  87. package/lib/form/index.js +72 -35
  88. package/lib/form/types.d.ts +25 -6
  89. package/lib/form/withFieldHOC.d.ts +1 -0
  90. package/lib/form/withFieldHOC.js +1 -0
  91. package/lib/form/withFormSecurity.d.ts +1 -0
  92. package/lib/form/withFormSecurity.js +2 -1
  93. package/lib/gridlayout/gridLayout.spec.js +169 -0
  94. package/lib/icons/helper.d.ts +4 -0
  95. package/lib/icons/helper.js +4 -0
  96. package/lib/icons/icons.spec.js +86 -0
  97. package/lib/icons/index.d.ts +2 -0
  98. package/lib/icons/types.d.ts +3 -1
  99. package/lib/index.d.ts +4 -1
  100. package/lib/inputs/base/InputTextBase.d.ts +1 -0
  101. package/lib/inputs/base/InputTextBase.js +10 -2
  102. package/lib/inputs/base/base.spec.js +690 -0
  103. package/lib/inputs/base/helpers.d.ts +2 -1
  104. package/lib/inputs/base/index.js +1 -0
  105. package/lib/inputs/base/types.d.ts +2 -1
  106. package/lib/inputs/color/color_input.spec.js +174 -0
  107. package/lib/inputs/date/Dialog.d.ts +1 -0
  108. package/lib/inputs/date/Dropdown.d.ts +1 -0
  109. package/lib/inputs/date/date.spec.js +354 -0
  110. package/lib/inputs/date/helpers.d.ts +2 -1
  111. package/lib/inputs/date/helpers.js +3 -2
  112. package/lib/inputs/date/index.d.ts +1 -0
  113. package/lib/inputs/date/index.js +24 -9
  114. package/lib/inputs/date/types.d.ts +3 -1
  115. package/lib/inputs/file/DefaultFile.d.ts +1 -0
  116. package/lib/inputs/file/DragDropFile.d.ts +1 -0
  117. package/lib/inputs/file/File.d.ts +1 -0
  118. package/lib/inputs/file/FileButtonSettings.d.ts +1 -0
  119. package/lib/inputs/file/helpers.d.ts +1 -0
  120. package/lib/inputs/file/index.d.ts +1 -0
  121. package/lib/inputs/file/types.d.ts +1 -0
  122. package/lib/inputs/inputHOC.d.ts +3 -0
  123. package/lib/inputs/mask/BaseMask.d.ts +1 -0
  124. package/lib/inputs/mask/BaseMask.js +20 -5
  125. package/lib/inputs/mask/Cnpj.d.ts +1 -0
  126. package/lib/inputs/mask/Cpf.d.ts +1 -0
  127. package/lib/inputs/mask/Cpf.js +4 -4
  128. package/lib/inputs/mask/Phone.d.ts +1 -0
  129. package/lib/inputs/mask/ZipCode.d.ts +1 -0
  130. package/lib/inputs/mask/helpers.d.ts +3 -0
  131. package/lib/inputs/mask/helpers.js +1 -1
  132. package/lib/inputs/mask/imaskHOC.d.ts +3 -0
  133. package/lib/inputs/mask/imaskHOC.js +16 -12
  134. package/lib/inputs/mask/index.d.ts +1 -0
  135. package/lib/inputs/mask/input_mask.spec.js +607 -0
  136. package/lib/inputs/mask/types.d.ts +2 -1
  137. package/lib/inputs/multiSelect/ActionButtons.d.ts +2 -1
  138. package/lib/inputs/multiSelect/ActionButtons.js +4 -1
  139. package/lib/inputs/multiSelect/Dropdown.d.ts +1 -0
  140. package/lib/inputs/multiSelect/Dropdown.js +4 -4
  141. package/lib/inputs/multiSelect/helper.d.ts +8 -6
  142. package/lib/inputs/multiSelect/helper.js +5 -1
  143. package/lib/inputs/multiSelect/index.d.ts +1 -0
  144. package/lib/inputs/multiSelect/index.js +15 -11
  145. package/lib/inputs/multiSelect/types.d.ts +16 -6
  146. package/lib/inputs/number/BaseNumber.d.ts +3 -0
  147. package/lib/inputs/number/BaseNumber.js +1 -2
  148. package/lib/inputs/number/Currency.d.ts +3 -0
  149. package/lib/inputs/number/Decimal.d.ts +3 -0
  150. package/lib/inputs/number/format_number.d.ts +2 -1
  151. package/lib/inputs/number/format_number.js +8 -3
  152. package/lib/inputs/number/index.d.ts +3 -0
  153. package/lib/inputs/number/numberfield.spec.js +215 -0
  154. package/lib/inputs/number/types.d.ts +3 -1
  155. package/lib/inputs/period/Dialog.d.ts +1 -0
  156. package/lib/inputs/period/Dropdown.d.ts +1 -0
  157. package/lib/inputs/period/PeriodList.d.ts +1 -0
  158. package/lib/inputs/period/helper.d.ts +1 -0
  159. package/lib/inputs/period/index.d.ts +1 -0
  160. package/lib/inputs/period/index.js +8 -9
  161. package/lib/inputs/period/types.d.ts +3 -2
  162. package/lib/inputs/search/index.d.ts +3 -0
  163. package/lib/inputs/search/search_input.spec.js +209 -0
  164. package/lib/inputs/select/ActionButtons.d.ts +3 -0
  165. package/lib/inputs/select/Dropdown.d.ts +3 -0
  166. package/lib/inputs/select/Dropdown.js +1 -1
  167. package/lib/inputs/select/helper.d.ts +7 -9
  168. package/lib/inputs/select/helper.js +11 -2
  169. package/lib/inputs/select/index.d.ts +1 -0
  170. package/lib/inputs/select/index.js +6 -5
  171. package/lib/inputs/select/multiple/Selecteds.d.ts +1 -0
  172. package/lib/inputs/select/multiple/Selecteds.js +1 -1
  173. package/lib/inputs/select/multiple/index.d.ts +1 -0
  174. package/lib/inputs/select/multiple/index.js +13 -10
  175. package/lib/inputs/select/select.spec.js +395 -0
  176. package/lib/inputs/select/simple/index.d.ts +1 -0
  177. package/lib/inputs/select/simple/index.js +35 -18
  178. package/lib/inputs/select/types.d.ts +22 -7
  179. package/lib/inputs/text/index.d.ts +1 -0
  180. package/lib/inputs/text/textfield.spec.js +215 -0
  181. package/lib/inputs/text/types.d.ts +1 -1
  182. package/lib/inputs/textarea/index.d.ts +1 -0
  183. package/lib/inputs/textarea/index.js +1 -1
  184. package/lib/inputs/textarea/textarea.spec.js +59 -0
  185. package/lib/inputs/textarea/types.d.ts +1 -0
  186. package/lib/inputs/types.d.ts +7 -3
  187. package/lib/internals/types.d.ts +1 -0
  188. package/lib/internals/withTooltip.js +13 -6
  189. package/lib/labelMessages/index.d.ts +2 -0
  190. package/lib/labelMessages/index.js +3 -4
  191. package/lib/labelMessages/labelMessages.spec.js +176 -0
  192. package/lib/labelMessages/types.d.ts +3 -1
  193. package/lib/labels/DangerLabel.d.ts +2 -0
  194. package/lib/labels/DefaultLabel.d.ts +2 -0
  195. package/lib/labels/InfoLabel.d.ts +2 -0
  196. package/lib/labels/PrimaryLabel.d.ts +2 -0
  197. package/lib/labels/SuccessLabel.d.ts +2 -0
  198. package/lib/labels/WarningLabel.d.ts +2 -0
  199. package/lib/labels/index.d.ts +2 -0
  200. package/lib/labels/label.spec.js +162 -0
  201. package/lib/labels/types.d.ts +3 -1
  202. package/lib/list/Header.d.ts +2 -0
  203. package/lib/list/Item.d.ts +2 -0
  204. package/lib/list/helpers.d.ts +2 -0
  205. package/lib/list/index.d.ts +2 -0
  206. package/lib/list/list.spec.js +769 -0
  207. package/lib/list/types.d.ts +4 -2
  208. package/lib/menus/float/MenuItem.d.ts +2 -0
  209. package/lib/menus/float/float-menu.spec.js +221 -0
  210. package/lib/menus/float/helpers.d.ts +2 -0
  211. package/lib/menus/float/index.d.ts +2 -0
  212. package/lib/menus/float/types.d.ts +3 -1
  213. package/lib/menus/index.d.ts +2 -0
  214. package/lib/menus/sidenav/ExpandMenu.d.ts +2 -0
  215. package/lib/menus/sidenav/MenuLink.d.ts +2 -0
  216. package/lib/menus/sidenav/NavMenuGroup.d.ts +2 -0
  217. package/lib/menus/sidenav/NavMenuItem.d.ts +2 -0
  218. package/lib/menus/sidenav/NavSubMenuItem.d.ts +2 -0
  219. package/lib/menus/sidenav/helpers.d.ts +2 -0
  220. package/lib/menus/sidenav/index.d.ts +2 -0
  221. package/lib/menus/sidenav/popup_menu_search/EmptyList.d.ts +2 -0
  222. package/lib/menus/sidenav/popup_menu_search/index.d.ts +2 -0
  223. package/lib/menus/sidenav/sidenav.spec.js +379 -0
  224. package/lib/menus/sidenav/types.d.ts +4 -2
  225. package/lib/panel/Content.d.ts +3 -1
  226. package/lib/panel/DangerPanel.d.ts +3 -1
  227. package/lib/panel/Default.d.ts +3 -1
  228. package/lib/panel/Header.d.ts +3 -1
  229. package/lib/panel/Header.js +3 -4
  230. package/lib/panel/InfoPanel.d.ts +3 -1
  231. package/lib/panel/PrimaryPanel.d.ts +3 -1
  232. package/lib/panel/SuccessPanel.d.ts +3 -1
  233. package/lib/panel/ToolBar.d.ts +3 -1
  234. package/lib/panel/WarningPanel.d.ts +3 -1
  235. package/lib/panel/helpers.d.ts +3 -1
  236. package/lib/panel/index.d.ts +3 -1
  237. package/lib/panel/panel.spec.js +216 -0
  238. package/lib/panel/types.d.ts +3 -1
  239. package/lib/popover/PopoverText.d.ts +2 -0
  240. package/lib/popover/PopoverTitle.d.ts +2 -0
  241. package/lib/popover/index.d.ts +2 -0
  242. package/lib/popover/index.js +1 -2
  243. package/lib/popover/popover.spec.js +146 -0
  244. package/lib/popover/types.d.ts +3 -1
  245. package/lib/progress/progress.spec.js +94 -0
  246. package/lib/radio/index.d.ts +2 -1
  247. package/lib/radio/index.js +5 -1
  248. package/lib/radio/radio.spec.js +189 -0
  249. package/lib/radio/types.d.ts +4 -1
  250. package/lib/spinner/spinner.spec.js +152 -0
  251. package/lib/split/split.spec.js +163 -0
  252. package/lib/table/Body.js +9 -12
  253. package/lib/table/Header.js +19 -16
  254. package/lib/table/Row.js +20 -3
  255. package/lib/table/index.js +1 -0
  256. package/lib/table/table.spec.js +352 -0
  257. package/lib/table/types.d.ts +7 -0
  258. package/lib/tabs/DropdownItems.d.ts +2 -0
  259. package/lib/tabs/Menu.d.ts +2 -0
  260. package/lib/tabs/MenuItems.d.ts +2 -0
  261. package/lib/tabs/Panel.d.ts +2 -0
  262. package/lib/tabs/index.d.ts +2 -0
  263. package/lib/tabs/tabHelpers.d.ts +2 -0
  264. package/lib/tabs/tabs.spec.js +321 -0
  265. package/lib/tabs/types.d.ts +3 -1
  266. package/lib/toolbar/ButtonBar.d.ts +2 -0
  267. package/lib/toolbar/LabelBar.d.ts +2 -0
  268. package/lib/toolbar/ToolBarGroup.d.ts +2 -0
  269. package/lib/toolbar/helpers.d.ts +2 -0
  270. package/lib/toolbar/index.d.ts +2 -0
  271. package/lib/toolbar/toolbar.spec.js +394 -0
  272. package/lib/toolbar/types.d.ts +4 -2
  273. package/lib/tooltip/index.d.ts +1 -1
  274. package/lib/tooltip/index.js +5 -1
  275. package/lib/tooltip/tooltip.spec.js +215 -0
  276. package/lib/tooltip/types.d.ts +1 -0
  277. package/lib/treeview/index.js +1 -0
  278. package/lib/treeview/treeview.spec.js +279 -0
  279. package/lib/{types-90c43ae1.d.ts → types-c1e2d0c9.d.ts} +2 -1
  280. package/lib/uitour/uitour.spec.js +176 -0
  281. package/package.json +67 -64
@@ -27,7 +27,6 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
27
27
  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; } }
28
28
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29
29
  var PeriodPicker = function PeriodPicker(props) {
30
- var _props$value2, _props$value3;
31
30
  var _props$showButtonOpen = props.showButtonOpen,
32
31
  showButtonOpen = _props$showButtonOpen === void 0 ? true : _props$showButtonOpen,
33
32
  _props$openOnFocus = props.openOnFocus,
@@ -42,11 +41,11 @@ var PeriodPicker = function PeriodPicker(props) {
42
41
  height: '350px'
43
42
  } : _props$dialogSize,
44
43
  calendarColorStyle = props.calendarColorStyle;
45
- var _useState = (0, _react.useState)(props.value && props.value.valueInitial ? (0, _moment.default)(props.value.valueInitial) : undefined),
44
+ var _useState = (0, _react.useState)(props.value && props.value.initial ? (0, _moment.default)(props.value.initial) : undefined),
46
45
  _useState2 = _slicedToArray(_useState, 2),
47
46
  valueInitial = _useState2[0],
48
47
  setValueInitial = _useState2[1];
49
- var _useState3 = (0, _react.useState)(props.value && props.value.valueFinal ? (0, _moment.default)(props.value.valueFinal) : undefined),
48
+ var _useState3 = (0, _react.useState)(props.value && props.value.final ? (0, _moment.default)(props.value.final) : undefined),
50
49
  _useState4 = _slicedToArray(_useState3, 2),
51
50
  valueFinal = _useState4[0],
52
51
  setValueFinal = _useState4[1];
@@ -119,10 +118,10 @@ var PeriodPicker = function PeriodPicker(props) {
119
118
  }
120
119
  }, [valueInitial, valueFinal]);
121
120
  (0, _react.useEffect)(function () {
122
- if (props.value) {
121
+ if (props.value && !((0, _moment.default)(props.value.initial).isSame(valueInitial) || (0, _moment.default)(props.value.final).isSame(valueFinal))) {
123
122
  var _props$value = props.value,
124
- valueInitialProp = _props$value.valueInitial,
125
- valueFinalProp = _props$value.valueFinal;
123
+ valueInitialProp = _props$value.initial,
124
+ valueFinalProp = _props$value.final;
126
125
  var newValueInitial;
127
126
  var newValueFinal;
128
127
  if ((0, _moment.default)(valueInitialProp, 'YYYY-MM-DD', true).isValid()) {
@@ -134,7 +133,7 @@ var PeriodPicker = function PeriodPicker(props) {
134
133
  setValueInitial(newValueInitial);
135
134
  setValueFinal(newValueFinal);
136
135
  }
137
- }, [(_props$value2 = props.value) === null || _props$value2 === void 0 ? void 0 : _props$value2.valueInitial, (_props$value3 = props.value) === null || _props$value3 === void 0 ? void 0 : _props$value3.valueFinal]);
136
+ }, [props.value]);
138
137
  var openCalendar = function openCalendar() {
139
138
  setShowCalendar(true);
140
139
  setShowPeriodSelection(false);
@@ -162,7 +161,7 @@ var PeriodPicker = function PeriodPicker(props) {
162
161
  }
163
162
  };
164
163
  var setValue = function setValue(e, value) {
165
- var sholdOpenDropdown = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
164
+ var shouldOpenDropdown = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;
166
165
  var changingAux = e ? e.target.name : '';
167
166
  var dateObj = (0, _moment.default)(value, 'DD/MM/YYYY');
168
167
  if (changingAux === 'valueInitial') {
@@ -170,7 +169,7 @@ var PeriodPicker = function PeriodPicker(props) {
170
169
  } else {
171
170
  setValueFinal(dateObj);
172
171
  }
173
- if (changingAux === 'valueInitial' && !valueFinal && sholdOpenDropdown) {
172
+ if (changingAux === 'valueInitial' && !valueFinal && shouldOpenDropdown) {
174
173
  var _inputFinalRef$curren;
175
174
  if (valueFinal) setChanging(valueFinal);
176
175
  setShowCalendar(false);
@@ -4,6 +4,7 @@ import { ColorStyles } from '../../@types/ColorStyles.js';
4
4
  import { Period } from '../../@types/Period.js';
5
5
  import { PermissionAttr } from '../../@types/PermissionAttr.js';
6
6
  import { CustomInputEvent } from '../base/types.js';
7
+ import '../../@types/Align.js';
7
8
 
8
9
  type DateTypes = 'today' | 'week' | 'lastweek' | 'last15' | 'month' | 'lastmonth';
9
10
  interface IPeriodOptions {
@@ -29,8 +30,8 @@ interface IPeriodDropdownProps {
29
30
  interface IPeriodPickerProps {
30
31
  label?: string;
31
32
  value?: {
32
- valueInitial?: Moment | string;
33
- valueFinal?: Moment | string;
33
+ initial?: Moment | string;
34
+ final?: Moment | string;
34
35
  };
35
36
  customClassForLabel?: string;
36
37
  labelUppercase?: boolean;
@@ -3,9 +3,12 @@ import 'react';
3
3
  import '../../@types/PermissionAttr.js';
4
4
  import '../../@types/DataCombo.js';
5
5
  import '../base/types.js';
6
+ import '../../@types/Align.js';
6
7
  import '../../@types/Period.js';
7
8
  import '../../drawer/types.js';
8
9
  import '../../@types/Position.js';
10
+ import '../../@types/Icon.js';
11
+ import '../../icons/helper.js';
9
12
 
10
13
  declare const SearchField: (props: ISearchProps) => JSX.Element | null;
11
14
 
@@ -0,0 +1,209 @@
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
+ require("@testing-library/jest-dom/extend-expect");
10
+
11
+ var _index = _interopRequireDefault(require("./index"));
12
+
13
+ var _storageMock = _interopRequireWildcard(require("../../../../config/jest/storageMock"));
14
+
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+
17
+ 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; }
18
+
19
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
+
21
+ 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); }
22
+
23
+ var searchField = function searchField(fieldProps, advancedFilterProps) {
24
+ return /*#__PURE__*/_react.default.createElement(_index.default, _extends({
25
+ advancedFilterProps: _extends({
26
+ headerTitle: 'Pesquisa Avançada',
27
+ content: 'Conteúdo da Pesquisa'
28
+ }, advancedFilterProps)
29
+ }, fieldProps));
30
+ };
31
+
32
+ describe('SearchField', function () {
33
+ it('should render correctly', function () {
34
+ var _render = (0, _react2.render)(searchField()),
35
+ container = _render.container;
36
+
37
+ expect(container.firstChild).toBeTruthy();
38
+ });
39
+ it('should be apply value', function () {
40
+ var value = '1 ';
41
+
42
+ var _render2 = (0, _react2.render)(searchField({
43
+ value: value
44
+ })),
45
+ container = _render2.container;
46
+
47
+ var inputHTML = container.querySelector('.textinput');
48
+ expect(inputHTML.value).toBe(value);
49
+ });
50
+ it('should apply textAlign', function () {
51
+ var textAlign = 'left';
52
+
53
+ var _render3 = (0, _react2.render)(searchField({
54
+ textAlign: textAlign
55
+ })),
56
+ container = _render3.container;
57
+
58
+ var inputHTML = container.querySelector('.textinput');
59
+ expect(inputHTML).toHaveClass("text-align-".concat(textAlign));
60
+ });
61
+ it('should apply resetButton and execute onReset callback', function () {
62
+ var onReset = jest.fn();
63
+
64
+ var _render4 = (0, _react2.render)(searchField({
65
+ onReset: onReset,
66
+ resetButton: true,
67
+ value: 'foo'
68
+ })),
69
+ getAllByTestId = _render4.getAllByTestId;
70
+
71
+ _react2.fireEvent.click(getAllByTestId('icon')[0]);
72
+
73
+ expect(onReset).toBeCalled();
74
+ });
75
+ describe('advancedFilterProps', function () {
76
+ it('should drawerHeader content headerTitle', function () {
77
+ var _render5 = (0, _react2.render)(searchField()),
78
+ container = _render5.container;
79
+
80
+ _react2.fireEvent.click(container.querySelector('.button-component'));
81
+
82
+ expect(document.querySelector('.drawerheader')).toHaveTextContent('Pesquisa Avançada');
83
+ });
84
+ it('should drawerContent to have content', function () {
85
+ var _render6 = (0, _react2.render)(searchField()),
86
+ container = _render6.container;
87
+
88
+ _react2.fireEvent.click(container.querySelector('.button-component'));
89
+
90
+ expect(document.querySelector('.drawercontent')).toHaveTextContent('Conteúdo da Pesquisa');
91
+ });
92
+ it('should execute onStateChange on Drawer Open', function () {
93
+ var onStateChange = jest.fn();
94
+
95
+ var _render7 = (0, _react2.render)(searchField({}, {
96
+ onStateChange: onStateChange
97
+ })),
98
+ container = _render7.container;
99
+
100
+ _react2.fireEvent.click(container.querySelector('.button-component'));
101
+
102
+ expect(onStateChange).toBeCalledTimes(1);
103
+ });
104
+ });
105
+ describe('Permission', function () {
106
+ var setSessionStorageMock = function setSessionStorageMock() {
107
+ Object.defineProperty(window, 'sessionStorage', {
108
+ value: (0, _storageMock.default)()
109
+ });
110
+ };
111
+
112
+ it('should render subject when permission granted', function () {
113
+ setSessionStorageMock();
114
+ var permissionAttr = (0, _storageMock.permissionAttrMockAuthorized)('unvisible');
115
+
116
+ var _render8 = (0, _react2.render)(searchField({
117
+ permissionAttr: permissionAttr
118
+ })),
119
+ container = _render8.container;
120
+
121
+ expect(container.querySelector('.input-base-component')).not.toBeNull();
122
+ });
123
+ it('should check permission, be unavaible and onDenied is unvisible', function () {
124
+ setSessionStorageMock();
125
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('unvisible');
126
+
127
+ var _render9 = (0, _react2.render)(searchField({
128
+ permissionAttr: permissionAttr
129
+ })),
130
+ container = _render9.container;
131
+
132
+ expect(container.querySelector('.input-base-component')).toBeNull();
133
+ });
134
+ it('should check permission, be unavaible and onDenied is disabled', function () {
135
+ setSessionStorageMock();
136
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
137
+ var onChange = jest.fn();
138
+
139
+ var _render10 = (0, _react2.render)(searchField({
140
+ permissionAttr: permissionAttr,
141
+ onChange: onChange
142
+ })),
143
+ container = _render10.container;
144
+
145
+ var inputHTML = container.querySelector('.textinput');
146
+ var inputWrapper = container.querySelector('.inputwrapper');
147
+
148
+ _react2.fireEvent.change(inputHTML, {
149
+ target: {
150
+ value: 'sus'
151
+ }
152
+ });
153
+
154
+ expect(inputHTML.disabled).toBeTruthy();
155
+ expect(onChange).not.toBeCalled();
156
+ expect(inputWrapper).toHaveClass('-disabled');
157
+ });
158
+ it('should check permission, be unavaible and onDenied is readOnly', function () {
159
+ setSessionStorageMock();
160
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
161
+ var onChange = jest.fn();
162
+
163
+ var _render11 = (0, _react2.render)(searchField({
164
+ permissionAttr: permissionAttr,
165
+ onChange: onChange
166
+ })),
167
+ container = _render11.container;
168
+
169
+ var inputHTML = container.querySelector('.textinput');
170
+ var inputWrapper = container.querySelector('.inputwrapper');
171
+
172
+ _react2.fireEvent.change(inputHTML, {
173
+ target: {
174
+ value: 'sus'
175
+ }
176
+ });
177
+
178
+ expect(inputHTML.disabled).toBeTruthy();
179
+ expect(onChange).not.toBeCalled();
180
+ expect(inputWrapper).toHaveClass('-disabled');
181
+ });
182
+ it('should check permission, be unavaible and onDenied is hideContent', function () {
183
+ setSessionStorageMock();
184
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('hideContent');
185
+ var onChange = jest.fn();
186
+
187
+ var _render12 = (0, _react2.render)(searchField({
188
+ permissionAttr: permissionAttr,
189
+ onChange: onChange,
190
+ value: 'text'
191
+ })),
192
+ container = _render12.container;
193
+
194
+ var inputHTML = container.querySelector('.textinput');
195
+ var inputWrapper = container.querySelector('.inputwrapper');
196
+
197
+ _react2.fireEvent.change(inputHTML, {
198
+ target: {
199
+ value: 'sus'
200
+ }
201
+ });
202
+
203
+ expect(inputHTML.value).toBe('');
204
+ expect(inputHTML.disabled).toBeTruthy();
205
+ expect(onChange).not.toBeCalled();
206
+ expect(inputWrapper).toHaveClass('-disabled');
207
+ });
208
+ });
209
+ });
@@ -3,9 +3,12 @@ import 'react';
3
3
  import '../../@types/PermissionAttr.js';
4
4
  import '../../@types/DataCombo.js';
5
5
  import '../base/types.js';
6
+ import '../../@types/Align.js';
6
7
  import '../../@types/Period.js';
7
8
  import '../../drawer/types.js';
8
9
  import '../../@types/Position.js';
10
+ import '../../@types/Icon.js';
11
+ import '../../icons/helper.js';
9
12
 
10
13
  declare const ActionButtons: (props: IActionButtonsSelectProps) => JSX.Element;
11
14
 
@@ -3,9 +3,12 @@ import 'react';
3
3
  import '../../@types/PermissionAttr.js';
4
4
  import '../../@types/DataCombo.js';
5
5
  import '../base/types.js';
6
+ import '../../@types/Align.js';
6
7
  import '../../@types/Period.js';
7
8
  import '../../drawer/types.js';
8
9
  import '../../@types/Position.js';
10
+ import '../../@types/Icon.js';
11
+ import '../../icons/helper.js';
9
12
 
10
13
  declare const Dropdown: (props: IDropdownSelectProps) => JSX.Element;
11
14
 
@@ -118,7 +118,7 @@ var Dropdown = function Dropdown(props) {
118
118
  }
119
119
  }), /*#__PURE__*/_react.default.createElement("span", {
120
120
  className: "label"
121
- }, item[descriptionKey])));
121
+ }, typeof descriptionKey === 'string' ? item[descriptionKey] : descriptionKey(item))));
122
122
  }), dataCombo && dataCombo.length === 0 && /*#__PURE__*/_react.default.createElement("div", {
123
123
  className: "notfound"
124
124
  }, searchNotFoundText)));
@@ -1,22 +1,20 @@
1
- import { DataCombo } from '../../@types/DataCombo.js';
2
1
  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';
5
6
  import '../base/types.js';
7
+ import '../../@types/Align.js';
6
8
  import '../../@types/Period.js';
7
9
  import '../../drawer/types.js';
8
10
  import '../../@types/Position.js';
11
+ import '../../@types/Icon.js';
12
+ import '../../icons/helper.js';
9
13
 
10
14
  declare const contentClass: (props: IDropdownSelectProps) => string;
11
15
  declare const getDropdownItemCssClass: (selected: boolean, disabled: boolean, striped: boolean) => string;
12
- interface GetFilteredParams {
13
- dataSource: DataCombo[];
14
- descriptionKey: string;
15
- inputText: string;
16
- currents: DataCombo[];
17
- }
18
- declare const getFilteredSimpleDataCombo: ({ dataSource, descriptionKey, inputText, }: Omit<GetFilteredParams, 'currents'>) => any[];
19
- declare const getFilteredMultipleDataCombo: ({ dataSource, inputText, descriptionKey, currents, }: GetFilteredParams) => any[];
16
+ declare const getFilteredSimpleDataCombo: ({ dataSource, descriptionKey, inputText, }: Omit<GetSimpleFilteredParams, 'currents'>) => any[];
17
+ declare const getFilteredMultipleDataCombo: ({ dataSource, inputText, descriptionKey, currents, }: GetMultipleFilteredParams) => any[];
20
18
  declare const returnDropdownDynamicStyles: ({ selectFieldRef, dropdownMaxHeight, dropdownRef }: IDropdownSelectProps) => {
21
19
  maxHeight: number;
22
20
  top: number;
@@ -21,7 +21,12 @@ var getFilteredSimpleDataCombo = function getFilteredSimpleDataCombo(_ref) {
21
21
  descriptionKey = _ref.descriptionKey,
22
22
  inputText = _ref.inputText;
23
23
  return dataSource && dataSource.filter(function (item) {
24
- return item[descriptionKey].toLowerCase().indexOf(inputText.toLowerCase()) > -1;
24
+ var _descriptionKey;
25
+ if (typeof descriptionKey === 'string') {
26
+ var _item$descriptionKey;
27
+ 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;
28
+ }
29
+ return ((_descriptionKey = descriptionKey(item)) === null || _descriptionKey === void 0 ? void 0 : _descriptionKey.toLowerCase().indexOf(inputText === null || inputText === void 0 ? void 0 : inputText.toString().toLowerCase())) > -1;
25
30
  });
26
31
  };
27
32
  exports.getFilteredSimpleDataCombo = getFilteredSimpleDataCombo;
@@ -31,7 +36,11 @@ var getFilteredMultipleDataCombo = function getFilteredMultipleDataCombo(_ref2)
31
36
  descriptionKey = _ref2.descriptionKey,
32
37
  currents = _ref2.currents;
33
38
  return dataSource.filter(function (item) {
34
- return item[descriptionKey].toLowerCase().indexOf(inputText.toLowerCase()) > -1 && !currents.includes(item);
39
+ var _descriptionKey2;
40
+ if (typeof descriptionKey === 'string') {
41
+ return item[descriptionKey].toLowerCase().indexOf(inputText === null || inputText === void 0 ? void 0 : inputText.toString().toLowerCase()) > -1 && !currents.includes(item);
42
+ }
43
+ 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);
35
44
  });
36
45
  };
37
46
  exports.getFilteredMultipleDataCombo = getFilteredMultipleDataCombo;
@@ -1,4 +1,5 @@
1
1
  import { ISelectFieldProps } from './types.js';
2
+ import '../../@types/Align.js';
2
3
  import '../../@types/DataCombo.js';
3
4
  import '../../@types/PermissionAttr.js';
4
5
  import '../base/types.js';
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
- var _simple = _interopRequireDefault(require("./simple"));
9
8
  var _multiple = _interopRequireDefault(require("./multiple"));
10
9
  require("../../assets/styles/select.scss");
11
10
  var _gridlayout = _interopRequireDefault(require("../../gridlayout"));
11
+ var _simple = _interopRequireDefault(require("./simple"));
12
12
  var _excluded = ["gridLayout", "multiple", "value"];
13
13
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
14
  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); }
@@ -19,15 +19,16 @@ var SelectField = function SelectField(props) {
19
19
  multiple = props.multiple,
20
20
  value = props.value,
21
21
  newProps = _objectWithoutProperties(props, _excluded);
22
- var component = multiple ? /*#__PURE__*/_react.default.createElement(_multiple.default, _extends({
22
+ var component = multiple ? /*#__PURE__*/_react.default.createElement(_multiple.default, _extends({}, newProps, {
23
23
  dataSource: props.dataSource ? props.dataSource : [],
24
24
  idKey: props.idKey ? props.idKey : '',
25
+ value: Array.isArray(value) ? value : undefined,
25
26
  descriptionKey: props.descriptionKey ? props.descriptionKey : ''
26
- }, newProps)) : /*#__PURE__*/_react.default.createElement(_simple.default, _extends({
27
+ })) : /*#__PURE__*/_react.default.createElement(_simple.default, _extends({}, newProps, {
27
28
  idKey: props.idKey ? props.idKey : '',
28
- value: value,
29
+ value: !Array.isArray(value) ? value : undefined,
29
30
  descriptionKey: props.descriptionKey ? props.descriptionKey : ''
30
- }, newProps));
31
+ }));
31
32
  if (gridLayout !== undefined) {
32
33
  return /*#__PURE__*/_react.default.createElement(_gridlayout.default, {
33
34
  customClass: "-withinput",
@@ -1,4 +1,5 @@
1
1
  import { ISelectedsMultipleProps } from '../types.js';
2
+ import '../../../@types/Align.js';
2
3
  import '../../../@types/DataCombo.js';
3
4
  import '../../../@types/PermissionAttr.js';
4
5
  import '../../base/types.js';
@@ -15,7 +15,7 @@ var Selecteds = function Selecteds(_ref) {
15
15
  return /*#__PURE__*/_react.default.createElement("div", {
16
16
  className: "selecteditem",
17
17
  key: "selected-".concat(selected[idKey])
18
- }, selected[descriptionKey], /*#__PURE__*/_react.default.createElement("span", {
18
+ }, typeof descriptionKey === 'string' ? selected[descriptionKey] : descriptionKey(selected), /*#__PURE__*/_react.default.createElement("span", {
19
19
  className: "close",
20
20
  role: "button",
21
21
  tabIndex: -1,
@@ -1,4 +1,5 @@
1
1
  import { IMultipleSelectProps } from '../types.js';
2
+ import '../../../@types/Align.js';
2
3
  import '../../../@types/DataCombo.js';
3
4
  import '../../../@types/PermissionAttr.js';
4
5
  import '../../base/types.js';
@@ -50,7 +50,7 @@ var MultipleSelect = function MultipleSelect(props) {
50
50
  _useState6 = _slicedToArray(_useState5, 2),
51
51
  selected = _useState6[0],
52
52
  setSelected = _useState6[1];
53
- var _useState7 = (0, _react.useState)(''),
53
+ var _useState7 = (0, _react.useState)([]),
54
54
  _useState8 = _slicedToArray(_useState7, 2),
55
55
  inputValue = _useState8[0],
56
56
  setInputValue = _useState8[1];
@@ -79,6 +79,7 @@ var MultipleSelect = function MultipleSelect(props) {
79
79
  var dropdownRef = (0, _react.useRef)(null);
80
80
  var selectWrapper = (0, _react.useRef)();
81
81
  var gridElRef = (0, _react.useRef)();
82
+ var descriptionKeyIsString = typeof descriptionKey === 'string';
82
83
  var onScreenResize = function onScreenResize() {
83
84
  if (selectWrapper.current) setDropdownWidth(selectWrapper.current.clientWidth);
84
85
  };
@@ -104,12 +105,12 @@ var MultipleSelect = function MultipleSelect(props) {
104
105
  if (remoteSearch) {
105
106
  if (props.onSearch) props.onSearch(filteredValue);
106
107
  setOpened(true);
107
- setInputValue(filteredValue);
108
+ setInputValue([filteredValue]);
108
109
  } else {
109
110
  var dataComboFilter = dataSource;
110
- if (filteredValue !== '') {
111
+ if (filteredValue.length > 0) {
111
112
  dataComboFilter = (0, _helper.getFilteredMultipleDataCombo)({
112
- inputText: filteredValue,
113
+ inputText: [filteredValue],
113
114
  dataSource: dataSource,
114
115
  descriptionKey: descriptionKey,
115
116
  currents: currents
@@ -119,7 +120,7 @@ var MultipleSelect = function MultipleSelect(props) {
119
120
  setDataCombo(dataComboFilter);
120
121
  setOpened(true);
121
122
  if (selectedFilter) setSelected(selectedFilter);
122
- setInputValue(filteredValue);
123
+ setInputValue([filteredValue]);
123
124
  }
124
125
  };
125
126
  var onSelect = function onSelect(select) {
@@ -127,7 +128,7 @@ var MultipleSelect = function MultipleSelect(props) {
127
128
  var currentsSelect = [].concat(_toConsumableArray(currents), [select]);
128
129
  setCurrents(currentsSelect);
129
130
  setDataCombo(dataSource);
130
- setInputValue('');
131
+ setInputValue([]);
131
132
  setOpened(false);
132
133
  if (props.onSelect) setSelected(props.onSelect(currentsSelect.map(function (i) {
133
134
  return i[idKey];
@@ -171,12 +172,14 @@ var MultipleSelect = function MultipleSelect(props) {
171
172
  } else {
172
173
  index = dataSource && index === 0 ? dataSource.length - 1 : index - 1;
173
174
  }
174
- if (dataSource && dataSource.length && dataSource[index][props.descriptionKey]) {
175
- setInputValue(dataSource[index][props.descriptionKey]);
175
+ if (dataSource && dataSource.length) {
176
+ if (descriptionKeyIsString && dataSource[index][descriptionKey]) {
177
+ setInputValue(dataSource[index][descriptionKey]);
178
+ } else if (!descriptionKeyIsString) setInputValue([descriptionKey(dataSource[index])]);
176
179
  }
177
180
  if (dataSource) setSelected(dataSource[index]);
178
181
  } else if (e.keyCode === constants.keyCodes.BACKSPACE) {
179
- if (inputValue === '') {
182
+ if (inputValue.length === 0) {
180
183
  var currentsKeyDown = _lodash.default.dropRight(currents);
181
184
  setCurrents(currentsKeyDown);
182
185
  if (props.onSelect) props.onSelect(currentsKeyDown.map(function (i) {
@@ -238,7 +241,7 @@ var MultipleSelect = function MultipleSelect(props) {
238
241
  ref: componentRef,
239
242
  className: "select-component"
240
243
  }, /*#__PURE__*/_react.default.createElement(_InputTextBase.default, _extends({}, props, {
241
- value: inputValue,
244
+ value: inputValue.toString(),
242
245
  readOnly: shouldBeReadOnly(),
243
246
  onFocus: function onFocus() {
244
247
  _onFocus();