@dxc-technology/halstack-react 0.0.0-d30020b → 0.0.0-d3ac293

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 (290) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1336 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +118 -126
  7. package/accordion/Accordion.stories.tsx +115 -27
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +9 -4
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +17 -38
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +126 -0
  14. package/accordion-group/types.d.ts +14 -3
  15. package/alert/Alert.js +7 -4
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/badge/Badge.d.ts +4 -0
  19. package/badge/Badge.js +5 -3
  20. package/badge/types.d.ts +5 -0
  21. package/bleed/Bleed.js +1 -34
  22. package/bleed/Bleed.stories.tsx +94 -95
  23. package/bleed/types.d.ts +25 -1
  24. package/box/Box.js +25 -37
  25. package/box/Box.stories.tsx +15 -0
  26. package/box/Box.test.js +18 -0
  27. package/box/types.d.ts +1 -0
  28. package/bulleted-list/BulletedList.d.ts +7 -0
  29. package/bulleted-list/BulletedList.js +123 -0
  30. package/bulleted-list/BulletedList.stories.tsx +200 -0
  31. package/bulleted-list/types.d.ts +11 -0
  32. package/button/Button.js +52 -69
  33. package/button/Button.stories.tsx +159 -8
  34. package/button/Button.test.js +35 -0
  35. package/button/types.d.ts +7 -7
  36. package/card/Card.js +25 -28
  37. package/card/Card.test.js +50 -0
  38. package/card/types.d.ts +1 -0
  39. package/checkbox/Checkbox.d.ts +2 -2
  40. package/checkbox/Checkbox.js +107 -110
  41. package/checkbox/Checkbox.stories.tsx +198 -130
  42. package/checkbox/Checkbox.test.js +155 -0
  43. package/checkbox/types.d.ts +13 -5
  44. package/chip/Chip.js +18 -24
  45. package/chip/Chip.stories.tsx +96 -9
  46. package/chip/Chip.test.js +54 -0
  47. package/chip/types.d.ts +1 -1
  48. package/common/utils.d.ts +1 -0
  49. package/common/utils.js +4 -4
  50. package/common/variables.d.ts +1625 -0
  51. package/common/variables.js +476 -583
  52. package/date-input/Calendar.d.ts +4 -0
  53. package/date-input/Calendar.js +258 -0
  54. package/date-input/DateInput.js +169 -258
  55. package/date-input/DateInput.stories.tsx +199 -33
  56. package/date-input/DateInput.test.js +835 -0
  57. package/date-input/DatePicker.d.ts +4 -0
  58. package/date-input/DatePicker.js +146 -0
  59. package/date-input/Icons.d.ts +6 -0
  60. package/date-input/Icons.js +75 -0
  61. package/date-input/YearPicker.d.ts +4 -0
  62. package/date-input/YearPicker.js +126 -0
  63. package/date-input/types.d.ts +67 -9
  64. package/dialog/Dialog.js +76 -93
  65. package/dialog/Dialog.stories.tsx +230 -123
  66. package/dialog/Dialog.test.js +369 -0
  67. package/dialog/types.d.ts +3 -2
  68. package/dropdown/Dropdown.d.ts +1 -1
  69. package/dropdown/Dropdown.js +246 -253
  70. package/dropdown/Dropdown.stories.tsx +245 -56
  71. package/dropdown/Dropdown.test.js +586 -0
  72. package/dropdown/DropdownMenu.d.ts +4 -0
  73. package/dropdown/DropdownMenu.js +70 -0
  74. package/dropdown/DropdownMenuItem.d.ts +4 -0
  75. package/dropdown/DropdownMenuItem.js +81 -0
  76. package/dropdown/types.d.ts +25 -5
  77. package/file-input/FileInput.d.ts +2 -2
  78. package/file-input/FileInput.js +181 -223
  79. package/file-input/FileInput.stories.tsx +122 -11
  80. package/file-input/FileInput.test.js +457 -0
  81. package/file-input/FileItem.d.ts +4 -14
  82. package/file-input/FileItem.js +44 -66
  83. package/file-input/types.d.ts +17 -0
  84. package/flex/Flex.d.ts +4 -0
  85. package/flex/Flex.js +69 -0
  86. package/flex/Flex.stories.tsx +103 -0
  87. package/flex/types.d.ts +32 -0
  88. package/footer/Footer.js +16 -89
  89. package/footer/Footer.stories.tsx +99 -1
  90. package/footer/Footer.test.js +97 -0
  91. package/footer/Icons.js +1 -1
  92. package/footer/types.d.ts +2 -1
  93. package/header/Header.js +108 -129
  94. package/header/Header.stories.tsx +189 -36
  95. package/header/Header.test.js +79 -0
  96. package/header/Icons.js +2 -2
  97. package/header/types.d.ts +3 -2
  98. package/heading/Heading.js +1 -1
  99. package/heading/Heading.test.js +186 -0
  100. package/inset/Inset.js +1 -34
  101. package/inset/Inset.stories.tsx +36 -36
  102. package/inset/types.d.ts +25 -1
  103. package/layout/ApplicationLayout.d.ts +16 -6
  104. package/layout/ApplicationLayout.js +72 -132
  105. package/layout/ApplicationLayout.stories.tsx +84 -93
  106. package/layout/Icons.d.ts +5 -0
  107. package/layout/Icons.js +13 -2
  108. package/layout/SidenavContext.d.ts +5 -0
  109. package/layout/SidenavContext.js +19 -0
  110. package/layout/types.d.ts +18 -33
  111. package/link/Link.d.ts +3 -2
  112. package/link/Link.js +59 -76
  113. package/link/Link.stories.tsx +155 -53
  114. package/link/Link.test.js +81 -0
  115. package/link/types.d.ts +7 -23
  116. package/main.d.ts +10 -15
  117. package/main.js +48 -82
  118. package/nav-tabs/NavTabs.d.ts +8 -0
  119. package/nav-tabs/NavTabs.js +125 -0
  120. package/nav-tabs/NavTabs.stories.tsx +260 -0
  121. package/nav-tabs/NavTabs.test.js +82 -0
  122. package/nav-tabs/Tab.d.ts +4 -0
  123. package/nav-tabs/Tab.js +150 -0
  124. package/nav-tabs/types.d.ts +53 -0
  125. package/number-input/NumberInput.js +11 -18
  126. package/number-input/NumberInput.stories.tsx +5 -5
  127. package/number-input/NumberInput.test.js +542 -0
  128. package/number-input/types.d.ts +17 -10
  129. package/package.json +20 -23
  130. package/paginator/Icons.d.ts +5 -0
  131. package/paginator/Icons.js +16 -28
  132. package/paginator/Paginator.js +19 -46
  133. package/paginator/Paginator.stories.tsx +24 -0
  134. package/paginator/Paginator.test.js +305 -0
  135. package/paragraph/Paragraph.d.ts +6 -0
  136. package/paragraph/Paragraph.js +38 -0
  137. package/paragraph/Paragraph.stories.tsx +44 -0
  138. package/password-input/PasswordInput.js +7 -4
  139. package/password-input/PasswordInput.test.js +181 -0
  140. package/password-input/types.d.ts +14 -11
  141. package/progress-bar/ProgressBar.d.ts +2 -2
  142. package/progress-bar/ProgressBar.js +61 -55
  143. package/progress-bar/ProgressBar.stories.jsx +47 -12
  144. package/progress-bar/ProgressBar.test.js +110 -0
  145. package/progress-bar/types.d.ts +3 -4
  146. package/quick-nav/QuickNav.d.ts +4 -0
  147. package/quick-nav/QuickNav.js +117 -0
  148. package/quick-nav/QuickNav.stories.tsx +356 -0
  149. package/quick-nav/types.d.ts +21 -0
  150. package/quick-nav/types.js +5 -0
  151. package/radio-group/Radio.d.ts +1 -1
  152. package/radio-group/Radio.js +53 -37
  153. package/radio-group/RadioGroup.js +67 -57
  154. package/radio-group/RadioGroup.stories.tsx +171 -36
  155. package/radio-group/RadioGroup.test.js +563 -89
  156. package/radio-group/types.d.ts +82 -4
  157. package/resultsetTable/Icons.d.ts +7 -0
  158. package/resultsetTable/Icons.js +51 -0
  159. package/resultsetTable/ResultsetTable.js +49 -108
  160. package/resultsetTable/ResultsetTable.stories.tsx +50 -25
  161. package/resultsetTable/ResultsetTable.test.js +325 -0
  162. package/resultsetTable/types.d.ts +2 -2
  163. package/select/Icons.d.ts +10 -0
  164. package/select/Icons.js +93 -0
  165. package/select/Listbox.d.ts +4 -0
  166. package/select/Listbox.js +169 -0
  167. package/select/Option.d.ts +4 -0
  168. package/select/Option.js +97 -0
  169. package/select/Select.js +185 -384
  170. package/select/Select.stories.tsx +600 -201
  171. package/select/Select.test.js +2228 -0
  172. package/select/types.d.ts +53 -13
  173. package/sidenav/Sidenav.d.ts +6 -5
  174. package/sidenav/Sidenav.js +183 -53
  175. package/sidenav/Sidenav.stories.tsx +249 -149
  176. package/sidenav/Sidenav.test.js +44 -0
  177. package/sidenav/types.d.ts +50 -27
  178. package/slider/Slider.d.ts +2 -2
  179. package/slider/Slider.js +124 -98
  180. package/slider/Slider.stories.tsx +72 -9
  181. package/slider/Slider.test.js +250 -0
  182. package/slider/types.d.ts +10 -2
  183. package/spinner/Spinner.js +4 -4
  184. package/spinner/Spinner.stories.jsx +27 -1
  185. package/spinner/Spinner.test.js +64 -0
  186. package/switch/Switch.d.ts +2 -2
  187. package/switch/Switch.js +152 -69
  188. package/switch/Switch.stories.tsx +53 -42
  189. package/switch/Switch.test.js +225 -0
  190. package/switch/types.d.ts +12 -4
  191. package/table/Table.js +3 -3
  192. package/table/Table.stories.jsx +80 -1
  193. package/table/Table.test.js +26 -0
  194. package/tabs/Tab.d.ts +4 -0
  195. package/tabs/Tab.js +133 -0
  196. package/tabs/Tabs.d.ts +1 -1
  197. package/tabs/Tabs.js +363 -109
  198. package/tabs/Tabs.stories.tsx +119 -13
  199. package/tabs/Tabs.test.js +350 -0
  200. package/tabs/types.d.ts +19 -5
  201. package/tag/Tag.js +17 -22
  202. package/tag/Tag.stories.tsx +25 -8
  203. package/tag/Tag.test.js +60 -0
  204. package/tag/types.d.ts +1 -1
  205. package/text-input/Icons.d.ts +8 -0
  206. package/text-input/Icons.js +60 -0
  207. package/text-input/Suggestion.d.ts +4 -0
  208. package/text-input/Suggestion.js +84 -0
  209. package/text-input/Suggestions.d.ts +4 -0
  210. package/text-input/Suggestions.js +134 -0
  211. package/text-input/TextInput.js +224 -345
  212. package/text-input/TextInput.stories.tsx +310 -197
  213. package/text-input/TextInput.test.js +1723 -0
  214. package/text-input/types.d.ts +50 -12
  215. package/textarea/Textarea.js +22 -29
  216. package/textarea/Textarea.stories.jsx +93 -13
  217. package/textarea/Textarea.test.js +437 -0
  218. package/textarea/types.d.ts +18 -11
  219. package/toggle-group/ToggleGroup.d.ts +1 -1
  220. package/toggle-group/ToggleGroup.js +6 -5
  221. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  222. package/toggle-group/ToggleGroup.test.js +156 -0
  223. package/toggle-group/types.d.ts +9 -1
  224. package/typography/Typography.d.ts +4 -0
  225. package/typography/Typography.js +32 -0
  226. package/typography/Typography.stories.tsx +198 -0
  227. package/typography/types.d.ts +18 -0
  228. package/typography/types.js +5 -0
  229. package/useTheme.d.ts +1234 -1
  230. package/useTheme.js +3 -3
  231. package/useTranslatedLabels.d.ts +85 -0
  232. package/useTranslatedLabels.js +20 -0
  233. package/utils/BaseTypography.d.ts +21 -0
  234. package/utils/BaseTypography.js +108 -0
  235. package/utils/FocusLock.d.ts +13 -0
  236. package/utils/FocusLock.js +139 -0
  237. package/wizard/Wizard.d.ts +1 -1
  238. package/wizard/Wizard.js +59 -55
  239. package/wizard/Wizard.stories.tsx +48 -19
  240. package/wizard/Wizard.test.js +141 -0
  241. package/wizard/types.d.ts +10 -5
  242. package/ThemeContext.d.ts +0 -15
  243. package/ThemeContext.js +0 -243
  244. package/V3Select/V3Select.js +0 -455
  245. package/V3Select/index.d.ts +0 -27
  246. package/V3Textarea/V3Textarea.js +0 -260
  247. package/V3Textarea/index.d.ts +0 -27
  248. package/common/RequiredComponent.js +0 -32
  249. package/date/Date.js +0 -373
  250. package/date/index.d.ts +0 -27
  251. package/input-text/Icons.js +0 -22
  252. package/input-text/InputText.js +0 -611
  253. package/input-text/index.d.ts +0 -36
  254. package/list/List.d.ts +0 -4
  255. package/list/List.js +0 -47
  256. package/list/List.stories.tsx +0 -95
  257. package/list/types.d.ts +0 -7
  258. package/radio/Radio.d.ts +0 -4
  259. package/radio/Radio.js +0 -174
  260. package/radio/Radio.stories.tsx +0 -192
  261. package/radio/types.d.ts +0 -54
  262. package/row/Row.d.ts +0 -3
  263. package/row/Row.js +0 -127
  264. package/row/Row.stories.tsx +0 -237
  265. package/row/types.d.ts +0 -10
  266. package/stack/Stack.d.ts +0 -3
  267. package/stack/Stack.js +0 -97
  268. package/stack/Stack.stories.tsx +0 -164
  269. package/stack/types.d.ts +0 -9
  270. package/text/Text.d.ts +0 -7
  271. package/text/Text.js +0 -30
  272. package/text/Text.stories.tsx +0 -19
  273. package/toggle/Toggle.js +0 -186
  274. package/toggle/index.d.ts +0 -21
  275. package/upload/Upload.js +0 -201
  276. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  277. package/upload/buttons-upload/Icons.js +0 -40
  278. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  279. package/upload/dragAndDropArea/Icons.js +0 -39
  280. package/upload/file-upload/FileToUpload.js +0 -115
  281. package/upload/file-upload/Icons.js +0 -66
  282. package/upload/files-upload/FilesToUpload.js +0 -109
  283. package/upload/index.d.ts +0 -15
  284. package/upload/transaction/Icons.js +0 -160
  285. package/upload/transaction/Transaction.js +0 -104
  286. package/upload/transactions/Transactions.js +0 -94
  287. /package/{list → badge}/types.js +0 -0
  288. /package/{radio → bulleted-list}/types.js +0 -0
  289. /package/{row → flex}/types.js +0 -0
  290. /package/{stack → nav-tabs}/types.js +0 -0
