@dxc-technology/halstack-react 0.0.0-ec7b867 → 0.0.0-ecc45e2

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 (240) hide show
  1. package/HalstackContext.d.ts +12 -0
  2. package/HalstackContext.js +295 -0
  3. package/accordion/Accordion.d.ts +1 -1
  4. package/accordion/Accordion.js +7 -28
  5. package/accordion/Accordion.stories.tsx +12 -12
  6. package/accordion/Accordion.test.js +72 -0
  7. package/accordion/types.d.ts +5 -1
  8. package/accordion-group/AccordionGroup.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.js +14 -15
  10. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  11. package/accordion-group/AccordionGroup.test.js +151 -0
  12. package/accordion-group/types.d.ts +5 -1
  13. package/alert/Alert.js +4 -1
  14. package/alert/Alert.test.js +92 -0
  15. package/badge/Badge.d.ts +4 -0
  16. package/badge/Badge.js +5 -3
  17. package/badge/types.d.ts +5 -0
  18. package/{list → badge}/types.js +0 -0
  19. package/bleed/Bleed.js +1 -34
  20. package/bleed/Bleed.stories.tsx +94 -95
  21. package/bleed/types.d.ts +25 -1
  22. package/box/Box.js +22 -32
  23. package/box/Box.test.js +18 -0
  24. package/bulleted-list/BulletedList.d.ts +7 -0
  25. package/bulleted-list/BulletedList.js +123 -0
  26. package/bulleted-list/BulletedList.stories.tsx +200 -0
  27. package/bulleted-list/types.d.ts +11 -0
  28. package/{radio → bulleted-list}/types.js +0 -0
  29. package/button/Button.js +53 -68
  30. package/button/Button.stories.tsx +9 -0
  31. package/button/Button.test.js +35 -0
  32. package/button/types.d.ts +7 -7
  33. package/card/Card.js +24 -27
  34. package/card/Card.test.js +50 -0
  35. package/checkbox/Checkbox.d.ts +1 -1
  36. package/checkbox/Checkbox.js +43 -39
  37. package/checkbox/Checkbox.stories.tsx +124 -128
  38. package/checkbox/Checkbox.test.js +78 -0
  39. package/checkbox/types.d.ts +7 -3
  40. package/chip/Chip.test.js +56 -0
  41. package/chip/types.d.ts +1 -1
  42. package/common/variables.js +229 -336
  43. package/date-input/DateInput.js +56 -42
  44. package/date-input/DateInput.stories.tsx +7 -7
  45. package/date-input/DateInput.test.js +479 -0
  46. package/date-input/types.d.ts +16 -9
  47. package/dialog/Dialog.js +46 -50
  48. package/dialog/Dialog.stories.tsx +1 -2
  49. package/dialog/Dialog.test.js +70 -0
  50. package/dialog/types.d.ts +2 -2
  51. package/dropdown/Dropdown.d.ts +1 -1
  52. package/dropdown/Dropdown.js +242 -250
  53. package/dropdown/Dropdown.stories.tsx +126 -63
  54. package/dropdown/Dropdown.test.js +591 -0
  55. package/dropdown/DropdownMenu.d.ts +4 -0
  56. package/dropdown/DropdownMenu.js +80 -0
  57. package/dropdown/DropdownMenuItem.d.ts +4 -0
  58. package/dropdown/DropdownMenuItem.js +92 -0
  59. package/dropdown/types.d.ts +25 -5
  60. package/file-input/FileInput.js +9 -6
  61. package/file-input/FileInput.test.js +457 -0
  62. package/file-input/FileItem.js +7 -5
  63. package/flex/Flex.d.ts +4 -0
  64. package/flex/Flex.js +57 -0
  65. package/flex/Flex.stories.tsx +103 -0
  66. package/flex/types.d.ts +21 -0
  67. package/{row → flex}/types.js +0 -0
  68. package/footer/Footer.js +15 -88
  69. package/footer/Footer.test.js +109 -0
  70. package/footer/Icons.js +1 -1
  71. package/footer/types.d.ts +1 -1
  72. package/header/Header.js +95 -114
  73. package/header/Header.stories.tsx +46 -36
  74. package/header/Header.test.js +79 -0
  75. package/header/Icons.js +2 -2
  76. package/header/types.d.ts +2 -2
  77. package/heading/Heading.test.js +186 -0
  78. package/inset/Inset.js +1 -34
  79. package/inset/Inset.stories.tsx +36 -36
  80. package/inset/types.d.ts +25 -1
  81. package/layout/ApplicationLayout.d.ts +16 -6
  82. package/layout/ApplicationLayout.js +71 -131
  83. package/layout/ApplicationLayout.stories.tsx +83 -93
  84. package/layout/Icons.d.ts +5 -0
  85. package/layout/Icons.js +13 -2
  86. package/layout/SidenavContext.d.ts +5 -0
  87. package/layout/SidenavContext.js +19 -0
  88. package/layout/types.d.ts +18 -33
  89. package/link/Link.d.ts +3 -2
  90. package/link/Link.js +57 -74
  91. package/link/Link.stories.tsx +95 -53
  92. package/link/Link.test.js +83 -0
  93. package/link/types.d.ts +7 -23
  94. package/main.d.ts +10 -15
  95. package/main.js +48 -82
  96. package/number-input/NumberInput.js +11 -18
  97. package/number-input/NumberInput.stories.tsx +5 -5
  98. package/number-input/NumberInput.test.js +506 -0
  99. package/number-input/types.d.ts +17 -10
  100. package/package.json +12 -10
  101. package/paginator/Paginator.js +17 -38
  102. package/paginator/Paginator.test.js +308 -0
  103. package/paragraph/Paragraph.d.ts +6 -0
  104. package/paragraph/Paragraph.js +38 -0
  105. package/paragraph/Paragraph.stories.tsx +44 -0
  106. package/password-input/PasswordInput.js +7 -4
  107. package/password-input/PasswordInput.test.js +180 -0
  108. package/password-input/types.d.ts +14 -11
  109. package/progress-bar/ProgressBar.d.ts +2 -2
  110. package/progress-bar/ProgressBar.js +57 -51
  111. package/progress-bar/ProgressBar.stories.jsx +13 -11
  112. package/progress-bar/ProgressBar.test.js +110 -0
  113. package/progress-bar/types.d.ts +3 -4
  114. package/quick-nav/QuickNav.d.ts +4 -0
  115. package/quick-nav/QuickNav.js +118 -0
  116. package/quick-nav/QuickNav.stories.tsx +264 -0
  117. package/quick-nav/types.d.ts +21 -0
  118. package/{stack → quick-nav}/types.js +0 -0
  119. package/radio-group/Radio.d.ts +1 -1
  120. package/radio-group/Radio.js +25 -24
  121. package/radio-group/RadioGroup.js +58 -50
  122. package/radio-group/RadioGroup.stories.tsx +60 -39
  123. package/radio-group/RadioGroup.test.js +530 -83
  124. package/radio-group/types.d.ts +80 -2
  125. package/resultsetTable/ResultsetTable.test.js +348 -0
  126. package/select/Icons.d.ts +10 -0
  127. package/select/Icons.js +93 -0
  128. package/select/Listbox.d.ts +4 -0
  129. package/select/Listbox.js +199 -0
  130. package/select/Option.d.ts +4 -0
  131. package/select/Option.js +110 -0
  132. package/select/Select.js +145 -365
  133. package/select/Select.stories.tsx +231 -176
  134. package/select/Select.test.js +2175 -0
  135. package/select/types.d.ts +52 -12
  136. package/sidenav/Sidenav.d.ts +6 -5
  137. package/sidenav/Sidenav.js +184 -52
  138. package/sidenav/Sidenav.stories.tsx +154 -156
  139. package/sidenav/Sidenav.test.js +44 -0
  140. package/sidenav/types.d.ts +50 -27
  141. package/slider/Slider.d.ts +1 -1
  142. package/slider/Slider.js +5 -4
  143. package/slider/Slider.stories.tsx +8 -8
  144. package/slider/Slider.test.js +187 -0
  145. package/slider/types.d.ts +4 -0
  146. package/spinner/Spinner.js +1 -1
  147. package/spinner/Spinner.test.js +64 -0
  148. package/switch/Switch.d.ts +2 -2
  149. package/switch/Switch.js +127 -55
  150. package/switch/Switch.stories.tsx +20 -42
  151. package/switch/Switch.test.js +212 -0
  152. package/switch/types.d.ts +9 -6
  153. package/table/Table.test.js +26 -0
  154. package/tabs/Tabs.d.ts +1 -1
  155. package/tabs/Tabs.js +9 -11
  156. package/tabs/Tabs.stories.tsx +0 -8
  157. package/tabs/Tabs.test.js +140 -0
  158. package/tabs/types.d.ts +5 -1
  159. package/tabs-nav/NavTabs.d.ts +8 -0
  160. package/tabs-nav/NavTabs.js +125 -0
  161. package/tabs-nav/NavTabs.stories.tsx +170 -0
  162. package/tabs-nav/NavTabs.test.js +82 -0
  163. package/tabs-nav/Tab.d.ts +4 -0
  164. package/tabs-nav/Tab.js +130 -0
  165. package/tabs-nav/types.d.ts +53 -0
  166. package/tabs-nav/types.js +5 -0
  167. package/tag/Tag.js +14 -19
  168. package/tag/Tag.stories.tsx +12 -8
  169. package/tag/Tag.test.js +60 -0
  170. package/tag/types.d.ts +1 -1
  171. package/text-input/Suggestion.d.ts +4 -0
  172. package/text-input/Suggestion.js +55 -0
  173. package/text-input/TextInput.js +68 -101
  174. package/text-input/TextInput.stories.tsx +31 -14
  175. package/text-input/TextInput.test.js +1712 -0
  176. package/text-input/types.d.ts +31 -12
  177. package/textarea/Textarea.js +20 -27
  178. package/textarea/Textarea.stories.jsx +33 -12
  179. package/textarea/Textarea.test.js +437 -0
  180. package/textarea/types.d.ts +18 -11
  181. package/toggle-group/ToggleGroup.d.ts +1 -1
  182. package/toggle-group/ToggleGroup.js +5 -4
  183. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  184. package/toggle-group/ToggleGroup.test.js +156 -0
  185. package/toggle-group/types.d.ts +9 -1
  186. package/typography/Typography.d.ts +4 -0
  187. package/typography/Typography.js +131 -0
  188. package/typography/Typography.stories.tsx +198 -0
  189. package/typography/types.d.ts +18 -0
  190. package/typography/types.js +5 -0
  191. package/useTheme.js +2 -2
  192. package/useTranslatedLabels.d.ts +2 -0
  193. package/useTranslatedLabels.js +20 -0
  194. package/wizard/Wizard.d.ts +1 -1
  195. package/wizard/Wizard.js +58 -54
  196. package/wizard/Wizard.stories.tsx +33 -24
  197. package/wizard/Wizard.test.js +141 -0
  198. package/wizard/types.d.ts +10 -5
  199. package/ThemeContext.d.ts +0 -15
  200. package/ThemeContext.js +0 -243
  201. package/V3Select/V3Select.js +0 -455
  202. package/V3Select/index.d.ts +0 -27
  203. package/V3Textarea/V3Textarea.js +0 -260
  204. package/V3Textarea/index.d.ts +0 -27
  205. package/date/Date.js +0 -373
  206. package/date/index.d.ts +0 -27
  207. package/input-text/Icons.js +0 -22
  208. package/input-text/InputText.js +0 -611
  209. package/input-text/index.d.ts +0 -36
  210. package/list/List.d.ts +0 -4
  211. package/list/List.js +0 -47
  212. package/list/List.stories.tsx +0 -95
  213. package/list/types.d.ts +0 -7
  214. package/radio/Radio.d.ts +0 -4
  215. package/radio/Radio.js +0 -174
  216. package/radio/Radio.stories.tsx +0 -192
  217. package/radio/types.d.ts +0 -54
  218. package/row/Row.d.ts +0 -3
  219. package/row/Row.js +0 -127
  220. package/row/Row.stories.tsx +0 -237
  221. package/row/types.d.ts +0 -10
  222. package/stack/Stack.d.ts +0 -3
  223. package/stack/Stack.js +0 -97
  224. package/stack/Stack.stories.tsx +0 -164
  225. package/stack/types.d.ts +0 -9
  226. package/text/Text.d.ts +0 -7
  227. package/text/Text.js +0 -30
  228. package/text/Text.stories.tsx +0 -19
  229. package/upload/Upload.js +0 -201
  230. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  231. package/upload/buttons-upload/Icons.js +0 -40
  232. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  233. package/upload/dragAndDropArea/Icons.js +0 -39
  234. package/upload/file-upload/FileToUpload.js +0 -115
  235. package/upload/file-upload/Icons.js +0 -66
  236. package/upload/files-upload/FilesToUpload.js +0 -109
  237. package/upload/index.d.ts +0 -15
  238. package/upload/transaction/Icons.js +0 -160
  239. package/upload/transaction/Transaction.js +0 -104
  240. package/upload/transactions/Transactions.js +0 -94
