@dxc-technology/halstack-react 0.0.0-2c3a5e1 → 0.0.0-2d5bb6f

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 (294) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -11
  3. package/HalstackContext.d.ts +13 -0
  4. package/HalstackContext.js +318 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +123 -167
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +56 -0
  9. package/accordion/types.d.ts +10 -5
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +28 -77
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +108 -0
  14. package/accordion-group/types.d.ts +17 -6
  15. package/alert/Alert.js +18 -46
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +75 -0
  18. package/alert/types.d.ts +3 -3
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -16
  21. package/badge/types.d.ts +5 -0
  22. package/bleed/Bleed.js +14 -55
  23. package/bleed/Bleed.stories.tsx +94 -95
  24. package/bleed/types.d.ts +26 -2
  25. package/box/Box.js +34 -63
  26. package/box/Box.stories.tsx +15 -0
  27. package/box/Box.test.js +13 -0
  28. package/box/types.d.ts +5 -4
  29. package/bulleted-list/BulletedList.d.ts +7 -0
  30. package/bulleted-list/BulletedList.js +98 -0
  31. package/bulleted-list/BulletedList.stories.tsx +200 -0
  32. package/bulleted-list/types.d.ts +11 -0
  33. package/button/Button.js +61 -100
  34. package/button/Button.stories.tsx +159 -8
  35. package/button/Button.test.js +26 -0
  36. package/button/types.d.ts +8 -8
  37. package/card/Card.js +44 -70
  38. package/card/Card.test.js +39 -0
  39. package/card/types.d.ts +4 -3
  40. package/checkbox/Checkbox.d.ts +2 -2
  41. package/checkbox/Checkbox.js +115 -162
  42. package/checkbox/Checkbox.stories.tsx +198 -130
  43. package/checkbox/Checkbox.test.js +128 -0
  44. package/checkbox/types.d.ts +14 -6
  45. package/chip/Chip.js +26 -50
  46. package/chip/Chip.stories.tsx +96 -9
  47. package/chip/Chip.test.js +42 -0
  48. package/chip/types.d.ts +4 -4
  49. package/common/utils.js +1 -6
  50. package/common/variables.d.ts +1431 -0
  51. package/common/variables.js +480 -553
  52. package/date-input/Calendar.d.ts +4 -0
  53. package/date-input/Calendar.js +215 -0
  54. package/date-input/DateInput.js +164 -300
  55. package/date-input/DateInput.stories.tsx +199 -33
  56. package/date-input/DateInput.test.js +648 -0
  57. package/date-input/DatePicker.d.ts +4 -0
  58. package/date-input/DatePicker.js +116 -0
  59. package/date-input/Icons.d.ts +6 -0
  60. package/date-input/Icons.js +63 -0
  61. package/date-input/YearPicker.d.ts +4 -0
  62. package/date-input/YearPicker.js +101 -0
  63. package/date-input/types.d.ts +71 -13
  64. package/dialog/Dialog.js +52 -84
  65. package/dialog/Dialog.stories.tsx +99 -22
  66. package/dialog/Dialog.test.js +56 -0
  67. package/dialog/types.d.ts +4 -3
  68. package/dropdown/Dropdown.d.ts +1 -1
  69. package/dropdown/Dropdown.js +239 -300
  70. package/dropdown/Dropdown.stories.tsx +245 -56
  71. package/dropdown/Dropdown.test.js +479 -0
  72. package/dropdown/DropdownMenu.d.ts +4 -0
  73. package/dropdown/DropdownMenu.js +60 -0
  74. package/dropdown/DropdownMenuItem.d.ts +4 -0
  75. package/dropdown/DropdownMenuItem.js +70 -0
  76. package/dropdown/types.d.ts +26 -6
  77. package/file-input/FileInput.d.ts +2 -2
  78. package/file-input/FileInput.js +224 -351
  79. package/file-input/FileInput.stories.tsx +122 -11
  80. package/file-input/FileInput.test.js +445 -0
  81. package/file-input/FileItem.d.ts +4 -14
  82. package/file-input/FileItem.js +48 -97
  83. package/file-input/types.d.ts +24 -7
  84. package/flex/Flex.d.ts +4 -0
  85. package/flex/Flex.js +57 -0
  86. package/flex/Flex.stories.tsx +103 -0
  87. package/flex/types.d.ts +32 -0
  88. package/footer/Footer.js +28 -133
  89. package/footer/Footer.stories.tsx +99 -1
  90. package/footer/Footer.test.js +92 -0
  91. package/footer/Icons.js +1 -5
  92. package/footer/types.d.ts +7 -6
  93. package/header/Header.js +112 -177
  94. package/header/Header.stories.tsx +189 -36
  95. package/header/Header.test.js +66 -0
  96. package/header/Icons.js +2 -6
  97. package/header/types.d.ts +4 -3
  98. package/heading/Heading.js +8 -29
  99. package/heading/Heading.test.js +169 -0
  100. package/heading/types.d.ts +3 -3
  101. package/inset/Inset.js +14 -55
  102. package/inset/Inset.stories.tsx +36 -36
  103. package/inset/types.d.ts +26 -2
  104. package/layout/ApplicationLayout.d.ts +16 -6
  105. package/layout/ApplicationLayout.js +71 -164
  106. package/layout/ApplicationLayout.stories.tsx +84 -93
  107. package/layout/Icons.d.ts +5 -0
  108. package/layout/Icons.js +11 -10
  109. package/layout/SidenavContext.d.ts +5 -0
  110. package/layout/SidenavContext.js +15 -0
  111. package/layout/types.d.ts +18 -33
  112. package/link/Link.d.ts +3 -2
  113. package/link/Link.js +61 -106
  114. package/link/Link.stories.tsx +159 -52
  115. package/link/Link.test.js +65 -0
  116. package/link/types.d.ts +9 -29
  117. package/main.d.ts +10 -15
  118. package/main.js +43 -124
  119. package/nav-tabs/NavTabs.d.ts +8 -0
  120. package/nav-tabs/NavTabs.js +95 -0
  121. package/nav-tabs/NavTabs.stories.tsx +260 -0
  122. package/nav-tabs/NavTabs.test.js +75 -0
  123. package/nav-tabs/Tab.d.ts +4 -0
  124. package/nav-tabs/Tab.js +120 -0
  125. package/nav-tabs/types.d.ts +53 -0
  126. package/number-input/NumberInput.js +21 -38
  127. package/number-input/NumberInput.stories.tsx +5 -5
  128. package/number-input/NumberInput.test.js +406 -0
  129. package/number-input/NumberInputContext.js +0 -5
  130. package/number-input/numberInputContextTypes.d.ts +1 -1
  131. package/number-input/types.d.ts +21 -14
  132. package/package.json +22 -25
  133. package/paginator/Icons.d.ts +5 -0
  134. package/paginator/Icons.js +16 -38
  135. package/paginator/Paginator.js +31 -82
  136. package/paginator/Paginator.stories.tsx +24 -0
  137. package/paginator/Paginator.test.js +266 -0
  138. package/paginator/types.d.ts +1 -1
  139. package/paragraph/Paragraph.d.ts +6 -0
  140. package/paragraph/Paragraph.js +28 -0
  141. package/paragraph/Paragraph.stories.tsx +44 -0
  142. package/password-input/PasswordInput.js +28 -54
  143. package/password-input/PasswordInput.test.js +138 -0
  144. package/password-input/types.d.ts +18 -15
  145. package/progress-bar/ProgressBar.d.ts +2 -2
  146. package/progress-bar/ProgressBar.js +65 -84
  147. package/progress-bar/ProgressBar.stories.jsx +47 -12
  148. package/progress-bar/ProgressBar.test.js +93 -0
  149. package/progress-bar/types.d.ts +3 -4
  150. package/quick-nav/QuickNav.d.ts +4 -0
  151. package/quick-nav/QuickNav.js +95 -0
  152. package/quick-nav/QuickNav.stories.tsx +356 -0
  153. package/quick-nav/types.d.ts +21 -0
  154. package/quick-nav/types.js +5 -0
  155. package/radio-group/Radio.d.ts +1 -1
  156. package/radio-group/Radio.js +55 -70
  157. package/radio-group/RadioGroup.js +91 -126
  158. package/radio-group/RadioGroup.stories.tsx +171 -36
  159. package/radio-group/RadioGroup.test.js +529 -157
  160. package/radio-group/types.d.ts +86 -8
  161. package/resultsetTable/Icons.d.ts +7 -0
  162. package/resultsetTable/Icons.js +48 -0
  163. package/resultsetTable/ResultsetTable.js +66 -157
  164. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  165. package/resultsetTable/ResultsetTable.test.js +292 -0
  166. package/resultsetTable/types.d.ts +5 -5
  167. package/select/Icons.d.ts +10 -0
  168. package/select/Icons.js +90 -0
  169. package/select/Listbox.d.ts +4 -0
  170. package/select/Listbox.js +144 -0
  171. package/select/Option.d.ts +4 -0
  172. package/select/Option.js +81 -0
  173. package/select/Select.js +201 -485
  174. package/select/Select.stories.tsx +600 -201
  175. package/select/Select.test.js +1845 -0
  176. package/select/types.d.ts +62 -22
  177. package/sidenav/Sidenav.d.ts +6 -5
  178. package/sidenav/Sidenav.js +164 -74
  179. package/sidenav/Sidenav.stories.tsx +249 -149
  180. package/sidenav/Sidenav.test.js +37 -0
  181. package/sidenav/types.d.ts +50 -27
  182. package/slider/Slider.d.ts +2 -2
  183. package/slider/Slider.js +143 -164
  184. package/slider/Slider.stories.tsx +72 -9
  185. package/slider/Slider.test.js +222 -0
  186. package/slider/types.d.ts +11 -3
  187. package/spinner/Spinner.js +12 -41
  188. package/spinner/Spinner.stories.jsx +27 -1
  189. package/spinner/Spinner.test.js +55 -0
  190. package/spinner/types.d.ts +3 -3
  191. package/switch/Switch.d.ts +2 -2
  192. package/switch/Switch.js +148 -107
  193. package/switch/Switch.stories.tsx +53 -42
  194. package/switch/Switch.test.js +180 -0
  195. package/switch/types.d.ts +13 -5
  196. package/table/Table.js +5 -23
  197. package/table/Table.stories.jsx +80 -1
  198. package/table/Table.test.js +21 -0
  199. package/table/types.d.ts +3 -3
  200. package/tabs/Tab.d.ts +4 -0
  201. package/tabs/Tab.js +115 -0
  202. package/tabs/Tabs.d.ts +1 -1
  203. package/tabs/Tabs.js +318 -139
  204. package/tabs/Tabs.stories.tsx +119 -13
  205. package/tabs/Tabs.test.js +295 -0
  206. package/tabs/types.d.ts +21 -7
  207. package/tag/Tag.js +34 -68
  208. package/tag/Tag.stories.tsx +25 -8
  209. package/tag/Tag.test.js +49 -0
  210. package/tag/types.d.ts +7 -7
  211. package/text-input/Icons.d.ts +8 -0
  212. package/text-input/Icons.js +57 -0
  213. package/text-input/Suggestion.d.ts +4 -0
  214. package/text-input/Suggestion.js +68 -0
  215. package/text-input/Suggestions.d.ts +4 -0
  216. package/text-input/Suggestions.js +109 -0
  217. package/text-input/TextInput.js +232 -438
  218. package/text-input/TextInput.stories.tsx +310 -197
  219. package/text-input/TextInput.test.js +1404 -0
  220. package/text-input/types.d.ts +55 -17
  221. package/textarea/Textarea.js +53 -96
  222. package/textarea/Textarea.stories.jsx +93 -13
  223. package/textarea/Textarea.test.js +360 -0
  224. package/textarea/types.d.ts +22 -15
  225. package/toggle-group/ToggleGroup.d.ts +1 -1
  226. package/toggle-group/ToggleGroup.js +23 -57
  227. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  228. package/toggle-group/ToggleGroup.test.js +124 -0
  229. package/toggle-group/types.d.ts +19 -11
  230. package/translatedLabelsType.d.ts +82 -0
  231. package/translatedLabelsType.js +5 -0
  232. package/typography/Typography.d.ts +4 -0
  233. package/typography/Typography.js +119 -0
  234. package/typography/Typography.stories.tsx +198 -0
  235. package/typography/types.d.ts +18 -0
  236. package/typography/types.js +5 -0
  237. package/useTheme.d.ts +1 -1
  238. package/useTheme.js +3 -9
  239. package/useTranslatedLabels.d.ts +3 -0
  240. package/useTranslatedLabels.js +15 -0
  241. package/wizard/Wizard.d.ts +1 -1
  242. package/wizard/Wizard.js +68 -98
  243. package/wizard/Wizard.stories.tsx +48 -19
  244. package/wizard/Wizard.test.js +114 -0
  245. package/wizard/types.d.ts +12 -7
  246. package/ThemeContext.d.ts +0 -15
  247. package/ThemeContext.js +0 -243
  248. package/V3Select/V3Select.js +0 -455
  249. package/V3Select/index.d.ts +0 -27
  250. package/V3Textarea/V3Textarea.js +0 -260
  251. package/V3Textarea/index.d.ts +0 -27
  252. package/common/RequiredComponent.js +0 -32
  253. package/date/Date.js +0 -373
  254. package/date/index.d.ts +0 -27
  255. package/input-text/Icons.js +0 -22
  256. package/input-text/InputText.js +0 -611
  257. package/input-text/index.d.ts +0 -36
  258. package/list/List.d.ts +0 -4
  259. package/list/List.js +0 -47
  260. package/list/List.stories.tsx +0 -95
  261. package/list/types.d.ts +0 -7
  262. package/radio/Radio.d.ts +0 -4
  263. package/radio/Radio.js +0 -174
  264. package/radio/Radio.stories.tsx +0 -192
  265. package/radio/types.d.ts +0 -54
  266. package/row/Row.d.ts +0 -3
  267. package/row/Row.js +0 -127
  268. package/row/Row.stories.tsx +0 -237
  269. package/row/types.d.ts +0 -10
  270. package/stack/Stack.d.ts +0 -3
  271. package/stack/Stack.js +0 -97
  272. package/stack/Stack.stories.tsx +0 -164
  273. package/stack/types.d.ts +0 -9
  274. package/text/Text.d.ts +0 -7
  275. package/text/Text.js +0 -30
  276. package/text/Text.stories.tsx +0 -19
  277. package/toggle/Toggle.js +0 -186
  278. package/toggle/index.d.ts +0 -21
  279. package/upload/Upload.js +0 -201
  280. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  281. package/upload/buttons-upload/Icons.js +0 -40
  282. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  283. package/upload/dragAndDropArea/Icons.js +0 -39
  284. package/upload/file-upload/FileToUpload.js +0 -115
  285. package/upload/file-upload/Icons.js +0 -66
  286. package/upload/files-upload/FilesToUpload.js +0 -109
  287. package/upload/index.d.ts +0 -15
  288. package/upload/transaction/Icons.js +0 -160
  289. package/upload/transaction/Transaction.js +0 -104
  290. package/upload/transactions/Transactions.js +0 -94
  291. /package/{list → badge}/types.js +0 -0
  292. /package/{radio → bulleted-list}/types.js +0 -0
  293. /package/{row → flex}/types.js +0 -0
  294. /package/{stack → nav-tabs}/types.js +0 -0
