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.
Files changed (281) hide show
  1. package/.eslintrc.json +1 -0
  2. package/.vscode/settings.json +1 -1
  3. package/README.md +19 -12
  4. package/lib/@types/Align.d.ts +2 -1
  5. package/lib/alerts/AlertContainer.d.ts +2 -0
  6. package/lib/alerts/AlertProvider.d.ts +2 -0
  7. package/lib/alerts/BaseAlert.d.ts +2 -0
  8. package/lib/alerts/Message.d.ts +2 -0
  9. package/lib/alerts/Message.js +1 -1
  10. package/lib/alerts/alert.spec.js +133 -0
  11. package/lib/alerts/helpers.d.ts +2 -0
  12. package/lib/alerts/index.d.ts +2 -0
  13. package/lib/alerts/types.d.ts +3 -1
  14. package/lib/alerts/withAlert.d.ts +2 -0
  15. package/lib/assets/styles/dialog.scss +9 -6
  16. package/lib/assets/styles/drawers.scss +9 -0
  17. package/lib/assets/styles/effects.scss +2 -2
  18. package/lib/assets/styles/radio.scss +52 -8
  19. package/lib/assets/styles/table.scss +30 -0
  20. package/lib/assets/styles/tooltip.scss +42 -2
  21. package/lib/avatar/avatar.spec.js +190 -0
  22. package/lib/badge/badge.spec.js +127 -0
  23. package/lib/buttons/ActivateButton.d.ts +2 -0
  24. package/lib/buttons/AddButton.d.ts +2 -0
  25. package/lib/buttons/Button.d.ts +2 -0
  26. package/lib/buttons/CancelButton.d.ts +2 -0
  27. package/lib/buttons/DangerButton.d.ts +2 -0
  28. package/lib/buttons/DefaultButton.d.ts +2 -0
  29. package/lib/buttons/DefaultButton.js +14 -4
  30. package/lib/buttons/DestroyButton.d.ts +2 -0
  31. package/lib/buttons/EditButton.d.ts +2 -0
  32. package/lib/buttons/InactivateButton.d.ts +2 -0
  33. package/lib/buttons/InfoButton.d.ts +2 -0
  34. package/lib/buttons/PrimaryButton.d.ts +2 -0
  35. package/lib/buttons/RestoreButton.d.ts +2 -0
  36. package/lib/buttons/SaveButton.d.ts +2 -0
  37. package/lib/buttons/SpinnerLoading.js +230 -0
  38. package/lib/buttons/SuccessButton.d.ts +2 -0
  39. package/lib/buttons/WarningButton.d.ts +2 -0
  40. package/lib/buttons/buttons.spec.js +504 -0
  41. package/lib/buttons/index.d.ts +2 -0
  42. package/lib/buttons/split_button/index.d.ts +2 -0
  43. package/lib/buttons/types.d.ts +6 -2
  44. package/lib/calendar/calendar.spec.js +171 -0
  45. package/lib/checkbox/checkbox.spec.js +215 -0
  46. package/lib/dialog/Alert.d.ts +3 -0
  47. package/lib/dialog/Custom.d.ts +3 -0
  48. package/lib/dialog/Custom.js +1 -1
  49. package/lib/dialog/Error.d.ts +3 -0
  50. package/lib/dialog/Information.d.ts +3 -0
  51. package/lib/dialog/Question.d.ts +3 -0
  52. package/lib/dialog/Warning.d.ts +3 -0
  53. package/lib/dialog/base/Content.d.ts +3 -0
  54. package/lib/dialog/base/Footer.d.ts +3 -0
  55. package/lib/dialog/base/Header.d.ts +3 -0
  56. package/lib/dialog/base/Header.js +12 -1
  57. package/lib/dialog/base/index.d.ts +3 -0
  58. package/lib/dialog/base/index.js +78 -16
  59. package/lib/dialog/dialog.spec.js +488 -0
  60. package/lib/dialog/form/index.d.ts +7 -3
  61. package/lib/dialog/form/index.js +11 -4
  62. package/lib/dialog/index.d.ts +3 -0
  63. package/lib/dialog/types.d.ts +10 -4
  64. package/lib/drawer/Content.d.ts +2 -0
  65. package/lib/drawer/Drawer.d.ts +3 -1
  66. package/lib/drawer/Drawer.js +22 -2
  67. package/lib/drawer/Drawer.spec.js +258 -0
  68. package/lib/drawer/Header.d.ts +2 -0
  69. package/lib/drawer/helpers.d.ts +2 -0
  70. package/lib/drawer/index.d.ts +2 -0
  71. package/lib/drawer/types.d.ts +4 -1
  72. package/lib/dropdown/Popup.js +5 -0
  73. package/lib/dropdown/dropdown.spec.js +169 -0
  74. package/lib/fieldset/fieldset.spec.js +329 -0
  75. package/lib/form/Field.d.ts +2 -1
  76. package/lib/form/Field.js +33 -24
  77. package/lib/form/FieldArray.d.ts +1 -0
  78. package/lib/form/FieldArray.js +41 -4
  79. package/lib/form/FieldNumber.d.ts +1 -0
  80. package/lib/form/FieldNumber.js +24 -5
  81. package/lib/form/FieldPeriod.d.ts +1 -0
  82. package/lib/form/FieldPeriod.js +16 -2
  83. package/lib/form/form.spec.js +293 -0
  84. package/lib/form/helpers.d.ts +2 -1
  85. package/lib/form/helpers.js +2 -2
  86. package/lib/form/index.d.ts +4 -2
  87. package/lib/form/index.js +72 -35
  88. package/lib/form/types.d.ts +25 -6
  89. package/lib/form/withFieldHOC.d.ts +1 -0
  90. package/lib/form/withFieldHOC.js +1 -0
  91. package/lib/form/withFormSecurity.d.ts +1 -0
  92. package/lib/form/withFormSecurity.js +2 -1
  93. package/lib/gridlayout/gridLayout.spec.js +169 -0
  94. package/lib/icons/helper.d.ts +4 -0
  95. package/lib/icons/helper.js +4 -0
  96. package/lib/icons/icons.spec.js +86 -0
  97. package/lib/icons/index.d.ts +2 -0
  98. package/lib/icons/types.d.ts +3 -1
  99. package/lib/index.d.ts +4 -1
  100. package/lib/inputs/base/InputTextBase.d.ts +1 -0
  101. package/lib/inputs/base/InputTextBase.js +10 -2
  102. package/lib/inputs/base/base.spec.js +690 -0
  103. package/lib/inputs/base/helpers.d.ts +2 -1
  104. package/lib/inputs/base/index.js +1 -0
  105. package/lib/inputs/base/types.d.ts +2 -1
  106. package/lib/inputs/color/color_input.spec.js +174 -0
  107. package/lib/inputs/date/Dialog.d.ts +1 -0
  108. package/lib/inputs/date/Dropdown.d.ts +1 -0
  109. package/lib/inputs/date/date.spec.js +354 -0
  110. package/lib/inputs/date/helpers.d.ts +2 -1
  111. package/lib/inputs/date/helpers.js +3 -2
  112. package/lib/inputs/date/index.d.ts +1 -0
  113. package/lib/inputs/date/index.js +24 -9
  114. package/lib/inputs/date/types.d.ts +3 -1
  115. package/lib/inputs/file/DefaultFile.d.ts +1 -0
  116. package/lib/inputs/file/DragDropFile.d.ts +1 -0
  117. package/lib/inputs/file/File.d.ts +1 -0
  118. package/lib/inputs/file/FileButtonSettings.d.ts +1 -0
  119. package/lib/inputs/file/helpers.d.ts +1 -0
  120. package/lib/inputs/file/index.d.ts +1 -0
  121. package/lib/inputs/file/types.d.ts +1 -0
  122. package/lib/inputs/inputHOC.d.ts +3 -0
  123. package/lib/inputs/mask/BaseMask.d.ts +1 -0
  124. package/lib/inputs/mask/BaseMask.js +20 -5
  125. package/lib/inputs/mask/Cnpj.d.ts +1 -0
  126. package/lib/inputs/mask/Cpf.d.ts +1 -0
  127. package/lib/inputs/mask/Cpf.js +4 -4
  128. package/lib/inputs/mask/Phone.d.ts +1 -0
  129. package/lib/inputs/mask/ZipCode.d.ts +1 -0
  130. package/lib/inputs/mask/helpers.d.ts +3 -0
  131. package/lib/inputs/mask/helpers.js +1 -1
  132. package/lib/inputs/mask/imaskHOC.d.ts +3 -0
  133. package/lib/inputs/mask/imaskHOC.js +16 -12
  134. package/lib/inputs/mask/index.d.ts +1 -0
  135. package/lib/inputs/mask/input_mask.spec.js +607 -0
  136. package/lib/inputs/mask/types.d.ts +2 -1
  137. package/lib/inputs/multiSelect/ActionButtons.d.ts +2 -1
  138. package/lib/inputs/multiSelect/ActionButtons.js +4 -1
  139. package/lib/inputs/multiSelect/Dropdown.d.ts +1 -0
  140. package/lib/inputs/multiSelect/Dropdown.js +4 -4
  141. package/lib/inputs/multiSelect/helper.d.ts +8 -6
  142. package/lib/inputs/multiSelect/helper.js +5 -1
  143. package/lib/inputs/multiSelect/index.d.ts +1 -0
  144. package/lib/inputs/multiSelect/index.js +15 -11
  145. package/lib/inputs/multiSelect/types.d.ts +16 -6
  146. package/lib/inputs/number/BaseNumber.d.ts +3 -0
  147. package/lib/inputs/number/BaseNumber.js +1 -2
  148. package/lib/inputs/number/Currency.d.ts +3 -0
  149. package/lib/inputs/number/Decimal.d.ts +3 -0
  150. package/lib/inputs/number/format_number.d.ts +2 -1
  151. package/lib/inputs/number/format_number.js +8 -3
  152. package/lib/inputs/number/index.d.ts +3 -0
  153. package/lib/inputs/number/numberfield.spec.js +215 -0
  154. package/lib/inputs/number/types.d.ts +3 -1
  155. package/lib/inputs/period/Dialog.d.ts +1 -0
  156. package/lib/inputs/period/Dropdown.d.ts +1 -0
  157. package/lib/inputs/period/PeriodList.d.ts +1 -0
  158. package/lib/inputs/period/helper.d.ts +1 -0
  159. package/lib/inputs/period/index.d.ts +1 -0
  160. package/lib/inputs/period/index.js +8 -9
  161. package/lib/inputs/period/types.d.ts +3 -2
  162. package/lib/inputs/search/index.d.ts +3 -0
  163. package/lib/inputs/search/search_input.spec.js +209 -0
  164. package/lib/inputs/select/ActionButtons.d.ts +3 -0
  165. package/lib/inputs/select/Dropdown.d.ts +3 -0
  166. package/lib/inputs/select/Dropdown.js +1 -1
  167. package/lib/inputs/select/helper.d.ts +7 -9
  168. package/lib/inputs/select/helper.js +11 -2
  169. package/lib/inputs/select/index.d.ts +1 -0
  170. package/lib/inputs/select/index.js +6 -5
  171. package/lib/inputs/select/multiple/Selecteds.d.ts +1 -0
  172. package/lib/inputs/select/multiple/Selecteds.js +1 -1
  173. package/lib/inputs/select/multiple/index.d.ts +1 -0
  174. package/lib/inputs/select/multiple/index.js +13 -10
  175. package/lib/inputs/select/select.spec.js +395 -0
  176. package/lib/inputs/select/simple/index.d.ts +1 -0
  177. package/lib/inputs/select/simple/index.js +35 -18
  178. package/lib/inputs/select/types.d.ts +22 -7
  179. package/lib/inputs/text/index.d.ts +1 -0
  180. package/lib/inputs/text/textfield.spec.js +215 -0
  181. package/lib/inputs/text/types.d.ts +1 -1
  182. package/lib/inputs/textarea/index.d.ts +1 -0
  183. package/lib/inputs/textarea/index.js +1 -1
  184. package/lib/inputs/textarea/textarea.spec.js +59 -0
  185. package/lib/inputs/textarea/types.d.ts +1 -0
  186. package/lib/inputs/types.d.ts +7 -3
  187. package/lib/internals/types.d.ts +1 -0
  188. package/lib/internals/withTooltip.js +13 -6
  189. package/lib/labelMessages/index.d.ts +2 -0
  190. package/lib/labelMessages/index.js +3 -4
  191. package/lib/labelMessages/labelMessages.spec.js +176 -0
  192. package/lib/labelMessages/types.d.ts +3 -1
  193. package/lib/labels/DangerLabel.d.ts +2 -0
  194. package/lib/labels/DefaultLabel.d.ts +2 -0
  195. package/lib/labels/InfoLabel.d.ts +2 -0
  196. package/lib/labels/PrimaryLabel.d.ts +2 -0
  197. package/lib/labels/SuccessLabel.d.ts +2 -0
  198. package/lib/labels/WarningLabel.d.ts +2 -0
  199. package/lib/labels/index.d.ts +2 -0
  200. package/lib/labels/label.spec.js +162 -0
  201. package/lib/labels/types.d.ts +3 -1
  202. package/lib/list/Header.d.ts +2 -0
  203. package/lib/list/Item.d.ts +2 -0
  204. package/lib/list/helpers.d.ts +2 -0
  205. package/lib/list/index.d.ts +2 -0
  206. package/lib/list/list.spec.js +769 -0
  207. package/lib/list/types.d.ts +4 -2
  208. package/lib/menus/float/MenuItem.d.ts +2 -0
  209. package/lib/menus/float/float-menu.spec.js +221 -0
  210. package/lib/menus/float/helpers.d.ts +2 -0
  211. package/lib/menus/float/index.d.ts +2 -0
  212. package/lib/menus/float/types.d.ts +3 -1
  213. package/lib/menus/index.d.ts +2 -0
  214. package/lib/menus/sidenav/ExpandMenu.d.ts +2 -0
  215. package/lib/menus/sidenav/MenuLink.d.ts +2 -0
  216. package/lib/menus/sidenav/NavMenuGroup.d.ts +2 -0
  217. package/lib/menus/sidenav/NavMenuItem.d.ts +2 -0
  218. package/lib/menus/sidenav/NavSubMenuItem.d.ts +2 -0
  219. package/lib/menus/sidenav/helpers.d.ts +2 -0
  220. package/lib/menus/sidenav/index.d.ts +2 -0
  221. package/lib/menus/sidenav/popup_menu_search/EmptyList.d.ts +2 -0
  222. package/lib/menus/sidenav/popup_menu_search/index.d.ts +2 -0
  223. package/lib/menus/sidenav/sidenav.spec.js +379 -0
  224. package/lib/menus/sidenav/types.d.ts +4 -2
  225. package/lib/panel/Content.d.ts +3 -1
  226. package/lib/panel/DangerPanel.d.ts +3 -1
  227. package/lib/panel/Default.d.ts +3 -1
  228. package/lib/panel/Header.d.ts +3 -1
  229. package/lib/panel/Header.js +3 -4
  230. package/lib/panel/InfoPanel.d.ts +3 -1
  231. package/lib/panel/PrimaryPanel.d.ts +3 -1
  232. package/lib/panel/SuccessPanel.d.ts +3 -1
  233. package/lib/panel/ToolBar.d.ts +3 -1
  234. package/lib/panel/WarningPanel.d.ts +3 -1
  235. package/lib/panel/helpers.d.ts +3 -1
  236. package/lib/panel/index.d.ts +3 -1
  237. package/lib/panel/panel.spec.js +216 -0
  238. package/lib/panel/types.d.ts +3 -1
  239. package/lib/popover/PopoverText.d.ts +2 -0
  240. package/lib/popover/PopoverTitle.d.ts +2 -0
  241. package/lib/popover/index.d.ts +2 -0
  242. package/lib/popover/index.js +1 -2
  243. package/lib/popover/popover.spec.js +146 -0
  244. package/lib/popover/types.d.ts +3 -1
  245. package/lib/progress/progress.spec.js +94 -0
  246. package/lib/radio/index.d.ts +2 -1
  247. package/lib/radio/index.js +5 -1
  248. package/lib/radio/radio.spec.js +189 -0
  249. package/lib/radio/types.d.ts +4 -1
  250. package/lib/spinner/spinner.spec.js +152 -0
  251. package/lib/split/split.spec.js +163 -0
  252. package/lib/table/Body.js +9 -12
  253. package/lib/table/Header.js +19 -16
  254. package/lib/table/Row.js +20 -3
  255. package/lib/table/index.js +1 -0
  256. package/lib/table/table.spec.js +352 -0
  257. package/lib/table/types.d.ts +7 -0
  258. package/lib/tabs/DropdownItems.d.ts +2 -0
  259. package/lib/tabs/Menu.d.ts +2 -0
  260. package/lib/tabs/MenuItems.d.ts +2 -0
  261. package/lib/tabs/Panel.d.ts +2 -0
  262. package/lib/tabs/index.d.ts +2 -0
  263. package/lib/tabs/tabHelpers.d.ts +2 -0
  264. package/lib/tabs/tabs.spec.js +321 -0
  265. package/lib/tabs/types.d.ts +3 -1
  266. package/lib/toolbar/ButtonBar.d.ts +2 -0
  267. package/lib/toolbar/LabelBar.d.ts +2 -0
  268. package/lib/toolbar/ToolBarGroup.d.ts +2 -0
  269. package/lib/toolbar/helpers.d.ts +2 -0
  270. package/lib/toolbar/index.d.ts +2 -0
  271. package/lib/toolbar/toolbar.spec.js +394 -0
  272. package/lib/toolbar/types.d.ts +4 -2
  273. package/lib/tooltip/index.d.ts +1 -1
  274. package/lib/tooltip/index.js +5 -1
  275. package/lib/tooltip/tooltip.spec.js +215 -0
  276. package/lib/tooltip/types.d.ts +1 -0
  277. package/lib/treeview/index.js +1 -0
  278. package/lib/treeview/treeview.spec.js +279 -0
  279. package/lib/{types-90c43ae1.d.ts → types-c1e2d0c9.d.ts} +2 -1
  280. package/lib/uitour/uitour.spec.js +176 -0
  281. package/package.json +67 -64
