@dxc-technology/halstack-react 0.0.0-2455fac → 0.0.0-2499c33

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 (335) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +4 -21
  3. package/HalstackContext.d.ts +52 -139
  4. package/HalstackContext.js +11 -36
  5. package/README.md +47 -0
  6. package/accordion/Accordion.accessibility.test.js +71 -0
  7. package/accordion/Accordion.js +31 -84
  8. package/accordion/Accordion.stories.tsx +5 -51
  9. package/accordion/Accordion.test.js +18 -33
  10. package/accordion/types.d.ts +6 -6
  11. package/accordion-group/AccordionGroup.accessibility.test.js +88 -0
  12. package/accordion-group/AccordionGroup.d.ts +2 -3
  13. package/accordion-group/AccordionGroup.js +17 -44
  14. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  15. package/accordion-group/AccordionGroup.test.js +42 -60
  16. package/accordion-group/AccordionGroupAccordion.js +11 -23
  17. package/accordion-group/AccordionGroupContext.d.ts +3 -0
  18. package/accordion-group/AccordionGroupContext.js +8 -0
  19. package/accordion-group/types.d.ts +7 -7
  20. package/action-icon/ActionIcon.accessibility.test.js +63 -0
  21. package/action-icon/ActionIcon.d.ts +4 -0
  22. package/action-icon/ActionIcon.js +48 -0
  23. package/action-icon/ActionIcon.stories.tsx +41 -0
  24. package/action-icon/ActionIcon.test.js +64 -0
  25. package/action-icon/types.d.ts +26 -0
  26. package/alert/Alert.accessibility.test.js +95 -0
  27. package/alert/Alert.js +29 -118
  28. package/alert/Alert.test.js +28 -45
  29. package/alert/types.d.ts +5 -5
  30. package/badge/Badge.accessibility.test.js +129 -0
  31. package/badge/Badge.d.ts +1 -1
  32. package/badge/Badge.js +142 -42
  33. package/badge/Badge.stories.tsx +210 -0
  34. package/badge/Badge.test.js +30 -0
  35. package/badge/types.d.ts +52 -3
  36. package/bleed/Bleed.js +13 -21
  37. package/bleed/types.d.ts +2 -2
  38. package/box/Box.accessibility.test.js +33 -0
  39. package/box/Box.js +11 -33
  40. package/box/Box.test.js +1 -6
  41. package/box/types.d.ts +3 -3
  42. package/bulleted-list/BulletedList.accessibility.test.js +107 -0
  43. package/bulleted-list/BulletedList.js +22 -55
  44. package/bulleted-list/BulletedList.stories.tsx +2 -93
  45. package/bulleted-list/types.d.ts +5 -5
  46. package/button/Button.accessibility.test.js +127 -0
  47. package/button/Button.d.ts +1 -1
  48. package/button/Button.js +68 -100
  49. package/button/Button.stories.tsx +33 -133
  50. package/button/Button.test.js +19 -16
  51. package/button/types.d.ts +9 -5
  52. package/card/Card.accessibility.test.js +36 -0
  53. package/card/Card.js +21 -44
  54. package/card/Card.test.js +10 -21
  55. package/card/types.d.ts +5 -5
  56. package/checkbox/Checkbox.accessibility.test.js +87 -0
  57. package/checkbox/Checkbox.js +85 -120
  58. package/checkbox/Checkbox.stories.tsx +16 -54
  59. package/checkbox/Checkbox.test.js +107 -63
  60. package/checkbox/types.d.ts +8 -4
  61. package/chip/Chip.accessibility.test.js +67 -0
  62. package/chip/Chip.js +20 -36
  63. package/chip/Chip.stories.tsx +5 -24
  64. package/chip/Chip.test.js +17 -30
  65. package/chip/types.d.ts +4 -4
  66. package/common/coreTokens.d.ts +105 -14
  67. package/common/coreTokens.js +41 -24
  68. package/common/utils.js +2 -8
  69. package/common/variables.d.ts +52 -139
  70. package/common/variables.js +63 -157
  71. package/container/Container.d.ts +4 -0
  72. package/container/Container.js +194 -0
  73. package/container/Container.stories.tsx +214 -0
  74. package/container/types.d.ts +74 -0
  75. package/contextual-menu/ContextualMenu.accessibility.test.js +86 -0
  76. package/contextual-menu/ContextualMenu.d.ts +7 -0
  77. package/contextual-menu/ContextualMenu.js +71 -0
  78. package/contextual-menu/ContextualMenu.stories.tsx +182 -0
  79. package/contextual-menu/ContextualMenu.test.js +71 -0
  80. package/contextual-menu/MenuItemAction.d.ts +4 -0
  81. package/contextual-menu/MenuItemAction.js +46 -0
  82. package/contextual-menu/types.d.ts +22 -0
  83. package/contextual-menu/types.js +5 -0
  84. package/date-input/Calendar.js +13 -57
  85. package/date-input/DateInput.accessibility.test.js +216 -0
  86. package/date-input/DateInput.js +50 -96
  87. package/date-input/DateInput.stories.tsx +11 -30
  88. package/date-input/DateInput.test.js +674 -701
  89. package/date-input/DatePicker.js +11 -42
  90. package/date-input/Icons.d.ts +6 -6
  91. package/date-input/Icons.js +6 -23
  92. package/date-input/YearPicker.js +8 -34
  93. package/date-input/types.d.ts +28 -22
  94. package/dialog/Dialog.accessibility.test.js +69 -0
  95. package/dialog/Dialog.js +13 -40
  96. package/dialog/Dialog.stories.tsx +170 -0
  97. package/dialog/Dialog.test.js +126 -188
  98. package/dialog/types.d.ts +18 -13
  99. package/divider/Divider.accessibility.test.js +33 -0
  100. package/divider/Divider.d.ts +4 -0
  101. package/divider/Divider.js +36 -0
  102. package/divider/Divider.stories.tsx +223 -0
  103. package/divider/Divider.test.js +38 -0
  104. package/divider/types.d.ts +21 -0
  105. package/divider/types.js +5 -0
  106. package/dropdown/Dropdown.accessibility.test.js +180 -0
  107. package/dropdown/Dropdown.js +59 -128
  108. package/dropdown/Dropdown.stories.tsx +5 -16
  109. package/dropdown/Dropdown.test.js +391 -378
  110. package/dropdown/DropdownMenu.js +8 -19
  111. package/dropdown/DropdownMenuItem.js +11 -20
  112. package/dropdown/types.d.ts +20 -24
  113. package/file-input/FileInput.accessibility.test.js +160 -0
  114. package/file-input/FileInput.js +180 -284
  115. package/file-input/FileInput.stories.tsx +1 -1
  116. package/file-input/FileInput.test.js +279 -354
  117. package/file-input/FileItem.js +25 -66
  118. package/file-input/types.d.ts +9 -9
  119. package/flex/Flex.js +25 -39
  120. package/flex/types.d.ts +6 -6
  121. package/footer/Footer.accessibility.test.js +117 -0
  122. package/footer/Footer.d.ts +1 -1
  123. package/footer/Footer.js +43 -68
  124. package/footer/Footer.stories.tsx +54 -9
  125. package/footer/Footer.test.js +18 -32
  126. package/footer/Icons.d.ts +3 -2
  127. package/footer/Icons.js +66 -7
  128. package/footer/types.d.ts +17 -17
  129. package/grid/Grid.d.ts +1 -1
  130. package/grid/Grid.js +2 -17
  131. package/grid/Grid.stories.tsx +38 -38
  132. package/grid/types.d.ts +10 -10
  133. package/header/Header.accessibility.test.js +84 -0
  134. package/header/Header.d.ts +1 -1
  135. package/header/Header.js +36 -103
  136. package/header/Header.test.js +12 -25
  137. package/header/Icons.d.ts +2 -2
  138. package/header/Icons.js +2 -7
  139. package/header/types.d.ts +7 -8
  140. package/heading/Heading.accessibility.test.js +33 -0
  141. package/heading/Heading.js +9 -31
  142. package/heading/Heading.test.js +70 -87
  143. package/heading/types.d.ts +7 -7
  144. package/icon/Icon.accessibility.test.js +30 -0
  145. package/icon/Icon.d.ts +4 -0
  146. package/icon/Icon.js +33 -0
  147. package/icon/Icon.stories.tsx +28 -0
  148. package/icon/types.d.ts +4 -0
  149. package/icon/types.js +5 -0
  150. package/image/Image.accessibility.test.js +56 -0
  151. package/image/Image.d.ts +4 -0
  152. package/image/Image.js +70 -0
  153. package/image/Image.stories.tsx +129 -0
  154. package/image/types.d.ts +72 -0
  155. package/image/types.js +5 -0
  156. package/inset/Inset.js +13 -21
  157. package/inset/types.d.ts +2 -2
  158. package/layout/ApplicationLayout.d.ts +2 -2
  159. package/layout/ApplicationLayout.js +26 -66
  160. package/layout/ApplicationLayout.stories.tsx +1 -1
  161. package/layout/Icons.d.ts +8 -5
  162. package/layout/Icons.js +49 -59
  163. package/layout/types.d.ts +3 -3
  164. package/link/Link.accessibility.test.js +112 -0
  165. package/link/Link.js +28 -47
  166. package/link/Link.stories.tsx +2 -2
  167. package/link/Link.test.js +23 -41
  168. package/link/types.d.ts +14 -14
  169. package/main.d.ts +8 -4
  170. package/main.js +39 -59
  171. package/nav-tabs/NavTabs.accessibility.test.js +52 -0
  172. package/nav-tabs/NavTabs.d.ts +1 -2
  173. package/nav-tabs/NavTabs.js +19 -48
  174. package/nav-tabs/NavTabs.stories.tsx +7 -5
  175. package/nav-tabs/NavTabs.test.js +38 -44
  176. package/nav-tabs/NavTabsContext.d.ts +3 -0
  177. package/nav-tabs/NavTabsContext.js +8 -0
  178. package/nav-tabs/Tab.js +24 -52
  179. package/nav-tabs/types.d.ts +9 -9
  180. package/number-input/NumberInput.accessibility.test.js +228 -0
  181. package/number-input/NumberInput.js +46 -36
  182. package/number-input/NumberInput.stories.tsx +42 -26
  183. package/number-input/NumberInput.test.js +859 -412
  184. package/number-input/NumberInputContext.d.ts +3 -4
  185. package/number-input/NumberInputContext.js +3 -14
  186. package/number-input/types.d.ts +17 -5
  187. package/package.json +40 -38
  188. package/paginator/Icons.d.ts +5 -5
  189. package/paginator/Icons.js +5 -19
  190. package/paginator/Paginator.accessibility.test.js +79 -0
  191. package/paginator/Paginator.js +15 -43
  192. package/paginator/Paginator.test.js +224 -207
  193. package/paginator/types.d.ts +3 -3
  194. package/paragraph/Paragraph.accessibility.test.js +28 -0
  195. package/paragraph/Paragraph.js +3 -19
  196. package/paragraph/Paragraph.stories.tsx +0 -17
  197. package/password-input/Icons.d.ts +6 -0
  198. package/password-input/Icons.js +35 -0
  199. package/password-input/PasswordInput.accessibility.test.js +153 -0
  200. package/password-input/PasswordInput.js +57 -126
  201. package/password-input/PasswordInput.stories.tsx +1 -33
  202. package/password-input/PasswordInput.test.js +157 -140
  203. package/password-input/types.d.ts +8 -7
  204. package/progress-bar/ProgressBar.accessibility.test.js +35 -0
  205. package/progress-bar/ProgressBar.js +21 -53
  206. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  207. package/progress-bar/ProgressBar.test.js +35 -52
  208. package/progress-bar/types.d.ts +3 -3
  209. package/quick-nav/QuickNav.accessibility.test.js +57 -0
  210. package/quick-nav/QuickNav.js +4 -27
  211. package/quick-nav/QuickNav.stories.tsx +1 -1
  212. package/quick-nav/types.d.ts +10 -10
  213. package/radio-group/Radio.d.ts +1 -1
  214. package/radio-group/Radio.js +22 -54
  215. package/radio-group/RadioGroup.accessibility.test.js +97 -0
  216. package/radio-group/RadioGroup.js +37 -83
  217. package/radio-group/RadioGroup.stories.tsx +10 -10
  218. package/radio-group/RadioGroup.test.js +504 -470
  219. package/radio-group/types.d.ts +8 -8
  220. package/resultset-table/Icons.d.ts +7 -0
  221. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  222. package/resultset-table/ResultsetTable.accessibility.test.js +274 -0
  223. package/resultset-table/ResultsetTable.d.ts +7 -0
  224. package/{resultsetTable → resultset-table}/ResultsetTable.js +44 -69
  225. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +106 -5
  226. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +148 -92
  227. package/{resultsetTable → resultset-table}/types.d.ts +44 -11
  228. package/resultset-table/types.js +5 -0
  229. package/select/Icons.d.ts +7 -7
  230. package/select/Icons.js +1 -5
  231. package/select/Listbox.js +13 -39
  232. package/select/Option.js +17 -27
  233. package/select/Select.accessibility.test.js +217 -0
  234. package/select/Select.js +87 -163
  235. package/select/Select.stories.tsx +3 -4
  236. package/select/Select.test.js +1946 -1804
  237. package/select/types.d.ts +14 -15
  238. package/sidenav/Sidenav.accessibility.test.js +59 -0
  239. package/sidenav/Sidenav.js +44 -81
  240. package/sidenav/Sidenav.stories.tsx +4 -9
  241. package/sidenav/Sidenav.test.js +3 -10
  242. package/{layout → sidenav}/SidenavContext.d.ts +1 -1
  243. package/{layout → sidenav}/SidenavContext.js +3 -9
  244. package/sidenav/types.d.ts +20 -20
  245. package/slider/Slider.accessibility.test.js +104 -0
  246. package/slider/Slider.js +68 -125
  247. package/slider/Slider.test.js +107 -103
  248. package/slider/types.d.ts +4 -4
  249. package/spinner/Spinner.accessibility.test.js +96 -0
  250. package/spinner/Spinner.js +16 -54
  251. package/spinner/Spinner.test.js +25 -34
  252. package/spinner/types.d.ts +3 -3
  253. package/status-light/StatusLight.accessibility.test.js +157 -0
  254. package/status-light/StatusLight.d.ts +4 -0
  255. package/status-light/StatusLight.js +51 -0
  256. package/status-light/StatusLight.stories.tsx +74 -0
  257. package/status-light/StatusLight.test.js +25 -0
  258. package/status-light/types.d.ts +17 -0
  259. package/status-light/types.js +5 -0
  260. package/switch/Switch.accessibility.test.js +89 -0
  261. package/switch/Switch.js +49 -97
  262. package/switch/Switch.stories.tsx +0 -34
  263. package/switch/Switch.test.js +51 -96
  264. package/switch/types.d.ts +4 -4
  265. package/table/DropdownTheme.js +62 -0
  266. package/table/Table.accessibility.test.js +82 -0
  267. package/table/Table.d.ts +6 -2
  268. package/table/Table.js +76 -33
  269. package/table/{Table.stories.jsx → Table.stories.tsx} +297 -2
  270. package/table/Table.test.js +93 -6
  271. package/table/types.d.ts +34 -6
  272. package/tabs/Tab.js +17 -33
  273. package/tabs/Tabs.accessibility.test.js +56 -0
  274. package/tabs/Tabs.js +52 -129
  275. package/tabs/Tabs.stories.tsx +1 -1
  276. package/tabs/Tabs.test.js +62 -118
  277. package/tabs/types.d.ts +19 -19
  278. package/tag/Tag.accessibility.test.js +69 -0
  279. package/tag/Tag.js +27 -57
  280. package/tag/Tag.stories.tsx +4 -7
  281. package/tag/Tag.test.js +17 -36
  282. package/tag/types.d.ts +9 -9
  283. package/text-input/Suggestion.js +9 -26
  284. package/text-input/Suggestions.d.ts +1 -1
  285. package/text-input/Suggestions.js +19 -67
  286. package/text-input/TextInput.accessibility.test.js +321 -0
  287. package/text-input/TextInput.js +221 -327
  288. package/text-input/TextInput.stories.tsx +49 -153
  289. package/text-input/TextInput.test.js +1227 -1194
  290. package/text-input/types.d.ts +25 -17
  291. package/textarea/Textarea.accessibility.test.js +155 -0
  292. package/textarea/Textarea.js +67 -109
  293. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  294. package/textarea/Textarea.test.js +150 -179
  295. package/textarea/types.d.ts +9 -5
  296. package/toggle-group/ToggleGroup.accessibility.test.js +107 -0
  297. package/toggle-group/ToggleGroup.js +92 -108
  298. package/toggle-group/ToggleGroup.stories.tsx +10 -7
  299. package/toggle-group/ToggleGroup.test.js +68 -87
  300. package/toggle-group/types.d.ts +28 -19
  301. package/typography/Typography.accessibility.test.js +339 -0
  302. package/typography/Typography.js +4 -13
  303. package/typography/types.d.ts +1 -1
  304. package/useTheme.d.ts +49 -136
  305. package/useTheme.js +1 -8
  306. package/useTranslatedLabels.js +1 -7
  307. package/utils/BaseTypography.d.ts +2 -2
  308. package/utils/BaseTypography.js +16 -30
  309. package/utils/FocusLock.js +25 -39
  310. package/wizard/Wizard.accessibility.test.js +55 -0
  311. package/wizard/Wizard.js +14 -49
  312. package/wizard/Wizard.test.js +53 -80
  313. package/wizard/types.d.ts +7 -7
  314. package/common/OpenSans.css +0 -69
  315. package/common/fonts/OpenSans-Bold.ttf +0 -0
  316. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  317. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  318. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  319. package/common/fonts/OpenSans-Italic.ttf +0 -0
  320. package/common/fonts/OpenSans-Light.ttf +0 -0
  321. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  322. package/common/fonts/OpenSans-Regular.ttf +0 -0
  323. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  324. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  325. package/number-input/numberInputContextTypes.d.ts +0 -19
  326. package/resultsetTable/Icons.d.ts +0 -7
  327. package/resultsetTable/ResultsetTable.d.ts +0 -4
  328. package/sidenav/Icons.d.ts +0 -7
  329. package/sidenav/Icons.js +0 -51
  330. package/slider/Slider.stories.tsx +0 -240
  331. package/text-input/Icons.d.ts +0 -8
  332. package/text-input/Icons.js +0 -60
  333. /package/{resultsetTable → action-icon}/types.js +0 -0
  334. /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
  335. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