@@ -1,66 +1,44 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.previousIcon = exports.nextIcon = exports.lastIcon = exports.firstIcon = void 0;
9
-
10
8
  var _react = _interopRequireDefault(require("react"));
11
-
12
9
  var firstIcon = /*#__PURE__*/_react["default"].createElement("svg", {
13
10
  xmlns: "http://www.w3.org/2000/svg",
14
- width: "12.41",
15
- height: "12",
16
- viewBox: "0 0 12.41 12"
11
+ height: "24",
12
+ width: "24",
13
+ fill: "currentColor"
17
14
  }, /*#__PURE__*/_react["default"].createElement("path", {
18
- id: "Path_2463",
19
- "data-name": "Path 2463",
20
- d: "M18.41,16.59,13.82,12l4.59-4.59L17,6l-6,6,6,6ZM6,6H8V18H6Z",
21
- transform: "translate(-6 -6)"
15
+ d: "M6 18V6h2v12Zm11 0-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z"
22
16
  }));
23
-
24
17
  exports.firstIcon = firstIcon;
25
-
26
18
  var previousIcon = /*#__PURE__*/_react["default"].createElement("svg", {
27
19
  xmlns: "http://www.w3.org/2000/svg",
28
- width: "7.41",
29
- height: "12",
30
- viewBox: "0 0 7.41 12"
20
+ height: "24",
21
+ width: "24",
22
+ fill: "currentColor"
31
23
  }, /*#__PURE__*/_react["default"].createElement("path", {
32
- id: "Path_2459",
33
- "data-name": "Path 2459",
34
- d: "M15.41,7.41,14,6,8,12l6,6,1.41-1.41L10.83,12Z",
35
- transform: "translate(-8 -6)"
24
+ d: "m14 18-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z"
36
25
  }));
