@dxc-technology/halstack-react 0.0.0-227874a → 0.0.0-22b474c

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 +8 -7
  3. package/HalstackContext.d.ts +1339 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +124 -243
  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 +70 -107
  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 +45 -157
  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 +15 -17
  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 +39 -81
  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 +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +4 -0
  44. package/button/Button.js +60 -145
  45. package/button/Button.stories.tsx +425 -0
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +53 -0
  48. package/button/types.js +5 -0
  49. package/card/Card.d.ts +4 -0
  50. package/card/Card.js +53 -147
  51. package/card/Card.stories.tsx +200 -0
  52. package/card/Card.test.js +50 -0
  53. package/card/ice-cream.jpg +0 -0
  54. package/card/types.d.ts +68 -0
  55. package/card/types.js +5 -0
  56. package/checkbox/Checkbox.d.ts +4 -0
  57. package/checkbox/Checkbox.js +112 -161
  58. package/checkbox/Checkbox.stories.tsx +260 -0
  59. package/checkbox/Checkbox.test.js +155 -0
  60. package/checkbox/types.d.ts +68 -0
  61. package/checkbox/types.js +5 -0
  62. package/chip/Chip.d.ts +4 -0
  63. package/chip/Chip.js +32 -144
  64. package/chip/Chip.stories.tsx +206 -0
  65. package/chip/Chip.test.js +54 -0
  66. package/chip/types.d.ts +45 -0
  67. package/chip/types.js +5 -0
  68. package/common/utils.d.ts +1 -0
  69. package/common/utils.js +4 -4
  70. package/common/variables.d.ts +1625 -0
  71. package/common/variables.js +582 -644
  72. package/date-input/Calendar.d.ts +4 -0
  73. package/date-input/Calendar.js +258 -0
  74. package/date-input/DateInput.d.ts +4 -0
  75. package/date-input/DateInput.js +179 -310
  76. package/date-input/DateInput.stories.tsx +304 -0
  77. package/date-input/DateInput.test.js +835 -0
  78. package/date-input/DatePicker.d.ts +4 -0
  79. package/date-input/DatePicker.js +146 -0
  80. package/date-input/Icons.d.ts +6 -0
  81. package/date-input/Icons.js +75 -0
  82. package/date-input/YearPicker.d.ts +4 -0
  83. package/date-input/YearPicker.js +126 -0
  84. package/date-input/types.d.ts +158 -0
  85. package/date-input/types.js +5 -0
  86. package/dialog/Dialog.d.ts +4 -0
  87. package/dialog/Dialog.js +81 -150
  88. package/dialog/Dialog.stories.tsx +319 -0
  89. package/dialog/Dialog.test.js +369 -0
  90. package/dialog/types.d.ts +44 -0
  91. package/dialog/types.js +5 -0
  92. package/dropdown/Dropdown.d.ts +4 -0
  93. package/dropdown/Dropdown.js +246 -402
  94. package/dropdown/Dropdown.stories.tsx +438 -0
  95. package/dropdown/Dropdown.test.js +586 -0
  96. package/dropdown/DropdownMenu.d.ts +4 -0
  97. package/dropdown/DropdownMenu.js +70 -0
  98. package/dropdown/DropdownMenuItem.d.ts +4 -0
  99. package/dropdown/DropdownMenuItem.js +79 -0
  100. package/dropdown/types.d.ts +100 -0
  101. package/dropdown/types.js +5 -0
  102. package/file-input/FileInput.d.ts +4 -0
  103. package/file-input/FileInput.js +210 -307
  104. package/file-input/FileInput.stories.tsx +618 -0
  105. package/file-input/FileInput.test.js +457 -0
  106. package/file-input/FileItem.d.ts +4 -0
  107. package/file-input/FileItem.js +58 -183
  108. package/file-input/types.d.ts +129 -0
  109. package/file-input/types.js +5 -0
  110. package/flex/Flex.d.ts +4 -0
  111. package/flex/Flex.js +69 -0
  112. package/flex/Flex.stories.tsx +98 -0
  113. package/flex/types.d.ts +32 -0
  114. package/flex/types.js +5 -0
  115. package/footer/Footer.d.ts +4 -0
  116. package/footer/Footer.js +51 -289
  117. package/footer/Footer.stories.tsx +228 -0
  118. package/footer/Footer.test.js +97 -0
  119. package/footer/Icons.d.ts +2 -0
  120. package/footer/Icons.js +16 -16
  121. package/footer/types.d.ts +66 -0
  122. package/footer/types.js +5 -0
  123. package/grid/Grid.d.ts +7 -0
  124. package/grid/Grid.js +91 -0
  125. package/grid/Grid.stories.tsx +219 -0
  126. package/grid/types.d.ts +115 -0
  127. package/grid/types.js +5 -0
  128. package/header/Header.d.ts +8 -0
  129. package/header/Header.js +136 -303
  130. package/header/Header.stories.tsx +315 -0
  131. package/header/Header.test.js +79 -0
  132. package/header/Icons.d.ts +2 -0
  133. package/header/Icons.js +9 -34
  134. package/header/types.d.ts +48 -0
  135. package/header/types.js +5 -0
  136. package/heading/Heading.d.ts +4 -0
  137. package/heading/Heading.js +26 -97
  138. package/heading/Heading.stories.tsx +54 -0
  139. package/heading/Heading.test.js +186 -0
  140. package/heading/types.d.ts +33 -0
  141. package/heading/types.js +5 -0
  142. package/inset/Inset.d.ts +3 -0
  143. package/inset/Inset.js +51 -0
  144. package/inset/Inset.stories.tsx +230 -0
  145. package/inset/types.d.ts +37 -0
  146. package/inset/types.js +5 -0
  147. package/layout/ApplicationLayout.d.ts +20 -0
  148. package/layout/ApplicationLayout.js +77 -233
  149. package/layout/ApplicationLayout.stories.tsx +162 -0
  150. package/layout/Icons.d.ts +5 -0
  151. package/layout/Icons.js +19 -8
  152. package/layout/SidenavContext.d.ts +5 -0
  153. package/layout/SidenavContext.js +19 -0
  154. package/layout/types.d.ts +41 -0
  155. package/layout/types.js +5 -0
  156. package/link/Link.d.ts +4 -0
  157. package/link/Link.js +66 -167
  158. package/link/Link.stories.tsx +253 -0
  159. package/link/Link.test.js +81 -0
  160. package/link/types.d.ts +54 -0
  161. package/link/types.js +5 -0
  162. package/main.d.ts +45 -40
  163. package/main.js +122 -104
  164. package/nav-tabs/NavTabs.d.ts +8 -0
  165. package/nav-tabs/NavTabs.js +125 -0
  166. package/nav-tabs/NavTabs.stories.tsx +260 -0
  167. package/nav-tabs/NavTabs.test.js +82 -0
  168. package/nav-tabs/Tab.d.ts +4 -0
  169. package/nav-tabs/Tab.js +150 -0
  170. package/nav-tabs/types.d.ts +53 -0
  171. package/nav-tabs/types.js +5 -0
  172. package/number-input/NumberInput.d.ts +4 -0
  173. package/number-input/NumberInput.js +21 -81
  174. package/number-input/NumberInput.stories.tsx +115 -0
  175. package/number-input/NumberInput.test.js +542 -0
  176. package/number-input/NumberInputContext.d.ts +4 -0
  177. package/number-input/NumberInputContext.js +5 -2
  178. package/number-input/numberInputContextTypes.d.ts +19 -0
  179. package/number-input/numberInputContextTypes.js +5 -0
  180. package/number-input/types.d.ts +124 -0
  181. package/number-input/types.js +5 -0
  182. package/package.json +35 -33
  183. package/paginator/Icons.d.ts +5 -0
  184. package/paginator/Icons.js +25 -37
  185. package/paginator/Paginator.d.ts +4 -0
  186. package/paginator/Paginator.js +30 -172
  187. package/paginator/Paginator.stories.tsx +87 -0
  188. package/paginator/Paginator.test.js +305 -0
  189. package/paginator/types.d.ts +38 -0
  190. package/paginator/types.js +5 -0
  191. package/paragraph/Paragraph.d.ts +5 -0
  192. package/paragraph/Paragraph.js +38 -0
  193. package/paragraph/Paragraph.stories.tsx +44 -0
  194. package/password-input/PasswordInput.d.ts +4 -0
  195. package/password-input/PasswordInput.js +40 -77
  196. package/password-input/PasswordInput.stories.tsx +131 -0
  197. package/password-input/PasswordInput.test.js +181 -0
  198. package/password-input/types.d.ts +110 -0
  199. package/password-input/types.js +5 -0
  200. package/progress-bar/ProgressBar.d.ts +4 -0
  201. package/progress-bar/ProgressBar.js +76 -142
  202. package/progress-bar/ProgressBar.stories.jsx +93 -0
  203. package/progress-bar/ProgressBar.test.js +110 -0
  204. package/progress-bar/types.d.ts +37 -0
  205. package/progress-bar/types.js +5 -0
  206. package/quick-nav/QuickNav.d.ts +4 -0
  207. package/quick-nav/QuickNav.js +117 -0
  208. package/quick-nav/QuickNav.stories.tsx +356 -0
  209. package/quick-nav/types.d.ts +21 -0
  210. package/quick-nav/types.js +5 -0
  211. package/radio-group/Radio.d.ts +4 -0
  212. package/radio-group/Radio.js +156 -0
  213. package/radio-group/RadioGroup.d.ts +4 -0
  214. package/radio-group/RadioGroup.js +283 -0
  215. package/radio-group/RadioGroup.stories.tsx +214 -0
  216. package/radio-group/RadioGroup.test.js +722 -0
  217. package/radio-group/types.d.ts +114 -0
  218. package/radio-group/types.js +5 -0
  219. package/resultsetTable/Icons.d.ts +7 -0
  220. package/resultsetTable/Icons.js +51 -0
  221. package/resultsetTable/ResultsetTable.d.ts +4 -0
  222. package/resultsetTable/ResultsetTable.js +61 -224
  223. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  224. package/resultsetTable/ResultsetTable.test.js +325 -0
  225. package/resultsetTable/types.d.ts +67 -0
  226. package/resultsetTable/types.js +5 -0
  227. package/select/Icons.d.ts +10 -0
  228. package/select/Icons.js +93 -0
  229. package/select/Listbox.d.ts +4 -0
  230. package/select/Listbox.js +169 -0
  231. package/select/Option.d.ts +4 -0
  232. package/select/Option.js +97 -0
  233. package/select/Select.d.ts +4 -0
  234. package/select/Select.js +281 -751
  235. package/select/Select.stories.tsx +971 -0
  236. package/select/Select.test.js +2228 -0
  237. package/select/types.d.ts +210 -0
  238. package/select/types.js +5 -0
  239. package/sidenav/Icons.d.ts +7 -0
  240. package/sidenav/Icons.js +51 -0
  241. package/sidenav/Sidenav.d.ts +10 -0
  242. package/sidenav/Sidenav.js +155 -94
  243. package/sidenav/Sidenav.stories.tsx +282 -0
  244. package/sidenav/Sidenav.test.js +44 -0
  245. package/sidenav/types.d.ts +76 -0
  246. package/sidenav/types.js +5 -0
  247. package/slider/Slider.d.ts +4 -0
  248. package/slider/Slider.js +167 -229
  249. package/slider/Slider.stories.tsx +240 -0
  250. package/slider/Slider.test.js +250 -0
  251. package/slider/types.d.ts +86 -0
  252. package/slider/types.js +5 -0
  253. package/spinner/Spinner.d.ts +4 -0
  254. package/spinner/Spinner.js +57 -194
  255. package/spinner/Spinner.stories.jsx +129 -0
  256. package/spinner/Spinner.test.js +64 -0
  257. package/spinner/types.d.ts +32 -0
  258. package/spinner/types.js +5 -0
  259. package/switch/Switch.d.ts +4 -0
  260. package/switch/Switch.js +163 -123
  261. package/switch/Switch.stories.tsx +171 -0
  262. package/switch/Switch.test.js +225 -0
  263. package/switch/types.d.ts +66 -0
  264. package/switch/types.js +5 -0
  265. package/table/Table.d.ts +4 -0
  266. package/table/Table.js +14 -28
  267. package/table/Table.stories.jsx +356 -0
  268. package/table/Table.test.js +26 -0
  269. package/table/types.d.ts +21 -0
  270. package/table/types.js +5 -0
  271. package/tabs/Tab.d.ts +4 -0
  272. package/tabs/Tab.js +132 -0
  273. package/tabs/Tabs.d.ts +4 -0
  274. package/tabs/Tabs.js +351 -233
  275. package/tabs/Tabs.stories.tsx +226 -0
  276. package/tabs/Tabs.test.js +350 -0
  277. package/tabs/types.d.ts +92 -0
  278. package/tabs/types.js +5 -0
  279. package/tag/Tag.d.ts +4 -0
  280. package/tag/Tag.js +47 -148
  281. package/tag/Tag.stories.tsx +155 -0
  282. package/tag/Tag.test.js +60 -0
  283. package/tag/types.d.ts +69 -0
  284. package/tag/types.js +5 -0
  285. package/text-input/Icons.d.ts +8 -0
  286. package/text-input/Icons.js +60 -0
  287. package/text-input/Suggestion.d.ts +4 -0
  288. package/text-input/Suggestion.js +84 -0
  289. package/text-input/Suggestions.d.ts +4 -0
  290. package/text-input/Suggestions.js +134 -0
  291. package/text-input/TextInput.d.ts +4 -0
  292. package/text-input/TextInput.js +262 -579
  293. package/text-input/TextInput.stories.tsx +569 -0
  294. package/text-input/TextInput.test.js +1723 -0
  295. package/text-input/types.d.ts +197 -0
  296. package/text-input/types.js +5 -0
  297. package/textarea/Textarea.d.ts +4 -0
  298. package/textarea/Textarea.js +51 -144
  299. package/textarea/Textarea.stories.jsx +216 -0
  300. package/textarea/Textarea.test.js +435 -0
  301. package/textarea/types.d.ts +137 -0
  302. package/textarea/types.js +5 -0
  303. package/toggle-group/ToggleGroup.d.ts +4 -0
  304. package/toggle-group/ToggleGroup.js +42 -151
  305. package/toggle-group/ToggleGroup.stories.tsx +215 -0
  306. package/toggle-group/ToggleGroup.test.js +156 -0
  307. package/toggle-group/types.d.ts +105 -0
  308. package/toggle-group/types.js +5 -0
  309. package/typography/Typography.d.ts +4 -0
  310. package/typography/Typography.js +32 -0
  311. package/typography/Typography.stories.tsx +198 -0
  312. package/typography/types.d.ts +18 -0
  313. package/typography/types.js +5 -0
  314. package/useTheme.d.ts +1235 -0
  315. package/useTheme.js +3 -3
  316. package/useTranslatedLabels.d.ts +85 -0
  317. package/useTranslatedLabels.js +20 -0
  318. package/utils/BaseTypography.d.ts +21 -0
  319. package/utils/BaseTypography.js +108 -0
  320. package/utils/FocusLock.d.ts +13 -0
  321. package/utils/FocusLock.js +139 -0
  322. package/wizard/Wizard.d.ts +4 -0
  323. package/wizard/Wizard.js +134 -254
  324. package/wizard/Wizard.stories.tsx +253 -0
  325. package/wizard/Wizard.test.js +141 -0
  326. package/wizard/types.d.ts +64 -0
  327. package/wizard/types.js +5 -0
  328. package/ThemeContext.js +0 -250
  329. package/V3Select/V3Select.js +0 -549
  330. package/V3Select/index.d.ts +0 -27
  331. package/V3Textarea/V3Textarea.js +0 -264
  332. package/V3Textarea/index.d.ts +0 -27
  333. package/accordion/index.d.ts +0 -28
  334. package/accordion-group/index.d.ts +0 -16
  335. package/alert/index.d.ts +0 -51
  336. package/box/index.d.ts +0 -25
  337. package/button/Button.stories.js +0 -27
  338. package/button/index.d.ts +0 -24
  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 -40
  343. package/date/Date.js +0 -379
  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 -705
  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 -209
  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 -220
  374. package/toggle/index.d.ts +0 -21
  375. package/toggle-group/index.d.ts +0 -21
  376. package/upload/Upload.js +0 -205
  377. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  378. package/upload/buttons-upload/Icons.js +0 -40
  379. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  380. package/upload/dragAndDropArea/Icons.js +0 -39
  381. package/upload/file-upload/FileToUpload.js +0 -189
  382. package/upload/file-upload/Icons.js +0 -66
  383. package/upload/files-upload/FilesToUpload.js +0 -123
  384. package/upload/index.d.ts +0 -15
  385. package/upload/transaction/Icons.js +0 -160
  386. package/upload/transaction/Transaction.js +0 -148
  387. package/upload/transactions/Transactions.js +0 -138
  388. package/wizard/Icons.js +0 -65
  389. package/wizard/index.d.ts +0 -18
