@dxc-technology/halstack-react 0.0.0-28a98e5 → 0.0.0-293a019

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 (389) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +2 -5
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +120 -175
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +69 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +63 -98
  13. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  14. package/accordion-group/AccordionGroup.test.js +126 -0
  15. package/accordion-group/types.d.ts +79 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +10 -30
  19. package/alert/Alert.stories.tsx +198 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +6 -4
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +342 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +31 -69
  34. package/box/Box.stories.tsx +147 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +44 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +125 -0
  40. package/bulleted-list/BulletedList.stories.tsx +206 -0
  41. package/bulleted-list/types.d.ts +38 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +59 -88
  45. package/button/Button.stories.tsx +403 -284
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +12 -16
  48. package/card/Card.d.ts +4 -0
  49. package/card/Card.js +47 -87
  50. package/card/Card.stories.tsx +200 -0
  51. package/card/Card.test.js +50 -0
  52. package/card/ice-cream.jpg +0 -0
  53. package/card/types.d.ts +68 -0
  54. package/card/types.js +5 -0
  55. package/checkbox/Checkbox.d.ts +4 -0
  56. package/checkbox/Checkbox.js +108 -133
  57. package/checkbox/Checkbox.stories.tsx +260 -0
  58. package/checkbox/Checkbox.test.js +155 -0
  59. package/checkbox/types.d.ts +68 -0
  60. package/checkbox/types.js +5 -0
  61. package/chip/Chip.d.ts +4 -0
  62. package/chip/Chip.js +37 -118
  63. package/chip/Chip.stories.tsx +214 -0
  64. package/chip/Chip.test.js +54 -0
  65. package/chip/types.d.ts +45 -0
  66. package/chip/types.js +5 -0
  67. package/common/OpenSans.css +68 -80
  68. package/common/coreTokens.d.ts +146 -0
  69. package/common/coreTokens.js +167 -0
  70. package/common/utils.d.ts +1 -0
  71. package/common/utils.js +4 -4
  72. package/common/variables.d.ts +1482 -0
  73. package/common/variables.js +1100 -1306
  74. package/date-input/Calendar.d.ts +4 -0
  75. package/date-input/Calendar.js +258 -0
  76. package/date-input/DateInput.d.ts +4 -0
  77. package/date-input/DateInput.js +173 -300
  78. package/date-input/DateInput.stories.tsx +304 -0
  79. package/date-input/DateInput.test.js +835 -0
  80. package/date-input/DatePicker.d.ts +4 -0
  81. package/date-input/DatePicker.js +146 -0
  82. package/date-input/Icons.d.ts +6 -0
  83. package/date-input/Icons.js +75 -0
  84. package/date-input/YearPicker.d.ts +4 -0
  85. package/date-input/YearPicker.js +126 -0
  86. package/date-input/types.d.ts +158 -0
  87. package/date-input/types.js +5 -0
  88. package/dialog/Dialog.d.ts +4 -0
  89. package/dialog/Dialog.js +78 -113
  90. package/dialog/Dialog.stories.tsx +319 -0
  91. package/dialog/Dialog.test.js +369 -0
  92. package/dialog/types.d.ts +44 -0
  93. package/dialog/types.js +5 -0
  94. package/dropdown/Dropdown.d.ts +4 -0
  95. package/dropdown/Dropdown.js +244 -306
  96. package/dropdown/Dropdown.stories.tsx +438 -0
  97. package/dropdown/Dropdown.test.js +586 -0
  98. package/dropdown/DropdownMenu.d.ts +4 -0
  99. package/dropdown/DropdownMenu.js +74 -0
  100. package/dropdown/DropdownMenuItem.d.ts +4 -0
  101. package/dropdown/DropdownMenuItem.js +79 -0
  102. package/dropdown/types.d.ts +100 -0
  103. package/dropdown/types.js +5 -0
  104. package/file-input/FileInput.d.ts +4 -0
  105. package/file-input/FileInput.js +183 -168
  106. package/file-input/FileInput.stories.tsx +618 -0
  107. package/file-input/FileInput.test.js +457 -0
  108. package/file-input/FileItem.d.ts +4 -0
  109. package/file-input/FileItem.js +50 -81
  110. package/file-input/types.d.ts +129 -0
  111. package/file-input/types.js +5 -0
  112. package/flex/Flex.d.ts +4 -0
  113. package/flex/Flex.js +71 -0
  114. package/flex/Flex.stories.tsx +112 -0
  115. package/flex/types.d.ts +97 -0
  116. package/flex/types.js +5 -0
  117. package/footer/Footer.d.ts +4 -0
  118. package/footer/Footer.js +37 -151
  119. package/footer/Footer.stories.tsx +228 -0
  120. package/footer/Footer.test.js +97 -0
  121. package/footer/Icons.d.ts +2 -0
  122. package/footer/Icons.js +4 -4
  123. package/footer/types.d.ts +66 -0
  124. package/footer/types.js +5 -0
  125. package/grid/Grid.d.ts +7 -0
  126. package/grid/Grid.js +91 -0
  127. package/grid/Grid.stories.tsx +219 -0
  128. package/grid/types.d.ts +115 -0
  129. package/grid/types.js +5 -0
  130. package/header/Header.d.ts +8 -0
  131. package/header/Header.js +127 -150
  132. package/header/Header.stories.tsx +315 -0
  133. package/header/Header.test.js +79 -0
  134. package/header/Icons.d.ts +2 -0
  135. package/header/Icons.js +4 -29
  136. package/header/types.d.ts +48 -0
  137. package/header/types.js +5 -0
  138. package/heading/Heading.d.ts +4 -0
  139. package/heading/Heading.js +8 -25
  140. package/heading/Heading.stories.tsx +54 -0
  141. package/heading/Heading.test.js +186 -0
  142. package/heading/types.d.ts +33 -0
  143. package/heading/types.js +5 -0
  144. package/inset/Inset.d.ts +3 -0
  145. package/inset/Inset.js +51 -0
  146. package/inset/Inset.stories.tsx +230 -0
  147. package/inset/types.d.ts +37 -0
  148. package/inset/types.js +5 -0
  149. package/layout/ApplicationLayout.d.ts +20 -0
  150. package/layout/ApplicationLayout.js +72 -136
  151. package/layout/ApplicationLayout.stories.tsx +162 -0
  152. package/layout/Icons.d.ts +5 -0
  153. package/layout/Icons.js +13 -2
  154. package/layout/SidenavContext.d.ts +5 -0
  155. package/layout/SidenavContext.js +19 -0
  156. package/layout/types.d.ts +41 -0
  157. package/layout/types.js +5 -0
  158. package/link/Link.d.ts +4 -0
  159. package/link/Link.js +62 -109
  160. package/link/Link.stories.tsx +253 -0
  161. package/link/Link.test.js +81 -0
  162. package/link/types.d.ts +54 -0
  163. package/link/types.js +5 -0
  164. package/main.d.ts +13 -12
  165. package/main.js +68 -54
  166. package/nav-tabs/NavTabs.d.ts +8 -0
  167. package/nav-tabs/NavTabs.js +125 -0
  168. package/nav-tabs/NavTabs.stories.tsx +260 -0
  169. package/nav-tabs/NavTabs.test.js +82 -0
  170. package/nav-tabs/Tab.d.ts +4 -0
  171. package/nav-tabs/Tab.js +150 -0
  172. package/nav-tabs/types.d.ts +53 -0
  173. package/nav-tabs/types.js +5 -0
  174. package/number-input/NumberInput.d.ts +4 -0
  175. package/number-input/NumberInput.js +16 -68
  176. package/number-input/NumberInput.stories.tsx +115 -0
  177. package/number-input/NumberInput.test.js +542 -0
  178. package/number-input/NumberInputContext.d.ts +4 -0
  179. package/number-input/NumberInputContext.js +5 -2
  180. package/number-input/numberInputContextTypes.d.ts +19 -0
  181. package/number-input/numberInputContextTypes.js +5 -0
  182. package/number-input/types.d.ts +124 -0
  183. package/number-input/types.js +5 -0
  184. package/package.json +23 -24
  185. package/paginator/Icons.d.ts +5 -0
  186. package/paginator/Icons.js +16 -28
  187. package/paginator/Paginator.d.ts +4 -0
  188. package/paginator/Paginator.js +21 -79
  189. package/paginator/Paginator.stories.tsx +87 -0
  190. package/paginator/Paginator.test.js +305 -0
  191. package/paginator/types.d.ts +38 -0
  192. package/paginator/types.js +5 -0
  193. package/paragraph/Paragraph.d.ts +5 -0
  194. package/paragraph/Paragraph.js +38 -0
  195. package/paragraph/Paragraph.stories.tsx +44 -0
  196. package/password-input/PasswordInput.d.ts +4 -0
  197. package/password-input/PasswordInput.js +24 -57
  198. package/password-input/PasswordInput.stories.tsx +131 -0
  199. package/password-input/PasswordInput.test.js +181 -0
  200. package/password-input/types.d.ts +110 -0
  201. package/password-input/types.js +5 -0
  202. package/progress-bar/ProgressBar.d.ts +4 -0
  203. package/progress-bar/ProgressBar.js +64 -76
  204. package/progress-bar/ProgressBar.stories.jsx +93 -0
  205. package/progress-bar/ProgressBar.test.js +110 -0
  206. package/progress-bar/types.d.ts +37 -0
  207. package/progress-bar/types.js +5 -0
  208. package/quick-nav/QuickNav.d.ts +4 -0
  209. package/quick-nav/QuickNav.js +117 -0
  210. package/quick-nav/QuickNav.stories.tsx +356 -0
  211. package/quick-nav/types.d.ts +21 -0
  212. package/quick-nav/types.js +5 -0
  213. package/radio-group/Radio.d.ts +4 -0
  214. package/radio-group/Radio.js +156 -0
  215. package/radio-group/RadioGroup.d.ts +4 -0
  216. package/radio-group/RadioGroup.js +283 -0
  217. package/radio-group/RadioGroup.stories.tsx +214 -0
  218. package/radio-group/RadioGroup.test.js +722 -0
  219. package/radio-group/types.d.ts +114 -0
  220. package/radio-group/types.js +5 -0
  221. package/resultsetTable/Icons.d.ts +7 -0
  222. package/resultsetTable/Icons.js +51 -0
  223. package/resultsetTable/ResultsetTable.d.ts +4 -0
  224. package/resultsetTable/ResultsetTable.js +54 -133
  225. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  226. package/resultsetTable/ResultsetTable.test.js +325 -0
  227. package/resultsetTable/types.d.ts +67 -0
  228. package/resultsetTable/types.js +5 -0
  229. package/select/Icons.d.ts +10 -0
  230. package/select/Icons.js +93 -0
  231. package/select/Listbox.d.ts +4 -0
  232. package/select/Listbox.js +169 -0
  233. package/select/Option.d.ts +4 -0
  234. package/select/Option.js +97 -0
  235. package/select/Select.d.ts +4 -0
  236. package/select/Select.js +255 -453
  237. package/select/Select.stories.tsx +971 -0
  238. package/select/Select.test.js +2228 -0
  239. package/select/types.d.ts +210 -0
  240. package/select/types.js +5 -0
  241. package/sidenav/Icons.d.ts +7 -0
  242. package/sidenav/Icons.js +51 -0
  243. package/sidenav/Sidenav.d.ts +10 -0
  244. package/sidenav/Sidenav.js +147 -54
  245. package/sidenav/Sidenav.stories.tsx +282 -0
  246. package/sidenav/Sidenav.test.js +44 -0
  247. package/sidenav/types.d.ts +76 -0
  248. package/sidenav/types.js +5 -0
  249. package/slider/Slider.d.ts +4 -0
  250. package/slider/Slider.js +160 -158
  251. package/slider/Slider.stories.tsx +240 -0
  252. package/slider/Slider.test.js +250 -0
  253. package/slider/types.d.ts +86 -0
  254. package/slider/types.js +5 -0
  255. package/spinner/Spinner.d.ts +4 -0
  256. package/spinner/Spinner.js +26 -49
  257. package/spinner/Spinner.stories.jsx +129 -0
  258. package/spinner/Spinner.test.js +64 -0
  259. package/spinner/types.d.ts +32 -0
  260. package/spinner/types.js +5 -0
  261. package/switch/Switch.d.ts +4 -0
  262. package/switch/Switch.js +156 -102
  263. package/switch/Switch.stories.tsx +171 -0
  264. package/switch/Switch.test.js +225 -0
  265. package/switch/types.d.ts +66 -0
  266. package/switch/types.js +5 -0
  267. package/table/Table.d.ts +4 -0
  268. package/table/Table.js +6 -6
  269. package/table/Table.stories.jsx +356 -0
  270. package/table/Table.test.js +26 -0
  271. package/table/types.d.ts +21 -0
  272. package/table/types.js +5 -0
  273. package/tabs/Tab.d.ts +4 -0
  274. package/tabs/Tab.js +132 -0
  275. package/tabs/Tabs.d.ts +4 -0
  276. package/tabs/Tabs.js +361 -159
  277. package/tabs/Tabs.stories.tsx +226 -0
  278. package/tabs/Tabs.test.js +350 -0
  279. package/tabs/types.d.ts +92 -0
  280. package/tabs/types.js +5 -0
  281. package/tag/Tag.d.ts +4 -0
  282. package/tag/Tag.js +38 -65
  283. package/tag/Tag.stories.tsx +155 -0
  284. package/tag/Tag.test.js +60 -0
  285. package/tag/types.d.ts +69 -0
  286. package/tag/types.js +5 -0
  287. package/text-input/Icons.d.ts +8 -0
  288. package/text-input/Icons.js +60 -0
  289. package/text-input/Suggestion.d.ts +4 -0
  290. package/text-input/Suggestion.js +84 -0
  291. package/text-input/Suggestions.d.ts +4 -0
  292. package/text-input/Suggestions.js +134 -0
  293. package/text-input/TextInput.d.ts +4 -0
  294. package/text-input/TextInput.js +259 -404
  295. package/text-input/TextInput.stories.tsx +569 -0
  296. package/text-input/TextInput.test.js +1723 -0
  297. package/text-input/types.d.ts +197 -0
  298. package/text-input/types.js +5 -0
  299. package/textarea/Textarea.d.ts +4 -0
  300. package/textarea/Textarea.js +41 -80
  301. package/textarea/Textarea.stories.jsx +216 -0
  302. package/textarea/Textarea.test.js +435 -0
  303. package/textarea/types.d.ts +137 -0
  304. package/textarea/types.js +5 -0
  305. package/toggle-group/ToggleGroup.d.ts +4 -0
  306. package/toggle-group/ToggleGroup.js +24 -49
  307. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  308. package/toggle-group/ToggleGroup.test.js +156 -0
  309. package/toggle-group/types.d.ts +105 -0
  310. package/toggle-group/types.js +5 -0
  311. package/typography/Typography.d.ts +4 -0
  312. package/typography/Typography.js +32 -0
  313. package/typography/Typography.stories.tsx +198 -0
  314. package/typography/types.d.ts +18 -0
  315. package/typography/types.js +5 -0
  316. package/useTheme.d.ts +1235 -0
  317. package/useTheme.js +3 -3
  318. package/useTranslatedLabels.d.ts +85 -0
  319. package/useTranslatedLabels.js +20 -0
  320. package/utils/BaseTypography.d.ts +21 -0
  321. package/utils/BaseTypography.js +108 -0
  322. package/utils/FocusLock.d.ts +13 -0
  323. package/utils/FocusLock.js +139 -0
  324. package/wizard/Wizard.d.ts +4 -0
  325. package/wizard/Wizard.js +119 -105
  326. package/wizard/Wizard.stories.tsx +253 -0
  327. package/wizard/Wizard.test.js +141 -0
  328. package/wizard/types.d.ts +64 -0
  329. package/wizard/types.js +5 -0
  330. package/ThemeContext.js +0 -246
  331. package/V3Select/V3Select.js +0 -455
  332. package/V3Select/index.d.ts +0 -27
  333. package/V3Textarea/V3Textarea.js +0 -260
  334. package/V3Textarea/index.d.ts +0 -27
  335. package/accordion/index.d.ts +0 -28
  336. package/accordion-group/index.d.ts +0 -16
  337. package/alert/index.d.ts +0 -51
  338. package/box/index.d.ts +0 -25
  339. package/card/index.d.ts +0 -22
  340. package/checkbox/index.d.ts +0 -24
  341. package/chip/index.d.ts +0 -22
  342. package/common/RequiredComponent.js +0 -32
  343. package/date/Date.js +0 -373
  344. package/date/index.d.ts +0 -27
  345. package/date-input/index.d.ts +0 -95
  346. package/dialog/index.d.ts +0 -18
  347. package/dropdown/index.d.ts +0 -26
  348. package/file-input/index.d.ts +0 -81
  349. package/footer/index.d.ts +0 -25
  350. package/header/index.d.ts +0 -25
  351. package/heading/index.d.ts +0 -17
  352. package/input-text/Icons.js +0 -22
  353. package/input-text/InputText.js +0 -611
  354. package/input-text/index.d.ts +0 -36
  355. package/link/index.d.ts +0 -23
  356. package/number-input/index.d.ts +0 -113
  357. package/paginator/index.d.ts +0 -20
  358. package/password-input/index.d.ts +0 -94
  359. package/progress-bar/index.d.ts +0 -18
  360. package/radio/Radio.js +0 -195
  361. package/radio/index.d.ts +0 -23
  362. package/resultsetTable/index.d.ts +0 -19
  363. package/select/index.d.ts +0 -131
  364. package/sidenav/index.d.ts +0 -13
  365. package/slider/index.d.ts +0 -29
  366. package/spinner/index.d.ts +0 -17
  367. package/switch/index.d.ts +0 -24
  368. package/table/index.d.ts +0 -13
  369. package/tabs/index.d.ts +0 -19
  370. package/tag/index.d.ts +0 -24
  371. package/text-input/index.d.ts +0 -135
  372. package/textarea/index.d.ts +0 -117
  373. package/toggle/Toggle.js +0 -186
  374. package/toggle/index.d.ts +0 -21
  375. package/toggle-group/index.d.ts +0 -21
  376. package/upload/Upload.js +0 -201
  377. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  378. package/upload/buttons-upload/Icons.js +0 -40
  379. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  380. package/upload/dragAndDropArea/Icons.js +0 -39
  381. package/upload/file-upload/FileToUpload.js +0 -115
  382. package/upload/file-upload/Icons.js +0 -66
  383. package/upload/files-upload/FilesToUpload.js +0 -109
  384. package/upload/index.d.ts +0 -15
  385. package/upload/transaction/Icons.js +0 -160
  386. package/upload/transaction/Transaction.js +0 -104
  387. package/upload/transactions/Transactions.js +0 -94
  388. package/wizard/Icons.js +0 -65
  389. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,124 @@
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type Props = {
9
+ /**
10
+ * Text to be placed above the number.
11
+ */
12
+ label?: string;
13
+ /**
14
+ * Name attribute of the input element.
15
+ */
16
+ name?: string;
17
+ /**
18
+ * Initial value of the input element, only when it is uncontrolled.
19
+ */
20
+ defaultValue?: string;
21
+ /**
22
+ * Value of the input element. If undefined, the component will be uncontrolled and the value will be managed internally by the component.
23
+ */
24
+ value?: string;
25
+ /**
26
+ * Helper text to be placed above the number.
27
+ */
28
+ helperText?: string;
29
+ /**
30
+ * Text to be put as placeholder of the number.
31
+ */
32
+ placeholder?: string;
33
+ /**
34
+ * If true, the component will be disabled.
35
+ */
36
+ disabled?: boolean;
37
+ /**
38
+ * If true, the number will be optional, showing '(Optional)'
39
+ * next to the label. Otherwise, the field will be considered required
40
+ * and an error will be passed as a parameter to the OnBlur and onChange
41
+ * functions when it has not been filled.
42
+ */
43
+ optional?: boolean;
44
+ /**
45
+ * Prefix to be placed before the number value.
46
+ */
47
+ prefix?: string;
48
+ /**
49
+ * Suffix to be placed after the number value.
50
+ */
51
+ suffix?: string;
52
+ /**
53
+ * Minimum value allowed by the number input. If the typed value by the user is
54
+ * lower than min, the onBlur and onChange functions will be called with
55
+ * the current value and an internal error informing that the current
56
+ * value is not correct. If a valid state is reached, the error parameter
57
+ * will not be defined in both events.
58
+ */
59
+ min?: number;
60
+ /**
61
+ * Maximum value allowed by the number input. If the typed value by the user
62
+ * surpasses max, the onBlur and onChange functions will be called with
63
+ * the current value and an internal error informing that the current
64
+ * value is not correct. If a valid state is reached, the error parameter
65
+ * will not be defined in both events.
66
+ */
67
+ max?: number;
68
+ /**
69
+ * The step interval to use when using the up and down arrows to adjust the value.
70
+ */
71
+ step?: number;
72
+ /**
73
+ * This function will be called when the user types within the input
74
+ * element of the component. An object including the current value and
75
+ * the error (if the value entered is not valid) will be passed to this
76
+ * function. If there is no error, error will not be defined.
77
+ */
78
+ onChange?: (val: {
79
+ value: string;
80
+ error?: string;
81
+ }) => void;
82
+ /**
83
+ * This function will be called when the input element loses the focus.
84
+ * An object including the input value and the error (if the value
85
+ * entered is not valid) will be passed to this function. If there is no error,
86
+ * error will not be defined.
87
+ */
88
+ onBlur?: (val: {
89
+ value: string;
90
+ error?: string;
91
+ }) => void;
92
+ /**
93
+ * If it is a defined value and also a truthy string, the component will
94
+ * change its appearance, showing the error below the input component. If
95
+ * the defined value is an empty string, it will reserve a space below
96
+ * the component for a future error, but it would not change its look. In
97
+ * case of being undefined or null, both the appearance and the space for
98
+ * the error message would not be modified.
99
+ */
100
+ error?: string;
101
+ /**
102
+ * HTML autocomplete attribute. Lets the user specify if any permission the user agent has to provide automated assistance in filling out the input value.
103
+ * Its value must be one of all the possible values of the HTML autocomplete attribute: 'on', 'off', 'email', 'username', 'new-password', ...
104
+ */
105
+ autocomplete?: string;
106
+ /**
107
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
108
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
109
+ */
110
+ margin?: Space | Margin;
111
+ /**
112
+ * Size of the component.
113
+ */
114
+ size?: "small" | "medium" | "large" | "fillParent";
115
+ /**
116
+ * Value of the tabindex attribute.
117
+ */
118
+ tabIndex?: number;
119
+ };
120
+ /**
121
+ * Reference to the component.
122
+ */
123
+ export declare type RefType = HTMLDivElement;
124
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/package.json CHANGED
@@ -1,42 +1,36 @@
1
1
  {
2
2
  "name": "@dxc-technology/halstack-react",
3
- "version": "0.0.0-28a98e5",
3
+ "version": "0.0.0-293a019",
4
4
  "description": "DXC Halstack React components library",
5
5
  "repository": "dxc-technology/halstack-react",
6
- "homepage": "http://developer.dxc.com/tools/react",
6
+ "homepage": "https://developer.dxc.com/halstack",
7
7
  "license": "Apache-2.0",
8
8
  "author": {
9
9
  "name": "DXC Technology",
10
10
  "email": "DigitalInsurance@dxc.com",
11
- "url": "https://dxc.com"
11
+ "url": "https://developer.dxc.com"
12
12
  },
13
13
  "main": "./main.js",
14
14
  "types": "./main.d.ts",
15
15
  "peerDependencies": {
16
- "react": "^17.0.1",
17
- "react-dom": "^17.0.1",
16
+ "react": "^18.x",
17
+ "react-dom": "^18.x",
18
18
  "styled-components": "^5.0.1"
19
19
  },
20
20
  "dependencies": {
21
- "@date-io/date-fns": "^1.3.9",
22
- "@material-ui/core": "4.11.1",
23
- "@material-ui/icons": "4.4.3",
24
- "@material-ui/lab": "4.0.0-alpha.17",
25
- "@material-ui/pickers": "3.2.2",
26
- "@material-ui/styles": "4.0.2",
27
- "@testing-library/user-event": "^12.6.3",
21
+ "@radix-ui/react-popover": "0.1.6",
22
+ "@types/styled-components": "^5.1.24",
23
+ "@types/uuid": "^8.3.4",
28
24
  "color": "^3.1.3",
29
- "date-fns": "^2.0.0-beta.4",
30
- "moment": "2.24.0",
31
- "prop-types": "^15.7.2",
32
- "rgb-hex": "^3.0.0",
25
+ "dayjs": "^1.11.1",
26
+ "slugify": "^1.6.5",
33
27
  "uuid": "^8.3.2"
34
28
  },
35
29
  "scripts": {
36
- "test": "jest",
30
+ "test": "jest --env=jsdom",
37
31
  "test:watch": "npm test -- --watch --coverage",
38
- "build": "babel src --extensions '.js,.jsx,.ts,.tsx' --out-dir ../dist --copy-files --verbose && node ../scripts/build/copy-package.js && tsc ",
39
- "build:watch": "babel src --watch --out-dir ../dist --copy-files --verbose",
32
+ "build": "babel src --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose && node ../scripts/build/copy-package.js && tsc ",
33
+ "build:watch": "babel src --watch --extensions .js,.jsx,.ts,.tsx --out-dir ../dist --copy-files --verbose",
40
34
  "storybook": "start-storybook -p 6006",
41
35
  "build-storybook": "build-storybook"
42
36
  },
@@ -54,7 +48,10 @@
54
48
  "@storybook/addon-links": "^6.4.9",
55
49
  "@storybook/react": "^6.4.9",
56
50
  "@storybook/testing-library": "0.0.7",
57
- "@testing-library/react": "^11.2.5",
51
+ "@testing-library/react": "^13.0.0",
52
+ "@testing-library/user-event": "^13.0.0",
53
+ "@types/color": "^3.0.3",
54
+ "@types/react": "^18.0.18",
58
55
  "babel-jest": "^24.8.0",
59
56
  "babel-loader": "^8.0.6",
60
57
  "chromatic": "^6.3.3",
@@ -68,9 +65,10 @@
68
65
  "eslint-plugin-react-hooks": "^4.2.0",
69
66
  "eslint-plugin-storybook": "^0.5.5",
70
67
  "identity-obj-proxy": "^3.0.0",
71
- "jest": "^25.5.4",
72
- "react": "^17.0.1",
73
- "react-dom": "^17.0.1",
68
+ "jest": "^29.2.2",
69
+ "jest-environment-jsdom": "^29.3.1",
70
+ "react": "^18.x",
71
+ "react-dom": "^18.x",
74
72
  "react-test-renderer": "^16.8.6",
75
73
  "storybook-addon-pseudo-states": "^1.0.0",
76
74
  "styled-components": "^5.0.1",
@@ -80,7 +78,8 @@
80
78
  "moduleNameMapper": {
81
79
  "\\.(css|less|scss|sass)$": "identity-obj-proxy",
82
80
  "\\.(svg)$": "<rootDir>/test/mocks/svgMock.js",
83
- "\\.(png)$": "<rootDir>/test/mocks/pngMock.js"
81
+ "\\.(png)$": "<rootDir>/test/mocks/pngMock.js",
82
+ "^uuid$": "uuid"
84
83
  }
85
84
  }
