linear-react-components-ui 0.4.75 → 0.4.76-rc.0
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.js +2 -5
- package/.tool-versions +1 -0
- package/.vscode/settings.json +8 -9
- package/README.md +23 -0
- package/config/jest/cssTransform.js +14 -0
- package/config/jest/fileTransform.js +12 -0
- package/config/jest/storageMock.js +40 -0
- package/jest.config.js +18 -0
- package/lib/alerts/alert.spec.js +133 -0
- package/lib/assets/styles/dropdown.scss +25 -2
- package/lib/assets/styles/effects.scss +12 -0
- package/lib/assets/styles/floatMenu.scss +0 -1
- package/lib/assets/styles/multiSelect.scss +105 -0
- package/lib/assets/styles/panel.scss +0 -1
- package/lib/assets/styles/periodpicker.scss +65 -0
- package/lib/assets/styles/popover.scss +9 -11
- package/lib/assets/styles/progress.scss +8 -1
- package/lib/assets/styles/select.scss +1 -0
- package/lib/assets/styles/table.scss +13 -5
- package/lib/assets/styles/tabs.scss +77 -43
- package/lib/assets/styles/treeview.scss +32 -0
- package/lib/avatar/avatar.spec.js +190 -0
- package/lib/avatar/index.js +6 -2
- package/lib/badge/badge.spec.js +127 -0
- package/lib/badge/index.js +3 -5
- package/lib/buttons/DefaultButton.js +7 -1
- package/lib/buttons/buttons.spec.js +504 -0
- package/lib/calendar/calendar.spec.js +171 -0
- package/lib/checkbox/Label.js +37 -0
- package/lib/checkbox/checkbox.spec.js +215 -0
- package/lib/checkbox/index.js +21 -6
- package/lib/dialog/Custom.js +7 -1
- package/lib/dialog/base/index.js +18 -6
- package/lib/dialog/dialog.spec.js +488 -0
- package/lib/dialog/form/index.js +23 -4
- package/lib/drawer/Drawer.js +3 -0
- package/lib/drawer/Drawer.spec.js +258 -0
- package/lib/drawer/Header.js +4 -1
- package/lib/drawer/index.js +4 -1
- package/lib/dropdown/Popup.js +1 -0
- package/lib/dropdown/dropdown.spec.js +168 -0
- package/lib/dropdown/withDropdown.js +10 -4
- package/lib/fieldset/fieldset.spec.js +329 -0
- package/lib/form/Field.js +2 -0
- package/lib/form/FieldNumber.js +10 -2
- package/lib/form/FieldPeriod.js +100 -0
- package/lib/form/form.spec.js +285 -0
- package/lib/form/helpers.js +9 -1
- package/lib/form/index.js +76 -10
- package/lib/form/withFieldHOC.js +2 -0
- package/lib/form/withFormSecurity.js +106 -0
- package/lib/gridlayout/GridRow.js +1 -1
- package/lib/gridlayout/gridLayout.spec.js +169 -0
- package/lib/icons/helper.js +16 -0
- package/lib/icons/icons.spec.js +86 -0
- package/lib/icons/index.js +2 -0
- package/lib/inputs/base/InputTextBase.js +15 -5
- package/lib/inputs/base/base.spec.js +690 -0
- package/lib/inputs/color/color_input.spec.js +174 -0
- package/lib/inputs/color/index.js +2 -2
- package/lib/inputs/date/date.spec.js +344 -0
- package/lib/inputs/date/index.js +7 -6
- package/lib/inputs/mask/Cpf.js +9 -9
- package/lib/inputs/mask/input_mask.spec.js +590 -0
- package/lib/inputs/multiSelect/ActionButtons.js +68 -0
- package/lib/inputs/multiSelect/Dropdown.js +200 -0
- package/lib/inputs/multiSelect/helper.js +18 -0
- package/lib/inputs/multiSelect/index.js +343 -0
- package/lib/inputs/number/BaseNumber.js +1 -1
- package/lib/inputs/number/index.js +7 -5
- package/lib/inputs/number/numberfield.spec.js +215 -0
- package/lib/inputs/period/Dialog.js +38 -0
- package/lib/inputs/period/Dropdown.js +90 -0
- package/lib/inputs/period/PeriodList.js +79 -0
- package/lib/inputs/period/helper.js +118 -0
- package/lib/inputs/period/index.js +490 -0
- package/lib/inputs/search/search_input.spec.js +209 -0
- package/lib/inputs/select/Dropdown.js +4 -4
- package/lib/inputs/select/index.js +26 -3
- package/lib/inputs/select/multiple/index.js +9 -7
- package/lib/inputs/select/select.spec.js +391 -0
- package/lib/inputs/select/simple/index.js +30 -18
- package/lib/inputs/text/textfield.spec.js +215 -0
- package/lib/inputs/textarea/textarea.spec.js +59 -0
- package/lib/internals/withTooltip.js +83 -82
- package/lib/labelMessages/index.js +3 -2
- package/lib/labelMessages/labelMessages.spec.js +176 -0
- package/lib/labels/label.spec.js +162 -0
- package/lib/list/Item.js +3 -3
- package/lib/list/index.js +21 -10
- package/lib/list/list.spec.js +611 -0
- package/lib/menus/float/MenuItem.js +25 -8
- package/lib/menus/float/float-menu.spec.js +221 -0
- package/lib/menus/sidenav/index.js +7 -3
- package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
- package/lib/menus/sidenav/sidenav.spec.js +312 -0
- package/lib/noPermission/index.js +2 -1
- package/lib/panel/panel.spec.js +216 -0
- package/lib/popover/index.js +2 -1
- package/lib/popover/popover.spec.js +146 -0
- package/lib/progress/Bar.js +40 -9
- package/lib/progress/index.js +12 -4
- package/lib/progress/progress.spec.js +86 -0
- package/lib/radio/radio.spec.js +189 -0
- package/lib/spinner/SpinnerLoading.js +14 -24
- package/lib/spinner/index.js +6 -1
- package/lib/spinner/spinner.spec.js +152 -0
- package/lib/split/Split.js +10 -12
- package/lib/split/split.spec.js +151 -0
- package/lib/table/Header.js +3 -1
- package/lib/table/Row.js +2 -5
- package/lib/table/index.js +1 -4
- package/lib/table/table.spec.js +352 -0
- package/lib/tabs/DropdownItems.js +84 -0
- package/lib/tabs/Menu.js +18 -5
- package/lib/tabs/MenuItems.js +7 -7
- package/lib/tabs/Panel.js +1 -3
- package/lib/tabs/index.js +126 -17
- package/lib/tabs/tabs.spec.js +346 -0
- package/lib/toolbar/index.js +8 -4
- package/lib/toolbar/toolbar.spec.js +394 -0
- package/lib/tooltip/index.js +13 -0
- package/lib/tooltip/tooltip.spec.js +203 -0
- package/lib/treeview/Node.js +288 -18
- package/lib/treeview/index.js +448 -35
- package/lib/treeview/treeview.spec.js +261 -0
- package/package.json +19 -9
- package/.DS_Store +0 -0
|
@@ -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 = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
require("@testing-library/jest-dom/extend-expect");
|
|
10
|
+
|
|
11
|
+
var _ = _interopRequireWildcard(require("."));
|
|
12
|
+
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
18
|
+
|
|
19
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
20
|
+
|
|
21
|
+
var gridLayout = function gridLayout(propsRow, propsCol) {
|
|
22
|
+
return /*#__PURE__*/_react["default"].createElement(_.GridRow, _extends({
|
|
23
|
+
customClass: "mock-gridRow",
|
|
24
|
+
style: {
|
|
25
|
+
backgroundColor: 'red'
|
|
26
|
+
}
|
|
27
|
+
}, propsRow), /*#__PURE__*/_react["default"].createElement(_["default"], _extends({
|
|
28
|
+
customClass: "mock-gridCol",
|
|
29
|
+
style: {
|
|
30
|
+
backgroundColor: 'blue'
|
|
31
|
+
}
|
|
32
|
+
}, propsCol), "Grid Layout"));
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
describe('GridLayout', function () {
|
|
36
|
+
it('should render correctly', function () {
|
|
37
|
+
var _render = (0, _react2.render)(gridLayout()),
|
|
38
|
+
container = _render.container;
|
|
39
|
+
|
|
40
|
+
expect(container.firstChild).toBeTruthy();
|
|
41
|
+
});
|
|
42
|
+
describe('GridRow', function () {
|
|
43
|
+
it('should apply custom class', function () {
|
|
44
|
+
var _render2 = (0, _react2.render)(gridLayout()),
|
|
45
|
+
container = _render2.container;
|
|
46
|
+
|
|
47
|
+
expect(container.querySelector('.row')).toHaveClass('mock-gridRow');
|
|
48
|
+
});
|
|
49
|
+
it('should apply style', function () {
|
|
50
|
+
var _render3 = (0, _react2.render)(gridLayout()),
|
|
51
|
+
container = _render3.container;
|
|
52
|
+
|
|
53
|
+
expect(container.querySelector('.row')).toHaveStyle('background-color: red;');
|
|
54
|
+
});
|
|
55
|
+
it('should apply with trim', function () {
|
|
56
|
+
var _render4 = (0, _react2.render)(gridLayout({
|
|
57
|
+
withTrim: true
|
|
58
|
+
})),
|
|
59
|
+
container = _render4.container;
|
|
60
|
+
|
|
61
|
+
expect(container.querySelector('.row')).toHaveClass('-withtrim');
|
|
62
|
+
});
|
|
63
|
+
it('should apply horizontal align start', function () {
|
|
64
|
+
var _render5 = (0, _react2.render)(gridLayout({
|
|
65
|
+
horizontalAlign: 'start'
|
|
66
|
+
})),
|
|
67
|
+
container = _render5.container;
|
|
68
|
+
|
|
69
|
+
expect(container.querySelector('.row')).toHaveClass('justify-content-start');
|
|
70
|
+
});
|
|
71
|
+
it('should apply horizontal align end', function () {
|
|
72
|
+
var _render6 = (0, _react2.render)(gridLayout({
|
|
73
|
+
horizontalAlign: 'end'
|
|
74
|
+
})),
|
|
75
|
+
container = _render6.container;
|
|
76
|
+
|
|
77
|
+
expect(container.querySelector('.row')).toHaveClass('justify-content-end');
|
|
78
|
+
});
|
|
79
|
+
it('should apply horizontal align center', function () {
|
|
80
|
+
var _render7 = (0, _react2.render)(gridLayout({
|
|
81
|
+
horizontalAlign: 'center'
|
|
82
|
+
})),
|
|
83
|
+
container = _render7.container;
|
|
84
|
+
|
|
85
|
+
expect(container.querySelector('.row')).toHaveClass('justify-content-center');
|
|
86
|
+
});
|
|
87
|
+
it('should apply horizontal align around', function () {
|
|
88
|
+
var _render8 = (0, _react2.render)(gridLayout({
|
|
89
|
+
horizontalAlign: 'around'
|
|
90
|
+
})),
|
|
91
|
+
container = _render8.container;
|
|
92
|
+
|
|
93
|
+
expect(container.querySelector('.row')).toHaveClass('justify-content-around');
|
|
94
|
+
});
|
|
95
|
+
it('should apply horizontal align between', function () {
|
|
96
|
+
var _render9 = (0, _react2.render)(gridLayout({
|
|
97
|
+
horizontalAlign: 'between'
|
|
98
|
+
})),
|
|
99
|
+
container = _render9.container;
|
|
100
|
+
|
|
101
|
+
expect(container.querySelector('.row')).toHaveClass('justify-content-between');
|
|
102
|
+
});
|
|
103
|
+
it('should apply vertical align items-start', function () {
|
|
104
|
+
var _render10 = (0, _react2.render)(gridLayout({
|
|
105
|
+
verticalAlign: 'items-start'
|
|
106
|
+
})),
|
|
107
|
+
container = _render10.container;
|
|
108
|
+
|
|
109
|
+
expect(container.querySelector('.row')).toHaveClass('align-items-start');
|
|
110
|
+
});
|
|
111
|
+
it('should apply vertical align items-center', function () {
|
|
112
|
+
var _render11 = (0, _react2.render)(gridLayout({
|
|
113
|
+
verticalAlign: 'items-center'
|
|
114
|
+
})),
|
|
115
|
+
container = _render11.container;
|
|
116
|
+
|
|
117
|
+
expect(container.querySelector('.row')).toHaveClass('align-items-center');
|
|
118
|
+
});
|
|
119
|
+
it('should apply vertical align items-end', function () {
|
|
120
|
+
var _render12 = (0, _react2.render)(gridLayout({
|
|
121
|
+
verticalAlign: 'items-end'
|
|
122
|
+
})),
|
|
123
|
+
container = _render12.container;
|
|
124
|
+
|
|
125
|
+
expect(container.querySelector('.row')).toHaveClass('align-items-end');
|
|
126
|
+
});
|
|
127
|
+
it('should hide component when visible is false', function () {
|
|
128
|
+
var _render13 = (0, _react2.render)(gridLayout({
|
|
129
|
+
visible: false
|
|
130
|
+
})),
|
|
131
|
+
container = _render13.container;
|
|
132
|
+
|
|
133
|
+
expect(container.querySelector('.row')).not.toBeInTheDocument();
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
describe('GridCol', function () {
|
|
137
|
+
it('should apply custom class', function () {
|
|
138
|
+
var _render14 = (0, _react2.render)(gridLayout()),
|
|
139
|
+
container = _render14.container;
|
|
140
|
+
|
|
141
|
+
expect(container.querySelector('.grid-container')).toHaveClass('mock-gridCol');
|
|
142
|
+
});
|
|
143
|
+
it('should apply style', function () {
|
|
144
|
+
var _render15 = (0, _react2.render)(gridLayout()),
|
|
145
|
+
container = _render15.container;
|
|
146
|
+
|
|
147
|
+
expect(container.querySelector('.grid-container')).toHaveStyle('background-color: blue;');
|
|
148
|
+
});
|
|
149
|
+
it('should apply columns to grid', function () {
|
|
150
|
+
var _render16 = (0, _react2.render)(gridLayout({}, {
|
|
151
|
+
cols: '12 12 12 12'
|
|
152
|
+
})),
|
|
153
|
+
container = _render16.container;
|
|
154
|
+
|
|
155
|
+
expect(container.querySelector('.grid-container')).toHaveClass('col-xs-12');
|
|
156
|
+
expect(container.querySelector('.grid-container')).toHaveClass('col-sm-12');
|
|
157
|
+
expect(container.querySelector('.grid-container')).toHaveClass('col-md-12');
|
|
158
|
+
expect(container.querySelector('.grid-container')).toHaveClass('col-lg-12');
|
|
159
|
+
});
|
|
160
|
+
it('should hide component when visible is false', function () {
|
|
161
|
+
var _render17 = (0, _react2.render)(gridLayout({}, {
|
|
162
|
+
visible: false
|
|
163
|
+
})),
|
|
164
|
+
container = _render17.container;
|
|
165
|
+
|
|
166
|
+
expect(container.querySelector('.grid-container')).not.toBeInTheDocument();
|
|
167
|
+
});
|
|
168
|
+
});
|
|
169
|
+
});
|
package/lib/icons/helper.js
CHANGED
|
@@ -538,6 +538,22 @@ function getIcons() {
|
|
|
538
538
|
minusCircle: {
|
|
539
539
|
viewbox: '0 0 16 16',
|
|
540
540
|
paths: ['M8 0c-4.418 0-8 3.582-8 8s3.582 8 8 8 8-3.582 8-8-3.582-8-8-8zM8 14c-3.314 0-6-2.686-6-6s2.686-6 6-6c3.314 0 6 2.686 6 6s-2.686 6-6 6zM4 7h8v2h-8z']
|
|
541
|
+
},
|
|
542
|
+
zoomIn: {
|
|
543
|
+
viewbox: '0 0 16 16',
|
|
544
|
+
paths: ['M6 3h-1v2h-2v1h2v2h1v-2h2v-1h-2zM9.962 8.716c0.653-0.905 1.038-2.015 1.038-3.216 0-3.038-2.462-5.5-5.5-5.5s-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5c1.201 0 2.312-0.385 3.216-1.038l5.284 6.038 2-2-6.038-5.284zM5.5 9.5c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z']
|
|
545
|
+
},
|
|
546
|
+
zoomOut: {
|
|
547
|
+
viewbox: '0 0 16 16',
|
|
548
|
+
paths: ['M3 5h5v1h-5zM9.962 8.716c0.653-0.905 1.038-2.015 1.038-3.216 0-3.038-2.462-5.5-5.5-5.5s-5.5 2.462-5.5 5.5 2.462 5.5 5.5 5.5c1.201 0 2.312-0.385 3.216-1.038l5.284 6.038 2-2-6.038-5.284zM5.5 9.5c-2.209 0-4-1.791-4-4s1.791-4 4-4 4 1.791 4 4-1.791 4-4 4z']
|
|
549
|
+
},
|
|
550
|
+
flipVertical3: {
|
|
551
|
+
viewbox: '0 0 16 16',
|
|
552
|
+
paths: ['M10.854 1.854c0.143-0.143 0.186-0.358 0.108-0.545s-0.26-0.309-0.462-0.309h-10c-0.202 0-0.385 0.122-0.462 0.309-0.026 0.062-0.038 0.127-0.038 0.191 0 0.13 0.051 0.258 0.146 0.354l5 5c0.195 0.195 0.512 0.195 0.707 0l5-5z', 'M9 8.5c0-0.276 0.224-0.5 0.5-0.5h1c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5h-1c-0.276 0-0.5-0.224-0.5-0.5z', 'M6 8.5c0-0.276 0.224-0.5 0.5-0.5h1c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5h-1c-0.276 0-0.5-0.224-0.5-0.5z', 'M3 8.5c0-0.276 0.224-0.5 0.5-0.5h1c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5h-1c-0.276 0-0.5-0.224-0.5-0.5z', 'M0 8.5c0-0.276 0.224-0.5 0.5-0.5h1c0.276 0 0.5 0.224 0.5 0.5s-0.224 0.5-0.5 0.5h-1c-0.276 0-0.5-0.224-0.5-0.5z', 'M10.962 15.691c0.026-0.062 0.038-0.127 0.038-0.191 0-0.13-0.051-0.258-0.146-0.354l-5-5c-0.195-0.195-0.512-0.195-0.707 0l-5 5c-0.143 0.143-0.186 0.358-0.108 0.545s0.26 0.309 0.462 0.309h10c0.202 0 0.385-0.122 0.462-0.309zM2.009 14.875l3.491-3.491 3.491 3.491h-6.982z', 'M13 12.5c1.257-0.943 2-2.419 2-4 0-1.672-0.831-3.226-2.222-4.158-0.229-0.154-0.54-0.092-0.694 0.137s-0.092 0.54 0.137 0.694c1.113 0.745 1.778 1.989 1.778 3.327 0 1.313-0.64 2.534-1.716 3.284l-1.284-1.284v3.5h3.5l-1.5-1.5z']
|
|
553
|
+
},
|
|
554
|
+
flipVertical4: {
|
|
555
|
+
viewbox: '0 0 16 16',
|
|
556
|
+
paths: ['M0.854 5.146c-0.143-0.143-0.358-0.186-0.545-0.108s-0.309 0.26-0.309 0.462v10c0 0.202 0.122 0.385 0.309 0.462 0.062 0.026 0.127 0.038 0.191 0.038 0.13 0 0.258-0.051 0.354-0.146l5-5c0.195-0.195 0.195-0.512 0-0.707l-5-5z', 'M7.5 7c-0.276 0-0.5-0.224-0.5-0.5v-1c0-0.276 0.224-0.5 0.5-0.5s0.5 0.224 0.5 0.5v1c0 0.276-0.224 0.5-0.5 0.5z', 'M7.5 10c-0.276 0-0.5-0.224-0.5-0.5v-1c0-0.276 0.224-0.5 0.5-0.5s0.5 0.224 0.5 0.5v1c0 0.276-0.224 0.5-0.5 0.5z', 'M7.5 13c-0.276 0-0.5-0.224-0.5-0.5v-1c0-0.276 0.224-0.5 0.5-0.5s0.5 0.224 0.5 0.5v1c0 0.276-0.224 0.5-0.5 0.5z', 'M7.5 16c-0.276 0-0.5-0.224-0.5-0.5v-1c0-0.276 0.224-0.5 0.5-0.5s0.5 0.224 0.5 0.5v1c0 0.276-0.224 0.5-0.5 0.5z', 'M14.691 5.038c-0.062-0.026-0.127-0.038-0.191-0.038-0.13 0-0.258 0.051-0.354 0.146l-5 5c-0.195 0.195-0.195 0.512 0 0.707l5 5c0.143 0.143 0.358 0.186 0.545 0.108s0.309-0.26 0.309-0.462v-10c0-0.202-0.122-0.385-0.309-0.462zM13.875 13.991l-3.491-3.491 3.491-3.491v6.982z', 'M11.5 3c-0.943-1.257-2.419-2-4-2-1.672 0-3.226 0.831-4.158 2.222-0.154 0.229-0.092 0.54 0.137 0.694s0.54 0.092 0.694-0.137c0.745-1.113 1.989-1.778 3.327-1.778 1.313 0 2.534 0.64 3.284 1.716l-1.284 1.284h3.5v-3.5l-1.5 1.5z']
|
|
541
557
|
}
|
|
542
558
|
};
|
|
543
559
|
return icons;
|
|
@@ -0,0 +1,86 @@
|
|
|
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
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
12
|
+
|
|
13
|
+
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); }
|
|
14
|
+
|
|
15
|
+
var IconMock = function IconMock(props) {
|
|
16
|
+
return /*#__PURE__*/_react["default"].createElement(_index["default"], _extends({
|
|
17
|
+
name: "user"
|
|
18
|
+
}, props));
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
var mockSvgStruct = {
|
|
22
|
+
viewbox: '0 0 18 18',
|
|
23
|
+
paths: ['M17.064,4.656l-2.05-2.035C14.936,2.544,14.831,2.5,14.721,2.5H3.854c-0.229,0-0.417,0.188-0.417,417v14.167c0,0.229,0.188,0.417,0.417,0.417h12.917c0.229,0,0.416-0.188,0.416-0.417V4.952C17.188,4.84,17.144,4.733,17.064,4.656M6.354,3.333h7.917V10H6.354V3.333z M16.354,16.667H4.271V3.333h1.25v7.083c0,0.229,0.188,0.417,0.417,0.417h8.75c0.229,0,0.416-0.188,0.416-0.417V3.886l1.25,1.239V16.667z M13.402,4.688v3.958c0,0.229-0.186,0.417-0.417,0.417c-0.229,0-0.417-0.188-0.417-0.417V4.688c0-0.229,0.188-0.417,0.417-0.417C13.217,4.271,13.402,4.458,13.402,4.688']
|
|
24
|
+
};
|
|
25
|
+
describe('Icons', function () {
|
|
26
|
+
it('should render correctly', function () {
|
|
27
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(IconMock, null)),
|
|
28
|
+
getByTestId = _render.getByTestId;
|
|
29
|
+
|
|
30
|
+
expect(getByTestId('icon')).toBeTruthy();
|
|
31
|
+
});
|
|
32
|
+
it('should change icon size', function () {
|
|
33
|
+
var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(IconMock, {
|
|
34
|
+
size: 64
|
|
35
|
+
})),
|
|
36
|
+
getByTestId = _render2.getByTestId;
|
|
37
|
+
|
|
38
|
+
expect(getByTestId('icon')).toHaveAttribute('width', '64px');
|
|
39
|
+
expect(getByTestId('icon')).toHaveAttribute('height', '64px');
|
|
40
|
+
});
|
|
41
|
+
it('should change icon color', function () {
|
|
42
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(IconMock, {
|
|
43
|
+
color: "red"
|
|
44
|
+
})),
|
|
45
|
+
getByTestId = _render3.getByTestId;
|
|
46
|
+
|
|
47
|
+
expect(getByTestId('icon')).toHaveAttribute('fill', 'red');
|
|
48
|
+
});
|
|
49
|
+
it('should change pointer-events', function () {
|
|
50
|
+
var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(IconMock, {
|
|
51
|
+
pointerEvents: "all"
|
|
52
|
+
})),
|
|
53
|
+
getByTestId = _render4.getByTestId;
|
|
54
|
+
|
|
55
|
+
expect(getByTestId('icon')).toHaveAttribute('pointer-events', 'all');
|
|
56
|
+
});
|
|
57
|
+
it('should fire click on icon', function () {
|
|
58
|
+
var mockOnClick = jest.fn();
|
|
59
|
+
|
|
60
|
+
var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(IconMock, {
|
|
61
|
+
onClick: mockOnClick
|
|
62
|
+
})),
|
|
63
|
+
getByTestId = _render5.getByTestId;
|
|
64
|
+
|
|
65
|
+
_react2.fireEvent.click(getByTestId('icon'));
|
|
66
|
+
|
|
67
|
+
expect(mockOnClick).toHaveBeenCalled();
|
|
68
|
+
});
|
|
69
|
+
it('should hide component when visible is false', function () {
|
|
70
|
+
var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(IconMock, {
|
|
71
|
+
visible: false
|
|
72
|
+
})),
|
|
73
|
+
container = _render6.container;
|
|
74
|
+
|
|
75
|
+
expect(container.firstChild).not.toBeInTheDocument();
|
|
76
|
+
});
|
|
77
|
+
it('should render icon when use svgStruct', function () {
|
|
78
|
+
var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_index["default"], {
|
|
79
|
+
svgStruct: mockSvgStruct
|
|
80
|
+
})),
|
|
81
|
+
getByTestId = _render7.getByTestId;
|
|
82
|
+
|
|
83
|
+
expect(getByTestId('icon')).toHaveAttribute('viewBox', mockSvgStruct.viewbox);
|
|
84
|
+
expect(getByTestId('icon-path')).toHaveAttribute('d', mockSvgStruct.paths[0]);
|
|
85
|
+
});
|
|
86
|
+
});
|
package/lib/icons/index.js
CHANGED
|
@@ -37,6 +37,7 @@ var Icon = function Icon(_ref) {
|
|
|
37
37
|
if (!name && !svgStruct) throw new Error('One of the "name" and "svgStruct" props must be filled');
|
|
38
38
|
if (!visible) return null;
|
|
39
39
|
return /*#__PURE__*/_react["default"].createElement("svg", {
|
|
40
|
+
"data-testid": "icon",
|
|
40
41
|
onClick: function onClick() {
|
|
41
42
|
if (_onClick && !disabled) _onClick();
|
|
42
43
|
},
|
|
@@ -49,6 +50,7 @@ var Icon = function Icon(_ref) {
|
|
|
49
50
|
style: style
|
|
50
51
|
}, getPaths().map(function (p) {
|
|
51
52
|
return /*#__PURE__*/_react["default"].createElement("path", {
|
|
53
|
+
"data-testid": "icon-path",
|
|
52
54
|
d: p,
|
|
53
55
|
key: p
|
|
54
56
|
});
|
|
@@ -17,6 +17,8 @@ require("../../assets/styles/input.scss");
|
|
|
17
17
|
|
|
18
18
|
var helpers = _interopRequireWildcard(require("./helpers"));
|
|
19
19
|
|
|
20
|
+
var _withTooltip = _interopRequireDefault(require("../../internals/withTooltip"));
|
|
21
|
+
|
|
20
22
|
var _permissionValidations = require("../../permissionValidations");
|
|
21
23
|
|
|
22
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -73,7 +75,8 @@ var InputTextBase = function InputTextBase(props) {
|
|
|
73
75
|
visible = props.visible,
|
|
74
76
|
permissionAttr = props.permissionAttr,
|
|
75
77
|
onDeniedActions = props.onDeniedActions,
|
|
76
|
-
handlerSetOnDenied = props.handlerSetOnDenied
|
|
78
|
+
handlerSetOnDenied = props.handlerSetOnDenied,
|
|
79
|
+
targetRef = props.targetRef;
|
|
77
80
|
var options = [_permissionValidations.OPTIONS_ON_DENIED.disabled, _permissionValidations.OPTIONS_ON_DENIED.unvisible, _permissionValidations.OPTIONS_ON_DENIED.readOnly, _permissionValidations.OPTIONS_ON_DENIED.hideContent];
|
|
78
81
|
|
|
79
82
|
var _useState = (0, _react.useState)(onDeniedActions || (0, _permissionValidations.actionsOnPermissionDenied)(permissionAttr, options)),
|
|
@@ -107,7 +110,10 @@ var InputTextBase = function InputTextBase(props) {
|
|
|
107
110
|
name: name,
|
|
108
111
|
id: id,
|
|
109
112
|
className: helpers.getInputClass(props),
|
|
110
|
-
ref:
|
|
113
|
+
ref: function ref(r) {
|
|
114
|
+
if (inputRef) inputRef.current = r;
|
|
115
|
+
if (targetRef) targetRef(r);
|
|
116
|
+
}
|
|
111
117
|
};
|
|
112
118
|
|
|
113
119
|
if (!disableCallbacks) {
|
|
@@ -146,12 +152,14 @@ var InputTextBase = function InputTextBase(props) {
|
|
|
146
152
|
}, label, required && /*#__PURE__*/_react["default"].createElement("span", {
|
|
147
153
|
className: "-requiredlabel"
|
|
148
154
|
}, "*"))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
155
|
+
"data-testid": "testInputWrapper",
|
|
149
156
|
className: helpers.getInputWrapperClass(_extends({}, props, {
|
|
150
157
|
disabled: shouldDisable() || hideContent
|
|
151
158
|
}))
|
|
152
159
|
}, leftElements && /*#__PURE__*/_react["default"].createElement("div", {
|
|
153
160
|
className: "sidebuttons ".concat(customClassForSideButtons)
|
|
154
161
|
}, leftElements), /*#__PURE__*/_react["default"].createElement("div", {
|
|
162
|
+
"data-testid": "testInputContent",
|
|
155
163
|
className: "inputcontent ".concat(customClassForInputContent)
|
|
156
164
|
}, type === 'textarea' ? /*#__PURE__*/_react["default"].createElement("textarea", _extends({
|
|
157
165
|
rows: props.rows,
|
|
@@ -202,7 +210,8 @@ InputTextBase.propTypes = {
|
|
|
202
210
|
visible: _propTypes["default"].bool,
|
|
203
211
|
permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
|
|
204
212
|
onDeniedActions: _propTypes["default"].object,
|
|
205
|
-
handlerSetOnDenied: _propTypes["default"].func
|
|
213
|
+
handlerSetOnDenied: _propTypes["default"].func,
|
|
214
|
+
targetRef: _propTypes["default"].func
|
|
206
215
|
};
|
|
207
216
|
InputTextBase.defaultProps = {
|
|
208
217
|
value: undefined,
|
|
@@ -242,9 +251,10 @@ InputTextBase.defaultProps = {
|
|
|
242
251
|
visible: true,
|
|
243
252
|
permissionAttr: undefined,
|
|
244
253
|
onDeniedActions: undefined,
|
|
245
|
-
handlerSetOnDenied: undefined
|
|
254
|
+
handlerSetOnDenied: undefined,
|
|
255
|
+
targetRef: undefined
|
|
246
256
|
};
|
|
247
257
|
|
|
248
|
-
var _default = (0, _inputHOC["default"])(InputTextBase);
|
|
258
|
+
var _default = (0, _inputHOC["default"])((0, _withTooltip["default"])(InputTextBase));
|
|
249
259
|
|
|
250
260
|
exports["default"] = _default;
|