37
-
38
26
  exports.previousIcon = previousIcon;
39
-
40
27
  var nextIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
28
  xmlns: "http://www.w3.org/2000/svg",
42
- width: "7.41",
43
- height: "12",
44
- viewBox: "0 0 7.41 12"
29
+ height: "24",
30
+ width: "24",
31
+ fill: "currentColor"
45
32
  }, /*#__PURE__*/_react["default"].createElement("path", {
46
- id: "Path_2461",
47
- "data-name": "Path 2461",
48
- d: "M10,6,8.59,7.41,13.17,12,8.59,16.59,10,18l6-6Z",
49
- transform: "translate(-8.59 -6)"
33
+ d: "M9.4 18 8 16.6l4.6-4.6L8 7.4 9.4 6l6 6Z"
50
34
  }));
51
-
52
35
  exports.nextIcon = nextIcon;
53
-
54
36
  var lastIcon = /*#__PURE__*/_react["default"].createElement("svg", {
55
37
  xmlns: "http://www.w3.org/2000/svg",
56
- width: "12.41",
57
- height: "12",
58
- viewBox: "0 0 12.41 12"
38
+ height: "24",
39
+ width: "24",
40
+ fill: "currentColor"
59
41
  }, /*#__PURE__*/_react["default"].createElement("path", {
60
- id: "Path_2465",
61
- "data-name": "Path 2465",
62
- d: "M5.59,7.41,10.18,12,5.59,16.59,7,18l6-6L7,6ZM16,6h2V18H16Z",
63
- transform: "translate(-5.59 -6)"
42
+ d: "m7 18-1.4-1.4 4.6-4.6-4.6-4.6L7 6l6 6Zm9 0V6h2v12Z"
64
43
  }));
