@dxc-technology/halstack-react 0.0.0-da90bf9 → 0.0.0-da9270d

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 (403) hide show
  1. package/BackgroundColorContext.d.ts +1 -0
  2. package/BackgroundColorContext.js +8 -24
  3. package/HalstackContext.d.ts +1235 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +4 -0
  7. package/accordion/Accordion.js +120 -291
  8. package/accordion/Accordion.stories.tsx +283 -0
  9. package/accordion/Accordion.test.js +56 -0
  10. package/accordion/types.d.ts +57 -0
  11. package/accordion/types.js +5 -0
  12. package/accordion-group/AccordionGroup.d.ts +8 -0
  13. package/accordion-group/AccordionGroup.js +57 -142
  14. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  15. package/accordion-group/AccordionGroup.test.js +98 -0
  16. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  17. package/accordion-group/AccordionGroupAccordion.js +31 -0
  18. package/accordion-group/types.d.ts +67 -0
  19. package/accordion-group/types.js +5 -0
  20. package/alert/Alert.d.ts +4 -0
  21. package/alert/Alert.js +55 -204
  22. package/alert/Alert.stories.tsx +198 -0
  23. package/alert/Alert.test.js +75 -0
  24. package/alert/types.d.ts +49 -0
  25. package/alert/types.js +5 -0
  26. package/badge/Badge.d.ts +4 -0
  27. package/badge/Badge.js +15 -30
  28. package/badge/types.d.ts +5 -0
  29. package/badge/types.js +5 -0
  30. package/bleed/Bleed.d.ts +3 -0
  31. package/bleed/Bleed.js +43 -0
  32. package/bleed/Bleed.stories.tsx +342 -0
  33. package/bleed/types.d.ts +37 -0
  34. package/bleed/types.js +5 -0
  35. package/box/Box.d.ts +4 -0
  36. package/box/Box.js +35 -116
  37. package/box/Box.stories.tsx +119 -0
  38. package/box/Box.test.js +13 -0
  39. package/box/types.d.ts +32 -0
  40. package/box/types.js +5 -0
  41. package/bulleted-list/BulletedList.d.ts +7 -0
  42. package/bulleted-list/BulletedList.js +89 -0
  43. package/bulleted-list/BulletedList.stories.tsx +115 -0
  44. package/bulleted-list/types.d.ts +38 -0
  45. package/bulleted-list/types.js +5 -0
  46. package/button/Button.d.ts +4 -0
  47. package/button/Button.js +67 -185
  48. package/button/Button.stories.tsx +344 -0
  49. package/button/Button.test.js +36 -0
  50. package/button/types.d.ts +57 -0
  51. package/button/types.js +5 -0
  52. package/card/Card.d.ts +4 -0
  53. package/card/Card.js +60 -194
  54. package/card/Card.stories.tsx +171 -0
  55. package/card/Card.test.js +39 -0
  56. package/card/types.d.ts +62 -0
  57. package/card/types.js +5 -0
  58. package/checkbox/Checkbox.d.ts +4 -0
  59. package/checkbox/Checkbox.js +147 -231
  60. package/checkbox/Checkbox.stories.tsx +222 -0
  61. package/checkbox/Checkbox.test.js +199 -0
  62. package/checkbox/types.d.ts +72 -0
  63. package/checkbox/types.js +5 -0
  64. package/chip/Chip.d.ts +4 -0
  65. package/chip/Chip.js +50 -194
  66. package/chip/Chip.stories.tsx +214 -0
  67. package/chip/Chip.test.js +41 -0
  68. package/chip/types.d.ts +45 -0
  69. package/chip/types.js +5 -0
  70. package/common/OpenSans.css +68 -80
  71. package/common/coreTokens.d.ts +237 -0
  72. package/common/coreTokens.js +184 -0
  73. package/common/utils.d.ts +1 -0
  74. package/common/utils.js +6 -12
  75. package/common/variables.d.ts +1381 -0
  76. package/common/variables.js +1006 -1319
  77. package/container/Container.d.ts +4 -0
  78. package/container/Container.js +194 -0
  79. package/container/Container.stories.tsx +214 -0
  80. package/container/types.d.ts +74 -0
  81. package/container/types.js +5 -0
  82. package/date-input/Calendar.d.ts +4 -0
  83. package/date-input/Calendar.js +214 -0
  84. package/date-input/DateInput.d.ts +4 -0
  85. package/date-input/DateInput.js +179 -356
  86. package/date-input/DateInput.stories.tsx +285 -0
  87. package/date-input/DateInput.test.js +808 -0
  88. package/date-input/DatePicker.d.ts +4 -0
  89. package/date-input/DatePicker.js +115 -0
  90. package/date-input/Icons.d.ts +6 -0
  91. package/date-input/Icons.js +58 -0
  92. package/date-input/YearPicker.d.ts +4 -0
  93. package/date-input/YearPicker.js +100 -0
  94. package/date-input/types.d.ts +164 -0
  95. package/date-input/types.js +5 -0
  96. package/dialog/Dialog.d.ts +4 -0
  97. package/dialog/Dialog.js +70 -184
  98. package/dialog/Dialog.stories.tsx +365 -0
  99. package/dialog/Dialog.test.js +307 -0
  100. package/dialog/types.d.ts +36 -0
  101. package/dialog/types.js +5 -0
  102. package/dropdown/Dropdown.d.ts +4 -0
  103. package/dropdown/Dropdown.js +247 -457
  104. package/dropdown/Dropdown.stories.tsx +438 -0
  105. package/dropdown/Dropdown.test.js +599 -0
  106. package/dropdown/DropdownMenu.d.ts +4 -0
  107. package/dropdown/DropdownMenu.js +63 -0
  108. package/dropdown/DropdownMenuItem.d.ts +4 -0
  109. package/dropdown/DropdownMenuItem.js +67 -0
  110. package/dropdown/types.d.ts +98 -0
  111. package/dropdown/types.js +5 -0
  112. package/file-input/FileInput.d.ts +4 -0
  113. package/file-input/FileInput.js +297 -462
  114. package/file-input/FileInput.stories.tsx +618 -0
  115. package/file-input/FileInput.test.js +459 -0
  116. package/file-input/FileItem.d.ts +4 -0
  117. package/file-input/FileItem.js +61 -213
  118. package/file-input/types.d.ts +129 -0
  119. package/file-input/types.js +5 -0
  120. package/flex/Flex.d.ts +4 -0
  121. package/flex/Flex.js +57 -0
  122. package/flex/Flex.stories.tsx +112 -0
  123. package/flex/types.d.ts +97 -0
  124. package/flex/types.js +5 -0
  125. package/footer/Footer.d.ts +4 -0
  126. package/footer/Footer.js +64 -360
  127. package/footer/Footer.stories.tsx +152 -0
  128. package/footer/Footer.test.js +85 -0
  129. package/footer/Icons.d.ts +2 -0
  130. package/footer/Icons.js +16 -21
  131. package/footer/types.d.ts +58 -0
  132. package/footer/types.js +5 -0
  133. package/grid/Grid.d.ts +7 -0
  134. package/grid/Grid.js +76 -0
  135. package/grid/Grid.stories.tsx +219 -0
  136. package/grid/types.d.ts +115 -0
  137. package/grid/types.js +5 -0
  138. package/header/Header.d.ts +8 -0
  139. package/header/Header.js +122 -372
  140. package/header/Header.stories.tsx +251 -0
  141. package/header/Header.test.js +66 -0
  142. package/header/Icons.d.ts +2 -0
  143. package/header/Icons.js +9 -39
  144. package/header/types.d.ts +33 -0
  145. package/header/types.js +5 -0
  146. package/heading/Heading.d.ts +4 -0
  147. package/heading/Heading.js +31 -124
  148. package/heading/Heading.stories.tsx +54 -0
  149. package/heading/Heading.test.js +169 -0
  150. package/heading/types.d.ts +33 -0
  151. package/heading/types.js +5 -0
  152. package/image/Image.d.ts +4 -0
  153. package/image/Image.js +70 -0
  154. package/image/Image.stories.tsx +127 -0
  155. package/image/types.d.ts +72 -0
  156. package/image/types.js +5 -0
  157. package/inset/Inset.d.ts +3 -0
  158. package/inset/Inset.js +43 -0
  159. package/inset/Inset.stories.tsx +230 -0
  160. package/inset/types.d.ts +37 -0
  161. package/inset/types.js +5 -0
  162. package/layout/ApplicationLayout.d.ts +20 -0
  163. package/layout/ApplicationLayout.js +85 -278
  164. package/layout/ApplicationLayout.stories.tsx +162 -0
  165. package/layout/Icons.d.ts +8 -0
  166. package/layout/Icons.js +51 -48
  167. package/layout/SidenavContext.d.ts +5 -0
  168. package/layout/SidenavContext.js +13 -0
  169. package/layout/types.d.ts +41 -0
  170. package/layout/types.js +5 -0
  171. package/link/Link.d.ts +4 -0
  172. package/link/Link.js +67 -189
  173. package/link/Link.stories.tsx +253 -0
  174. package/link/Link.test.js +63 -0
  175. package/link/types.d.ts +54 -0
  176. package/link/types.js +5 -0
  177. package/main.d.ts +46 -40
  178. package/main.js +117 -140
  179. package/nav-tabs/NavTabs.d.ts +8 -0
  180. package/nav-tabs/NavTabs.js +90 -0
  181. package/nav-tabs/NavTabs.stories.tsx +274 -0
  182. package/nav-tabs/NavTabs.test.js +75 -0
  183. package/nav-tabs/Tab.d.ts +4 -0
  184. package/nav-tabs/Tab.js +117 -0
  185. package/nav-tabs/types.d.ts +52 -0
  186. package/nav-tabs/types.js +5 -0
  187. package/number-input/NumberInput.d.ts +11 -0
  188. package/number-input/NumberInput.js +32 -101
  189. package/number-input/NumberInput.stories.tsx +131 -0
  190. package/number-input/NumberInput.test.js +830 -0
  191. package/number-input/types.d.ts +130 -0
  192. package/number-input/types.js +5 -0
  193. package/package.json +53 -49
  194. package/paginator/Icons.d.ts +5 -0
  195. package/paginator/Icons.js +26 -52
  196. package/paginator/Paginator.d.ts +4 -0
  197. package/paginator/Paginator.js +41 -211
  198. package/paginator/Paginator.stories.tsx +87 -0
  199. package/paginator/Paginator.test.js +335 -0
  200. package/paginator/types.d.ts +38 -0
  201. package/paginator/types.js +5 -0
  202. package/paragraph/Paragraph.d.ts +5 -0
  203. package/paragraph/Paragraph.js +22 -0
  204. package/paragraph/Paragraph.stories.tsx +27 -0
  205. package/password-input/Icons.d.ts +6 -0
  206. package/password-input/Icons.js +35 -0
  207. package/password-input/PasswordInput.d.ts +4 -0
  208. package/password-input/PasswordInput.js +66 -172
  209. package/password-input/PasswordInput.stories.tsx +99 -0
  210. package/password-input/PasswordInput.test.js +198 -0
  211. package/password-input/types.d.ts +111 -0
  212. package/password-input/types.js +5 -0
  213. package/progress-bar/ProgressBar.d.ts +4 -0
  214. package/progress-bar/ProgressBar.js +76 -174
  215. package/progress-bar/ProgressBar.stories.tsx +93 -0
  216. package/progress-bar/ProgressBar.test.js +93 -0
  217. package/progress-bar/types.d.ts +37 -0
  218. package/progress-bar/types.js +5 -0
  219. package/quick-nav/QuickNav.d.ts +4 -0
  220. package/quick-nav/QuickNav.js +94 -0
  221. package/quick-nav/QuickNav.stories.tsx +356 -0
  222. package/quick-nav/types.d.ts +21 -0
  223. package/quick-nav/types.js +5 -0
  224. package/radio-group/Radio.d.ts +4 -0
  225. package/radio-group/Radio.js +124 -0
  226. package/radio-group/RadioGroup.d.ts +4 -0
  227. package/radio-group/RadioGroup.js +235 -0
  228. package/radio-group/RadioGroup.stories.tsx +214 -0
  229. package/radio-group/RadioGroup.test.js +756 -0
  230. package/radio-group/types.d.ts +114 -0
  231. package/radio-group/types.js +5 -0
  232. package/resultset-table/Icons.d.ts +7 -0
  233. package/resultset-table/Icons.js +47 -0
  234. package/resultset-table/ResultsetTable.d.ts +4 -0
  235. package/resultset-table/ResultsetTable.js +159 -0
  236. package/resultset-table/ResultsetTable.stories.tsx +300 -0
  237. package/resultset-table/ResultsetTable.test.js +305 -0
  238. package/resultset-table/types.d.ts +67 -0
  239. package/resultset-table/types.js +5 -0
  240. package/select/Icons.d.ts +10 -0
  241. package/select/Icons.js +89 -0
  242. package/select/Listbox.d.ts +4 -0
  243. package/select/Listbox.js +143 -0
  244. package/select/Option.d.ts +4 -0
  245. package/select/Option.js +80 -0
  246. package/select/Select.d.ts +4 -0
  247. package/select/Select.js +294 -849
  248. package/select/Select.stories.tsx +971 -0
  249. package/select/Select.test.js +2370 -0
  250. package/select/types.d.ts +209 -0
  251. package/select/types.js +5 -0
  252. package/sidenav/Icons.d.ts +7 -0
  253. package/sidenav/Icons.js +47 -0
  254. package/sidenav/Sidenav.d.ts +10 -0
  255. package/sidenav/Sidenav.js +134 -117
  256. package/sidenav/Sidenav.stories.tsx +282 -0
  257. package/sidenav/Sidenav.test.js +37 -0
  258. package/sidenav/types.d.ts +76 -0
  259. package/sidenav/types.js +5 -0
  260. package/slider/Slider.d.ts +4 -0
  261. package/slider/Slider.js +172 -291
  262. package/slider/Slider.test.js +254 -0
  263. package/slider/types.d.ts +86 -0
  264. package/slider/types.js +5 -0
  265. package/spinner/Spinner.d.ts +4 -0
  266. package/spinner/Spinner.js +66 -241
  267. package/spinner/Spinner.stories.tsx +129 -0
  268. package/spinner/Spinner.test.js +55 -0
  269. package/spinner/types.d.ts +32 -0
  270. package/spinner/types.js +5 -0
  271. package/switch/Switch.d.ts +4 -0
  272. package/switch/Switch.js +153 -161
  273. package/switch/Switch.stories.tsx +137 -0
  274. package/switch/Switch.test.js +180 -0
  275. package/switch/types.d.ts +66 -0
  276. package/switch/types.js +5 -0
  277. package/table/Table.d.ts +4 -0
  278. package/table/Table.js +14 -50
  279. package/table/Table.stories.tsx +356 -0
  280. package/table/Table.test.js +21 -0
  281. package/table/types.d.ts +21 -0
  282. package/table/types.js +5 -0
  283. package/tabs/Tab.d.ts +4 -0
  284. package/tabs/Tab.js +113 -0
  285. package/tabs/Tabs.d.ts +4 -0
  286. package/tabs/Tabs.js +322 -281
  287. package/tabs/Tabs.stories.tsx +226 -0
  288. package/tabs/Tabs.test.js +294 -0
  289. package/tabs/types.d.ts +92 -0
  290. package/tabs/types.js +5 -0
  291. package/tag/Tag.d.ts +4 -0
  292. package/tag/Tag.js +61 -192
  293. package/tag/Tag.stories.tsx +155 -0
  294. package/tag/Tag.test.js +49 -0
  295. package/tag/types.d.ts +69 -0
  296. package/tag/types.js +5 -0
  297. package/text-input/Icons.d.ts +8 -0
  298. package/text-input/Icons.js +56 -0
  299. package/text-input/Suggestion.d.ts +4 -0
  300. package/text-input/Suggestion.js +67 -0
  301. package/text-input/Suggestions.d.ts +4 -0
  302. package/text-input/Suggestions.js +84 -0
  303. package/text-input/TextInput.d.ts +4 -0
  304. package/text-input/TextInput.js +360 -757
  305. package/text-input/TextInput.stories.tsx +465 -0
  306. package/text-input/TextInput.test.js +1739 -0
  307. package/text-input/types.d.ts +205 -0
  308. package/text-input/types.js +5 -0
  309. package/textarea/Textarea.d.ts +4 -0
  310. package/textarea/Textarea.js +105 -240
  311. package/textarea/Textarea.stories.tsx +174 -0
  312. package/textarea/Textarea.test.js +406 -0
  313. package/textarea/types.d.ts +141 -0
  314. package/textarea/types.js +5 -0
  315. package/toggle-group/ToggleGroup.d.ts +4 -0
  316. package/toggle-group/ToggleGroup.js +107 -233
  317. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  318. package/toggle-group/ToggleGroup.test.js +137 -0
  319. package/toggle-group/types.d.ts +114 -0
  320. package/toggle-group/types.js +5 -0
  321. package/typography/Typography.d.ts +4 -0
  322. package/typography/Typography.js +23 -0
  323. package/typography/Typography.stories.tsx +198 -0
  324. package/typography/types.d.ts +18 -0
  325. package/typography/types.js +5 -0
  326. package/useTheme.d.ts +1134 -0
  327. package/useTheme.js +4 -11
  328. package/useTranslatedLabels.d.ts +85 -0
  329. package/useTranslatedLabels.js +14 -0
  330. package/utils/BaseTypography.d.ts +21 -0
  331. package/utils/BaseTypography.js +94 -0
  332. package/utils/FocusLock.d.ts +13 -0
  333. package/utils/FocusLock.js +121 -0
  334. package/wizard/Wizard.d.ts +4 -0
  335. package/wizard/Wizard.js +138 -293
  336. package/wizard/Wizard.stories.tsx +253 -0
  337. package/wizard/Wizard.test.js +114 -0
  338. package/wizard/types.d.ts +64 -0
  339. package/wizard/types.js +5 -0
  340. package/ThemeContext.js +0 -250
  341. package/V3Select/V3Select.js +0 -549
  342. package/V3Select/index.d.ts +0 -27
  343. package/V3Textarea/V3Textarea.js +0 -264
  344. package/V3Textarea/index.d.ts +0 -27
  345. package/accordion/index.d.ts +0 -28
  346. package/accordion-group/index.d.ts +0 -16
  347. package/alert/index.d.ts +0 -51
  348. package/box/index.d.ts +0 -25
  349. package/button/Button.stories.js +0 -27
  350. package/button/index.d.ts +0 -24
  351. package/card/index.d.ts +0 -22
  352. package/checkbox/index.d.ts +0 -24
  353. package/chip/index.d.ts +0 -22
  354. package/common/RequiredComponent.js +0 -40
  355. package/date/Date.js +0 -379
  356. package/date/index.d.ts +0 -27
  357. package/date-input/index.d.ts +0 -95
  358. package/dialog/index.d.ts +0 -18
  359. package/dropdown/index.d.ts +0 -26
  360. package/file-input/index.d.ts +0 -81
  361. package/footer/index.d.ts +0 -25
  362. package/header/index.d.ts +0 -25
  363. package/heading/index.d.ts +0 -17
  364. package/input-text/Icons.js +0 -22
  365. package/input-text/InputText.js +0 -705
  366. package/input-text/index.d.ts +0 -36
  367. package/link/index.d.ts +0 -23
  368. package/number-input/NumberInputContext.js +0 -16
  369. package/number-input/index.d.ts +0 -113
  370. package/paginator/index.d.ts +0 -20
  371. package/password-input/index.d.ts +0 -94
  372. package/progress-bar/index.d.ts +0 -18
  373. package/radio/Radio.js +0 -209
  374. package/radio/index.d.ts +0 -23
  375. package/resultsetTable/ResultsetTable.js +0 -358
  376. package/resultsetTable/index.d.ts +0 -19
  377. package/select/index.d.ts +0 -131
  378. package/sidenav/index.d.ts +0 -13
  379. package/slider/index.d.ts +0 -29
  380. package/spinner/index.d.ts +0 -17
  381. package/switch/index.d.ts +0 -24
  382. package/table/index.d.ts +0 -13
  383. package/tabs/index.d.ts +0 -19
  384. package/tag/index.d.ts +0 -24
  385. package/text-input/index.d.ts +0 -135
  386. package/textarea/index.d.ts +0 -117
  387. package/toggle/Toggle.js +0 -220
  388. package/toggle/index.d.ts +0 -21
  389. package/toggle-group/index.d.ts +0 -21
  390. package/upload/Upload.js +0 -205
  391. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  392. package/upload/buttons-upload/Icons.js +0 -40
  393. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  394. package/upload/dragAndDropArea/Icons.js +0 -39
  395. package/upload/file-upload/FileToUpload.js +0 -189
  396. package/upload/file-upload/Icons.js +0 -66
  397. package/upload/files-upload/FilesToUpload.js +0 -123
  398. package/upload/index.d.ts +0 -15
  399. package/upload/transaction/Icons.js +0 -160
  400. package/upload/transaction/Transaction.js +0 -148
  401. package/upload/transactions/Transactions.js +0 -138
  402. package/wizard/Icons.js +0 -65
  403. package/wizard/index.d.ts +0 -18
