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.
Files changed (131) hide show
  1. package/.eslintrc.js +2 -5
  2. package/.tool-versions +1 -0
  3. package/.vscode/settings.json +8 -9
  4. package/README.md +33 -0
  5. package/config/jest/cssTransform.js +14 -0
  6. package/config/jest/fileTransform.js +12 -0
  7. package/config/jest/storageMock.js +40 -0
  8. package/jest.config.js +18 -0
  9. package/lib/alerts/alert.spec.js +133 -0
  10. package/lib/assets/styles/dropdown.scss +28 -2
  11. package/lib/assets/styles/effects.scss +12 -0
  12. package/lib/assets/styles/floatMenu.scss +0 -1
  13. package/lib/assets/styles/multiSelect.scss +105 -0
  14. package/lib/assets/styles/panel.scss +0 -1
  15. package/lib/assets/styles/periodpicker.scss +65 -0
  16. package/lib/assets/styles/popover.scss +9 -11
  17. package/lib/assets/styles/progress.scss +8 -1
  18. package/lib/assets/styles/select.scss +1 -0
  19. package/lib/assets/styles/table.scss +13 -5
  20. package/lib/assets/styles/tabs.scss +79 -44
  21. package/lib/assets/styles/treeview.scss +32 -0
  22. package/lib/avatar/avatar.spec.js +190 -0
  23. package/lib/avatar/index.js +6 -2
  24. package/lib/badge/badge.spec.js +127 -0
  25. package/lib/badge/index.js +3 -5
  26. package/lib/buttons/DefaultButton.js +7 -1
  27. package/lib/buttons/buttons.spec.js +504 -0
  28. package/lib/calendar/calendar.spec.js +171 -0
  29. package/lib/checkbox/Label.js +37 -0
  30. package/lib/checkbox/checkbox.spec.js +215 -0
  31. package/lib/checkbox/index.js +21 -6
  32. package/lib/dialog/Custom.js +7 -1
  33. package/lib/dialog/base/index.js +18 -6
  34. package/lib/dialog/dialog.spec.js +488 -0
  35. package/lib/dialog/form/index.js +23 -4
  36. package/lib/drawer/Drawer.js +3 -0
  37. package/lib/drawer/Drawer.spec.js +258 -0
  38. package/lib/drawer/Header.js +4 -1
  39. package/lib/drawer/index.js +4 -1
  40. package/lib/dropdown/Popup.js +1 -0
  41. package/lib/dropdown/dropdown.spec.js +168 -0
  42. package/lib/dropdown/withDropdown.js +10 -4
  43. package/lib/fieldset/fieldset.spec.js +329 -0
  44. package/lib/form/Field.js +2 -0
  45. package/lib/form/FieldNumber.js +10 -2
  46. package/lib/form/FieldPeriod.js +100 -0
  47. package/lib/form/form.spec.js +285 -0
  48. package/lib/form/helpers.js +9 -1
  49. package/lib/form/index.js +209 -222
  50. package/lib/form/withFieldHOC.js +2 -0
  51. package/lib/form/withFormSecurity.js +106 -0
  52. package/lib/gridlayout/GridRow.js +1 -1
  53. package/lib/gridlayout/gridLayout.spec.js +169 -0
  54. package/lib/icons/helper.js +16 -0
  55. package/lib/icons/icons.spec.js +86 -0
  56. package/lib/icons/index.js +2 -0
  57. package/lib/inputs/base/InputTextBase.js +24 -5
  58. package/lib/inputs/base/base.spec.js +690 -0
  59. package/lib/inputs/base/helpers.js +19 -3
  60. package/lib/inputs/color/color_input.spec.js +174 -0
  61. package/lib/inputs/color/index.js +2 -2
  62. package/lib/inputs/date/Dropdown.js +3 -3
  63. package/lib/inputs/date/date.spec.js +344 -0
  64. package/lib/inputs/date/helpers.js +36 -0
  65. package/lib/inputs/date/index.js +11 -9
  66. package/lib/inputs/mask/Cpf.js +9 -9
  67. package/lib/inputs/mask/input_mask.spec.js +590 -0
  68. package/lib/inputs/multiSelect/ActionButtons.js +68 -0
  69. package/lib/inputs/multiSelect/Dropdown.js +200 -0
  70. package/lib/inputs/multiSelect/helper.js +18 -0
  71. package/lib/inputs/multiSelect/index.js +343 -0
  72. package/lib/inputs/number/BaseNumber.js +1 -1
  73. package/lib/inputs/number/index.js +7 -5
  74. package/lib/inputs/number/numberfield.spec.js +215 -0
  75. package/lib/inputs/period/Dialog.js +38 -0
  76. package/lib/inputs/period/Dropdown.js +90 -0
  77. package/lib/inputs/period/PeriodList.js +79 -0
  78. package/lib/inputs/period/helper.js +118 -0
  79. package/lib/inputs/period/index.js +490 -0
  80. package/lib/inputs/search/search_input.spec.js +209 -0
  81. package/lib/inputs/select/Dropdown.js +4 -4
  82. package/lib/inputs/select/index.js +26 -3
  83. package/lib/inputs/select/multiple/index.js +9 -7
  84. package/lib/inputs/select/select.spec.js +391 -0
  85. package/lib/inputs/select/simple/index.js +30 -18
  86. package/lib/inputs/text/textfield.spec.js +215 -0
  87. package/lib/inputs/textarea/textarea.spec.js +59 -0
  88. package/lib/internals/withTooltip.js +86 -82
  89. package/lib/labelMessages/index.js +3 -2
  90. package/lib/labelMessages/labelMessages.spec.js +176 -0
  91. package/lib/labels/label.spec.js +162 -0
  92. package/lib/list/Item.js +3 -3
  93. package/lib/list/index.js +21 -10
  94. package/lib/list/list.spec.js +611 -0
  95. package/lib/menus/float/MenuItem.js +25 -8
  96. package/lib/menus/float/float-menu.spec.js +221 -0
  97. package/lib/menus/sidenav/index.js +7 -3
  98. package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
  99. package/lib/menus/sidenav/sidenav.spec.js +312 -0
  100. package/lib/noPermission/index.js +2 -1
  101. package/lib/panel/panel.spec.js +216 -0
  102. package/lib/popover/index.js +2 -1
  103. package/lib/popover/popover.spec.js +146 -0
  104. package/lib/progress/Bar.js +40 -9
  105. package/lib/progress/index.js +12 -4
  106. package/lib/progress/progress.spec.js +86 -0
  107. package/lib/radio/radio.spec.js +189 -0
  108. package/lib/spinner/SpinnerLoading.js +14 -24
  109. package/lib/spinner/index.js +6 -1
  110. package/lib/spinner/spinner.spec.js +152 -0
  111. package/lib/split/Split.js +10 -12
  112. package/lib/split/split.spec.js +151 -0
  113. package/lib/table/Header.js +3 -1
  114. package/lib/table/Row.js +2 -5
  115. package/lib/table/index.js +1 -4
  116. package/lib/table/table.spec.js +352 -0
  117. package/lib/tabs/DropdownItems.js +84 -0
  118. package/lib/tabs/Menu.js +18 -5
  119. package/lib/tabs/MenuItems.js +7 -7
  120. package/lib/tabs/Panel.js +1 -3
  121. package/lib/tabs/index.js +151 -20
  122. package/lib/tabs/tabs.spec.js +349 -0
  123. package/lib/toolbar/index.js +8 -4
  124. package/lib/toolbar/toolbar.spec.js +394 -0
  125. package/lib/tooltip/index.js +20 -6
  126. package/lib/tooltip/tooltip.spec.js +203 -0
  127. package/lib/treeview/Node.js +347 -48
  128. package/lib/treeview/index.js +456 -35
  129. package/lib/treeview/treeview.spec.js +261 -0
  130. package/package.json +19 -9
  131. 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
+ });
@@ -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
+ });
@@ -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: inputRef
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;