@dxc-technology/halstack-react 0.0.0-3a698b0 → 0.0.0-3ac400c

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 (248) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +25 -129
  4. package/HalstackContext.js +10 -35
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +24 -76
  8. package/accordion/Accordion.stories.tsx +1 -113
  9. package/accordion/Accordion.test.js +18 -33
  10. package/accordion/types.d.ts +5 -17
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +27 -75
  13. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  14. package/accordion-group/AccordionGroup.test.js +43 -71
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +6 -18
  18. package/alert/Alert.js +16 -53
  19. package/alert/Alert.test.js +28 -45
  20. package/alert/types.d.ts +5 -5
  21. package/badge/Badge.js +4 -17
  22. package/badge/types.d.ts +1 -1
  23. package/bleed/Bleed.js +13 -21
  24. package/bleed/types.d.ts +2 -2
  25. package/box/Box.d.ts +1 -1
  26. package/box/Box.js +16 -55
  27. package/box/Box.stories.tsx +25 -53
  28. package/box/Box.test.js +1 -6
  29. package/box/types.d.ts +3 -15
  30. package/bulleted-list/BulletedList.js +19 -53
  31. package/bulleted-list/BulletedList.stories.tsx +8 -93
  32. package/bulleted-list/types.d.ts +32 -5
  33. package/button/Button.d.ts +1 -1
  34. package/button/Button.js +66 -99
  35. package/button/Button.stories.tsx +8 -89
  36. package/button/Button.test.js +17 -16
  37. package/button/types.d.ts +8 -4
  38. package/card/Card.d.ts +1 -1
  39. package/card/Card.js +39 -79
  40. package/card/Card.stories.tsx +0 -29
  41. package/card/Card.test.js +10 -21
  42. package/card/types.d.ts +6 -12
  43. package/checkbox/Checkbox.js +85 -120
  44. package/checkbox/Checkbox.stories.tsx +16 -54
  45. package/checkbox/Checkbox.test.js +107 -63
  46. package/checkbox/types.d.ts +8 -4
  47. package/chip/Chip.js +34 -66
  48. package/chip/Chip.stories.tsx +25 -17
  49. package/chip/Chip.test.js +15 -28
  50. package/chip/types.d.ts +4 -4
  51. package/common/OpenSans.css +68 -80
  52. package/common/coreTokens.d.ts +237 -0
  53. package/common/coreTokens.js +184 -0
  54. package/common/utils.js +2 -8
  55. package/common/variables.d.ts +24 -268
  56. package/common/variables.js +860 -1111
  57. package/container/Container.d.ts +4 -0
  58. package/container/Container.js +194 -0
  59. package/container/Container.stories.tsx +214 -0
  60. package/container/types.d.ts +74 -0
  61. package/date-input/Calendar.js +15 -59
  62. package/date-input/DateInput.js +50 -96
  63. package/date-input/DateInput.stories.tsx +11 -30
  64. package/date-input/DateInput.test.js +674 -701
  65. package/date-input/DatePicker.js +11 -42
  66. package/date-input/Icons.d.ts +6 -6
  67. package/date-input/Icons.js +6 -23
  68. package/date-input/YearPicker.js +8 -34
  69. package/date-input/types.d.ts +27 -21
  70. package/dialog/Dialog.d.ts +1 -1
  71. package/dialog/Dialog.js +15 -60
  72. package/dialog/Dialog.stories.tsx +215 -169
  73. package/dialog/Dialog.test.js +125 -187
  74. package/dialog/types.d.ts +18 -26
  75. package/dropdown/Dropdown.js +39 -93
  76. package/dropdown/Dropdown.test.js +391 -378
  77. package/dropdown/DropdownMenu.js +13 -20
  78. package/dropdown/DropdownMenuItem.js +5 -17
  79. package/dropdown/types.d.ts +17 -19
  80. package/file-input/FileInput.js +180 -248
  81. package/file-input/FileInput.stories.tsx +1 -1
  82. package/file-input/FileInput.test.js +356 -354
  83. package/file-input/FileItem.js +14 -41
  84. package/file-input/types.d.ts +10 -10
  85. package/flex/Flex.js +27 -39
  86. package/flex/Flex.stories.tsx +24 -10
  87. package/flex/types.d.ts +74 -9
  88. package/footer/Footer.d.ts +1 -1
  89. package/footer/Footer.js +54 -112
  90. package/footer/Footer.stories.tsx +19 -95
  91. package/footer/Footer.test.js +21 -33
  92. package/footer/Icons.d.ts +2 -2
  93. package/footer/Icons.js +2 -7
  94. package/footer/types.d.ts +21 -29
  95. package/grid/Grid.d.ts +1 -1
  96. package/grid/Grid.js +2 -17
  97. package/grid/Grid.stories.tsx +38 -38
  98. package/grid/types.d.ts +10 -10
  99. package/header/Header.d.ts +2 -2
  100. package/header/Header.js +31 -114
  101. package/header/Header.stories.tsx +7 -71
  102. package/header/Header.test.js +12 -25
  103. package/header/Icons.d.ts +2 -2
  104. package/header/Icons.js +2 -7
  105. package/header/types.d.ts +5 -20
  106. package/heading/Heading.js +9 -31
  107. package/heading/Heading.test.js +70 -87
  108. package/heading/types.d.ts +7 -7
  109. package/image/Image.d.ts +4 -0
  110. package/image/Image.js +70 -0
  111. package/image/Image.stories.tsx +127 -0
  112. package/image/types.d.ts +72 -0
  113. package/inset/Inset.js +13 -21
  114. package/inset/Inset.stories.tsx +1 -1
  115. package/inset/types.d.ts +2 -2
  116. package/layout/ApplicationLayout.d.ts +5 -5
  117. package/layout/ApplicationLayout.js +28 -65
  118. package/layout/ApplicationLayout.stories.tsx +1 -1
  119. package/layout/Icons.d.ts +8 -5
  120. package/layout/Icons.js +51 -59
  121. package/layout/SidenavContext.d.ts +1 -1
  122. package/layout/SidenavContext.js +3 -9
  123. package/layout/types.d.ts +5 -6
  124. package/link/Link.js +22 -43
  125. package/link/Link.test.js +23 -41
  126. package/link/types.d.ts +14 -14
  127. package/main.d.ts +4 -3
  128. package/main.js +17 -58
  129. package/nav-tabs/NavTabs.d.ts +2 -2
  130. package/nav-tabs/NavTabs.js +16 -51
  131. package/nav-tabs/NavTabs.stories.tsx +15 -1
  132. package/nav-tabs/NavTabs.test.js +36 -43
  133. package/nav-tabs/Tab.js +36 -69
  134. package/nav-tabs/types.d.ts +14 -15
  135. package/number-input/NumberInput.d.ts +7 -0
  136. package/number-input/NumberInput.js +26 -35
  137. package/number-input/NumberInput.stories.tsx +42 -26
  138. package/number-input/NumberInput.test.js +700 -412
  139. package/number-input/types.d.ts +11 -5
  140. package/package.json +30 -28
  141. package/paginator/Icons.d.ts +5 -5
  142. package/paginator/Icons.js +5 -19
  143. package/paginator/Paginator.js +16 -44
  144. package/paginator/Paginator.test.js +229 -199
  145. package/paginator/types.d.ts +3 -3
  146. package/paragraph/Paragraph.js +3 -19
  147. package/paragraph/Paragraph.stories.tsx +0 -17
  148. package/password-input/Icons.d.ts +6 -0
  149. package/password-input/Icons.js +35 -0
  150. package/password-input/PasswordInput.js +57 -126
  151. package/password-input/PasswordInput.stories.tsx +1 -33
  152. package/password-input/PasswordInput.test.js +157 -140
  153. package/password-input/types.d.ts +8 -7
  154. package/progress-bar/ProgressBar.js +21 -53
  155. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  156. package/progress-bar/ProgressBar.test.js +35 -52
  157. package/progress-bar/types.d.ts +3 -3
  158. package/quick-nav/QuickNav.js +4 -27
  159. package/quick-nav/QuickNav.stories.tsx +1 -1
  160. package/quick-nav/types.d.ts +10 -10
  161. package/radio-group/Radio.d.ts +1 -1
  162. package/radio-group/Radio.js +31 -63
  163. package/radio-group/RadioGroup.js +45 -93
  164. package/radio-group/RadioGroup.stories.tsx +10 -10
  165. package/radio-group/RadioGroup.test.js +504 -470
  166. package/radio-group/types.d.ts +8 -8
  167. package/resultset-table/Icons.d.ts +7 -0
  168. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  169. package/{resultsetTable → resultset-table}/ResultsetTable.js +23 -59
  170. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
  171. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  172. package/resultset-table/types.js +5 -0
  173. package/select/Icons.d.ts +7 -7
  174. package/select/Icons.js +1 -5
  175. package/select/Listbox.js +13 -39
  176. package/select/Option.js +9 -26
  177. package/select/Select.js +70 -155
  178. package/select/Select.stories.tsx +3 -3
  179. package/select/Select.test.js +1946 -1804
  180. package/select/types.d.ts +14 -15
  181. package/sidenav/Icons.d.ts +7 -0
  182. package/sidenav/Icons.js +47 -0
  183. package/sidenav/Sidenav.d.ts +2 -2
  184. package/sidenav/Sidenav.js +80 -150
  185. package/sidenav/Sidenav.stories.tsx +60 -60
  186. package/sidenav/Sidenav.test.js +3 -10
  187. package/sidenav/types.d.ts +31 -28
  188. package/slider/Slider.js +68 -125
  189. package/slider/Slider.test.js +107 -103
  190. package/slider/types.d.ts +4 -4
  191. package/spinner/Spinner.js +16 -54
  192. package/spinner/Spinner.test.js +25 -34
  193. package/spinner/types.d.ts +3 -3
  194. package/switch/Switch.js +49 -97
  195. package/switch/Switch.stories.tsx +0 -34
  196. package/switch/Switch.test.js +51 -96
  197. package/switch/types.d.ts +4 -4
  198. package/table/Table.js +5 -27
  199. package/table/Table.test.js +1 -6
  200. package/table/types.d.ts +8 -8
  201. package/tabs/Tab.js +10 -29
  202. package/tabs/Tabs.js +52 -129
  203. package/tabs/Tabs.test.js +62 -118
  204. package/tabs/types.d.ts +19 -19
  205. package/tag/Tag.js +21 -51
  206. package/tag/Tag.test.js +19 -30
  207. package/tag/types.d.ts +7 -7
  208. package/text-input/Icons.d.ts +5 -5
  209. package/text-input/Icons.js +1 -5
  210. package/text-input/Suggestion.js +9 -26
  211. package/text-input/Suggestions.d.ts +1 -1
  212. package/text-input/Suggestions.js +15 -65
  213. package/text-input/TextInput.js +189 -284
  214. package/text-input/TextInput.stories.tsx +48 -152
  215. package/text-input/TextInput.test.js +1210 -1194
  216. package/text-input/types.d.ts +25 -17
  217. package/textarea/Textarea.js +67 -109
  218. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  219. package/textarea/Textarea.test.js +150 -179
  220. package/textarea/types.d.ts +9 -5
  221. package/toggle-group/ToggleGroup.d.ts +2 -2
  222. package/toggle-group/ToggleGroup.js +90 -107
  223. package/toggle-group/ToggleGroup.stories.tsx +7 -4
  224. package/toggle-group/ToggleGroup.test.js +68 -87
  225. package/toggle-group/types.d.ts +26 -17
  226. package/typography/Typography.js +4 -13
  227. package/typography/types.d.ts +1 -1
  228. package/useTheme.d.ts +21 -122
  229. package/useTheme.js +1 -8
  230. package/useTranslatedLabels.js +1 -7
  231. package/utils/BaseTypography.d.ts +2 -2
  232. package/utils/BaseTypography.js +16 -30
  233. package/utils/FocusLock.js +24 -42
  234. package/wizard/Wizard.js +14 -49
  235. package/wizard/Wizard.test.js +53 -80
  236. package/wizard/types.d.ts +6 -6
  237. package/card/ice-cream.jpg +0 -0
  238. package/number-input/NumberInputContext.d.ts +0 -4
  239. package/number-input/NumberInputContext.js +0 -19
  240. package/number-input/numberInputContextTypes.d.ts +0 -19
  241. package/resultsetTable/Icons.d.ts +0 -7
  242. package/slider/Slider.stories.tsx +0 -240
  243. /package/{resultsetTable → container}/types.js +0 -0
  244. /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
  245. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  246. /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
  247. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
  248. /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
