linear-react-components-ui 0.4.75 → 0.4.76-beta.11
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 +33 -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 +28 -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 +79 -44
- 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 +209 -222
- 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 +24 -5
- package/lib/inputs/base/base.spec.js +690 -0
- package/lib/inputs/base/helpers.js +19 -3
- package/lib/inputs/color/color_input.spec.js +174 -0
- package/lib/inputs/color/index.js +2 -2
- package/lib/inputs/date/Dropdown.js +3 -3
- package/lib/inputs/date/date.spec.js +344 -0
- package/lib/inputs/date/helpers.js +36 -0
- package/lib/inputs/date/index.js +11 -9
- 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 +86 -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 +151 -20
- package/lib/tabs/tabs.spec.js +349 -0
- package/lib/toolbar/index.js +8 -4
- package/lib/toolbar/toolbar.spec.js +394 -0
- package/lib/tooltip/index.js +20 -6
- package/lib/tooltip/tooltip.spec.js +203 -0
- package/lib/treeview/Node.js +347 -48
- package/lib/treeview/index.js +456 -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
|
});
|
|
@@ -11,12 +11,16 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
|
|
12
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
13
|
|
|
14
|
+
var _lodash = _interopRequireDefault(require("lodash"));
|
|
15
|
+
|
|
14
16
|
var _inputHOC = _interopRequireDefault(require("../inputHOC"));
|
|
15
17
|
|
|
16
18
|
require("../../assets/styles/input.scss");
|
|
17
19
|
|
|
18
20
|
var helpers = _interopRequireWildcard(require("./helpers"));
|
|
19
21
|
|
|
22
|
+
var _withTooltip = _interopRequireDefault(require("../../internals/withTooltip"));
|
|
23
|
+
|
|
20
24
|
var _permissionValidations = require("../../permissionValidations");
|
|
21
25
|
|
|
22
26
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
@@ -73,7 +77,8 @@ var InputTextBase = function InputTextBase(props) {
|
|
|
73
77
|
visible = props.visible,
|
|
74
78
|
permissionAttr = props.permissionAttr,
|
|
75
79
|
onDeniedActions = props.onDeniedActions,
|
|
76
|
-
handlerSetOnDenied = props.handlerSetOnDenied
|
|
80
|
+
handlerSetOnDenied = props.handlerSetOnDenied,
|
|
81
|
+
targetRef = props.targetRef;
|
|
77
82
|
var options = [_permissionValidations.OPTIONS_ON_DENIED.disabled, _permissionValidations.OPTIONS_ON_DENIED.unvisible, _permissionValidations.OPTIONS_ON_DENIED.readOnly, _permissionValidations.OPTIONS_ON_DENIED.hideContent];
|
|
78
83
|
|
|
79
84
|
var _useState = (0, _react.useState)(onDeniedActions || (0, _permissionValidations.actionsOnPermissionDenied)(permissionAttr, options)),
|
|
@@ -107,7 +112,17 @@ var InputTextBase = function InputTextBase(props) {
|
|
|
107
112
|
name: name,
|
|
108
113
|
id: id,
|
|
109
114
|
className: helpers.getInputClass(props),
|
|
110
|
-
ref:
|
|
115
|
+
ref: function ref(r) {
|
|
116
|
+
if (inputRef) {
|
|
117
|
+
if (!_lodash["default"].isFunction(inputRef)) {
|
|
118
|
+
inputRef.current = r;
|
|
119
|
+
} else {
|
|
120
|
+
inputRef(r);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
if (targetRef) targetRef(r);
|
|
125
|
+
}
|
|
111
126
|
};
|
|
112
127
|
|
|
113
128
|
if (!disableCallbacks) {
|
|
@@ -146,12 +161,14 @@ var InputTextBase = function InputTextBase(props) {
|
|
|
146
161
|
}, label, required && /*#__PURE__*/_react["default"].createElement("span", {
|
|
147
162
|
className: "-requiredlabel"
|
|
148
163
|
}, "*"))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
164
|
+
"data-testid": "testInputWrapper",
|
|
149
165
|
className: helpers.getInputWrapperClass(_extends({}, props, {
|
|
150
166
|
disabled: shouldDisable() || hideContent
|
|
151
167
|
}))
|
|
152
168
|
}, leftElements && /*#__PURE__*/_react["default"].createElement("div", {
|
|
153
169
|
className: "sidebuttons ".concat(customClassForSideButtons)
|
|
154
170
|
}, leftElements), /*#__PURE__*/_react["default"].createElement("div", {
|
|
171
|
+
"data-testid": "testInputContent",
|
|
155
172
|
className: "inputcontent ".concat(customClassForInputContent)
|
|
156
173
|
}, type === 'textarea' ? /*#__PURE__*/_react["default"].createElement("textarea", _extends({
|
|
157
174
|
rows: props.rows,
|
|
@@ -202,7 +219,8 @@ InputTextBase.propTypes = {
|
|
|
202
219
|
visible: _propTypes["default"].bool,
|
|
203
220
|
permissionAttr: _propTypes["default"].oneOfType([_propTypes["default"].object, _propTypes["default"].arrayOf(_propTypes["default"].object)]),
|
|
204
221
|
onDeniedActions: _propTypes["default"].object,
|
|
205
|
-
handlerSetOnDenied: _propTypes["default"].func
|
|
222
|
+
handlerSetOnDenied: _propTypes["default"].func,
|
|
223
|
+
targetRef: _propTypes["default"].func
|
|
206
224
|
};
|
|
207
225
|
InputTextBase.defaultProps = {
|
|
208
226
|
value: undefined,
|
|
@@ -242,9 +260,10 @@ InputTextBase.defaultProps = {
|
|
|
242
260
|
visible: true,
|
|
243
261
|
permissionAttr: undefined,
|
|
244
262
|
onDeniedActions: undefined,
|
|
245
|
-
handlerSetOnDenied: undefined
|
|
263
|
+
handlerSetOnDenied: undefined,
|
|
264
|
+
targetRef: undefined
|
|
246
265
|
};
|
|
247
266
|
|
|
248
|
-
var _default = (0, _inputHOC["default"])(InputTextBase);
|
|
267
|
+
var _default = (0, _inputHOC["default"])((0, _withTooltip["default"])(InputTextBase));
|
|
249
268
|
|
|
250
269
|
exports["default"] = _default;
|