@@ -19,31 +19,46 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
22
- var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
22
+ var _utils = require("../common/utils");
23
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
- var _utils = require("../common/utils.js");
31
-
32
- var _variables = require("../common/variables.js");
24
+ var _variables = require("../common/variables");
33
25
 
34
26
  var _useTheme = _interopRequireDefault(require("../useTheme"));
35
27
 
36
28
  var _BackgroundColorContext = require("../BackgroundColorContext");
37
29
 
38
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7;
30
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
31
+
32
+ var _uuid = require("uuid");
33
+
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
39
35
 
40
36
  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
37
 
42
38
  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
39
 
40
+ var expandLess = /*#__PURE__*/_react["default"].createElement("svg", {
41
+ xmlns: "http://www.w3.org/2000/svg",
42
+ height: "24",
43
+ width: "24",
44
+ fill: "currentColor"
45
+ }, /*#__PURE__*/_react["default"].createElement("path", {
46
+ d: "m7.4 15.375-1.4-1.4 6-6 6 6-1.4 1.4-4.6-4.6Z"
47
+ }));
48
+
49
+ var expandMore = /*#__PURE__*/_react["default"].createElement("svg", {
50
+ xmlns: "http://www.w3.org/2000/svg",
51
+ height: "24",
52
+ width: "24",
53
+ fill: "currentColor"
54
+ }, /*#__PURE__*/_react["default"].createElement("path", {
55
+ d: "m12 15.375-6-6 1.4-1.4 4.6 4.6 4.6-4.6 1.4 1.4Z"
56
+ }));
57
+
44
58
  var DxcAccordion = function DxcAccordion(_ref) {
45
59
  var _ref$label = _ref.label,
46
60
  label = _ref$label === void 0 ? "" : _ref$label,
61
+ defaultIsExpanded = _ref.defaultIsExpanded,
47
62
  isExpanded = _ref.isExpanded,
48
63
  icon = _ref.icon,
49
64
  _ref$assistiveText = _ref.assistiveText,
@@ -57,79 +72,88 @@ var DxcAccordion = function DxcAccordion(_ref) {
57
72
  _ref$tabIndex = _ref.tabIndex,
58
73
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
59
74
 
60
- var _useState = (0, _react.useState)(false),
61
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
62
- innerIsExpanded = _useState2[0],
63
- setInnerIsExpanded = _useState2[1];
75
+ var _useState = (0, _react.useState)((0, _uuid.v4)()),
76
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
77
+ id = _useState2[0];
64
78
 
65
- var _useState3 = (0, _react.useState)(false),
79
+ var _useState3 = (0, _react.useState)(defaultIsExpanded !== null && defaultIsExpanded !== void 0 ? defaultIsExpanded : false),
66
80
  _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
67
- isResponsive = _useState4[0],
68
- setIsResponsive = _useState4[1];
81
+ innerIsExpanded = _useState4[0],
82
+ setInnerIsExpanded = _useState4[1];
69
83
 
70
84
  var colorsTheme = (0, _useTheme["default"])();
71
85
 
72
- var handleResize = function handleResize(width) {
73
- width && width <= _variables.responsiveSizes.tablet ? setIsResponsive(true) : setIsResponsive(false);
74
- };
86
+ var handleAccordionState = function handleAccordionState() {
87
+ var _isExpanded;
75
88
 
76
- var handleEventListener = function handleEventListener() {
77
- handleResize(window.innerWidth);
78
- };
79
-
80
- (0, _react.useEffect)(function () {
81
- window.addEventListener("resize", handleEventListener);
82
- handleResize(window.innerWidth);
83
- return function () {
84
- window.removeEventListener("resize", handleEventListener);
85
- };
86
- }, []);
87
-
88
- var handlerAccordion = function handlerAccordion() {
89
- if (isExpanded == null) {
90
- setInnerIsExpanded(!innerIsExpanded);
91
- }
92
-
93
- if (typeof onChange === "function") {
94
- onChange(isExpanded == null ? !innerIsExpanded : !isExpanded);
95
- }
89
+ isExpanded !== null && isExpanded !== void 0 ? isExpanded : setInnerIsExpanded(function (innerIsExpanded) {
90
+ return !innerIsExpanded;
91
+ });
92
+ onChange === null || onChange === void 0 ? void 0 : onChange((_isExpanded = !isExpanded) !== null && _isExpanded !== void 0 ? _isExpanded : !innerIsExpanded);
96
93
  };
97
94
 
98
95
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
99
96
  theme: colorsTheme.accordion
100
- }, /*#__PURE__*/_react["default"].createElement(DXCAccordion, {
97
+ }, /*#__PURE__*/_react["default"].createElement(AccordionContainer, {
98
+ isExpanded: isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded,
101
99
  padding: padding,
102
- margin: margin,
103
- disabled: disabled,
104
- icon: icon,
105
- isResponsive: isResponsive
106
- }, /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], {
100
+ margin: margin
101
+ }, /*#__PURE__*/_react["default"].createElement(AccordionHeader, null, /*#__PURE__*/_react["default"].createElement(AccordionTrigger, {
102
+ id: "accordion-".concat(id),
103
+ onClick: disabled ? undefined : handleAccordionState,
107
104
  disabled: disabled,
108
- onChange: handlerAccordion,
109
- expanded: isExpanded != null ? isExpanded : innerIsExpanded
110
- }, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
111
- expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null),
112
- tabIndex: disabled ? -1 : tabIndex
105
+ tabIndex: disabled ? -1 : tabIndex,
106
+ "aria-expanded": isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded,
107
+ "aria-controls": "accordion-panel-".concat(id),
108
+ isExpanded: isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded
113
109
  }, /*#__PURE__*/_react["default"].createElement(AccordionInfo, {
114
110
  disabled: disabled
115
- }, /*#__PURE__*/_react["default"].createElement(AccordionLabel, null, label), icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
111
+ }, /*#__PURE__*/_react["default"].createElement(AccordionLabel, null, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
116
112
  disabled: disabled
117
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(AccordionIcon, {
113
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
118
114
  src: icon
119
- }) : icon)), assistiveText && /*#__PURE__*/_react["default"].createElement(AccordionAssistiveText, {
115
+ }) : icon), /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
116
+ color: disabled ? colorsTheme.accordion.disabledTitleLabelFontColor : colorsTheme.accordion.titleLabelFontColor,
117
+ fontFamily: colorsTheme.accordion.titleLabelFontFamily,
118
+ fontSize: colorsTheme.accordion.titleLabelFontSize,
119
+ fontStyle: colorsTheme.accordion.titleLabelFontStyle,
120
+ fontWeight: colorsTheme.accordion.titleLabelFontWeight,
121
+ lineHeight: "1.5em"
122
+ }, label)), assistiveText && /*#__PURE__*/_react["default"].createElement(AccordionAssistiveText, {
120
123
  disabled: disabled
121
- }, assistiveText)), /*#__PURE__*/_react["default"].createElement(_ExpansionPanelDetails["default"], null, /*#__PURE__*/_react["default"].createElement(AccordionContent, {
124
+ }, /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
125
+ color: disabled ? colorsTheme.accordion.disabledAssistiveTextFontColor : colorsTheme.accordion.assistiveTextFontColor,
126
+ fontFamily: colorsTheme.accordion.assistiveTextFontFamily,
127
+ fontSize: colorsTheme.accordion.assistiveTextFontSize,
128
+ fontStyle: colorsTheme.accordion.assistiveTextFontStyle,
129
+ fontWeight: colorsTheme.accordion.assistiveTextFontWeight,
130
+ letterSpacing: colorsTheme.accordion.assistiveTextLetterSpacing,
131
+ lineHeight: "1.5em"
132
+ }, assistiveText))), /*#__PURE__*/_react["default"].createElement(CollapseIndicator, {
122
133
  disabled: disabled
134
+ }, (isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded) ? expandLess : expandMore))), (isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded) && /*#__PURE__*/_react["default"].createElement(AccordionPanel, {
135
+ id: "accordion-panel-".concat(id),
136
+ role: "region",
137
+ "aria-labelledby": "accordion-".concat(id),
138
+ padding: padding
123
139
  }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
124
140
  color: colorsTheme.accordion.backgroundColor
125
- }, children))))));
141
+ }, children))));
126
142
  };