@@ -0,0 +1,279 @@
1
+ "use strict";
2
+
3
+ var _react = require("@testing-library/react");
4
+
5
+ var _react2 = _interopRequireDefault(require("react"));
6
+
7
+ require("@testing-library/jest-dom");
8
+
9
+ require("babel-polyfill");
10
+
11
+ var _ = _interopRequireDefault(require("."));
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
14
+
15
+ 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); } }
16
+
17
+ 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); }); }; }
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 dataMock = {
22
+ id: 1,
23
+ titulo: 'SG Linear',
24
+ codigo: 'SG_Linear',
25
+ permissoes: [{
26
+ codigo: 'ACESSO'
27
+ }, {
28
+ codigo: 'GRAVAR'
29
+ }],
30
+ itens: [{
31
+ id: 2,
32
+ titulo: 'Segurança',
33
+ codigo: 'seguranca',
34
+ permissoes: [{
35
+ codigo: 'ACESSO'
36
+ }, {
37
+ codigo: 'GRAVAR'
38
+ }],
39
+ itens: [{
40
+ id: 4,
41
+ titulo: 'Perfis',
42
+ codigo: 'perfis',
43
+ itens: [{
44
+ titulo: 'Editar',
45
+ codigo: 'Editar',
46
+ itens: [{
47
+ titulo: 'Editar permissão ERP',
48
+ codigo: 'Editar permissão ERP'
49
+ }]
50
+ }]
51
+ }]
52
+ }, {
53
+ id: 3,
54
+ titulo: 'Cadastros',
55
+ codigo: 'cadastros',
56
+ permissoes: [{
57
+ codigo: 'ACESSO'
58
+ }, {
59
+ codigo: 'GRAVAR'
60
+ }],
61
+ itens: [{
62
+ id: 5,
63
+ titulo: 'Empresas',
64
+ codigo: 'empresas'
65
+ }]
66
+ }]
67
+ };
68
+
69
+ var treeviewRenderMock = function treeviewRenderMock(props) {
70
+ return /*#__PURE__*/_react2.default.createElement(_.default, _extends({
71
+ data: dataMock,
72
+ valuePropName: "id",
73
+ labelPropName: "titulo",
74
+ parentPropName: "0"
75
+ }, props));
76
+ };
77
+
78
+ describe('Treeview', function () {
79
+ describe('Default', function () {
80
+ it('should render', function () {
81
+ var _render = (0, _react.render)(treeviewRenderMock()),
82
+ container = _render.container;
83
+
84
+ expect(container.firstChild).toBeTruthy();
85
+ });
86
+ it('should have start node visible', function () {
87
+ var _render2 = (0, _react.render)(treeviewRenderMock()),
88
+ queryByText = _render2.queryByText;
89
+
90
+ expect(queryByText(dataMock.titulo)).toBeTruthy();
91
+ });
92
+ it('should not have second node visible', function () {
93
+ var _render3 = (0, _react.render)(treeviewRenderMock()),
94
+ queryByText = _render3.queryByText;
95
+
96
+ expect(queryByText(dataMock.itens[0].titulo)).not.toBeTruthy();
97
+ });
98
+ it('should open on click', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
99
+ var _render4, container, queryByText;
100
+
101
+ return regeneratorRuntime.wrap(function _callee$(_context) {
102
+ while (1) {
103
+ switch (_context.prev = _context.next) {
104
+ case 0:
105
+ _render4 = (0, _react.render)(treeviewRenderMock()), container = _render4.container, queryByText = _render4.queryByText;
106
+
107
+ _react.fireEvent.click(container.querySelector('.treeviewitem .opencloseicon'));
108
+
109
+ _context.next = 4;
110
+ return (0, _react.waitFor)(function () {
111
+ return queryByText(dataMock.itens[0].titulo);
112
+ });
113
+
114
+ case 4:
115
+ expect(queryByText(dataMock.itens[0].titulo)).toBeTruthy();
116
+ expect(queryByText(dataMock.itens[1].titulo)).toBeTruthy();
117
+
118
+ case 6:
119
+ case "end":
120
+ return _context.stop();
121
+ }
122
+ }
123
+ }, _callee);
124
+ })));
125
+ it('should open all layers', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
126
+ var _render5, container, queryByText;
127
+
128
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
129
+ while (1) {
130
+ switch (_context2.prev = _context2.next) {
131
+ case 0:
132
+ _render5 = (0, _react.render)(treeviewRenderMock()), container = _render5.container, queryByText = _render5.queryByText;
133
+
134
+ _react.fireEvent.click(container.querySelector('.treeviewitem .opencloseicon'));
135
+
136
+ _context2.next = 4;
137
+ return (0, _react.waitFor)(function () {
138
+ return queryByText(dataMock.itens[0].titulo);
139
+ });
140
+
141
+ case 4:
142
+ _react.fireEvent.click(container.querySelectorAll('.treeviewitem .opencloseicon')[1]);
143
+
144
+ _context2.next = 7;
145
+ return (0, _react.waitFor)(function () {
146
+ return queryByText(dataMock.itens[0].itens[0].titulo);
147
+ });
148
+
149
+ case 7:
150
+ _react.fireEvent.click(container.querySelectorAll('.treeviewitem .opencloseicon')[2]);
151
+
152
+ _context2.next = 10;
153
+ return (0, _react.waitFor)(function () {
154
+ return queryByText(dataMock.itens[0].itens[0].itens[0].titulo);
155
+ });
156
+
157
+ case 10:
158
+ _react.fireEvent.click(container.querySelectorAll('.treeviewitem .opencloseicon')[3]);
159
+
160
+ _context2.next = 13;
161
+ return (0, _react.waitFor)(function () {
162
+ return queryByText(dataMock.itens[0].itens[0].itens[0].itens[0].titulo);
163
+ });
164
+
165
+ case 13:
166
+ _react.fireEvent.click(container.querySelectorAll('.treeviewitem .opencloseicon')[4]);
167
+
168
+ _context2.next = 16;
169
+ return (0, _react.waitFor)(function () {
170
+ return queryByText(dataMock.itens[1].itens[0].titulo);
171
+ });
172
+
173
+ case 16:
174
+ expect(queryByText(dataMock.itens[0].titulo)).toBeTruthy();
175
+ expect(queryByText(dataMock.itens[0].itens[0].titulo)).toBeTruthy();
176
+ expect(queryByText(dataMock.itens[0].itens[0].itens[0].titulo)).toBeTruthy();
177
+ expect(queryByText(dataMock.itens[0].itens[0].itens[0].itens[0].titulo)).toBeTruthy();
178
+ expect(queryByText(dataMock.itens[1].titulo)).toBeTruthy();
179
+ expect(queryByText(dataMock.itens[1].itens[0].titulo)).toBeTruthy();
180
+
181
+ case 22:
182
+ case "end":
183
+ return _context2.stop();
184
+ }
185
+ }
186
+ }, _callee2);
187
+ })));
188
+ it('should render checkbox', function () {
189
+ var _render6 = (0, _react.render)(treeviewRenderMock({
190
+ showCheckBox: true
191
+ })),
192
+ container = _render6.container;
193
+
194
+ expect(container.querySelector('.checkbox-component')).toBeTruthy();
195
+ });
196
+ it('should call onSelectedIdsChange callback', function () {
197
+ var mockCallback = jest.fn(function (x) {
198
+ return x;
199
+ });
200
+
201
+ var _render7 = (0, _react.render)(treeviewRenderMock({
202
+ showCheckBox: true,
203
+ onSelectedIdsChange: mockCallback
204
+ })),
205
+ container = _render7.container;
206
+
207
+ _react.fireEvent.click(container.querySelector('.checkbox-component'));
208
+
209
+ expect(mockCallback.mock.calls.length).toBe(1);
210
+ expect(mockCallback.mock.calls[0][0]).toStrictEqual([1]);
211
+ });
212
+ it('should control checkbox by selectedIds', function () {
213
+ var _render8 = (0, _react.render)(treeviewRenderMock({
214
+ showCheckBox: true,
215
+ selectedIds: [1]
216
+ })),
217
+ container = _render8.container;
218
+
219
+ expect(container.querySelector('.checkbox-component input[type=checkbox]')).toBeChecked();
220
+ });
221
+ it('should start checkbox unchecked', function () {
222
+ var _render9 = (0, _react.render)(treeviewRenderMock({
223
+ showCheckBox: true
224
+ })),
225
+ container = _render9.container;
226
+
227
+ expect(container.querySelector('.checkbox-component input[type=checkbox]')).not.toBeChecked();
228
+ });
229
+ it('should start nodes open', function () {
230
+ var _render10 = (0, _react.render)(treeviewRenderMock({
231
+ startNodesOpened: true
232
+ })),
233
+ queryByText = _render10.queryByText;
234
+
235
+ expect(queryByText(dataMock.itens[0].titulo)).toBeTruthy();
236
+ expect(queryByText(dataMock.itens[0].itens[0].titulo)).toBeTruthy();
237
+ expect(queryByText(dataMock.itens[0].itens[0].itens[0].titulo)).toBeTruthy();
238
+ expect(queryByText(dataMock.itens[0].itens[0].itens[0].itens[0].titulo)).toBeTruthy();
239
+ expect(queryByText(dataMock.itens[1].titulo)).toBeTruthy();
240
+ expect(queryByText(dataMock.itens[1].itens[0].titulo)).toBeTruthy();
241
+ });
242
+ it('should apply customClass', function () {
243
+ var _render11 = (0, _react.render)(treeviewRenderMock({
244
+ customClass: 'customClass'
245
+ })),
246
+ container = _render11.container;
247
+
248
+ expect(container.firstChild).toHaveClass('customClass');
249
+ });
250
+ it('should apply style', function () {
251
+ var _render12 = (0, _react.render)(treeviewRenderMock({
252
+ styleForContainer: {
253
+ backgroundColor: '#000'
254
+ }
255
+ })),
256
+ container = _render12.container;
257
+
258
+ expect(container.querySelector('ul')).toHaveStyle('background-color: #000');
259
+ });
260
+ it('should apply idsInLoading', function () {
261
+ var _render13 = (0, _react.render)(treeviewRenderMock({
262
+ idsInLoading: [1]
263
+ })),
264
+ container = _render13.container;
265
+
266
+ var li = container.querySelector('li').firstChild;
267
+ expect(li.firstChild).toHaveClass('spinnerloading');
268
+ });
269
+ it('should apply selectedNodeId', function () {
270
+ var _render14 = (0, _react.render)(treeviewRenderMock({
271
+ selectedNodeId: 1
272
+ })),
273
+ container = _render14.container;
274
+
275
+ var filhosLi = container.querySelector('li').children;
276
+ expect(filhosLi[1]).toHaveStyle('background-color: rgb(209, 209, 209)');
277
+ });
278
+ });
279
+ });
@@ -1,6 +1,7 @@
1
1
  import React__default, { ReactNode, ReactElement } from 'react';