65
-
66
44
  exports.lastIcon = lastIcon;
@@ -1,61 +1,49 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _react = _interopRequireDefault(require("react"));
15
-
16
11
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
-
18
12
  var _useTheme = _interopRequireDefault(require("../useTheme"));
19
-
13
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
20
14
  var _Button = _interopRequireDefault(require("../button/Button"));
21
-
22
15
  var _Select = _interopRequireDefault(require("../select/Select"));
23
-
24
16
  var _Icons = require("./Icons");
25
-
26
17
  var _BackgroundColorContext = require("../BackgroundColorContext");
27
-
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
29
-
18
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
30
19
  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); }
31
-
32
20
  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; }
33
-
34
21
  var DxcPaginator = function DxcPaginator(_ref) {
35
22
  var _ref$currentPage = _ref.currentPage,
36
- currentPage = _ref$currentPage === void 0 ? 1 : _ref$currentPage,
37
- _ref$itemsPerPage = _ref.itemsPerPage,
38
- itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
39
- itemsPerPageOptions = _ref.itemsPerPageOptions,
40
- _ref$totalItems = _ref.totalItems,
41
- totalItems = _ref$totalItems === void 0 ? 1 : _ref$totalItems,
42
- showGoToPage = _ref.showGoToPage,
43
- onPageChange = _ref.onPageChange,
44
- itemsPerPageFunction = _ref.itemsPerPageFunction,
45
- _ref$tabIndex = _ref.tabIndex,
46
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
23
+ currentPage = _ref$currentPage === void 0 ? 1 : _ref$currentPage,
24
+ _ref$itemsPerPage = _ref.itemsPerPage,
25
+ itemsPerPage = _ref$itemsPerPage === void 0 ? 5 : _ref$itemsPerPage,
26
+ itemsPerPageOptions = _ref.itemsPerPageOptions,
27
+ _ref$totalItems = _ref.totalItems,
28
+ totalItems = _ref$totalItems === void 0 ? 1 : _ref$totalItems,
29
+ showGoToPage = _ref.showGoToPage,
30
+ onPageChange = _ref.onPageChange,
31
+ itemsPerPageFunction = _ref.itemsPerPageFunction,
32
+ _ref$tabIndex = _ref.tabIndex,
33
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
47
34
  var totalPages = Math.ceil(totalItems / itemsPerPage);
48
35
  var currentPageInternal = currentPage === -1 ? totalPages : currentPage;
49
36
  var minItemsPerPage = currentPageInternal === 1 || currentPageInternal === 0 ? currentPageInternal : (currentPageInternal - 1) * itemsPerPage + 1;
50
37
  var maxItemsPerPage = minItemsPerPage - 1 + itemsPerPage > totalItems ? totalItems : minItemsPerPage - 1 + itemsPerPage;
51
38
  var colorsTheme = (0, _useTheme["default"])();
39
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
52
40
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
53
- theme: colorsTheme.paginator
41
+ theme: colorsTheme["paginator"]
54
42
  }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
