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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (294) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -11
  3. package/HalstackContext.d.ts +13 -0
  4. package/HalstackContext.js +318 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +124 -179
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +56 -0
  9. package/accordion/types.d.ts +12 -11
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +28 -77
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +108 -0
  14. package/accordion-group/types.d.ts +19 -12
  15. package/alert/Alert.js +18 -46
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +75 -0
  18. package/alert/types.d.ts +3 -3
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -16
  21. package/badge/types.d.ts +5 -0
  22. package/bleed/Bleed.d.ts +2 -2
  23. package/bleed/Bleed.js +14 -55
  24. package/bleed/Bleed.stories.tsx +94 -95
  25. package/bleed/types.d.ts +26 -2
  26. package/box/Box.js +34 -63
  27. package/box/Box.stories.tsx +15 -0
  28. package/box/Box.test.js +13 -0
  29. package/box/types.d.ts +5 -4
  30. package/bulleted-list/BulletedList.d.ts +7 -0
  31. package/bulleted-list/BulletedList.js +98 -0
  32. package/bulleted-list/BulletedList.stories.tsx +200 -0
  33. package/bulleted-list/types.d.ts +11 -0
  34. package/bulleted-list/types.js +5 -0
  35. package/button/Button.js +61 -100
  36. package/button/Button.stories.tsx +159 -8
  37. package/button/Button.test.js +26 -0
  38. package/button/types.d.ts +8 -8
  39. package/card/Card.js +44 -70
  40. package/card/Card.test.js +39 -0
  41. package/card/types.d.ts +4 -3
  42. package/checkbox/Checkbox.d.ts +2 -2
  43. package/checkbox/Checkbox.js +115 -162
  44. package/checkbox/Checkbox.stories.tsx +198 -130
  45. package/checkbox/Checkbox.test.js +128 -0
  46. package/checkbox/types.d.ts +14 -6
  47. package/chip/Chip.d.ts +1 -1
  48. package/chip/Chip.js +29 -91
  49. package/chip/Chip.stories.tsx +98 -13
  50. package/chip/Chip.test.js +42 -0
  51. package/chip/types.d.ts +8 -16
  52. package/common/utils.js +1 -6
  53. package/common/variables.d.ts +1431 -0
  54. package/common/variables.js +480 -554
  55. package/date-input/Calendar.d.ts +4 -0
  56. package/date-input/Calendar.js +215 -0
  57. package/date-input/DateInput.js +164 -300
  58. package/date-input/DateInput.stories.tsx +199 -33
  59. package/date-input/DateInput.test.js +648 -0
  60. package/date-input/DatePicker.d.ts +4 -0
  61. package/date-input/DatePicker.js +116 -0
  62. package/date-input/Icons.d.ts +6 -0
  63. package/date-input/Icons.js +63 -0
  64. package/date-input/YearPicker.d.ts +4 -0
  65. package/date-input/YearPicker.js +101 -0
  66. package/date-input/types.d.ts +71 -13
  67. package/dialog/Dialog.js +52 -84
  68. package/dialog/Dialog.stories.tsx +99 -22
  69. package/dialog/Dialog.test.js +56 -0
  70. package/dialog/types.d.ts +4 -3
  71. package/dropdown/Dropdown.d.ts +1 -1
  72. package/dropdown/Dropdown.js +240 -323
  73. package/dropdown/Dropdown.stories.tsx +255 -64
  74. package/dropdown/Dropdown.test.js +479 -0
  75. package/dropdown/DropdownMenu.d.ts +4 -0
  76. package/dropdown/DropdownMenu.js +60 -0
  77. package/dropdown/DropdownMenuItem.d.ts +4 -0
  78. package/dropdown/DropdownMenuItem.js +70 -0
  79. package/dropdown/types.d.ts +30 -19
  80. package/file-input/FileInput.d.ts +2 -2
  81. package/file-input/FileInput.js +224 -351
  82. package/file-input/FileInput.stories.tsx +122 -11
  83. package/file-input/FileInput.test.js +445 -0
  84. package/file-input/FileItem.d.ts +4 -14
  85. package/file-input/FileItem.js +48 -97
  86. package/file-input/types.d.ts +24 -7
  87. package/flex/Flex.d.ts +4 -0
  88. package/flex/Flex.js +57 -0
  89. package/flex/Flex.stories.tsx +103 -0
  90. package/flex/types.d.ts +32 -0
  91. package/flex/types.js +5 -0
  92. package/footer/Footer.js +36 -143
  93. package/footer/Footer.stories.tsx +99 -1
  94. package/footer/Footer.test.js +92 -0
  95. package/footer/Icons.js +1 -5
  96. package/footer/types.d.ts +7 -6
  97. package/header/Header.js +112 -177
  98. package/header/Header.stories.tsx +189 -36
  99. package/header/Header.test.js +66 -0
  100. package/header/Icons.js +2 -6
  101. package/header/types.d.ts +4 -3
  102. package/heading/Heading.js +8 -29
  103. package/heading/Heading.test.js +169 -0
  104. package/heading/types.d.ts +3 -3
  105. package/inset/Inset.js +14 -55
  106. package/inset/Inset.stories.tsx +36 -36
  107. package/inset/types.d.ts +26 -2
  108. package/layout/ApplicationLayout.d.ts +16 -6
  109. package/layout/ApplicationLayout.js +71 -164
  110. package/layout/ApplicationLayout.stories.tsx +84 -93
  111. package/layout/Icons.d.ts +5 -0
  112. package/layout/Icons.js +11 -10
  113. package/layout/SidenavContext.d.ts +5 -0
  114. package/layout/SidenavContext.js +15 -0
  115. package/layout/types.d.ts +18 -33
  116. package/link/Link.d.ts +3 -2
  117. package/link/Link.js +61 -106
  118. package/link/Link.stories.tsx +159 -52
  119. package/link/Link.test.js +65 -0
  120. package/link/types.d.ts +9 -29
  121. package/main.d.ts +11 -15
  122. package/main.js +48 -121
  123. package/nav-tabs/NavTabs.d.ts +8 -0
  124. package/nav-tabs/NavTabs.js +95 -0
  125. package/nav-tabs/NavTabs.stories.tsx +260 -0
  126. package/nav-tabs/NavTabs.test.js +75 -0
  127. package/nav-tabs/Tab.d.ts +4 -0
  128. package/nav-tabs/Tab.js +120 -0
  129. package/nav-tabs/types.d.ts +53 -0
  130. package/nav-tabs/types.js +5 -0
  131. package/number-input/NumberInput.js +21 -38
  132. package/number-input/NumberInput.stories.tsx +5 -5
  133. package/number-input/NumberInput.test.js +406 -0
  134. package/number-input/NumberInputContext.js +0 -5
  135. package/number-input/numberInputContextTypes.d.ts +1 -1
  136. package/number-input/types.d.ts +21 -14
  137. package/package.json +22 -25
  138. package/paginator/Icons.d.ts +5 -0
  139. package/paginator/Icons.js +16 -38
  140. package/paginator/Paginator.js +31 -82
  141. package/paginator/Paginator.stories.tsx +24 -0
  142. package/paginator/Paginator.test.js +266 -0
  143. package/paginator/types.d.ts +1 -1
  144. package/paragraph/Paragraph.d.ts +6 -0
  145. package/paragraph/Paragraph.js +28 -0
  146. package/paragraph/Paragraph.stories.tsx +44 -0
  147. package/password-input/PasswordInput.js +28 -54
  148. package/password-input/PasswordInput.test.js +138 -0
  149. package/password-input/types.d.ts +18 -15
  150. package/progress-bar/ProgressBar.d.ts +2 -2
  151. package/progress-bar/ProgressBar.js +65 -84
  152. package/progress-bar/ProgressBar.stories.jsx +47 -12
  153. package/progress-bar/ProgressBar.test.js +93 -0
  154. package/progress-bar/types.d.ts +3 -4
  155. package/quick-nav/QuickNav.d.ts +4 -0
  156. package/quick-nav/QuickNav.js +95 -0
  157. package/quick-nav/QuickNav.stories.tsx +356 -0
  158. package/quick-nav/types.d.ts +21 -0
  159. package/quick-nav/types.js +5 -0
  160. package/radio-group/Radio.d.ts +1 -1
  161. package/radio-group/Radio.js +61 -66
  162. package/radio-group/RadioGroup.js +99 -129
  163. package/radio-group/RadioGroup.stories.tsx +171 -36
  164. package/radio-group/RadioGroup.test.js +620 -0
  165. package/radio-group/types.d.ts +85 -7
  166. package/resultsetTable/Icons.d.ts +7 -0
  167. package/resultsetTable/Icons.js +48 -0
  168. package/resultsetTable/ResultsetTable.js +66 -157
  169. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  170. package/resultsetTable/ResultsetTable.test.js +292 -0
  171. package/resultsetTable/types.d.ts +5 -5
  172. package/select/Icons.d.ts +10 -0
  173. package/select/Icons.js +90 -0
  174. package/select/Listbox.d.ts +4 -0
  175. package/select/Listbox.js +144 -0
  176. package/select/Option.d.ts +4 -0
  177. package/select/Option.js +81 -0
  178. package/select/Select.js +201 -485
  179. package/select/Select.stories.tsx +600 -201
  180. package/select/Select.test.js +1845 -0
  181. package/select/types.d.ts +62 -22
  182. package/sidenav/Sidenav.d.ts +6 -5
  183. package/sidenav/Sidenav.js +164 -74
  184. package/sidenav/Sidenav.stories.tsx +249 -149
  185. package/sidenav/Sidenav.test.js +37 -0
  186. package/sidenav/types.d.ts +50 -27
  187. package/slider/Slider.d.ts +2 -2
  188. package/slider/Slider.js +143 -164
  189. package/slider/Slider.stories.tsx +72 -9
  190. package/slider/Slider.test.js +222 -0
  191. package/slider/types.d.ts +11 -3
  192. package/spinner/Spinner.js +12 -41
  193. package/spinner/Spinner.stories.jsx +27 -1
  194. package/spinner/Spinner.test.js +55 -0
  195. package/spinner/types.d.ts +3 -3
  196. package/switch/Switch.d.ts +2 -2
  197. package/switch/Switch.js +148 -107
  198. package/switch/Switch.stories.tsx +53 -42
  199. package/switch/Switch.test.js +180 -0
  200. package/switch/types.d.ts +13 -5
  201. package/table/Table.js +5 -23
  202. package/table/Table.stories.jsx +80 -1
  203. package/table/Table.test.js +21 -0
  204. package/table/types.d.ts +3 -3
  205. package/tabs/Tab.d.ts +4 -0
  206. package/tabs/Tab.js +115 -0
  207. package/tabs/Tabs.d.ts +1 -1
  208. package/tabs/Tabs.js +318 -139
  209. package/tabs/Tabs.stories.tsx +119 -13
  210. package/tabs/Tabs.test.js +295 -0
  211. package/tabs/types.d.ts +21 -7
  212. package/tag/Tag.d.ts +1 -1
  213. package/tag/Tag.js +36 -75
  214. package/tag/Tag.stories.tsx +37 -27
  215. package/tag/Tag.test.js +49 -0
  216. package/tag/types.d.ts +25 -16
  217. package/text-input/Icons.d.ts +8 -0
  218. package/text-input/Icons.js +57 -0
  219. package/text-input/Suggestion.d.ts +4 -0
  220. package/text-input/Suggestion.js +68 -0
  221. package/text-input/Suggestions.d.ts +4 -0
  222. package/text-input/Suggestions.js +109 -0
  223. package/text-input/TextInput.js +232 -438
  224. package/text-input/TextInput.stories.tsx +310 -197
  225. package/text-input/TextInput.test.js +1404 -0
  226. package/text-input/types.d.ts +55 -17
  227. package/textarea/Textarea.js +53 -96
  228. package/textarea/Textarea.stories.jsx +93 -13
  229. package/textarea/Textarea.test.js +360 -0
  230. package/textarea/types.d.ts +22 -15
  231. package/toggle-group/ToggleGroup.d.ts +1 -1
  232. package/toggle-group/ToggleGroup.js +23 -57
  233. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  234. package/toggle-group/ToggleGroup.test.js +124 -0
  235. package/toggle-group/types.d.ts +19 -11
  236. package/translatedLabelsType.d.ts +82 -0
  237. package/translatedLabelsType.js +5 -0
  238. package/typography/Typography.d.ts +4 -0
  239. package/typography/Typography.js +119 -0
  240. package/typography/Typography.stories.tsx +198 -0
  241. package/typography/types.d.ts +18 -0
  242. package/typography/types.js +5 -0
  243. package/useTheme.d.ts +1 -1
  244. package/useTheme.js +3 -9
  245. package/useTranslatedLabels.d.ts +3 -0
  246. package/useTranslatedLabels.js +15 -0
  247. package/wizard/Wizard.d.ts +1 -1
  248. package/wizard/Wizard.js +68 -98
  249. package/wizard/Wizard.stories.tsx +48 -19
  250. package/wizard/Wizard.test.js +114 -0
  251. package/wizard/types.d.ts +12 -7
  252. package/ThemeContext.d.ts +0 -15
  253. package/ThemeContext.js +0 -243
  254. package/V3Select/V3Select.js +0 -455
  255. package/V3Select/index.d.ts +0 -27
  256. package/V3Textarea/V3Textarea.js +0 -260
  257. package/V3Textarea/index.d.ts +0 -27
  258. package/common/RequiredComponent.js +0 -32
  259. package/date/Date.js +0 -373
  260. package/date/index.d.ts +0 -27
  261. package/input-text/Icons.js +0 -22
  262. package/input-text/InputText.js +0 -611
  263. package/input-text/index.d.ts +0 -36
  264. package/list/List.d.ts +0 -8
  265. package/list/List.js +0 -47
  266. package/list/List.stories.tsx +0 -95
  267. package/radio/Radio.d.ts +0 -4
  268. package/radio/Radio.js +0 -174
  269. package/radio/Radio.stories.tsx +0 -192
  270. package/radio/types.d.ts +0 -54
  271. package/row/Row.d.ts +0 -11
  272. package/row/Row.js +0 -127
  273. package/row/Row.stories.tsx +0 -239
  274. package/stack/Stack.d.ts +0 -10
  275. package/stack/Stack.js +0 -97
  276. package/stack/Stack.stories.tsx +0 -166
  277. package/text/Text.d.ts +0 -7
  278. package/text/Text.js +0 -30
  279. package/text/Text.stories.tsx +0 -19
  280. package/toggle/Toggle.js +0 -186
  281. package/toggle/index.d.ts +0 -21
  282. package/upload/Upload.js +0 -201
  283. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  284. package/upload/buttons-upload/Icons.js +0 -40
  285. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  286. package/upload/dragAndDropArea/Icons.js +0 -39
  287. package/upload/file-upload/FileToUpload.js +0 -115
  288. package/upload/file-upload/Icons.js +0 -66
  289. package/upload/files-upload/FilesToUpload.js +0 -109
  290. package/upload/index.d.ts +0 -15
  291. package/upload/transaction/Icons.js +0 -160
  292. package/upload/transaction/Transaction.js +0 -104
  293. package/upload/transactions/Transactions.js +0 -94
  294. /package/{radio → badge}/types.js +0 -0
