@dxc-technology/halstack-react 0.0.0-2b5b4b0 → 0.0.0-2bca710

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 (362) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +2 -5
  3. package/HalstackContext.d.ts +1348 -0
  4. package/HalstackContext.js +335 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +110 -146
  8. package/accordion/Accordion.stories.tsx +297 -0
  9. package/accordion/Accordion.test.js +71 -0
  10. package/accordion/types.d.ts +8 -19
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +34 -76
  13. package/accordion-group/AccordionGroup.stories.tsx +252 -0
  14. package/accordion-group/AccordionGroup.test.js +116 -0
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +43 -0
  17. package/accordion-group/types.d.ts +14 -19
  18. package/alert/Alert.js +11 -12
  19. package/alert/Alert.stories.tsx +198 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +1 -1
  22. package/badge/Badge.d.ts +4 -0
  23. package/badge/Badge.js +6 -4
  24. package/badge/types.d.ts +5 -0
  25. package/bleed/Bleed.d.ts +3 -0
  26. package/bleed/Bleed.js +51 -0
  27. package/bleed/Bleed.stories.tsx +342 -0
  28. package/bleed/types.d.ts +37 -0
  29. package/bleed/types.js +5 -0
  30. package/box/Box.d.ts +4 -0
  31. package/box/Box.js +24 -79
  32. package/box/{Box.stories.jsx → Box.stories.tsx} +38 -51
  33. package/box/Box.test.js +18 -0
  34. package/box/types.d.ts +32 -0
  35. package/box/types.js +5 -0
  36. package/bulleted-list/BulletedList.d.ts +7 -0
  37. package/bulleted-list/BulletedList.js +125 -0
  38. package/bulleted-list/BulletedList.stories.tsx +206 -0
  39. package/bulleted-list/types.d.ts +38 -0
  40. package/bulleted-list/types.js +5 -0
  41. package/button/Button.d.ts +1 -1
  42. package/button/Button.js +49 -87
  43. package/button/Button.stories.tsx +376 -244
  44. package/button/Button.test.js +46 -0
  45. package/button/types.d.ts +15 -15
  46. package/card/Card.d.ts +1 -1
  47. package/card/Card.js +39 -61
  48. package/card/Card.stories.tsx +171 -0
  49. package/card/Card.test.js +50 -0
  50. package/card/types.d.ts +3 -10
  51. package/checkbox/Checkbox.d.ts +2 -2
  52. package/checkbox/Checkbox.js +108 -111
  53. package/checkbox/Checkbox.stories.tsx +260 -0
  54. package/checkbox/Checkbox.test.js +155 -0
  55. package/checkbox/types.d.ts +13 -5
  56. package/chip/Chip.d.ts +4 -0
  57. package/chip/Chip.js +37 -118
  58. package/chip/Chip.stories.tsx +214 -0
  59. package/chip/Chip.test.js +54 -0
  60. package/chip/types.d.ts +45 -0
  61. package/chip/types.js +5 -0
  62. package/common/OpenSans.css +68 -80
  63. package/common/coreTokens.d.ts +146 -0
  64. package/common/coreTokens.js +167 -0
  65. package/common/utils.d.ts +1 -0
  66. package/common/utils.js +4 -4
  67. package/common/variables.d.ts +1494 -0
  68. package/common/variables.js +1111 -1307
  69. package/date-input/Calendar.d.ts +4 -0
  70. package/date-input/Calendar.js +258 -0
  71. package/date-input/DateInput.js +178 -268
  72. package/date-input/DateInput.stories.tsx +314 -0
  73. package/date-input/DateInput.test.js +849 -0
  74. package/date-input/DatePicker.d.ts +4 -0
  75. package/date-input/DatePicker.js +146 -0
  76. package/date-input/Icons.d.ts +6 -0
  77. package/date-input/Icons.js +75 -0
  78. package/date-input/YearPicker.d.ts +4 -0
  79. package/date-input/YearPicker.js +126 -0
  80. package/date-input/types.d.ts +71 -9
  81. package/dialog/Dialog.d.ts +1 -1
  82. package/dialog/Dialog.js +69 -103
  83. package/dialog/Dialog.stories.tsx +195 -0
  84. package/dialog/Dialog.test.js +369 -0
  85. package/dialog/types.d.ts +0 -12
  86. package/dropdown/Dropdown.d.ts +1 -1
  87. package/dropdown/Dropdown.js +248 -277
  88. package/dropdown/Dropdown.stories.tsx +438 -0
  89. package/dropdown/Dropdown.test.js +586 -0
  90. package/dropdown/DropdownMenu.d.ts +4 -0
  91. package/dropdown/DropdownMenu.js +74 -0
  92. package/dropdown/DropdownMenuItem.d.ts +4 -0
  93. package/dropdown/DropdownMenuItem.js +79 -0
  94. package/dropdown/types.d.ts +28 -17
  95. package/file-input/FileInput.d.ts +4 -0
  96. package/file-input/FileInput.js +183 -168
  97. package/file-input/FileInput.stories.tsx +618 -0
  98. package/file-input/FileInput.test.js +457 -0
  99. package/file-input/FileItem.d.ts +4 -0
  100. package/file-input/FileItem.js +50 -81
  101. package/file-input/types.d.ts +129 -0
  102. package/file-input/types.js +5 -0
  103. package/flex/Flex.d.ts +4 -0
  104. package/flex/Flex.js +71 -0
  105. package/flex/Flex.stories.tsx +112 -0
  106. package/flex/types.d.ts +97 -0
  107. package/flex/types.js +5 -0
  108. package/footer/Footer.d.ts +1 -1
  109. package/footer/Footer.js +56 -157
  110. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +38 -37
  111. package/footer/Footer.test.js +99 -0
  112. package/footer/Icons.d.ts +2 -0
  113. package/footer/Icons.js +4 -4
  114. package/footer/types.d.ts +26 -23
  115. package/grid/Grid.d.ts +7 -0
  116. package/grid/Grid.js +91 -0
  117. package/grid/Grid.stories.tsx +219 -0
  118. package/grid/types.d.ts +115 -0
  119. package/grid/types.js +5 -0
  120. package/header/Header.d.ts +8 -0
  121. package/header/Header.js +121 -171
  122. package/header/Header.stories.tsx +251 -0
  123. package/header/Header.test.js +79 -0
  124. package/header/Icons.d.ts +2 -0
  125. package/header/Icons.js +4 -29
  126. package/header/types.d.ts +34 -0
  127. package/header/types.js +5 -0
  128. package/heading/Heading.d.ts +4 -0
  129. package/heading/Heading.js +8 -25
  130. package/heading/Heading.stories.tsx +54 -0
  131. package/heading/Heading.test.js +186 -0
  132. package/heading/types.d.ts +33 -0
  133. package/heading/types.js +5 -0
  134. package/image/Image.d.ts +4 -0
  135. package/image/Image.js +85 -0
  136. package/image/Image.stories.tsx +127 -0
  137. package/image/types.d.ts +72 -0
  138. package/image/types.js +5 -0
  139. package/inset/Inset.d.ts +3 -0
  140. package/inset/Inset.js +51 -0
  141. package/inset/Inset.stories.tsx +230 -0
  142. package/inset/types.d.ts +37 -0
  143. package/inset/types.js +5 -0
  144. package/layout/ApplicationLayout.d.ts +20 -0
  145. package/layout/ApplicationLayout.js +81 -142
  146. package/layout/ApplicationLayout.stories.tsx +162 -0
  147. package/layout/Icons.d.ts +8 -0
  148. package/layout/Icons.js +52 -45
  149. package/layout/SidenavContext.d.ts +5 -0
  150. package/layout/SidenavContext.js +19 -0
  151. package/layout/types.d.ts +41 -0
  152. package/layout/types.js +5 -0
  153. package/link/Link.d.ts +4 -0
  154. package/link/Link.js +62 -109
  155. package/link/Link.stories.tsx +253 -0
  156. package/link/Link.test.js +81 -0
  157. package/link/types.d.ts +54 -0
  158. package/link/types.js +5 -0
  159. package/main.d.ts +14 -12
  160. package/main.js +76 -54
  161. package/nav-tabs/NavTabs.d.ts +8 -0
  162. package/nav-tabs/NavTabs.js +122 -0
  163. package/nav-tabs/NavTabs.stories.tsx +274 -0
  164. package/nav-tabs/NavTabs.test.js +82 -0
  165. package/nav-tabs/Tab.d.ts +4 -0
  166. package/nav-tabs/Tab.js +146 -0
  167. package/nav-tabs/types.d.ts +52 -0
  168. package/nav-tabs/types.js +5 -0
  169. package/number-input/NumberInput.d.ts +11 -0
  170. package/number-input/NumberInput.js +21 -71
  171. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +5 -5
  172. package/number-input/NumberInput.test.js +725 -0
  173. package/number-input/types.d.ts +124 -0
  174. package/number-input/types.js +5 -0
  175. package/package.json +23 -24
  176. package/paginator/Icons.d.ts +5 -0
  177. package/paginator/Icons.js +16 -28
  178. package/paginator/Paginator.js +22 -57
  179. package/paginator/Paginator.stories.tsx +24 -0
  180. package/paginator/Paginator.test.js +318 -0
  181. package/paragraph/Paragraph.d.ts +5 -0
  182. package/paragraph/Paragraph.js +38 -0
  183. package/paragraph/Paragraph.stories.tsx +44 -0
  184. package/password-input/Icons.d.ts +6 -0
  185. package/password-input/Icons.js +39 -0
  186. package/password-input/PasswordInput.d.ts +4 -0
  187. package/password-input/PasswordInput.js +42 -122
  188. package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +5 -4
  189. package/password-input/PasswordInput.test.js +174 -0
  190. package/password-input/types.d.ts +110 -0
  191. package/password-input/types.js +5 -0
  192. package/progress-bar/ProgressBar.js +63 -57
  193. package/progress-bar/ProgressBar.stories.jsx +93 -0
  194. package/progress-bar/ProgressBar.test.js +110 -0
  195. package/quick-nav/QuickNav.d.ts +4 -0
  196. package/quick-nav/QuickNav.js +117 -0
  197. package/quick-nav/QuickNav.stories.tsx +356 -0
  198. package/quick-nav/types.d.ts +21 -0
  199. package/quick-nav/types.js +5 -0
  200. package/radio-group/Radio.d.ts +4 -0
  201. package/radio-group/Radio.js +156 -0
  202. package/radio-group/RadioGroup.d.ts +4 -0
  203. package/radio-group/RadioGroup.js +281 -0
  204. package/radio-group/RadioGroup.stories.tsx +214 -0
  205. package/radio-group/RadioGroup.test.js +722 -0
  206. package/radio-group/types.d.ts +114 -0
  207. package/radio-group/types.js +5 -0
  208. package/resultsetTable/Icons.d.ts +7 -0
  209. package/resultsetTable/Icons.js +51 -0
  210. package/resultsetTable/ResultsetTable.d.ts +4 -0
  211. package/resultsetTable/ResultsetTable.js +54 -133
  212. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  213. package/resultsetTable/ResultsetTable.test.js +325 -0
  214. package/resultsetTable/types.d.ts +67 -0
  215. package/resultsetTable/types.js +5 -0
  216. package/select/Icons.d.ts +10 -0
  217. package/select/Icons.js +93 -0
  218. package/select/Listbox.d.ts +4 -0
  219. package/select/Listbox.js +169 -0
  220. package/select/Option.d.ts +4 -0
  221. package/select/Option.js +97 -0
  222. package/select/Select.d.ts +4 -0
  223. package/select/Select.js +202 -401
  224. package/select/Select.stories.tsx +971 -0
  225. package/select/Select.test.js +2228 -0
  226. package/select/types.d.ts +210 -0
  227. package/select/types.js +5 -0
  228. package/sidenav/Icons.d.ts +7 -0
  229. package/sidenav/Icons.js +51 -0
  230. package/sidenav/Sidenav.d.ts +10 -0
  231. package/sidenav/Sidenav.js +147 -54
  232. package/sidenav/Sidenav.stories.tsx +282 -0
  233. package/sidenav/Sidenav.test.js +44 -0
  234. package/sidenav/types.d.ts +76 -0
  235. package/sidenav/types.js +5 -0
  236. package/slider/Slider.d.ts +2 -2
  237. package/slider/Slider.js +150 -114
  238. package/slider/Slider.stories.tsx +240 -0
  239. package/slider/Slider.test.js +250 -0
  240. package/slider/types.d.ts +10 -7
  241. package/spinner/Spinner.d.ts +4 -0
  242. package/spinner/Spinner.js +20 -43
  243. package/spinner/Spinner.stories.jsx +53 -26
  244. package/spinner/Spinner.test.js +64 -0
  245. package/spinner/types.d.ts +32 -0
  246. package/spinner/types.js +5 -0
  247. package/switch/Switch.d.ts +2 -2
  248. package/switch/Switch.js +153 -70
  249. package/switch/Switch.stories.tsx +171 -0
  250. package/switch/Switch.test.js +225 -0
  251. package/switch/types.d.ts +10 -2
  252. package/table/Table.d.ts +4 -0
  253. package/table/Table.js +6 -6
  254. package/table/Table.stories.jsx +81 -1
  255. package/table/Table.test.js +26 -0
  256. package/table/types.d.ts +21 -0
  257. package/table/types.js +5 -0
  258. package/tabs/Tab.d.ts +4 -0
  259. package/tabs/Tab.js +132 -0
  260. package/tabs/Tabs.d.ts +1 -1
  261. package/tabs/Tabs.js +362 -112
  262. package/tabs/Tabs.stories.tsx +226 -0
  263. package/tabs/Tabs.test.js +350 -0
  264. package/tabs/types.d.ts +39 -18
  265. package/tag/Tag.d.ts +4 -0
  266. package/tag/Tag.js +38 -65
  267. package/tag/Tag.stories.tsx +155 -0
  268. package/tag/Tag.test.js +60 -0
  269. package/tag/types.d.ts +69 -0
  270. package/tag/types.js +5 -0
  271. package/text-input/Icons.d.ts +8 -0
  272. package/text-input/Icons.js +60 -0
  273. package/text-input/Suggestion.d.ts +4 -0
  274. package/text-input/Suggestion.js +84 -0
  275. package/text-input/Suggestions.d.ts +4 -0
  276. package/text-input/Suggestions.js +134 -0
  277. package/text-input/TextInput.d.ts +4 -0
  278. package/text-input/TextInput.js +272 -438
  279. package/text-input/TextInput.stories.tsx +608 -0
  280. package/text-input/TextInput.test.js +1812 -0
  281. package/text-input/types.d.ts +201 -0
  282. package/text-input/types.js +5 -0
  283. package/textarea/Textarea.d.ts +4 -0
  284. package/textarea/Textarea.js +64 -103
  285. package/textarea/Textarea.stories.jsx +104 -15
  286. package/textarea/Textarea.test.js +479 -0
  287. package/textarea/types.d.ts +141 -0
  288. package/textarea/types.js +5 -0
  289. package/toggle-group/ToggleGroup.d.ts +4 -0
  290. package/toggle-group/ToggleGroup.js +94 -96
  291. package/toggle-group/ToggleGroup.stories.tsx +218 -0
  292. package/toggle-group/ToggleGroup.test.js +170 -0
  293. package/toggle-group/types.d.ts +114 -0
  294. package/toggle-group/types.js +5 -0
  295. package/typography/Typography.d.ts +4 -0
  296. package/typography/Typography.js +32 -0
  297. package/typography/Typography.stories.tsx +198 -0
  298. package/typography/types.d.ts +18 -0
  299. package/typography/types.js +5 -0
  300. package/useTheme.d.ts +1247 -0
  301. package/useTheme.js +3 -3
  302. package/useTranslatedLabels.d.ts +85 -0
  303. package/useTranslatedLabels.js +20 -0
  304. package/utils/BaseTypography.d.ts +21 -0
  305. package/utils/BaseTypography.js +108 -0
  306. package/utils/FocusLock.d.ts +13 -0
  307. package/utils/FocusLock.js +138 -0
  308. package/wizard/Wizard.d.ts +4 -0
  309. package/wizard/Wizard.js +119 -105
  310. package/wizard/Wizard.stories.tsx +253 -0
  311. package/wizard/Wizard.test.js +141 -0
  312. package/wizard/types.d.ts +64 -0
  313. package/wizard/types.js +5 -0
  314. package/ThemeContext.js +0 -246
  315. package/V3Select/V3Select.js +0 -455
  316. package/V3Select/index.d.ts +0 -27
  317. package/V3Textarea/V3Textarea.js +0 -260
  318. package/V3Textarea/index.d.ts +0 -27
  319. package/box/index.d.ts +0 -25
  320. package/chip/index.d.ts +0 -22
  321. package/common/RequiredComponent.js +0 -32
  322. package/date/Date.js +0 -373
  323. package/date/index.d.ts +0 -27
  324. package/file-input/index.d.ts +0 -81
  325. package/header/index.d.ts +0 -25
  326. package/heading/index.d.ts +0 -17
  327. package/input-text/Icons.js +0 -22
  328. package/input-text/InputText.js +0 -611
  329. package/input-text/index.d.ts +0 -36
  330. package/link/index.d.ts +0 -23
  331. package/number-input/NumberInputContext.js +0 -16
  332. package/number-input/index.d.ts +0 -113
  333. package/password-input/index.d.ts +0 -94
  334. package/radio/Radio.d.ts +0 -4
  335. package/radio/Radio.js +0 -174
  336. package/radio/types.d.ts +0 -54
  337. package/resultsetTable/index.d.ts +0 -19
  338. package/select/index.d.ts +0 -131
  339. package/sidenav/index.d.ts +0 -13
  340. package/spinner/index.d.ts +0 -17
  341. package/table/index.d.ts +0 -13
  342. package/tag/index.d.ts +0 -24
  343. package/text-input/index.d.ts +0 -135
  344. package/textarea/index.d.ts +0 -117
  345. package/toggle/Toggle.js +0 -186
  346. package/toggle/index.d.ts +0 -21
  347. package/toggle-group/index.d.ts +0 -21
  348. package/upload/Upload.js +0 -201
  349. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  350. package/upload/buttons-upload/Icons.js +0 -40
  351. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  352. package/upload/dragAndDropArea/Icons.js +0 -39
  353. package/upload/file-upload/FileToUpload.js +0 -115
  354. package/upload/file-upload/Icons.js +0 -66
  355. package/upload/files-upload/FilesToUpload.js +0 -109
  356. package/upload/index.d.ts +0 -15
  357. package/upload/transaction/Icons.js +0 -160
  358. package/upload/transaction/Transaction.js +0 -104
  359. package/upload/transactions/Transactions.js +0 -94
  360. package/wizard/Icons.js +0 -65
  361. package/wizard/index.d.ts +0 -18
  362. /package/{radio → badge}/types.js +0 -0
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Button = _interopRequireDefault(require("./Button.tsx"));
10
+
11
+ describe("Button component tests", function () {
12
+ test("Button renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
14
+ label: "Button"
15
+ })),
16
+ getByText = _render.getByText;
17
+
18
+ expect(getByText("Button")).toBeTruthy();
19
+ });
20
+ test("Calls correct function on click", function () {
21
+ var onClick = jest.fn();
22
+
23
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
24
+ label: "Button",
25
+ onClick: onClick
26
+ })),
27
+ getByText = _render2.getByText;
28
+
29
+ var button = getByText("Button");
30
+
31
+ _react2.fireEvent.click(button);
32
+
33
+ expect(onClick).toHaveBeenCalled();
34
+ });
35
+ test("Renders with correct accessibility attributes", function () {
36
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Button["default"], {
37
+ label: "Home",
38
+ title: "Go home"
39
+ })),
40
+ getByRole = _render3.getByRole;
41
+
42
+ var button = getByRole("button");
43
+ expect(button.getAttribute("aria-label")).toBe("Go home");
44
+ expect(button.getAttribute("title")).toBe("Go home");
45
+ });
46
+ });
package/button/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- declare type Size = "small" | "medium" | "large" | "fillParent" | "fitContent";
1
+ /// <reference types="react" />
2
2
  declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
