@dxc-technology/halstack-react 0.0.0-2c3a5e1 → 0.0.0-2d5bb6f

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 (294) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -11
  3. package/HalstackContext.d.ts +13 -0
  4. package/HalstackContext.js +318 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +123 -167
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +56 -0
  9. package/accordion/types.d.ts +10 -5
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +28 -77
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +108 -0
  14. package/accordion-group/types.d.ts +17 -6
  15. package/alert/Alert.js +18 -46
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +75 -0
  18. package/alert/types.d.ts +3 -3
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -16
  21. package/badge/types.d.ts +5 -0
  22. package/bleed/Bleed.js +14 -55
  23. package/bleed/Bleed.stories.tsx +94 -95
  24. package/bleed/types.d.ts +26 -2
  25. package/box/Box.js +34 -63
  26. package/box/Box.stories.tsx +15 -0
  27. package/box/Box.test.js +13 -0
  28. package/box/types.d.ts +5 -4
  29. package/bulleted-list/BulletedList.d.ts +7 -0
  30. package/bulleted-list/BulletedList.js +98 -0
  31. package/bulleted-list/BulletedList.stories.tsx +200 -0
  32. package/bulleted-list/types.d.ts +11 -0
  33. package/button/Button.js +61 -100
  34. package/button/Button.stories.tsx +159 -8
  35. package/button/Button.test.js +26 -0
  36. package/button/types.d.ts +8 -8
  37. package/card/Card.js +44 -70
  38. package/card/Card.test.js +39 -0
  39. package/card/types.d.ts +4 -3
  40. package/checkbox/Checkbox.d.ts +2 -2
  41. package/checkbox/Checkbox.js +115 -162
  42. package/checkbox/Checkbox.stories.tsx +198 -130
  43. package/checkbox/Checkbox.test.js +128 -0
  44. package/checkbox/types.d.ts +14 -6
  45. package/chip/Chip.js +26 -50
  46. package/chip/Chip.stories.tsx +96 -9
  47. package/chip/Chip.test.js +42 -0
  48. package/chip/types.d.ts +4 -4
  49. package/common/utils.js +1 -6
  50. package/common/variables.d.ts +1431 -0
  51. package/common/variables.js +480 -553
  52. package/date-input/Calendar.d.ts +4 -0
  53. package/date-input/Calendar.js +215 -0
  54. package/date-input/DateInput.js +164 -300
  55. package/date-input/DateInput.stories.tsx +199 -33
  56. package/date-input/DateInput.test.js +648 -0
  57. package/date-input/DatePicker.d.ts +4 -0
  58. package/date-input/DatePicker.js +116 -0
  59. package/date-input/Icons.d.ts +6 -0
  60. package/date-input/Icons.js +63 -0
  61. package/date-input/YearPicker.d.ts +4 -0
  62. package/date-input/YearPicker.js +101 -0
  63. package/date-input/types.d.ts +71 -13
  64. package/dialog/Dialog.js +52 -84
  65. package/dialog/Dialog.stories.tsx +99 -22
  66. package/dialog/Dialog.test.js +56 -0
  67. package/dialog/types.d.ts +4 -3
  68. package/dropdown/Dropdown.d.ts +1 -1
  69. package/dropdown/Dropdown.js +239 -300
  70. package/dropdown/Dropdown.stories.tsx +245 -56
  71. package/dropdown/Dropdown.test.js +479 -0
  72. package/dropdown/DropdownMenu.d.ts +4 -0
  73. package/dropdown/DropdownMenu.js +60 -0
  74. package/dropdown/DropdownMenuItem.d.ts +4 -0
  75. package/dropdown/DropdownMenuItem.js +70 -0
  76. package/dropdown/types.d.ts +26 -6
  77. package/file-input/FileInput.d.ts +2 -2
  78. package/file-input/FileInput.js +224 -351
  79. package/file-input/FileInput.stories.tsx +122 -11
  80. package/file-input/FileInput.test.js +445 -0
  81. package/file-input/FileItem.d.ts +4 -14
  82. package/file-input/FileItem.js +48 -97
  83. package/file-input/types.d.ts +24 -7
  84. package/flex/Flex.d.ts +4 -0
  85. package/flex/Flex.js +57 -0
  86. package/flex/Flex.stories.tsx +103 -0
  87. package/flex/types.d.ts +32 -0
  88. package/footer/Footer.js +28 -133
  89. package/footer/Footer.stories.tsx +99 -1
  90. package/footer/Footer.test.js +92 -0
  91. package/footer/Icons.js +1 -5
  92. package/footer/types.d.ts +7 -6
  93. package/header/Header.js +112 -177
  94. package/header/Header.stories.tsx +189 -36
  95. package/header/Header.test.js +66 -0
  96. package/header/Icons.js +2 -6
  97. package/header/types.d.ts +4 -3
  98. package/heading/Heading.js +8 -29
  99. package/heading/Heading.test.js +169 -0
  100. package/heading/types.d.ts +3 -3
  101. package/inset/Inset.js +14 -55
  102. package/inset/Inset.stories.tsx +36 -36
  103. package/inset/types.d.ts +26 -2
  104. package/layout/ApplicationLayout.d.ts +16 -6
  105. package/layout/ApplicationLayout.js +71 -164
  106. package/layout/ApplicationLayout.stories.tsx +84 -93
  107. package/layout/Icons.d.ts +5 -0
  108. package/layout/Icons.js +11 -10
  109. package/layout/SidenavContext.d.ts +5 -0
  110. package/layout/SidenavContext.js +15 -0
  111. package/layout/types.d.ts +18 -33
  112. package/link/Link.d.ts +3 -2
  113. package/link/Link.js +61 -106
  114. package/link/Link.stories.tsx +159 -52
  115. package/link/Link.test.js +65 -0
  116. package/link/types.d.ts +9 -29
  117. package/main.d.ts +10 -15
  118. package/main.js +43 -124
  119. package/nav-tabs/NavTabs.d.ts +8 -0
  120. package/nav-tabs/NavTabs.js +95 -0
  121. package/nav-tabs/NavTabs.stories.tsx +260 -0
  122. package/nav-tabs/NavTabs.test.js +75 -0
  123. package/nav-tabs/Tab.d.ts +4 -0
  124. package/nav-tabs/Tab.js +120 -0
  125. package/nav-tabs/types.d.ts +53 -0
  126. package/number-input/NumberInput.js +21 -38
  127. package/number-input/NumberInput.stories.tsx +5 -5
  128. package/number-input/NumberInput.test.js +406 -0
  129. package/number-input/NumberInputContext.js +0 -5
  130. package/number-input/numberInputContextTypes.d.ts +1 -1
  131. package/number-input/types.d.ts +21 -14
  132. package/package.json +22 -25
  133. package/paginator/Icons.d.ts +5 -0
  134. package/paginator/Icons.js +16 -38
  135. package/paginator/Paginator.js +31 -82
  136. package/paginator/Paginator.stories.tsx +24 -0
  137. package/paginator/Paginator.test.js +266 -0
  138. package/paginator/types.d.ts +1 -1
  139. package/paragraph/Paragraph.d.ts +6 -0
  140. package/paragraph/Paragraph.js +28 -0
  141. package/paragraph/Paragraph.stories.tsx +44 -0
  142. package/password-input/PasswordInput.js +28 -54
  143. package/password-input/PasswordInput.test.js +138 -0
  144. package/password-input/types.d.ts +18 -15
  145. package/progress-bar/ProgressBar.d.ts +2 -2
  146. package/progress-bar/ProgressBar.js +65 -84
  147. package/progress-bar/ProgressBar.stories.jsx +47 -12
  148. package/progress-bar/ProgressBar.test.js +93 -0
  149. package/progress-bar/types.d.ts +3 -4
  150. package/quick-nav/QuickNav.d.ts +4 -0
  151. package/quick-nav/QuickNav.js +95 -0
  152. package/quick-nav/QuickNav.stories.tsx +356 -0
  153. package/quick-nav/types.d.ts +21 -0
  154. package/quick-nav/types.js +5 -0
  155. package/radio-group/Radio.d.ts +1 -1
  156. package/radio-group/Radio.js +55 -70
  157. package/radio-group/RadioGroup.js +91 -126
  158. package/radio-group/RadioGroup.stories.tsx +171 -36
  159. package/radio-group/RadioGroup.test.js +529 -157
  160. package/radio-group/types.d.ts +86 -8
  161. package/resultsetTable/Icons.d.ts +7 -0
  162. package/resultsetTable/Icons.js +48 -0
  163. package/resultsetTable/ResultsetTable.js +66 -157
  164. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  165. package/resultsetTable/ResultsetTable.test.js +292 -0
  166. package/resultsetTable/types.d.ts +5 -5
  167. package/select/Icons.d.ts +10 -0
  168. package/select/Icons.js +90 -0
  169. package/select/Listbox.d.ts +4 -0
  170. package/select/Listbox.js +144 -0
  171. package/select/Option.d.ts +4 -0
  172. package/select/Option.js +81 -0
  173. package/select/Select.js +201 -485
  174. package/select/Select.stories.tsx +600 -201
  175. package/select/Select.test.js +1845 -0
  176. package/select/types.d.ts +62 -22
  177. package/sidenav/Sidenav.d.ts +6 -5
  178. package/sidenav/Sidenav.js +164 -74
  179. package/sidenav/Sidenav.stories.tsx +249 -149
  180. package/sidenav/Sidenav.test.js +37 -0
  181. package/sidenav/types.d.ts +50 -27
  182. package/slider/Slider.d.ts +2 -2
  183. package/slider/Slider.js +143 -164
  184. package/slider/Slider.stories.tsx +72 -9
  185. package/slider/Slider.test.js +222 -0
  186. package/slider/types.d.ts +11 -3
  187. package/spinner/Spinner.js +12 -41
  188. package/spinner/Spinner.stories.jsx +27 -1
  189. package/spinner/Spinner.test.js +55 -0
  190. package/spinner/types.d.ts +3 -3
  191. package/switch/Switch.d.ts +2 -2
  192. package/switch/Switch.js +148 -107
  193. package/switch/Switch.stories.tsx +53 -42
  194. package/switch/Switch.test.js +180 -0
  195. package/switch/types.d.ts +13 -5
  196. package/table/Table.js +5 -23
  197. package/table/Table.stories.jsx +80 -1
  198. package/table/Table.test.js +21 -0
  199. package/table/types.d.ts +3 -3
  200. package/tabs/Tab.d.ts +4 -0
  201. package/tabs/Tab.js +115 -0
  202. package/tabs/Tabs.d.ts +1 -1
  203. package/tabs/Tabs.js +318 -139
  204. package/tabs/Tabs.stories.tsx +119 -13
  205. package/tabs/Tabs.test.js +295 -0
  206. package/tabs/types.d.ts +21 -7
  207. package/tag/Tag.js +34 -68
  208. package/tag/Tag.stories.tsx +25 -8
  209. package/tag/Tag.test.js +49 -0
  210. package/tag/types.d.ts +7 -7
  211. package/text-input/Icons.d.ts +8 -0
  212. package/text-input/Icons.js +57 -0
  213. package/text-input/Suggestion.d.ts +4 -0
  214. package/text-input/Suggestion.js +68 -0
  215. package/text-input/Suggestions.d.ts +4 -0
  216. package/text-input/Suggestions.js +109 -0
  217. package/text-input/TextInput.js +232 -438
  218. package/text-input/TextInput.stories.tsx +310 -197
  219. package/text-input/TextInput.test.js +1404 -0
  220. package/text-input/types.d.ts +55 -17
  221. package/textarea/Textarea.js +53 -96
  222. package/textarea/Textarea.stories.jsx +93 -13
  223. package/textarea/Textarea.test.js +360 -0
  224. package/textarea/types.d.ts +22 -15
  225. package/toggle-group/ToggleGroup.d.ts +1 -1
  226. package/toggle-group/ToggleGroup.js +23 -57
  227. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  228. package/toggle-group/ToggleGroup.test.js +124 -0
  229. package/toggle-group/types.d.ts +19 -11
  230. package/translatedLabelsType.d.ts +82 -0
  231. package/translatedLabelsType.js +5 -0
  232. package/typography/Typography.d.ts +4 -0
  233. package/typography/Typography.js +119 -0
  234. package/typography/Typography.stories.tsx +198 -0
  235. package/typography/types.d.ts +18 -0
  236. package/typography/types.js +5 -0
  237. package/useTheme.d.ts +1 -1
  238. package/useTheme.js +3 -9
  239. package/useTranslatedLabels.d.ts +3 -0
  240. package/useTranslatedLabels.js +15 -0
  241. package/wizard/Wizard.d.ts +1 -1
  242. package/wizard/Wizard.js +68 -98
  243. package/wizard/Wizard.stories.tsx +48 -19
  244. package/wizard/Wizard.test.js +114 -0
  245. package/wizard/types.d.ts +12 -7
  246. package/ThemeContext.d.ts +0 -15
  247. package/ThemeContext.js +0 -243
  248. package/V3Select/V3Select.js +0 -455
  249. package/V3Select/index.d.ts +0 -27
  250. package/V3Textarea/V3Textarea.js +0 -260
  251. package/V3Textarea/index.d.ts +0 -27
  252. package/common/RequiredComponent.js +0 -32
  253. package/date/Date.js +0 -373
  254. package/date/index.d.ts +0 -27
  255. package/input-text/Icons.js +0 -22
  256. package/input-text/InputText.js +0 -611
  257. package/input-text/index.d.ts +0 -36
  258. package/list/List.d.ts +0 -4
  259. package/list/List.js +0 -47
  260. package/list/List.stories.tsx +0 -95
  261. package/list/types.d.ts +0 -7
  262. package/radio/Radio.d.ts +0 -4
  263. package/radio/Radio.js +0 -174
  264. package/radio/Radio.stories.tsx +0 -192
  265. package/radio/types.d.ts +0 -54
  266. package/row/Row.d.ts +0 -3
  267. package/row/Row.js +0 -127
  268. package/row/Row.stories.tsx +0 -237
  269. package/row/types.d.ts +0 -10
  270. package/stack/Stack.d.ts +0 -3
  271. package/stack/Stack.js +0 -97
  272. package/stack/Stack.stories.tsx +0 -164
  273. package/stack/types.d.ts +0 -9
  274. package/text/Text.d.ts +0 -7
  275. package/text/Text.js +0 -30
  276. package/text/Text.stories.tsx +0 -19
  277. package/toggle/Toggle.js +0 -186
  278. package/toggle/index.d.ts +0 -21
  279. package/upload/Upload.js +0 -201
  280. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  281. package/upload/buttons-upload/Icons.js +0 -40
  282. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  283. package/upload/dragAndDropArea/Icons.js +0 -39
  284. package/upload/file-upload/FileToUpload.js +0 -115
  285. package/upload/file-upload/Icons.js +0 -66
  286. package/upload/files-upload/FilesToUpload.js +0 -109
  287. package/upload/index.d.ts +0 -15
  288. package/upload/transaction/Icons.js +0 -160
  289. package/upload/transaction/Transaction.js +0 -104
  290. package/upload/transactions/Transactions.js +0 -94
  291. /package/{list → badge}/types.js +0 -0
  292. /package/{radio → bulleted-list}/types.js +0 -0
  293. /package/{row → flex}/types.js +0 -0
  294. /package/{stack → nav-tabs}/types.js +0 -0
