@dxc-technology/halstack-react 0.0.0-f54247d → 0.0.0-f6d6be5

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 (220) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1337 -5
  4. package/HalstackContext.js +113 -72
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +14 -37
  8. package/accordion/Accordion.stories.tsx +104 -113
  9. package/accordion/Accordion.test.js +1 -1
  10. package/accordion/types.d.ts +2 -14
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +23 -44
  13. package/accordion-group/AccordionGroup.stories.tsx +77 -76
  14. package/accordion-group/AccordionGroup.test.js +7 -17
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +43 -0
  17. package/accordion-group/types.d.ts +2 -14
  18. package/alert/Alert.js +4 -8
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +1 -1
  21. package/bleed/Bleed.stories.tsx +1 -0
  22. package/box/Box.d.ts +1 -1
  23. package/box/Box.js +7 -26
  24. package/box/Box.stories.tsx +38 -51
  25. package/box/Box.test.js +1 -1
  26. package/box/types.d.ts +0 -12
  27. package/bulleted-list/BulletedList.js +4 -2
  28. package/bulleted-list/BulletedList.stories.tsx +7 -1
  29. package/bulleted-list/types.d.ts +31 -4
  30. package/button/Button.d.ts +1 -1
  31. package/button/Button.js +48 -60
  32. package/button/Button.stories.tsx +151 -9
  33. package/button/Button.test.js +12 -1
  34. package/button/types.d.ts +7 -3
  35. package/card/Card.d.ts +1 -1
  36. package/card/Card.js +27 -45
  37. package/card/Card.stories.tsx +12 -42
  38. package/card/Card.test.js +1 -1
  39. package/card/types.d.ts +1 -7
  40. package/checkbox/Checkbox.js +3 -3
  41. package/checkbox/Checkbox.stories.tsx +52 -0
  42. package/checkbox/Checkbox.test.js +1 -1
  43. package/checkbox/types.d.ts +2 -2
  44. package/chip/Chip.js +28 -49
  45. package/chip/Chip.stories.tsx +121 -26
  46. package/chip/Chip.test.js +3 -5
  47. package/common/OpenSans.css +68 -80
  48. package/common/coreTokens.d.ts +146 -0
  49. package/common/coreTokens.js +167 -0
  50. package/common/utils.d.ts +1 -0
  51. package/common/utils.js +4 -4
  52. package/common/variables.d.ts +1490 -0
  53. package/common/variables.js +984 -1127
  54. package/date-input/Calendar.d.ts +1 -1
  55. package/date-input/Calendar.js +45 -45
  56. package/date-input/DateInput.js +74 -32
  57. package/date-input/DateInput.stories.tsx +183 -30
  58. package/date-input/DateInput.test.js +120 -37
  59. package/date-input/DatePicker.js +38 -52
  60. package/date-input/Icons.d.ts +6 -0
  61. package/date-input/Icons.js +75 -0
  62. package/date-input/YearPicker.d.ts +1 -1
  63. package/date-input/YearPicker.js +23 -12
  64. package/date-input/types.d.ts +6 -8
  65. package/dialog/Dialog.d.ts +1 -1
  66. package/dialog/Dialog.js +55 -86
  67. package/dialog/Dialog.stories.tsx +145 -217
  68. package/dialog/Dialog.test.js +302 -3
  69. package/dialog/types.d.ts +0 -13
  70. package/dropdown/Dropdown.js +5 -8
  71. package/dropdown/Dropdown.stories.tsx +210 -84
  72. package/dropdown/Dropdown.test.js +3 -2
  73. package/dropdown/DropdownMenu.js +12 -18
  74. package/dropdown/DropdownMenuItem.js +4 -17
  75. package/dropdown/types.d.ts +3 -3
  76. package/file-input/FileInput.js +4 -8
  77. package/file-input/FileInput.stories.tsx +85 -2
  78. package/file-input/FileInput.test.js +1 -42
  79. package/file-input/FileItem.js +3 -2
  80. package/file-input/types.d.ts +1 -1
  81. package/flex/Flex.js +4 -2
  82. package/flex/Flex.stories.tsx +35 -26
  83. package/flex/types.d.ts +70 -5
  84. package/footer/Footer.d.ts +1 -1
  85. package/footer/Footer.js +44 -64
  86. package/footer/Footer.stories.tsx +36 -21
  87. package/footer/Footer.test.js +16 -26
  88. package/footer/types.d.ts +10 -12
  89. package/grid/Grid.d.ts +7 -0
  90. package/grid/Grid.js +91 -0
  91. package/grid/Grid.stories.tsx +219 -0
  92. package/grid/types.d.ts +115 -0
  93. package/header/Header.d.ts +4 -3
  94. package/header/Header.js +20 -49
  95. package/header/Header.stories.tsx +115 -36
  96. package/header/Header.test.js +2 -2
  97. package/header/types.d.ts +1 -15
  98. package/heading/Heading.js +1 -1
  99. package/heading/Heading.test.js +1 -1
  100. package/image/Image.d.ts +4 -0
  101. package/image/Image.js +85 -0
  102. package/image/Image.stories.tsx +127 -0
  103. package/image/types.d.ts +72 -0
  104. package/inset/Inset.stories.tsx +2 -1
  105. package/layout/ApplicationLayout.d.ts +5 -5
  106. package/layout/ApplicationLayout.js +15 -12
  107. package/layout/ApplicationLayout.stories.tsx +1 -1
  108. package/layout/Icons.d.ts +7 -4
  109. package/layout/Icons.js +52 -56
  110. package/layout/types.d.ts +2 -3
  111. package/link/Link.js +3 -3
  112. package/link/Link.stories.tsx +60 -0
  113. package/link/Link.test.js +2 -4
  114. package/link/types.d.ts +2 -2
  115. package/main.d.ts +4 -2
  116. package/main.js +17 -1
  117. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  118. package/{tabs-nav → nav-tabs}/NavTabs.js +8 -11
  119. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +110 -6
  120. package/{tabs-nav → nav-tabs}/NavTabs.test.js +1 -1
  121. package/{tabs-nav → nav-tabs}/Tab.js +48 -32
  122. package/{tabs-nav → nav-tabs}/types.d.ts +8 -9
  123. package/nav-tabs/types.js +5 -0
  124. package/number-input/NumberInput.d.ts +7 -0
  125. package/number-input/NumberInput.js +6 -4
  126. package/number-input/NumberInput.test.js +279 -96
  127. package/package.json +3 -3
  128. package/paginator/Icons.d.ts +5 -0
  129. package/paginator/Icons.js +16 -28
  130. package/paginator/Paginator.js +7 -15
  131. package/paginator/Paginator.stories.tsx +24 -0
  132. package/paginator/Paginator.test.js +57 -47
  133. package/paragraph/Paragraph.d.ts +3 -4
  134. package/paragraph/Paragraph.js +5 -5
  135. package/password-input/Icons.d.ts +6 -0
  136. package/password-input/Icons.js +39 -0
  137. package/password-input/PasswordInput.js +35 -82
  138. package/password-input/PasswordInput.stories.tsx +1 -0
  139. package/password-input/PasswordInput.test.js +28 -35
  140. package/progress-bar/ProgressBar.d.ts +2 -2
  141. package/progress-bar/ProgressBar.js +5 -5
  142. package/progress-bar/ProgressBar.stories.jsx +35 -2
  143. package/progress-bar/ProgressBar.test.js +1 -1
  144. package/progress-bar/types.d.ts +4 -3
  145. package/quick-nav/QuickNav.stories.tsx +14 -0
  146. package/radio-group/Radio.js +10 -10
  147. package/radio-group/RadioGroup.js +8 -10
  148. package/radio-group/RadioGroup.stories.tsx +131 -18
  149. package/radio-group/RadioGroup.test.js +1 -1
  150. package/resultsetTable/ResultsetTable.js +2 -2
  151. package/resultsetTable/ResultsetTable.test.js +18 -23
  152. package/resultsetTable/types.d.ts +3 -3
  153. package/select/Listbox.d.ts +1 -1
  154. package/select/Listbox.js +5 -34
  155. package/select/Option.js +11 -24
  156. package/select/Select.js +56 -35
  157. package/select/Select.stories.tsx +495 -148
  158. package/select/Select.test.js +80 -85
  159. package/select/types.d.ts +2 -2
  160. package/sidenav/Icons.d.ts +7 -0
  161. package/sidenav/Icons.js +51 -0
  162. package/sidenav/Sidenav.d.ts +2 -2
  163. package/sidenav/Sidenav.js +66 -96
  164. package/sidenav/Sidenav.stories.tsx +165 -63
  165. package/sidenav/types.d.ts +21 -18
  166. package/slider/Slider.js +6 -7
  167. package/slider/Slider.stories.tsx +57 -0
  168. package/slider/Slider.test.js +1 -1
  169. package/slider/types.d.ts +2 -2
  170. package/spinner/Spinner.js +17 -23
  171. package/spinner/Spinner.stories.jsx +53 -27
  172. package/spinner/Spinner.test.js +1 -1
  173. package/switch/Switch.js +3 -3
  174. package/switch/Switch.stories.tsx +33 -0
  175. package/switch/Switch.test.js +1 -1
  176. package/switch/types.d.ts +2 -2
  177. package/table/Table.js +2 -2
  178. package/table/Table.stories.jsx +80 -1
  179. package/table/Table.test.js +1 -1
  180. package/tabs/Tab.js +12 -15
  181. package/tabs/Tabs.js +11 -17
  182. package/tabs/Tabs.stories.tsx +45 -5
  183. package/tabs/Tabs.test.js +4 -5
  184. package/tabs/types.d.ts +2 -2
  185. package/tag/Tag.js +7 -9
  186. package/tag/Tag.stories.tsx +14 -1
  187. package/tag/Tag.test.js +1 -1
  188. package/text-input/Suggestion.js +34 -7
  189. package/text-input/TextInput.js +71 -91
  190. package/text-input/TextInput.stories.tsx +93 -5
  191. package/text-input/TextInput.test.js +125 -26
  192. package/textarea/Textarea.js +3 -4
  193. package/textarea/Textarea.stories.jsx +60 -1
  194. package/textarea/Textarea.test.js +2 -4
  195. package/toggle-group/ToggleGroup.d.ts +2 -2
  196. package/toggle-group/ToggleGroup.js +85 -59
  197. package/toggle-group/ToggleGroup.stories.tsx +48 -3
  198. package/toggle-group/ToggleGroup.test.js +38 -24
  199. package/toggle-group/types.d.ts +22 -13
  200. package/typography/Typography.d.ts +2 -2
  201. package/typography/Typography.js +14 -113
  202. package/typography/Typography.stories.tsx +1 -1
  203. package/useTheme.d.ts +1242 -1
  204. package/useTheme.js +1 -1
  205. package/useTranslatedLabels.d.ts +84 -1
  206. package/utils/BaseTypography.d.ts +21 -0
  207. package/utils/BaseTypography.js +108 -0
  208. package/utils/FocusLock.d.ts +13 -0
  209. package/utils/FocusLock.js +138 -0
  210. package/wizard/Wizard.js +2 -2
  211. package/wizard/Wizard.stories.tsx +20 -0
  212. package/wizard/Wizard.test.js +1 -1
  213. package/wizard/types.d.ts +5 -6
  214. package/card/ice-cream.jpg +0 -0
  215. package/number-input/NumberInputContext.d.ts +0 -4
  216. package/number-input/NumberInputContext.js +0 -19
  217. package/number-input/numberInputContextTypes.d.ts +0 -19
  218. /package/{tabs-nav → grid}/types.js +0 -0
  219. /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
  220. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