86
85
  }
@@ -0,0 +1,5 @@
1
+ /// <reference types="react" />
2
+ export declare const firstIcon: JSX.Element;
3
+ export declare const previousIcon: JSX.Element;
4
+ export declare const nextIcon: JSX.Element;
5
+ export declare const lastIcon: JSX.Element;
@@ -11,56 +11,44 @@ var _react = _interopRequireDefault(require("react"));
11
11
 
12
12
  var firstIcon = /*#__PURE__*/_react["default"].createElement("svg", {
13
13
  xmlns: "http://www.w3.org/2000/svg",
14
- width: "12.41",
15
- height: "12",
16
- viewBox: "0 0 12.41 12"
14
+ height: "24",
15
+ width: "24",
16
+ fill: "currentColor"
17
17
  }, /*#__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)"
18
+ d: "M6 18V6h2v12Zm11 0-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z"
22
19
  }));
23
20
 
24
21
  exports.firstIcon = firstIcon;
25
22
 
26
23
  var previousIcon = /*#__PURE__*/_react["default"].createElement("svg", {
27
24
  xmlns: "http://www.w3.org/2000/svg",
28
- width: "7.41",
29
- height: "12",
30
- viewBox: "0 0 7.41 12"
25
+ height: "24",
26
+ width: "24",
27
+ fill: "currentColor"
31
28
  }, /*#__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)"
29
+ d: "m14 18-6-6 6-6 1.4 1.4-4.6 4.6 4.6 4.6Z"
36
30
  }));
37
31
 
38
32
  exports.previousIcon = previousIcon;
39
33
 
40
34
  var nextIcon = /*#__PURE__*/_react["default"].createElement("svg", {
41
35
  xmlns: "http://www.w3.org/2000/svg",
42
- width: "7.41",
43
- height: "12",
44
- viewBox: "0 0 7.41 12"
36
+ height: "24",
37
+ width: "24",
38
+ fill: "currentColor"
45
39
  }, /*#__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)"
40
+ d: "M9.4 18 8 16.6l4.6-4.6L8 7.4 9.4 6l6 6Z"
50
41
  }));
51
42
 
52
43
  exports.nextIcon = nextIcon;
53
44
 
54
45
  var lastIcon = /*#__PURE__*/_react["default"].createElement("svg", {
55
46
  xmlns: "http://www.w3.org/2000/svg",
56
- width: "12.41",
57
- height: "12",
58
- viewBox: "0 0 12.41 12"
47
+ height: "24",
48
+ width: "24",
49
+ fill: "currentColor"
59
50
  }, /*#__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)"
51
+ d: "m7 18-1.4-1.4 4.6-4.6-4.6-4.6L7 6l6 6Zm9 0V6h2v12Z"
64
52
  }));
65
53
 
66
54
  exports.lastIcon = lastIcon;
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import PaginatorPropsType from "./types";
3
+ declare const DxcPaginator: ({ currentPage, itemsPerPage, itemsPerPageOptions, totalItems, showGoToPage, onPageChange, itemsPerPageFunction, tabIndex, }: PaginatorPropsType) => JSX.Element;
4
+ export default DxcPaginator;
@@ -11,15 +11,13 @@ exports["default"] = void 0;
11
11
 
12
12
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
13
 
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
14
  var _react = _interopRequireDefault(require("react"));
17
15
 
18
16
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
17
 
20
- var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
21
19
 
22
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
20
+ var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
23
21
 
24
22
  var _Button = _interopRequireDefault(require("../button/Button"));
25
23
 
@@ -27,9 +25,9 @@ var _Select = _interopRequireDefault(require("../select/Select"));
27
25
 
28
26
  var _Icons = require("./Icons");
29
27
 
30
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
28
+ var _BackgroundColorContext = require("../BackgroundColorContext");
31
29
 
32
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
30
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8;
33
31
 
34
32
  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); }
35
33
 
@@ -53,13 +51,12 @@ var DxcPaginator = function DxcPaginator(_ref) {
53
51
  var minItemsPerPage = currentPageInternal === 1 || currentPageInternal === 0 ? currentPageInternal : (currentPageInternal - 1) * itemsPerPage + 1;
54
52
  var maxItemsPerPage = minItemsPerPage - 1 + itemsPerPage > totalItems ? totalItems : minItemsPerPage - 1 + itemsPerPage;
55
53
  var colorsTheme = (0, _useTheme["default"])();
54
+ var translatedLabels = (0, _useTranslatedLabels["default"])();
56
55
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
57
56
  theme: colorsTheme.paginator
58
57
  }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
59
58
  color: colorsTheme.paginator.backgroundColor
60
- }, /*#__PURE__*/_react["default"].createElement(DxcPaginatorContainer, {
61
- disabled: currentPageInternal === 1
62
- }, /*#__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"], {
59
+ }, /*#__PURE__*/_react["default"].createElement(DxcPaginatorContainer, null, /*#__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"], {
63
60
  options: itemsPerPageOptions.map(function (num) {
64
61
  return {
65
62
  label: num.toString(),
@@ -71,38 +68,25 @@ var DxcPaginator = function DxcPaginator(_ref) {
71
68
  },
72
69
  value: itemsPerPage.toString(),
73
70
  size: "fillParent",
74
- margin: {
75
- top: "xsmall"
76
- },
77
71
  tabIndex: tabIndex
78
- }))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, minItemsPerPage, " to ", maxItemsPerPage, " of ", totalItems), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
79
- size: "small",
72
+ }))), /*#__PURE__*/_react["default"].createElement(TotalItemsContainer, null, translatedLabels.paginator.minToMaxOfText(minItemsPerPage, maxItemsPerPage, totalItems)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
80
73
  mode: "secondary",
81
74
  disabled: currentPageInternal === 1 || currentPageInternal === 0,
82
- margin: {
83
- left: "xxsmall",
84
- right: "xxsmall"
85
- },
86
75
  icon: _Icons.firstIcon,
87
76
  tabIndex: tabIndex,
88
77
  onClick: function onClick() {
89
78
  onPageChange(1);
90
79
  }
91
80
  }), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
92
- size: "small",
93
81
  mode: "secondary",
94
82
  disabled: currentPageInternal === 1 || currentPageInternal === 0,
95
- margin: {
96
- left: "xxsmall",
97
- right: "xxsmall"
98
- },
99
83
  icon: _Icons.previousIcon,
100
84
  tabIndex: tabIndex,
101
85
  onClick: function onClick() {
102
86
  onPageChange(currentPage - 1);
103
87
  }
104
- }), 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"], {
105
- options: (0, _toConsumableArray2["default"])(Array(totalPages).keys()).map(function (num) {
88
+ }), 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"], {
89
+ options: Array.from(Array(totalPages), function (e, num) {
106
90
  return {
107
91
  label: (num + 1).toString(),
108
92
  value: (num + 1).toString()
@@ -113,31 +97,18 @@ var DxcPaginator = function DxcPaginator(_ref) {
113
97
  },
114
98
  value: currentPage.toString(),
115
99
  size: "fillParent",
116
- margin: {
117
- top: "xsmall"
118
- },
119
100
  tabIndex: tabIndex
120
- }))) || /*#__PURE__*/_react["default"].createElement(TextContainer, null, "Page: ", currentPageInternal, " of ", totalPages), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
121
- size: "small",
101
+ }))) : /*#__PURE__*/_react["default"].createElement("span", null, translatedLabels.paginator.pageOfText(currentPageInternal, totalPages)), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
122
102
  mode: "secondary",