@@ -1,158 +1,84 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
11
  var _react = _interopRequireWildcard(require("react"));
19
-
20
12
  var _styledComponents = _interopRequireDefault(require("styled-components"));
21
-
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
13
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- function _templateObject() {
29
- var data = (0, _taggedTemplateLiteral2["default"])(["\n & ::-ms-reveal {\n display: none;\n }\n"]);
30
-
31
- _templateObject = function _templateObject() {
32
- return data;
33
- };
34
-
35
- return data;
36
- }
37
-
38
- var DxcPasswordInput = _react["default"].forwardRef(function (_ref, ref) {
39
- var _ref$label = _ref.label,
40
- label = _ref$label === void 0 ? "" : _ref$label,
41
- _ref$name = _ref.name,
42
- name = _ref$name === void 0 ? "" : _ref$name,
43
- value = _ref.value,
44
- _ref$helperText = _ref.helperText,
45
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
46
- _ref$clearable = _ref.clearable,
47
- clearable = _ref$clearable === void 0 ? false : _ref$clearable,
48
- onChange = _ref.onChange,
49
- onBlur = _ref.onBlur,
50
- _ref$error = _ref.error,
51
- error = _ref$error === void 0 ? "" : _ref$error,
52
- pattern = _ref.pattern,
53
- length = _ref.length,
54
- _ref$autocomplete = _ref.autocomplete,
55
- autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
56
- margin = _ref.margin,
57
- _ref$size = _ref.size,
58
- size = _ref$size === void 0 ? "medium" : _ref$size,
59
- _ref$tabIndex = _ref.tabIndex,
60
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
61
-
14
+ var _useTranslatedLabels2 = _interopRequireDefault(require("../useTranslatedLabels"));
15
+ var _Icons = _interopRequireDefault(require("./Icons"));
16
+ var _templateObject;
17
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
19
+ var setInputType = function setInputType(type, element) {
20
+ element === null || element === void 0 ? void 0 : element.getElementsByTagName("input")[0].setAttribute("type", type);
21
+ };
22
+ var setAriaAttributes = function setAriaAttributes(ariaExpanded, ariaLabel, element) {
23
+ var inputElement = element === null || element === void 0 ? void 0 : element.getElementsByTagName("input")[0];
24
+ inputElement === null || inputElement === void 0 ? void 0 : inputElement.setAttribute("aria-expanded", ariaExpanded);
25
+ inputElement === null || inputElement === void 0 ? void 0 : inputElement.setAttribute("aria-label", ariaLabel);
26
+ };
27
+ var DxcPasswordInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
28
+ var label = _ref.label,
29
+ _ref$name = _ref.name,
30
+ name = _ref$name === void 0 ? "" : _ref$name,
31
+ value = _ref.value,
32
+ helperText = _ref.helperText,
33
+ _ref$clearable = _ref.clearable,
34
+ clearable = _ref$clearable === void 0 ? false : _ref$clearable,
35
+ onChange = _ref.onChange,
36
+ onBlur = _ref.onBlur,
37
+ error = _ref.error,
38
+ pattern = _ref.pattern,
39
+ minLength = _ref.minLength,
40
+ maxLength = _ref.maxLength,
41
+ _ref$autocomplete = _ref.autocomplete,
42
+ autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
43
+ margin = _ref.margin,
44
+ _ref$size = _ref.size,
45
+ size = _ref$size === void 0 ? "medium" : _ref$size,
46
+ _ref$tabIndex = _ref.tabIndex,
47
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
62
48
  var _useState = (0, _react.useState)(false),
63
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
64
- isPasswordVisible = _useState2[0],
65
- setIsPasswordVisible = _useState2[1];
66
-
49
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
50
+ isPasswordVisible = _useState2[0],
51
+ setIsPasswordVisible = _useState2[1];
67
52
  var inputRef = (0, _react.useRef)(null);
68
-
69
- var setInputType = function setInputType(type) {
70
- var _inputRef$current, _inputRef$current$chi;
71
-
72
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : (_inputRef$current$chi = _inputRef$current.children[2]) === null || _inputRef$current$chi === void 0 ? void 0 : _inputRef$current$chi.children[0].setAttribute("type", type);
73
- };
74
-
75
- var setAriaAttributes = function setAriaAttributes(ariaExpanded, ariaLabel) {
76
- if (error && clearable && value) {
77
- var _inputRef$current2, _inputRef$current2$ch, _inputRef$current2$ch2, _inputRef$current3, _inputRef$current3$ch, _inputRef$current3$ch2;
78
-
79
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : (_inputRef$current2$ch = _inputRef$current2.children[2]) === null || _inputRef$current2$ch === void 0 ? void 0 : (_inputRef$current2$ch2 = _inputRef$current2$ch.children[3]) === null || _inputRef$current2$ch2 === void 0 ? void 0 : _inputRef$current2$ch2.setAttribute("aria-expanded", ariaExpanded);
80
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : (_inputRef$current3$ch = _inputRef$current3.children[2]) === null || _inputRef$current3$ch === void 0 ? void 0 : (_inputRef$current3$ch2 = _inputRef$current3$ch.children[3]) === null || _inputRef$current3$ch2 === void 0 ? void 0 : _inputRef$current3$ch2.setAttribute("aria-label", ariaLabel);
81
- } else if (error || clearable && !value) {
82
- var _inputRef$current4, _inputRef$current4$ch, _inputRef$current4$ch2, _inputRef$current5, _inputRef$current5$ch, _inputRef$current5$ch2;
83
-
84
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : (_inputRef$current4$ch = _inputRef$current4.children[2]) === null || _inputRef$current4$ch === void 0 ? void 0 : (_inputRef$current4$ch2 = _inputRef$current4$ch.children[2]) === null || _inputRef$current4$ch2 === void 0 ? void 0 : _inputRef$current4$ch2.setAttribute("aria-expanded", ariaExpanded);
85
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : (_inputRef$current5$ch = _inputRef$current5.children[2]) === null || _inputRef$current5$ch === void 0 ? void 0 : (_inputRef$current5$ch2 = _inputRef$current5$ch.children[2]) === null || _inputRef$current5$ch2 === void 0 ? void 0 : _inputRef$current5$ch2.setAttribute("aria-label", ariaLabel);
86
- } else {
87
- var _inputRef$current6, _inputRef$current6$ch, _inputRef$current6$ch2, _inputRef$current7, _inputRef$current7$ch, _inputRef$current7$ch2;
88
-
89
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : (_inputRef$current6$ch = _inputRef$current6.children[2]) === null || _inputRef$current6$ch === void 0 ? void 0 : (_inputRef$current6$ch2 = _inputRef$current6$ch.children[1]) === null || _inputRef$current6$ch2 === void 0 ? void 0 : _inputRef$current6$ch2.setAttribute("aria-expanded", ariaExpanded);
90
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current7 = inputRef.current) === null || _inputRef$current7 === void 0 ? void 0 : (_inputRef$current7$ch = _inputRef$current7.children[2]) === null || _inputRef$current7$ch === void 0 ? void 0 : (_inputRef$current7$ch2 = _inputRef$current7$ch.children[1]) === null || _inputRef$current7$ch2 === void 0 ? void 0 : _inputRef$current7$ch2.setAttribute("aria-label", ariaLabel);
91
- }
92
- };
93
-
94
- var getIconTitle = function getIconTitle() {
95
- return isPasswordVisible ? "Hide password" : "Show password";
96
- };
97
-
53
+ var _useTranslatedLabels = (0, _useTranslatedLabels2["default"])(),
54
+ passwordInput = _useTranslatedLabels.passwordInput;
98
55
  (0, _react.useEffect)(function () {
99
- setAriaAttributes(false, "Show");
100
-
101
- if (isPasswordVisible) {
102
- setInputType("text");
103
- setAriaAttributes(true, "Hide");
104
- } else {
105
- setInputType("password");
106
- setAriaAttributes(false, "Show");
107
- }
108
- }, [isPasswordVisible]);
109
-
110
- var viewPassword = function viewPassword() {
111
- setInputType("text");
112
- setIsPasswordVisible(true);
113
- };
114
-
115
- var hidePassword = function hidePassword() {
116
- setInputType("password");
117
- setIsPasswordVisible(false);
118
- };
119
-
120
- var action = {
121
- onClick: isPasswordVisible ? hidePassword : viewPassword,
122
- icon: isPasswordVisible ? _react["default"].createElement("svg", {
123
- xmlns: "http://www.w3.org/2000/svg",
124
- height: "24px",
125
- viewBox: "0 0 24 24",
126
- width: "24px",
127
- fill: "#000000"
128
- }, _react["default"].createElement("path", {
129
- d: "M0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0z",
130
- fill: "none"
131
- }), _react["default"].createElement("path", {
132
- d: "M12 6c3.79 0 7.17 2.13 8.82 5.5-.59 1.22-1.42 2.27-2.41 3.12l1.41 1.41c1.39-1.23 2.49-2.77 3.18-4.53C21.27 7.11 17 4 12 4c-1.27 0-2.49.2-3.64.57l1.65 1.65C10.66 6.09 11.32 6 12 6zm-1.07 1.14L13 9.21c.57.25 1.03.71 1.28 1.28l2.07 2.07c.08-.34.14-.7.14-1.07C16.5 9.01 14.48 7 12 7c-.37 0-.72.05-1.07.14zM2.01 3.87l2.68 2.68C3.06 7.83 1.77 9.53 1 11.5 2.73 15.89 7 19 12 19c1.52 0 2.98-.29 4.32-.82l3.42 3.42 1.41-1.41L3.42 2.45 2.01 3.87zm7.5 7.5l2.61 2.61c-.04.01-.08.02-.12.02-1.38 0-2.5-1.12-2.5-2.5 0-.05.01-.08.01-.13zm-3.4-3.4l1.75 1.75c-.23.55-.36 1.15-.36 1.78 0 2.48 2.02 4.5 4.5 4.5.63 0 1.23-.13 1.77-.36l.98.98c-.88.24-1.8.38-2.75.38-3.79 0-7.17-2.13-8.82-5.5.7-1.43 1.72-2.61 2.93-3.53z"
133
- })) : _react["default"].createElement("svg", {
134
- xmlns: "http://www.w3.org/2000/svg",
135
- height: "24px",
136
- viewBox: "0 0 24 24",
137
- width: "24px",
138
- fill: "#000000"
139
- }, _react["default"].createElement("path", {
140
- d: "M0 0h24v24H0V0z",
141
- fill: "none"
142
- }), _react["default"].createElement("path", {
143
- d: "M12 6c3.79 0 7.17 2.13 8.82 5.5C19.17 14.87 15.79 17 12 17s-7.17-2.13-8.82-5.5C4.83 8.13 8.21 6 12 6m0-2C7 4 2.73 7.11 1 11.5 2.73 15.89 7 19 12 19s9.27-3.11 11-7.5C21.27 7.11 17 4 12 4zm0 5c1.38 0 2.5 1.12 2.5 2.5S13.38 14 12 14s-2.5-1.12-2.5-2.5S10.62 9 12 9m0-2c-2.48 0-4.5 2.02-4.5 4.5S9.52 16 12 16s4.5-2.02 4.5-4.5S14.48 7 12 7z"
144
- })),
145
- title: getIconTitle()
146
- };
147
- return _react["default"].createElement(PasswordInput, {
56
+ (function () {
57
+ if (isPasswordVisible) {
58
+ setInputType("text", inputRef.current);
59
+ setAriaAttributes("true", passwordInput.inputHidePasswordTitle, inputRef.current);
60
+ } else {
61
+ setInputType("password", inputRef.current);
62
+ setAriaAttributes("false", passwordInput.inputShowPasswordTitle, inputRef.current);
63
+ }
64
+ })();
65
+ }, [isPasswordVisible, passwordInput]);
66
+ return /*#__PURE__*/_react["default"].createElement(PasswordInput, {
148
67
  ref: ref
149
- }, _react["default"].createElement(_TextInput["default"], {
150
- ref: inputRef,
68
+ }, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
151
69
  label: label,
152
70
  name: name,
153
71
  value: value,
154
72
  helperText: helperText,
155
- action: action,
73
+ action: {
74
+ onClick: function onClick() {
75
+ setIsPasswordVisible(function (isPasswordVisible) {
76
+ return !isPasswordVisible;
77
+ });
78
+ },
79
+ icon: isPasswordVisible ? _Icons["default"].hidePassword : _Icons["default"].showPassword,
80
+ title: isPasswordVisible ? passwordInput.inputHidePasswordTitle : passwordInput.inputShowPasswordTitle
81
+ },
156
82
  error: error,
157
83
  clearable: clearable,
158
84
  onChange: onChange,
@@ -160,44 +86,12 @@ var DxcPasswordInput = _react["default"].forwardRef(function (_ref, ref) {
160
86
  margin: margin,
161
87
  size: size,
162
88
  pattern: pattern,
163
- length: length,
89
+ minLength: minLength,
90
+ maxLength: maxLength,
164
91
  autocomplete: autocomplete,
92
+ ref: inputRef,
165
93
  tabIndex: tabIndex
166
94
  }));
167
95
  });