2
2
  import { PermissionAttr } from './@types/PermissionAttr.js';
3
3
  import ColorStyles from './internals/colorStyles.js';
4
+ import { IconNames } from './@types/Icon.js';
4
5
 
5
6
  declare function numberAroundZeroAndOne({ props, propName, componentName }: IParameterFunction): Error | null;
6
7
  declare const PanelContext: React__default.Context<ContextProps>;
@@ -22,7 +23,7 @@ interface IPanelHeaderProps {
22
23
  title?: string;
23
24
  children?: ReactElement;
24
25
  icon?: ReactElement;
25
- titleIcon?: string;
26
+ titleIcon?: IconNames;
26
27
  customClass?: string;
27
28
  style?: object;
28
29
  styleForTitle?: object;
@@ -0,0 +1,176 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _propTypes = _interopRequireDefault(require("prop-types"));
6
+
7
+ require("@testing-library/jest-dom");
8
+
9
+ require("babel-polyfill");
10
+
11
+ var _react2 = require("@testing-library/react");
12
+
13
+ var _ = _interopRequireDefault(require("."));
14
+
15
+ var _helpers = require("./helpers");
16
+
17
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
18
+
19
+ var data = [{
20
+ id: '1',
21
+ targetId: 'uitour-teste',
22
+ title: 'Título',
23
+ description: 'Lorem ipsum dolor sit <strong>amet</strong> consectetur adipisicing elit.'
24
+ }, {
25
+ id: '2',
26
+ targetId: 'uitour-button',
27
+ title: 'Botão',
28
+ description: 'Lorem ipsum, dolor sit adipisicing elit. Repellendus, fuga.'
29
+ }];
30
+ var backButtonLabel = 'Voltar';
31
+ var nextButtonLabel = 'Avançar';
32
+ var finishButtonLabel = 'Finalizar';
33
+
34
+ var UiTourMock = function UiTourMock(_ref) {
35
+ var onFinish = _ref.onFinish,
36
+ visible = _ref.visible,
37
+ showCloseButton = _ref.showCloseButton,
38
+ showBackButton = _ref.showBackButton;
39
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("h1", {
40
+ style: {
41
+ width: 100
42
+ },
43
+ id: "uitour-teste"
44
+ }, "Teste UiTour"), /*#__PURE__*/_react.default.createElement("button", {
45
+ id: "uitour-button"
46
+ }, "Teste button"), /*#__PURE__*/_react.default.createElement(_.default, {
47
+ data: data,
48
+ backButtonLabel: backButtonLabel,
49
+ nextButtonLabel: nextButtonLabel,
50
+ finishButtonLabel: finishButtonLabel,
51
+ onFinish: onFinish,
52
+ showCloseButton: showCloseButton,
53
+ showBackButton: showBackButton,
54
+ visible: visible
55
+ }));
56
+ };
57
+
58
+ UiTourMock.propTypes = {
59
+ onFinish: _propTypes.default.func,
60
+ visible: _propTypes.default.bool,
61
+ showCloseButton: _propTypes.default.bool,
62
+ showBackButton: _propTypes.default.bool
63
+ };
64
+ UiTourMock.defaultProps = {
65
+ onFinish: undefined,
66
+ visible: true,
67
+ showCloseButton: true,
68
+ showBackButton: true
69
+ };
70
+ describe('UiTour', function () {
71
+ it('should render correctly', function () {
72
+ var _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, null)),
73
+ container = _render.container;
74
+
75
+ var uitourComponent = container.querySelector('.uitour-component');
76
+ expect(container.firstChild).toContainElement(uitourComponent);
77
+ });
78
+ it('should go to next step', function () {
79
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, null)),
80
+ container = _render2.container;
81
+
82
+ var nextButton = container.querySelector('.next-button');
83
+
84
+ _react2.fireEvent.click(nextButton);
85
+
86
+ expect(container.querySelector('.content .number')).toHaveTextContent('2');
87
+ });
88
+ it('should execute callback on finish and close', function () {
89
+ var mockFinish = jest.fn();
90
+
91
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, {
92
+ onFinish: mockFinish
93
+ })),
94
+ container = _render3.container;
95
+
96
+ var nextButton = container.querySelector('.next-button');
97
+
98
+ _react2.fireEvent.click(nextButton);
99
+
100
+ var finishButton = container.querySelector('.finish-button');
101
+
102
+ _react2.fireEvent.click(finishButton);
103
+
104
+ expect(mockFinish).toHaveBeenCalledTimes(1);
105
+ expect(container.querySelector('.uitour-component')).not.toBeInTheDocument();
106
+ });
107
+ it('should step render aside target position', function () {
108
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, null)),
109
+ container = _render4.container;
110
+
111
+ var targetRect = container.querySelector('#uitour-teste');
112
+ var targetDimensions = targetRect.getBoundingClientRect();
113
+ var stepDimensions = container.querySelector('.uitour-component .step');
114
+ expect(stepDimensions.style.left).toBe("".concat(targetDimensions.left + targetDimensions.width + _helpers.ARROW_WIDTH, "px"));
115
+ expect(stepDimensions.style.top).toBe("".concat(targetDimensions.top - _helpers.ARROW_HEIGHT, "px"));
116
+ });
117
+ it('should render with backButtonLabel', function () {
118
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, null)),
119
+ getByText = _render5.getByText;
120
+
121
+ expect(getByText(backButtonLabel)).toBeInTheDocument();
122
+ });
123
+ it('should render with nextButtonLabel', function () {
124
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, null)),
125
+ getByText = _render6.getByText;
126
+
127
+ expect(getByText(nextButtonLabel)).toBeInTheDocument();
128
+ });
129
+ it('should render with finishButtonLabel', function () {
130
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, null)),
131
+ container = _render7.container,
132
+ getByText = _render7.getByText;
133
+
134
+ var nextButton = container.querySelector('.next-button');
135
+
136
+ _react2.fireEvent.click(nextButton);
137
+
138
+ expect(getByText(finishButtonLabel)).toBeInTheDocument();
139
+ });
140
+ it('should render close button', function () {
141
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, null)),
142
+ container = _render8.container;
143
+
144
+ expect(container.querySelector('.close-button')).toBeInTheDocument();
145
+ });
146
+ it('should not render close button', function () {
147
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, {
148
+ showCloseButton: false
149
+ })),
150
+ container = _render9.container;
151
+
152
+ expect(container.querySelector('.close-button')).not.toBeInTheDocument();
153
+ });
154
+ it('should render back button', function () {
155
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, null)),
156
+ getByText = _render10.getByText;
157
+
158
+ expect(getByText(backButtonLabel)).toBeInTheDocument();
159
+ });
160
+ it('should not render back button', function () {
161
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, {
162
+ showBackButton: false
163
+ })),
164
+ container = _render11.container;
165
+
166
+ expect(container.querySelector('.back-button')).not.toBeInTheDocument();
167
+ });
168
+ it('should not visible', function () {
169
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(UiTourMock, {
170
+ visible: false
171
+ })),
172
+ container = _render12.container;
173
+
174
+ expect(container.querySelector('.uitour-component')).not.toBeInTheDocument();
175
+ });
176
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-react-components-ui",
3
- "version": "1.0.10-beta.2",
3
+ "version": "1.0.10-beta.21",
4
4
  "description": "Linear Sistemas ReactJs Components",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib/index.cjs",