@@ -1,151 +1,84 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
10
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
-
16
11
  var _react = _interopRequireWildcard(require("react"));
17
-
18
12
  var _styledComponents = _interopRequireDefault(require("styled-components"));
19
-
20
13
  var _TextInput = _interopRequireDefault(require("../text-input/TextInput"));
21
-
22
- var _useTranslatedLabels = _interopRequireDefault(require("../useTranslatedLabels"));
23
-
14
+ var _useTranslatedLabels2 = _interopRequireDefault(require("../useTranslatedLabels"));
15
+ var _Icons = _interopRequireDefault(require("./Icons"));
24
16
  var _templateObject;
25
-
26
- 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); }
27
-
28
- 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; }
29
-
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
+ };
30
27
  var DxcPasswordInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref, ref) {
31
28
  var label = _ref.label,
32
- _ref$name = _ref.name,
33
- name = _ref$name === void 0 ? "" : _ref$name,
34
- value = _ref.value,
35
- helperText = _ref.helperText,
36
- _ref$clearable = _ref.clearable,
37
- clearable = _ref$clearable === void 0 ? false : _ref$clearable,
38
- onChange = _ref.onChange,
39
- onBlur = _ref.onBlur,
40
- error = _ref.error,
41
- pattern = _ref.pattern,
42
- minLength = _ref.minLength,
43
- maxLength = _ref.maxLength,
44
- _ref$autocomplete = _ref.autocomplete,
45
- autocomplete = _ref$autocomplete === void 0 ? "off" : _ref$autocomplete,
46
- margin = _ref.margin,
47
- _ref$size = _ref.size,
48
- size = _ref$size === void 0 ? "medium" : _ref$size,
49
- _ref$tabIndex = _ref.tabIndex,
50
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
51
-
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;
52
48
  var _useState = (0, _react.useState)(false),
53
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
54
- isPasswordVisible = _useState2[0],
55
- setIsPasswordVisible = _useState2[1];
56
-
49
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
50
+ isPasswordVisible = _useState2[0],
51
+ setIsPasswordVisible = _useState2[1];
57
52
  var inputRef = (0, _react.useRef)(null);
58
- var translatedLabels = (0, _useTranslatedLabels["default"])();
59
-
60
- var setInputType = function setInputType(type) {
61
- var _inputRef$current, _inputRef$current$chi;
62
-
63
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : (_inputRef$current$chi = _inputRef$current.children[label && helperText ? 2 : label || helperText ? 1 : 0]) === null || _inputRef$current$chi === void 0 ? void 0 : _inputRef$current$chi.children[0].setAttribute("type", type);
64
- };
65
-
66
- var setAriaAttributes = function setAriaAttributes(ariaExpanded, ariaLabel) {
67
- var inputIndex = label && helperText ? 2 : label || helperText ? 1 : 0;
68
-
69
- if (error && clearable && value) {
70
- var _inputRef$current2, _inputRef$current2$ch, _inputRef$current2$ch2, _inputRef$current3, _inputRef$current3$ch, _inputRef$current3$ch2;
71
-
72
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : (_inputRef$current2$ch = _inputRef$current2.children[inputIndex]) === 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);
73
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : (_inputRef$current3$ch = _inputRef$current3.children[inputIndex]) === 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);
74
- } else if (error || clearable && !value) {
75
- var _inputRef$current4, _inputRef$current4$ch, _inputRef$current4$ch2, _inputRef$current5, _inputRef$current5$ch, _inputRef$current5$ch2;
76
-
77
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current4 = inputRef.current) === null || _inputRef$current4 === void 0 ? void 0 : (_inputRef$current4$ch = _inputRef$current4.children[inputIndex]) === 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);
78
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current5 = inputRef.current) === null || _inputRef$current5 === void 0 ? void 0 : (_inputRef$current5$ch = _inputRef$current5.children[inputIndex]) === 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);
79
- } else {
80
- var _inputRef$current6, _inputRef$current6$ch, _inputRef$current6$ch2, _inputRef$current7, _inputRef$current7$ch, _inputRef$current7$ch2;
81
-
82
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current6 = inputRef.current) === null || _inputRef$current6 === void 0 ? void 0 : (_inputRef$current6$ch = _inputRef$current6.children[inputIndex]) === 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);
83
- inputRef === null || inputRef === void 0 ? void 0 : (_inputRef$current7 = inputRef.current) === null || _inputRef$current7 === void 0 ? void 0 : (_inputRef$current7$ch = _inputRef$current7.children[inputIndex]) === 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);
84
- }
85
- };
86
-
87
- var getIconTitle = function getIconTitle() {
88
- return isPasswordVisible ? translatedLabels.passwordInput.inputHidePasswordTitle : translatedLabels.passwordInput.inputShowPasswordTitle;
89
- };
90
-
53
+ var _useTranslatedLabels = (0, _useTranslatedLabels2["default"])(),
54
+ passwordInput = _useTranslatedLabels.passwordInput;
91
55
  (0, _react.useEffect)(function () {
92
- setAriaAttributes(false, translatedLabels.passwordInput.inputShowPasswordTitle);
93
-
94
- if (isPasswordVisible) {
95
- setInputType("text");
96
- setAriaAttributes(true, translatedLabels.passwordInput.inputHidePasswordTitle);
97
- } else {
98
- setInputType("password");
99
- setAriaAttributes(false, translatedLabels.passwordInput.inputShowPasswordTitle);
100
- }
101
- }, [isPasswordVisible]);
102
-
103
- var viewPassword = function viewPassword() {
104
- setInputType("text");
105
- setIsPasswordVisible(true);
106
- };
107
-
108
- var hidePassword = function hidePassword() {
109
- setInputType("password");
110
- setIsPasswordVisible(false);
111
- };
112
-
113
- var action = {
114
- onClick: isPasswordVisible ? hidePassword : viewPassword,
115
- icon: isPasswordVisible ? /*#__PURE__*/_react["default"].createElement("svg", {
116
- xmlns: "http://www.w3.org/2000/svg",
117
- height: "24px",
118
- viewBox: "0 0 24 24",
119
- width: "24px",
120
- fill: "currentColor"
121
- }, /*#__PURE__*/_react["default"].createElement("path", {
122
- d: "M0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0zm0 0h24v24H0V0z",
123
- fill: "none"
124
- }), /*#__PURE__*/_react["default"].createElement("path", {
125
- 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"
126
- })) : /*#__PURE__*/_react["default"].createElement("svg", {
127
- xmlns: "http://www.w3.org/2000/svg",
128
- height: "24px",
129
- viewBox: "0 0 24 24",
130
- width: "24px",
131
- fill: "currentColor"
132
- }, /*#__PURE__*/_react["default"].createElement("path", {
133
- d: "M0 0h24v24H0V0z",
134
- fill: "none"
135
- }), /*#__PURE__*/_react["default"].createElement("path", {
136
- 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"
137
- })),
138
- title: getIconTitle()
139
- };
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]);
140
66
  return /*#__PURE__*/_react["default"].createElement(PasswordInput, {
141
67
  ref: ref
142
68
  }, /*#__PURE__*/_react["default"].createElement(_TextInput["default"], {
143
- ref: inputRef,
144
69
  label: label,
145
70
  name: name,
146
71
  value: value,
147
72
  helperText: helperText,
148
- 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
+ },
149
82
  error: error,
150
83
  clearable: clearable,
151
84
  onChange: onChange,
@@ -156,11 +89,9 @@ var DxcPasswordInput = /*#__PURE__*/_react["default"].forwardRef(function (_ref,
156
89
  minLength: minLength,
157
90
  maxLength: maxLength,
158
91
  autocomplete: autocomplete,
92
+ ref: inputRef,
159
93
  tabIndex: tabIndex
160
94
  }));
161
95
  });