@@ -19,19 +19,19 @@ var _react = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
21
 
22
- var _utils = require("../common/utils.js");
22
+ var _utils = require("../common/utils");
23
23
 
24
- var _variables = require("../common/variables.js");
24
+ var _variables = require("../common/variables");
25
25
 
26
26
  var _useTheme = _interopRequireDefault(require("../useTheme"));
27
27
 
28
28
  var _BackgroundColorContext = require("../BackgroundColorContext");
29
29
 
30
- var _Typography = _interopRequireDefault(require("../typography/Typography"));
30
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
31
31
 
32
32
  var _uuid = require("uuid");
33
33
 
34
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10;
34
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
35
35
 
36
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); }
37
37
 
@@ -68,7 +68,6 @@ var DxcAccordion = function DxcAccordion(_ref) {
68
68
  onChange = _ref.onChange,
69
69
  children = _ref.children,
70
70
  margin = _ref.margin,
71
- padding = _ref.padding,
72
71
  _ref$tabIndex = _ref.tabIndex,
73
72
  tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
74
73
 
@@ -96,7 +95,6 @@ var DxcAccordion = function DxcAccordion(_ref) {
96
95
  theme: colorsTheme.accordion
97
96
  }, /*#__PURE__*/_react["default"].createElement(AccordionContainer, {
98
97
  isExpanded: isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded,
99
- padding: padding,
100
98
  margin: margin
101
99
  }, /*#__PURE__*/_react["default"].createElement(AccordionHeader, null, /*#__PURE__*/_react["default"].createElement(AccordionTrigger, {
102
100
  id: "accordion-".concat(id),
@@ -106,22 +104,18 @@ var DxcAccordion = function DxcAccordion(_ref) {
106
104
  "aria-expanded": isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded,
107
105
  "aria-controls": "accordion-panel-".concat(id),
108
106
  isExpanded: isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded
109
- }, /*#__PURE__*/_react["default"].createElement(AccordionInfo, {
107
+ }, /*#__PURE__*/_react["default"].createElement(AccordionInfo, null, /*#__PURE__*/_react["default"].createElement(AccordionLabel, null, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
110
108
  disabled: disabled
111
- }, /*#__PURE__*/_react["default"].createElement(AccordionLabel, null, icon && /*#__PURE__*/_react["default"].createElement(IconContainer, {
112
- disabled: disabled
113
- }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement(IconImg, {
109
+ }, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
114
110
  src: icon
115
- }) : icon), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
111
+ }) : icon), /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
116
112
  color: disabled ? colorsTheme.accordion.disabledTitleLabelFontColor : colorsTheme.accordion.titleLabelFontColor,
117
113
  fontFamily: colorsTheme.accordion.titleLabelFontFamily,
118
114
  fontSize: colorsTheme.accordion.titleLabelFontSize,
119
115
  fontStyle: colorsTheme.accordion.titleLabelFontStyle,
120
116
  fontWeight: colorsTheme.accordion.titleLabelFontWeight,
121
117
  lineHeight: "1.5em"
122
- }, label)), assistiveText && /*#__PURE__*/_react["default"].createElement(AccordionAssistiveText, {
123
- disabled: disabled
124
- }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
118
+ }, label)), assistiveText && /*#__PURE__*/_react["default"].createElement(AccordionAssistiveText, null, /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
125
119
  color: disabled ? colorsTheme.accordion.disabledAssistiveTextFontColor : colorsTheme.accordion.assistiveTextFontColor,
126
120
  fontFamily: colorsTheme.accordion.assistiveTextFontFamily,
127
121
  fontSize: colorsTheme.accordion.assistiveTextFontSize,
@@ -134,8 +128,7 @@ var DxcAccordion = function DxcAccordion(_ref) {
134
128
  }, (isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded) ? expandLess : expandMore))), (isExpanded !== null && isExpanded !== void 0 ? isExpanded : innerIsExpanded) && /*#__PURE__*/_react["default"].createElement(AccordionPanel, {
135
129
  id: "accordion-panel-".concat(id),
136
130
  role: "region",
137
- "aria-labelledby": "accordion-".concat(id),
138
- padding: padding
131
+ "aria-labelledby": "accordion-".concat(id)
139
132
  }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
140
133
  color: colorsTheme.accordion.backgroundColor
141
134
  }, children))));
