linear-react-components-ui 0.4.76-rc.9 → 0.4.76

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 (120) hide show
  1. package/.husky/pre-commit +2 -2
  2. package/.tool-versions +1 -0
  3. package/.vscode/settings.json +1 -2
  4. package/README.md +40 -5
  5. package/lib/assets/styles/button.scss +19 -10
  6. package/lib/assets/styles/checkbox.scss +92 -70
  7. package/lib/assets/styles/commons.scss +36 -0
  8. package/lib/assets/styles/drawers.scss +22 -6
  9. package/lib/assets/styles/dropdown.scss +28 -2
  10. package/lib/assets/styles/effects.scss +32 -0
  11. package/lib/assets/styles/floatMenu.scss +0 -1
  12. package/lib/assets/styles/gridlayout.scss +2 -1
  13. package/lib/assets/styles/input.scss +21 -0
  14. package/lib/assets/styles/label.scss +9 -1
  15. package/lib/assets/styles/list.scss +8 -0
  16. package/lib/assets/styles/multiSelect.scss +105 -0
  17. package/lib/assets/styles/panel.scss +3 -1
  18. package/lib/assets/styles/periodpicker.scss +65 -0
  19. package/lib/assets/styles/progress.scss +8 -1
  20. package/lib/assets/styles/radio.scss +19 -0
  21. package/lib/assets/styles/select.scss +4 -3
  22. package/lib/assets/styles/sidenav.scss +11 -1
  23. package/lib/assets/styles/skeleton.scss +48 -0
  24. package/lib/assets/styles/table.scss +25 -5
  25. package/lib/assets/styles/tabs.scss +116 -75
  26. package/lib/assets/styles/treeview.scss +41 -0
  27. package/lib/assets/styles/uitour.scss +112 -0
  28. package/lib/avatar/avatar.spec.js +17 -6
  29. package/lib/avatar/index.js +1 -1
  30. package/lib/buttons/DefaultButton.js +13 -4
  31. package/lib/buttons/split_button/index.js +8 -4
  32. package/lib/checkbox/Label.js +37 -0
  33. package/lib/checkbox/checkbox.spec.js +16 -16
  34. package/lib/checkbox/index.js +33 -12
  35. package/lib/dialog/base/index.js +15 -6
  36. package/lib/dialog/form/index.js +24 -4
  37. package/lib/drawer/Drawer.js +9 -5
  38. package/lib/drawer/Header.js +15 -5
  39. package/lib/drawer/index.js +4 -1
  40. package/lib/dropdown/Popup.js +3 -2
  41. package/lib/form/Field.js +2 -0
  42. package/lib/form/FieldNumber.js +11 -3
  43. package/lib/form/FieldPeriod.js +100 -0
  44. package/lib/form/form.spec.js +8 -0
  45. package/lib/form/helpers.js +20 -1
  46. package/lib/form/index.js +220 -218
  47. package/lib/form/withFieldHOC.js +5 -1
  48. package/lib/form/withFormSecurity.js +106 -0
  49. package/lib/icons/helper.js +24 -0
  50. package/lib/inputs/base/InputTextBase.js +30 -5
  51. package/lib/inputs/base/helpers.js +13 -9
  52. package/lib/inputs/date/Dropdown.js +3 -3
  53. package/lib/inputs/date/date.spec.js +46 -36
  54. package/lib/inputs/date/helpers.js +36 -0
  55. package/lib/inputs/date/index.js +12 -10
  56. package/lib/inputs/mask/Phone.js +10 -1
  57. package/lib/inputs/mask/imaskHOC.js +2 -1
  58. package/lib/inputs/mask/input_mask.spec.js +21 -4
  59. package/lib/inputs/multiSelect/ActionButtons.js +68 -0
  60. package/lib/inputs/multiSelect/Dropdown.js +200 -0
  61. package/lib/inputs/multiSelect/helper.js +18 -0
  62. package/lib/inputs/multiSelect/index.js +343 -0
  63. package/lib/inputs/number/BaseNumber.js +1 -1
  64. package/lib/inputs/number/index.js +7 -5
  65. package/lib/inputs/period/Dialog.js +38 -0
  66. package/lib/inputs/period/Dropdown.js +90 -0
  67. package/lib/inputs/period/PeriodList.js +79 -0
  68. package/lib/inputs/period/helper.js +118 -0
  69. package/lib/inputs/period/index.js +490 -0
  70. package/lib/inputs/search/index.js +2 -0
  71. package/lib/inputs/select/Dropdown.js +55 -65
  72. package/lib/inputs/select/helper.js +65 -2
  73. package/lib/inputs/select/index.js +26 -3
  74. package/lib/inputs/select/multiple/index.js +16 -11
  75. package/lib/inputs/select/simple/index.js +39 -24
  76. package/lib/internals/constants.js +4 -3
  77. package/lib/internals/withTooltip.js +86 -82
  78. package/lib/labels/DefaultLabel.js +7 -4
  79. package/lib/list/Item.js +35 -9
  80. package/lib/list/helpers.js +8 -3
  81. package/lib/list/index.js +172 -14
  82. package/lib/list/list.spec.js +290 -89
  83. package/lib/menus/float/MenuItem.js +25 -8
  84. package/lib/menus/sidenav/NavMenuItem.js +17 -8
  85. package/lib/menus/sidenav/index.js +59 -86
  86. package/lib/menus/sidenav/popup_menu_search/index.js +26 -17
  87. package/lib/menus/sidenav/sidenav.spec.js +86 -19
  88. package/lib/panel/Header.js +4 -3
  89. package/lib/progress/Bar.js +40 -9
  90. package/lib/progress/index.js +12 -4
  91. package/lib/radio/index.js +9 -6
  92. package/lib/skeleton/SkeletonContainer.js +42 -0
  93. package/lib/skeleton/index.js +84 -0
  94. package/lib/spinner/index.js +6 -1
  95. package/lib/split/Split.js +5 -11
  96. package/lib/table/Body.js +55 -11
  97. package/lib/table/Header.js +14 -1
  98. package/lib/table/HeaderColumn.js +26 -3
  99. package/lib/table/Row.js +19 -8
  100. package/lib/table/RowColumn.js +23 -3
  101. package/lib/table/helpers.js +11 -1
  102. package/lib/table/index.js +41 -8
  103. package/lib/tabs/DropdownItems.js +84 -0
  104. package/lib/tabs/Menu.js +12 -9
  105. package/lib/tabs/MenuItems.js +15 -9
  106. package/lib/tabs/Panel.js +1 -3
  107. package/lib/tabs/index.js +156 -22
  108. package/lib/tabs/tabs.spec.js +8 -5
  109. package/lib/toolbar/ButtonBar.js +30 -24
  110. package/lib/toolbar/LabelBar.js +22 -27
  111. package/lib/toolbar/helpers.js +12 -0
  112. package/lib/toolbar/index.js +24 -9
  113. package/lib/tooltip/index.js +20 -7
  114. package/lib/treeview/Node.js +364 -49
  115. package/lib/treeview/index.js +475 -36
  116. package/lib/treeview/treeview.spec.js +18 -0
  117. package/lib/uitour/helpers.js +15 -0
  118. package/lib/uitour/index.js +271 -0
  119. package/lib/uitour/uitour.spec.js +176 -0
  120. package/package.json +9 -8