@@ -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
+ );
@@ -0,0 +1,305 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
6
+
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+
9
+ var _react = _interopRequireDefault(require("react"));
10
+
11
+ var _react2 = require("@testing-library/react");
12
+
13
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
+
15
+ var _Paginator = _interopRequireDefault(require("./Paginator.tsx"));
16
+
17
+ // Mocking DOMRect for Radix Primitive Popover
18
+ global.globalThis = global;
19
+ global.DOMRect = {
20
+ fromRect: function fromRect() {
21
+ return {
22
+ top: 0,
23
+ left: 0,
24
+ bottom: 0,
25
+ right: 0,
26
+ width: 0,
27
+ height: 0
28
+ };
29
+ }
30
+ };
31
+
32
+ global.ResizeObserver = /*#__PURE__*/function () {
33
+ function ResizeObserver() {
34
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
35
+ }
36
+
37
+ (0, _createClass2["default"])(ResizeObserver, [{
38
+ key: "observe",
39
+ value: function observe() {}
40
+ }, {
41
+ key: "unobserve",
42
+ value: function unobserve() {}
43
+ }, {
44
+ key: "disconnect",
45
+ value: function disconnect() {}
46
+ }]);
47
+ return ResizeObserver;
48
+ }();
49
+
50
+ global.DOMRect = {
51
+ fromRect: function fromRect() {
52
+ return {
53
+ top: 0,
54
+ left: 0,
55
+ bottom: 0,
56
+ right: 0,
57
+ width: 0,
58
+ height: 0
59
+ };
60
+ }
61
+ };
62
+ describe("Paginator component tests", function () {
63
+ test("Paginator renders with default values", function () {
64
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], null)),
65
+ getByText = _render.getByText;
66
+
67
+ expect(getByText("1 to 1 of 1")).toBeTruthy();
68
+ expect(getByText("Page: 1 of 1")).toBeTruthy();
69
+ });
70
+ test("Paginator renders with currentPage", function () {
71
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
72
+ currentPage: 2
73
+ })),
74
+ getByText = _render2.getByText;
75
+
76
+ expect(getByText("Page: 2 of 1")).toBeTruthy();
77
+ });
78
+ test("Paginator renders with itemsPerPageOptions", function () {
79
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
80
+ currentPage: 1,
81
+ itemsPerPage: 10,
82
+ itemsPerPageOptions: [10, 15],
83
+ totalItems: 20
84
+ })),
85
+ getByText = _render3.getByText;
86
+
87
+ expect(getByText("Items per page:")).toBeTruthy();
88
+ expect(getByText("1 to 10 of 20")).toBeTruthy();
89
+ expect(getByText("Page: 1 of 2")).toBeTruthy();
90
+ });
91
+ test("Paginator renders with totalItems", function () {
92
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
93
+ totalItems: 20
94
+ })),
95
+ getByText = _render4.getByText;
96
+
97
+ expect(getByText("1 to 5 of 20")).toBeTruthy();
98
+ expect(getByText("Page: 1 of 4")).toBeTruthy();
99
+ });
100
+ test("Paginator renders with correct text in second page", function () {
101
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
102
+ currentPage: 2,
103
+ itemsPerPage: 10,
104
+ totalItems: 20
105
+ })),
106
+ getByText = _render5.getByText;
107
+
108
+ expect(getByText("11 to 20 of 20")).toBeTruthy();
109
+ expect(getByText("Page: 2 of 2")).toBeTruthy();
110
+ });
111
+ test("Paginator renders goToPage select", function () {
112
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
113
+ currentPage: 2,
114
+ showGoToPage: true,
115
+ itemsPerPage: 10,
116
+ totalItems: 20
117
+ })),
118
+ getByText = _render6.getByText;
119
+
120
+ expect(getByText("Go to page:")).toBeTruthy();
121
+ });
122
+ test("Paginator goToPage call correct function", function () {
123
+ var onClick = jest.fn();
124
+
125
+ window.HTMLElement.prototype.scrollIntoView = function () {};
126
+
127
+ window.HTMLElement.prototype.scrollTo = function () {};
128
+
129
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
130
+ currentPage: 1,
131
+ itemsPerPage: 10,
132
+ totalItems: 27,
133
+ showGoToPage: true,
134
+ onPageChange: onClick
135
+ })),
136
+ getByText = _render7.getByText,
137
+ getAllByRole = _render7.getAllByRole;
138
+
139
+ var goToPageSelect = getAllByRole("combobox")[0];
140
+ (0, _react2.act)(function () {
141
+ _userEvent["default"].click(goToPageSelect);
142
+ });
143
+ var goToPageOption = getByText("2");
144
+ (0, _react2.act)(function () {
145
+ _userEvent["default"].click(goToPageOption);
146
+ });
147
+ expect(onClick).toHaveBeenCalledWith(2);
148
+ });
149
+ test("Call correct goToPageFunction", function () {
150
+ var onClick = jest.fn();
151
+
152
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
153
+ onPageChange: onClick,
154
+ currentPage: 1,
155
+ itemsPerPage: 10,
156
+ totalItems: 20
157
+ })),
158
+ getAllByRole = _render8.getAllByRole;
159
+
160
+ var nextButton = getAllByRole("button")[2];
161
+
162
+ _userEvent["default"].click(nextButton);
163
+
164
+ expect(onClick).toHaveBeenCalled();
165
+ });
166
+ test("Call correct itemsPerPageFunction", function () {
167
+ var onClick = jest.fn();
168
+
169
+ window.HTMLElement.prototype.scrollIntoView = function () {};
170
+
171
+ window.HTMLElement.prototype.scrollTo = function () {};
172
+
173
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
174
+ currentPage: 1,
175
+ itemsPerPage: 10,
176
+ itemsPerPageOptions: [10, 15],
177
+ itemsPerPageFunction: onClick,
178
+ totalItems: 20
179
+ })),
180
+ getAllByText = _render9.getAllByText,
181
+ getByText = _render9.getByText;
182
+
183
+ var select = getAllByText("10")[0];
184
+ (0, _react2.act)(function () {
185
+ _userEvent["default"].click(select);
186
+ });
187
+ var itemPerPageOption = getByText("15");
188
+ (0, _react2.act)(function () {
189
+ _userEvent["default"].click(itemPerPageOption);
190
+ });
191
+ expect(onClick).toHaveBeenCalledWith(15);
192
+ });
193
+ test("Next button is disable in last page", function () {
194
+ var onClick = jest.fn();
195
+
196
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
197
+ onPageChange: onClick,
198
+ currentPage: 2,
199
+ itemsPerPage: 10,
200
+ totalItems: 20
201
+ })),
202
+ getAllByRole = _render10.getAllByRole;
203
+
204
+ var nextButton = getAllByRole("button")[2];
205
+ expect(nextButton.hasAttribute("disabled")).toBeTruthy();
206
+
207
+ _userEvent["default"].click(nextButton);
208
+
209
+ expect(onClick).toHaveBeenCalledTimes(0);
210
+ });
211
+ test("Last button is disable in last page", function () {
212
+ var onClick = jest.fn();
213
+
214
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
215
+ onPageChange: onClick,
216
+ currentPage: 2,
217
+ itemsPerPage: 10,
218
+ totalItems: 20
219
+ })),
220
+ getAllByRole = _render11.getAllByRole;
221
+
222
+ var lastButton = getAllByRole("button")[3];
223
+ expect(lastButton.hasAttribute("disabled")).toBeTruthy();
224
+
225
+ _userEvent["default"].click(lastButton);
226
+
227
+ expect(onClick).toHaveBeenCalledTimes(0);
228
+ });
229
+ test("First button is disable in first page", function () {
230
+ var onClick = jest.fn();
231
+
232
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
233
+ onPageChange: onClick,
234
+ currentPage: 1,
235
+ itemsPerPage: 10,
236
+ totalItems: 20
237
+ })),
238
+ getAllByRole = _render12.getAllByRole;
239
+
240
+ var lastButton = getAllByRole("button")[0];
241
+ expect(lastButton.hasAttribute("disabled")).toBeTruthy();
242
+
243
+ _userEvent["default"].click(lastButton);
244
+
245
+ expect(onClick).toHaveBeenCalledTimes(0);
246
+ });
247
+ test("Previous button is disable in first page", function () {
248
+ var onClick = jest.fn();
249
+
250
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
251
+ onPageChange: onClick,
252
+ currentPage: 1,
253
+ itemsPerPage: 10,
254
+ totalItems: 20
255
+ })),
256
+ getAllByRole = _render13.getAllByRole;
257
+
258
+ var lastButton = getAllByRole("button")[1];
259
+ expect(lastButton.hasAttribute("disabled")).toBeTruthy();
260
+
261
+ _userEvent["default"].click(lastButton);
262
+
263
+ expect(onClick).toHaveBeenCalledTimes(0);
264
+ });
265
+ test("Last and next buttons are disable in last page", function () {
266
+ var onClick = jest.fn();
267
+
268
+ var _render14 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
269
+ onPageChange: onClick,
270
+ currentPage: 2,
271
+ itemsPerPage: 10,
272
+ totalItems: 20
273
+ })),
274
+ getAllByRole = _render14.getAllByRole;
275
+
276
+ var firstButton = getAllByRole("button")[0];
277
+ var prevButton = getAllByRole("button")[1];
278
+ var nextButton = getAllByRole("button")[2];
279
+ var lastButton = getAllByRole("button")[3];
280
+ expect(firstButton.hasAttribute("disabled")).toBeFalsy();
281
+ expect(prevButton.hasAttribute("disabled")).toBeFalsy();
282
+ expect(nextButton.hasAttribute("disabled")).toBeTruthy();
283
+ expect(lastButton.hasAttribute("disabled")).toBeTruthy();
284
+ });
285
+ test("First and previous buttons are disable in first page", function () {
286
+ var onClick = jest.fn();
287
+
288
+ var _render15 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Paginator["default"], {
289
+ onPageChange: onClick,
290
+ currentPage: 1,
291
+ itemsPerPage: 10,
292
+ totalItems: 20
293
+ })),
294
+ getAllByRole = _render15.getAllByRole;
295
+
296
+ var firstButton = getAllByRole("button")[0];
297
+ var prevButton = getAllByRole("button")[1];
298
+ var nextButton = getAllByRole("button")[2];
299
+ var lastButton = getAllByRole("button")[3];
300
+ expect(firstButton.hasAttribute("disabled")).toBeTruthy();
301
+ expect(prevButton.hasAttribute("disabled")).toBeTruthy();
302
+ expect(nextButton.hasAttribute("disabled")).toBeFalsy();
303
+ expect(lastButton.hasAttribute("disabled")).toBeFalsy();
304
+ });
305
+ });
@@ -0,0 +1,38 @@
1
+ declare type Props = {
2
+ /**
3
+ * Number of the current selected page.
4
+ */
5
+ currentPage?: number;
6
+ /**
7
+ * Number of items per page.
8
+ */
9
+ itemsPerPage?: number;
10
+ /**
11
+ * Array of numbers representing the items per page options.
12
+ * If undefined, the select with items per page options will not be displayed.
13
+ */
14
+ itemsPerPageOptions?: number[];
15
+ /**
16
+ * This function will be called when the user selects an item per page option.
17
+ * The number will be passed as a parameter to this function.
18
+ */
19
+ itemsPerPageFunction?: (val: number) => void;
20
+ /**
21
+ * Total number of items in the pages.
22
+ */
23
+ totalItems?: number;
24
+ /**
25
+ * If true, a select will be displayed with the page numbers to move through them.
26
+ */
27
+ showGoToPage?: boolean;
28
+ /**
29
+ * This function will be called when the user clicks on any of the button to change pages.
30
+ * The page number will be passed as a parameter to this function.
31
+ */
32
+ onPageChange?: (val: number) => void;
33
+ /**
34
+ * Value of the tabindex attribute.
35
+ */
36
+ tabIndex?: number;
37
+ };
38
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ declare const DxcParagraph: ({ children }: {
3
+ children: React.ReactNode;
4
+ }) => JSX.Element;
5
+ export default DxcParagraph;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
15
+
16
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
17
+
18
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ var DxcParagraph = function DxcParagraph(_ref) {
25
+ var children = _ref.children;
26
+ var colorsTheme = (0, _useTheme["default"])();
27
+ var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
28
+ return /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
29
+ as: "p",
30
+ display: colorsTheme.paragraph.display,
31
+ fontSize: colorsTheme.paragraph.fontSize,
32
+ fontWeight: colorsTheme.paragraph.fontWeight,
33
+ color: backgroundType && backgroundType === "dark" ? colorsTheme.paragraph.fontColorOnDark : colorsTheme.paragraph.fontColor
34
+ }, children);
35
+ };
36
+
37
+ var _default = DxcParagraph;
38
+ exports["default"] = _default;
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import DxcParagraph from "./Paragraph";
4
+ import { BackgroundColorProvider } from "../BackgroundColorContext";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import DarkContainer from "../../.storybook/components/DarkSection";
7
+
8
+ export default {
9
+ title: "Paragraph",
10
+ component: DxcParagraph,
11
+ };
12
+
13
+ export const Chromatic = () => (
14
+ <>
15
+ <ExampleContainer>
16
+ <Title title="Default Paragraph" level={4} />
17
+ <DxcParagraph>
18
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla id tortor sit amet velit auctor cursus id eget
19
+ nisl. Vivamus luctus egestas eros, at mattis libero eleifend ac. Integer vel urna rutrum, pretium arcu
20
+ dignissim, fringilla turpis. Nullam luctus odio quis magna finibus, a pharetra magna euismod. Nullam efficitur
21
+ semper pellentesque. Nulla eget arcu ac diam fringilla vehicula. In imperdiet nisl hendrerit, elementum metus
22
+ eu, ornare risus. Aenean neque nibh, vestibulum vitae elit vel, imperdiet suscipit leo. Curabitur blandit
23
+ iaculis pretium. Fusce id imperdiet dui, ut laoreet justo. Sed maximus sollicitudin ipsum, et varius massa
24
+ condimentum eget. Vivamus id mauris et nisl mattis consequat et id lectus. Quisque mollis lacinia nisl.
25
+ Suspendisse sed quam tincidunt, commodo dolor vel, tincidunt nisl.
26
+ </DxcParagraph>
27
+ </ExampleContainer>
28
+ <BackgroundColorProvider color="#333333">
29
+ <DarkContainer>
30
+ <Title title="Default Paragraph" theme="dark" level={4} />
31
+ <DxcParagraph>
32
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla id tortor sit amet velit auctor cursus id eget
33
+ nisl. Vivamus luctus egestas eros, at mattis libero eleifend ac. Integer vel urna rutrum, pretium arcu
34
+ dignissim, fringilla turpis. Nullam luctus odio quis magna finibus, a pharetra magna euismod. Nullam efficitur
35
+ semper pellentesque. Nulla eget arcu ac diam fringilla vehicula. In imperdiet nisl hendrerit, elementum metus
36
+ eu, ornare risus. Aenean neque nibh, vestibulum vitae elit vel, imperdiet suscipit leo. Curabitur blandit
37
+ iaculis pretium. Fusce id imperdiet dui, ut laoreet justo. Sed maximus sollicitudin ipsum, et varius massa
38
+ condimentum eget. Vivamus id mauris et nisl mattis consequat et id lectus. Quisque mollis lacinia nisl.
39
+ Suspendisse sed quam tincidunt, commodo dolor vel, tincidunt nisl.
40
+ </DxcParagraph>
41
+ </DarkContainer>
42
+ </BackgroundColorProvider>
43
+ </>
44
+ );
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import PasswordInputPropsType from "./types";
3
+ declare const DxcPasswordInput: React.ForwardRefExoticComponent<PasswordInputPropsType & React.RefAttributes<HTMLDivElement>>;
4
+ export default DxcPasswordInput;