3
  declare type Margin = {
4
4
  top?: Space;
@@ -6,14 +6,14 @@ declare type Margin = {
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = string | (HTMLElement & SVGElement);
9
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
10
  declare type Props = {
11
11
  /**
12
- * Text to be placed next to the button.
12
+ * Text to be placed in the button.
13
13
  */
14
14
  label?: string;
15
15
  /**
16
- * Uses one of the available button modes.
16
+ * The available button modes.
17
17
  */
18
18
  mode?: "primary" | "secondary" | "text";
19
19
  /**
@@ -25,32 +25,32 @@ declare type Props = {
25
25
  */
26
26
  iconPosition?: "before" | "after";
27
27
  /**
28
- * This prop corresponds to the 'type' prop of the button in html.
28
+ * Value for the HTML properties title and aria-label.
29
29
  */
30
- type?: "button" | "reset" | "submit";
30
+ title?: string;
31
31
  /**
32
- * DEPRECATED. URL of the icon that will be placed next to the button label.
32
+ * 'type' html prop of the button.
33
33
  */
34
- iconSrc?: string;
34
+ type?: "button" | "reset" | "submit";
35
35
  /**
36
- * Element used as the icon that will be placed next to the button label.
36
+ * Element or path used as the icon that will be placed next to the label.
37
37
  */
38
- icon?: SVG;
38
+ icon?: string | SVG;
39
39
  /**
40
- * This function will be called when the user clicks the button. The event object will be passed as a parameter.
40
+ * This function will be called when the user clicks the button.
41
41
  */
42
- onClick?: any;
42
+ onClick?: () => void;
43
43
  /**
44
44
  * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
45
45
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
46
46
  */
47
47
  margin?: Space | Margin;
48
48
  /**
49
- * Size of the component ('small' | 'medium' | 'large' | 'fillParent' | 'fitContent').
49
+ * Size of the component.
50
50
  */
51
- size?: Size;
51
+ size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
52
52
  /**
53
- * Value of the tabindex.
53
+ * Value of the tabindex attribute.
54
54
  */
55
55
  tabIndex?: number;
56
56
  };
package/card/Card.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import CardPropsType from "./types";
3
- declare const DxcCard: ({ imageSrc, imageBgColor, imagePadding, imagePosition, linkHref, onClick, imageCover, margin, contentPadding, tabIndex, outlined, children, }: CardPropsType) => JSX.Element;
3
+ declare const DxcCard: ({ imageSrc, imageBgColor, imagePadding, imagePosition, linkHref, onClick, imageCover, margin, tabIndex, outlined, children, }: CardPropsType) => JSX.Element;
4
4
  export default DxcCard;
package/card/Card.js CHANGED
@@ -19,13 +19,13 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
22
- var _variables = require("../common/variables.js");
22
+ var _variables = require("../common/variables");
23
23
 
24
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
26
26
  var _Box = _interopRequireDefault(require("../box/Box"));
27
27
 
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
28
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
29
29
 
30
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
31
 
@@ -43,11 +43,10 @@ var DxcCard = function DxcCard(_ref) {
43
43
  _ref$imageCover = _ref.imageCover,
44
44
  imageCover = _ref$imageCover === void 0 ? false : _ref$imageCover,
45
45
  margin = _ref.margin,
46
- contentPadding = _ref.contentPadding,
47
46
  _ref$tabIndex = _ref.tabIndex,
48
47
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex,
49
48
  _ref$outlined = _ref.outlined,
50
- outlined = _ref$outlined === void 0 ? false : _ref$outlined,
49
+ outlined = _ref$outlined === void 0 ? true : _ref$outlined,
51
50
  children = _ref.children;
52
51
  var colorsTheme = (0, _useTheme["default"])();
53
52
 
@@ -56,25 +55,8 @@ var DxcCard = function DxcCard(_ref) {
56
55
  isHovered = _useState2[0],
57
56
  changeIsHovered = _useState2[1];
58
57
 
59
- var tagContent = /*#__PURE__*/_react["default"].createElement(_Box["default"], {
60
- shadowDepth: outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
61
- }, /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
62
- theme: colorsTheme.card
63
- }, /*#__PURE__*/_react["default"].createElement(CardContainer, {
64
- hasAction: onClick || linkHref,
65
- outlined: outlined,
66
- imagePosition: imagePosition
67
- }, imageSrc && /*#__PURE__*/_react["default"].createElement(ImageContainer, {
68
- imageBgColor: imageBgColor
69
- }, /*#__PURE__*/_react["default"].createElement(TagImage, {
70
- imagePadding: imagePadding,
71
- cover: imageCover,
72
- src: imageSrc
73
- })), /*#__PURE__*/_react["default"].createElement(CardContent, {
74
- contentPadding: contentPadding
75
- }, children))));
76
-
77
- return /*#__PURE__*/_react["default"].createElement(StyledDxcCard, {
58
+ return /*#__PURE__*/_react["default"].createElement(Card, {
59
+ hasAction: onClick || linkHref ? true : false,
78
60
  margin: margin,
79
61
  onMouseEnter: function onMouseEnter() {
80
62
  return changeIsHovered(true);
@@ -83,15 +65,26 @@ var DxcCard = function DxcCard(_ref) {
83
65
  return changeIsHovered(false);
84
66
  },
85
67
  onClick: onClick,
86
- hasAction: onClick,
87
- tabIndex: typeof onClick === "function" && !linkHref ? tabIndex : -1
88
- }, linkHref && /*#__PURE__*/_react["default"].createElement(StyledLink, {
89
- tabIndex: tabIndex,
68
+ tabIndex: onClick || linkHref ? tabIndex : -1,
69
+ as: linkHref && "a",
90
70
  href: linkHref
91
- }, tagContent) || tagContent);
71
+ }, /*#__PURE__*/_react["default"].createElement(_Box["default"], {
72
+ shadowDepth: !outlined ? 0 : isHovered && (onClick || linkHref) ? 2 : 1
73
+ }, /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
74
+ theme: colorsTheme.card
75
+ }, /*#__PURE__*/_react["default"].createElement(CardContainer, {
76
+ hasAction: onClick || linkHref ? true : false,
77
+ imagePosition: imageSrc ? imagePosition : "none"
78
+ }, imageSrc && /*#__PURE__*/_react["default"].createElement(ImageContainer, {
79
+ imageBgColor: imageBgColor
80
+ }, /*#__PURE__*/_react["default"].createElement(TagImage, {
81
+ imagePadding: imagePadding,
82
+ imageCover: imageCover,
83
+ src: imageSrc
84
+ })), /*#__PURE__*/_react["default"].createElement(CardContent, null, children)))));
92
85
  };