package/button/types.d.ts CHANGED
@@ -1,13 +1,13 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
- declare type Props = {
9
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ type Props = {
11
11
  /**
12
12
  * Text to be placed in the button.
13
13
  */
@@ -24,12 +24,16 @@ declare type Props = {
24
24
  * Whether the icon should appear after or before the label.
25
25
  */
26
26
  iconPosition?: "before" | "after";
27
+ /**
28
+ * Value for the HTML properties title and aria-label.
29
+ */
30
+ title?: string;
27
31
  /**
28
32
  * 'type' html prop of the button.
29
33
  */
30
34
  type?: "button" | "reset" | "submit";
31
35
  /**
32
- * Element or path used as the icon that will be placed next to the label.
36
+ * Material Symbol name or SVG element as the icon that will be placed next to the label.
33
37
  */
34
38
  icon?: string | SVG;
35
39
  /**
@@ -0,0 +1,36 @@
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 _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Card = _interopRequireDefault(require("./Card.tsx"));
10
+ describe("Card component accessibility tests", function () {
11
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12
+ var _render, container, results;
13
+ return _regenerator["default"].wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
17
+ linkHref: "https://www.dxc.com",
18
+ imageSrc: "https://picsum.photos/id/1022/200/300",
19
+ imagePosition: "after",
20
+ imagePadding: "xsmall",
21
+ margin: "medium",
22
+ imageBgColor: "yellow",
23
+ imageCover: true
24
+ }, "test-card")), container = _render.container;
25
+ _context.next = 3;
26
+ return (0, _jestAxe.axe)(container);
27
+ case 3:
28
+ results = _context.sent;
29
+ expect(results).toHaveNoViolations();
30
+ case 5:
31
+ case "end":
32
+ return _context.stop();
33
+ }
34
+ }, _callee);
35
+ })));
36
+ });
package/card/Card.js CHANGED
@@ -1,60 +1,44 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = 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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
14
  var _variables = require("../common/variables");
23
-
24
15
  var _useTheme = _interopRequireDefault(require("../useTheme"));
25
-
26
16
  var _Box = _interopRequireDefault(require("../box/Box"));
27
-
28
17
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
29
-
30
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
-
32
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
33
-
18
+ 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); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(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; }
34
20
  var DxcCard = function DxcCard(_ref) {
35
21
  var imageSrc = _ref.imageSrc,
36
- _ref$imageBgColor = _ref.imageBgColor,
37
- imageBgColor = _ref$imageBgColor === void 0 ? "black" : _ref$imageBgColor,
38
- imagePadding = _ref.imagePadding,
39
- _ref$imagePosition = _ref.imagePosition,
40
- imagePosition = _ref$imagePosition === void 0 ? "before" : _ref$imagePosition,
41
- linkHref = _ref.linkHref,
42
- onClick = _ref.onClick,
43
- _ref$imageCover = _ref.imageCover,
44
- imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
45
- margin = _ref.margin,
46
- _ref$tabIndex = _ref.tabIndex,
47
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
48
- _ref$outlined = _ref.outlined,
49
- outlined = _ref$outlined === void 0 ? true : _ref$outlined,
50
- children = _ref.children;
22
+ _ref$imageBgColor = _ref.imageBgColor,
23
+ imageBgColor = _ref$imageBgColor === void 0 ? "black" : _ref$imageBgColor,
24
+ imagePadding = _ref.imagePadding,
25
+ _ref$imagePosition = _ref.imagePosition,
26
+ imagePosition = _ref$imagePosition === void 0 ? "before" : _ref$imagePosition,
27
+ linkHref = _ref.linkHref,
28
+ onClick = _ref.onClick,
29
+ _ref$imageCover = _ref.imageCover,
30
+ imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
31
+ margin = _ref.margin,
32
+ _ref$tabIndex = _ref.tabIndex,
33
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
34
+ _ref$outlined = _ref.outlined,
35
+ outlined = _ref$outlined === void 0 ? true : _ref$outlined,
36
+ children = _ref.children;
51
37
  var colorsTheme = (0, _useTheme["default"])();
52
-
53
38
  var _useState = (0, _react.useState)(false),
54
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
55
- isHovered = _useState2[0],
56
- changeIsHovered = _useState2[1];
57
-
39
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
40
+ isHovered = _useState2[0],
41
+ changeIsHovered = _useState2[1];
58
42
  return /*#__PURE__*/_react["default"].createElement(Card, {
59
43
  hasAction: onClick || linkHref ? true : false,
60
44
  margin: margin,
@@ -83,7 +67,6 @@ var DxcCard = function DxcCard(_ref) {
83
67
  src: imageSrc
84
68
  })), /*#__PURE__*/_react["default"].createElement(CardContent, null, children)))));