127
143
 
128
144
  var calculateWidth = function calculateWidth(margin) {
129
145
  return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
130
146
  };
131
147
 
132
- 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) {
148
+ 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) {
149
+ return props.theme.backgroundColor;
150
+ }, function (props) {
151
+ return props.theme.borderRadius;
152
+ }, function (props) {
153
+ return props.isExpanded && "border-bottom-left-radius: 0; border-bottom-right-radius: 0;";
154
+ }, function (props) {
155
+ return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
156
+ }, function (props) {
133
157
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
134
158
  }, function (props) {
135
159
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
@@ -141,33 +165,27 @@ var DXCAccordion = _styledComponents["default"].div(_templateObject || (_templat
141
165
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
142
166
  }, function (props) {
143
167
  return calculateWidth(props.margin);
144
- }, function (props) {
145
- return props.disabled && "not-allowed" || "pointer";
146
- }, function (props) {
147
- return props.theme.backgroundColor;
148
- }, function (props) {
149
- return "".concat(props.theme.boxShadowOffsetX, " ").concat(props.theme.boxShadowOffsetY, " ").concat(props.theme.boxShadowBlur, " ").concat(props.theme.boxShadowColor);
150
- }, function (props) {
151
- return props.theme.borderRadius;
152
- }, function (props) {
153
- return props.theme.borderRadius;
154
- }, function (props) {
168
+ });
169
+
170
+ 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"])));
171
+
172
+ 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) {
155
173
  return props.theme.borderRadius;
156
174
  }, function (props) {
157
- return props.theme.focusBorderColor;
175
+ return props.isExpanded && "border-bottom-left-radius: 0; border-bottom-right-radius: 0;";
158
176
  }, function (props) {
159
- return props.theme.focusBorderStyle;
177
+ return props.disabled ? "not-allowed" : "pointer";
160
178
  }, function (props) {
161
- return props.theme.focusBorderThickness;
162
- }, function (props) {
163
- return props.theme.backgroundColor;
179
+ return "".concat(props.theme.focusBorderColor, " ").concat(props.theme.focusBorderStyle, " ").concat(props.theme.focusBorderThickness);
164
180
  }, function (props) {
165
181
  return "".concat(props.theme.hoverBackgroundColor);
166
182
  }, function (props) {
167
183
  return "".concat(props.theme.hoverBackgroundColor);
168
- }, function (props) {
169
- return props.theme.borderRadius;
170
- }, function (props) {
184
+ });
185
+
186
+ var AccordionInfo = _styledComponents["default"].span(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n display: inline-flex;\n justify-content: space-between;\n width: 100%;\n"])));
187
+
188
+ 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) {
171
189
  return props.theme.titleLabelPaddingTop;
172
190
  }, function (props) {
173
191
  return props.theme.titleLabelPaddingBottom;
@@ -175,73 +193,47 @@ var DXCAccordion = _styledComponents["default"].div(_templateObject || (_templat
175
193
  return props.theme.titleLabelPaddingRight;
176
194
  }, function (props) {
177
195
  return props.theme.titleLabelPaddingLeft;
178
- }, function (props) {
179
- return props.disabled ? props.theme.disabledArrowColor : props.theme.arrowColor;
180
- }, function (props) {
181
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
182
- }, function (props) {
183
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
184
- }, function (props) {
185
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
186
- }, function (props) {
187
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
188
- }, function (props) {
189
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
190
196
  });
191
197
 
192
- 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) {
193
- return props.theme.titlePaddingLeft;
194
- }, function (props) {
195
- return props.theme.titlePaddingRight;
196
- }, function (props) {
197
- return props.theme.titleLabelFontFamily;
198
+ 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) {
199
+ return props.theme.iconMarginLeft;
198
200
  }, function (props) {
199
- return props.theme.titleLabelFontSize;
201
+ return props.theme.iconMarginRigth;
200
202
  }, function (props) {
201
- return props.theme.titleLabelFontStyle;
203
+ return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
202
204
  }, function (props) {
203
- return props.theme.titleFonLabeltWeight;
205
+ return props.theme.iconSize;
204
206
  }, function (props) {
205
- return props.disabled ? props.theme.disabledTitleLabelFontColor : props.theme.titleLabelFontColor;
207
+ return props.theme.iconSize;
206
208
  });