162
-
163
96
  var PasswordInput = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n & ::-ms-reveal {\n display: none;\n }\n"])));
164
-
165
- var _default = DxcPasswordInput;
166
- exports["default"] = _default;
97
+ var _default = exports["default"] = DxcPasswordInput;
@@ -1,13 +1,11 @@
1
1
  import React from "react";
2
2
  import { userEvent, within } from "@storybook/testing-library";
3
3
  import DxcPasswordInput from "./PasswordInput";
4
- import { BackgroundColorProvider } from "../BackgroundColorContext";
5
4
  import Title from "../../.storybook/components/Title";
6
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
7
- import DarkContainer from "../../.storybook/components/DarkSection";
8
6
 
9
7
  export default {
10
- title: "Password input",
8
+ title: "Password Input",
11
9
  component: DxcPasswordInput,
12
10
  };
13
11
 
@@ -37,19 +35,6 @@ export const Chromatic = () => (
37
35
  <Title title="Invalid" theme="light" level={4} />
38
36
  <DxcPasswordInput label="Error password input" error="Error message." />
39
37
  </ExampleContainer>
40
- <BackgroundColorProvider color="#333333">
41
- <DarkContainer>
42
- <Title title="Dark" theme="dark" level={2} />
43
- <ExampleContainer>
44
- <Title title="With label, helper text and value" theme="dark" level={4} />
45
- <DxcPasswordInput label="Password input" helperText="Help message" value="Password" />
46
- </ExampleContainer>
47
- <ExampleContainer>
48
- <Title title="With label, helper text, value and error" theme="dark" level={4} />
49
- <DxcPasswordInput label="Password input" helperText="Help message" error="Error message." value="Password" />
50
- </ExampleContainer>
51
- </DarkContainer>
52
- </BackgroundColorProvider>
53
38
  <Title title="Margins" theme="light" level={2} />
54
39
  <ExampleContainer>
55
40
  <Title title="Xxsmall margin" theme="light" level={4} />
@@ -105,16 +90,6 @@ const Password = () => (
105
90
  <DxcPasswordInput label="Password input" value="Password" />
106
91
  </ExampleContainer>
107
92
  );
108
- const PasswordDark = () => (
109
- <BackgroundColorProvider color="#333333">
110
- <DarkContainer>
111
- <ExampleContainer expanded>
112
- <Title title="Show password" theme="dark" level={4} />
113
- <DxcPasswordInput label="Password input" value="Password" />
114
- </ExampleContainer>
115
- </DarkContainer>
116
- </BackgroundColorProvider>
117
- );
118
93
 
119
94
  export const ShowPassword = Password.bind({});
120
95
  ShowPassword.play = async ({ canvasElement }) => {
@@ -122,10 +97,3 @@ ShowPassword.play = async ({ canvasElement }) => {
122
97
  const passwordBtn = canvas.getByRole("button");
123
98
  await userEvent.click(passwordBtn);
124
99
  };
125
-
126
- export const ShowPasswordDark = PasswordDark.bind({});
127
- ShowPasswordDark.play = async ({ canvasElement }) => {
128
- const canvas = within(canvasElement);
129
- const passwordBtn = canvas.getByRole("button");
130
- await userEvent.click(passwordBtn);
131
- };
@@ -1,57 +1,70 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
6
-
7
5
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
8
-
6
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
7
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
9
8
  var _react = _interopRequireDefault(require("react"));
10
-
11
9
  var _react2 = require("@testing-library/react");
12
-
13
10
  var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
14
-
15
11
  var _PasswordInput = _interopRequireDefault(require("./PasswordInput.tsx"));
16
-
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
+ }();
17
42
  describe("Password input component tests", function () {
18
- test("Password input renders with label", function () {
43
+ test("Password input renders with label and helper text", function () {
19
44
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
20
- label: "Password input label"
21
- })),
22
- getByText = _render.getByText;
23
-
45
+ label: "Password input label",
46
+ helperText: "Helper text"
47
+ })),
48
+ getByText = _render.getByText;
24
49
  expect(getByText("Password input label")).toBeTruthy();
25
- });
26
- test("Password input renders with helper text", function () {
27
- var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
28
- helperText: "Helper text"
29
- })),
30
- getByText = _render2.getByText;
31
-
32
50
  expect(getByText("Helper text")).toBeTruthy();