168
-
169
- var sizes = {
170
- small: "240px",
171
- medium: "360px",
172
- large: "480px",
173
- fillParent: "100%"
174
- };
175
-
176
- var PasswordInput = _styledComponents["default"].div(_templateObject());
177
-
178
- DxcPasswordInput.propTypes = {
179
- label: _propTypes["default"].string,
180
- name: _propTypes["default"].string,
181
- value: _propTypes["default"].string,
182
- helperText: _propTypes["default"].string,
183
- error: _propTypes["default"].string,
184
- clearable: _propTypes["default"].bool,
185
- onChange: _propTypes["default"].func,
186
- onBlur: _propTypes["default"].func,
187
- autocomplete: _propTypes["default"].string,
188
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
189
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
190
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
191
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
192
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
193
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
194
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
195
- pattern: _propTypes["default"].string,
196
- length: _propTypes["default"].shape({
197
- min: _propTypes["default"].number,
198
- max: _propTypes["default"].number
199
- }),
200
- tabIndex: _propTypes["default"].number
201
- };
202
- var _default = DxcPasswordInput;
203
- exports["default"] = _default;
96
+ var PasswordInput = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n & ::-ms-reveal {\n display: none;\n }\n"])));
97
+ var _default = exports["default"] = DxcPasswordInput;
@@ -0,0 +1,99 @@
1
+ import React from "react";
2
+ import { userEvent, within } from "@storybook/testing-library";
3
+ import DxcPasswordInput from "./PasswordInput";
4
+ import Title from "../../.storybook/components/Title";
5
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+
7
+ export default {
8
+ title: "Password Input",
9
+ component: DxcPasswordInput,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <ExampleContainer>
15
+ <Title title="Without label" theme="light" level={4} />
16
+ <DxcPasswordInput />
17
+ </ExampleContainer>
18
+ <ExampleContainer>
19
+ <Title title="With label" theme="light" level={4} />
20
+ <DxcPasswordInput label="Password input" clearable />
21
+ </ExampleContainer>
22
+ <ExampleContainer>
23
+ <Title title="Clearable" theme="light" level={4} />
24
+ <DxcPasswordInput label="Password input" clearable value="password" />
25
+ </ExampleContainer>
26
+ <ExampleContainer>
27
+ <Title title="Non clearable" theme="light" level={4} />
28
+ <DxcPasswordInput label="Non clearable password input" value="password" />
29
+ </ExampleContainer>
30
+ <ExampleContainer>
31
+ <Title title="Helper text" theme="light" level={4} />
32
+ <DxcPasswordInput label="Help password input" helperText="Help message" />
33
+ </ExampleContainer>
34
+ <ExampleContainer>
35
+ <Title title="Invalid" theme="light" level={4} />
36
+ <DxcPasswordInput label="Error password input" error="Error message." />
37
+ </ExampleContainer>
38
+ <Title title="Margins" theme="light" level={2} />
39
+ <ExampleContainer>
40
+ <Title title="Xxsmall margin" theme="light" level={4} />
41
+ <DxcPasswordInput label="Xxsmall" margin="xxsmall" />
42
+ </ExampleContainer>
43
+ <ExampleContainer>
44
+ <Title title="Xsmall margin" theme="light" level={4} />
45
+ <DxcPasswordInput label="Xsmall" margin="xsmall" />
46
+ </ExampleContainer>
47
+ <ExampleContainer>
48
+ <Title title="Small margin" theme="light" level={4} />
49
+ <DxcPasswordInput label="Small" margin="small" />
50
+ </ExampleContainer>
51
+ <ExampleContainer>
52
+ <Title title="Medium margin" theme="light" level={4} />
53
+ <DxcPasswordInput label="Medium" margin="medium" />
54
+ </ExampleContainer>
55
+ <ExampleContainer>
56
+ <Title title="Large margin" theme="light" level={4} />
57
+ <DxcPasswordInput label="Large" margin="large" />
58
+ </ExampleContainer>
59
+ <ExampleContainer>
60
+ <Title title="Xlarge margin" theme="light" level={4} />
61
+ <DxcPasswordInput label="Xlarge" margin="xlarge" />
62
+ </ExampleContainer>
63
+ <ExampleContainer>
64
+ <Title title="Xxlarge margin" theme="light" level={4} />
65
+ <DxcPasswordInput label="Xxlarge" margin="xxlarge" />
66
+ </ExampleContainer>
67
+ <Title title="Sizes" theme="light" level={2} />
68
+ <ExampleContainer>
69
+ <Title title="Small size" theme="light" level={4} />
70
+ <DxcPasswordInput label="Small" size="small" />
71
+ </ExampleContainer>
72
+ <ExampleContainer>
73
+ <Title title="Medium size" theme="light" level={4} />
74
+ <DxcPasswordInput label="Medium" size="medium" />
75
+ </ExampleContainer>
76
+ <ExampleContainer>
77
+ <Title title="Large size" theme="light" level={4} />
78
+ <DxcPasswordInput label="Large" size="large" />
79
+ </ExampleContainer>
80
+ <ExampleContainer>
81
+ <Title title="FillParent size" theme="light" level={4} />
82
+ <DxcPasswordInput label="FillParent" size="fillParent" />
83
+ </ExampleContainer>
84
+ </>
85
+ );
86
+
87
+ const Password = () => (
88
+ <ExampleContainer expanded>
89
+ <Title title="Show password" theme="light" level={4} />
90
+ <DxcPasswordInput label="Password input" value="Password" />
91
+ </ExampleContainer>
92
+ );
93
+
94
+ export const ShowPassword = Password.bind({});
95
+ ShowPassword.play = async ({ canvasElement }) => {
96
+ const canvas = within(canvasElement);
97
+ const passwordBtn = canvas.getByRole("button");
98
+ await userEvent.click(passwordBtn);
99
+ };
@@ -0,0 +1,198 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _react2 = require("@testing-library/react");
10
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
11
+ var _PasswordInput = _interopRequireDefault(require("./PasswordInput.tsx"));
12
+ // Mocking DOMRect for Radix Primitive Popover
13
+ global.globalThis = global;
14
+ global.DOMRect = {
15
+ fromRect: function fromRect() {
16
+ return {
17
+ top: 0,
18
+ left: 0,
19
+ bottom: 0,
20
+ right: 0,
21
+ width: 0,
22
+ height: 0
23
+ };
24
+ }
25
+ };
26
+ global.ResizeObserver = /*#__PURE__*/function () {
27
+ function ResizeObserver() {
28
+ (0, _classCallCheck2["default"])(this, ResizeObserver);
29
+ }
30
+ (0, _createClass2["default"])(ResizeObserver, [{
31
+ key: "observe",
32
+ value: function observe() {}
33
+ }, {
34
+ key: "unobserve",
35
+ value: function unobserve() {}
36
+ }, {
37
+ key: "disconnect",
38
+ value: function disconnect() {}
39
+ }]);
40
+ return ResizeObserver;
41
+ }();
42
+ describe("Password input component tests", function () {
43
+ test("Password input renders with label and helper text", function () {
44
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
45
+ label: "Password input label",
46
+ helperText: "Helper text"
47
+ })),
48
+ getByText = _render.getByText;
49
+ expect(getByText("Password input label")).toBeTruthy();
50
+ expect(getByText("Helper text")).toBeTruthy();
51
+ });
52
+ test("Password input renders error", function () {
53
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
54
+ error: "Error message."
55
+ })),
56
+ getByText = _render2.getByText;
57
+ expect(getByText("Error message.")).toBeTruthy();
58
+ });
59
+ test("onChange function is called correctly", function () {
60
+ var onChange = jest.fn();
61
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
62
+ label: "Password input",
63
+ onChange: onChange
64
+ })),
65
+ getByLabelText = _render3.getByLabelText;
66
+ var passwordInput = getByLabelText("Password input");
67
+ _userEvent["default"].type(passwordInput, "Pa$$w0rd");
68
+ expect(onChange).toHaveBeenCalledWith({
69
+ value: "P"
70
+ });
71
+ expect(passwordInput.value).toBe("Pa$$w0rd");
72
+ });
73
+ test("onBlur function is called correctly", function () {
74
+ var onBlur = jest.fn();
75
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
76
+ label: "Password input",
77
+ onBlur: onBlur
78
+ })),
79
+ getByLabelText = _render4.getByLabelText;
80
+ var passwordInput = getByLabelText("Password input");
81
+ _userEvent["default"].type(passwordInput, "Pa$$w0rd");
82
+ _react2.fireEvent.blur(passwordInput);
83
+ expect(onBlur).toHaveBeenCalledWith({
84
+ value: "Pa$$w0rd"
85
+ });
86
+ expect(passwordInput.value).toBe("Pa$$w0rd");
87
+ });
88
+ test("Clear password input value", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
89
+ var _render5, getAllByRole, getByLabelText, passwordInput, clearButton;
90
+ return _regenerator["default"].wrap(function _callee$(_context) {
91
+ while (1) switch (_context.prev = _context.next) {
92
+ case 0:
93
+ _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
94
+ label: "Password input",
95
+ clearable: true
96
+ })), getAllByRole = _render5.getAllByRole, getByLabelText = _render5.getByLabelText;
97
+ passwordInput = getByLabelText("Password input");
98
+ _userEvent["default"].type(passwordInput, "Pa$$w0rd");
99
+ expect(passwordInput.value).toBe("Pa$$w0rd");
100
+ clearButton = getAllByRole("button")[0];
101
+ _context.next = 7;
102
+ return _userEvent["default"].click(clearButton);
103
+ case 7:
104
+ expect(passwordInput.value).toBe("");
105
+ case 8:
106
+ case "end":
107
+ return _context.stop();
108
+ }
109
+ }, _callee);
110
+ })));
111
+ test("Non clearable password input has no clear icon", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
112
+ var _render6, getAllByRole, getByLabelText, passwordInput, buttons;
113
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
114
+ while (1) switch (_context2.prev = _context2.next) {
115
+ case 0:
116
+ _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
117
+ label: "Password input"
118
+ })), getAllByRole = _render6.getAllByRole, getByLabelText = _render6.getByLabelText;
119
+ passwordInput = getByLabelText("Password input");
120
+ _userEvent["default"].type(passwordInput, "Pa$$w0rd");
121
+ expect(passwordInput.value).toBe("Pa$$w0rd");
122
+ buttons = getAllByRole("button");
123
+ expect(buttons.length).toBe(1);
124
+ case 6:
125
+ case "end":
126
+ return _context2.stop();
127
+ }
128
+ }, _callee2);
129
+ })));
130
+ test("Show/hide password input button works correctly", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
131
+ var _render7, getAllByRole, getByLabelText, passwordInput, showButton;
132
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
133
+ while (1) switch (_context3.prev = _context3.next) {
134
+ case 0:
135
+ _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
136
+ label: "Password input",
137
+ clearable: true
138
+ })), getAllByRole = _render7.getAllByRole, getByLabelText = _render7.getByLabelText;
139
+ passwordInput = getByLabelText("Password input");
140
+ _userEvent["default"].type(passwordInput, "Pa$$w0rd");
141
+ expect(passwordInput.value).toBe("Pa$$w0rd");
142
+ expect(passwordInput.type).toBe("password");
143
+ showButton = getAllByRole("button")[1];
144
+ _context3.next = 8;
145
+ return _userEvent["default"].click(showButton);
146
+ case 8:
147
+ expect(passwordInput.type).toBe("text");
148
+ case 9:
149
+ case "end":
150
+ return _context3.stop();
151
+ }
152
+ }, _callee3);
153
+ })));
154
+ test("Password tooltip is correct", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
155
+ var _render8, getAllByRole, getByTitle, queryByTitle, showButton;
156
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
157
+ while (1) switch (_context4.prev = _context4.next) {
158
+ case 0:
159
+ _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
160
+ label: "Password input",
161
+ clearable: true,
162
+ value: "Password"
163
+ })), getAllByRole = _render8.getAllByRole, getByTitle = _render8.getByTitle, queryByTitle = _render8.queryByTitle;
164
+ showButton = getAllByRole("button")[1];
165
+ _userEvent["default"].hover(showButton);
166
+ expect(getByTitle("Show password")).toBeTruthy();
167
+ _userEvent["default"].unhover(showButton);
168
+ expect(queryByTitle("Hide password")).toBeFalsy();
169
+ case 6:
170
+ case "end":
171
+ return _context4.stop();
172
+ }
173
+ }, _callee4);
174
+ })));
175
+ test("Password input has correct accessibility attributes", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5() {
176
+ var _render9, getByRole, getByLabelText, passwordInput, showButton;
177
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
178
+ while (1) switch (_context5.prev = _context5.next) {
179
+ case 0:
180
+ _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
181
+ label: "Password input"
182
+ })), getByRole = _render9.getByRole, getByLabelText = _render9.getByLabelText;
183
+ passwordInput = getByLabelText("Password input");
184
+ showButton = getByRole("button");
185
+ expect(passwordInput.getAttribute("aria-expanded")).toBe("false");
186
+ expect(showButton.getAttribute("aria-label")).toBe("Show password");
187
+ _context5.next = 7;
188
+ return _userEvent["default"].click(showButton);
189
+ case 7:
190
+ expect(passwordInput.getAttribute("aria-expanded")).toBe("true");
191
+ expect(showButton.getAttribute("aria-label")).toBe("Hide password");
192
+ case 9:
193
+ case "end":
194
+ return _context5.stop();
195
+ }
196
+ }, _callee5);
197
+ })));
198
+ });