@@ -4,7 +4,7 @@ import { BackgroundColorProvider } from "../BackgroundColorContext";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
6
  import DarkContainer from "../../.storybook/components/DarkSection";
7
- import { userEvent, within } from "@storybook/testing-library";
7
+ import { userEvent } from "@storybook/testing-library";
8
8
 
9
9
  export default {
10
10
  title: "Checkbox",
@@ -13,128 +13,124 @@ export default {
13
13
 
14
14
  const Checkbox = () => (
15
15
  <>
16
- <>
17
- <ExampleContainer>
18
- <Title title="Default" theme="light" level={4} />
19
- <DxcCheckbox label="Checkbox" />
20
- </ExampleContainer>
21
- <ExampleContainer>
22
- <Title title="Focused" theme="light" level={4} />
23
- <DxcCheckbox label="Focused" />
24
- </ExampleContainer>
25
- <ExampleContainer>
26
- <Title title="Checked" theme="light" level={4} />
27
- <DxcCheckbox label="Checkbox" checked />
28
- </ExampleContainer>
29
- <ExampleContainer>
30
- <Title title="Required" theme="light" level={4} />
31
- <DxcCheckbox label="Checkbox" required />
32
- </ExampleContainer>
33
- <ExampleContainer>
34
- <Title title="Disabled and checked" theme="light" level={4} />
35
- <DxcCheckbox label="Checkbox" disabled checked />
36
- </ExampleContainer>
37
- <ExampleContainer>
38
- <Title title="Disabled and required" theme="light" level={4} />
39
- <DxcCheckbox label="Checkbox" disabled required />
40
- </ExampleContainer>
41
- <ExampleContainer>
42
- <Title title="Disabled, required and checked" theme="light" level={4} />
43
- <DxcCheckbox label="Checkbox" disabled required checked />
44
- </ExampleContainer>
45
- <ExampleContainer>
46
- <Title title="Label after" theme="light" level={4} />
47
- <DxcCheckbox label="Checkbox" labelPosition="after" />
48
- </ExampleContainer>
49
- <ExampleContainer>
50
- <Title title="Checked with label after" theme="light" level={4} />
51
- <DxcCheckbox label="Checkbox" checked labelPosition="after" />
52
- </ExampleContainer>
53
- <ExampleContainer>
54
- <Title title="Required with label after" theme="light" level={4} />
55
- <DxcCheckbox label="Checkbox" required labelPosition="after" />
56
- </ExampleContainer>
57
- <ExampleContainer>
58
- <Title title="Disabled and checked with label after" theme="light" level={4} />
59
- <DxcCheckbox label="Checkbox" disabled checked labelPosition="after" />
60
- </ExampleContainer>
61
- <ExampleContainer>
62
- <Title title="Disabled and required with label after" theme="light" level={4} />
63
- <DxcCheckbox label="Checkbox" disabled required labelPosition="after" />
64
- </ExampleContainer>
65
- <ExampleContainer>
66
- <Title title="Disabled, required and checked with label after" theme="light" level={4} />
67
- <DxcCheckbox label="Checkbox" disabled required checked labelPosition="after" />
68
- </ExampleContainer>
69
- <ExampleContainer pseudoState="pseudo-hover">
70
- <Title title="Hovered" theme="light" level={4} />
71
- <DxcCheckbox label="Hovered" />
72
- </ExampleContainer>
73
- <ExampleContainer pseudoState="pseudo-hover">
74
- <Title title="Hovered and checked" theme="light" level={4} />
75
- <DxcCheckbox label="Hovered" checked />
76
- </ExampleContainer>
77
- </>
16
+ <ExampleContainer>
17
+ <Title title="Default" theme="light" level={4} />
18
+ <DxcCheckbox label="Checkbox" />
19
+ </ExampleContainer>
20
+ <ExampleContainer>
21
+ <Title title="Focused" theme="light" level={4} />
22
+ <DxcCheckbox label="Focused" />
23
+ </ExampleContainer>
24
+ <ExampleContainer>
25
+ <Title title="Checked" theme="light" level={4} />
26
+ <DxcCheckbox label="Checkbox" defaultChecked />
27
+ </ExampleContainer>
28
+ <ExampleContainer>
29
+ <Title title="Optional" theme="light" level={4} />
30
+ <DxcCheckbox label="Checkbox" optional />
31
+ </ExampleContainer>
32
+ <ExampleContainer>
33
+ <Title title="Disabled and checked" theme="light" level={4} />
34
+ <DxcCheckbox label="Checkbox" disabled defaultChecked />
35
+ </ExampleContainer>
36
+ <ExampleContainer>
37
+ <Title title="Disabled and optional" theme="light" level={4} />
38
+ <DxcCheckbox label="Checkbox" disabled optional />
39
+ </ExampleContainer>
40
+ <ExampleContainer>
41
+ <Title title="Disabled, optional and checked" theme="light" level={4} />
42
+ <DxcCheckbox label="Checkbox" disabled optional defaultChecked />
43
+ </ExampleContainer>
44
+ <ExampleContainer>
45
+ <Title title="Label after" theme="light" level={4} />
46
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
47
+ </ExampleContainer>
48
+ <ExampleContainer>
49
+ <Title title="Checked with label after" theme="light" level={4} />
50
+ <DxcCheckbox label="Checkbox" defaultChecked labelPosition="after" />
51
+ </ExampleContainer>
52
+ <ExampleContainer>
53
+ <Title title="Optional with label after" theme="light" level={4} />
54
+ <DxcCheckbox label="Checkbox" optional labelPosition="after" />
55
+ </ExampleContainer>
56
+ <ExampleContainer>
57
+ <Title title="Disabled and checked with label after" theme="light" level={4} />
58
+ <DxcCheckbox label="Checkbox" disabled defaultChecked labelPosition="after" />
59
+ </ExampleContainer>
60
+ <ExampleContainer>
61
+ <Title title="Disabled and optional with label after" theme="light" level={4} />
62
+ <DxcCheckbox label="Checkbox" disabled optional labelPosition="after" />
63
+ </ExampleContainer>
64
+ <ExampleContainer>
65
+ <Title title="Disabled, optional and checked with label after" theme="light" level={4} />
66
+ <DxcCheckbox label="Checkbox" disabled optional defaultChecked labelPosition="after" />
67
+ </ExampleContainer>
68
+ <ExampleContainer pseudoState="pseudo-hover">
69
+ <Title title="Hovered" theme="light" level={4} />
70
+ <DxcCheckbox label="Hovered" />
71
+ </ExampleContainer>
72
+ <ExampleContainer pseudoState="pseudo-hover">
73
+ <Title title="Hovered and checked" theme="light" level={4} />
74
+ <DxcCheckbox label="Hovered" defaultChecked />
75
+ </ExampleContainer>
78
76
  <BackgroundColorProvider color="#333333">
79
77
  <DarkContainer>
80
- <>
81
- <ExampleContainer>
82
- <Title title="Default" theme="dark" level={4} />
83
- <DxcCheckbox label="Checkbox" />
84
- </ExampleContainer>
85
- <ExampleContainer>
86
- <Title title="Checked" theme="dark" level={4} />
87
- <DxcCheckbox label="Checkbox" checked />
88
- </ExampleContainer>
89
- <ExampleContainer>
90
- <Title title="Required" theme="dark" level={4} />
91
- <DxcCheckbox label="Checkbox" required />
92
- </ExampleContainer>
93
- <ExampleContainer>
94
- <Title title="Disabled and checked" theme="dark" level={4} />
95
- <DxcCheckbox label="Checkbox" disabled checked />
96
- </ExampleContainer>
97
- <ExampleContainer>
98
- <Title title="Disabled and required" theme="dark" level={4} />
99
- <DxcCheckbox label="Checkbox" disabled required />
100
- </ExampleContainer>
101
- <ExampleContainer>
102
- <Title title="Disabled, required and checked" theme="dark" level={4} />
103
- <DxcCheckbox label="Checkbox" disabled required checked />
104
- </ExampleContainer>
105
- <ExampleContainer>
106
- <Title title="Label after" theme="dark" level={4} />
107
- <DxcCheckbox label="Checkbox" labelPosition="after" />
108
- </ExampleContainer>
109
- <ExampleContainer>
110
- <Title title="Checked with label after" theme="dark" level={4} />
111
- <DxcCheckbox label="Checkbox" checked labelPosition="after" />
112
- </ExampleContainer>
113
- <ExampleContainer>
114
- <Title title="Required with label after" theme="dark" level={4} />
115
- <DxcCheckbox label="Checkbox" required labelPosition="after" />
116
- </ExampleContainer>
117
- <ExampleContainer>
118
- <Title title="Disabled and checked with label after" theme="dark" level={4} />
119
- <DxcCheckbox label="Checkbox" disabled checked labelPosition="after" />
120
- </ExampleContainer>
121
- <ExampleContainer>
122
- <Title title="Disabled and required with label after" theme="dark" level={4} />
123
- <DxcCheckbox label="Checkbox" disabled required labelPosition="after" />
124
- </ExampleContainer>
125
- <ExampleContainer>
126
- <Title title="Disabled, required and checked with label after" theme="dark" level={4} />
127
- <DxcCheckbox label="Checkbox" disabled required checked labelPosition="after" />
128
- </ExampleContainer>
129
- <ExampleContainer pseudoState="pseudo-hover">
130
- <Title title="Hovered" theme="dark" level={4} />
131
- <DxcCheckbox label="Hovered" />
132
- </ExampleContainer>
133
- <ExampleContainer pseudoState="pseudo-hover">
134
- <Title title="Hovered and checked" theme="dark" level={4} />
135
- <DxcCheckbox label="Hovered" checked />
136
- </ExampleContainer>
137
- </>
78
+ <ExampleContainer>
79
+ <Title title="Default" theme="dark" level={4} />
80
+ <DxcCheckbox label="Checkbox" />
81
+ </ExampleContainer>
82
+ <ExampleContainer>
83
+ <Title title="Checked" theme="dark" level={4} />
84
+ <DxcCheckbox label="Checkbox" defaultChecked />
85
+ </ExampleContainer>
86
+ <ExampleContainer>
87
+ <Title title="Optional" theme="dark" level={4} />
88
+ <DxcCheckbox label="Checkbox" optional />
89
+ </ExampleContainer>
90
+ <ExampleContainer>
91
+ <Title title="Disabled and checked" theme="dark" level={4} />
92
+ <DxcCheckbox label="Checkbox" disabled defaultChecked />
93
+ </ExampleContainer>
94
+ <ExampleContainer>
95
+ <Title title="Disabled and optional" theme="dark" level={4} />
96
+ <DxcCheckbox label="Checkbox" disabled optional />
97
+ </ExampleContainer>
98
+ <ExampleContainer>
99
+ <Title title="Disabled, optional and checked" theme="dark" level={4} />
100
+ <DxcCheckbox label="Checkbox" disabled optional defaultChecked />
101
+ </ExampleContainer>
102
+ <ExampleContainer>
103
+ <Title title="Label after" theme="dark" level={4} />
104
+ <DxcCheckbox label="Checkbox" labelPosition="after" />
105
+ </ExampleContainer>
106
+ <ExampleContainer>
107
+ <Title title="Checked with label after" theme="dark" level={4} />
108
+ <DxcCheckbox label="Checkbox" defaultChecked labelPosition="after" />
109
+ </ExampleContainer>
110
+ <ExampleContainer>
111
+ <Title title="Optional with label after" theme="dark" level={4} />
112
+ <DxcCheckbox label="Checkbox" optional labelPosition="after" />
113
+ </ExampleContainer>
114
+ <ExampleContainer>
115
+ <Title title="Disabled and checked with label after" theme="dark" level={4} />
116
+ <DxcCheckbox label="Checkbox" disabled defaultChecked labelPosition="after" />
117
+ </ExampleContainer>
118
+ <ExampleContainer>
119
+ <Title title="Disabled and optional with label after" theme="dark" level={4} />
120
+ <DxcCheckbox label="Checkbox" disabled optional labelPosition="after" />
121
+ </ExampleContainer>
122
+ <ExampleContainer>
123
+ <Title title="Disabled, optional and checked with label after" theme="dark" level={4} />
124
+ <DxcCheckbox label="Checkbox" disabled optional defaultChecked labelPosition="after" />
125
+ </ExampleContainer>
126
+ <ExampleContainer pseudoState="pseudo-hover">
127
+ <Title title="Hovered" theme="dark" level={4} />
128
+ <DxcCheckbox label="Hovered" />
129
+ </ExampleContainer>
130
+ <ExampleContainer pseudoState="pseudo-hover">
131
+ <Title title="Hovered and checked" theme="dark" level={4} />
132
+ <DxcCheckbox label="Hovered" defaultChecked />
133
+ </ExampleContainer>
138
134
  </DarkContainer>
139
135
  </BackgroundColorProvider>
140
136
  <Title title="Sizes" theme="light" level={2} />
@@ -156,31 +152,31 @@ const Checkbox = () => (
156
152
  <Title title="Margins" theme="light" level={2} />
157
153
  <ExampleContainer>
158
154
  <Title title="Xxsmall" theme="light" level={4} />
159
- <DxcCheckbox label="Xxsmall" margin={"xxsmall"} />
155
+ <DxcCheckbox label="Xxsmall" margin="xxsmall" />
160
156
  </ExampleContainer>
161
157
  <ExampleContainer>
162
158
  <Title title="Xsmall" theme="light" level={4} />
163
- <DxcCheckbox label="Xsmall" margin={"xsmall"} />
159
+ <DxcCheckbox label="Xsmall" margin="xsmall" />
164
160
  </ExampleContainer>
165
161
  <ExampleContainer>
166
162
  <Title title="Small" theme="light" level={4} />
167
- <DxcCheckbox label="Small" margin={"small"} />
163
+ <DxcCheckbox label="Small" margin="small" />
168
164
  </ExampleContainer>
169
165
  <ExampleContainer>
170
166
  <Title title="Medium" theme="light" level={4} />
171
- <DxcCheckbox label="Medium" margin={"medium"} />
167
+ <DxcCheckbox label="Medium" margin="medium" />
172
168
  </ExampleContainer>
173
169
  <ExampleContainer>
174
170
  <Title title="Large" theme="light" level={4} />
175
- <DxcCheckbox label="Large" margin={"large"} />
171
+ <DxcCheckbox label="Large" margin="large" />
176
172
  </ExampleContainer>
177
173
  <ExampleContainer>
178
174
  <Title title="Xlarge" theme="light" level={4} />
179
- <DxcCheckbox label="Xlarge" margin={"xlarge"} />
175
+ <DxcCheckbox label="Xlarge" margin="xlarge" />
180
176
  </ExampleContainer>
181
177
  <ExampleContainer>
182
178
  <Title title="Xxlarge" theme="light" level={4} />
183
- <DxcCheckbox label="Xxlarge" margin={"xxlarge"} />
179
+ <DxcCheckbox label="Xxlarge" margin="xxlarge" />
184
180
  </ExampleContainer>
185
181
  </>
186
182
  );
@@ -0,0 +1,78 @@
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 _Checkbox = _interopRequireDefault(require("./Checkbox"));
10
+
11
+ describe("Checkbox component tests", function () {
12
+ test("Checkbox renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
14
+ label: "Checkbox"
15
+ })),
16
+ getByText = _render.getByText;
17
+
18
+ expect(getByText("Checkbox")).toBeTruthy();
19
+ });
20
+ test("Calls correct function on click", function () {
21
+ var onChange = jest.fn();
22
+
23
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
24
+ label: "Checkbox",
25
+ onChange: onChange
26
+ })),
27
+ getByText = _render2.getByText;
28
+
29
+ _react2.fireEvent.click(getByText("Checkbox"));
30
+
31
+ expect(onChange).toHaveBeenCalled();
32
+ });
33
+ test("Uncontrolled checkbox", function () {
34
+ var onChange = jest.fn();
35
+ var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
36
+ label: "Checkbox",
37
+ onChange: onChange
38
+ }));
39
+ var visibleCheckbox = component.getByText("Checkbox");
40
+ var input = component.getByRole("checkbox");
41
+ expect(input.checked).toBe(false);
42
+
43
+ _react2.fireEvent.click(visibleCheckbox);
44
+
45
+ expect(onChange).toHaveBeenCalled();
46
+ expect(onChange).toHaveBeenCalledWith(true);
47
+ expect(input.checked).toBe(true);
48
+ });
49
+ test("Controlled checkbox", function () {
50
+ var onChange = jest.fn();
51
+ var component = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
52
+ label: "Checkbox",
53
+ checked: false,
54
+ onChange: onChange
55
+ }));
56
+ var input = component.getByRole("checkbox");
57
+ var visibleCheckbox = component.getByText("Checkbox");
58
+
59
+ _react2.fireEvent.click(visibleCheckbox);
60
+
61
+ expect(onChange).toHaveBeenCalled();
62
+ expect(onChange).toHaveBeenCalledWith(true);
63
+ expect(input.checked).toBe(false);
64
+ });
65
+ test("Renders with correct initial value and initial state when it is uncontrolled", function () {
66
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
67
+ label: "Default label",
68
+ defaultChecked: true,
69
+ value: "test-defaultChecked"
70
+ })),
71
+ getByRole = _render3.getByRole;
72
+
73
+ var input = getByRole("checkbox");
74
+ expect(input.checked).toBe(true);
75
+ expect(input.value).toBe("test-defaultChecked");
76
+ expect(input.getAttribute("aria-checked")).toBe("true");
77
+ });
78
+ });
@@ -6,6 +6,10 @@ declare type Margin = {
6
6
  right?: Space;
7
7
  };
