@dxc-technology/halstack-react 0.0.0-757bc34 → 0.0.0-75a707a

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 (353) hide show
  1. package/README.md +1 -2
  2. package/dist/index.d.mts +6661 -0
  3. package/dist/index.d.ts +6661 -0
  4. package/dist/index.js +14514 -0
  5. package/dist/index.mjs +14456 -0
  6. package/package.json +68 -68
  7. package/BackgroundColorContext.d.ts +0 -10
  8. package/BackgroundColorContext.js +0 -35
  9. package/HalstackContext.d.ts +0 -1353
  10. package/HalstackContext.js +0 -310
  11. package/accordion/Accordion.d.ts +0 -4
  12. package/accordion/Accordion.js +0 -185
  13. package/accordion/Accordion.stories.tsx +0 -283
  14. package/accordion/Accordion.test.js +0 -56
  15. package/accordion/types.d.ts +0 -57
  16. package/accordion/types.js +0 -5
  17. package/accordion-group/AccordionGroup.d.ts +0 -8
  18. package/accordion-group/AccordionGroup.js +0 -101
  19. package/accordion-group/AccordionGroup.stories.tsx +0 -252
  20. package/accordion-group/AccordionGroup.test.js +0 -98
  21. package/accordion-group/AccordionGroupAccordion.d.ts +0 -4
  22. package/accordion-group/AccordionGroupAccordion.js +0 -31
  23. package/accordion-group/types.d.ts +0 -67
  24. package/accordion-group/types.js +0 -5
  25. package/alert/Alert.d.ts +0 -4
  26. package/alert/Alert.js +0 -257
  27. package/alert/Alert.stories.tsx +0 -198
  28. package/alert/Alert.test.js +0 -75
  29. package/alert/types.d.ts +0 -49
  30. package/alert/types.js +0 -5
  31. package/badge/Badge.d.ts +0 -4
  32. package/badge/Badge.js +0 -48
  33. package/badge/types.d.ts +0 -5
  34. package/badge/types.js +0 -5
  35. package/bleed/Bleed.d.ts +0 -3
  36. package/bleed/Bleed.js +0 -43
  37. package/bleed/Bleed.stories.tsx +0 -342
  38. package/bleed/types.d.ts +0 -37
  39. package/bleed/types.js +0 -5
  40. package/box/Box.d.ts +0 -4
  41. package/box/Box.js +0 -78
  42. package/box/Box.stories.tsx +0 -119
  43. package/box/Box.test.js +0 -13
  44. package/box/types.d.ts +0 -32
  45. package/box/types.js +0 -5
  46. package/bulleted-list/BulletedList.d.ts +0 -7
  47. package/bulleted-list/BulletedList.js +0 -99
  48. package/bulleted-list/BulletedList.stories.tsx +0 -116
  49. package/bulleted-list/types.d.ts +0 -38
  50. package/bulleted-list/types.js +0 -5
  51. package/button/Button.d.ts +0 -4
  52. package/button/Button.js +0 -121
  53. package/button/Button.stories.tsx +0 -344
  54. package/button/Button.test.js +0 -36
  55. package/button/types.d.ts +0 -57
  56. package/button/types.js +0 -5
  57. package/card/Card.d.ts +0 -4
  58. package/card/Card.js +0 -120
  59. package/card/Card.stories.tsx +0 -171
  60. package/card/Card.test.js +0 -39
  61. package/card/types.d.ts +0 -62
  62. package/card/types.js +0 -5
  63. package/checkbox/Checkbox.d.ts +0 -4
  64. package/checkbox/Checkbox.js +0 -220
  65. package/checkbox/Checkbox.stories.tsx +0 -222
  66. package/checkbox/Checkbox.test.js +0 -199
  67. package/checkbox/types.d.ts +0 -72
  68. package/checkbox/types.js +0 -5
  69. package/chip/Chip.d.ts +0 -4
  70. package/chip/Chip.js +0 -121
  71. package/chip/Chip.stories.tsx +0 -214
  72. package/chip/Chip.test.js +0 -41
  73. package/chip/types.d.ts +0 -45
  74. package/chip/types.js +0 -5
  75. package/common/OpenSans.css +0 -69
  76. package/common/coreTokens.d.ts +0 -237
  77. package/common/coreTokens.js +0 -184
  78. package/common/fonts/OpenSans-Bold.ttf +0 -0
  79. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  80. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  81. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  82. package/common/fonts/OpenSans-Italic.ttf +0 -0
  83. package/common/fonts/OpenSans-Light.ttf +0 -0
  84. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  85. package/common/fonts/OpenSans-Regular.ttf +0 -0
  86. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  87. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  88. package/common/utils.d.ts +0 -1
  89. package/common/utils.js +0 -16
  90. package/common/variables.d.ts +0 -1499
  91. package/common/variables.js +0 -1371
  92. package/container/Container.d.ts +0 -4
  93. package/container/Container.js +0 -198
  94. package/container/Container.stories.tsx +0 -229
  95. package/container/types.d.ts +0 -74
  96. package/container/types.js +0 -5
  97. package/date-input/Calendar.d.ts +0 -4
  98. package/date-input/Calendar.js +0 -214
  99. package/date-input/DateInput.d.ts +0 -4
  100. package/date-input/DateInput.js +0 -223
  101. package/date-input/DateInput.stories.tsx +0 -285
  102. package/date-input/DateInput.test.js +0 -808
  103. package/date-input/DatePicker.d.ts +0 -4
  104. package/date-input/DatePicker.js +0 -115
  105. package/date-input/Icons.d.ts +0 -6
  106. package/date-input/Icons.js +0 -58
  107. package/date-input/YearPicker.d.ts +0 -4
  108. package/date-input/YearPicker.js +0 -100
  109. package/date-input/types.d.ts +0 -164
  110. package/date-input/types.js +0 -5
  111. package/dialog/Dialog.d.ts +0 -4
  112. package/dialog/Dialog.js +0 -107
  113. package/dialog/Dialog.stories.tsx +0 -365
  114. package/dialog/Dialog.test.js +0 -307
  115. package/dialog/types.d.ts +0 -36
  116. package/dialog/types.js +0 -5
  117. package/dropdown/Dropdown.d.ts +0 -4
  118. package/dropdown/Dropdown.js +0 -334
  119. package/dropdown/Dropdown.stories.tsx +0 -438
  120. package/dropdown/Dropdown.test.js +0 -599
  121. package/dropdown/DropdownMenu.d.ts +0 -4
  122. package/dropdown/DropdownMenu.js +0 -63
  123. package/dropdown/DropdownMenuItem.d.ts +0 -4
  124. package/dropdown/DropdownMenuItem.js +0 -67
  125. package/dropdown/types.d.ts +0 -98
  126. package/dropdown/types.js +0 -5
  127. package/file-input/FileInput.d.ts +0 -4
  128. package/file-input/FileInput.js +0 -479
  129. package/file-input/FileInput.stories.tsx +0 -618
  130. package/file-input/FileInput.test.js +0 -459
  131. package/file-input/FileItem.d.ts +0 -4
  132. package/file-input/FileItem.js +0 -135
  133. package/file-input/types.d.ts +0 -129
  134. package/file-input/types.js +0 -5
  135. package/flex/Flex.d.ts +0 -4
  136. package/flex/Flex.js +0 -57
  137. package/flex/Flex.stories.tsx +0 -112
  138. package/flex/types.d.ts +0 -97
  139. package/flex/types.js +0 -5
  140. package/footer/Footer.d.ts +0 -4
  141. package/footer/Footer.js +0 -134
  142. package/footer/Footer.stories.tsx +0 -152
  143. package/footer/Footer.test.js +0 -85
  144. package/footer/Icons.d.ts +0 -2
  145. package/footer/Icons.js +0 -72
  146. package/footer/types.d.ts +0 -58
  147. package/footer/types.js +0 -5
  148. package/grid/Grid.d.ts +0 -7
  149. package/grid/Grid.js +0 -76
  150. package/grid/Grid.stories.tsx +0 -219
  151. package/grid/types.d.ts +0 -115
  152. package/grid/types.js +0 -5
  153. package/header/Header.d.ts +0 -8
  154. package/header/Header.js +0 -230
  155. package/header/Header.stories.tsx +0 -251
  156. package/header/Header.test.js +0 -66
  157. package/header/Icons.d.ts +0 -2
  158. package/header/Icons.js +0 -29
  159. package/header/types.d.ts +0 -33
  160. package/header/types.js +0 -5
  161. package/heading/Heading.d.ts +0 -4
  162. package/heading/Heading.js +0 -137
  163. package/heading/Heading.stories.tsx +0 -54
  164. package/heading/Heading.test.js +0 -169
  165. package/heading/types.d.ts +0 -33
  166. package/heading/types.js +0 -5
  167. package/image/Image.d.ts +0 -4
  168. package/image/Image.js +0 -70
  169. package/image/Image.stories.tsx +0 -127
  170. package/image/types.d.ts +0 -72
  171. package/image/types.js +0 -5
  172. package/inset/Inset.d.ts +0 -3
  173. package/inset/Inset.js +0 -43
  174. package/inset/Inset.stories.tsx +0 -230
  175. package/inset/types.d.ts +0 -37
  176. package/inset/types.js +0 -5
  177. package/layout/ApplicationLayout.d.ts +0 -20
  178. package/layout/ApplicationLayout.js +0 -134
  179. package/layout/ApplicationLayout.stories.tsx +0 -162
  180. package/layout/Icons.d.ts +0 -8
  181. package/layout/Icons.js +0 -58
  182. package/layout/SidenavContext.d.ts +0 -5
  183. package/layout/SidenavContext.js +0 -13
  184. package/layout/types.d.ts +0 -41
  185. package/layout/types.js +0 -5
  186. package/link/Link.d.ts +0 -4
  187. package/link/Link.js +0 -115
  188. package/link/Link.stories.tsx +0 -253
  189. package/link/Link.test.js +0 -63
  190. package/link/types.d.ts +0 -54
  191. package/link/types.js +0 -5
  192. package/main.d.ts +0 -47
  193. package/main.js +0 -343
  194. package/nav-tabs/NavTabs.d.ts +0 -8
  195. package/nav-tabs/NavTabs.js +0 -90
  196. package/nav-tabs/NavTabs.stories.tsx +0 -274
  197. package/nav-tabs/NavTabs.test.js +0 -75
  198. package/nav-tabs/Tab.d.ts +0 -4
  199. package/nav-tabs/Tab.js +0 -117
  200. package/nav-tabs/types.d.ts +0 -52
  201. package/nav-tabs/types.js +0 -5
  202. package/number-input/NumberInput.d.ts +0 -11
  203. package/number-input/NumberInput.js +0 -67
  204. package/number-input/NumberInput.stories.tsx +0 -131
  205. package/number-input/NumberInput.test.js +0 -830
  206. package/number-input/types.d.ts +0 -130
  207. package/number-input/types.js +0 -5
  208. package/paginator/Icons.d.ts +0 -5
  209. package/paginator/Icons.js +0 -40
  210. package/paginator/Paginator.d.ts +0 -4
  211. package/paginator/Paginator.js +0 -138
  212. package/paginator/Paginator.stories.tsx +0 -87
  213. package/paginator/Paginator.test.js +0 -335
  214. package/paginator/types.d.ts +0 -38
  215. package/paginator/types.js +0 -5
  216. package/paragraph/Paragraph.d.ts +0 -5
  217. package/paragraph/Paragraph.js +0 -27
  218. package/paragraph/Paragraph.stories.tsx +0 -27
  219. package/password-input/Icons.d.ts +0 -6
  220. package/password-input/Icons.js +0 -35
  221. package/password-input/PasswordInput.d.ts +0 -4
  222. package/password-input/PasswordInput.js +0 -97
  223. package/password-input/PasswordInput.stories.tsx +0 -100
  224. package/password-input/PasswordInput.test.js +0 -198
  225. package/password-input/types.d.ts +0 -111
  226. package/password-input/types.js +0 -5
  227. package/progress-bar/ProgressBar.d.ts +0 -4
  228. package/progress-bar/ProgressBar.js +0 -150
  229. package/progress-bar/ProgressBar.stories.tsx +0 -93
  230. package/progress-bar/ProgressBar.test.js +0 -93
  231. package/progress-bar/types.d.ts +0 -37
  232. package/progress-bar/types.js +0 -5
  233. package/quick-nav/QuickNav.d.ts +0 -4
  234. package/quick-nav/QuickNav.js +0 -94
  235. package/quick-nav/QuickNav.stories.tsx +0 -356
  236. package/quick-nav/types.d.ts +0 -21
  237. package/quick-nav/types.js +0 -5
  238. package/radio-group/Radio.d.ts +0 -4
  239. package/radio-group/Radio.js +0 -124
  240. package/radio-group/RadioGroup.d.ts +0 -4
  241. package/radio-group/RadioGroup.js +0 -235
  242. package/radio-group/RadioGroup.stories.tsx +0 -214
  243. package/radio-group/RadioGroup.test.js +0 -756
  244. package/radio-group/types.d.ts +0 -114
  245. package/radio-group/types.js +0 -5
  246. package/resultset-table/Icons.d.ts +0 -7
  247. package/resultset-table/Icons.js +0 -47
  248. package/resultset-table/ResultsetTable.d.ts +0 -4
  249. package/resultset-table/ResultsetTable.js +0 -159
  250. package/resultset-table/ResultsetTable.stories.tsx +0 -300
  251. package/resultset-table/ResultsetTable.test.js +0 -305
  252. package/resultset-table/types.d.ts +0 -67
  253. package/resultset-table/types.js +0 -5
  254. package/select/Icons.d.ts +0 -10
  255. package/select/Icons.js +0 -89
  256. package/select/Listbox.d.ts +0 -4
  257. package/select/Listbox.js +0 -143
  258. package/select/Option.d.ts +0 -4
  259. package/select/Option.js +0 -80
  260. package/select/Select.d.ts +0 -4
  261. package/select/Select.js +0 -582
  262. package/select/Select.stories.tsx +0 -971
  263. package/select/Select.test.js +0 -2334
  264. package/select/types.d.ts +0 -209
  265. package/select/types.js +0 -5
  266. package/sidenav/Icons.d.ts +0 -7
  267. package/sidenav/Icons.js +0 -47
  268. package/sidenav/Sidenav.d.ts +0 -10
  269. package/sidenav/Sidenav.js +0 -199
  270. package/sidenav/Sidenav.stories.tsx +0 -282
  271. package/sidenav/Sidenav.test.js +0 -37
  272. package/sidenav/types.d.ts +0 -76
  273. package/sidenav/types.js +0 -5
  274. package/slider/Slider.d.ts +0 -4
  275. package/slider/Slider.js +0 -294
  276. package/slider/Slider.test.js +0 -254
  277. package/slider/types.d.ts +0 -86
  278. package/slider/types.js +0 -5
  279. package/spinner/Spinner.d.ts +0 -4
  280. package/spinner/Spinner.js +0 -214
  281. package/spinner/Spinner.stories.tsx +0 -129
  282. package/spinner/Spinner.test.js +0 -55
  283. package/spinner/types.d.ts +0 -32
  284. package/spinner/types.js +0 -5
  285. package/switch/Switch.d.ts +0 -4
  286. package/switch/Switch.js +0 -219
  287. package/switch/Switch.stories.tsx +0 -137
  288. package/switch/Switch.test.js +0 -180
  289. package/switch/types.d.ts +0 -66
  290. package/switch/types.js +0 -5
  291. package/table/Table.d.ts +0 -4
  292. package/table/Table.js +0 -99
  293. package/table/Table.stories.tsx +0 -356
  294. package/table/Table.test.js +0 -21
  295. package/table/types.d.ts +0 -21
  296. package/table/types.js +0 -5
  297. package/tabs/Tab.d.ts +0 -4
  298. package/tabs/Tab.js +0 -113
  299. package/tabs/Tabs.d.ts +0 -4
  300. package/tabs/Tabs.js +0 -385
  301. package/tabs/Tabs.stories.tsx +0 -226
  302. package/tabs/Tabs.test.js +0 -294
  303. package/tabs/types.d.ts +0 -92
  304. package/tabs/types.js +0 -5
  305. package/tag/Tag.d.ts +0 -4
  306. package/tag/Tag.js +0 -151
  307. package/tag/Tag.stories.tsx +0 -155
  308. package/tag/Tag.test.js +0 -49
  309. package/tag/types.d.ts +0 -69
  310. package/tag/types.js +0 -5
  311. package/text-input/Icons.d.ts +0 -8
  312. package/text-input/Icons.js +0 -56
  313. package/text-input/Suggestion.d.ts +0 -4
  314. package/text-input/Suggestion.js +0 -67
  315. package/text-input/Suggestions.d.ts +0 -4
  316. package/text-input/Suggestions.js +0 -89
  317. package/text-input/TextInput.d.ts +0 -4
  318. package/text-input/TextInput.js +0 -592
  319. package/text-input/TextInput.stories.tsx +0 -465
  320. package/text-input/TextInput.test.js +0 -1739
  321. package/text-input/types.d.ts +0 -205
  322. package/text-input/types.js +0 -5
  323. package/textarea/Textarea.d.ts +0 -4
  324. package/textarea/Textarea.js +0 -240
  325. package/textarea/Textarea.stories.tsx +0 -175
  326. package/textarea/Textarea.test.js +0 -406
  327. package/textarea/types.d.ts +0 -141
  328. package/textarea/types.js +0 -5
  329. package/toggle-group/ToggleGroup.d.ts +0 -4
  330. package/toggle-group/ToggleGroup.js +0 -204
  331. package/toggle-group/ToggleGroup.stories.tsx +0 -218
  332. package/toggle-group/ToggleGroup.test.js +0 -137
  333. package/toggle-group/types.d.ts +0 -114
  334. package/toggle-group/types.js +0 -5
  335. package/typography/Typography.d.ts +0 -4
  336. package/typography/Typography.js +0 -23
  337. package/typography/Typography.stories.tsx +0 -198
  338. package/typography/types.d.ts +0 -18
  339. package/typography/types.js +0 -5
  340. package/useTheme.d.ts +0 -1252
  341. package/useTheme.js +0 -15
  342. package/useTranslatedLabels.d.ts +0 -85
  343. package/useTranslatedLabels.js +0 -14
  344. package/utils/BaseTypography.d.ts +0 -21
  345. package/utils/BaseTypography.js +0 -94
  346. package/utils/FocusLock.d.ts +0 -13
  347. package/utils/FocusLock.js +0 -121
  348. package/wizard/Wizard.d.ts +0 -4
  349. package/wizard/Wizard.js +0 -250
  350. package/wizard/Wizard.stories.tsx +0 -253
  351. package/wizard/Wizard.test.js +0 -114
  352. package/wizard/types.d.ts +0 -64
  353. package/wizard/types.js +0 -5