@@ -1,136 +1,132 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
-
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
16
11
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
-
22
- var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
23
-
24
- var _ExpansionPanelSummary = _interopRequireDefault(require("@material-ui/core/ExpansionPanelSummary"));
25
-
26
- var _ExpansionPanelDetails = _interopRequireDefault(require("@material-ui/core/ExpansionPanelDetails"));
27
-
28
- var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
29
-
30
14
  var _utils = require("../common/utils.js");
31
-
32
- var _variables = require("../common/variables.js");
33
-
15
+ var _variables = require("../common/variables");
34
16
  var _useTheme = _interopRequireDefault(require("../useTheme"));
35
-
36
17
  var _BackgroundColorContext = require("../BackgroundColorContext");
37
-
38
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
39
-
18
+ var _Typography = _interopRequireDefault(require("../typography/Typography"));
19
+ var _uuid = require("uuid");
20
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
40
21
  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); }
41
-
42
22
  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; }
43
-
23
+ var expandLess = /*#__PURE__*/_react["default"].createElement("svg", {
24
+ xmlns: "http://www.w3.org/2000/svg",
25
+ height: "24",
26
+ width: "24",
27
+ fill: "currentColor"
28
+ }, /*#__PURE__*/_react["default"].createElement("path", {
29
+ d: "m7.4 15.375-1.4-1.4 6-6 6 6-1.4 1.4-4.6-4.6Z"
30
+ }));
31
+ var expandMore = /*#__PURE__*/_react["default"].createElement("svg", {
32
+ xmlns: "http://www.w3.org/2000/svg",
33
+ height: "24",
34
+ width: "24",
35
+ fill: "currentColor"
36
+ }, /*#__PURE__*/_react["default"].createElement("path", {
37
+ d: "m12 15.375-6-6 1.4-1.4 4.6 4.6 4.6-4.6 1.4 1.4Z"
38
+ }));
44
39
  var DxcAccordion = function DxcAccordion(_ref) {
45
40
  var _ref$label = _ref.label,
46
- label = _ref$label === void 0 ? "" : _ref$label,
47
- isExpanded = _ref.isExpanded,
48
- iconSrc = _ref.iconSrc,
49
- icon = _ref.icon,
50
- _ref$assistiveText = _ref.assistiveText,
51
- assistiveText = _ref$assistiveText === void 0 ? "" : _ref$assistiveText,
52
- _ref$disabled = _ref.disabled,
53
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
54
- onChange = _ref.onChange,
55
- children = _ref.children,
56
- margin = _ref.margin,
57
- padding = _ref.padding,
58
- _ref$tabIndex = _ref.tabIndex,
59
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
60
-
61
- var _useState = (0, _react.useState)(false),
62
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
63
- innerIsExpanded = _useState2[0],
64
- setInnerIsExpanded = _useState2[1];
65
-
66
- var _useState3 = (0, _react.useState)(false),
67
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
68
- isResponsive = _useState4[0],
69
- setIsResponsive = _useState4[1];
70
-
41
+ label = _ref$label === void 0 ? "" : _ref$label,
42
+ defaultIsExpanded = _ref.defaultIsExpanded,
43
+ isExpanded = _ref.isExpanded,
44
+ icon = _ref.icon,
45
+ _ref$assistiveText = _ref.assistiveText,
46
+ assistiveText = _ref$assistiveText === void 0 ? "" : _ref$assistiveText,
47
+ _ref$disabled = _ref.disabled,
48
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
49
+ onChange = _ref.onChange,
50
+ children = _ref.children,
51
+ margin = _ref.margin,
52
+ padding = _ref.padding,
53
+ _ref$tabIndex = _ref.tabIndex,
54
+ tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
55
+ var _useState = (0, _react.useState)((0, _uuid.v4)()),
56
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
57
+ id = _useState2[0];
58
+ var _useState3 = (0, _react.useState)(defaultIsExpanded !== null && defaultIsExpanded !== void 0 ? defaultIsExpanded : false),
59
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
60
+ innerIsExpanded = _useState4[0],
61
+ setInnerIsExpanded = _useState4[1];
71
62
  var colorsTheme = (0, _useTheme["default"])();
72
-
73
- var handleResize = function handleResize(width) {
74
- width && width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false);
75
- };
76
-
77
- var handleEventListener = function handleEventListener() {
78
- handleResize(window.innerWidth);
79
- };
80
-
81
- (0, _react.useEffect)(function () {
82
- window.addEventListener("resize", handleEventListener);
83
- handleResize(window.innerWidth);
84
- return function () {
85
- window.removeEventListener("resize", handleEventListener);
86
- };
87
- }, []);
88
-
89
- var handlerAccordion = function handlerAccordion() {
90
- if (isExpanded == null) {
91
- setInnerIsExpanded(!innerIsExpanded);
92
- }
93
-
94
- if (typeof onChange === "function") {
95
- onChange(isExpanded == null ? !innerIsExpanded : !isExpanded);
96
- }
63
+ var handleAccordionState = function handleAccordionState() {
64
+ var _isExpanded;
65
+ isExpanded !== null && isExpanded !== void 0 ? isExpanded : setInnerIsExpanded(function (innerIsExpanded) {
66
+ return !innerIsExpanded;
67
+ });
68
+ onChange === null || onChange === void 0 ? void 0 : onChange((_isExpanded = !isExpanded) !== null && _isExpanded !== void 0 ? _isExpanded : !innerIsExpanded);
97
69
  };
98
-
99
70
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
100
- theme: colorsTheme.accordion
101
- }, /*#__PURE__*/_react["default"].createElement(DXCAccordion, {
71
+ theme: colorsTheme["accordion"]
72
+ }, /*#__PURE__*/_react["default"].createElement(AccordionContainer, {
73
+ isExpanded: isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded,
102
74
  padding: padding,
103
- margin: margin,
104
- disabled: disabled,
105
- icon: icon || iconSrc,
106
- isResponsive: isResponsive
107
- }, /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], {
75
+ margin: margin
76
+ }, /*#__PURE__*/_react["default"].createElement(AccordionHeader, null, /*#__PURE__*/_react["default"].createElement(AccordionTrigger, {
77
+ id: "accordion-".concat(id),
78
+ onClick: disabled ? undefined : handleAccordionState,
108
79
  disabled: disabled,
109
- onChange: handlerAccordion,
110
- expanded: isExpanded != null ? isExpanded : innerIsExpanded
111
- }, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
112
- expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null),
113
- tabIndex: disabled ? -1 : tabIndex
80
+ tabIndex: disabled ? -1 : tabIndex,
81
+ "aria-expanded": isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded,
82
+ "aria-controls": "accordion-panel-".concat(id),
83
+ isExpanded: isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded
114
84
  }, /*#__PURE__*/_react["default"].createElement(AccordionInfo, {
115
85
  disabled: disabled
116
- }, /*#__PURE__*/_react["default"].createElement(AccordionLabel, null, label), icon ? /*#__PURE__*/_react["default"].createElement(IconContainer, {
86
+ }, /*#__PURE__*/_react["default"].createElement(AccordionLabel, null, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
117
87
  disabled: disabled
118
- }, (0, _typeof2["default"])(icon) === "object" ? icon : /*#__PURE__*/_react["default"].createElement(icon)) : iconSrc && /*#__PURE__*/_react["default"].createElement(AccordionIcon, {
119
- src: iconSrc
120
- })), assistiveText && /*#__PURE__*/_react["default"].createElement(AccordionAssistiveText, {
88
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
89
+ src: icon
90
+ }) : icon), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
91
+ color: disabled ? colorsTheme["accordion"].disabledTitleLabelFontColor : colorsTheme["accordion"].titleLabelFontColor,
92
+ fontFamily: colorsTheme["accordion"].titleLabelFontFamily,
93
+ fontSize: colorsTheme["accordion"].titleLabelFontSize,
94
+ fontStyle: colorsTheme["accordion"].titleLabelFontStyle,
95
+ fontWeight: colorsTheme["accordion"].titleLabelFontWeight,
96
+ lineHeight: "1.5em"
97
+ }, label)), assistiveText && /*#__PURE__*/_react["default"].createElement(AccordionAssistiveText, {
121
98
  disabled: disabled
122
- }, assistiveText)), /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], null, /*#__PURE__*/_react["default"].createElement(AccordionContent, {
99
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
100
+ color: disabled ? colorsTheme["accordion"].disabledAssistiveTextFontColor : colorsTheme["accordion"].assistiveTextFontColor,
101
+ fontFamily: colorsTheme["accordion"].assistiveTextFontFamily,
102
+ fontSize: colorsTheme["accordion"].assistiveTextFontSize,
103
+ fontStyle: colorsTheme["accordion"].assistiveTextFontStyle,
104
+ fontWeight: colorsTheme["accordion"].assistiveTextFontWeight,
105
+ letterSpacing: colorsTheme["accordion"].assistiveTextLetterSpacing,
106
+ lineHeight: "1.5em"
107
+ }, assistiveText))), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
123
108
  disabled: disabled