8
8
  declare type Props = {
9
+ /**
10
+ * Initial state of the checkbox, only when it is uncontrolled.
11
+ */
12
+ defaultChecked?: boolean;
9
13
  /**
10
14
  * If true, the component is checked. If undefined the component will be
11
15
  * uncontrolled and the value will be managed internally by the component.
@@ -33,14 +37,14 @@ declare type Props = {
33
37
  */
34
38
  disabled?: boolean;
35
39
  /**
36
- * If true, the checkbox will change its appearence, showing that the value is required.
40
+ * If true, the component will display '(Optional)' next to the label.
37
41
  */
38
- required?: boolean;
42
+ optional?: boolean;
39
43
  /**
40
44
  * This function will be called when the user clicks the checkbox.
41
45
  * The new value will be passed as a parameter.
42
46
  */
43
- onChange?: (val: boolean) => void;
47
+ onChange?: (value: boolean) => void;
44
48
  /**
45
49
  * Size of the margin to be applied to the component
46
50
  * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
@@ -0,0 +1,56 @@
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 _Chip = _interopRequireDefault(require("./Chip"));
10
+
11
+ var _invision = _interopRequireDefault(require("../../app/src/images/invision.svg"));
12
+
13
+ describe("Chip component tests", function () {
14
+ test("Chip renders with correct text", function () {
15
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
16
+ label: "Chip"
17
+ })),
18
+ getByText = _render.getByText;
19
+
20
+ expect(getByText("Chip")).toBeTruthy();
21
+ });
22
+ test("Calls correct function when clicking on prefix icon", function () {
23
+ var onClick = jest.fn();
24
+
25
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
26
+ label: "Chip",
27
+ prefixIcon: _invision["default"],
28
+ onClickPrefix: onClick
29
+ })),
30
+ getByText = _render2.getByText,
31
+ getByRole = _render2.getByRole;
32
+
33
+ expect(getByText("Chip")).toBeTruthy();
34
+
35
+ _react2.fireEvent.click(getByRole("img"));
36
+
37
+ expect(onClick).toHaveBeenCalled();
38
+ });
39
+ test("Calls correct function when clicking on suffix icon", function () {
40
+ var onClick = jest.fn();
41
+
42
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
43
+ label: "Chip",
44
+ suffixIcon: _invision["default"],
45
+ onClickSuffix: onClick
46
+ })),
47
+ getByText = _render3.getByText,
48
+ getByRole = _render3.getByRole;
49
+
50
+ expect(getByText("Chip")).toBeTruthy();
51
+
52
+ _react2.fireEvent.click(getByRole("img"));
53
+
54
+ expect(onClick).toHaveBeenCalled();
55
+ });
56
+ });
package/chip/types.d.ts CHANGED
@@ -6,7 +6,7 @@ declare type Margin = {
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type SVG = React.SVGProps<SVGSVGElement>;
9
+ declare type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
10
  declare type Props = {
11
11
  /**
12
12
  * Text to be placed on the chip.