207
209
 
208
- var AccordionLabel = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])([""])));
209
-
210
- var AccordionContent = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n"])));
211
-
212
- 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) {
210
+ var AccordionAssistiveText = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: ", ";\n padding-left: ", ";\n padding-right: ", ";\n"])), function (props) {
211
+ return props.theme.assistiveTextMinWidth;
212
+ }, function (props) {
213
213
  return props.theme.assistiveTextPaddingLeft;
214
214
  }, function (props) {
215
215
  return props.theme.assistiveTextPaddingRight;
216
- }, function (props) {
217
- return props.theme.assistiveTextFontSize;
218
- }, function (props) {
219
- return props.theme.assistiveTextFontFamily;
220
- }, function (props) {
221
- return props.theme.assistiveTextFontStyle;
222
- }, function (props) {
223
- return props.theme.assistiveTextFontWeight;
224
- }, function (props) {
225
- return props.disabled ? props.theme.disabledAssistiveTextFontColor : props.theme.assistiveTextFontColor;
226
- }, function (props) {
227
- return props.theme.assistiveTextLetterSpacing;
228
- }, function (props) {
229
- return props.theme.assistiveTextMinWidth;
230
216
  });
231
217
 
232
- 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) {
233
- return props.theme.iconSize;
218
+ 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) {
219
+ return props.disabled ? props.theme.disabledArrowColor : props.theme.arrowColor;
220
+ });
221
+
222
+ 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) {
223
+ return props.theme.borderRadius;
234
224
  }, function (props) {
235
- return props.theme.iconSize;
225
+ return props.theme.borderRadius;
236
226
  }, function (props) {
237
- return props.theme.iconMarginLeft;
227
+ return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
238
228
  }, function (props) {
239
- return props.theme.iconMarginRigth;
229
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
240
230
  }, function (props) {
241
- return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
231
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
232
+ }, function (props) {
233
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
234
+ }, function (props) {
235
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
242
236
  });
243
237
 
244
- var AccordionIcon = _styledComponents["default"].img(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])([""])));
245
-
246
238
  var _default = DxcAccordion;
247
239
  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
  );