109
+ }, (isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded) ? expandLess : expandMore))), (isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded) && /*#__PURE__*/_react["default"].createElement(AccordionPanel, {
110
+ id: "accordion-panel-".concat(id),
111
+ role: "region",
112
+ "aria-labelledby": "accordion-".concat(id),
113
+ padding: padding
124
114
  }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
125
- color: colorsTheme.accordion.backgroundColor
126
- }, children))))));
115
+ color: colorsTheme["accordion"].backgroundColor
116
+ }, children))));
127
117
  };
128
-
129
118
  var calculateWidth = function calculateWidth(margin) {
130
119
  return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
131
120
  };
132
-
133
- var DXCAccordion = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n min-width: 280px;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n cursor: ", ";\n\n .MuiPaper-root {\n min-width: 0;\n display: flex;\n left: 85px;\n background-color: ", " !important;\n box-shadow: ", ";\n position: static;\n width: 100%;\n border-radius: ", ";\n\n &.Mui-expanded {\n border-radius: ", ";\n }\n &.MuiExpansionPanel-root {\n display: flex;\n flex-direction: column;\n min-height: 48px;\n }\n &.MuiExpansionPanel-rounded {\n border-radius: ", ";\n }\n .MuiButtonBase-root.MuiExpansionPanelSummary-root {\n min-height: 48px;\n height: 48px;\n\n :focus {\n outline-color: ", ";\n outline-style: ", ";\n outline-width: ", ";\n background-color: ", ";\n }\n :hover {\n background-color: ", ";\n }\n :active {\n background-color: ", ";\n }\n &.Mui-disabled {\n opacity: 1;\n }\n }\n .MuiButtonBase-root {\n border-radius: ", ";\n\n &.Mui-expanded {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n .MuiSvgIcon-root {\n opacity: 1;\n }\n }\n &.MuiIconButton-root {\n height: auto;\n }\n .MuiExpansionPanelSummary-content {\n padding-top: ", ";\n padding-bottom: ", ";\n padding-right: ", ";\n padding-left: ", ";\n min-width: 0;\n align-items: baseline;\n &.Mui-expanded {\n div:nth-child(2) {\n opacity: 1;\n }\n }\n :hover {\n div {\n opacity: 1;\n }\n }\n }\n }\n .MuiTouchRipple-root {\n display: none;\n }\n }\n .MuiCollapse-hidden {\n display: none;\n }\n .MuiCollapse-container {\n border-radius: 0px 0px 4px 4px;\n cursor: default;\n width: 100%;\n }\n .MuiIconButton-label {\n & > .MuiSvgIcon-root {\n color: ", ";\n }\n }\n .MuiExpansionPanelDetails-root {\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n }\n"])), function (props) {
121
+ var AccordionContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n background-color: ", ";\n border-radius: ", ";\n ", "\n box-shadow: ", ";\n min-width: 280px;\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n width: ", ";\n"])), function (props) {
122
+ return props.theme.backgroundColor;
123
+ }, function (props) {
124
+ return props.theme.borderRadius;
125
+ }, function (props) {
126
+ return props.isExpanded && "border-bottom-left-radius: 0; border-bottom-right-radius: 0;";
127
+ }, function (props) {
128
+ return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
129
+ }, function (props) {
134
130
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
135
131
  }, function (props) {
136
132
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -142,33 +138,23 @@ var DXCAccordion = _styledComponents["default"].div(_templateObject || (_templat
142
138
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
143
139
  }, function (props) {
144
140
  return calculateWidth(props.margin);
145
- }, function (props) {
146
- return props.disabled && "not-allowed" || "pointer";
147
- }, function (props) {
148
- return props.disabled ? props.theme.disabledBackgroundColor : props.theme.backgroundColor;
149
- }, function (props) {
150
- return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
151
- }, function (props) {
152
- return props.theme.borderRadius;
153
- }, function (props) {
154
- return props.theme.borderRadius;
155
- }, function (props) {
141
+ });
142
+ var AccordionHeader = _styledComponents["default"].h3(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n min-height: 48px;\n margin: 0;\n"])));
143
+ var AccordionTrigger = _styledComponents["default"].button(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: 24px;\n width: 100%;\n background-color: transparent;\n border: none;\n border-radius: ", ";\n ", "\n padding: 12px 16px;\n cursor: ", ";\n\n :focus {\n outline: ", ";\n }\n :hover:enabled {\n background-color: ", ";\n }\n :active:enabled {\n background-color: ", ";\n }\n"])), function (props) {
156
144
  return props.theme.borderRadius;
157
145
  }, function (props) {
158
- return props.theme.focusBorderColor;
159
- }, function (props) {
160
- return props.theme.focusBorderStyle;
146
+ return props.isExpanded && "border-bottom-left-radius: 0; border-bottom-right-radius: 0;";
161
147
  }, function (props) {
162
- return props.theme.focusBorderThickness;
148
+ return props.disabled ? "not-allowed" : "pointer";
163
149
  }, function (props) {
164
- return props.theme.backgroundColor;
150
+ return "".concat(props.theme.focusBorderColor, " ").concat(props.theme.focusBorderStyle, " ").concat(props.theme.focusBorderThickness);
165
151
  }, function (props) {
166
152
  return "".concat(props.theme.hoverBackgroundColor);
167
153
  }, function (props) {
168
154
  return "".concat(props.theme.hoverBackgroundColor);
169
- }, function (props) {
170
- return props.theme.borderRadius;
171
- }, function (props) {
155
+ });
156
+ var AccordionInfo = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: space-between;\n width: 100%;\n"])));
157
+ var AccordionLabel = _styledComponents["default"].span(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding-top: ", ";\n padding-bottom: ", ";\n padding-right: ", ";\n padding-left: ", ";\n"])), function (props) {
172
158
  return props.theme.titleLabelPaddingTop;
173
159
  }, function (props) {
174
160
  return props.theme.titleLabelPaddingBottom;
@@ -176,83 +162,42 @@ var DXCAccordion = _styledComponents["default"].div(_templateObject || (_templat
176
162
  return props.theme.titleLabelPaddingRight;
177
163
  }, function (props) {
178
164
  return props.theme.titleLabelPaddingLeft;
179
- }, function (props) {
180
- return props.disabled ? props.theme.disabledArrowColor : props.theme.arrowColor;
181
- }, function (props) {
182
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
183
- }, function (props) {
184
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
185
- }, function (props) {
186
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
187
- }, function (props) {
188
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
189
- }, function (props) {
190
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
191
165
  });
192
-
193
- var AccordionInfo = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: row-reverse;\n align-items: center;\n padding-left: ", ";\n padding-right: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n"])), function (props) {
194
- return props.theme.titlePaddingLeft;
195
- }, function (props) {
196
- return props.theme.titlePaddingRight;
197
- }, function (props) {
198
- return props.theme.titleLabelFontFamily;
166
+ var IconContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n\n svg,\n img {\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
167
+ return props.theme.iconMarginLeft;
199
168
  }, function (props) {
200
- return props.theme.titleLabelFontSize;
169
+ return props.theme.iconMarginRigth;
201
170
  }, function (props) {
202
- return props.theme.titleLabelFontStyle;
171
+ return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
203
172
  }, function (props) {
204
- return props.theme.titleFonLabeltWeight;
173
+ return props.theme.iconSize;
205
174
  }, function (props) {
206
- return props.disabled ? props.theme.disabledTitleLabelFontColor : props.theme.titleLabelFontColor;
175
+ return props.theme.iconSize;
207
176
  });
208
-
209
- var AccordionLabel = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])([""])));
210
-
211
- var AccordionContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n"])));
212
-
213
- var AccordionAssistiveText = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n padding-left: ", ";\n padding-right: ", ";\n font-size: ", ";\n font-family: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-width: ", ";\n text-align: end;\n"])), function (props) {
177
+ var AccordionAssistiveText = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: ", ";\n padding-left: ", ";\n padding-right: ", ";\n"])), function (props) {
178
+ return props.theme.assistiveTextMinWidth;
179
+ }, function (props) {
214
180
  return props.theme.assistiveTextPaddingLeft;
215
181
  }, function (props) {
216
182
  return props.theme.assistiveTextPaddingRight;
217
- }, function (props) {
218
- return props.theme.assistiveTextFontSize;
219
- }, function (props) {
220
- return props.theme.assistiveTextFontFamily;
221
- }, function (props) {
222
- return props.theme.assistiveTextFontStyle;
223
- }, function (props) {
224
- return props.theme.assistiveTextFontWeight;
225
- }, function (props) {
226
- return props.disabled ? props.theme.disabledAssistiveTextFontColor : props.theme.assistiveTextFontColor;
227
- }, function (props) {
228
- return props.theme.assistiveTextLetterSpacing;
229
- }, function (props) {
230
- return props.theme.assistiveTextMinWidth;
231
183
  });