85
69
  };
86
-
87
70
  var Card = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n cursor: ", ";\n outline: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n text-decoration: none;\n ", "\n"])), function (_ref2) {
88
71
  var hasAction = _ref2.hasAction;
89
72
  return hasAction && "pointer" || "unset";
@@ -109,7 +92,6 @@ var Card = _styledComponents["default"].div(_templateObject || (_templateObject
109
92
  var hasAction = _ref9.hasAction;
110
93
  return hasAction && ":focus {\n outline: #0095ff auto 1px;\n }";
111
94
  });
112
-
113
95
  var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: ", ";\n height: ", ";\n width: ", ";\n &:hover {\n border-color: ", ";\n }\n"])), function (props) {
114
96
  return props.imagePosition === "after" ? "row-reverse" : "row";
115
97
  }, function (props) {
@@ -120,7 +102,6 @@ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templ
120
102
  var hasAction = _ref10.hasAction;
121
103
  return hasAction ? "" : "unset";
122
104
  });
123
-
124
105
  var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
125
106
  var imagePadding = _ref11.imagePadding;
126
107
  return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
@@ -131,13 +112,9 @@ var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateOb
131
112
  var imageCover = _ref13.imageCover;
132
113
  return imageCover ? "cover" : "contain";
133
114
  });
