@dxc-technology/halstack-react 0.0.0-9bd9511 → 0.0.0-9c04360

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 (333) hide show
  1. package/README.md +46 -0
  2. package/dist/index.d.mts +4032 -0
  3. package/dist/index.d.ts +4032 -0
  4. package/dist/index.js +15089 -0
  5. package/dist/index.mjs +15000 -0
  6. package/package.json +85 -67
  7. package/BackgroundColorContext.d.ts +0 -10
  8. package/BackgroundColorContext.js +0 -37
  9. package/HalstackContext.d.ts +0 -13
  10. package/HalstackContext.js +0 -318
  11. package/accordion/Accordion.d.ts +0 -4
  12. package/accordion/Accordion.js +0 -203
  13. package/accordion/Accordion.stories.tsx +0 -395
  14. package/accordion/Accordion.test.js +0 -56
  15. package/accordion/types.d.ts +0 -69
  16. package/accordion/types.js +0 -5
  17. package/accordion-group/AccordionGroup.d.ts +0 -7
  18. package/accordion-group/AccordionGroup.js +0 -121
  19. package/accordion-group/AccordionGroup.stories.tsx +0 -251
  20. package/accordion-group/AccordionGroup.test.js +0 -108
  21. package/accordion-group/types.d.ts +0 -79
  22. package/accordion-group/types.js +0 -5
  23. package/alert/Alert.d.ts +0 -4
  24. package/alert/Alert.js +0 -262
  25. package/alert/Alert.stories.tsx +0 -198
  26. package/alert/Alert.test.js +0 -75
  27. package/alert/types.d.ts +0 -49
  28. package/alert/types.js +0 -5
  29. package/badge/Badge.d.ts +0 -4
  30. package/badge/Badge.js +0 -49
  31. package/badge/types.d.ts +0 -5
  32. package/badge/types.js +0 -5
  33. package/bleed/Bleed.d.ts +0 -3
  34. package/bleed/Bleed.js +0 -43
  35. package/bleed/Bleed.stories.tsx +0 -341
  36. package/bleed/types.d.ts +0 -37
  37. package/bleed/types.js +0 -5
  38. package/box/Box.d.ts +0 -4
  39. package/box/Box.js +0 -97
  40. package/box/Box.stories.tsx +0 -147
  41. package/box/Box.test.js +0 -13
  42. package/box/types.d.ts +0 -44
  43. package/box/types.js +0 -5
  44. package/bulleted-list/BulletedList.d.ts +0 -7
  45. package/bulleted-list/BulletedList.js +0 -98
  46. package/bulleted-list/BulletedList.stories.tsx +0 -200
  47. package/bulleted-list/types.d.ts +0 -11
  48. package/bulleted-list/types.js +0 -5
  49. package/button/Button.d.ts +0 -4
  50. package/button/Button.js +0 -132
  51. package/button/Button.stories.tsx +0 -425
  52. package/button/Button.test.js +0 -26
  53. package/button/types.d.ts +0 -53
  54. package/button/types.js +0 -5
  55. package/card/Card.d.ts +0 -4
  56. package/card/Card.js +0 -138
  57. package/card/Card.stories.tsx +0 -201
  58. package/card/Card.test.js +0 -39
  59. package/card/ice-cream.jpg +0 -0
  60. package/card/types.d.ts +0 -68
  61. package/card/types.js +0 -5
  62. package/checkbox/Checkbox.d.ts +0 -4
  63. package/checkbox/Checkbox.js +0 -206
  64. package/checkbox/Checkbox.stories.tsx +0 -260
  65. package/checkbox/Checkbox.test.js +0 -128
  66. package/checkbox/types.d.ts +0 -68
  67. package/checkbox/types.js +0 -5
  68. package/chip/Chip.d.ts +0 -4
  69. package/chip/Chip.js +0 -137
  70. package/chip/Chip.stories.tsx +0 -206
  71. package/chip/Chip.test.js +0 -42
  72. package/chip/types.d.ts +0 -45
  73. package/chip/types.js +0 -5
  74. package/common/OpenSans.css +0 -81
  75. package/common/fonts/OpenSans-Bold.ttf +0 -0
  76. package/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  77. package/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  78. package/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  79. package/common/fonts/OpenSans-Italic.ttf +0 -0
  80. package/common/fonts/OpenSans-Light.ttf +0 -0
  81. package/common/fonts/OpenSans-LightItalic.ttf +0 -0
  82. package/common/fonts/OpenSans-Regular.ttf +0 -0
  83. package/common/fonts/OpenSans-SemiBold.ttf +0 -0
  84. package/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  85. package/common/utils.js +0 -17
  86. package/common/variables.d.ts +0 -1431
  87. package/common/variables.js +0 -1538
  88. package/date-input/Calendar.d.ts +0 -4
  89. package/date-input/Calendar.js +0 -215
  90. package/date-input/DateInput.d.ts +0 -4
  91. package/date-input/DateInput.js +0 -222
  92. package/date-input/DateInput.stories.tsx +0 -304
  93. package/date-input/DateInput.test.js +0 -648
  94. package/date-input/DatePicker.d.ts +0 -4
  95. package/date-input/DatePicker.js +0 -116
  96. package/date-input/Icons.d.ts +0 -6
  97. package/date-input/Icons.js +0 -63
  98. package/date-input/YearPicker.d.ts +0 -4
  99. package/date-input/YearPicker.js +0 -101
  100. package/date-input/types.d.ts +0 -158
  101. package/date-input/types.js +0 -5
  102. package/dialog/Dialog.d.ts +0 -4
  103. package/dialog/Dialog.js +0 -134
  104. package/dialog/Dialog.stories.tsx +0 -289
  105. package/dialog/Dialog.test.js +0 -56
  106. package/dialog/types.d.ts +0 -44
  107. package/dialog/types.js +0 -5
  108. package/dropdown/Dropdown.d.ts +0 -4
  109. package/dropdown/Dropdown.js +0 -334
  110. package/dropdown/Dropdown.stories.tsx +0 -438
  111. package/dropdown/Dropdown.test.js +0 -479
  112. package/dropdown/DropdownMenu.d.ts +0 -4
  113. package/dropdown/DropdownMenu.js +0 -60
  114. package/dropdown/DropdownMenuItem.d.ts +0 -4
  115. package/dropdown/DropdownMenuItem.js +0 -70
  116. package/dropdown/types.d.ts +0 -100
  117. package/dropdown/types.js +0 -5
  118. package/file-input/FileInput.d.ts +0 -4
  119. package/file-input/FileInput.js +0 -463
  120. package/file-input/FileInput.stories.tsx +0 -618
  121. package/file-input/FileInput.test.js +0 -445
  122. package/file-input/FileItem.d.ts +0 -4
  123. package/file-input/FileItem.js +0 -135
  124. package/file-input/types.d.ts +0 -129
  125. package/file-input/types.js +0 -5
  126. package/flex/Flex.d.ts +0 -4
  127. package/flex/Flex.js +0 -57
  128. package/flex/Flex.stories.tsx +0 -103
  129. package/flex/types.d.ts +0 -32
  130. package/flex/types.js +0 -5
  131. package/footer/Footer.d.ts +0 -4
  132. package/footer/Footer.js +0 -153
  133. package/footer/Footer.stories.tsx +0 -228
  134. package/footer/Footer.test.js +0 -92
  135. package/footer/Icons.d.ts +0 -2
  136. package/footer/Icons.js +0 -73
  137. package/footer/types.d.ts +0 -66
  138. package/footer/types.js +0 -5
  139. package/header/Header.d.ts +0 -7
  140. package/header/Header.js +0 -259
  141. package/header/Header.stories.tsx +0 -315
  142. package/header/Header.test.js +0 -66
  143. package/header/Icons.d.ts +0 -2
  144. package/header/Icons.js +0 -30
  145. package/header/types.d.ts +0 -48
  146. package/header/types.js +0 -5
  147. package/heading/Heading.d.ts +0 -4
  148. package/heading/Heading.js +0 -138
  149. package/heading/Heading.stories.tsx +0 -54
  150. package/heading/Heading.test.js +0 -169
  151. package/heading/types.d.ts +0 -33
  152. package/heading/types.js +0 -5
  153. package/inset/Inset.d.ts +0 -3
  154. package/inset/Inset.js +0 -43
  155. package/inset/Inset.stories.tsx +0 -229
  156. package/inset/types.d.ts +0 -37
  157. package/inset/types.js +0 -5
  158. package/layout/ApplicationLayout.d.ts +0 -20
  159. package/layout/ApplicationLayout.js +0 -132
  160. package/layout/ApplicationLayout.stories.tsx +0 -162
  161. package/layout/Icons.d.ts +0 -5
  162. package/layout/Icons.js +0 -56
  163. package/layout/SidenavContext.d.ts +0 -5
  164. package/layout/SidenavContext.js +0 -15
  165. package/layout/types.d.ts +0 -42
  166. package/layout/types.js +0 -5
  167. package/link/Link.d.ts +0 -4
  168. package/link/Link.js +0 -116
  169. package/link/Link.stories.tsx +0 -253
  170. package/link/Link.test.js +0 -65
  171. package/link/types.d.ts +0 -54
  172. package/link/types.js +0 -5
  173. package/main.d.ts +0 -44
  174. package/main.js +0 -322
  175. package/nav-tabs/NavTabs.d.ts +0 -8
  176. package/nav-tabs/NavTabs.js +0 -95
  177. package/nav-tabs/NavTabs.stories.tsx +0 -260
  178. package/nav-tabs/NavTabs.test.js +0 -75
  179. package/nav-tabs/Tab.d.ts +0 -4
  180. package/nav-tabs/Tab.js +0 -120
  181. package/nav-tabs/types.d.ts +0 -53
  182. package/nav-tabs/types.js +0 -5
  183. package/number-input/NumberInput.d.ts +0 -4
  184. package/number-input/NumberInput.js +0 -66
  185. package/number-input/NumberInput.stories.tsx +0 -115
  186. package/number-input/NumberInput.test.js +0 -406
  187. package/number-input/NumberInputContext.d.ts +0 -4
  188. package/number-input/NumberInputContext.js +0 -14
  189. package/number-input/numberInputContextTypes.d.ts +0 -19
  190. package/number-input/numberInputContextTypes.js +0 -5
  191. package/number-input/types.d.ts +0 -124
  192. package/number-input/types.js +0 -5
  193. package/paginator/Icons.d.ts +0 -5
  194. package/paginator/Icons.js +0 -44
  195. package/paginator/Paginator.d.ts +0 -4
  196. package/paginator/Paginator.js +0 -141
  197. package/paginator/Paginator.stories.tsx +0 -87
  198. package/paginator/Paginator.test.js +0 -266
  199. package/paginator/types.d.ts +0 -38
  200. package/paginator/types.js +0 -5
  201. package/paragraph/Paragraph.d.ts +0 -6
  202. package/paragraph/Paragraph.js +0 -28
  203. package/paragraph/Paragraph.stories.tsx +0 -44
  204. package/password-input/PasswordInput.d.ts +0 -4
  205. package/password-input/PasswordInput.js +0 -137
  206. package/password-input/PasswordInput.stories.tsx +0 -131
  207. package/password-input/PasswordInput.test.js +0 -138
  208. package/password-input/types.d.ts +0 -110
  209. package/password-input/types.js +0 -5
  210. package/progress-bar/ProgressBar.d.ts +0 -4
  211. package/progress-bar/ProgressBar.js +0 -151
  212. package/progress-bar/ProgressBar.stories.jsx +0 -93
  213. package/progress-bar/ProgressBar.test.js +0 -93
  214. package/progress-bar/types.d.ts +0 -36
  215. package/progress-bar/types.js +0 -5
  216. package/quick-nav/QuickNav.d.ts +0 -4
  217. package/quick-nav/QuickNav.js +0 -95
  218. package/quick-nav/QuickNav.stories.tsx +0 -356
  219. package/quick-nav/types.d.ts +0 -21
  220. package/quick-nav/types.js +0 -5
  221. package/radio-group/Radio.d.ts +0 -4
  222. package/radio-group/Radio.js +0 -125
  223. package/radio-group/RadioGroup.d.ts +0 -4
  224. package/radio-group/RadioGroup.js +0 -238
  225. package/radio-group/RadioGroup.stories.tsx +0 -214
  226. package/radio-group/RadioGroup.test.js +0 -620
  227. package/radio-group/types.d.ts +0 -114
  228. package/radio-group/types.js +0 -5
  229. package/resultsetTable/Icons.d.ts +0 -7
  230. package/resultsetTable/Icons.js +0 -48
  231. package/resultsetTable/ResultsetTable.d.ts +0 -4
  232. package/resultsetTable/ResultsetTable.js +0 -160
  233. package/resultsetTable/ResultsetTable.stories.tsx +0 -300
  234. package/resultsetTable/ResultsetTable.test.js +0 -292
  235. package/resultsetTable/types.d.ts +0 -67
  236. package/resultsetTable/types.js +0 -5
  237. package/select/Icons.d.ts +0 -10
  238. package/select/Icons.js +0 -90
  239. package/select/Listbox.d.ts +0 -4
  240. package/select/Listbox.js +0 -144
  241. package/select/Option.d.ts +0 -4
  242. package/select/Option.js +0 -81
  243. package/select/Select.d.ts +0 -4
  244. package/select/Select.js +0 -579
  245. package/select/Select.stories.tsx +0 -971
  246. package/select/Select.test.js +0 -1845
  247. package/select/types.d.ts +0 -210
  248. package/select/types.js +0 -5
  249. package/sidenav/Sidenav.d.ts +0 -10
  250. package/sidenav/Sidenav.js +0 -226
  251. package/sidenav/Sidenav.stories.tsx +0 -282
  252. package/sidenav/Sidenav.test.js +0 -37
  253. package/sidenav/types.d.ts +0 -73
  254. package/sidenav/types.js +0 -5
  255. package/slider/Slider.d.ts +0 -4
  256. package/slider/Slider.js +0 -296
  257. package/slider/Slider.stories.tsx +0 -240
  258. package/slider/Slider.test.js +0 -222
  259. package/slider/types.d.ts +0 -86
  260. package/slider/types.js +0 -5
  261. package/spinner/Spinner.d.ts +0 -4
  262. package/spinner/Spinner.js +0 -221
  263. package/spinner/Spinner.stories.jsx +0 -129
  264. package/spinner/Spinner.test.js +0 -55
  265. package/spinner/types.d.ts +0 -32
  266. package/spinner/types.js +0 -5
  267. package/switch/Switch.d.ts +0 -4
  268. package/switch/Switch.js +0 -220
  269. package/switch/Switch.stories.tsx +0 -171
  270. package/switch/Switch.test.js +0 -180
  271. package/switch/types.d.ts +0 -66
  272. package/switch/types.js +0 -5
  273. package/table/Table.d.ts +0 -4
  274. package/table/Table.js +0 -100
  275. package/table/Table.stories.jsx +0 -356
  276. package/table/Table.test.js +0 -21
  277. package/table/types.d.ts +0 -21
  278. package/table/types.js +0 -5
  279. package/tabs/Tab.d.ts +0 -4
  280. package/tabs/Tab.js +0 -115
  281. package/tabs/Tabs.d.ts +0 -4
  282. package/tabs/Tabs.js +0 -392
  283. package/tabs/Tabs.stories.tsx +0 -226
  284. package/tabs/Tabs.test.js +0 -295
  285. package/tabs/types.d.ts +0 -92
  286. package/tabs/types.js +0 -5
  287. package/tag/Tag.d.ts +0 -4
  288. package/tag/Tag.js +0 -154
  289. package/tag/Tag.stories.tsx +0 -155
  290. package/tag/Tag.test.js +0 -49
  291. package/tag/types.d.ts +0 -69
  292. package/tag/types.js +0 -5
  293. package/text-input/Icons.d.ts +0 -8
  294. package/text-input/Icons.js +0 -57
  295. package/text-input/Suggestion.d.ts +0 -4
  296. package/text-input/Suggestion.js +0 -68
  297. package/text-input/Suggestions.d.ts +0 -4
  298. package/text-input/Suggestions.js +0 -109
  299. package/text-input/TextInput.d.ts +0 -4
  300. package/text-input/TextInput.js +0 -588
  301. package/text-input/TextInput.stories.tsx +0 -569
  302. package/text-input/TextInput.test.js +0 -1404
  303. package/text-input/types.d.ts +0 -197
  304. package/text-input/types.js +0 -5
  305. package/textarea/Textarea.d.ts +0 -4
  306. package/textarea/Textarea.js +0 -241
  307. package/textarea/Textarea.stories.jsx +0 -216
  308. package/textarea/Textarea.test.js +0 -360
  309. package/textarea/types.d.ts +0 -137
  310. package/textarea/types.js +0 -5
  311. package/toggle-group/ToggleGroup.d.ts +0 -4
  312. package/toggle-group/ToggleGroup.js +0 -180
  313. package/toggle-group/ToggleGroup.stories.tsx +0 -215
  314. package/toggle-group/ToggleGroup.test.js +0 -124
  315. package/toggle-group/types.d.ts +0 -105
  316. package/toggle-group/types.js +0 -5
  317. package/translatedLabelsType.d.ts +0 -82
  318. package/translatedLabelsType.js +0 -5
  319. package/typography/Typography.d.ts +0 -4
  320. package/typography/Typography.js +0 -119
  321. package/typography/Typography.stories.tsx +0 -198
  322. package/typography/types.d.ts +0 -18
  323. package/typography/types.js +0 -5
  324. package/useTheme.d.ts +0 -2
  325. package/useTheme.js +0 -16
  326. package/useTranslatedLabels.d.ts +0 -3
  327. package/useTranslatedLabels.js +0 -15
  328. package/wizard/Wizard.d.ts +0 -4
  329. package/wizard/Wizard.js +0 -251
  330. package/wizard/Wizard.stories.tsx +0 -253
  331. package/wizard/Wizard.test.js +0 -114
  332. package/wizard/types.d.ts +0 -65
  333. package/wizard/types.js +0 -5