93
86
 
94
- var StyledDxcCard = _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"])), function (_ref2) {
87
+ 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) {
95
88
  var hasAction = _ref2.hasAction;
96
89
  return hasAction && "pointer" || "unset";
97
90
  }, function (_ref3) {
@@ -102,21 +95,23 @@ var StyledDxcCard = _styledComponents["default"].div(_templateObject || (_templa
102
95
  return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
103
96
  }, function (_ref5) {
104
97
  var margin = _ref5.margin;
105
- return margin && margin.top ? _variables.spaces[margin.top] : "";
98
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
106
99
  }, function (_ref6) {
107
100
  var margin = _ref6.margin;
108
- return margin && margin.right ? _variables.spaces[margin.right] : "";
101
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
109
102
  }, function (_ref7) {
110
103
  var margin = _ref7.margin;
111
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
104
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
112
105
  }, function (_ref8) {
113
106
  var margin = _ref8.margin;
114
- return margin && margin.left ? _variables.spaces[margin.left] : "";
107
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
108
+ }, function (_ref9) {
109
+ var hasAction = _ref9.hasAction;
110
+ return hasAction && ":focus {\n outline: #0095ff auto 1px;\n }";
115
111
  });
116
112
 
117
- 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 (_ref9) {
118
- var imagePosition = _ref9.imagePosition;
119
- return imagePosition === "before" && "row" || "row-reverse";
113
+ 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
+ return props.imagePosition === "after" ? "row-reverse" : "row";
120
115
  }, function (props) {
121
116
  return props.theme.height;
122
117
  }, function (props) {
@@ -126,40 +121,23 @@ var CardContainer = _styledComponents["default"].div(_templateObject2 || (_templ
126
121
  return hasAction ? "" : "unset";
127
122
  });
128
123
 
129
- var StyledLink = _styledComponents["default"].a(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n cursor: pointer;\n text-decoration: none;\n"])));
130
-
131
- var TagImage = _styledComponents["default"].img(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
124
+ var TagImage = _styledComponents["default"].img(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n object-fit: ", ";\n"])), function (_ref11) {
132
125
  var imagePadding = _ref11.imagePadding;
133
- return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
126
+ return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
134
127
  }, function (_ref12) {
135
128
  var imagePadding = _ref12.imagePadding;
136
- return !imagePadding ? "100%" : "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
129
+ return !imagePadding ? "100%" : (0, _typeof2["default"])(imagePadding) !== "object" && "calc(100% - ".concat(_variables.spaces[imagePadding], " - ").concat(_variables.spaces[imagePadding], ")");
137
130
  }, function (_ref13) {
138
- var cover = _ref13.cover;
139
- return cover ? "cover" : "contain";
131
+ var imageCover = _ref13.imageCover;
132
+ return imageCover ? "cover" : "contain";
140
133
  });
141
134
 
142
- var ImageContainer = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n width: 35%;\n height: 100%;\n flex-shrink: 0;\n background: ", ";\n justify-content: center;\n align-items: center;\n display: inline-flex;\n"])), function (_ref14) {
135
+ 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) {
143
136
  var imageBgColor = _ref14.imageBgColor;
144
137
  return imageBgColor;
145
138
  });
146
139
 
147
- var CardContent = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n overflow: hidden;\n"])), function (_ref15) {
148
- var contentPadding = _ref15.contentPadding;
149
- return contentPadding && (0, _typeof2["default"])(contentPadding) !== "object" ? _variables.spaces[contentPadding] : "0px";
150
- }, function (_ref16) {
151
- var contentPadding = _ref16.contentPadding;
152
- return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.top ? _variables.spaces[contentPadding.top] : "";
153
- }, function (_ref17) {
154
- var contentPadding = _ref17.contentPadding;
155
- return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.right ? _variables.spaces[contentPadding.right] : "";
156
- }, function (_ref18) {
157
- var contentPadding = _ref18.contentPadding;
158
- return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.bottom ? _variables.spaces[contentPadding.bottom] : "";
159
- }, function (_ref19) {
160
- var contentPadding = _ref19.contentPadding;
161
- return contentPadding && (0, _typeof2["default"])(contentPadding) === "object" && contentPadding.left ? _variables.spaces[contentPadding.left] : "";
162
- });
140
+ var CardContent = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n flex-grow: 1;\n overflow: hidden;\n"])));
163
141
 