@@ -1,204 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof3 = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
- var _react = _interopRequireWildcard(require("react"));
13
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
14
- var _uuid = require("uuid");
15
- var _variables = require("../common/variables");
16
- var _useTheme = _interopRequireDefault(require("../useTheme"));
17
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
18
- var _Flex = _interopRequireDefault(require("../flex/Flex"));
19
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
20
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
21
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
22
- var DxcToggleGroup = function DxcToggleGroup(_ref) {
23
- var label = _ref.label,
24
- helperText = _ref.helperText,
25
- defaultValue = _ref.defaultValue,
26
- value = _ref.value,
27
- onChange = _ref.onChange,
28
- _ref$disabled = _ref.disabled,
29
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
30
- options = _ref.options,
31
- margin = _ref.margin,
32
- _ref$multiple = _ref.multiple,
33
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
34
- _ref$tabIndex = _ref.tabIndex,
35
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
36
- var _useState = (0, _react.useState)("label-toggle-group-".concat((0, _uuid.v4)())),
37
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
38
- toggleGroupLabelId = _useState2[0];
39
- var _useState3 = (0, _react.useState)(defaultValue !== null && defaultValue !== void 0 ? defaultValue : multiple ? [] : -1),
40
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
41
- selectedValue = _useState4[0],
42
- setSelectedValue = _useState4[1];
43
- var colorsTheme = (0, _useTheme["default"])();
44
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
45
- var handleToggleChange = function handleToggleChange(selectedOption) {
46
- var newSelectedOptions;
47
- if (value == null) {
48
- if (multiple && Array.isArray(selectedValue)) {
49
- newSelectedOptions = selectedValue.map(function (value) {
50
- return value;
51
- });
52
- if (newSelectedOptions.includes(selectedOption)) {
53
- var index = newSelectedOptions.indexOf(selectedOption);
54
- newSelectedOptions.splice(index, 1);
55
- } else {
56
- newSelectedOptions.push(selectedOption);
57
- }
58
- setSelectedValue(newSelectedOptions);
59
- } else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
60
- } else if (multiple) {
61
- newSelectedOptions = Array.isArray(value) ? value.map(function (v) {
62
- return v;
63
- }) : value;
64
- if (newSelectedOptions.includes(selectedOption)) {
65
- var _index = newSelectedOptions.indexOf(selectedOption);
66
- newSelectedOptions.splice(_index, 1);
67
- } else newSelectedOptions.push(selectedOption);
68
- }
69
- onChange === null || onChange === void 0 ? void 0 : onChange(multiple ? newSelectedOptions : selectedOption);
70
- };
71
- var handleOnKeyDown = function handleOnKeyDown(event, optionValue) {
72
- switch (event.key) {
73
- case "Enter":
74
- case " ":
75
- event.preventDefault();
76
- handleToggleChange(optionValue);
77
- }
78
- };
79
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
80
- theme: colorsTheme.toggleGroup
81
- }, /*#__PURE__*/_react["default"].createElement(ToggleGroup, {
82
- margin: margin
83
- }, /*#__PURE__*/_react["default"].createElement(Label, {
84
- id: toggleGroupLabelId,
85
- disabled: disabled
86
- }, label), /*#__PURE__*/_react["default"].createElement(HelperText, {
87
- disabled: disabled
88
- }, helperText), /*#__PURE__*/_react["default"].createElement(OptionsContainer, {
89
- "aria-labelledby": toggleGroupLabelId
90
- }, options.map(function (option, i) {
91
- return /*#__PURE__*/_react["default"].createElement(ToggleButton, {
92
- key: "toggle-".concat(i, "-").concat(option.label),
93
- "aria-label": option.title,
94
- "aria-pressed": multiple ? value ? Array.isArray(value) && value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
95
- disabled: disabled,
96
- onClick: function onClick() {
97
- handleToggleChange(option.value);
98
- },
99
- onKeyDown: function onKeyDown(event) {
100
- handleOnKeyDown(event, option.value);
101
- },
102
- tabIndex: !disabled ? tabIndex : -1,
103
- title: option.title,
104
- backgroundType: backgroundType,
105
- hasIcon: option.icon,
106
- optionLabel: option.label,
107
- selected: multiple ? value ? Array.isArray(value) && value.includes(option.value) : Array.isArray(selectedValue) && selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue
108
- }, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
109
- alignItems: "center"
110
- }, option.icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
111
- optionLabel: option.label
112
- }, typeof option.icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
113
- src: option.icon
114
- }) : option.icon), option.label && /*#__PURE__*/_react["default"].createElement(LabelContainer, null, option.label)));
115
- }))));
116
- };
117
- var ToggleGroup = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n flex-direction: column;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
118
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
119
- }, function (props) {
120
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
121
- }, function (props) {
122
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
123
- }, function (props) {
124
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
125
- }, function (props) {
126
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
127
- });
128
- var Label = _styledComponents["default"].label(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
129
- return props.disabled ? props.theme.disabledLabelFontColor : props.theme.labelFontColor;
130
- }, function (props) {
131
- return props.theme.labelFontFamily;
132
- }, function (props) {
133
- return props.theme.labelFontSize;
134
- }, function (props) {
135
- return props.theme.labelFontStyle;
136
- }, function (props) {
137
- return props.theme.labelFontWeight;
138
- }, function (props) {
139
- return props.theme.labelLineHeight;
140
- });
141
- var HelperText = _styledComponents["default"].span(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"])), function (props) {
142
- return props.disabled ? props.theme.disabledHelperTextFontcolor : props.theme.helperTextFontColor;
143
- }, function (props) {
144
- return props.theme.helperTextFontFamily;
145
- }, function (props) {
146
- return props.theme.helperTextFontSize;
147
- }, function (props) {
148
- return props.theme.helperTextFontStyle;
149
- }, function (props) {
150
- return props.theme.helperTextFontWeight;
151
- }, function (props) {
152
- return props.theme.helperTextLineHeight;
153
- });
154
- var OptionsContainer = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n gap: 0.25rem;\n width: max-content;\n height: calc(48px - 4px - 4px);\n padding: 0.25rem;\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n border-color: ", ";\n margin-top: ", ";\n background-color: ", ";\n"])), function (props) {
155
- return props.theme.containerBorderThickness;
156
- }, function (props) {
157
- return props.theme.containerBorderStyle;
158
- }, function (props) {
159
- return props.theme.containerBorderRadius;
160
- }, function (props) {
161
- return props.theme.containerBorderColor;
162
- }, function (props) {
163
- return props.theme.containerMarginTop;
164
- }, function (props) {
165
- return props.theme.containerBackgroundColor;
166
- });
167
- var ToggleButton = _styledComponents["default"].button(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n padding-left: ", ";\n padding-right: ", ";\n border-width: ", ";\n border-style: ", ";\n border-radius: ", ";\n background-color: ", ";\n color: ", ";\n cursor: pointer;\n\n &:hover {\n background-color: ", ";\n }\n &:active {\n background-color: ", ";\n color: #ffffff;\n }\n &:focus {\n outline: none;\n box-shadow: ", ";\n }\n &:disabled {\n background-color: ", ";\n color: ", ";\n cursor: not-allowed;\n }\n"])), function (props) {
168
- return props.optionLabel && props.hasIcon || props.optionLabel && !props.hasIcon ? props.theme.labelPaddingLeft : props.theme.iconPaddingLeft;
169
- }, function (props) {
170
- return props.optionLabel && props.hasIcon || props.optionLabel && !props.hasIcon ? props.theme.labelPaddingRight : props.theme.iconPaddingRight;
171
- }, function (props) {
172
- return props.theme.optionBorderThickness;
173
- }, function (props) {
174
- return props.theme.optionBorderStyle;
175
- }, function (props) {
176
- return props.theme.optionBorderRadius;
177
- }, function (props) {
178
- return props.selected ? props.theme.selectedBackgroundColor : props.theme.unselectedBackgroundColor;
179
- }, function (props) {
180
- return props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor;
181
- }, function (props) {
182
- return props.selected ? props.theme.selectedHoverBackgroundColor : props.theme.unselectedHoverBackgroundColor;
183
- }, function (props) {
184
- return props.selected ? props.theme.selectedActiveBackgroundColor : props.theme.unselectedActiveBackgroundColor;
185
- }, function (props) {
186
- return "0 0 0 ".concat(props.theme.optionFocusBorderThickness, " ").concat(props.backgroundType === "dark" ? props.theme.focusColorOnDark : props.theme.focusColor);
187
- }, function (props) {
188
- return props.selected ? props.theme.selectedDisabledBackgroundColor : props.theme.unselectedDisabledBackgroundColor;
189
- }, function (props) {
190
- return props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor;
191
- });
192
- var LabelContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"])), function (props) {
193
- return props.theme.optionLabelFontFamily;
194
- }, function (props) {
195
- return props.theme.optionLabelFontSize;
196
- }, function (props) {
197
- return props.theme.optionLabelFontStyle;
198
- }, function (props) {
199
- return props.theme.optionLabelFontWeight;
200
- });
201
- var IconContainer = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 24px;\n width: 24px;\n margin-right: ", ";\n overflow: hidden;\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
202
- return props.optionLabel && props.theme.iconMarginRight;
203
- });
204
- var _default = exports["default"] = DxcToggleGroup;
@@ -1,218 +0,0 @@
1
- import React from "react";
2
- import { userEvent, within } from "@storybook/testing-library";
3
- import DxcToggleGroup from "./ToggleGroup";
4
- import Title from "../../.storybook/components/Title";
5
- import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
- import { HalstackProvider } from "../HalstackContext";
7
-
8
- export default {
9
- title: "Toggle Group",
10
- component: DxcToggleGroup,
11
- };
12
-
13
- const ethernetSVG = (
14
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
15
- <path d="M0 0h24v24H0V0z" fill="none" />
16
- <path d="M7.77 6.76L6.23 5.48.82 12l5.41 6.52 1.54-1.28L3.42 12l4.35-5.24zM7 13h2v-2H7v2zm10-2h-2v2h2v-2zm-6 2h2v-2h-2v2zm6.77-7.52l-1.54 1.28L20.58 12l-4.35 5.24 1.54 1.28L23.18 12l-5.41-6.52z" />
17
- </svg>
18
- );
19
- const gMobileSVG = (
20
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
21
- <g>
22
- <path d="M0,0h24v24H0V0z" fill="none" />
23
- </g>
24
- <g>
25
- <g>
26
- <path d="M3,7v2h5v2H4v2h4v2H3v2h5c1.1,0,2-0.9,2-2v-1.5c0-0.83-0.67-1.5-1.5-1.5c0.83,0,1.5-0.67,1.5-1.5V9c0-1.1-0.9-2-2-2H3z M21,11v4c0,1.1-0.9,2-2,2h-5c-1.1,0-2-0.9-2-2V9c0-1.1,0.9-2,2-2h5c1.1,0,2,0.9,2,2h-7v6h5v-2h-2.5v-2H21z" />
27
- </g>
28
- </g>
29
- </svg>
30
- );
31
- const wifiSVG = (
32
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
33
- <path d="M0 0h24v24H0V0zm0 0h24v24H0V0z" fill="none" />
34
- <path d="M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z" />
35
- </svg>
36
- );
37
-
38
- const options = [
39
- {
40
- value: 1,
41
- label: "Facebook",
42
- },
43
- {
44
- value: 2,
45
- label: "X",
46
- },
47
- {
48
- value: 3,
49
- label: "Linkedin",
50
- },
51
- ];
52
- const optionsWithIcon = [
53
- {
54
- value: 1,
55
- icon: wifiSVG,
56
- title: "WiFi connection",
57
- },
58
- {
59
- value: 2,
60
- icon: ethernetSVG,
61
- title: "Ethernet connection",
62
- },
63
- {
64
- value: 3,
65
- icon: gMobileSVG,
66
- title: "3G Mobile data connection",
67
- },
68
- ];
69
- const optionsWithIconAndLabel = [
70
- {
71
- value: 1,
72
- label: "Wi-fi",
73
- icon: wifiSVG,
74
- },
75
- {
76
- value: 2,
77
- label: "Ethernet",
78
- icon: ethernetSVG,
79
- },
80
- {
81
- value: 3,
82
- label: "3G Mobile",
83
- icon: gMobileSVG,
84
- },
85
- ];
86
- const twoOptions = [
87
- {
88
- value: 1,
89
- label: "Facebook",
90
- },
91
- {
92
- value: 2,
93
- label: "X",
94
- },
95
- ];
96
-
97
- const opinionatedTheme = {
98
- toggleGroup: {
99
- selectedBaseColor: "#5f249f",
100
- selectedFontColor: "#ffffff",
101
- unselectedBaseColor: "#e6e6e6",
102
- unselectedFontColor: "#000000",
103
- },
104
- };
105
-
106
- export const Chromatic = () => (
107
- <>
108
- <ExampleContainer>
109
- <Title title="Basic toggle group" theme="light" level={4} />
110
- <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />
111
- </ExampleContainer>
112
- <ExampleContainer>
113
- <Title title="Selected" theme="light" level={4} />
114
- <DxcToggleGroup label="Selected" helperText="HelperText" defaultValue={2} options={options} />
115
- </ExampleContainer>
116
- <ExampleContainer>
117
- <Title title="Icons toggle group" theme="light" level={4} />
118
- <DxcToggleGroup label="Icons group" options={optionsWithIcon} />
119
- </ExampleContainer>
120
- <ExampleContainer>
121
- <Title title="Icons & label toggle group" theme="light" level={4} />
122
- <DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
123
- </ExampleContainer>
124
- <ExampleContainer>
125
- <Title title="Disabled" theme="light" level={4} />
126
- <DxcToggleGroup label="Disabled" defaultValue={2} options={options} disabled />
127
- </ExampleContainer>
128
- <ExampleContainer pseudoState="pseudo-hover">
129
- <Title title="Hovered" theme="light" level={4} />
130
- <DxcToggleGroup label="Hovered" options={twoOptions} defaultValue={2} />
131
- </ExampleContainer>
132
- <ExampleContainer>
133
- <Title title="Multiple toggleGroup" theme="light" level={4} />
134
- <DxcToggleGroup
135
- label="Toggle group"
136
- helperText="Please select one or more"
137
- options={options}
138
- defaultValue={[1, 3]}
139
- multiple
140
- ></DxcToggleGroup>
141
- </ExampleContainer>
142
- <Title title="Margins" theme="light" level={2} />
143
- <ExampleContainer>
144
- <Title title="xxSmall" theme="light" level={4} />
145
- <DxcToggleGroup label="xxSmall margin" options={options} margin="xxsmall" />
146
- </ExampleContainer>
147
- <ExampleContainer>
148
- <Title title="xSmall" theme="light" level={4} />
149
- <DxcToggleGroup label="xSmall margin" options={options} margin="xsmall" />
150
- </ExampleContainer>
151
- <ExampleContainer>
152
- <Title title="Small" theme="light" level={4} />
153
- <DxcToggleGroup label="Small margin" options={options} margin="small" />
154
- </ExampleContainer>
155
- <ExampleContainer>
156
- <Title title="Medium" theme="light" level={4} />
157
- <DxcToggleGroup label="Medium margin" options={options} margin="medium" />
158
- </ExampleContainer>
159
- <ExampleContainer>
160
- <Title title="Large" theme="light" level={4} />
161
- <DxcToggleGroup label="Large margin" options={options} margin="large" />
162
- </ExampleContainer>
163
- <ExampleContainer>
164
- <Title title="xLarge" theme="light" level={4} />
165
- <DxcToggleGroup label="xLarge margin" options={options} margin="xlarge" />
166
- </ExampleContainer>
167
- <ExampleContainer>
168
- <Title title="xxLarge" theme="light" level={4} />
169
- <DxcToggleGroup label="xxLarge margin" options={options} margin="xxlarge" />
170
- </ExampleContainer>
171
- <Title title="Opinionated theme" theme="light" level={2} />
172
- <ExampleContainer>
173
- <HalstackProvider theme={opinionatedTheme}>
174
- <Title title="Selected" theme="light" level={4} />
175
- <DxcToggleGroup label="Selected" helperText="HelperText" defaultValue={2} options={options} />
176
- </HalstackProvider>
177
- </ExampleContainer>
178
- <ExampleContainer>
179
- <HalstackProvider theme={opinionatedTheme}>
180
- <Title title="Icons & label toggle group" theme="light" level={4} />
181
- <DxcToggleGroup label="Icons & label" options={optionsWithIconAndLabel} />
182
- </HalstackProvider>
183
- </ExampleContainer>
184
- <ExampleContainer>
185
- <HalstackProvider theme={opinionatedTheme}>
186
- <Title title="Disabled" theme="light" level={4} />
187
- <DxcToggleGroup label="Disabled" defaultValue={2} options={options} disabled />
188
- </HalstackProvider>
189
- </ExampleContainer>
190
- <ExampleContainer pseudoState="pseudo-hover">
191
- <Title title="Hovered" theme="light" level={4} />
192
- <HalstackProvider theme={opinionatedTheme}>
193
- <DxcToggleGroup label="Hovered" options={twoOptions} defaultValue={2} />
194
- </HalstackProvider>
195
- </ExampleContainer>
196
- <ExampleContainer pseudoState="pseudo-active">
197
- <Title title="Actived" theme="light" level={4} />
198
- <HalstackProvider theme={opinionatedTheme}>
199
- <DxcToggleGroup label="Actived" options={twoOptions} defaultValue={2} />
200
- </HalstackProvider>
201
- </ExampleContainer>
202
- </>
203
- );
204
- const OptionSelected = () => <DxcToggleGroup label="Toggle group" helperText="HelperText" options={options} />;
205
-
206
- export const ToggleGroupSelectedActived = OptionSelected.bind({});
207
- ToggleGroupSelectedActived.play = async ({ canvasElement }) => {
208
- const canvas = within(canvasElement);
209
- const option = canvas.getByText("Linkedin");
210
- await userEvent.click(option);
211
- };
212
- export const ToggleGroupUnselectedActived = OptionSelected.bind({});
213
- ToggleGroupUnselectedActived.play = async ({ canvasElement }) => {
214
- const canvas = within(canvasElement);
215
- const option = canvas.getByText("X");
216
- await userEvent.click(option);
217
- userEvent.tab();
218
- };
@@ -1,137 +0,0 @@
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.tsx"));
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("Toggle group renders with correct aria-label in only-icon scenario", function () {
36
- var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
37
- label: "Toggle group label",
38
- helperText: "Toggle group helper text",
39
- options: [{
40
- value: 1,
41
- icon: "https://cdn.icon-icons.com/icons2/2645/PNG/512/mic_mute_icon_159965.png",
42
- title: "Mute"
43
- }]
44
- })),
45
- getByRole = _render2.getByRole;
46
- expect(getByRole("button").getAttribute("aria-label")).toBe("Mute");
47
- });
48
- test("Uncontrolled toggle group calls correct function on change with value", function () {
49
- var onChange = jest.fn();
50
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
51
- options: options,
52
- onChange: onChange
53
- })),
54
- getByText = _render3.getByText;
55
- var option = getByText("Ebay");
56
- _react2.fireEvent.click(option);
57
- expect(onChange).toHaveBeenCalledWith(2);
58
- });
59
- test("Controlled toggle group calls correct function on change with value", function () {
60
- var onChange = jest.fn();
61
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
62
- options: options,
63
- onChange: onChange,
64
- value: 1
65
- })),
66
- getByText = _render4.getByText;
67
- var option = getByText("Ebay");
68
- _react2.fireEvent.click(option);
69
- expect(onChange).toHaveBeenCalledWith(2);
70
- });
71
- test("Function on change is not called when disable", function () {
72
- var onChange = jest.fn();
73
- var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
74
- options: options,
75
- onChange: onChange,
76
- disabled: true
77
- })),
78
- getByText = _render5.getByText;
79
- var option = getByText("Ebay");
80
- _react2.fireEvent.click(option);
81
- expect(onChange).toHaveBeenCalledTimes(0);
82
- });
83
- test("Uncontrolled multiple toggle group calls correct function on change with value when is multiple", function () {
84
- var onChange = jest.fn();
85
- var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
86
- options: options,
87
- onChange: onChange,
88
- multiple: true
89
- })),
90
- getAllByRole = _render6.getAllByRole;
91
- var toggleOptions = getAllByRole("button");
92
- _react2.fireEvent.click(toggleOptions[0]);
93
- expect(onChange).toHaveBeenCalledWith([1]);
94
- _react2.fireEvent.click(toggleOptions[1]);
95
- _react2.fireEvent.click(toggleOptions[3]);
96
- expect(onChange).toHaveBeenCalledWith([1, 2, 4]);
97
- expect(toggleOptions[0].getAttribute("aria-pressed")).toBe("true");
98
- expect(toggleOptions[1].getAttribute("aria-pressed")).toBe("true");
99
- expect(toggleOptions[3].getAttribute("aria-pressed")).toBe("true");
100
- });
101
- test("Controlled multiple toggle returns always same values", function () {
102
- var onChange = jest.fn();
103
- var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
104
- options: options,
105
- onChange: onChange,
106
- value: [1],
107
- multiple: true
108
- })),
109
- getByText = _render7.getByText;
110
- var option = getByText("Ebay");
111
- _react2.fireEvent.click(option);
112
- expect(onChange).toHaveBeenCalledWith([1, 2]);
113
- var option2 = getByText("Google");
114
- _react2.fireEvent.click(option2);
115
- expect(onChange).toHaveBeenNthCalledWith(2, [1, 4]);
116
- });
117
- test("Single selection: Renders with correct default value", function () {
118
- var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
119
- options: options,
120
- defaultValue: 2
121
- })),
122
- getAllByRole = _render8.getAllByRole;
123
- var toggleOptions = getAllByRole("button");
124
- expect(toggleOptions[1].getAttribute("aria-pressed")).toBe("true");
125
- });
126
- test("Multiple selection: Renders with correct default value", function () {
127
- var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ToggleGroup["default"], {
128
- options: options,
129
- defaultValue: [2, 4],
130
- multiple: true
131
- })),
132
- getAllByRole = _render9.getAllByRole;
133
- var toggleOptions = getAllByRole("button");
134
- expect(toggleOptions[1].getAttribute("aria-pressed")).toBe("true");
135
- expect(toggleOptions[3].getAttribute("aria-pressed")).toBe("true");
136
- });
137
- });
@@ -1,114 +0,0 @@
1
- /// <reference types="react" />
2
- type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- type Margin = {
4
- top?: Space;
5
- bottom?: Space;
6
- left?: Space;
7
- right?: Space;
8
- };
9
- type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
10
- type OptionIcon = {
11
- /**
12
- * String with the option display value.
13
- */
14
- label?: never;
15
- /**
16
- * Element used as the icon. Icon and label can't be used at same time.
17
- */
18
- icon: string | SVG;
19
- /**
20
- * Value for the HTML properties title and aria-label.
21
- * When a label is defined, this prop can not be use.
22
- */
23
- title: string;
24
- };
25
- export type OptionLabel = {
26
- /**
27
- * String with the option display value.
28
- */
29
- label: string;
30
- /**
31
- * Element used as the icon. Icon and label can't be used at same time.
32
- */
33
- icon?: string | SVG;
34
- /**
35
- * Value for the HTML properties title and aria-label.
36
- * When a label is defined, this prop can not be use.
37
- */
38
- title?: never;
39
- };
40
- type Option = {
41
- /**
42
- * Number with the option inner value.
43
- */
44
- value: number;
45
- } & (OptionIcon | OptionLabel);
46
- type CommonProps = {
47
- /**
48
- * Text to be placed above the component.
49
- */
50
- label?: string;
51
- /**
52
- * Helper text to be placed above the component.
53
- */
54
- helperText?: string;
55
- /**
56
- * If true, the component will be disabled.
57
- */
58
- disabled?: boolean;
59
- /**
60
- * An array of objects representing the selectable options.
61
- */
62
- options: Option[];
63
- /**
64
- * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
65
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
66
- */
67
- margin?: Space | Margin;
68
- /**
69
- * Value of the tabindex.
70
- */
71
- tabIndex?: number;
72
- };
73
- type SingleSelectionToggleGroup = CommonProps & {
74
- /**
75
- * 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.
76
- */
77
- multiple?: false;
78
- /**
79
- * The key of the initially selected value.
80
- */
81
- defaultValue?: number;
82
- /**
83
- * The key of the selected value. If the component allows multiple selection, value must be an array.
84
- * If undefined, the component will be uncontrolled and the value will be managed internally by the component.
85
- */
86
- value?: number;
87
- /**
88
- * This function will be called every time the selection changes. The number with the key of the selected
89
- * value will be passed as a parameter to this function.
90
- */
91
- onChange?: (optionIndex: number) => void;
92
- };
93
- type MultipleSelectionToggleGroup = CommonProps & {
94
- /**
95
- * 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.
96
- */
97
- multiple: true;
98
- /**
99
- * The array of keys with the initially selected values.
100
- */
101
- defaultValue?: number[];
102
- /**
103
- * An array with the keys of the selected values.
104
- * If undefined, the component will be uncontrolled and the value will be managed internally by the component.
105
- */
106
- value?: number[];
107
- /**
108
- * This function will be called every time the selection changes. An array with the key of
109
- * the selected values will be passed as a parameter to this function.
110
- */
111
- onChange?: (optionIndex: number[]) => void;
112
- };
113
- type Props = SingleSelectionToggleGroup | MultipleSelectionToggleGroup;
114
- export default Props;