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.
- package/.eslintrc.json +1 -0
- package/.vscode/settings.json +1 -1
- package/README.md +19 -12
- package/lib/@types/Align.d.ts +2 -1
- package/lib/alerts/AlertContainer.d.ts +2 -0
- package/lib/alerts/AlertProvider.d.ts +2 -0
- package/lib/alerts/BaseAlert.d.ts +2 -0
- package/lib/alerts/Message.d.ts +2 -0
- package/lib/alerts/Message.js +1 -1
- package/lib/alerts/alert.spec.js +133 -0
- package/lib/alerts/helpers.d.ts +2 -0
- package/lib/alerts/index.d.ts +2 -0
- package/lib/alerts/types.d.ts +3 -1
- package/lib/alerts/withAlert.d.ts +2 -0
- package/lib/assets/styles/dialog.scss +9 -6
- package/lib/assets/styles/drawers.scss +9 -0
- package/lib/assets/styles/effects.scss +2 -2
- package/lib/assets/styles/radio.scss +52 -8
- package/lib/assets/styles/table.scss +30 -0
- package/lib/assets/styles/tooltip.scss +42 -2
- package/lib/avatar/avatar.spec.js +190 -0
- package/lib/badge/badge.spec.js +127 -0
- package/lib/buttons/ActivateButton.d.ts +2 -0
- package/lib/buttons/AddButton.d.ts +2 -0
- package/lib/buttons/Button.d.ts +2 -0
- package/lib/buttons/CancelButton.d.ts +2 -0
- package/lib/buttons/DangerButton.d.ts +2 -0
- package/lib/buttons/DefaultButton.d.ts +2 -0
- package/lib/buttons/DefaultButton.js +14 -4
- package/lib/buttons/DestroyButton.d.ts +2 -0
- package/lib/buttons/EditButton.d.ts +2 -0
- package/lib/buttons/InactivateButton.d.ts +2 -0
- package/lib/buttons/InfoButton.d.ts +2 -0
- package/lib/buttons/PrimaryButton.d.ts +2 -0
- package/lib/buttons/RestoreButton.d.ts +2 -0
- package/lib/buttons/SaveButton.d.ts +2 -0
- package/lib/buttons/SpinnerLoading.js +230 -0
- package/lib/buttons/SuccessButton.d.ts +2 -0
- package/lib/buttons/WarningButton.d.ts +2 -0
- package/lib/buttons/buttons.spec.js +504 -0
- package/lib/buttons/index.d.ts +2 -0
- package/lib/buttons/split_button/index.d.ts +2 -0
- package/lib/buttons/types.d.ts +6 -2
- package/lib/calendar/calendar.spec.js +171 -0
- package/lib/checkbox/checkbox.spec.js +215 -0
- package/lib/dialog/Alert.d.ts +3 -0
- package/lib/dialog/Custom.d.ts +3 -0
- package/lib/dialog/Custom.js +1 -1
- package/lib/dialog/Error.d.ts +3 -0
- package/lib/dialog/Information.d.ts +3 -0
- package/lib/dialog/Question.d.ts +3 -0
- package/lib/dialog/Warning.d.ts +3 -0
- package/lib/dialog/base/Content.d.ts +3 -0
- package/lib/dialog/base/Footer.d.ts +3 -0
- package/lib/dialog/base/Header.d.ts +3 -0
- package/lib/dialog/base/Header.js +12 -1
- package/lib/dialog/base/index.d.ts +3 -0
- package/lib/dialog/base/index.js +78 -16
- package/lib/dialog/dialog.spec.js +488 -0
- package/lib/dialog/form/index.d.ts +7 -3
- package/lib/dialog/form/index.js +11 -4
- package/lib/dialog/index.d.ts +3 -0
- package/lib/dialog/types.d.ts +10 -4
- package/lib/drawer/Content.d.ts +2 -0
- package/lib/drawer/Drawer.d.ts +3 -1
- package/lib/drawer/Drawer.js +22 -2
- package/lib/drawer/Drawer.spec.js +258 -0
- package/lib/drawer/Header.d.ts +2 -0
- package/lib/drawer/helpers.d.ts +2 -0
- package/lib/drawer/index.d.ts +2 -0
- package/lib/drawer/types.d.ts +4 -1
- package/lib/dropdown/Popup.js +5 -0
- package/lib/dropdown/dropdown.spec.js +169 -0
- package/lib/fieldset/fieldset.spec.js +329 -0
- package/lib/form/Field.d.ts +2 -1
- package/lib/form/Field.js +33 -24
- package/lib/form/FieldArray.d.ts +1 -0
- package/lib/form/FieldArray.js +41 -4
- package/lib/form/FieldNumber.d.ts +1 -0
- package/lib/form/FieldNumber.js +24 -5
- package/lib/form/FieldPeriod.d.ts +1 -0
- package/lib/form/FieldPeriod.js +16 -2
- package/lib/form/form.spec.js +293 -0
- package/lib/form/helpers.d.ts +2 -1
- package/lib/form/helpers.js +2 -2
- package/lib/form/index.d.ts +4 -2
- package/lib/form/index.js +72 -35
- package/lib/form/types.d.ts +25 -6
- package/lib/form/withFieldHOC.d.ts +1 -0
- package/lib/form/withFieldHOC.js +1 -0
- package/lib/form/withFormSecurity.d.ts +1 -0
- package/lib/form/withFormSecurity.js +2 -1
- package/lib/gridlayout/gridLayout.spec.js +169 -0
- package/lib/icons/helper.d.ts +4 -0
- package/lib/icons/helper.js +4 -0
- package/lib/icons/icons.spec.js +86 -0
- package/lib/icons/index.d.ts +2 -0
- package/lib/icons/types.d.ts +3 -1
- package/lib/index.d.ts +4 -1
- package/lib/inputs/base/InputTextBase.d.ts +1 -0
- package/lib/inputs/base/InputTextBase.js +10 -2
- package/lib/inputs/base/base.spec.js +690 -0
- package/lib/inputs/base/helpers.d.ts +2 -1
- package/lib/inputs/base/index.js +1 -0
- package/lib/inputs/base/types.d.ts +2 -1
- package/lib/inputs/color/color_input.spec.js +174 -0
- package/lib/inputs/date/Dialog.d.ts +1 -0
- package/lib/inputs/date/Dropdown.d.ts +1 -0
- package/lib/inputs/date/date.spec.js +354 -0
- package/lib/inputs/date/helpers.d.ts +2 -1
- package/lib/inputs/date/helpers.js +3 -2
- package/lib/inputs/date/index.d.ts +1 -0
- package/lib/inputs/date/index.js +24 -9
- package/lib/inputs/date/types.d.ts +3 -1
- package/lib/inputs/file/DefaultFile.d.ts +1 -0
- package/lib/inputs/file/DragDropFile.d.ts +1 -0
- package/lib/inputs/file/File.d.ts +1 -0
- package/lib/inputs/file/FileButtonSettings.d.ts +1 -0
- package/lib/inputs/file/helpers.d.ts +1 -0
- package/lib/inputs/file/index.d.ts +1 -0
- package/lib/inputs/file/types.d.ts +1 -0
- package/lib/inputs/inputHOC.d.ts +3 -0
- package/lib/inputs/mask/BaseMask.d.ts +1 -0
- package/lib/inputs/mask/BaseMask.js +20 -5
- package/lib/inputs/mask/Cnpj.d.ts +1 -0
- package/lib/inputs/mask/Cpf.d.ts +1 -0
- package/lib/inputs/mask/Cpf.js +4 -4
- package/lib/inputs/mask/Phone.d.ts +1 -0
- package/lib/inputs/mask/ZipCode.d.ts +1 -0
- package/lib/inputs/mask/helpers.d.ts +3 -0
- package/lib/inputs/mask/helpers.js +1 -1
- package/lib/inputs/mask/imaskHOC.d.ts +3 -0
- package/lib/inputs/mask/imaskHOC.js +16 -12
- package/lib/inputs/mask/index.d.ts +1 -0
- package/lib/inputs/mask/input_mask.spec.js +607 -0
- package/lib/inputs/mask/types.d.ts +2 -1
- package/lib/inputs/multiSelect/ActionButtons.d.ts +2 -1
- package/lib/inputs/multiSelect/ActionButtons.js +4 -1
- package/lib/inputs/multiSelect/Dropdown.d.ts +1 -0
- package/lib/inputs/multiSelect/Dropdown.js +4 -4
- package/lib/inputs/multiSelect/helper.d.ts +8 -6
- package/lib/inputs/multiSelect/helper.js +5 -1
- package/lib/inputs/multiSelect/index.d.ts +1 -0
- package/lib/inputs/multiSelect/index.js +15 -11
- package/lib/inputs/multiSelect/types.d.ts +16 -6
- package/lib/inputs/number/BaseNumber.d.ts +3 -0
- package/lib/inputs/number/BaseNumber.js +1 -2
- package/lib/inputs/number/Currency.d.ts +3 -0
- package/lib/inputs/number/Decimal.d.ts +3 -0
- package/lib/inputs/number/format_number.d.ts +2 -1
- package/lib/inputs/number/format_number.js +8 -3
- package/lib/inputs/number/index.d.ts +3 -0
- package/lib/inputs/number/numberfield.spec.js +215 -0
- package/lib/inputs/number/types.d.ts +3 -1
- package/lib/inputs/period/Dialog.d.ts +1 -0
- package/lib/inputs/period/Dropdown.d.ts +1 -0
- package/lib/inputs/period/PeriodList.d.ts +1 -0
- package/lib/inputs/period/helper.d.ts +1 -0
- package/lib/inputs/period/index.d.ts +1 -0
- package/lib/inputs/period/index.js +8 -9
- package/lib/inputs/period/types.d.ts +3 -2
- package/lib/inputs/search/index.d.ts +3 -0
- package/lib/inputs/search/search_input.spec.js +209 -0
- package/lib/inputs/select/ActionButtons.d.ts +3 -0
- package/lib/inputs/select/Dropdown.d.ts +3 -0
- package/lib/inputs/select/Dropdown.js +1 -1
- package/lib/inputs/select/helper.d.ts +7 -9
- package/lib/inputs/select/helper.js +11 -2
- package/lib/inputs/select/index.d.ts +1 -0
- package/lib/inputs/select/index.js +6 -5
- package/lib/inputs/select/multiple/Selecteds.d.ts +1 -0
- package/lib/inputs/select/multiple/Selecteds.js +1 -1
- package/lib/inputs/select/multiple/index.d.ts +1 -0
- package/lib/inputs/select/multiple/index.js +13 -10
- package/lib/inputs/select/select.spec.js +395 -0
- package/lib/inputs/select/simple/index.d.ts +1 -0
- package/lib/inputs/select/simple/index.js +35 -18
- package/lib/inputs/select/types.d.ts +22 -7
- package/lib/inputs/text/index.d.ts +1 -0
- package/lib/inputs/text/textfield.spec.js +215 -0
- package/lib/inputs/text/types.d.ts +1 -1
- package/lib/inputs/textarea/index.d.ts +1 -0
- package/lib/inputs/textarea/index.js +1 -1
- package/lib/inputs/textarea/textarea.spec.js +59 -0
- package/lib/inputs/textarea/types.d.ts +1 -0
- package/lib/inputs/types.d.ts +7 -3
- package/lib/internals/types.d.ts +1 -0
- package/lib/internals/withTooltip.js +13 -6
- package/lib/labelMessages/index.d.ts +2 -0
- package/lib/labelMessages/index.js +3 -4
- package/lib/labelMessages/labelMessages.spec.js +176 -0
- package/lib/labelMessages/types.d.ts +3 -1
- package/lib/labels/DangerLabel.d.ts +2 -0
- package/lib/labels/DefaultLabel.d.ts +2 -0
- package/lib/labels/InfoLabel.d.ts +2 -0
- package/lib/labels/PrimaryLabel.d.ts +2 -0
- package/lib/labels/SuccessLabel.d.ts +2 -0
- package/lib/labels/WarningLabel.d.ts +2 -0
- package/lib/labels/index.d.ts +2 -0
- package/lib/labels/label.spec.js +162 -0
- package/lib/labels/types.d.ts +3 -1
- package/lib/list/Header.d.ts +2 -0
- package/lib/list/Item.d.ts +2 -0
- package/lib/list/helpers.d.ts +2 -0
- package/lib/list/index.d.ts +2 -0
- package/lib/list/list.spec.js +769 -0
- package/lib/list/types.d.ts +4 -2
- package/lib/menus/float/MenuItem.d.ts +2 -0
- package/lib/menus/float/float-menu.spec.js +221 -0
- package/lib/menus/float/helpers.d.ts +2 -0
- package/lib/menus/float/index.d.ts +2 -0
- package/lib/menus/float/types.d.ts +3 -1
- package/lib/menus/index.d.ts +2 -0
- package/lib/menus/sidenav/ExpandMenu.d.ts +2 -0
- package/lib/menus/sidenav/MenuLink.d.ts +2 -0
- package/lib/menus/sidenav/NavMenuGroup.d.ts +2 -0
- package/lib/menus/sidenav/NavMenuItem.d.ts +2 -0
- package/lib/menus/sidenav/NavSubMenuItem.d.ts +2 -0
- package/lib/menus/sidenav/helpers.d.ts +2 -0
- package/lib/menus/sidenav/index.d.ts +2 -0
- package/lib/menus/sidenav/popup_menu_search/EmptyList.d.ts +2 -0
- package/lib/menus/sidenav/popup_menu_search/index.d.ts +2 -0
- package/lib/menus/sidenav/sidenav.spec.js +379 -0
- package/lib/menus/sidenav/types.d.ts +4 -2
- package/lib/panel/Content.d.ts +3 -1
- package/lib/panel/DangerPanel.d.ts +3 -1
- package/lib/panel/Default.d.ts +3 -1
- package/lib/panel/Header.d.ts +3 -1
- package/lib/panel/Header.js +3 -4
- package/lib/panel/InfoPanel.d.ts +3 -1
- package/lib/panel/PrimaryPanel.d.ts +3 -1
- package/lib/panel/SuccessPanel.d.ts +3 -1
- package/lib/panel/ToolBar.d.ts +3 -1
- package/lib/panel/WarningPanel.d.ts +3 -1
- package/lib/panel/helpers.d.ts +3 -1
- package/lib/panel/index.d.ts +3 -1
- package/lib/panel/panel.spec.js +216 -0
- package/lib/panel/types.d.ts +3 -1
- package/lib/popover/PopoverText.d.ts +2 -0
- package/lib/popover/PopoverTitle.d.ts +2 -0
- package/lib/popover/index.d.ts +2 -0
- package/lib/popover/index.js +1 -2
- package/lib/popover/popover.spec.js +146 -0
- package/lib/popover/types.d.ts +3 -1
- package/lib/progress/progress.spec.js +94 -0
- package/lib/radio/index.d.ts +2 -1
- package/lib/radio/index.js +5 -1
- package/lib/radio/radio.spec.js +189 -0
- package/lib/radio/types.d.ts +4 -1
- package/lib/spinner/spinner.spec.js +152 -0
- package/lib/split/split.spec.js +163 -0
- package/lib/table/Body.js +9 -12
- package/lib/table/Header.js +19 -16
- package/lib/table/Row.js +20 -3
- package/lib/table/index.js +1 -0
- package/lib/table/table.spec.js +352 -0
- package/lib/table/types.d.ts +7 -0
- package/lib/tabs/DropdownItems.d.ts +2 -0
- package/lib/tabs/Menu.d.ts +2 -0
- package/lib/tabs/MenuItems.d.ts +2 -0
- package/lib/tabs/Panel.d.ts +2 -0
- package/lib/tabs/index.d.ts +2 -0
- package/lib/tabs/tabHelpers.d.ts +2 -0
- package/lib/tabs/tabs.spec.js +321 -0
- package/lib/tabs/types.d.ts +3 -1
- package/lib/toolbar/ButtonBar.d.ts +2 -0
- package/lib/toolbar/LabelBar.d.ts +2 -0
- package/lib/toolbar/ToolBarGroup.d.ts +2 -0
- package/lib/toolbar/helpers.d.ts +2 -0
- package/lib/toolbar/index.d.ts +2 -0
- package/lib/toolbar/toolbar.spec.js +394 -0
- package/lib/toolbar/types.d.ts +4 -2
- package/lib/tooltip/index.d.ts +1 -1
- package/lib/tooltip/index.js +5 -1
- package/lib/tooltip/tooltip.spec.js +215 -0
- package/lib/tooltip/types.d.ts +1 -0
- package/lib/treeview/index.js +1 -0
- package/lib/treeview/treeview.spec.js +279 -0
- package/lib/{types-90c43ae1.d.ts → types-c1e2d0c9.d.ts} +2 -1
- package/lib/uitour/uitour.spec.js +176 -0
- package/package.json +67 -64
|
@@ -0,0 +1,169 @@
|
|
|
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 = require("@testing-library/react");
|
|
6
|
+
|
|
7
|
+
var _react2 = _interopRequireWildcard(require("react"));
|
|
8
|
+
|
|
9
|
+
require("babel-polyfill");
|
|
10
|
+
|
|
11
|
+
var _withDropdown = _interopRequireDefault(require("./withDropdown"));
|
|
12
|
+
|
|
13
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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 asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
20
|
+
|
|
21
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
22
|
+
|
|
23
|
+
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); }
|
|
24
|
+
|
|
25
|
+
var WhappedComponent = function WhappedComponent(props) {
|
|
26
|
+
var btnRef = (0, _react2.useRef)(null);
|
|
27
|
+
return /*#__PURE__*/_react2.default.createElement(_react2.Fragment, null, /*#__PURE__*/_react2.default.createElement("button", {
|
|
28
|
+
ref: btnRef,
|
|
29
|
+
onClick: function onClick() {
|
|
30
|
+
return props.showDropdown();
|
|
31
|
+
}
|
|
32
|
+
}, "OPEN"), props.getDropdownPopup(btnRef.current));
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var DropdownTest = (0, _withDropdown.default)(WhappedComponent);
|
|
36
|
+
|
|
37
|
+
var renderDropdownTestMock = function renderDropdownTestMock(props) {
|
|
38
|
+
return /*#__PURE__*/_react2.default.createElement(DropdownTest, _extends({
|
|
39
|
+
dropdown: true
|
|
40
|
+
}, props), /*#__PURE__*/_react2.default.createElement("div", null, "DROP_DOWN_CONTENT"));
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
describe('withDropdown', function () {
|
|
44
|
+
describe('Default', function () {
|
|
45
|
+
it('should render dropdown', function () {
|
|
46
|
+
var _render = (0, _react.render)(renderDropdownTestMock()),
|
|
47
|
+
container = _render.container,
|
|
48
|
+
getByTestId = _render.getByTestId,
|
|
49
|
+
getByText = _render.getByText;
|
|
50
|
+
|
|
51
|
+
_react.fireEvent.click(container.firstChild);
|
|
52
|
+
|
|
53
|
+
expect(getByTestId('dropdown-component')).toBeInTheDocument();
|
|
54
|
+
expect(getByText('DROP_DOWN_CONTENT')).toBeInTheDocument();
|
|
55
|
+
});
|
|
56
|
+
it('should apply customClass in dropdown', function () {
|
|
57
|
+
var _render2 = (0, _react.render)(renderDropdownTestMock({
|
|
58
|
+
customClassForDropdown: 'customClass'
|
|
59
|
+
})),
|
|
60
|
+
container = _render2.container,
|
|
61
|
+
getByTestId = _render2.getByTestId;
|
|
62
|
+
|
|
63
|
+
_react.fireEvent.click(container.firstChild);
|
|
64
|
+
|
|
65
|
+
expect(getByTestId('dropdown-component')).toBeInTheDocument();
|
|
66
|
+
expect(getByTestId('dropdown-component')).toHaveClass('customClass');
|
|
67
|
+
});
|
|
68
|
+
it('should control dropdown open with dropdownOpened prop', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
69
|
+
var _render3, rerender, getByTestId;
|
|
70
|
+
|
|
71
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
72
|
+
while (1) {
|
|
73
|
+
switch (_context.prev = _context.next) {
|
|
74
|
+
case 0:
|
|
75
|
+
_render3 = (0, _react.render)(renderDropdownTestMock()), rerender = _render3.rerender, getByTestId = _render3.getByTestId;
|
|
76
|
+
rerender(renderDropdownTestMock({
|
|
77
|
+
dropdownOpened: true
|
|
78
|
+
}));
|
|
79
|
+
_context.next = 4;
|
|
80
|
+
return (0, _react.waitFor)(function () {
|
|
81
|
+
return expect(getByTestId('dropdown-component')).toBeInTheDocument();
|
|
82
|
+
}, {
|
|
83
|
+
timeout: 3000
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
case 4:
|
|
87
|
+
case "end":
|
|
88
|
+
return _context.stop();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}, _callee);
|
|
92
|
+
})));
|
|
93
|
+
it('should closeDropdownOnClickOutside', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
|
|
94
|
+
var _render4, getByText, queryByTestId;
|
|
95
|
+
|
|
96
|
+
return regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
97
|
+
while (1) {
|
|
98
|
+
switch (_context2.prev = _context2.next) {
|
|
99
|
+
case 0:
|
|
100
|
+
_render4 = // eslint-disable-next-line max-len
|
|
101
|
+
(0, _react.render)( /*#__PURE__*/_react2.default.createElement("div", null, /*#__PURE__*/_react2.default.createElement("a", null, "OUTSIDE_CLICK"), renderDropdownTestMock())), getByText = _render4.getByText, queryByTestId = _render4.queryByTestId;
|
|
102
|
+
|
|
103
|
+
_react.fireEvent.click(getByText('OPEN'));
|
|
104
|
+
|
|
105
|
+
_context2.next = 4;
|
|
106
|
+
return (0, _react.waitFor)(function () {
|
|
107
|
+
return expect(queryByTestId('dropdown-component')).toBeInTheDocument();
|
|
108
|
+
}, {
|
|
109
|
+
timeout: 3000
|
|
110
|
+
});
|
|
111
|
+
|
|
112
|
+
case 4:
|
|
113
|
+
_react.fireEvent.click(getByText('OUTSIDE_CLICK'));
|
|
114
|
+
|
|
115
|
+
_context2.next = 7;
|
|
116
|
+
return (0, _react.waitFor)(function () {
|
|
117
|
+
return expect(queryByTestId('dropdown-component')).not.toBeInTheDocument();
|
|
118
|
+
}, {
|
|
119
|
+
timeout: 3000
|
|
120
|
+
});
|
|
121
|
+
|
|
122
|
+
case 7:
|
|
123
|
+
case "end":
|
|
124
|
+
return _context2.stop();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}, _callee2);
|
|
128
|
+
})));
|
|
129
|
+
it('should not closeDropdownOnClickOutside', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
|
|
130
|
+
var _render5, getByText, queryByTestId;
|
|
131
|
+
|
|
132
|
+
return regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
133
|
+
while (1) {
|
|
134
|
+
switch (_context3.prev = _context3.next) {
|
|
135
|
+
case 0:
|
|
136
|
+
// eslint-disable-next-line function-paren-newline
|
|
137
|
+
_render5 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement("div", null, /*#__PURE__*/_react2.default.createElement("a", null, "OUTSIDE_CLICK"), renderDropdownTestMock({
|
|
138
|
+
closeDropdownOnClickOutside: false
|
|
139
|
+
})) // eslint-disable-next-line function-paren-newline
|
|
140
|
+
), getByText = _render5.getByText, queryByTestId = _render5.queryByTestId;
|
|
141
|
+
|
|
142
|
+
_react.fireEvent.click(getByText('OPEN'));
|
|
143
|
+
|
|
144
|
+
_context3.next = 4;
|
|
145
|
+
return (0, _react.waitFor)(function () {
|
|
146
|
+
return expect(queryByTestId('dropdown-component')).toBeInTheDocument();
|
|
147
|
+
}, {
|
|
148
|
+
timeout: 3000
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
case 4:
|
|
152
|
+
_react.fireEvent.click(getByText('OUTSIDE_CLICK'));
|
|
153
|
+
|
|
154
|
+
_context3.next = 7;
|
|
155
|
+
return (0, _react.waitFor)(function () {
|
|
156
|
+
return expect(queryByTestId('dropdown-component')).toBeInTheDocument();
|
|
157
|
+
}, {
|
|
158
|
+
timeout: 3000
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
case 7:
|
|
162
|
+
case "end":
|
|
163
|
+
return _context3.stop();
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
}, _callee3);
|
|
167
|
+
})));
|
|
168
|
+
});
|
|
169
|
+
});
|
|
@@ -0,0 +1,329 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _react = _interopRequireDefault(require("react"));
|
|
4
|
+
|
|
5
|
+
var _react2 = require("@testing-library/react");
|
|
6
|
+
|
|
7
|
+
require("@testing-library/jest-dom/extend-expect");
|
|
8
|
+
|
|
9
|
+
var _index = _interopRequireDefault(require("./index"));
|
|
10
|
+
|
|
11
|
+
var _gridlayout = require("../gridlayout");
|
|
12
|
+
|
|
13
|
+
var _text = _interopRequireDefault(require("../inputs/text"));
|
|
14
|
+
|
|
15
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
16
|
+
|
|
17
|
+
describe('Fieldset', function () {
|
|
18
|
+
var fieldset = function fieldset(propsArgument) {
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(_index.default, propsArgument, /*#__PURE__*/_react.default.createElement(_gridlayout.GridRow, {
|
|
20
|
+
template: "columns",
|
|
21
|
+
style: {
|
|
22
|
+
marginBottom: 20
|
|
23
|
+
}
|
|
24
|
+
}, /*#__PURE__*/_react.default.createElement(_text.default, {
|
|
25
|
+
required: true,
|
|
26
|
+
name: "nome",
|
|
27
|
+
value: "XPTO",
|
|
28
|
+
label: "Nome",
|
|
29
|
+
gridLayout: "12 12 12 12"
|
|
30
|
+
})));
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
var sessionStorageMock = function sessionStorageMock() {
|
|
34
|
+
var store = {};
|
|
35
|
+
return {
|
|
36
|
+
getItem: function getItem(key) {
|
|
37
|
+
return store[key] || null;
|
|
38
|
+
},
|
|
39
|
+
setItem: function setItem(key, value) {
|
|
40
|
+
store[key] = value.toString();
|
|
41
|
+
},
|
|
42
|
+
removeItem: function removeItem(key) {
|
|
43
|
+
delete store[key];
|
|
44
|
+
},
|
|
45
|
+
clear: function clear() {
|
|
46
|
+
store = {};
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
var storePermissionAttrMock = function storePermissionAttrMock() {
|
|
52
|
+
Object.defineProperty(window, 'sessionStorage', {
|
|
53
|
+
value: sessionStorageMock()
|
|
54
|
+
});
|
|
55
|
+
var permissionMock = {
|
|
56
|
+
SG_SEGURANCA: [{
|
|
57
|
+
nome: 'Autorização',
|
|
58
|
+
codigo: 'SG_SEGURANCA_AUTORIZACAO',
|
|
59
|
+
permissoes: [{
|
|
60
|
+
codigo: 'SG_SEGURANCA_AUTORIZACAO_RECURSOS'
|
|
61
|
+
}],
|
|
62
|
+
itens: []
|
|
63
|
+
}]
|
|
64
|
+
};
|
|
65
|
+
sessionStorage.setItem('permissionsStorage', JSON.stringify(permissionMock));
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
it('should render correctly', function () {
|
|
69
|
+
var _render = (0, _react2.render)(fieldset()),
|
|
70
|
+
container = _render.container;
|
|
71
|
+
|
|
72
|
+
var gridRow = container.querySelector('.-withinput.grid-container');
|
|
73
|
+
var textField = container.querySelector('.textinput.text-align-left');
|
|
74
|
+
expect(container.firstChild).toHaveClass('fieldset-component');
|
|
75
|
+
expect(gridRow).toBeTruthy();
|
|
76
|
+
expect(textField).toBeTruthy();
|
|
77
|
+
expect(textField.name).toBe('nome');
|
|
78
|
+
expect(textField.value).toBe('XPTO');
|
|
79
|
+
});
|
|
80
|
+
it('should apply customClass', function () {
|
|
81
|
+
var customClass = 'testecustomclass';
|
|
82
|
+
|
|
83
|
+
var _render2 = (0, _react2.render)(fieldset({
|
|
84
|
+
customClass: customClass
|
|
85
|
+
})),
|
|
86
|
+
container = _render2.container;
|
|
87
|
+
|
|
88
|
+
expect(container.firstChild).toHaveClass(customClass);
|
|
89
|
+
});
|
|
90
|
+
it('should apply template', function () {
|
|
91
|
+
var template = 'columns';
|
|
92
|
+
|
|
93
|
+
var _render3 = (0, _react2.render)(fieldset({
|
|
94
|
+
template: template
|
|
95
|
+
})),
|
|
96
|
+
container = _render3.container;
|
|
97
|
+
|
|
98
|
+
var contentFieldSet = container.querySelector('.contentfieldset');
|
|
99
|
+
expect(contentFieldSet).toHaveClass("-template".concat(template));
|
|
100
|
+
});
|
|
101
|
+
it('should render title', function () {
|
|
102
|
+
var _render4 = (0, _react2.render)(fieldset({
|
|
103
|
+
title: 'Teste'
|
|
104
|
+
})),
|
|
105
|
+
container = _render4.container;
|
|
106
|
+
|
|
107
|
+
var fieldsetTitle = container.querySelector('.legend');
|
|
108
|
+
expect(fieldsetTitle).toBeTruthy();
|
|
109
|
+
expect(fieldsetTitle).toHaveTextContent('Teste');
|
|
110
|
+
});
|
|
111
|
+
it('should apply titleAlign', function () {
|
|
112
|
+
var titleAlign = 'right';
|
|
113
|
+
|
|
114
|
+
var _render5 = (0, _react2.render)(fieldset({
|
|
115
|
+
titleAlign: titleAlign,
|
|
116
|
+
title: 'Teste titleAlign'
|
|
117
|
+
})),
|
|
118
|
+
container = _render5.container;
|
|
119
|
+
|
|
120
|
+
var fieldsetTitle = container.querySelector('.legend');
|
|
121
|
+
expect(fieldsetTitle.align).toBe(titleAlign);
|
|
122
|
+
});
|
|
123
|
+
it('should apply titleCustomClass', function () {
|
|
124
|
+
var titleCustomClass = 'titleCustomClass';
|
|
125
|
+
|
|
126
|
+
var _render6 = (0, _react2.render)(fieldset({
|
|
127
|
+
titleCustomClass: titleCustomClass,
|
|
128
|
+
title: 'Teste titleCustomClass'
|
|
129
|
+
})),
|
|
130
|
+
container = _render6.container;
|
|
131
|
+
|
|
132
|
+
var fieldsetTitle = container.querySelector('.legend');
|
|
133
|
+
expect(fieldsetTitle).toHaveClass(titleCustomClass);
|
|
134
|
+
});
|
|
135
|
+
it('should apply colsCount', function () {
|
|
136
|
+
var colsCount = 4;
|
|
137
|
+
|
|
138
|
+
var _render7 = (0, _react2.render)(fieldset({
|
|
139
|
+
template: 'columns',
|
|
140
|
+
colsCount: colsCount
|
|
141
|
+
})),
|
|
142
|
+
container = _render7.container;
|
|
143
|
+
|
|
144
|
+
var contentFieldSet = container.querySelector('.contentfieldset.-templatecolumns');
|
|
145
|
+
expect(contentFieldSet).toHaveStyle("grid-template-columns: repeat(".concat(colsCount, ", 1fr)"));
|
|
146
|
+
});
|
|
147
|
+
it('should apply rowsCount', function () {
|
|
148
|
+
var rowsCount = 4;
|
|
149
|
+
|
|
150
|
+
var _render8 = (0, _react2.render)(fieldset({
|
|
151
|
+
template: 'rows',
|
|
152
|
+
rowsCount: rowsCount
|
|
153
|
+
})),
|
|
154
|
+
container = _render8.container;
|
|
155
|
+
|
|
156
|
+
var contentFieldSet = container.querySelector('.contentfieldset.-templaterows');
|
|
157
|
+
expect(contentFieldSet).toHaveStyle("grid-template-rows: repeat(".concat(rowsCount, ", 1fr)"));
|
|
158
|
+
});
|
|
159
|
+
it('should apply style', function () {
|
|
160
|
+
var style = {
|
|
161
|
+
paddingTop: '10px',
|
|
162
|
+
marginBottom: '10px'
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
var _render9 = (0, _react2.render)(fieldset({
|
|
166
|
+
style: style
|
|
167
|
+
})),
|
|
168
|
+
container = _render9.container;
|
|
169
|
+
|
|
170
|
+
expect(container.firstChild).toHaveStyle(style);
|
|
171
|
+
});
|
|
172
|
+
it('should apply styleContent', function () {
|
|
173
|
+
var styleContent = {
|
|
174
|
+
paddingTop: '10px',
|
|
175
|
+
marginBottom: '10px'
|
|
176
|
+
};
|
|
177
|
+
|
|
178
|
+
var _render10 = (0, _react2.render)(fieldset({
|
|
179
|
+
styleContent: styleContent
|
|
180
|
+
})),
|
|
181
|
+
container = _render10.container;
|
|
182
|
+
|
|
183
|
+
var contentFieldSet = container.querySelector('.contentfieldset');
|
|
184
|
+
expect(contentFieldSet).toHaveStyle(styleContent);
|
|
185
|
+
});
|
|
186
|
+
it('should apply styleTitle', function () {
|
|
187
|
+
var styleTitle = {
|
|
188
|
+
paddingTop: '10px',
|
|
189
|
+
marginBottom: '10px'
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
var _render11 = (0, _react2.render)(fieldset({
|
|
193
|
+
title: 'Teste',
|
|
194
|
+
styleTitle: styleTitle
|
|
195
|
+
})),
|
|
196
|
+
container = _render11.container;
|
|
197
|
+
|
|
198
|
+
var fieldsetTitle = container.querySelector('.legend');
|
|
199
|
+
expect(fieldsetTitle).toHaveStyle(styleTitle);
|
|
200
|
+
});
|
|
201
|
+
describe('prop type', function () {
|
|
202
|
+
it('should apply -primary css class', function () {
|
|
203
|
+
var type = 'primary';
|
|
204
|
+
|
|
205
|
+
var _render12 = (0, _react2.render)(fieldset({
|
|
206
|
+
type: type
|
|
207
|
+
})),
|
|
208
|
+
container = _render12.container;
|
|
209
|
+
|
|
210
|
+
expect(container.firstChild).toHaveClass("-".concat(type));
|
|
211
|
+
});
|
|
212
|
+
it('should apply -danger css class', function () {
|
|
213
|
+
var type = 'danger';
|
|
214
|
+
|
|
215
|
+
var _render13 = (0, _react2.render)(fieldset({
|
|
216
|
+
type: type
|
|
217
|
+
})),
|
|
218
|
+
container = _render13.container;
|
|
219
|
+
|
|
220
|
+
expect(container.firstChild).toHaveClass("-".concat(type));
|
|
221
|
+
});
|
|
222
|
+
it('should apply -success css class', function () {
|
|
223
|
+
var type = 'success';
|
|
224
|
+
|
|
225
|
+
var _render14 = (0, _react2.render)(fieldset({
|
|
226
|
+
type: type
|
|
227
|
+
})),
|
|
228
|
+
container = _render14.container;
|
|
229
|
+
|
|
230
|
+
expect(container.firstChild).toHaveClass("-".concat(type));
|
|
231
|
+
});
|
|
232
|
+
it('should apply -warning css class', function () {
|
|
233
|
+
var type = 'warning';
|
|
234
|
+
|
|
235
|
+
var _render15 = (0, _react2.render)(fieldset({
|
|
236
|
+
type: type
|
|
237
|
+
})),
|
|
238
|
+
container = _render15.container;
|
|
239
|
+
|
|
240
|
+
expect(container.firstChild).toHaveClass("-".concat(type));
|
|
241
|
+
});
|
|
242
|
+
it('should apply -info css class', function () {
|
|
243
|
+
var type = 'info';
|
|
244
|
+
|
|
245
|
+
var _render16 = (0, _react2.render)(fieldset({
|
|
246
|
+
type: type
|
|
247
|
+
})),
|
|
248
|
+
container = _render16.container;
|
|
249
|
+
|
|
250
|
+
expect(container.firstChild).toHaveClass("-".concat(type));
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
it('prop hasError should apply -witherror css class', function () {
|
|
254
|
+
var _render17 = (0, _react2.render)(fieldset({
|
|
255
|
+
hasError: true
|
|
256
|
+
})),
|
|
257
|
+
container = _render17.container;
|
|
258
|
+
|
|
259
|
+
expect(container.firstChild).toHaveClass('-witherror');
|
|
260
|
+
});
|
|
261
|
+
describe('prop gridCols', function () {
|
|
262
|
+
var gridCols = '4';
|
|
263
|
+
it('should wrapp subject within Grid component', function () {
|
|
264
|
+
var _render18 = (0, _react2.render)(fieldset({
|
|
265
|
+
gridCols: gridCols
|
|
266
|
+
})),
|
|
267
|
+
container = _render18.container;
|
|
268
|
+
|
|
269
|
+
expect(container.firstChild).toHaveClass('grid-container');
|
|
270
|
+
});
|
|
271
|
+
it('should apply into Grid component', function () {
|
|
272
|
+
var _render19 = (0, _react2.render)(fieldset({
|
|
273
|
+
gridCols: gridCols
|
|
274
|
+
})),
|
|
275
|
+
container = _render19.container;
|
|
276
|
+
|
|
277
|
+
expect(container.firstChild).toHaveClass("col-xs-".concat(gridCols));
|
|
278
|
+
});
|
|
279
|
+
});
|
|
280
|
+
describe('prop permissionAttr', function () {
|
|
281
|
+
beforeEach(function () {
|
|
282
|
+
window.sessionStorage.clear();
|
|
283
|
+
});
|
|
284
|
+
it('should allow default subject rendering', function () {
|
|
285
|
+
storePermissionAttrMock();
|
|
286
|
+
|
|
287
|
+
var _render20 = (0, _react2.render)(fieldset({
|
|
288
|
+
permissionAttr: {
|
|
289
|
+
module: 'SG_SEGURANCA',
|
|
290
|
+
feature: 'SG_SEGURANCA_AUTORIZACAO',
|
|
291
|
+
operation: 'SG_SEGURANCA_AUTORIZACAO_RECURSOS',
|
|
292
|
+
onDenied: 'unvisible'
|
|
293
|
+
}
|
|
294
|
+
})),
|
|
295
|
+
container = _render20.container;
|
|
296
|
+
|
|
297
|
+
expect(container.firstChild).toHaveClass('fieldset-component');
|
|
298
|
+
expect(container.querySelector('.no-permission-component')).not.toBeInTheDocument();
|
|
299
|
+
});
|
|
300
|
+
it('should turn subject unvisible', function () {
|
|
301
|
+
storePermissionAttrMock();
|
|
302
|
+
(0, _react2.render)(fieldset({
|
|
303
|
+
permissionAttr: {
|
|
304
|
+
module: 'SG_XPTO',
|
|
305
|
+
feature: 'SG_SEGURANCA_AUTORIZACAO',
|
|
306
|
+
operation: 'SG_SEGURANCA_AUTORIZACAO_RECURSOS',
|
|
307
|
+
onDenied: 'unvisible'
|
|
308
|
+
}
|
|
309
|
+
}));
|
|
310
|
+
expect(document.querySelector('.fieldset-component')).not.toBeInTheDocument();
|
|
311
|
+
});
|
|
312
|
+
it('should hide subject content', function () {
|
|
313
|
+
storePermissionAttrMock();
|
|
314
|
+
|
|
315
|
+
var _render21 = (0, _react2.render)(fieldset({
|
|
316
|
+
permissionAttr: {
|
|
317
|
+
module: 'SG_XPTO',
|
|
318
|
+
feature: 'SG_SEGURANCA_AUTORIZACAO',
|
|
319
|
+
operation: 'SG_SEGURANCA_AUTORIZACAO_RECURSOS',
|
|
320
|
+
onDenied: 'hideContent'
|
|
321
|
+
}
|
|
322
|
+
})),
|
|
323
|
+
container = _render21.container;
|
|
324
|
+
|
|
325
|
+
expect(container.firstChild).toHaveClass('fieldset-component');
|
|
326
|
+
expect(container.querySelector('.no-permission-component')).toBeInTheDocument();
|
|
327
|
+
});
|
|
328
|
+
});
|
|
329
|
+
});
|
package/lib/form/Field.d.ts
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import { IFieldProps } from './types.js';
|
|
3
3
|
import '../inputs/select/types.js';
|
|
4
|
+
import '../@types/Align.js';
|
|
4
5
|
import '../@types/DataCombo.js';
|
|
5
6
|
import '../@types/PermissionAttr.js';
|
|
6
7
|
import '../inputs/base/types.js';
|
|
7
8
|
import '../@types/Period.js';
|
|
8
9
|
|
|
9
|
-
declare const _default: React__default.ForwardRefExoticComponent<IFieldProps & React__default.RefAttributes<HTMLElement>>;
|
|
10
|
+
declare const _default: React__default.ForwardRefExoticComponent<Pick<IFieldProps & React__default.RefAttributes<unknown>, "key" | keyof IFieldProps> & React__default.RefAttributes<HTMLElement>>;
|
|
10
11
|
|
|
11
12
|
export { _default as default };
|
package/lib/form/Field.js
CHANGED
|
@@ -20,32 +20,36 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
20
20
|
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; } }
|
|
21
21
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
22
22
|
var getEvents = function getEvents(_ref) {
|
|
23
|
-
var
|
|
24
|
-
validators = _ref
|
|
23
|
+
var _ref$validators = _ref.validators,
|
|
24
|
+
validators = _ref$validators === void 0 ? [] : _ref$validators,
|
|
25
|
+
name = _ref.name,
|
|
25
26
|
_onBlur = _ref.onBlur,
|
|
26
27
|
handlerFieldValidade = _ref.handlerFieldValidade,
|
|
27
28
|
validatorFromComponent = _ref.validatorFromComponent,
|
|
28
29
|
handlerFieldChange = _ref.handlerFieldChange,
|
|
29
|
-
_onChange = _ref.onChange
|
|
30
|
-
|
|
30
|
+
_onChange = _ref.onChange,
|
|
31
|
+
handleShowValidateMessages = _ref.handleShowValidateMessages;
|
|
32
|
+
if (!(validators || validatorFromComponent || _onBlur || _onChange)) return {};
|
|
31
33
|
var validatorsArray = (0, _helpers.getValidatorsArray)(validators, validatorFromComponent);
|
|
32
34
|
return {
|
|
33
35
|
onBlur: function onBlur(e) {
|
|
34
36
|
if (validatorsArray && e.target && handlerFieldValidade) {
|
|
35
37
|
handlerFieldValidade(name, e.target.value, validatorsArray);
|
|
38
|
+
handleShowValidateMessages(true);
|
|
36
39
|
}
|
|
37
40
|
if (_onBlur) _onBlur(e);
|
|
38
41
|
},
|
|
39
42
|
onChange: function onChange(e) {
|
|
40
43
|
if (validatorsArray && e.target && handlerFieldValidade) {
|
|
41
44
|
handlerFieldValidade(name, e.target.value, validatorsArray);
|
|
45
|
+
handleShowValidateMessages(true);
|
|
42
46
|
}
|
|
43
47
|
if (handlerFieldChange) handlerFieldChange(e);
|
|
44
48
|
if (_onChange) _onChange(e);
|
|
45
49
|
}
|
|
46
50
|
};
|
|
47
51
|
};
|
|
48
|
-
var getCustomProps = function getCustomProps(props,
|
|
52
|
+
var getCustomProps = function getCustomProps(props, handlerSetComponentValidator) {
|
|
49
53
|
var value = props.value,
|
|
50
54
|
data = props.data,
|
|
51
55
|
name = props.name,
|
|
@@ -65,38 +69,43 @@ var getCustomProps = function getCustomProps(props, setValidatorFromComponent) {
|
|
|
65
69
|
} else if (component.displayName === 'CpfField' || component.displayName === 'CnpjField') {
|
|
66
70
|
return {
|
|
67
71
|
value: _lodash.default.get(data, name),
|
|
68
|
-
handlerSetComponentValidator:
|
|
72
|
+
handlerSetComponentValidator: handlerSetComponentValidator
|
|
69
73
|
};
|
|
70
74
|
}
|
|
71
75
|
return {
|
|
72
76
|
value: _lodash.default.get(data, name)
|
|
73
77
|
};
|
|
74
78
|
};
|
|
75
|
-
var Field = function
|
|
79
|
+
var Field = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
|
|
76
80
|
var handlerFieldChange = props.handlerFieldChange,
|
|
77
|
-
onChange = props.onChange
|
|
78
|
-
|
|
81
|
+
onChange = props.onChange,
|
|
82
|
+
onBlur = props.onBlur,
|
|
83
|
+
name = props.name,
|
|
84
|
+
validators = props.validators;
|
|
85
|
+
var _useState = (0, _react.useState)(false),
|
|
79
86
|
_useState2 = _slicedToArray(_useState, 2),
|
|
80
|
-
|
|
81
|
-
|
|
87
|
+
showValidateMessages = _useState2[0],
|
|
88
|
+
setShowValidateMessages = _useState2[1];
|
|
82
89
|
var _useContext = (0, _react.useContext)(_helpers.withFieldContext),
|
|
83
|
-
handlerSetValidatorFromComponent = _useContext.handlerSetValidatorFromComponent
|
|
84
|
-
|
|
85
|
-
if (validatorFromComponent && handlerSetValidatorFromComponent) {
|
|
86
|
-
handlerSetValidatorFromComponent(validatorFromComponent);
|
|
87
|
-
}
|
|
88
|
-
}, [validatorFromComponent]);
|
|
90
|
+
handlerSetValidatorFromComponent = _useContext.handlerSetValidatorFromComponent,
|
|
91
|
+
validatorFromComponent = _useContext.validatorFromComponent;
|
|
89
92
|
return /*#__PURE__*/_react.default.createElement(props.component, _extends({}, props, getEvents({
|
|
90
|
-
name:
|
|
91
|
-
validators:
|
|
92
|
-
onBlur:
|
|
93
|
+
name: name,
|
|
94
|
+
validators: validators,
|
|
95
|
+
onBlur: onBlur,
|
|
93
96
|
validatorFromComponent: validatorFromComponent,
|
|
94
97
|
handlerFieldValidade: props.handlerFieldValidade ? props.handlerFieldValidade : function () {},
|
|
95
98
|
handlerFieldChange: handlerFieldChange,
|
|
96
|
-
onChange: onChange
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
onChange: onChange,
|
|
100
|
+
handleShowValidateMessages: function handleShowValidateMessages(value) {
|
|
101
|
+
return setShowValidateMessages(value);
|
|
102
|
+
}
|
|
103
|
+
}), getCustomProps(props, handlerSetValidatorFromComponent), {
|
|
104
|
+
ref: ref,
|
|
105
|
+
errorMessages: (0, _helpers.getErrorMessages)(_extends({}, props, {
|
|
106
|
+
fieldErrors: showValidateMessages ? props.fieldErrors : {}
|
|
107
|
+
}))
|
|
99
108
|
}));
|
|
100
|
-
};
|
|
109
|
+
});
|
|
101
110
|
var _default = (0, _withFieldHOC.default)(Field);
|
|
102
111
|
exports.default = _default;
|
package/lib/form/FieldArray.d.ts
CHANGED