@@ -0,0 +1,68 @@
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
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _buttons = _interopRequireDefault(require("../../buttons"));
15
+
16
+ var _list = _interopRequireWildcard(require("../../list"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ var ActionButtons = function ActionButtons(_ref) {
25
+ var disabled = _ref.disabled,
26
+ dropdownOpened = _ref.dropdownOpened,
27
+ handleOpenClose = _ref.handleOpenClose,
28
+ handleCheckAll = _ref.handleCheckAll,
29
+ handleUncheckAll = _ref.handleUncheckAll;
30
+ return /*#__PURE__*/_react["default"].createElement(_react.Fragment, null, /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
31
+ disabled: disabled,
32
+ size: "small",
33
+ iconName: dropdownOpened ? 'up' : 'down',
34
+ onClick: handleOpenClose,
35
+ customClass: "actionbutton",
36
+ transparent: true,
37
+ boxShadow: false
38
+ }), /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
39
+ disabled: disabled,
40
+ iconName: "more1",
41
+ transparent: true,
42
+ boxShadow: false,
43
+ customClass: "actionbutton",
44
+ dropdown: true,
45
+ showIconDropdown: false
46
+ }, /*#__PURE__*/_react["default"].createElement(_list["default"], null, /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
47
+ itemId: "1",
48
+ text: "Marcar Todos",
49
+ onClick: handleCheckAll
50
+ }), /*#__PURE__*/_react["default"].createElement(_list.ListItem, {
51
+ itemId: "2",
52
+ text: "Desmarcar Todos",
53
+ onClick: handleUncheckAll
54
+ }))));
55
+ };
56
+
57
+ var _default = ActionButtons;
58
+ exports["default"] = _default;
59
+ ActionButtons.propTypes = {
60
+ dropdownOpened: _propTypes["default"].bool,
61
+ handleOpenClose: _propTypes["default"].func.isRequired,
62
+ handleCheckAll: _propTypes["default"].func.isRequired,
63
+ handleUncheckAll: _propTypes["default"].func.isRequired,
64
+ disabled: _propTypes["default"].bool.isRequired
65
+ };
66
+ ActionButtons.defaultProps = {
67
+ dropdownOpened: false
68
+ };
@@ -0,0 +1,200 @@
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
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _propTypes = _interopRequireDefault(require("prop-types"));
13
+
14
+ var _icons = _interopRequireDefault(require("../../icons"));
15
+
16
+ var _avatar = _interopRequireDefault(require("../../avatar"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ 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); }
25
+
26
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
27
+
28
+ 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."); }
29
+
30
+ 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); }
31
+
32
+ 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; }
33
+
34
+ function _iterableToArrayLimit(arr, i) { var _i = arr && (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; }
35
+
36
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
37
+
38
+ var returnDropdownDynamicStyles = function returnDropdownDynamicStyles(selectFieldRef, dropdownMaxHeight) {
39
+ var selectFieldRects = selectFieldRef.current.getBoundingClientRect();
40
+ var dropdownBottomDistance = window.innerHeight - selectFieldRects.bottom;
41
+ var maxDropdownBottomDistance = 200;
42
+ var height = dropdownMaxHeight;
43
+ var dropdownPosition;
44
+
45
+ if (!height || height <= 0) {
46
+ if (dropdownBottomDistance < maxDropdownBottomDistance) {
47
+ height = selectFieldRects.top;
48
+ dropdownPosition = window.innerHeight - selectFieldRef.current.offsetTop + 10;
49
+ } else {
50
+ height = dropdownBottomDistance;
51
+ }
52
+ } else {
53
+ maxDropdownBottomDistance = height;
54
+
55
+ if (dropdownBottomDistance < maxDropdownBottomDistance) {
56
+ dropdownPosition = window.innerHeight - selectFieldRef.current.offsetTop + 10;
57
+ }
58
+ }
59
+
60
+ return {
61
+ maxHeight: "".concat(height - 30, "px"),
62
+ bottom: dropdownBottomDistance < maxDropdownBottomDistance && "".concat(dropdownPosition, "px")
63
+ };
64
+ };
65
+
66
+ var Dropdown = function Dropdown(_ref) {
67
+ var dataCombo = _ref.dataCombo,
68
+ dropdownWidth = _ref.dropdownWidth,
69
+ _onBlur = _ref.onBlur,
70
+ _onFocus = _ref.onFocus,
71
+ onSelect = _ref.onSelect,
72
+ onFilter = _ref.onFilter,
73
+ opened = _ref.opened,
74
+ idKey = _ref.idKey,
75
+ descriptionKey = _ref.descriptionKey,
76
+ selecteds = _ref.selecteds,
77
+ imageAlign = _ref.imageAlign,
78
+ imgSrcKey = _ref.imgSrcKey,
79
+ gridWrapperStyle = _ref.gridWrapperStyle,
80
+ selectFieldRef = _ref.selectFieldRef,
81
+ dropdownMaxHeight = _ref.dropdownMaxHeight,
82
+ isAllChecked = _ref.isAllChecked,
83
+ onUncheckAll = _ref.onUncheckAll,
84
+ onCheckAll = _ref.onCheckAll,
85
+ inputValue = _ref.inputValue;
86
+
87
+ var _useState = (0, _react.useState)(returnDropdownDynamicStyles(selectFieldRef, dropdownMaxHeight)),
88
+ _useState2 = _slicedToArray(_useState, 1),
89
+ dropdownDynamicStyles = _useState2[0];
90
+
91
+ return /*#__PURE__*/_react["default"].createElement("div", {
92
+ className: "dropdown",
93
+ style: _extends({
94
+ width: dropdownWidth,
95
+ marginLeft: gridWrapperStyle ? gridWrapperStyle.paddingLeft : '0'
96
+ }, dropdownDynamicStyles)
97
+ }, /*#__PURE__*/_react["default"].createElement("div", {
98
+ className: "filtercontainer"
99
+ }, /*#__PURE__*/_react["default"].createElement("input", {
100
+ className: "filterinput",
101
+ type: "text",
102
+ value: inputValue,
103
+ onFocus: function onFocus() {
104
+ _onFocus();
105
+ },
106
+ onBlur: function onBlur() {
107
+ _onBlur();
108
+ },
109
+ onChange: function onChange(e) {
110
+ onFilter(e.target.value);
111
+ },
112
+ autoFocus: opened
113
+ }), /*#__PURE__*/_react["default"].createElement(_icons["default"], {
114
+ customClass: "filtericon",
115
+ name: "search",
116
+ viewBox: "0 0 32 32"
117
+ })), /*#__PURE__*/_react["default"].createElement("div", {
118
+ className: "listcontainer"
119
+ }, dataCombo.length > 0 && /*#__PURE__*/_react["default"].createElement("div", {
120
+ className: "item selectall"
121
+ }, /*#__PURE__*/_react["default"].createElement("span", {
122
+ role: "button",
123
+ className: "menubutton",
124
+ tabIndex: "-1",
125
+ onKeyPress: function onKeyPress() {},
126
+ onClick: function onClick() {
127
+ return isAllChecked ? onUncheckAll(true) : onCheckAll(true);
128
+ }
129
+ }, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
130
+ name: isAllChecked && dataCombo.length > 0 ? 'checkboxChecked2' : 'checkboxUnchecked2',
131
+ customClass: "checkboxicon"
132
+ }), /*#__PURE__*/_react["default"].createElement("span", {
133
+ className: "label"
134
+ }, inputValue !== '' ? 'Selecionar todos pesquisados' : 'Selecionar Todos'))), dataCombo.map(function (item) {
135
+ var isChecked = selecteds.find(function (selected) {
136
+ return selected[idKey] === item[idKey];
137
+ });
138
+ return /*#__PURE__*/_react["default"].createElement("div", {
139
+ key: "dropdowmItem ".concat(item[idKey], "}"),
140
+ className: "item ".concat(isChecked && '-selected')
141
+ }, /*#__PURE__*/_react["default"].createElement("span", {
142
+ role: "button",
143
+ className: "menubutton",
144
+ tabIndex: "-1",
145
+ onKeyPress: function onKeyPress() {},
146
+ onClick: function onClick() {
147
+ onSelect(item);
148
+ }
149
+ }, /*#__PURE__*/_react["default"].createElement(_icons["default"], {
150
+ name: isChecked ? 'checkboxChecked2' : 'checkboxUnchecked2',
151
+ customClass: "checkboxicon"
152
+ }), item.iconName && /*#__PURE__*/_react["default"].createElement(_icons["default"], {
153
+ name: item.iconName,
154
+ customClass: "menuicon",
155
+ style: {
156
+ order: imageAlign === 'left' ? 0 : 1
157
+ }
158
+ }), item[imgSrcKey] && /*#__PURE__*/_react["default"].createElement(_avatar["default"], {
159
+ src: item[imgSrcKey],
160
+ customClass: "menuicon",
161
+ style: {
162
+ order: imageAlign === 'left' ? 0 : 1
163
+ }
164
+ }), /*#__PURE__*/_react["default"].createElement("span", {
165
+ className: "label"
166
+ }, item[descriptionKey])));
167
+ })));
168
+ };
169
+
170
+ Dropdown.propTypes = {
171
+ dataCombo: _propTypes["default"].arrayOf(_propTypes["default"].object).isRequired,
172
+ idKey: _propTypes["default"].string.isRequired,
173
+ descriptionKey: _propTypes["default"].string.isRequired,
174
+ inputValue: _propTypes["default"].string.isRequired,
175
+ isAllChecked: _propTypes["default"].bool.isRequired,
176
+ imgSrcKey: _propTypes["default"].string,
177
+ dropdownWidth: _propTypes["default"].number.isRequired,
178
+ onFocus: _propTypes["default"].func.isRequired,
179
+ onBlur: _propTypes["default"].func.isRequired,
180
+ onSelect: _propTypes["default"].func.isRequired,
181
+ onFilter: _propTypes["default"].func.isRequired,
182
+ onUncheckAll: _propTypes["default"].func.isRequired,
183
+ onCheckAll: _propTypes["default"].func.isRequired,
184
+ opened: _propTypes["default"].bool.isRequired,
185
+ selecteds: _propTypes["default"].arrayOf(_propTypes["default"].object),
186
+ imageAlign: _propTypes["default"].oneOf(['left', 'right']),
187
+ gridWrapperStyle: _propTypes["default"].object,
188
+ selectFieldRef: _propTypes["default"].object,
189
+ dropdownMaxHeight: _propTypes["default"].number
190
+ };
191
+ Dropdown.defaultProps = {
192
+ selecteds: [],
193
+ imageAlign: 'left',
194
+ imgSrcKey: undefined,
195
+ gridWrapperStyle: undefined,
196
+ selectFieldRef: undefined,
197
+ dropdownMaxHeight: undefined
198
+ };
199
+ var _default = Dropdown;
200
+ exports["default"] = _default;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+
8
+ var getFilteredDataCombo = function getFilteredDataCombo(_ref) {
9
+ var dataSource = _ref.dataSource,
10
+ descriptionKey = _ref.descriptionKey,
11
+ inputText = _ref.inputText;
12
+ return dataSource.filter(function (item) {
13
+ return item[descriptionKey].toLowerCase().indexOf(inputText.toLowerCase()) > -1;
14
+ });
15
+ };
16
+
17
+ var _default = getFilteredDataCombo;
18
+ exports["default"] = _default;
@@ -0,0 +1,343 @@
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
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireWildcard(require("react"));
11
+
12
+ var _lodash = _interopRequireDefault(require("lodash"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _uuid = _interopRequireDefault(require("uuid"));
17
+
18
+ var _Dropdown = _interopRequireDefault(require("./Dropdown"));
19
+
20
+ var _InputTextBase = _interopRequireDefault(require("../base/InputTextBase"));
21
+
22
+ var _helper = _interopRequireDefault(require("./helper"));
23
+
24
+ var _ActionButtons = _interopRequireDefault(require("./ActionButtons"));
25
+
26
+ require("../../assets/styles/multiSelect.scss");
27
+
28
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
29
+
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
+
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
+
34
+ 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); }
35
+
36
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
37
+
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
+
40
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
41
+
42
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
43
+
44
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
45
+
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
+
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); }
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 && (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
+
54
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
55
+
56
+ var MultiSelect = function MultiSelect(props) {
57
+ var componentId = "multiSelect-component".concat(_uuid["default"].v1());
58
+
59
+ var _useState = (0, _react.useState)(props.dataSource),
60
+ _useState2 = _slicedToArray(_useState, 2),
61
+ dataCombo = _useState2[0],
62
+ setDataCombo = _useState2[1];
63
+
64
+ var _useState3 = (0, _react.useState)([]),
65
+ _useState4 = _slicedToArray(_useState3, 2),
66
+ selecteds = _useState4[0],
67
+ setSelecteds = _useState4[1];
68
+
69
+ var _useState5 = (0, _react.useState)(''),
70
+ _useState6 = _slicedToArray(_useState5, 2),
71
+ inputValue = _useState6[0],
72
+ setInputValue = _useState6[1];
73
+
74
+ var _useState7 = (0, _react.useState)('Nenhum selecionado'),
75
+ _useState8 = _slicedToArray(_useState7, 2),
76
+ label = _useState8[0],
77
+ setLabel = _useState8[1];
78
+
79
+ var _useState9 = (0, _react.useState)(0),
80
+ _useState10 = _slicedToArray(_useState9, 2),
81
+ dropdownWidth = _useState10[0],
82
+ setDropdownWidth = _useState10[1];
83
+
84
+ var _useState11 = (0, _react.useState)(false),
85
+ _useState12 = _slicedToArray(_useState11, 2),
86
+ isAllChecked = _useState12[0],
87
+ setIsAllChecked = _useState12[1];
88
+
89
+ var _useState13 = (0, _react.useState)(false),
90
+ _useState14 = _slicedToArray(_useState13, 2),
91
+ opened = _useState14[0],
92
+ setOpened = _useState14[1];
93
+
94
+ var _useState15 = (0, _react.useState)(false),
95
+ _useState16 = _slicedToArray(_useState15, 2),
96
+ onDenied = _useState16[0],
97
+ setOnDenied = _useState16[1];
98
+
99
+ var _useState17 = (0, _react.useState)(false),
100
+ _useState18 = _slicedToArray(_useState17, 2),
101
+ insideComponent = _useState18[0],
102
+ setInsideComponent = _useState18[1];
103
+
104
+ var gridEl = (0, _react.useRef)(null);
105
+ var componentRef = (0, _react.useRef)(null);
106
+ var selectWrapper = (0, _react.useRef)(null);
107
+
108
+ var handleOnSelect = function handleOnSelect(itemSelected) {
109
+ if (itemSelected === null) return;
110
+ var onSelect = props.onSelect,
111
+ idKey = props.idKey;
112
+ var newSelecteds = selecteds;
113
+ var hasSelected = newSelecteds.find(function (selected) {
114
+ return selected[idKey] === itemSelected[idKey];
115
+ });
116
+
117
+ if (hasSelected) {
118
+ newSelecteds = newSelecteds.filter(function (item) {
119
+ return item[idKey] !== itemSelected[idKey];
120
+ });
121
+ } else {
122
+ newSelecteds = [].concat(_toConsumableArray(newSelecteds), [itemSelected]);
123
+ }
124
+
125
+ if (onSelect) onSelect(newSelecteds.map(function (i) {
126
+ return i[idKey];
127
+ }));
128
+ setSelecteds(newSelecteds);
129
+ };
130
+
131
+ var _onFocus = function onFocus() {
132
+ var newDropdownWidth = dropdownWidth;
133
+ newDropdownWidth = selectWrapper.current ? selectWrapper.current.clientWidth : dropdownWidth;
134
+ setOpened(true);
135
+ setDropdownWidth(newDropdownWidth);
136
+ };
137
+
138
+ var onMouseMove = function onMouseMove(event) {
139
+ var target = event.target;
140
+ if (target.className === '') return;
141
+ var newInsideComponent = ['item', 'menubutton', 'filterinput', 'filtercontainer', 'label'].includes(target.className);
142
+ setInsideComponent(newInsideComponent);
143
+ };
144
+
145
+ var onBlurComponent = function onBlurComponent(e) {
146
+ var dataSource = props.dataSource,
147
+ onBlur = props.onBlur;
148
+ if (onBlur) onBlur(e);
149
+
150
+ if (!insideComponent) {
151
+ setOpened(false);
152
+ setInputValue('');
153
+ setDataCombo(dataSource);
154
+ }
155
+ };
156
+
157
+ var handleOnFilter = function handleOnFilter(value) {
158
+ var dataSource = props.dataSource,
159
+ descriptionKey = props.descriptionKey;
160
+ var newDataCombo = dataSource;
161
+
162
+ if (value !== '') {
163
+ newDataCombo = (0, _helper["default"])({
164
+ dataSource: dataSource,
165
+ descriptionKey: descriptionKey,
166
+ inputText: value
167
+ });
168
+ }
169
+
170
+ setDataCombo(newDataCombo);
171
+ setInputValue(value);
172
+ };
173
+
174
+ var onOpenClose = function onOpenClose() {
175
+ setOpened(!opened);
176
+ setDropdownWidth(selectWrapper.current.clientWidth);
177
+ };
178
+
179
+ var onCheckAll = function onCheckAll() {
180
+ var fromFilter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
181
+ var dataSource = props.dataSource,
182
+ onSelect = props.onSelect,
183
+ idKey = props.idKey;
184
+ var currentData = fromFilter ? dataCombo : dataSource;
185
+ if (onSelect) onSelect(currentData.map(function (i) {
186
+ return i[idKey];
187
+ }));
188
+ setSelecteds(currentData);
189
+ };
190
+
191
+ var onUncheckAll = function onUncheckAll() {
192
+ var onSelect = props.onSelect;
193
+ if (onSelect) onSelect([]);
194
+ setSelecteds([]);
195
+ };
196
+
197
+ var onScreenResize = function onScreenResize() {
198
+ setDropdownWidth(selectWrapper.current.clientWidth);
199
+ };
200
+
201
+ var onClickOutSide = function onClickOutSide(event) {
202
+ var target = event.target;
203
+
204
+ if (target !== componentRef.current && !componentRef.current.contains(target)) {
205
+ setOpened(false);
206
+ setDataCombo(props.dataSource);
207
+ setInputValue('');
208
+ }
209
+ };
210
+
211
+ var setOnDeniedValue = function setOnDeniedValue(onDeniedValue) {
212
+ setOnDenied(onDeniedValue);
213
+ };
214
+
215
+ var shouldDisabled = function shouldDisabled() {
216
+ var disabled = props.disabled;
217
+ return disabled || onDenied && (onDenied.disabled || onDenied.hideContent);
218
+ };
219
+
220
+ var getLabel = function getLabel() {
221
+ var dataSource = props.dataSource,
222
+ descriptionKey = props.descriptionKey;
223
+
224
+ var checkIsAll = _lodash["default"].isEqual(selecteds, dataSource);
225
+
226
+ var newLabel = label;
227
+
228
+ if (checkIsAll) {
229
+ newLabel = 'Todos';
230
+ } else if (selecteds.length > 1) {
231
+ newLabel = 'Múltiplos';
232
+ } else if (selecteds.length === 1) {
233
+ newLabel = selecteds[0][descriptionKey];
234
+ } else {
235
+ newLabel = 'Nenhum selecionado';
236
+ }
237
+
238
+ setLabel(newLabel);
239
+ };
240
+
241
+ (0, _react.useEffect)(function () {
242
+ if (props.gridLayout) {
243
+ var currentGridEl = document.querySelector("#".concat(componentId, ">.-withinput.grid-container"));
244
+ if (gridEl !== currentGridEl) gridEl.current = currentGridEl;
245
+ }
246
+
247
+ window.addEventListener('resize', onScreenResize);
248
+ document.addEventListener('click', onClickOutSide);
249
+ document.addEventListener('mousemove', onMouseMove);
250
+ return function () {
251
+ window.removeEventListener('resize', onScreenResize);
252
+ document.removeEventListener('click', onClickOutSide);
253
+ document.removeEventListener('mousemove', onMouseMove);
254
+ };
255
+ }, []);
256
+ (0, _react.useEffect)(function () {
257
+ var dataSource = props.dataSource,
258
+ value = props.value,
259
+ idKey = props.idKey;
260
+
261
+ if (value !== null && dataSource.length > 0) {
262
+ var newSelecteds = dataSource.filter(function (item) {
263
+ return value.includes(item[idKey]);
264
+ });
265
+ setSelecteds(newSelecteds);
266
+ } else if (dataSource !== dataCombo) {
267
+ var newDataCombo = (0, _helper["default"])(_extends({}, props, {
268
+ inputText: inputValue
269
+ }));
270
+ setDataCombo(newDataCombo);
271
+ }
272
+ }, [props]);
273
+ (0, _react.useEffect)(function () {
274
+ var checkAll = _lodash["default"].isEqual(dataCombo, selecteds);
275
+
276
+ setIsAllChecked(checkAll);
277
+ getLabel();
278
+ }, [selecteds, dataCombo]);
279
+ return /*#__PURE__*/_react["default"].createElement("span", {
280
+ id: componentId,
281
+ ref: componentRef,
282
+ className: "multiSelect-component"
283
+ }, /*#__PURE__*/_react["default"].createElement(_InputTextBase["default"], _extends({}, props, {
284
+ value: label,
285
+ onFocus: function onFocus() {
286
+ _onFocus();
287
+ },
288
+ onBlur: function onBlur(e) {
289
+ onBlurComponent(e);
290
+ },
291
+ customClassForWrapper: "selectwrapper -undigitable",
292
+ customClassForInputContent: "multiselect",
293
+ inputBaseRef: function inputBaseRef(r) {
294
+ selectWrapper.current = r;
295
+ },
296
+ handlerSetOnDenied: setOnDeniedValue,
297
+ rightElements: /*#__PURE__*/_react["default"].createElement(_ActionButtons["default"], {
298
+ disabled: shouldDisabled(),
299
+ dropdownOpened: opened,
300
+ handleOpenClose: function handleOpenClose() {
301
+ onOpenClose();
302
+ },
303
+ handleCheckAll: onCheckAll,
304
+ handleUncheckAll: onUncheckAll
305
+ })
306
+ })), opened && /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], _extends({}, props, {
307
+ opened: opened,
308
+ dataCombo: dataCombo,
309
+ selecteds: selecteds,
310
+ inputValue: inputValue,
311
+ isAllChecked: isAllChecked,
312
+ onCheckAll: onCheckAll,
313
+ onUncheckAll: onUncheckAll,
314
+ dropdownWidth: dropdownWidth,
315
+ selectFieldRef: componentRef,
316
+ onSelect: handleOnSelect,
317
+ onFilter: handleOnFilter,
318
+ onFocus: _onFocus,
319
+ onBlur: onBlurComponent,
320
+ gridWrapperStyle: props.gridLayout ? window.getComputedStyle(gridEl) : undefined
321
+ })));
322
+ };
323
+
324
+ MultiSelect.propTypes = {
325
+ dataSource: _propTypes["default"].arrayOf(_propTypes["default"].object),
326
+ idKey: _propTypes["default"].string.isRequired,
327
+ descriptionKey: _propTypes["default"].string.isRequired,
328
+ value: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].number), _propTypes["default"].arrayOf(_propTypes["default"].string)]),
329
+ gridLayout: _propTypes["default"].string,
330
+ onSelect: _propTypes["default"].func,
331
+ onBlur: _propTypes["default"].func,
332
+ disabled: _propTypes["default"].bool
333
+ };
334
+ MultiSelect.defaultProps = {
335
+ dataSource: [],
336
+ value: null,
337
+ gridLayout: undefined,
338
+ onSelect: undefined,
339
+ onBlur: undefined,
340
+ disabled: false
341
+ };
342
+ var _default = MultiSelect;
343
+ exports["default"] = _default;
@@ -49,7 +49,7 @@ var BaseNumber = function BaseNumber(props) {
49
49
  };
50
50
 
51
51
  BaseNumber.propTypes = {
52
- value: _propTypes["default"].number,
52
+ value: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
53
53
  leftElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
54
54
  onBlur: _propTypes["default"].func,
55
55
  returnFormattedValueOnBlur: _propTypes["default"].bool
@@ -40,17 +40,19 @@ var NumberField = function NumberField(props) {
40
40
  value: (0, _format_number.numberToPtBR)(props.value),
41
41
  textAlign: props.textAlign,
42
42
  mask: Number,
43
- scale: 0
43
+ isNumeric: true,
44
+ scale: 0,
45
+ padFractionalZeros: false
44
46
  }));
45
47
  };
46
48
 
47
49
  NumberField.propTypes = {
48
- textAlign: _propTypes["default"].string,
49
- value: _propTypes["default"].string
50
+ value: _propTypes["default"].oneOfType([_propTypes["default"].number, _propTypes["default"].string]),
51
+ textAlign: _propTypes["default"].string
50
52
  };
51
53
  NumberField.defaultProps = {
52
- textAlign: 'right',
53
- value: ''
54
+ value: undefined,
55
+ textAlign: 'left'
54
56
  };
55
57
  var _default = NumberField;
56
58
  exports["default"] = _default;