134
-
135
115
  var ImageContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n flex-shrink: 0;\n width: 35%;\n height: 100%;\n background-color: ", ";\n"])), function (_ref14) {
136
116
  var imageBgColor = _ref14.imageBgColor;
137
117
  return imageBgColor;
138
118
  });
139
-
140
119
  var CardContent = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n overflow: hidden;\n"])));
141
-
142
- var _default = DxcCard;
143
- exports["default"] = _default;
120
+ var _default = exports["default"] = DxcCard;
package/card/Card.test.js CHANGED
@@ -1,50 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _Card = _interopRequireDefault(require("./Card.tsx"));
10
-
11
7
  describe("Card component tests", function () {
12
8
  test("Card renders with correct content", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
14
- getByText = _render.getByText;
15
-
10
+ getByText = _render.getByText;
16
11
  expect(getByText("test-card")).toBeTruthy();
17
12
  });
18
13
  test("Card renders with correct href", function () {
19
14
  var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
20
- linkHref: "/testPage"
21
- }, "test-card")),
22
- getByRole = _render2.getByRole;
23
-
15
+ linkHref: "/testPage"
16
+ }, "test-card")),
17
+ getByRole = _render2.getByRole;
24
18
  var card = getByRole("link");
25
19
  expect(card.getAttribute("href")).toEqual("/testPage");