33
51
  });
34
52
  test("Password input renders error", function () {
35
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
36
- error: "Error message."
37
- })),
38
- getByText = _render3.getByText;
39
-
53
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
54
+ error: "Error message."
55
+ })),
56
+ getByText = _render2.getByText;
40
57
  expect(getByText("Error message.")).toBeTruthy();
41
58
  });
42
59
  test("onChange function is called correctly", function () {
43
60
  var onChange = jest.fn();
44
-
45
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
46
- label: "Password input",
47
- onChange: onChange
48
- })),
49
- getByLabelText = _render4.getByLabelText;
50
-
61
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
62
+ label: "Password input",
63
+ onChange: onChange
64
+ })),
65
+ getByLabelText = _render3.getByLabelText;
51
66
  var passwordInput = getByLabelText("Password input");
52
-
53
67
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
54
-
55
68
  expect(onChange).toHaveBeenCalledWith({
56
69
  value: "P"
57
70
  });
@@ -59,123 +72,127 @@ describe("Password input component tests", function () {
59
72
  });
60
73
  test("onBlur function is called correctly", function () {
61
74
  var onBlur = jest.fn();
62
-
63
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
64
- label: "Password input",
65
- onBlur: onBlur
66
- })),
67
- getByLabelText = _render5.getByLabelText;
68
-
75
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
76
+ label: "Password input",
77
+ onBlur: onBlur
78
+ })),
79
+ getByLabelText = _render4.getByLabelText;
69
80
  var passwordInput = getByLabelText("Password input");