164
142
  var _default = DxcCard;
165
143
  exports["default"] = _default;
@@ -0,0 +1,171 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcCard from "./Card";
5
+ import { userEvent, within } from "@storybook/testing-library";
6
+
7
+ export default {
8
+ title: "Card",
9
+ component: DxcCard,
10
+ };
11
+
12
+ const Card = () => (
13
+ <>
14
+ <Title title="Default" theme="light" level={4} />
15
+ <ExampleContainer>
16
+ <DxcCard>Default</DxcCard>
17
+ </ExampleContainer>
18
+ <Title title="Not outlined" theme="light" level={4} />
19
+ <ExampleContainer>
20
+ <DxcCard outlined={false}>Not outlined</DxcCard>
21
+ </ExampleContainer>
22
+ <Title title="Default with link" theme="light" level={4} />
23
+ <ExampleContainer>
24
+ <DxcCard linkHref="https://www.dxc.com">Default with link</DxcCard>
25
+ </ExampleContainer>
26
+ <Title title="Focused default with link" theme="light" level={4} />
27
+ <ExampleContainer>
28
+ <DxcCard linkHref="https://www.dxc.com">Focused default with link</DxcCard>
29
+ </ExampleContainer>
30
+ <Title title="Hovered default with link" theme="light" level={4} />
31
+ <ExampleContainer>
32
+ <DxcCard linkHref="https://www.dxc.com">Hovered default with link</DxcCard>
33
+ </ExampleContainer>
34
+ <Title title="Default with action" theme="light" level={4} />
35
+ <ExampleContainer>
36
+ <DxcCard onClick={() => {}}>Default with action</DxcCard>
37
+ </ExampleContainer>
38
+ <Title title="Default with image" theme="light" level={4} />
39
+ <ExampleContainer>
40
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300">Default</DxcCard>
41
+ </ExampleContainer>
42
+ <Title title="Default image with background color" theme="light" level={4} />
43
+ <ExampleContainer>
44
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageBgColor="yellow">
45
+ Background color
46
+ </DxcCard>
47
+ </ExampleContainer>
48
+ <Title title="Default image with position after" theme="light" level={4} />
49
+ <ExampleContainer>
50
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePosition="after">
51
+ Position after
52
+ </DxcCard>
53
+ </ExampleContainer>
54
+ <Title title="Image cover" theme="light" level={4} />
55
+ <ExampleContainer>
56
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageCover>
57
+ Image cover
58
+ </DxcCard>
59
+ </ExampleContainer>
60
+ <Title title="Image cover with position after" theme="light" level={4} />
61
+ <ExampleContainer>
62
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imageCover imagePosition="after">
63
+ Image cover with position after
64
+ </DxcCard>
65
+ </ExampleContainer>
66
+ <Title title="Image padding" theme="light" level={2} />
67
+ <ExampleContainer>
68
+ <Title title="Xxsmall" theme="light" level={4} />
69
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xxsmall" imageCover>
70
+ Xxsmall
71
+ </DxcCard>
72
+ </ExampleContainer>
73
+ <ExampleContainer>
74
+ <Title title="Xsmall" theme="light" level={4} />
75
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xsmall" imageCover>
76
+ Xsmall
77
+ </DxcCard>
78
+ </ExampleContainer>
79
+ <ExampleContainer>
80
+ <Title title="Small" theme="light" level={4} />
81
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="small" imageCover>
82
+ Small
83
+ </DxcCard>
84
+ </ExampleContainer>
85
+ <ExampleContainer>
86
+ <Title title="Medium" theme="light" level={4} />
87
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="medium" imageCover>
88
+ Medium
89
+ </DxcCard>
90
+ </ExampleContainer>
91
+ <ExampleContainer>
92
+ <Title title="Large" theme="light" level={4} />
93
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="large" imageCover>
94
+ Large
95
+ </DxcCard>
96
+ </ExampleContainer>
97
+ <ExampleContainer>
98
+ <Title title="Xlarge" theme="light" level={4} />
99
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xlarge" imageCover>
100
+ Xlarge
101
+ </DxcCard>
102
+ </ExampleContainer>
103
+ <ExampleContainer>
104
+ <Title title="Xxlarge" theme="light" level={4} />
105
+ <DxcCard imageSrc="https://picsum.photos/id/1022/200/300" imagePadding="xxlarge" imageCover>
106
+ Xxlarge
107
+ </DxcCard>
108
+ </ExampleContainer>
109
+ <Title title="Margin" theme="light" level={2} />
110
+ <ExampleContainer>
111
+ <Title title="Xxsmall" theme="light" level={4} />
112
+ <DxcCard margin="xxsmall">Xxsmall</DxcCard>
113
+ </ExampleContainer>
114
+ <ExampleContainer>
115
+ <Title title="Xsmall" theme="light" level={4} />
116
+ <DxcCard margin="xsmall">Xsmall</DxcCard>
117
+ </ExampleContainer>
118
+ <ExampleContainer>
119
+ <Title title="Small" theme="light" level={4} />
120
+ <DxcCard margin="small">Small</DxcCard>
121
+ </ExampleContainer>
122
+ <ExampleContainer>
123
+ <Title title="Medium" theme="light" level={4} />
124
+ <DxcCard margin="medium">Medium</DxcCard>
125
+ </ExampleContainer>
126
+ <ExampleContainer>
127
+ <Title title="Large" theme="light" level={4} />
128
+ <DxcCard margin="large">Large</DxcCard>
129
+ </ExampleContainer>
130
+ <ExampleContainer>
131
+ <Title title="Xlarge" theme="light" level={4} />
132
+ <DxcCard margin="xlarge">Xlarge</DxcCard>
133
+ </ExampleContainer>
134
+ <ExampleContainer>
135
+ <Title title="Xxlarge" theme="light" level={4} />
136
+ <DxcCard margin="xxlarge">Xxlarge</DxcCard>
137
+ </ExampleContainer>
138
+ </>
139
+ );
140
+
141
+ const actionCard = () => (
142
+ <>
143
+ <ExampleContainer>
144
+ <Title title="Focused default with action" theme="light" level={4} />
145
+ <DxcCard onClick={() => {}}>Focused default with action</DxcCard>
146
+ </ExampleContainer>
147
+ <ExampleContainer expanded>
148
+ <Title title="Hovered default with action" theme="light" level={4} />
149
+ <DxcCard onClick={() => {}}>Hovered default with action</DxcCard>
150
+ </ExampleContainer>
151
+ </>
152
+ );
153
+
154
+ const linkStates = async (focusCard, hoverCard) => {
155
+ await focusCard.focus();
156
+ await userEvent.hover(hoverCard);
157
+ };
158
+
159
+ export const ActionCardStates = actionCard.bind({});
160
+ ActionCardStates.play = async ({ canvasElement }) => {
161
+ const canvas = within(canvasElement);
162
+ await userEvent.tab();
163
+ await userEvent.hover(canvas.getAllByText("Hovered default with action")[1]);
164
+ };
165
+
166
+ export const Chromatic = Card.bind({});
167
+ Chromatic.play = async ({ canvasElement }) => {
168
+ const canvas = within(canvasElement);
169
+ const linkCards = canvas.getAllByRole("link");
170
+ await linkStates(linkCards[1], linkCards[2]);
171
+ };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Card = _interopRequireDefault(require("./Card.tsx"));
10
+
11
+ describe("Card component tests", function () {
12
+ test("Card renders with correct content", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-card")),
14
+ getByText = _render.getByText;
15
+
16
+ expect(getByText("test-card")).toBeTruthy();
17
+ });
18
+ test("Card renders with correct href", function () {
19
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
20
+ linkHref: "/testPage"
21
+ }, "test-card")),
22
+ getByRole = _render2.getByRole;
23
+
24
+ var card = getByRole("link");
25
+ expect(card.getAttribute("href")).toEqual("/testPage");
26
+ });
27
+ test("Card renders with correct image", function () {
28
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
29
+ imageSrc: "/testImage"
30
+ }, "test-card")),
31
+ getByRole = _render3.getByRole;
32
+
33
+ var card = getByRole("img");
34
+ expect(card.getAttribute("src")).toEqual("/testImage");
35
+ });
36
+ test("OnClick function is called", function () {
37
+ var onClick = jest.fn();
38
+
39
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], {
40
+ onClick: onClick
41
+ }, "test-card")),
42
+ getByText = _render4.getByText;
43
+
44
+ var card = getByText("test-card");
45
+
46
+ _react2.fireEvent.click(card);
47
+
48
+ expect(onClick).toHaveBeenCalled();
49
+ });
50
+ });
package/card/types.d.ts CHANGED
@@ -42,23 +42,16 @@ declare type Props = {
42
42
  */
43
43
  imageCover?: boolean;
44
44
  /**
45
- * Size of the margin to be applied to the component. You can pass
46
- * an object with 'top', 'bottom', 'left' and 'right' properties
47
- * in order to specify different margin sizes.
45
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
46
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
48
47
  */
49
48
  margin?: Space | Size;
50
- /**
51
- * Size of the padding to be applied to the content area. You can pass
52
- * an object with 'top', 'bottom', 'left' and 'right' properties in
53
- * order to specify different padding sizes.
54
- */
55
- contentPadding?: Space | Size;
56
49
  /**
57
50
  * Value of the tabindex given when there is an href.
58
51
  */
59
52
  tabIndex?: number;
60
53
  /**
61
- * Whether the card must be outlined.
54
+ * Determines whether or not the component should have an outline.
62
55
  */
63
56
  outlined?: boolean;
64
57
  /**
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from "react";
2
2
  import CheckboxPropsType from "./types";
3
- declare const DxcCheckbox: ({ checked, value, label, labelPosition, name, disabled, onChange, required, margin, size, tabIndex, }: CheckboxPropsType) => JSX.Element;
3
+ declare const DxcCheckbox: React.ForwardRefExoticComponent<CheckboxPropsType & React.RefAttributes<HTMLDivElement>>;
4
4
  export default DxcCheckbox;