55
- color: colorsTheme.paginator.backgroundColor
43
+ color: colorsTheme["paginator"].backgroundColor
56
44
  }, /*#__PURE__*/_react["default"].createElement(DxcPaginatorContainer, {
57
45
  disabled: currentPageInternal === 1
58
- }, /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, itemsPerPageOptions && /*#__PURE__*/_react["default"].createElement(ItemsPageContainer, null, /*#__PURE__*/_react["default"].createElement(ItemsLabel, null, "Items per page "), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
46
+ }, /*#__PURE__*/_react["default"].createElement(LabelsContainer, null, itemsPerPageOptions && /*#__PURE__*/_react["default"].createElement(ItemsPageContainer, null, /*#__PURE__*/_react["default"].createElement(ItemsLabel, null, translatedLabels.paginator.itemsPerPageText), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
59
47
  options: itemsPerPageOptions.map(function (num) {
60
48
  return {
61
49
  label: num.toString(),
@@ -68,33 +56,23 @@ var DxcPaginator = function DxcPaginator(_ref) {
68
56
  value: itemsPerPage.toString(),
69
57
  size: "fillParent",
70
58
  tabIndex: tabIndex
71
- }))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, minItemsPerPage, " to ", maxItemsPerPage, " of ", totalItems), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
72
- size: "small",
59
+ }))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, translatedLabels.paginator.minToMaxOfText(minItemsPerPage, maxItemsPerPage, totalItems)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
73
60
  mode: "secondary",
74
61
  disabled: currentPageInternal === 1 || currentPageInternal === 0,
75
- margin: {
76
- left: "xxsmall",
77
- right: "xxsmall"
78
- },
79
62
  icon: _Icons.firstIcon,
80
63
  tabIndex: tabIndex,
81
64
  onClick: function onClick() {
82
65
  onPageChange(1);
83
66
  }
84
67
  }), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
85
- size: "small",
86
68
  mode: "secondary",
87
69
  disabled: currentPageInternal === 1 || currentPageInternal === 0,
88
- margin: {
89
- left: "xxsmall",
90
- right: "xxsmall"
91
- },
92
70
  icon: _Icons.previousIcon,
93
71
  tabIndex: tabIndex,
94
72
  onClick: function onClick() {
95
73
  onPageChange(currentPage - 1);
96
74
  }
97
- }), showGoToPage && /*#__PURE__*/_react["default"].createElement(PageToSelectContainer, null, /*#__PURE__*/_react["default"].createElement(GoToLabel, null, "Go to page: "), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
75
+ }), showGoToPage ? /*#__PURE__*/_react["default"].createElement(PageToSelectContainer, null, /*#__PURE__*/_react["default"].createElement(GoToLabel, null, translatedLabels.paginator.goToPageText, " "), /*#__PURE__*/_react["default"].createElement(SelectContainer, null, /*#__PURE__*/_react["default"].createElement(_Select["default"], {
98
76
  options: Array.from(Array(totalPages), function (e, num) {
99
77
  return {
100
78
  label: (num + 1).toString(),
@@ -107,27 +85,17 @@ var DxcPaginator = function DxcPaginator(_ref) {
107
85
  value: currentPage.toString(),
108
86
  size: "fillParent",
109
87
  tabIndex: tabIndex
110
- }))) || /*#__PURE__*/_react["default"].createElement(TextContainer, null, "Page: ", currentPageInternal, " of ", totalPages), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
111
- size: "small",
88
+ }))) : /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
112
89
  mode: "secondary",
113
90
  disabled: currentPageInternal === totalPages,
114
- margin: {
115
- left: "xxsmall",
116
- right: "xxsmall"
117
- },
118
91
  icon: _Icons.nextIcon,
119
92
  tabIndex: tabIndex,
120
93
  onClick: function onClick() {
121
94
  onPageChange(currentPage + 1);
122
95
  }
123
96
  }), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
124
- size: "small",
125
97
  mode: "secondary",
126
98
  disabled: currentPageInternal === totalPages,
127
- margin: {
128
- left: "xxsmall",
129
- right: "xxsmall"
130
- },
131
99
  icon: _Icons.lastIcon,
132
100
  tabIndex: tabIndex,
133
101
  onClick: function onClick() {
@@ -135,12 +103,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
135
103
  }
136
104
  })))));
137
105
  };
138
-
139
- var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: ", ";\n width: ", ";\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n text-transform: ", ";\n background-color: ", ";\n color: ", ";\n\n button {\n &:disabled {\n background-color: transparent !important;\n opacity: 0.3 !important;\n }\n }\n"])), function (props) {
140
- return props.theme.height;
141
- }, function (props) {
142
- return props.theme.width;
143
- }, function (props) {
106
+ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n font-family: ", ";\n font-size: ", ";\n font-weight: ", ";\n font-style: ", ";\n text-transform: ", ";\n background-color: ", ";\n color: ", ";\n padding: ", " ", ";\n\n button {\n &:disabled {\n background-color: transparent !important;\n opacity: 0.3 !important;\n }\n }\n"])), function (props) {
144
107
  return props.theme.fontFamily;
145
108
  }, function (props) {
146
109
  return props.theme.fontSize;
@@ -154,39 +117,25 @@ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject ||
154
117
  return props.theme.backgroundColor;
155
118
  }, function (props) {
156
119
  return props.theme.fontColor;
120
+ }, function (props) {
121
+ return props.theme.verticalPadding;
122
+ }, function (props) {
123
+ return props.theme.horizontalPadding;
157
124
  });
158
-
159
- var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n max-width: 100px;\n"])));
160
-
161
- var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n\n label {\n height: 0px;\n }\n label + .MuiInput-formControl {\n margin-top: 0px;\n }\n"])), function (props) {
125
+ var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: 5.25rem;\n"])));
126
+ var ItemsPageContainer = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
162
127
  return props.theme.itemsPerPageSelectorMarginRight;
163
128
  }, function (props) {
164
129
  return props.theme.itemsPerPageSelectorMarginLeft;
165
130
  });
166
-
167
- var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 15px;\n"])));
168
-
169
- var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 10px;\n margin-left: 10px;\n"])));
170
-
131
+ var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n"])));
132
+ var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n"])));
171
133
  var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
172
134
  return props.theme.totalItemsContainerMarginRight;
173
135
  }, function (props) {
174
136
  return props.theme.totalItemsContainerMarginLeft;
175
137
  });
176
-
177
- var LabelsContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n margin: 0 ", " 0 ", ";\n"])), function (props) {
178
- return props.theme.marginRight;
179
- }, function (props) {
180
- return props.theme.marginLeft;
181
- });
182
-
183
- var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: ", ";\n margin-left: ", ";\n\n label {\n height: 0px;\n }\n label + .MuiInput-formControl {\n margin-top: 0px;\n }\n"])), function (props) {
184
- return props.theme.pageSelectorMarginRight;
185
- }, function (props) {
186
- return props.theme.pageSelectorMarginLeft;
187
- });
188
-
189
- var TextContainer = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])([""])));
190
-
138
+ var LabelsContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 0.5rem;\n width: 100%;\n justify-content: flex-end;\n align-items: center;\n"])));
139
+ var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: 0.5rem;\n"])));
191
140
  var _default = DxcPaginator;
192
141
  exports["default"] = _default;
@@ -2,12 +2,20 @@ import React from "react";
2
2
  import DxcPaginator from "./Paginator";
3
3
  import Title from "../../.storybook/components/Title";
4
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
8
  title: "Paginator",
8
9
  component: DxcPaginator,
9
10
  };
10
11
 