70
-
71
81
  _userEvent["default"].type(passwordInput, "Pa$$w0rd");
72
-
73
82
  _react2.fireEvent.blur(passwordInput);
74
-
75
83
  expect(onBlur).toHaveBeenCalledWith({
76
84
  value: "Pa$$w0rd"
77
85
  });
78
86
  expect(passwordInput.value).toBe("Pa$$w0rd");
79
87
  });
80
- test("Clear password input value", function () {
81
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
82
- label: "Password input",
83
- clearable: true
84
- })),
85
- getAllByRole = _render6.getAllByRole,
86
- getByLabelText = _render6.getByLabelText;
87
-
88
- var passwordInput = getByLabelText("Password input");
89
-
90
- _userEvent["default"].type(passwordInput, "Pa$$w0rd");
91
-
92
- expect(passwordInput.value).toBe("Pa$$w0rd");
93
- var clearButton = getAllByRole("button")[0];
94
-
95
- _userEvent["default"].click(clearButton);
96
-
97
- expect(passwordInput.value).toBe("");
98
- });
99
- test("Non clearable password input has no clear icon", function () {
100
- var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
101
- label: "Password input"
102
- })),
103
- getAllByRole = _render7.getAllByRole,
104
- getByLabelText = _render7.getByLabelText;
105
-
106
- var passwordInput = getByLabelText("Password input");
107
-
108
- _userEvent["default"].type(passwordInput, "Pa$$w0rd");
109
-
110
- expect(passwordInput.value).toBe("Pa$$w0rd");
111
- var buttons = getAllByRole("button");
112
- expect(buttons.length).toBe(1);
113
- });
114
- test("Show/hide password input button works correctly", function () {
115
- var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
116
- label: "Password input",
117
- clearable: true
118
- })),
119
- getAllByRole = _render8.getAllByRole,
120
- getByLabelText = _render8.getByLabelText;
121
-
122
- var passwordInput = getByLabelText("Password input");
123
-
124
- _userEvent["default"].type(passwordInput, "Pa$$w0rd");
125
-
126
- expect(passwordInput.value).toBe("Pa$$w0rd");
127
- expect(passwordInput.type).toBe("password");
128
- var showButton = getAllByRole("button")[1];
129
-
130
- _userEvent["default"].click(showButton);
131
-
132
- expect(passwordInput.type).toBe("text");
133
- });
134
- test("Password tooltip is correct", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
135
- var _render9, getAllByRole, getByTitle, queryByTitle, showButton;
136
-
88
+ test("Clear password input value", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
89
+ var _render5, getAllByRole, getByLabelText, passwordInput, clearButton;
137
90
  return _regenerator["default"].wrap(function _callee$(_context) {
138
- while (1) {
139
- switch (_context.prev = _context.next) {
140
- case 0:
141
- _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
142
- label: "Password input",
143
- clearable: true,
144
- value: "Password"
145
- })), getAllByRole = _render9.getAllByRole, getByTitle = _render9.getByTitle, queryByTitle = _render9.queryByTitle;
146
- showButton = getAllByRole("button")[1];
147
-
148
- _userEvent["default"].hover(showButton);
149
-
150
- expect(getByTitle("Show password")).toBeTruthy();
151
-
152
- _userEvent["default"].unhover(showButton);
153
-
154
- expect(queryByTitle("Hide password")).toBeFalsy();
155
-
156
- case 6:
157
- case "end":
158
- return _context.stop();
159
- }
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();
160
108
  }
161
109
  }, _callee);
162
110
  })));
163
- test("Password input has correct accesibility attributes", function () {
164
- var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_PasswordInput["default"], {
165
- label: "Password input"
166
- })),
167
- getByRole = _render10.getByRole,
168
- getByLabelText = _render10.getByLabelText;
169
-
170
- var passwordInput = getByLabelText("Password input");
171
- expect(passwordInput.getAttribute("aria-autocomplete")).toBeNull();
172
- expect(passwordInput.getAttribute("aria-controls")).toBeNull();
173
- expect(passwordInput.getAttribute("aria-expanded")).toBeNull();
174
- var showButton = getByRole("button");
175
- expect(showButton.getAttribute("aria-label")).toBe("Show password");
176
-
177
- _userEvent["default"].click(showButton);
178
-
179
- expect(showButton.getAttribute("aria-label")).toBe("Hide password");
180
- });
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
+ })));
181
198
  });