232
-
233
- var IconContainer = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n color: ", ";\n\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"])), function (props) {
234
- return props.theme.iconSize;
235
- }, function (props) {
236
- return props.theme.iconSize;
237
- }, function (props) {
238
- return props.theme.iconMarginLeft;
184
+ var CollapseIndicator = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n color: ", ";\n"])), function (props) {
185
+ return props.disabled ? props.theme.disabledArrowColor : props.theme.arrowColor;
186
+ });
187
+ var AccordionPanel = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
188
+ return props.theme.borderRadius;
239
189
  }, function (props) {
240
- return props.theme.iconMarginRigth;
190
+ return props.theme.borderRadius;
241
191
  }, function (props) {
242
- return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
243
- });
244
-
245
- var AccordionIcon = _styledComponents["default"].img(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n margin-left: ", ";\n margin-right: ", ";\n overflow: hidden;\n color: ", ";\n"])), function (props) {
246
- return props.theme.iconSize;
192
+ return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
247
193
  }, function (props) {
248
- return props.theme.iconSize;
194
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
249
195
  }, function (props) {
250
- return props.theme.iconMarginLeft;
196
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
251
197
  }, function (props) {
252
- return props.theme.iconMarginRigth;
198
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
253
199
  }, function (props) {
254
- return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
200
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
255
201
  });