123
103
  disabled: currentPageInternal === totalPages,
124
- margin: {
125
- left: "xxsmall",
126
- right: "xxsmall"
127
- },
128
104
  icon: _Icons.nextIcon,
129
105
  tabIndex: tabIndex,
130
106
  onClick: function onClick() {
131
107
  onPageChange(currentPage + 1);
132
108
  }
133
109
  }), onPageChange && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
134
- size: "small",
135
110
  mode: "secondary",
136
111
  disabled: currentPageInternal === totalPages,
137
- margin: {
138
- left: "xxsmall",
139
- right: "xxsmall"
140
- },
141
112
  icon: _Icons.lastIcon,
142
113
  tabIndex: tabIndex,
143
114
  onClick: function onClick() {
@@ -146,11 +117,7 @@ var DxcPaginator = function DxcPaginator(_ref) {
146
117
  })))));
147
118
  };
148
119
 
149
- 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) {
150
- return props.theme.height;
151
- }, function (props) {
152
- return props.theme.width;
153
- }, function (props) {
120
+ 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) {
154
121
  return props.theme.fontFamily;
155
122
  }, function (props) {
156
123
  return props.theme.fontSize;
@@ -164,19 +131,23 @@ var DxcPaginatorContainer = _styledComponents["default"].div(_templateObject ||
164
131
  return props.theme.backgroundColor;
165
132
  }, function (props) {
166
133
  return props.theme.fontColor;
134
+ }, function (props) {
135
+ return props.theme.verticalPadding;
136
+ }, function (props) {
137
+ return props.theme.horizontalPadding;
167
138
  });