@@ -195,25 +188,19 @@ var AccordionLabel = _styledComponents["default"].span(_templateObject5 || (_tem
195
188
  return props.theme.titleLabelPaddingLeft;
196
189
  });
197
190
 
198
- var IconContainer = _styledComponents["default"].span(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: ", ";\n width: ", ";\n margin-left: ", ";\n margin-right: ", ";\n color: ", ";\n"])), function (props) {
199
- return props.theme.iconSize;
200
- }, function (props) {
201
- return props.theme.iconSize;
202
- }, function (props) {
191
+ 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) {
203
192
  return props.theme.iconMarginLeft;
204
193
  }, function (props) {
205
194
  return props.theme.iconMarginRigth;
206
195
  }, function (props) {
207
196
  return props.disabled ? props.theme.disabledIconColor : props.theme.iconColor;
208
- });
209
-
210
- var IconImg = _styledComponents["default"].img(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n"])), function (props) {
197
+ }, function (props) {
211
198
  return props.theme.iconSize;
212
199
  }, function (props) {
213
200
  return props.theme.iconSize;
214
201
  });
215
202
 
216
- var AccordionAssistiveText = _styledComponents["default"].span(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: ", ";\n padding-left: ", ";\n padding-right: ", ";\n"])), function (props) {
203
+ var AccordionAssistiveText = _styledComponents["default"].span(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n min-width: ", ";\n padding-left: ", ";\n padding-right: ", ";\n"])), function (props) {
217
204
  return props.theme.assistiveTextMinWidth;
218
205
  }, function (props) {
219
206
  return props.theme.assistiveTextPaddingLeft;
@@ -221,24 +208,14 @@ var AccordionAssistiveText = _styledComponents["default"].span(_templateObject8
221
208
  return props.theme.assistiveTextPaddingRight;
222
209
  });
223
210
 
224
- var CollapseIndicator = _styledComponents["default"].span(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n color: ", ";\n"])), function (props) {
211
+ 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) {
225
212
  return props.disabled ? props.theme.disabledArrowColor : props.theme.arrowColor;
226
213
  });