@@ -3,6 +3,7 @@ import { userEvent, within } from "@storybook/testing-library";
3
3
  import DxcToggleGroup from "./ToggleGroup";
4
4
  import Title from "../../.storybook/components/Title";
5
5
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
+ import { HalstackProvider } from "../HalstackContext";
6
7
 
7
8
  export default {
8
9
  title: "ToggleGroup",
@@ -89,6 +90,16 @@ const twoOptions = [
89
90
  label: "Twitter",
90
91
  },
91
92
  ];
93
+
94
+ const opinionatedTheme = {
95
+ toggleGroup: {
96
+ selectedBaseColor: "#5f249f",
97
+ selectedFontColor: "#ffffff",
98
+ unselectedBaseColor: "#e6e6e6",
99
+ unselectedFontColor: "#000000",
100
+ },
101
+ };
102
+
92
103
  export const Chromatic = () => (
93
104
  <>
94
105
  <ExampleContainer>
@@ -97,7 +108,7 @@ export const Chromatic = () => (
97
108
  </ExampleContainer>
98
109
  <ExampleContainer>
99
110
  <Title title="Selected" theme="light" level={4} />
100
- <DxcToggleGroup label="Selected" helperText="HelperText" value={2} options={options} />
111
+ <DxcToggleGroup label="Selected" helperText="HelperText" defaultValue={2} options={options} />
101
112
  </ExampleContainer>
102
113
  <ExampleContainer>
103
114
  <Title title="Icons toggle group" theme="light" level={4} />
@@ -109,11 +120,11 @@ export const Chromatic = () => (
109
120
  </ExampleContainer>
110
121
  <ExampleContainer>
111
122
  <Title title="Disabled" theme="light" level={4} />
112
- <DxcToggleGroup label="Disabled" value={2} options={options} disabled />
123
+ <DxcToggleGroup label="Disabled" defaultValue={2} options={options} disabled />
113
124
  </ExampleContainer>
114
125
  <ExampleContainer pseudoState="pseudo-hover">
115
126
  <Title title="Hovered" theme="light" level={4} />
116
- <DxcToggleGroup label="Hovered" options={twoOptions} value={2} />
127
+ <DxcToggleGroup label="Hovered" options={twoOptions} defaultValue={2} />
117
128
  </ExampleContainer>
118
129
  <ExampleContainer>
119
130
  <Title title="Multiple toggleGroup" theme="light" level={4} />
@@ -121,7 +132,7 @@ export const Chromatic = () => (
121
132
  label="Toggle group"
122
133
  helperText="Please select one or more"
123
134
  options={options}
124
- value={[1, 3]}
135
+ defaultValue={[1, 3]}
125
136
  multiple
126
137
  ></DxcToggleGroup>
127
138
  </ExampleContainer>
@@ -154,6 +165,37 @@ export const Chromatic = () => (
154
165
  <Title title="xxLarge" theme="light" level={4} />
155
166
  <DxcToggleGroup label="xxLarge margin" options={options} margin="xxlarge" />
156
167
  </ExampleContainer>
168
+ <Title title="Opinionated theme" theme="light" level={2} />
169
+ <ExampleContainer>
170
+ <HalstackProvider theme={opinionatedTheme}>
171
+ <Title title="Selected" theme="light" level={4} />
172
+ <DxcToggleGroup label="Selected" helperText="HelperText" defaultValue={2} options={options} />
173
+ </HalstackProvider>
174
+ </ExampleContainer>
175
+ <ExampleContainer>
176
+ <HalstackProvider theme={opinionatedTheme}>
177
+ <Title title="Icons & label toggle group" theme="light" level={4} />
178
+ <DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
179
+ </HalstackProvider>
180
+ </ExampleContainer>
181
+ <ExampleContainer>
182
+ <HalstackProvider theme={opinionatedTheme}>
183
+ <Title title="Disabled" theme="light" level={4} />
184
+ <DxcToggleGroup label="Disabled" defaultValue={2} options={options} disabled />
185
+ </HalstackProvider>
186
+ </ExampleContainer>
187
+ <ExampleContainer pseudoState="pseudo-hover">
188
+ <Title title="Hovered" theme="light" level={4} />
189
+ <HalstackProvider theme={opinionatedTheme}>
190
+ <DxcToggleGroup label="Hovered" options={twoOptions} defaultValue={2} />
191
+ </HalstackProvider>
192
+ </ExampleContainer>
193
+ <ExampleContainer pseudoState="pseudo-active">
194
+ <Title title="Actived" theme="light" level={4} />
195
+ <HalstackProvider theme={opinionatedTheme}>
196
+ <DxcToggleGroup label="Actived" options={twoOptions} defaultValue={2} />
197
+ </HalstackProvider>
198
+ </ExampleContainer>
157
199
  </>
158
200
  );
159
201
  const OptionSelected = () => <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />;
@@ -0,0 +1,124 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _ToggleGroup = _interopRequireDefault(require("./ToggleGroup"));
7
+ var options = [{
8
+ value: 1,
9
+ label: "Amazon"
10
+ }, {
11
+ value: 2,
12
+ label: "Ebay"
13
+ }, {
14
+ value: 3,
15
+ label: "Apple"
16
+ }, {
17
+ value: 4,
18
+ label: "Google"
19
+ }];
20
+ describe("Toggle group component tests", function () {
21
+ test("Toggle group renders with correct labels", function () {
22
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
23
+ label: "Toggle group label",
24
+ helperText: "Toggle group helper text",
25
+ options: options
26
+ })),
27
+ getByText = _render.getByText;
28
+ expect(getByText("Toggle group label")).toBeTruthy();
29
+ expect(getByText("Toggle group helper text")).toBeTruthy();
30
+ expect(getByText("Amazon")).toBeTruthy();
31
+ expect(getByText("Ebay")).toBeTruthy();
32
+ expect(getByText("Apple")).toBeTruthy();
33
+ expect(getByText("Google")).toBeTruthy();
34
+ });
35
+ test("Uncontrolled toggle group calls correct function on change with value", function () {
36
+ var onChange = jest.fn();
37
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
38
+ options: options,
39
+ onChange: onChange
40
+ })),
41
+ getByText = _render2.getByText;
42
+ var option = getByText("Ebay");
43
+ _react2.fireEvent.click(option);
44
+ expect(onChange).toHaveBeenCalledWith(2);
45
+ });
46
+ test("Controlled toggle group calls correct function on change with value", function () {
47
+ var onChange = jest.fn();
48
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
49
+ options: options,
50
+ onChange: onChange,
51
+ value: 1
52
+ })),
53
+ getByText = _render3.getByText;
54
+ var option = getByText("Ebay");
55
+ _react2.fireEvent.click(option);
56
+ expect(onChange).toHaveBeenCalledWith(2);
57
+ });
58
+ test("Function on change is not called when disable", function () {
59
+ var onChange = jest.fn();
60
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
61
+ options: options,
62
+ onChange: onChange,
63
+ disabled: true
64
+ })),
65
+ getByText = _render4.getByText;
66
+ var option = getByText("Ebay");
67
+ _react2.fireEvent.click(option);
68
+ expect(onChange).toHaveBeenCalledTimes(0);
69
+ });
70
+ test("Uncontrolled multiple toggle group calls correct function on change with value when is multiple", function () {
71
+ var onChange = jest.fn();
72
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
73
+ options: options,
74
+ onChange: onChange,
75
+ multiple: true
76
+ })),
77
+ getAllByRole = _render5.getAllByRole;
78
+ var toggleOptions = getAllByRole("switch");
79
+ _react2.fireEvent.click(toggleOptions[0]);
80
+ expect(onChange).toHaveBeenCalledWith([1]);
81
+ _react2.fireEvent.click(toggleOptions[1]);
82
+ _react2.fireEvent.click(toggleOptions[3]);
83
+ expect(onChange).toHaveBeenCalledWith([1, 2, 4]);
84
+ expect(toggleOptions[0].getAttribute("aria-checked")).toBe("true");
85
+ expect(toggleOptions[1].getAttribute("aria-checked")).toBe("true");
86
+ expect(toggleOptions[3].getAttribute("aria-checked")).toBe("true");
87
+ });
88
+ test("Controlled multiple toggle returns always same values", function () {
89
+ var onChange = jest.fn();
90
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
91
+ options: options,
92
+ onChange: onChange,
93
+ value: [1],
94
+ multiple: true
95
+ })),
96
+ getByText = _render6.getByText;
97
+ var option = getByText("Ebay");
98
+ _react2.fireEvent.click(option);
99
+ expect(onChange).toHaveBeenCalledWith([1, 2]);
100
+ var option2 = getByText("Google");
101
+ _react2.fireEvent.click(option2);
102
+ expect(onChange).toHaveBeenNthCalledWith(2, [1, 4]);
103
+ });
104
+ test("Single selection: Renders with correct default value", function () {
105
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
106
+ options: options,
107
+ defaultValue: 2
108
+ })),
109
+ getAllByRole = _render7.getAllByRole;
110
+ var toggleOptions = getAllByRole("radio");
111
+ expect(toggleOptions[1].getAttribute("aria-checked")).toBe("true");
112
+ });
113
+ test("Multiple selection: Renders with correct default value", function () {
114
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
115
+ options: options,
116
+ defaultValue: [2, 4],
117
+ multiple: true
118
+ })),
119
+ getAllByRole = _render8.getAllByRole;
120
+ var toggleOptions = getAllByRole("switch");
121
+ expect(toggleOptions[1].getAttribute("aria-checked")).toBe("true");
122
+ expect(toggleOptions[3].getAttribute("aria-checked")).toBe("true");
123
+ });
124
+ });
@@ -1,19 +1,19 @@
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.SVGProps<SVGSVGElement>;
10
- declare type OptionCommons = {
9
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
+ type OptionCommons = {
11
11
  /**
12
12
  * Number with the option inner value.
13
13
  */
14
14
  value: number;
15
15
  };
16
- declare type OptionIcon = OptionCommons & {
16
+ type OptionIcon = OptionCommons & {
17
17
  /**
18
18
  * String with the option display value.
19
19
  */
@@ -23,7 +23,7 @@ declare type OptionIcon = OptionCommons & {
23
23
  */
24
24
  icon: string | SVG;
25
25
  };
26
- declare type OptionLabel = OptionCommons & {
26
+ type OptionLabel = OptionCommons & {
27
27
  /**
28
28
  * String with the option display value.
29
29
  */
@@ -33,8 +33,8 @@ declare type OptionLabel = OptionCommons & {
33
33
  */
34
34
  icon?: string | SVG;
35
35
  };
36
- declare type Option = OptionIcon | OptionLabel;
37
- declare type CommonProps = {
36
+ type Option = OptionIcon | OptionLabel;
37
+ type CommonProps = {
38
38
  /**
39
39
  * Text to be placed above the component.
40
40
  */
@@ -61,11 +61,15 @@ declare type CommonProps = {
61
61
  */
62
62
  tabIndex?: number;
63
63
  };
64
- declare type SingleSelectionToggle = CommonProps & {
64
+ type SingleSelectionToggle = CommonProps & {
65
65
  /**
66
66
  * If true, the toggle group will support multiple selection. In that case, value must be an array of numbers with the keys of the selected values.
67
67
  */
68
68
  multiple?: false;
69
+ /**
70
+ * The key of the initially selected value.
71
+ */
72
+ defaultValue?: number;
69
73
  /**
70
74
  * The key of the selected value. If the component allows multiple selection, value must be an array.
71
75
  * If undefined, the component will be uncontrolled and the value will be managed internally by the component.
@@ -77,11 +81,15 @@ declare type SingleSelectionToggle = CommonProps & {
77
81
  */
78
82
  onChange?: (optionIndex: number) => void;
79
83
  };
80
- declare type MultipleSelectionToggle = CommonProps & {
84
+ type MultipleSelectionToggle = CommonProps & {
81
85
  /**
82
86
  * If true, the toggle group will support multiple selection. In that case, value must be an array of numbers with the keys of the selected values.
83
87
  */
84
88
  multiple: true;
89
+ /**
90
+ * The array of keys with the initially selected values.
91
+ */
92
+ defaultValue?: number[];
85
93
  /**
86
94
  * An array with the keys of the selected values.
87
95
  * If undefined, the component will be uncontrolled and the value will be managed internally by the component.
@@ -93,5 +101,5 @@ declare type MultipleSelectionToggle = CommonProps & {
93
101
  */
94
102
  onChange?: (optionIndex: number[]) => void;
95
103
  };
96
- declare type Props = SingleSelectionToggle | MultipleSelectionToggle;
104
+ type Props = SingleSelectionToggle | MultipleSelectionToggle;
97
105
  export default Props;
@@ -0,0 +1,82 @@
1
+ type TranslatedLabelsContextTypes = {
2
+ formFields: {
3
+ optionalLabel: string;
4
+ requiredSelectionErrorMessage: string;
5
+ requiredValueErrorMessage: string;
6
+ formatRequestedErrorMessage: string;
7
+ lengthErrorMessage: (minLength: number, maxLength: number) => string;
8
+ logoAlternativeText: string;
9
+ };
10
+ applicationLayout: {
11
+ visibilityToggleTitle: string;
12
+ };
13
+ alert: {
14
+ infoTitleText: string;
15
+ successTitleText: string;
16
+ warningTitleText: string;
17
+ errorTitleText: string;
18
+ };
19
+ dateInput: {
20
+ invalidDateErrorMessage: string;
21
+ };
22
+ fileInput: {
23
+ fileSizeGreaterThanErrorMessage: string;
24
+ fileSizeLessThanErrorMessage: string;
25
+ multipleButtonLabelDefault: string;
26
+ singleButtonLabelDefault: string;
27
+ dropAreaButtonLabelDefault: string;
28
+ multipleDropAreaLabelDefault: string;
29
+ singleDropAreaLabelDefault: string;
30
+ deleteFileActionTitle: string;
31
+ };
32
+ footer: {
33
+ copyrightText: (year: number) => string;
34
+ };
35
+ header: {
36
+ closeIcon: string;
37
+ hamburguerTitle: string;
38
+ };
39
+ numberInput: {
40
+ valueGreaterThanOrEqualToErrorMessage: (minLength: number) => string;
41
+ valueLessThanOrEqualToErrorMessage: (maxLength: number) => string;
42
+ decrementValueTitle: string;
43
+ incrementValueTitle: string;
44
+ };
45
+ paginator: {
46
+ itemsPerPageText: string;
47
+ minToMaxOfText: (minNumberOfItems: number, maxNumberOfItems: number, totalItems: number) => string;
48
+ goToPageText: string;
49
+ pageOfText: (pageNumber: number, totalPagesNumber: number) => string;
50
+ };
51
+ passwordInput: {
52
+ inputShowPasswordTitle: string;
53
+ inputHidePasswordTitle: string;
54
+ };
55
+ quickNav: {
56
+ contentTitle: string;
57
+ };
58
+ radioGroup: {
59
+ optionalItemLabelDefault: string;
60
+ };
61
+ select: {
62
+ noMatchesErrorMessage: string;
63
+ actionClearSelectionTitle: string;
64
+ actionClearSearchTitle: string;
65
+ };
66
+ tabs: {
67
+ scrollLeft: string;
68
+ scrollRight: string;
69
+ };
70
+ textInput: {
71
+ clearFieldActionTitle: string;
72
+ searchingMessage: string;
73
+ fetchingDataErrorMessage: string;
74
+ };
75
+ calendar: {
76
+ daysShort: string[];
77
+ months: string[];
78
+ previousMonthTitle: string;
79
+ nextMonthTitle: string;
80
+ };
81
+ };
82
+ export default TranslatedLabelsContextTypes;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import TypographyPropsTypes from "./types";
3
+ declare const Typography: ({ as, display, fontFamily, fontSize, fontStyle, fontWeight, letterSpacing, lineHeight, textAlign, color, textDecoration, textOverflow, whiteSpace, children, }: TypographyPropsTypes) => JSX.Element;
4
+ export default Typography;
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
12
+ var _templateObject;
13
+ 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); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ var TypographyContext = /*#__PURE__*/_react["default"].createContext(null);
16
+ var Typography = function Typography(_ref) {
17
+ var as = _ref.as,
18
+ display = _ref.display,
19
+ fontFamily = _ref.fontFamily,
20
+ fontSize = _ref.fontSize,
21
+ fontStyle = _ref.fontStyle,
22
+ fontWeight = _ref.fontWeight,
23
+ letterSpacing = _ref.letterSpacing,
24
+ lineHeight = _ref.lineHeight,
25
+ textAlign = _ref.textAlign,
26
+ color = _ref.color,
27
+ textDecoration = _ref.textDecoration,
28
+ textOverflow = _ref.textOverflow,
29
+ whiteSpace = _ref.whiteSpace,
30
+ children = _ref.children;
31
+ var componentContext = (0, _react.useContext)(TypographyContext);
32
+ var asValue = as !== null && as !== void 0 ? as : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.as) || "span";
33
+ var displayValue = display !== null && display !== void 0 ? display : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.display) || "inline";
34
+ var fontFamilyValue = fontFamily !== null && fontFamily !== void 0 ? fontFamily : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontFamily) || "Open Sans, sans-serif";
35
+ var fontSizeValue = fontSize !== null && fontSize !== void 0 ? fontSize : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontSize) || "1rem";
36
+ var fontStyleValue = fontStyle !== null && fontStyle !== void 0 ? fontStyle : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontStyle) || "normal";
37
+ var fontWeightValue = fontWeight !== null && fontWeight !== void 0 ? fontWeight : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.fontWeight) || "400";
38
+ var letterSpacingValue = letterSpacing !== null && letterSpacing !== void 0 ? letterSpacing : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.letterSpacing) || "0em";
39
+ var lineHeightValue = lineHeight !== null && lineHeight !== void 0 ? lineHeight : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.lineHeight) || "1.5em";
40
+ var textAlignValue = textAlign !== null && textAlign !== void 0 ? textAlign : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.textAlign) || "left";
41
+ var colorValue = color !== null && color !== void 0 ? color : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.color) || "#000000";
42
+ var textDecorationValue = textDecoration !== null && textDecoration !== void 0 ? textDecoration : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.textDecoration) || "none";
43
+ var textOverflowValue = textOverflow !== null && textOverflow !== void 0 ? textOverflow : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.textOverflow) || "unset";
44
+ var whiteSpaceValue = whiteSpace !== null && whiteSpace !== void 0 ? whiteSpace : (componentContext === null || componentContext === void 0 ? void 0 : componentContext.whiteSpace) || "normal";
45
+ return /*#__PURE__*/_react["default"].createElement(TypographyContext.Provider, {
46
+ value: {
47
+ as: asValue,
48
+ display: displayValue,
49
+ fontFamily: fontFamilyValue,
50
+ fontSize: fontSizeValue,
51
+ fontStyle: fontStyleValue,
52
+ fontWeight: fontWeightValue,
53
+ letterSpacing: letterSpacingValue,
54
+ lineHeight: lineHeightValue,
55
+ textAlign: textAlignValue,
56
+ color: colorValue,
57
+ textDecoration: textDecorationValue,
58
+ textOverflow: textOverflowValue,
59
+ whiteSpace: whiteSpaceValue
60
+ }
61
+ }, /*#__PURE__*/_react["default"].createElement(StyledTypography, {
62
+ as: asValue,
63
+ display: displayValue,
64
+ fontFamily: fontFamilyValue,
65
+ fontSize: fontSizeValue,
66
+ fontStyle: fontStyleValue,
67
+ fontWeight: fontWeightValue,
68
+ letterSpacing: letterSpacingValue,
69
+ lineHeight: lineHeightValue,
70
+ textAlign: textAlignValue,
71
+ color: colorValue,
72
+ textDecoration: textDecorationValue,
73
+ textOverflow: textOverflowValue,
74
+ whiteSpace: whiteSpaceValue
75
+ }, children));
76
+ };
77
+ var StyledTypography = _styledComponents["default"].span(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px;\n display: ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n text-align: ", ";\n line-height: ", ";\n text-decoration: ", ";\n text-overflow: ", ";\n white-space: ", ";\n overflow: ", ";\n"])), function (_ref2) {
78
+ var display = _ref2.display;
79
+ return display;
80
+ }, function (_ref3) {
81
+ var color = _ref3.color;
82
+ return color;
83
+ }, function (_ref4) {
84
+ var fontFamily = _ref4.fontFamily;
85
+ return fontFamily;
86
+ }, function (_ref5) {
87
+ var fontSize = _ref5.fontSize;
88
+ return fontSize;
89
+ }, function (_ref6) {
90
+ var fontStyle = _ref6.fontStyle;
91
+ return fontStyle;
92
+ }, function (_ref7) {
93
+ var fontWeight = _ref7.fontWeight;
94
+ return fontWeight;
95
+ }, function (_ref8) {
96
+ var letterSpacing = _ref8.letterSpacing;
97
+ return letterSpacing;
98
+ }, function (_ref9) {
99
+ var textAlign = _ref9.textAlign;
100
+ return textAlign;
101
+ }, function (_ref10) {
102
+ var lineHeight = _ref10.lineHeight;
103
+ return lineHeight;
104
+ }, function (_ref11) {
105
+ var textDecoration = _ref11.textDecoration;
106
+ return textDecoration;
107
+ }, function (_ref12) {
108
+ var textOverflow = _ref12.textOverflow;
109
+ return textOverflow;
110
+ }, function (_ref13) {
111
+ var whiteSpace = _ref13.whiteSpace,
112
+ textOverflow = _ref13.textOverflow;
113
+ return whiteSpace !== "normal" ? whiteSpace : textOverflow !== "unset" ? "nowrap" : "normal";
114
+ }, function (_ref14) {
115
+ var textOverflow = _ref14.textOverflow;
116
+ return textOverflow !== "unset" ? "hidden" : "visible";
117
+ });
118
+ var _default = Typography;
119
+ exports["default"] = _default;