@@ -9,9 +9,10 @@
9
9
  "lib:types": "tsup --dts-only --dts --external react",
10
10
  "lib:watch": "babel src/lib -w -d lib/ ",
11
11
  "demo": "node scripts/start.js",
12
- "demo:prod": "webpack -p",
12
+ "demo:prod": "webpack --config ./config/webpack.config.js --mode production",
13
13
  "check:js": "./node_modules/.bin/eslint ./src/* --ext=.jsx,.js,.tsx,.ts",
14
14
  "deploy:heroku": "npm run demo:prod && cd demo && git commit -am 'Deploy' && git push heroku master",
15
+ "deploy:vercel": "npm run demo:prod && vercel --prod demo",
15
16
  "publish:npm": "npm run lib && npm publish",
16
17
  "publish:npm:beta": "npm run lib && npm publish --tag beta",
17
18
  "publish:npm:rc": "npm run lib && npm publish --tag rc",
@@ -29,55 +30,57 @@
29
30
  "react-transition-group": "^4.4.2"
30
31
  },
31
32
  "devDependencies": {
32
- "@babel/cli": "^7.5.5",
33
- "@babel/core": "^7.5.5",
34
- "@babel/plugin-proposal-class-properties": "7.0.0-beta.36",
35
- "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.36",
36
- "@babel/preset-env": "^7.0.0-beta.36",
37
- "@babel/preset-react": "^7.0.0-beta.36",
38
- "@babel/preset-typescript": "^7.16.7",
39
- "@es-pack/esbuild-sass-plugin": "^2.0.1",
40
- "@swc/core": "^1.3.14",
41
- "@testing-library/jest-dom": "^5.14.1",
42
- "@testing-library/react": "^12.0.0",
43
- "@types/lodash": "^4.14.182",
44
- "@types/node": "^17.0.31",
45
- "@types/react": "^18.0.24",
46
- "@types/react-dev-utils": "^9.0.10",
47
- "@types/react-dom": "^18.0.5",
48
- "@types/react-router-dom": "^5.3.3",
49
- "@types/react-syntax-highlighter": "^15.5.5",
50
- "@types/react-transition-group": "^4.4.5",
51
- "@types/uuid": "^8.3.4",
52
- "@typescript-eslint/eslint-plugin": "^5.23.0",
53
- "@typescript-eslint/parser": "^5.23.0",
54
- "babel-eslint": "^7.2.3",
55
- "babel-jest": "^27.0.5",
56
- "babel-loader": "^9.1.0",
57
- "babel-polyfill": "^6.26.0",
58
- "css-loader": "^0.28.8",
59
- "esbuild": "^0.15.13",
60
- "esbuild-plugin-babel": "^0.2.3",
61
- "esbuild-plugin-sass": "^1.0.1",
62
- "eslint": "^8.15.0",
33
+ "@babel/cli": "7.20.7",
34
+ "@babel/core": "7.20.12",
35
+ "@babel/plugin-proposal-class-properties": "7.18.6",
36
+ "@babel/plugin-proposal-object-rest-spread": "7.20.7",
37
+ "@babel/preset-env": "7.20.2",
38
+ "@babel/preset-react": "7.18.6",
39
+ "@babel/preset-typescript": "7.18.6",
40
+ "@es-pack/esbuild-sass-plugin": "2.0.1",
41
+ "@swc/core": "1.3.29",
42
+ "@testing-library/jest-dom": "5.16.5",
43
+ "@testing-library/react": "12.1.5",
44
+ "@testing-library/user-event": "14.4.3",
45
+ "@types/lodash": "^4.14.191",
46
+ "@types/node": "17.0.45",
47
+ "@types/react": "18.0.26",
48
+ "@types/react-dev-utils": "^9.0.11",
49
+ "@types/react-dom": "18.0.5",
50
+ "@types/react-router-dom": "5.3.3",
51
+ "@types/react-syntax-highlighter": "15.5.6",
52
+ "@types/react-transition-group": "4.4.5",
53
+ "@types/uuid": "8.3.4",
54
+ "@typescript-eslint/eslint-plugin": "5.48.1",
55
+ "@typescript-eslint/parser": "^5.48.1",
56
+ "babel-eslint": "7.2.3",
57
+ "babel-jest": "27.5.1",
58
+ "babel-loader": "9.1.2",
59
+ "babel-polyfill": "6.26.0",
60
+ "css-loader": "0.28.11",
61
+ "esbuild": "0.15.18",
62
+ "esbuild-plugin-babel": "0.2.3",
63
+ "esbuild-plugin-sass": "1.0.1",
64
+ "eslint": "8.31.0",
63
65
  "eslint-config-airbnb": "16.1.0",
64
66
  "eslint-config-airbnb-typescript": "^17.0.0",
65
- "eslint-import-resolver-typescript": "^2.7.1",
67
+ "eslint-import-resolver-typescript": "2.7.1",
66
68
  "eslint-plugin-class-property": "1.1.0",
67
- "eslint-plugin-import": "^2.26.0",
69
+ "eslint-plugin-import": "2.26.0",
68
70
  "eslint-plugin-jsx-a11y": "6.0.3",
69
71
  "eslint-plugin-react": "7.5.1",
70
- "file-loader": "^1.1.6",
71
- "html-webpack-plugin": "^5.5.0",
72
- "husky": "^6.0.0",
73
- "identity-obj-proxy": "^3.0.0",
74
- "jest": "^27.0.5",
75
- "react": "^16.14.0",
72
+ "file-loader": "1.1.11",
73
+ "html-webpack-plugin": "5.5.0",
74
+ "husky": "6.0.0",
75
+ "identity-obj-proxy": "3.0.0",
76
+ "jest": "27.5.1",
77
+ "react": "16.14.0",
76
78
  "react-dom": "^16.14.0",
77
- "react-transition-group": "^4.3.0",
78
- "style-loader": "^0.23.1",
79
- "tsup": "^6.4.0",
80
- "typescript": "^4.6.4"
79
+ "react-transition-group": "4.4.5",
80
+ "style-loader": "0.23.1",
81
+ "tsup": "6.5.0",
82
+ "typescript": "4.9.4",
83
+ "webpack-cli": "5.1.4"
81
84
  },