227
214
 
228
- var AccordionPanel = _styledComponents["default"].div(_templateObject10 || (_templateObject10 = (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) {
215
+ var AccordionPanel = _styledComponents["default"].div(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n"])), function (props) {
229
216
  return props.theme.borderRadius;
230
217
  }, function (props) {
231
218
  return props.theme.borderRadius;
232
- }, function (props) {
233
- return props.padding && (0, _typeof2["default"])(props.padding) !== "object" ? _variables.spaces[props.padding] : "0px";
234
- }, function (props) {
235
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
236
- }, function (props) {
237
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
238
- }, function (props) {
239
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
240
- }, function (props) {
241
- return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
242
219
  });
243
220
 
244
221
  var _default = DxcAccordion;
@@ -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://www.freepnglogos.com/uploads/facebook-logo-design-1.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.
@@ -126,117 +179,14 @@ export const Chromatic = () => (
126
179
  <ExampleContainer>
127
180
  <Title title="Background color provider over accordion content" theme="light" level={4} />
128
181
  <HalstackProvider advancedTheme={advancedTheme}>
129
- <DxcAccordion
130
- label="Dark Accordion"
131
- defaultIsExpanded
132
- assistiveText="Assistive text"
133
- icon={folderIcon}
134
- padding="medium"
135
- >
136
- <div style={{ display: "flex", flexDirection: "column", gap: "36px" }}>
137
- <DxcTextInput
138
- label="Label"
139
- helperText="HelperText"
140
- placeholder="Placeholder"
141
- size="fillParent"
142
- />
182
+ <DxcAccordion label="Dark Accordion" defaultIsExpanded assistiveText="Assistive text" icon={folderIcon}>
183
+ <div style={{ display: "flex", flexDirection: "column", gap: "36px", padding: "36px" }}>
184
+ <DxcTextInput label="Label" helperText="HelperText" placeholder="Placeholder" size="fillParent" />
143
185
  <DxcButton label="Submit" size="medium" />
144
186
  </div>
145
187
  </DxcAccordion>
146
188
  </HalstackProvider>
147
189
  </ExampleContainer>
148
- <Title title="Paddings" theme="light" level={2} />
149
- <ExampleContainer>
150
- <Title title="Xxsmall padding" theme="light" level={4} />
151
- <DxcAccordion label="Xxsmall padding" defaultIsExpanded padding="xxsmall">
152
- <div>
153
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
154
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
155
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
156
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
157
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
158
- est laborum.
159
- </div>
160
- </DxcAccordion>
161
- </ExampleContainer>
162
- <ExampleContainer>
163
- <Title title="Xsmall padding" theme="light" level={4} />
164
- <DxcAccordion label="Xsmall padding" defaultIsExpanded padding="xsmall">
165
- <div>
166
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
167
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
168
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
169
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
170
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
171
- est laborum.
172
- </div>
173
- </DxcAccordion>
174
- </ExampleContainer>
175
- <ExampleContainer>
176
- <Title title="Small padding" theme="light" level={4} />
177
- <DxcAccordion label="Small padding" defaultIsExpanded padding="small">
178
- <div>
179
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
180
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
181
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
182
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
183
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
184
- est laborum.
185
- </div>
186
- </DxcAccordion>
187
- </ExampleContainer>
188
- <ExampleContainer>
189
- <Title title="Medium padding" theme="light" level={4} />
190
- <DxcAccordion label="Medium padding" defaultIsExpanded padding="medium">
191
- <div>
192
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
193
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
194
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
195
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
196
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
197
- est laborum.
198
- </div>
199
- </DxcAccordion>
200
- </ExampleContainer>
201
- <ExampleContainer>
202
- <Title title="Large padding" theme="light" level={4} />
203
- <DxcAccordion label="Large padding" defaultIsExpanded padding="large">
204
- <div>
205
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
206
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
207
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
208
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
209
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
210
- est laborum.
211
- </div>
212
- </DxcAccordion>
213
- </ExampleContainer>
214
- <ExampleContainer>
215
- <Title title="Xlarge padding" theme="light" level={4} />
216
- <DxcAccordion label="Xlarge padding" defaultIsExpanded padding="xlarge">
217
- <div>
218
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
219
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
220
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
221
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
222
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
223
- est laborum.
224
- </div>
225
- </DxcAccordion>
226
- </ExampleContainer>
227
- <ExampleContainer>
228
- <Title title="Xxlarge padding" theme="light" level={4} />
229
- <DxcAccordion label="Xxlarge padding" defaultIsExpanded padding="xxlarge">
230
- <div>
231
- <DxcHeading level={5} text="Content header" margin={{ bottom: "xxsmall" }} />
232
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore
233
- magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
234
- consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla
235
- pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id
236
- est laborum.
237
- </div>
238
- </DxcAccordion>
239
- </ExampleContainer>
240
190
  <Title title="Margins" theme="light" level={2} />
241
191
  <ExampleContainer>
242
192
  <Title title="Xxsmall margin" theme="light" level={4} />
@@ -300,7 +250,48 @@ export const Chromatic = () => (
300
250
  lobortis eget.
301
251
  </div>
302
252
  </DxcAccordion>
303
- <hr />
253
+ </ExampleContainer>
254
+ <Title title="Opinionated theme" theme="light" level={2} />
255
+ <ExampleContainer>
256
+ <Title title="With assistive text and icon" theme="light" level={4} />
257
+ <HalstackProvider theme={opinionatedTheme}>
258
+ <DxcAccordion label="Accordion" assistiveText="Assistive text" icon={folderIcon}>
259
+ Content
260
+ </DxcAccordion>
261
+ </HalstackProvider>
262
+ </ExampleContainer>
263
+ <ExampleContainer pseudoState="pseudo-hover">
264
+ <Title title="Hovered" theme="light" level={4} />
265
+ <HalstackProvider theme={opinionatedTheme}>
266
+ <DxcAccordion label="Hovered">
267
+ <div>
268
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
269
+ leo lobortis eget.
270
+ </div>
271
+ </DxcAccordion>
272
+ </HalstackProvider>
273
+ </ExampleContainer>
274
+ <ExampleContainer pseudoState="pseudo-active">
275
+ <Title title="Active" theme="light" level={4} />
276
+ <HalstackProvider theme={opinionatedTheme}>
277
+ <DxcAccordion label="Active">
278
+ <div>
279
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
280
+ leo lobortis eget.
281
+ </div>
282
+ </DxcAccordion>
283
+ </HalstackProvider>
284
+ </ExampleContainer>
285
+ <ExampleContainer>
286
+ <Title title="Disabled" theme="light" level={4} />
287
+ <HalstackProvider theme={opinionatedTheme}>
288
+ <DxcAccordion label="Disabled" assistiveText="Assistive text" icon={folderIcon} disabled>
289
+ <div>
290
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse malesuada lacus ex, sit amet blandit
291
+ leo lobortis eget.
292
+ </div>
293
+ </DxcAccordion>
294
+ </HalstackProvider>
304
295
  </ExampleContainer>
305
296
  </>
306
297
  );
@@ -6,7 +6,7 @@ var _react = _interopRequireDefault(require("react"));
6
6
 
7
7
  var _react2 = require("@testing-library/react");
8
8
 
9
- var _Accordion = _interopRequireDefault(require("./Accordion"));
9
+ var _Accordion = _interopRequireDefault(require("./Accordion.tsx"));
10
10
 
11
11
  describe("Accordion component tests", function () {
12
12
  test("Renders with correct aria accessibility attributes", function () {
@@ -1,12 +1,6 @@
1
1
  /// <reference types="react" />
2
- export declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- export declare type Margin = {
4
- top?: Space;
5
- bottom?: Space;
6
- left?: Space;
7
- right?: Space;
8
- };
9
- export declare type Padding = {
2
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ declare type Margin = {
10
4
  top?: Space;
11
5
  bottom?: Space;
12
6
  left?: Space;
@@ -55,12 +49,6 @@ declare type Props = {
55
49
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
56
50
  */
57
51
  margin?: Space | Margin;
58
- /**
59
- * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
60
- * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
61
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
62
- */
63
- padding?: Space | Padding;
64
52
  /**
65
53
  * Value of the tabindex.
66
54
  */
@@ -1,7 +1,8 @@
1
- /// <reference types="react" />
2
- import AccordionGroupPropsType, { AccordionPropsType } from "./types";
1
+ import React from "react";
2
+ import AccordionGroupPropsType, { AccordionGroupAccordionContextProps } from "./types";
3
+ export declare const AccordionGroupAccordionContext: React.Context<AccordionGroupAccordionContextProps>;
3
4
  declare const DxcAccordionGroup: {
4
5
  ({ defaultIndexActive, indexActive, disabled, onActiveChange, margin, children, }: AccordionGroupPropsType): JSX.Element;
5
- Accordion: ({ ...childProps }: AccordionPropsType) => JSX.Element;
6
+ Accordion: ({ ...childProps }: import("./types").AccordionPropsType) => JSX.Element;
6
7
  };
7
8
  export default DxcAccordionGroup;
@@ -7,7 +7,7 @@ var _typeof3 = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports["default"] = void 0;
10
+ exports["default"] = exports.AccordionGroupAccordionContext = void 0;
11
11
 
12
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
13
 
@@ -17,20 +17,18 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
17
17
 
18
18
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
19
 
20
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
21
-
22
20
  var _react = _interopRequireWildcard(require("react"));
23
21
 
24
22
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
25
23
 
26
- var _Accordion = _interopRequireDefault(require("../accordion/Accordion"));
27
-
28
- var _utils = require("../common/utils.js");
24
+ var _utils = require("../common/utils");
29
25
 
30
- var _variables = require("../common/variables.js");
26
+ var _variables = require("../common/variables");
31
27
 
32
28
  var _useTheme = _interopRequireDefault(require("../useTheme"));
33
29
 
30
+ var _AccordionGroupAccordion = _interopRequireDefault(require("./AccordionGroupAccordion"));
31
+
34
32
  var _templateObject;
35
33
 
36
34
  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); }
@@ -42,33 +40,16 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
42
40
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
41
 
44
42
  var AccordionGroupAccordionContext = /*#__PURE__*/(0, _react.createContext)(null);
45
-
46
- var AccordionGroupAccordion = function AccordionGroupAccordion(_ref) {
47
- var childProps = (0, _extends2["default"])({}, _ref);
48
-
49
- var _useContext = (0, _react.useContext)(AccordionGroupAccordionContext),
50
- activeIndex = _useContext.activeIndex,
51
- handlerActiveChange = _useContext.handlerActiveChange,
52
- disabled = _useContext.disabled,
53
- index = _useContext.index;
54
-
55
- return /*#__PURE__*/_react["default"].createElement(_Accordion["default"], (0, _extends2["default"])({
56
- isExpanded: activeIndex === index,
57
- onChange: function onChange() {
58
- handlerActiveChange(index);
59
- },
60
- disabled: disabled
61
- }, childProps), childProps.children);
62
- };
63
-
64
- var DxcAccordionGroup = function DxcAccordionGroup(_ref2) {
65
- var defaultIndexActive = _ref2.defaultIndexActive,
66
- indexActive = _ref2.indexActive,
67
- _ref2$disabled = _ref2.disabled,
68
- disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
69
- onActiveChange = _ref2.onActiveChange,
70
- margin = _ref2.margin,
71
- children = _ref2.children;
43
+ exports.AccordionGroupAccordionContext = AccordionGroupAccordionContext;
44
+
45
+ var DxcAccordionGroup = function DxcAccordionGroup(_ref) {
46
+ var defaultIndexActive = _ref.defaultIndexActive,
47
+ indexActive = _ref.indexActive,
48
+ _ref$disabled = _ref.disabled,
49
+ disabled = _ref$disabled === void 0 ? false : _ref$disabled,
50
+ onActiveChange = _ref.onActiveChange,
51
+ margin = _ref.margin,
52
+ children = _ref.children;
72
53
  var colorsTheme = (0, _useTheme["default"])();
73
54
 
74
55
  var _useState = (0, _react.useState)(defaultIndexActive !== null && defaultIndexActive !== void 0 ? defaultIndexActive : -1),
@@ -94,9 +75,7 @@ var DxcAccordionGroup = function DxcAccordionGroup(_ref2) {
94
75
  }, /*#__PURE__*/_react["default"].createElement(AccordionGroupContainer, {
95
76
  margin: margin,
96
77
  disabled: disabled
97
- }, (Array.isArray(children) ? children : [children]).filter(function (child) {
98
- return child.type === AccordionGroupAccordion;
99
- }).map(function (accordion, index) {
78
+ }, _react.Children.map(children, function (accordion, index) {
100
79
  return /*#__PURE__*/_react["default"].createElement(AccordionGroupAccordionContext.Provider, {
101
80
  key: "accordion-".concat(index),
102
81
  value: _objectSpread({
@@ -106,7 +85,7 @@ var DxcAccordionGroup = function DxcAccordionGroup(_ref2) {
106
85
  })));
107
86
  };
108
87
 
109
- DxcAccordionGroup.Accordion = AccordionGroupAccordion;
88
+ DxcAccordionGroup.Accordion = _AccordionGroupAccordion["default"];
110
89
 
111
90
  var calculateWidth = function calculateWidth(margin) {
112
91
  return "calc(100% - ".concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")");
@@ -114,20 +93,20 @@ var calculateWidth = function calculateWidth(margin) {
114
93
 
115
94
  var AccordionGroupContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n cursor: ", ";\n\n > div:not(:last-of-type):not(:only-of-type) {\n border-bottom: ", ";\n border-color: ", ";\n }\n > div:not(:first-of-type):not(:last-of-type):not(:only-of-type) {\n border-radius: 0;\n & > h3 > button {\n border-radius: 0;\n }\n }\n > div:first-of-type:not(:only-of-type) {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n\n & > h3 > button {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n > div:last-of-type:not(:only-of-type) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n\n & > h3 > button {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n }\n }\n"])), function (props) {
116
95
  return calculateWidth(props.margin);
96
+ }, function (_ref2) {
97
+ var margin = _ref2.margin;
98
+ return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
117
99
  }, function (_ref3) {
118
100
  var margin = _ref3.margin;
119
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
101
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
120
102
  }, function (_ref4) {
121
103
  var margin = _ref4.margin;
122
- return margin && (0, _typeof2["default"])(margin) === "object" && margin.top ? _variables.spaces[margin.top] : "";
104
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
123
105
  }, function (_ref5) {
124
106
  var margin = _ref5.margin;
125
- return margin && (0, _typeof2["default"])(margin) === "object" && margin.right ? _variables.spaces[margin.right] : "";
107
+ return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
126
108
  }, function (_ref6) {
127
109
  var margin = _ref6.margin;
128
- return margin && (0, _typeof2["default"])(margin) === "object" && margin.bottom ? _variables.spaces[margin.bottom] : "";
129
- }, function (_ref7) {
130
- var margin = _ref7.margin;
131
110
  return margin && (0, _typeof2["default"])(margin) === "object" && margin.left ? _variables.spaces[margin.left] : "";
132
111
  }, function (props) {
133
112
  return props.disabled ? "not-allowed" : "pointer";