256
-
257
202
  var _default = DxcAccordion;
258
203
  exports["default"] = _default;
@@ -5,7 +5,7 @@ import DxcTextInput from "../text-input/TextInput";
5
5
  import DxcButton from "../button/Button";
6
6
  import Title from "../../.storybook/components/Title";
7
7
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
8
- import { ThemeProvider } from "../ThemeContext";
8
+ import { HalstackProvider } from "../HalstackContext";
9
9
 
10
10
  export default {
11
11
  title: "Accordion",
@@ -15,7 +15,7 @@ export default {
15
15
  const folderIcon = (
16
16
  <svg
17
17
  xmlns="http://www.w3.org/2000/svg"
18
- enable-background="new 0 0 24 24"
18
+ enableBackground="new 0 0 24 24"
19
19
  height="24px"
20
20
  viewBox="0 0 24 24"
21
21
  width="24px"
@@ -30,10 +30,33 @@ const folderIcon = (
30
30
  </svg>
31
31
  );
32
32
 
33
- const thumbIcon = (
34
- <svg xmlns="http://www.w3.org/2000/svg" height="48px" viewBox="0 0 24 24" width="48px" fill="currentColor">
35
- <path d="M0 0h24v24H0V0z" fill="none" />
36
- <path d="M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z" />
33
+ const smallIcon = (
34
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" height="20" width="20">
35
+ <path d="m7.646 18.333-.313-2.625q-.208-.125-.458-.27-.25-.146-.458-.271l-2.438 1.021-2.354-4.063 2.083-1.583V9.458L1.625 7.875l2.354-4.063 2.438 1.021q.208-.125.458-.27.25-.146.458-.271l.313-2.625h4.708l.313 2.625q.208.125.458.271.25.145.458.27l2.438-1.021 2.354 4.063-2.063 1.583v1.084l2.063 1.583-2.354 4.063-2.438-1.021q-.208.125-.458.271-.25.145-.458.27l-.313 2.625ZM10 12.979q1.229 0 2.104-.875T12.979 10q0-1.229-.875-2.104T10 7.021q-1.229 0-2.104.875T7.021 10q0 1.229.875 2.104t2.104.875Zm0-1.75q-.5 0-.865-.364-.364-.365-.364-.865t.364-.865q.365-.364.865-.364t.865.364q.364.365.364.865t-.364.865q-.365.364-.865.364ZM10.021 10Zm-.854 6.583h1.666l.25-2.166q.605-.167 1.167-.5.562-.334 1.021-.792l2.021.854.833-1.375-1.771-1.354q.104-.292.146-.604.042-.313.042-.646 0-.292-.042-.594t-.125-.635l1.771-1.375-.834-1.375-2.02.875q-.48-.479-1.032-.802-.552-.323-1.156-.49l-.271-2.187H9.167l-.271 2.187q-.604.167-1.156.49-.552.323-1.011.781l-2.021-.854-.833 1.375 1.75 1.354q-.083.333-.125.646-.042.312-.042.604t.042.594q.042.302.125.635l-1.75 1.375.833 1.375 2.021-.854q.459.458 1.011.781.552.323 1.156.49Z" />
36
+ </svg>
37
+ );
38
+
39
+ const facebookIcon = (
40
+ <svg
41
+ version="1.1"
42
+ id="Capa_1"
43
+ x="0px"
44
+ y="0px"
45
+ width="438.536px"
46
+ height="438.536px"
47
+ viewBox="0 0 438.536 438.536"
48
+ fill="currentColor"
49
+ >
50
+ <g>
51
+ <path
52
+ d="M414.41,24.123C398.333,8.042,378.963,0,356.315,0H82.228C59.58,0,40.21,8.042,24.126,24.123
53
+ C8.045,40.207,0.003,59.576,0.003,82.225v274.084c0,22.647,8.042,42.018,24.123,58.102c16.084,16.084,35.454,24.126,58.102,24.126
54
+ h274.084c22.648,0,42.018-8.042,58.095-24.126c16.084-16.084,24.126-35.454,24.126-58.102V82.225
55
+ C438.532,59.576,430.49,40.204,414.41,24.123z M373.155,225.548h-49.963V406.84h-74.802V225.548H210.99V163.02h37.401v-37.402
56
+ c0-26.838,6.283-47.107,18.843-60.813c12.559-13.706,33.304-20.555,62.242-20.555h49.963v62.526h-31.401
57
+ c-10.663,0-17.467,1.853-20.417,5.568c-2.949,3.711-4.428,10.23-4.428,19.558v31.119h56.534L373.155,225.548z"
58
+ />
59
+ </g>
37
60
  </svg>
38
61
  );
39
62
 
@@ -47,6 +70,14 @@ const advancedTheme = {
47
70
  },
48
71
  };
49
72
 
73
+ const opinionatedTheme = {
74
+ accordion: {
75
+ accentColor: "#5f249f",
76
+ titleFontColor: "#000000",
77
+ assistiveTextFontColor: "#666666",
78
+ },
79
+ };
80
+
50
81
  export const Chromatic = () => (
51
82
  <>
52
83
  <Title title="Component anatomy" theme="light" level={2} />
@@ -78,8 +109,30 @@ export const Chromatic = () => (
78
109
  </DxcAccordion>
79
110
  </ExampleContainer>
80
111
  <ExampleContainer>
81
- <Title title="With bigger icon 48x48" theme="light" level={4} />
82
- <DxcAccordion label="Accordion" assistiveText="Assistive text" icon={thumbIcon}>
112
+ <Title title="With smaller icon" theme="light" level={4} />
113
+ <DxcAccordion label="Accordion" assistiveText="Assistive text" icon={smallIcon}>
114
+ <div>
115
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
116
+ lobortis eget.
117
+ </div>
118
+ </DxcAccordion>
119
+ </ExampleContainer>
120
+ <ExampleContainer>
121
+ <Title title="With bigger icon (SVG)" theme="light" level={4} />
122
+ <DxcAccordion label="AccordionTest" assistiveText="Assistive text" icon={facebookIcon}>
123
+ <div>
124
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
125
+ lobortis eget.
126
+ </div>
127
+ </DxcAccordion>
128
+ </ExampleContainer>
129
+ <ExampleContainer>
130
+ <Title title="With bigger icon (image)" theme="light" level={4} />
131
+ <DxcAccordion
132
+ label="Accordion"
133
+ assistiveText="Assistive text"
134
+ icon="https://developer.apple.com/design/human-interface-guidelines/foundations/app-icons/images/icon-and-image-large-icon-settings_2x.png"
135
+ >
83
136
  <div>
84
137
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit leo
85
138
  lobortis eget.
@@ -125,31 +178,25 @@ export const Chromatic = () => (
125
178
  </ExampleContainer>
126
179
  <ExampleContainer>
127
180
  <Title title="Background color provider over accordion content" theme="light" level={4} />
128
- <ThemeProvider advancedTheme={advancedTheme}>
181
+ <HalstackProvider advancedTheme={advancedTheme}>
129
182
  <DxcAccordion
130
183
  label="Dark Accordion"
131
- isExpanded
184
+ defaultIsExpanded
132
185
  assistiveText="Assistive text"
133
186
  icon={folderIcon}
134
187
  padding="medium"
135
188
  >
136
- <div style={{ display: "flex", flexDirection: "column" }}>
137
- <DxcTextInput
138
- label="Label"
139
- helperText="HelperText"
140
- placeholder="Placeholder"
141
- size="fillParent"
142
- margin={{ bottom: "medium" }}
143
- />
189
+ <div style={{ display: "flex", flexDirection: "column", gap: "36px" }}>
190
+ <DxcTextInput label="Label" helperText="HelperText" placeholder="Placeholder" size="fillParent" />
144
191
  <DxcButton label="Submit" size="medium" />
145
192
  </div>
146
193
  </DxcAccordion>
147
- </ThemeProvider>
194
+ </HalstackProvider>
148
195
  </ExampleContainer>
149
196
  <Title title="Paddings" theme="light" level={2} />
150
197
  <ExampleContainer>
151
198
  <Title title="Xxsmall padding" theme="light" level={4} />
152
- <DxcAccordion label="Xxsmall padding" isExpanded padding="xxsmall">
199
+ <DxcAccordion label="Xxsmall padding" defaultIsExpanded padding="xxsmall">
153
200
  <div>
154
201
  <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
155
202
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
@@ -162,7 +209,7 @@ export const Chromatic = () => (
162
209
  </ExampleContainer>
163
210
  <ExampleContainer>
164
211
  <Title title="Xsmall padding" theme="light" level={4} />
165
- <DxcAccordion label="Xsmall padding" isExpanded padding="xsmall">
212
+ <DxcAccordion label="Xsmall padding" defaultIsExpanded padding="xsmall">
166
213
  <div>
167
214
  <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
168
215
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
@@ -175,7 +222,7 @@ export const Chromatic = () => (
175
222
  </ExampleContainer>
176
223
  <ExampleContainer>
177
224
  <Title title="Small padding" theme="light" level={4} />
178
- <DxcAccordion label="Small padding" isExpanded padding="small">
225
+ <DxcAccordion label="Small padding" defaultIsExpanded padding="small">
179
226
  <div>
180
227
  <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
181
228
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
@@ -188,7 +235,7 @@ export const Chromatic = () => (
188
235
  </ExampleContainer>
189
236
  <ExampleContainer>
190
237
  <Title title="Medium padding" theme="light" level={4} />
191
- <DxcAccordion label="Medium padding" isExpanded padding="medium">
238
+ <DxcAccordion label="Medium padding" defaultIsExpanded padding="medium">
192
239
  <div>
193
240
  <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
194
241
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
@@ -201,7 +248,7 @@ export const Chromatic = () => (
201
248
  </ExampleContainer>
202
249
  <ExampleContainer>
203
250
  <Title title="Large padding" theme="light" level={4} />
204
- <DxcAccordion label="Large padding" isExpanded padding="large">
251
+ <DxcAccordion label="Large padding" defaultIsExpanded padding="large">
205
252
  <div>
206
253
  <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
207
254
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
@@ -214,7 +261,7 @@ export const Chromatic = () => (
214
261
  </ExampleContainer>
215
262
  <ExampleContainer>
216
263
  <Title title="Xlarge padding" theme="light" level={4} />
217
- <DxcAccordion label="Xlarge padding" isExpanded padding="xlarge">
264
+ <DxcAccordion label="Xlarge padding" defaultIsExpanded padding="xlarge">
218
265
  <div>
219
266
  <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
220
267
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
@@ -227,7 +274,7 @@ export const Chromatic = () => (
227
274
  </ExampleContainer>
228
275
  <ExampleContainer>
229
276
  <Title title="Xxlarge padding" theme="light" level={4} />
230
- <DxcAccordion label="Xxlarge padding" isExpanded padding="xxlarge">
277
+ <DxcAccordion label="Xxlarge padding" defaultIsExpanded padding="xxlarge">
231
278
  <div>
232
279
  <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
233
280
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
@@ -301,7 +348,48 @@ export const Chromatic = () => (
301
348
  lobortis eget.
302
349
  </div>
303
350
  </DxcAccordion>
304
- <hr />
351
+ </ExampleContainer>
352
+ <Title title="Opinionated theme" theme="light" level={2} />
353
+ <ExampleContainer>
354
+ <Title title="With assistive text and icon" theme="light" level={4} />
355
+ <HalstackProvider theme={opinionatedTheme}>
356
+ <DxcAccordion label="Accordion" assistiveText="Assistive text" icon={folderIcon}>
357
+ Content
358
+ </DxcAccordion>
359
+ </HalstackProvider>
360
+ </ExampleContainer>
361
+ <ExampleContainer pseudoState="pseudo-hover">
362
+ <Title title="Hovered" theme="light" level={4} />
363
+ <HalstackProvider theme={opinionatedTheme}>
364
+ <DxcAccordion label="Hovered">
365
+ <div>
366
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
367
+ leo lobortis eget.
368
+ </div>
369
+ </DxcAccordion>
370
+ </HalstackProvider>
371
+ </ExampleContainer>
372
+ <ExampleContainer pseudoState="pseudo-active">
373
+ <Title title="Active" theme="light" level={4} />
374
+ <HalstackProvider theme={opinionatedTheme}>
375
+ <DxcAccordion label="Active">
376
+ <div>
377
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
378
+ leo lobortis eget.
379
+ </div>
380
+ </DxcAccordion>
381
+ </HalstackProvider>
382
+ </ExampleContainer>
383
+ <ExampleContainer>
384
+ <Title title="Disabled" theme="light" level={4} />
385
+ <HalstackProvider theme={opinionatedTheme}>
386
+ <DxcAccordion label="Disabled" assistiveText="Assistive text" icon={folderIcon} disabled>
387
+ <div>
388
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
389
+ leo lobortis eget.
390
+ </div>
391
+ </DxcAccordion>
392
+ </HalstackProvider>
305
393
  </ExampleContainer>
306
394
  </>
307
395
  );