168
139
 
169
- var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n max-width: 100px;\n"])));
140
+ var SelectContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: 5.25rem;\n"])));
170
141
 
171
- 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) {
142
+ 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) {
172
143
  return props.theme.itemsPerPageSelectorMarginRight;
173
144
  }, function (props) {
174
145
  return props.theme.itemsPerPageSelectorMarginLeft;
175
146
  });
176
147
 
177
- var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 15px;\n"])));
148
+ var ItemsLabel = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n"])));
178
149
 
179
- var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 10px;\n margin-left: 10px;\n"])));
150
+ var GoToLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: 0.5rem;\n margin-left: 0.5rem;\n"])));
180
151
 
181
152
  var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n margin-right: ", ";\n margin-left: ", ";\n"])), function (props) {
182
153
  return props.theme.totalItemsContainerMarginRight;
@@ -184,38 +155,9 @@ var TotalItemsContainer = _styledComponents["default"].span(_templateObject6 ||
184
155
  return props.theme.totalItemsContainerMarginLeft;
185
156
  });
186
157
 
187
- 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) {
188
- return props.theme.marginRight;
189
- }, function (props) {
190
- return props.theme.marginLeft;
191
- });
158
+ 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"])));
192
159
 
193
- 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) {
194
- return props.theme.pageSelectorMarginRight;
195
- }, function (props) {
196
- return props.theme.pageSelectorMarginLeft;
197
- });
160
+ var PageToSelectContainer = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n margin-right: 0.5rem;\n"])));
198
161
 
199
- var TextContainer = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])([""])));
200
-
201
- DxcPaginator.propTypes = {
202
- currentPage: _propTypes["default"].number,
203
- itemsPerPage: _propTypes["default"].number,
204
- itemsPerPageOptions: _propTypes["default"].arrayOf(_propTypes["default"].number),
205
- totalItems: _propTypes["default"].number.isRequired,
206
- showGoToPage: _propTypes["default"].bool,
207
- onPageChange: _propTypes["default"].func,
208
- itemsPerPageFunction: _propTypes["default"].func,
209
- tabIndex: _propTypes["default"].number
210
- };
211
- DxcPaginator.defaultProps = {
212
- currentPage: 1,
213
- itemsPerPage: 5,
214
- itemsPerPageOptions: null,
215
- showGoToPage: false,
216
- onPageChange: null,
217
- itemsPerPageFunction: null,
218
- tabIndex: 0
219
- };
220
162
  var _default = DxcPaginator;
221
163
  exports["default"] = _default;
@@ -0,0 +1,87 @@
1
+ import React from "react";
2
+ import DxcPaginator from "./Paginator";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { HalstackProvider } from "../HalstackContext";
6
+
7
+ export default {
8
+ title: "Paginator",
9
+ component: DxcPaginator,
10
+ };
11
+
12
+ const opinionatedTheme = {
13
+ paginator: {
14
+ baseColor: "#f2f2f2",
15
+ fontColor: "#000000",
16
+ },
17
+ };
18
+
19
+ export const Chromatic = () => (
20
+ <>
21
+ <ExampleContainer>
22
+ <Title title="Default" theme="light" level={4} />
23
+ <DxcPaginator />
24
+ </ExampleContainer>
25
+ <ExampleContainer>
26
+ <Title title="Default with items per page options" theme="light" level={4} />
27
+ <DxcPaginator itemsPerPageOptions={[5, 10, 15]} />
28
+ </ExampleContainer>
29
+ <ExampleContainer>
30
+ <Title title="Default with show go to page selector" theme="light" level={4} />
31
+ <DxcPaginator showGoToPage />
32
+ </ExampleContainer>
33
+ <ExampleContainer>
34
+ <Title title="Page change in first page" theme="light" level={4} />
35
+ <DxcPaginator currentPage={1} itemsPerPage={10} totalItems={27} onPageChange={() => {}} />
36
+ </ExampleContainer>
37
+ <ExampleContainer>
38
+ <Title title="Page change in middle page" theme="light" level={4} />
39
+ <DxcPaginator currentPage={2} itemsPerPage={10} totalItems={27} onPageChange={() => {}} />
40
+ </ExampleContainer>
41
+ <ExampleContainer>
42
+ <Title title="Page change in last page" theme="light" level={4} />
43
+ <DxcPaginator currentPage={3} itemsPerPage={10} totalItems={27} onPageChange={() => {}} />
44
+ </ExampleContainer>
45
+ <ExampleContainer>
46
+ <Title title="Page change and items per page options" theme="light" level={4} />
47
+ <DxcPaginator
48
+ currentPage={1}
49
+ itemsPerPage={10}
50
+ totalItems={27}
51
+ onPageChange={() => {}}
52
+ itemsPerPageOptions={[5, 10, 15]}
53
+ />
54
+ </ExampleContainer>
55
+ <ExampleContainer>
56
+ <Title title="Page change and show go to page selector" theme="light" level={4} />
57
+ <DxcPaginator currentPage={1} itemsPerPage={10} totalItems={27} onPageChange={() => {}} showGoToPage />
58
+ </ExampleContainer>
59
+ <ExampleContainer>
60
+ <Title title="Page change, show go to page and items per page selectors" theme="light" level={4} />
61
+ <DxcPaginator
62
+ currentPage={1}
63
+ itemsPerPage={10}
64
+ totalItems={27}
65
+ onPageChange={() => {}}
66
+ itemsPerPageOptions={[5, 10, 15]}
67
+ showGoToPage
68
+ />
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>
86
+ </>
87
+ );