26
20
  });
27
21
  test("Card renders with correct image", function () {
28
22
  var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
29
- imageSrc: "/testImage"
30
- }, "test-card")),
31
- getByRole = _render3.getByRole;
32
-
23
+ imageSrc: "/testImage"
24
+ }, "test-card")),
25
+ getByRole = _render3.getByRole;
33
26
  var card = getByRole("img");
34
27
  expect(card.getAttribute("src")).toEqual("/testImage");
35
28
  });
36
29
  test("OnClick function is called", function () {
37
30
  var onClick = jest.fn();
38
-
39
31
  var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
40
- onClick: onClick
41
- }, "test-card")),
42
- getByText = _render4.getByText;
43
-
32
+ onClick: onClick
33
+ }, "test-card")),
34
+ getByText = _render4.getByText;
44
35
  var card = getByText("test-card");
45
-
46
36
  _react2.fireEvent.click(card);
47
-
48
37
  expect(onClick).toHaveBeenCalled();
49
38
  });
50
39
  });
package/card/types.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Size = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Size = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type Props = {
9
+ type Props = {
10
10
  /**
11
11
  * URL of the image that will be placed in the card component.
12
12
  * In case of omission, the image container will not appear and
@@ -47,7 +47,7 @@ declare type Props = {
47
47
  */
48
48
  margin?: Space | Size;
49
49
  /**
50
- * Value of the tabindex given when there is an href.
50
+ * Value of the tabindex attribute applied when the component is clickable.
51
51
  */
52
52
  tabIndex?: number;
53
53
  /**
@@ -55,7 +55,7 @@ declare type Props = {
55
55
  */
56
56
  outlined?: boolean;
57
57
  /**
58
- * Custom content that will be placed in the card component.
58
+ * Custom content that will be placed inside the component.
59
59
  */
60
60
  children?: React.ReactNode;
61
61
  };
@@ -0,0 +1,87 @@
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 _react = _interopRequireDefault(require("react"));
7
+ var _react2 = require("@testing-library/react");
8
+ var _jestAxe = require("jest-axe");
9
+ var _Checkbox = _interopRequireDefault(require("./Checkbox.tsx"));
10
+ describe("Checkbox component accessibility tests", function () {
11
+ it("Should not have basic accessibility issues", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
12
+ var _render, container, results;
13
+ return _regenerator["default"].wrap(function _callee$(_context) {
14
+ while (1) switch (_context.prev = _context.next) {
15
+ case 0:
16
+ _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
17
+ label: "Checkbox",
18
+ labelPosition: "after",
19
+ name: "name",
20
+ size: "fitContent",
21
+ value: "checkboxValue",
22
+ margin: "small",
23
+ defaultChecked: true,
24
+ optional: true
25
+ })), container = _render.container;
26
+ _context.next = 3;
27
+ return (0, _jestAxe.axe)(container);
28
+ case 3:
29
+ results = _context.sent;
30
+ expect(results).toHaveNoViolations();
31
+ case 5:
32
+ case "end":
33
+ return _context.stop();
34
+ }
35
+ }, _callee);
36
+ })));
37
+ it("Should not have basic accessibility issues for read-only mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
38
+ var _render2, container, results;
39
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
40
+ while (1) switch (_context2.prev = _context2.next) {
41
+ case 0:
42
+ _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
43
+ label: "Checkbox",
44
+ labelPosition: "after",
45
+ name: "name",
46
+ size: "fitContent",
47
+ value: "checkboxValue",
48
+ margin: "small",
49
+ readOnly: true
50
+ })), container = _render2.container;
51
+ _context2.next = 3;
52
+ return (0, _jestAxe.axe)(container);
53
+ case 3:
54
+ results = _context2.sent;
55
+ expect(results).toHaveNoViolations();
56
+ case 5:
57
+ case "end":
58
+ return _context2.stop();
59
+ }
60
+ }, _callee2);
61
+ })));
62
+ it("Should not have basic accessibility issues for disabled mode", /*#__PURE__*/(0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
63
+ var _render3, container, results;
64
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
65
+ while (1) switch (_context3.prev = _context3.next) {
66
+ case 0:
67
+ _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
68
+ label: "Checkbox",
69
+ labelPosition: "after",
70
+ name: "name",
71
+ size: "fitContent",
72
+ value: "checkboxValue",
73
+ margin: "small",
74
+ disabled: true
75
+ })), container = _render3.container;
76
+ _context3.next = 3;
77
+ return (0, _jestAxe.axe)(container);
78
+ case 3:
79
+ results = _context3.sent;
80
+ expect(results).toHaveNoViolations();
81
+ case 5:
82
+ case "end":
83
+ return _context3.stop();
84
+ }
85
+ }, _callee3);
86
+ })));
87
+ });