12
+ const opinionatedTheme = {
13
+ paginator: {
14
+ baseColor: "#f2f2f2",
15
+ fontColor: "#000000",
16
+ },
17
+ };
18
+
11
19
  export const Chromatic = () => (
12
20
  <>
13
21
  <ExampleContainer>
@@ -59,5 +67,21 @@ export const Chromatic = () => (
59
67
  showGoToPage
60
68
  />
61
69
  </ExampleContainer>
70
+ <Title title="Opinionated theme" theme="light" level={2} />
71
+ <ExampleContainer>
72
+ <HalstackProvider theme={opinionatedTheme}>
73
+ <ExampleContainer>
74
+ <Title title="Page change and items per page options" theme="light" level={4} />
75
+ <DxcPaginator
76
+ currentPage={1}
77
+ itemsPerPage={10}
78
+ totalItems={27}
79
+ onPageChange={() => {}}
80
+ itemsPerPageOptions={[5, 10, 15]}
81
+ showGoToPage
82
+ />
83
+ </ExampleContainer>
84
+ </HalstackProvider>
85
+ </ExampleContainer>
62
86
  </>
63
87
  );
@@ -0,0 +1,266 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
5
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
9
+ var _Paginator = _interopRequireDefault(require("./Paginator"));
10
+ // Mocking DOMRect for Radix Primitive Popover
11
+ global.globalThis = global;
12
+ global.DOMRect = {
13
+ fromRect: function fromRect() {
14
+ return {
15
+ top: 0,
16
+ left: 0,
17
+ bottom: 0,
18
+ right: 0,
19
+ width: 0,
20
+ height: 0
21
+ };
22
+ }
23
+ };
24
+ global.ResizeObserver = /*#__PURE__*/function () {
25
+ function ResizeObserver() {
26
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
27
+ }
28
+ (0, _createClass2["default"])(ResizeObserver, [{
29
+ key: "observe",
30
+ value: function observe() {}
31
+ }, {
32
+ key: "unobserve",
33
+ value: function unobserve() {}
34
+ }, {
35
+ key: "disconnect",
36
+ value: function disconnect() {}
37
+ }]);
38
+ return ResizeObserver;
39
+ }();
40
+ global.DOMRect = {
41
+ fromRect: function fromRect() {
42
+ return {
43
+ top: 0,
44
+ left: 0,
45
+ bottom: 0,
46
+ right: 0,
47
+ width: 0,
48
+ height: 0
49
+ };
50
+ }
51
+ };
52
+ describe("Paginator component tests", function () {
53
+ test("Paginator renders with default values", function () {
54
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], null)),
55
+ getByText = _render.getByText;
56
+ expect(getByText("1 to 1 of 1")).toBeTruthy();
57
+ expect(getByText("Page: 1 of 1")).toBeTruthy();
58
+ });
59
+ test("Paginator renders with currentPage", function () {
60
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
61
+ currentPage: 2
62
+ })),
63
+ getByText = _render2.getByText;
64
+ expect(getByText("Page: 2 of 1")).toBeTruthy();
65
+ });
66
+ test("Paginator renders with itemsPerPageOptions", function () {
67
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
68
+ currentPage: 1,
69
+ itemsPerPage: 10,
70
+ itemsPerPageOptions: [10, 15],
71
+ totalItems: 20
72
+ })),
73
+ getByText = _render3.getByText;
74
+ expect(getByText("Items per page:")).toBeTruthy();
75
+ });
76
+ test("Paginator renders with itemsPerPageOptions", function () {
77
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
78
+ currentPage: 1,
79
+ itemsPerPage: 10,
80
+ totalItems: 20
81
+ })),
82
+ getByText = _render4.getByText;
83
+ expect(getByText("1 to 10 of 20")).toBeTruthy();
84
+ expect(getByText("Page: 1 of 2")).toBeTruthy();
85
+ });
86
+ test("Paginator renders with totalItems", function () {
87
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
88
+ totalItems: 20
89
+ })),
90
+ getByText = _render5.getByText;
91
+ expect(getByText("1 to 5 of 20")).toBeTruthy();
92
+ expect(getByText("Page: 1 of 4")).toBeTruthy();
93
+ });
94
+ test("Paginator renders with correct text in second page", function () {
95
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
96
+ currentPage: 2,
97
+ itemsPerPage: 10,
98
+ totalItems: 20
99
+ })),
100
+ getByText = _render6.getByText;
101
+ expect(getByText("11 to 20 of 20")).toBeTruthy();
102
+ expect(getByText("Page: 2 of 2")).toBeTruthy();
103
+ });
104
+ test("Paginator renders goToPage select", function () {
105
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
106
+ currentPage: 2,
107
+ showGoToPage: true,
108
+ itemsPerPage: 10,
109
+ totalItems: 20
110
+ })),
111
+ getByText = _render7.getByText;
112
+ expect(getByText("Go to page:")).toBeTruthy();
113
+ });
114
+ test("Paginator goToPage call correct function", function () {
115
+ var onClick = jest.fn();
116
+ window.HTMLElement.prototype.scrollIntoView = function () {};
117
+ window.HTMLElement.prototype.scrollTo = function () {};
118
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
119
+ currentPage: 1,
120
+ itemsPerPage: 10,
121
+ totalItems: 27,
122
+ showGoToPage: true,
123
+ onPageChange: onClick
124
+ })),
125
+ getByText = _render8.getByText,
126
+ getAllByRole = _render8.getAllByRole,
127
+ getByRole = _render8.getByRole;
128
+ var goToPageSelect = getAllByRole("combobox")[0];
129
+ (0, _react2.act)(function () {
130
+ _userEvent["default"].click(goToPageSelect);
131
+ });
132
+ var goToPageOption = getByText("2");
133
+ (0, _react2.act)(function () {
134
+ _userEvent["default"].click(goToPageOption);
135
+ });
136
+ expect(onClick).toHaveBeenCalledWith(2);
137
+ });
138
+ test("Call correct goToPageFunction", function () {
139
+ var onClick = jest.fn();
140
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
141
+ onPageChange: onClick,
142
+ currentPage: 1,
143
+ itemsPerPage: 10,
144
+ totalItems: 20
145
+ })),
146
+ getAllByRole = _render9.getAllByRole;
147
+ var nextButton = getAllByRole("button")[2];
148
+ _userEvent["default"].click(nextButton);
149
+ expect(onClick).toHaveBeenCalled();
150
+ });
151
+ test("Call correct itemsPerPageFunction", function () {
152
+ var onClick = jest.fn();
153
+ window.HTMLElement.prototype.scrollIntoView = function () {};
154
+ window.HTMLElement.prototype.scrollTo = function () {};
155
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
156
+ currentPage: 1,
157
+ itemsPerPage: 10,
158
+ itemsPerPageOptions: [10, 15],
159
+ itemsPerPageFunction: onClick,
160
+ totalItems: 20
161
+ })),
162
+ getAllByText = _render10.getAllByText,
163
+ getByText = _render10.getByText;
164
+ var select = getAllByText("10")[0];
165
+ (0, _react2.act)(function () {
166
+ _userEvent["default"].click(select);
167
+ });
168
+ var itemPerPageOption = getByText("15");
169
+ (0, _react2.act)(function () {
170
+ _userEvent["default"].click(itemPerPageOption);
171
+ });
172
+ expect(onClick).toHaveBeenCalledWith(15);
173
+ });
174
+ test("Next button is disable in last page", function () {
175
+ var onClick = jest.fn();
176
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
177
+ onPageChange: onClick,
178
+ currentPage: 2,
179
+ itemsPerPage: 10,
180
+ totalItems: 20
181
+ })),
182
+ getAllByRole = _render11.getAllByRole;
183
+ var nextButton = getAllByRole("button")[2];
184
+ expect(nextButton.hasAttribute("disabled")).toBeTruthy();
185
+ _userEvent["default"].click(nextButton);
186
+ expect(onClick).toHaveBeenCalledTimes(0);
187
+ });
188
+ test("Last button is disable in last page", function () {
189
+ var onClick = jest.fn();
190
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
191
+ onPageChange: onClick,
192
+ currentPage: 2,
193
+ itemsPerPage: 10,
194
+ totalItems: 20
195
+ })),
196
+ getAllByRole = _render12.getAllByRole;
197
+ var lastButton = getAllByRole("button")[3];
198
+ expect(lastButton.hasAttribute("disabled")).toBeTruthy();
199
+ _userEvent["default"].click(lastButton);
200
+ expect(onClick).toHaveBeenCalledTimes(0);
201
+ });
202
+ test("First button is disable in first page", function () {
203
+ var onClick = jest.fn();
204
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
205
+ onPageChange: onClick,
206
+ currentPage: 1,
207
+ itemsPerPage: 10,
208
+ totalItems: 20
209
+ })),
210
+ getAllByRole = _render13.getAllByRole;
211
+ var lastButton = getAllByRole("button")[0];
212
+ expect(lastButton.hasAttribute("disabled")).toBeTruthy();
213
+ _userEvent["default"].click(lastButton);
214
+ expect(onClick).toHaveBeenCalledTimes(0);
215
+ });
216
+ test("Previous button is disable in first page", function () {
217
+ var onClick = jest.fn();
218
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
219
+ onPageChange: onClick,
220
+ currentPage: 1,
221
+ itemsPerPage: 10,
222
+ totalItems: 20
223
+ })),
224
+ getAllByRole = _render14.getAllByRole;
225
+ var lastButton = getAllByRole("button")[1];
226
+ expect(lastButton.hasAttribute("disabled")).toBeTruthy();
227
+ _userEvent["default"].click(lastButton);
228
+ expect(onClick).toHaveBeenCalledTimes(0);
229
+ });
230
+ test("Last and next buttons are disable in last page", function () {
231
+ var onClick = jest.fn();
232
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
233
+ onPageChange: onClick,
234
+ currentPage: 2,
235
+ itemsPerPage: 10,
236
+ totalItems: 20
237
+ })),
238
+ getAllByRole = _render15.getAllByRole;
239
+ var firstButton = getAllByRole("button")[0];
240
+ var prevButton = getAllByRole("button")[1];
241
+ var nextButton = getAllByRole("button")[2];
242
+ var lastButton = getAllByRole("button")[3];
243
+ expect(firstButton.hasAttribute("disabled")).toBeFalsy();
244
+ expect(prevButton.hasAttribute("disabled")).toBeFalsy();
245
+ expect(nextButton.hasAttribute("disabled")).toBeTruthy();
246
+ expect(lastButton.hasAttribute("disabled")).toBeTruthy();
247
+ });
248
+ test("First and previous buttons are disable in first page", function () {
249
+ var onClick = jest.fn();
250
+ var _render16 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
251
+ onPageChange: onClick,
252
+ currentPage: 1,
253
+ itemsPerPage: 10,
254
+ totalItems: 20
255
+ })),
256
+ getAllByRole = _render16.getAllByRole;
257
+ var firstButton = getAllByRole("button")[0];
258
+ var prevButton = getAllByRole("button")[1];
259
+ var nextButton = getAllByRole("button")[2];
260
+ var lastButton = getAllByRole("button")[3];
261
+ expect(firstButton.hasAttribute("disabled")).toBeTruthy();
262
+ expect(prevButton.hasAttribute("disabled")).toBeTruthy();
263
+ expect(nextButton.hasAttribute("disabled")).toBeFalsy();
264
+ expect(lastButton.hasAttribute("disabled")).toBeFalsy();
265
+ });
266
+ });
@@ -1,4 +1,4 @@
1
- declare type Props = {
1
+ type Props = {
2
2
  /**
3
3
  * Number of the current selected page.
4
4
  */
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ type ParagraphPropsType = {
3
+ children: React.ReactNode;
4
+ };
5
+ declare const Paragraph: ({ children }: ParagraphPropsType) => JSX.Element;
6
+ export default Paragraph;
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _Typography = _interopRequireDefault(require("../typography/Typography"));
11
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
12
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
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
+ 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; }
15
+ var Paragraph = function Paragraph(_ref) {
16
+ var children = _ref.children;
17
+ var colorsTheme = (0, _useTheme["default"])();
18
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
19
+ return /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
20
+ as: "p",
21
+ display: colorsTheme["paragraph"].display,
22
+ fontSize: colorsTheme["paragraph"].fontSize,
23
+ fontWeight: colorsTheme["paragraph"].fontWeight,
24
+ color: backgroundType && backgroundType === "dark" ? colorsTheme["paragraph"].fontColorOnDark : colorsTheme["paragraph"].fontColor
25
+ }, children);
26
+ };
27
+ var _default = Paragraph;
28
+ exports["default"] = _default;