82
85
  "author": "Deivisson Bruno <deivisson.bruno@linearsistemas.com.br>",
83
86
  "homepage": "",
@@ -86,25 +89,25 @@
86
89
  "url": "git@gitlab.com:linear-front/linear-react-components-ui.git"
87
90
  },
88
91
  "dependencies": {
89
- "@types/react-dom": "^18.0.5",
90
- "attach-dom-events": "^1.0.0",
91
- "browserslist": "^4.18.1",
92
- "history": "^5.0.0",
93
- "imask": "^6.4.3",
94
- "init": "^0.1.2",
95
- "lodash": "^4.17.21",
96
- "moment": "^2.29.1",
97
- "prop-types": "^15.7.2",
98
- "react-dev-utils": "^12.0.0",
99
- "react-router-dom": "^5.1.2",
100
- "react-syntax-highlighter": "^15.5.0",
101
- "sass": "^1.56.0",
102
- "sass-loader": "^7.3.1",
103
- "semver": "^7.3.5",
104
- "uuid": "^3.3.3",
105
- "webpack": "^5.64.4",
106
- "webpack-dev-server": "^4.6.0",
107
- "webpack-manifest-plugin": "^4.0.2"
92
+ "@types/react-dom": "18.0.5",
93
+ "attach-dom-events": "1.0.0",
94
+ "browserslist": "4.18.1",
95
+ "history": "5.0.0",
96
+ "imask": "6.4.3",
97
+ "init": "0.1.2",
98
+ "lodash": "4.17.21",
99
+ "moment": "2.29.1",
100
+ "prop-types": "15.7.2",
101
+ "react-dev-utils": "12.0.0",
102
+ "react-router-dom": "5.2.0",
103
+ "react-syntax-highlighter": "15.5.0",
104
+ "sass": "1.56.0",
105
+ "sass-loader": "7.3.1",
106
+ "semver": "7.3.5",
107
+ "uuid": "3.3.3",
108
+ "webpack": "5.64.4",
109
+ "webpack-dev-server": "4.6.0",
110
+ "webpack-manifest-plugin": "4.0.2"
108
111
  },
109
112
  "browserslist": {
110
113
  "production": [