@@ -1,69 +0,0 @@
1
- /// <reference types="react" />
2
- export type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- export type Margin = {
4
- top?: Space;
5
- bottom?: Space;
6
- left?: Space;
7
- right?: Space;
8
- };
9
- export type Padding = {
10
- top?: Space;
11
- bottom?: Space;
12
- left?: Space;
13
- right?: Space;
14
- };
15
- type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
16
- type Props = {
17
- /**
18
- * The panel label.
19
- */
20
- label: string;
21
- /**
22
- * Initial state of the panel, only when it is uncontrolled.
23
- */
24
- defaultIsExpanded?: boolean;
25
- /**
26
- * Represents the state of the panel. When true, the component will be
27
- * expanded. If undefined, the component will be uncontrolled and its
28
- * value will be managed internally by the component.
29
- */
30
- isExpanded?: boolean;
31
- /**
32
- * Element or path used as the icon that will be placed next to panel label.
33
- */
34
- icon?: string | SVG;
35
- /**
36
- * Assistive text to be placed on the right side of the panel.
37
- */
38
- assistiveText?: string;
39
- /**
40
- * If true, the component will be disabled.
41
- */
42
- disabled?: boolean;
43
- /**
44
- * This function will be called when the user clicks the accordion to expand or collapse
45
- * the panel. The new state of the panel will be passed as a parameter.
46
- */
47
- onChange?: (isExpanded: boolean) => void;
48
- /**
49
- * The expanded panel of the accordion. This area can be used to render
50
- * custom content.
51
- */
52
- children: React.ReactNode;
53
- /**
54
- * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
55
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
56
- */
57
- margin?: Space | Margin;
58
- /**
59
- * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
60
- * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
61
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
62
- */
63
- padding?: Space | Padding;
64
- /**
65
- * Value of the tabindex.
66
- */
67
- tabIndex?: number;
68
- };
69
- export default Props;
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1,7 +0,0 @@
1
- /// <reference types="react" />
2
- import AccordionGroupPropsType, { AccordionPropsType } from "./types";
3
- declare const DxcAccordionGroup: {
4
- ({ defaultIndexActive, indexActive, disabled, onActiveChange, margin, children, }: AccordionGroupPropsType): JSX.Element;
5
- Accordion: ({ ...childProps }: AccordionPropsType) => JSX.Element;
6
- };
7
- export default DxcAccordionGroup;
@@ -1,121 +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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
- var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
14
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
15
- var _react = _interopRequireWildcard(require("react"));
16
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
- var _Accordion = _interopRequireDefault(require("../accordion/Accordion"));
18
- var _utils = require("../common/utils.js");
19
- var _variables = require("../common/variables");
20
- var _useTheme = _interopRequireDefault(require("../useTheme"));
21
- var _templateObject;
22
- 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); }
23
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
26
- var AccordionGroupAccordionContext = /*#__PURE__*/(0, _react.createContext)(null);
27
- var AccordionGroupAccordion = function AccordionGroupAccordion(_ref) {
28
- var childProps = (0, _extends2["default"])({}, ((0, _objectDestructuringEmpty2["default"])(_ref), _ref));
29
- var _useContext = (0, _react.useContext)(AccordionGroupAccordionContext),
30
- activeIndex = _useContext.activeIndex,
31
- handlerActiveChange = _useContext.handlerActiveChange,
32
- disabled = _useContext.disabled,
33
- index = _useContext.index;
34
- return /*#__PURE__*/_react["default"].createElement(_Accordion["default"], (0, _extends2["default"])({
35
- isExpanded: activeIndex === index,
36
- onChange: function onChange() {
37
- handlerActiveChange(index);
38
- },
39
- disabled: disabled
40
- }, childProps), childProps.children);
41
- };
42
- var DxcAccordionGroup = function DxcAccordionGroup(_ref2) {
43
- var defaultIndexActive = _ref2.defaultIndexActive,
44
- indexActive = _ref2.indexActive,
45
- _ref2$disabled = _ref2.disabled,
46
- disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
47
- onActiveChange = _ref2.onActiveChange,
48
- margin = _ref2.margin,
49
- children = _ref2.children;
50
- var colorsTheme = (0, _useTheme["default"])();
51
- var _useState = (0, _react.useState)(defaultIndexActive !== null && defaultIndexActive !== void 0 ? defaultIndexActive : -1),
52
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
53
- innerIndexActive = _useState2[0],
54
- setInnerIndexActive = _useState2[1];
55
- var handlerActiveChange = (0, _react.useCallback)(function (index) {
56
- indexActive !== null && indexActive !== void 0 ? indexActive : setInnerIndexActive(function (prev) {
57
- return index === prev ? -1 : index;
58
- });
59
- !disabled && (onActiveChange === null || onActiveChange === void 0 ? void 0 : onActiveChange(index));
60
- }, [disabled, indexActive, onActiveChange]);
61
- var contextValue = (0, _react.useMemo)(function () {
62
- return {
63
- activeIndex: indexActive !== null && indexActive !== void 0 ? indexActive : innerIndexActive,
64
- handlerActiveChange: handlerActiveChange,
65
- disabled: disabled
66
- };
67
- }, [indexActive, innerIndexActive, handlerActiveChange, disabled]);
68
- return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
69
- theme: colorsTheme["accordion"]
70
- }, /*#__PURE__*/_react["default"].createElement(AccordionGroupContainer, {
71
- margin: margin,
72
- disabled: disabled
73
- }, (Array.isArray(children) ? children : [children]).filter(function (child) {
74
- return child.type === AccordionGroupAccordion;
75
- }).map(function (accordion, index) {
76
- return /*#__PURE__*/_react["default"].createElement(AccordionGroupAccordionContext.Provider, {
77
- key: "accordion-".concat(index),
78
- value: _objectSpread({
79
- index: index
80
- }, contextValue)
81
- }, accordion);
82
- })));
83
- };
84
- DxcAccordionGroup.Accordion = AccordionGroupAccordion;
85
- var calculateWidth = function calculateWidth(margin) {
86
- return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
87
- };
88
- var AccordionGroupContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n\n > div:not(:last-of-type):not(:only-of-type) {\n border-bottom: ", ";\n border-color: ", ";\n }\n > div:not(:first-of-type):not(:last-of-type):not(:only-of-type) {\n border-radius: 0;\n & > h3 > button {\n border-radius: 0;\n }\n }\n > div:first-of-type:not(:only-of-type) {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n\n & > h3 > button {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n > div:last-of-type:not(:only-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n\n & > h3 > button {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n"])), function (props) {
89
- return calculateWidth(props.margin);
90
- }, function (_ref3) {
91
- var margin = _ref3.margin;
92
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
93
- }, function (_ref4) {
94
- var margin = _ref4.margin;
95
- return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
96
- }, function (_ref5) {
97
- var margin = _ref5.margin;
98
- return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
99
- }, function (_ref6) {
100
- var margin = _ref6.margin;
101
- return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
102
- }, function (_ref7) {
103
- var margin = _ref7.margin;
104
- return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
105
- }, function (props) {
106
- return props.disabled ? "not-allowed" : "pointer";
107
- }, function (props) {
108
- return "".concat(props.theme.accordionGroupSeparatorBorderThickness, " ").concat(props.theme.accordionGroupSeparatorBorderStyle);
109
- }, function (props) {
110
- return props.theme.accordionGroupSeparatorBorderColor;
111
- }, function (props) {
112
- return props.theme.borderRadius;
113
- }, function (props) {
114
- return props.theme.borderRadius;
115
- }, function (props) {
116
- return props.theme.borderRadius;
117
- }, function (props) {
118
- return props.theme.borderRadius;
119
- });
120
- var _default = DxcAccordionGroup;
121
- exports["default"] = _default;
@@ -1,251 +0,0 @@
1
- import React from "react";
2
- import DxcAccordionGroup from "./AccordionGroup";
3
- import Title from "../../.storybook/components/Title";
4
- import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
-
6
- export default {
7
- title: "Accordion group",
8
- component: DxcAccordionGroup,
9
- };
10
-
11
- export const Chromatic = () => (
12
- <>
13
- <Title title="States" theme="light" level={2} />
14
- <ExampleContainer>
15
- <Title title="Default" theme="light" level={4} />
16
- <DxcAccordionGroup>
17
- <DxcAccordionGroup.Accordion label="Accordion1" assistiveText="Assistive text" padding="medium">
18
- <div>
19
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
20
- leo lobortis eget.
21
- </div>
22
- </DxcAccordionGroup.Accordion>
23
- <DxcAccordionGroup.Accordion label="Accordion2" assistiveText="Assistive text" padding="medium">
24
- <div>
25
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
26
- leo lobortis eget.
27
- </div>
28
- </DxcAccordionGroup.Accordion>
29
- <DxcAccordionGroup.Accordion label="Accordion2" assistiveText="Assistive text" padding="medium">
30
- <div>
31
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
32
- leo lobortis eget.
33
- </div>
34
- </DxcAccordionGroup.Accordion>
35
- </DxcAccordionGroup>
36
- </ExampleContainer>
37
- <ExampleContainer>
38
- <Title title="Expanded" theme="light" level={4} />
39
- <DxcAccordionGroup defaultIndexActive={1}>
40
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
41
- <div>
42
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
43
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
44
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
45
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
46
- anim id est laborum.
47
- </div>
48
- </DxcAccordionGroup.Accordion>
49
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
50
- <div>
51
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
52
- leo lobortis eget.
53
- </div>
54
- </DxcAccordionGroup.Accordion>
55
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
56
- <div>
57
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
58
- leo lobortis eget.
59
- </div>
60
- </DxcAccordionGroup.Accordion>
61
- </DxcAccordionGroup>
62
- </ExampleContainer>
63
- <ExampleContainer>
64
- <Title title="Disabled" theme="light" level={4} />
65
- <DxcAccordionGroup disabled>
66
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
67
- <div>
68
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
69
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
70
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
71
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
72
- anim id est laborum.
73
- </div>
74
- </DxcAccordionGroup.Accordion>
75
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
76
- <div>
77
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
78
- leo lobortis eget.
79
- </div>
80
- </DxcAccordionGroup.Accordion>
81
- </DxcAccordionGroup>
82
- </ExampleContainer>
83
- <ExampleContainer pseudoState="pseudo-focus">
84
- <Title title="Focused" theme="light" level={4} />
85
- <DxcAccordionGroup defaultIndexActive={2}>
86
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
87
- <div>
88
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
89
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
90
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
91
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
92
- anim id est laborum.
93
- </div>
94
- </DxcAccordionGroup.Accordion>
95
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
96
- <div>
97
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
98
- leo lobortis eget.
99
- </div>
100
- </DxcAccordionGroup.Accordion>
101
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
102
- <div>
103
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
104
- leo lobortis eget.
105
- </div>
106
- </DxcAccordionGroup.Accordion>
107
- </DxcAccordionGroup>
108
- </ExampleContainer>
109
- <Title title="Margins" theme="light" level={2} />
110
- <ExampleContainer>
111
- <Title title="Xxsmall" theme="light" level={4} />
112
- <DxcAccordionGroup margin="xxsmall">
113
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
114
- <div>
115
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
116
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
117
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
118
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
119
- anim id est laborum.
120
- </div>
121
- </DxcAccordionGroup.Accordion>
122
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
123
- <div>
124
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
125
- leo lobortis eget.
126
- </div>
127
- </DxcAccordionGroup.Accordion>
128
- </DxcAccordionGroup>
129
- </ExampleContainer>
130
- <ExampleContainer>
131
- <Title title="Xsmall" theme="light" level={4} />
132
- <DxcAccordionGroup margin="xsmall">
133
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
134
- <div>
135
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
136
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
137
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
138
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
139
- anim id est laborum.
140
- </div>
141
- </DxcAccordionGroup.Accordion>
142
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
143
- <div>
144
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
145
- leo lobortis eget.
146
- </div>
147
- </DxcAccordionGroup.Accordion>
148
- </DxcAccordionGroup>
149
- </ExampleContainer>
150
- <ExampleContainer>
151
- <Title title="Small" theme="light" level={4} />
152
- <DxcAccordionGroup margin="small">
153
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
154
- <div>
155
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
156
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
157
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
158
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
159
- anim id est laborum.
160
- </div>
161
- </DxcAccordionGroup.Accordion>
162
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
163
- <div>
164
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
165
- leo lobortis eget.
166
- </div>
167
- </DxcAccordionGroup.Accordion>
168
- </DxcAccordionGroup>
169
- </ExampleContainer>
170
- <ExampleContainer>
171
- <Title title="Medium" theme="light" level={4} />
172
- <DxcAccordionGroup margin="medium">
173
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
174
- <div>
175
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
176
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
177
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
178
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
179
- anim id est laborum.
180
- </div>
181
- </DxcAccordionGroup.Accordion>
182
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
183
- <div>
184
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
185
- leo lobortis eget.
186
- </div>
187
- </DxcAccordionGroup.Accordion>
188
- </DxcAccordionGroup>
189
- </ExampleContainer>
190
- <ExampleContainer>
191
- <Title title="Large" theme="light" level={4} />
192
- <DxcAccordionGroup margin="large">
193
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
194
- <div>
195
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
196
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
197
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
198
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
199
- anim id est laborum.
200
- </div>
201
- </DxcAccordionGroup.Accordion>
202
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
203
- <div>
204
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
205
- leo lobortis eget.
206
- </div>
207
- </DxcAccordionGroup.Accordion>
208
- </DxcAccordionGroup>
209
- </ExampleContainer>
210
- <ExampleContainer>
211
- <Title title="Xlarge" theme="light" level={4} />
212
- <DxcAccordionGroup margin="xlarge">
213
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
214
- <div>
215
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
216
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
217
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
218
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
219
- anim id est laborum.
220
- </div>
221
- </DxcAccordionGroup.Accordion>
222
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
223
- <div>
224
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
225
- leo lobortis eget.
226
- </div>
227
- </DxcAccordionGroup.Accordion>
228
- </DxcAccordionGroup>
229
- </ExampleContainer>
230
- <ExampleContainer>
231
- <Title title="Xxlarge" theme="light" level={4} />
232
- <DxcAccordionGroup margin="xxlarge">
233
- <DxcAccordionGroup.Accordion label="Accordion1" padding="medium">
234
- <div>
235
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
236
- dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex
237
- ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
238
- nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit
239
- anim id est laborum.
240
- </div>
241
- </DxcAccordionGroup.Accordion>
242
- <DxcAccordionGroup.Accordion label="Accordion2" padding="medium">
243
- <div>
244
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
245
- leo lobortis eget.
246
- </div>
247
- </DxcAccordionGroup.Accordion>
248
- </DxcAccordionGroup>
249
- </ExampleContainer>
250
- </>
251
- );
@@ -1,108 +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 _AccordionGroup = _interopRequireDefault(require("./AccordionGroup"));
7
- describe("Accordion component tests", function () {
8
- test("Uncontrolled accordion group calls correct function on click", function () {
9
- var onActiveChange = jest.fn();
10
- var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
11
- margin: "large",
12
- onActiveChange: onActiveChange
13
- }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
14
- label: "Accordion1",
15
- padding: "medium",
16
- margin: "large"
17
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
18
- label: "Accordion2",
19
- padding: "medium"
20
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo lobortis eget.")))),
21
- getByText = _render.getByText,
22
- getAllByRole = _render.getAllByRole;
23
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
24
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
25
- _react2.fireEvent.click(getByText("Accordion1"));
26
- expect(onActiveChange).toHaveBeenCalled();
27
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
28
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
29
- });
30
- test("Uncontrolled accordion group renders initially with an accordion expanded using defaultIndexActive", function () {
31
- var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
32
- defaultIndexActive: 1
33
- }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
34
- label: "Accordion1",
35
- padding: "medium"
36
- }, /*#__PURE__*/_react["default"].createElement("div", null, "First accordion")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
37
- label: "Accordion2",
38
- padding: "medium"
39
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Second accordion")))),
40
- queryByText = _render2.queryByText,
41
- getByText = _render2.getByText,
42
- getAllByRole = _render2.getAllByRole;
43
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
44
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("true");
45
- expect(getByText("Second accordion")).toBeTruthy();
46
- expect(queryByText("First accordion")).toBeFalsy();
47
- });
48
- test("Controlled accordion with indexActive change", function () {
49
- var onActiveChange = jest.fn();
50
- var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
51
- margin: "large",
52
- indexActive: 1,
53
- onActiveChange: onActiveChange
54
- }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
55
- label: "Accordion1",
56
- padding: "medium",
57
- margin: "large"
58
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
59
- label: "Accordion2",
60
- padding: "medium"
61
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
62
- queryByText = _render3.queryByText,
63
- getByText = _render3.getByText,
64
- getAllByRole = _render3.getAllByRole,
65
- rerender = _render3.rerender;
66
- expect(queryByText("Text1")).toBeFalsy();
67
- expect(getByText("Text2")).toBeTruthy();
68
- _react2.fireEvent.click(getByText("Accordion1"));
69
- _react2.fireEvent.click(getByText("Accordion2"));
70
- expect(onActiveChange.mock.calls[0][0]).toBe(0);
71
- expect(onActiveChange.mock.calls[1][0]).toBe(1);
72
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("false");
73
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("true");
74
- rerender( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
75
- margin: "large",
76
- indexActive: 0,
77
- onActiveChange: onActiveChange
78
- }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
79
- label: "Accordion1",
80
- padding: "medium",
81
- margin: "large"
82
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
83
- label: "Accordion2",
84
- padding: "medium"
85
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2"))));
86
- expect(getAllByRole("button")[0].getAttribute("aria-expanded")).toBe("true");
87
- expect(getAllByRole("button")[1].getAttribute("aria-expanded")).toBe("false");
88
- });
89
- test("Disabled uncontrolled accordion group", function () {
90
- var onActiveChange = jest.fn();
91
- var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"], {
92
- margin: "large",
93
- onActiveChange: onActiveChange,
94
- disabled: true
95
- }, /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
96
- label: "Accordion1",
97
- padding: "medium",
98
- margin: "large"
99
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Text1")), /*#__PURE__*/_react["default"].createElement(_AccordionGroup["default"].Accordion, {
100
- label: "Accordion2",
101
- padding: "medium"
102
- }, /*#__PURE__*/_react["default"].createElement("div", null, "Text2")))),
103
- getByText = _render4.getByText;
104
- _react2.fireEvent.click(getByText("Accordion1"));
105
- _react2.fireEvent.click(getByText("Accordion2"));
106
- expect(onActiveChange).toHaveBeenCalledTimes(0);
107
- });
108
- });
@@ -1,79 +0,0 @@
1
- /// <reference types="react" />
2
- export type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- export type Margin = {
4
- top?: Space;
5
- bottom?: Space;
6
- left?: Space;
7
- right?: Space;
8
- };
9
- type Padding = {
10
- top?: Space;
11
- bottom?: Space;
12
- left?: Space;
13
- right?: Space;
14
- };
15
- type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
16
- export type AccordionPropsType = {
17
- /**
18
- * The panel label.
19
- */
20
- label: string;
21
- /**
22
- * Element or path used as the icon that will be placed next to panel label.
23
- */
24
- icon?: string | SVG;
25
- /**
26
- * Assistive text to be placed on the right side of the panel.
27
- */
28
- assistiveText?: string;
29
- /**
30
- * If true, the component will be disabled.
31
- */
32
- disabled?: boolean;
33
- /**
34
- * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
35
- * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
36
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
37
- */
38
- padding?: Space | Padding;
39
- /**
40
- * The expanded panel of the accordion. This area can be used to render
41
- * custom content.
42
- */
43
- children: React.ReactNode;
44
- };
45
- type Props = {
46
- /**
47
- * Initially active accordion, only when it is uncontrolled.
48
- */
49
- defaultIndexActive?: number;
50
- /**
51
- * The index of the active accordion. If undefined, the component will be uncontrolled and the active accordion will be managed internally by the component.
52
- * If null, the component will be controlled and all accordions will be closed.
53
- */
54
- indexActive?: number;
55
- /**
56
- * If true, the component will be disabled.
57
- */
58
- disabled?: boolean;
59
- /**
60
- * This function will be called when the user clicks on an accordion. The index of the clicked accordion will be passed as a parameter.
61
- */
62
- onActiveChange?: (indexActive: number) => void;
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
- * Customized accordion(s) that are allowed inside an Accordion Group.
70
- */
71
- children: React.ReactElement<AccordionPropsType>[] | React.ReactElement<AccordionPropsType>;
72
- };
73
- export type AccordionGroupAccordionContextProps = {
74
- activeIndex: number;
75
- handlerActiveChange: (index: number) => void;
76
- disabled: boolean;
77
- index: number;
78
- };
79
- export default Props;
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });