@dxc-technology/halstack-react 0.0.0-d20b360 → 0.0.0-d3554d7

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 (273) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/ThemeContext.d.ts +10 -0
  4. package/ThemeContext.js +26 -29
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +11 -22
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +57 -0
  9. package/accordion/types.d.ts +4 -8
  10. package/accordion-group/AccordionGroup.js +2 -2
  11. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  12. package/accordion-group/AccordionGroup.test.js +133 -0
  13. package/accordion-group/types.d.ts +4 -8
  14. package/alert/Alert.js +2 -2
  15. package/alert/Alert.stories.tsx +170 -0
  16. package/alert/Alert.test.js +92 -0
  17. package/alert/types.d.ts +1 -1
  18. package/badge/Badge.d.ts +4 -0
  19. package/badge/Badge.js +1 -1
  20. package/badge/types.d.ts +4 -0
  21. package/badge/types.js +5 -0
  22. package/bleed/Bleed.d.ts +3 -0
  23. package/bleed/Bleed.js +84 -0
  24. package/bleed/Bleed.stories.tsx +342 -0
  25. package/bleed/types.d.ts +13 -0
  26. package/bleed/types.js +5 -0
  27. package/box/Box.d.ts +4 -0
  28. package/box/Box.js +6 -32
  29. package/box/{Box.stories.jsx → Box.stories.tsx} +0 -0
  30. package/box/Box.test.js +18 -0
  31. package/box/types.d.ts +43 -0
  32. package/box/types.js +5 -0
  33. package/button/Button.d.ts +1 -1
  34. package/button/Button.js +15 -26
  35. package/button/Button.stories.tsx +223 -242
  36. package/button/Button.test.js +35 -0
  37. package/button/types.d.ts +9 -13
  38. package/card/Card.js +5 -6
  39. package/card/Card.stories.tsx +201 -0
  40. package/card/Card.test.js +50 -0
  41. package/card/ice-cream.jpg +0 -0
  42. package/card/types.d.ts +4 -6
  43. package/checkbox/Checkbox.js +2 -2
  44. package/checkbox/Checkbox.test.js +65 -0
  45. package/checkbox/types.d.ts +2 -2
  46. package/chip/Chip.d.ts +4 -0
  47. package/chip/Chip.js +16 -76
  48. package/chip/Chip.stories.tsx +119 -0
  49. package/chip/Chip.test.js +56 -0
  50. package/chip/types.d.ts +45 -0
  51. package/chip/types.js +5 -0
  52. package/common/variables.js +85 -281
  53. package/date-input/DateInput.js +10 -13
  54. package/date-input/DateInput.stories.tsx +138 -0
  55. package/date-input/DateInput.test.js +469 -0
  56. package/dialog/Dialog.js +4 -3
  57. package/dialog/Dialog.stories.tsx +212 -0
  58. package/dialog/Dialog.test.js +40 -0
  59. package/dropdown/Dropdown.d.ts +1 -1
  60. package/dropdown/Dropdown.js +13 -35
  61. package/dropdown/Dropdown.stories.tsx +249 -0
  62. package/dropdown/Dropdown.test.js +189 -0
  63. package/dropdown/types.d.ts +6 -15
  64. package/file-input/FileInput.d.ts +4 -0
  65. package/file-input/FileInput.js +167 -109
  66. package/file-input/FileInput.stories.tsx +507 -0
  67. package/file-input/FileInput.test.js +457 -0
  68. package/file-input/FileItem.d.ts +14 -0
  69. package/file-input/FileItem.js +12 -21
  70. package/file-input/types.d.ts +112 -0
  71. package/file-input/types.js +5 -0
  72. package/footer/Footer.d.ts +1 -1
  73. package/footer/Footer.js +28 -36
  74. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
  75. package/footer/Footer.test.js +109 -0
  76. package/footer/Icons.d.ts +2 -0
  77. package/footer/Icons.js +3 -3
  78. package/footer/types.d.ts +22 -18
  79. package/header/Header.js +2 -2
  80. package/header/Header.stories.tsx +162 -0
  81. package/header/Header.test.js +63 -0
  82. package/header/Icons.d.ts +2 -0
  83. package/header/types.d.ts +4 -2
  84. package/heading/Heading.d.ts +4 -0
  85. package/heading/Heading.js +7 -24
  86. package/heading/Heading.stories.tsx +54 -0
  87. package/heading/Heading.test.js +186 -0
  88. package/heading/types.d.ts +33 -0
  89. package/heading/types.js +5 -0
  90. package/inset/Inset.d.ts +3 -0
  91. package/inset/Inset.js +84 -0
  92. package/inset/Inset.stories.tsx +229 -0
  93. package/inset/types.d.ts +13 -0
  94. package/inset/types.js +5 -0
  95. package/layout/ApplicationLayout.d.ts +10 -0
  96. package/layout/ApplicationLayout.js +17 -21
  97. package/layout/ApplicationLayout.stories.tsx +171 -0
  98. package/layout/types.d.ts +57 -0
  99. package/layout/types.js +5 -0
  100. package/link/Link.d.ts +3 -0
  101. package/link/Link.js +10 -40
  102. package/link/Link.stories.tsx +151 -0
  103. package/link/Link.test.js +91 -0
  104. package/link/types.d.ts +70 -0
  105. package/link/types.js +5 -0
  106. package/list/List.d.ts +4 -0
  107. package/list/List.js +47 -0
  108. package/list/List.stories.tsx +95 -0
  109. package/list/types.d.ts +7 -0
  110. package/list/types.js +5 -0
  111. package/main.d.ts +10 -8
  112. package/main.js +54 -38
  113. package/number-input/NumberInput.d.ts +4 -0
  114. package/number-input/NumberInput.js +5 -50
  115. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +0 -0
  116. package/number-input/NumberInput.test.js +508 -0
  117. package/number-input/NumberInputContext.d.ts +4 -0
  118. package/number-input/NumberInputContext.js +5 -2
  119. package/number-input/numberInputContextTypes.d.ts +19 -0
  120. package/number-input/numberInputContextTypes.js +5 -0
  121. package/number-input/types.d.ts +117 -0
  122. package/number-input/types.js +5 -0
  123. package/package.json +4 -2
  124. package/paginator/Paginator.js +2 -8
  125. package/paginator/Paginator.test.js +266 -0
  126. package/password-input/PasswordInput.d.ts +4 -0
  127. package/password-input/PasswordInput.js +19 -55
  128. package/password-input/{PasswordInput.stories.jsx → PasswordInput.stories.tsx} +4 -4
  129. package/password-input/PasswordInput.test.js +183 -0
  130. package/password-input/types.d.ts +107 -0
  131. package/password-input/types.js +5 -0
  132. package/progress-bar/ProgressBar.js +4 -4
  133. package/progress-bar/ProgressBar.stories.jsx +58 -0
  134. package/progress-bar/ProgressBar.test.js +65 -0
  135. package/radio/Radio.js +2 -2
  136. package/radio/Radio.test.js +71 -0
  137. package/radio/types.d.ts +2 -2
  138. package/radio-group/Radio.d.ts +4 -0
  139. package/radio-group/Radio.js +141 -0
  140. package/radio-group/RadioGroup.d.ts +4 -0
  141. package/radio-group/RadioGroup.js +279 -0
  142. package/radio-group/RadioGroup.stories.tsx +96 -0
  143. package/radio-group/RadioGroup.test.js +694 -0
  144. package/radio-group/types.d.ts +37 -0
  145. package/radio-group/types.js +5 -0
  146. package/resultsetTable/ResultsetTable.d.ts +4 -0
  147. package/resultsetTable/ResultsetTable.js +9 -29
  148. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  149. package/resultsetTable/ResultsetTable.test.js +306 -0
  150. package/resultsetTable/types.d.ts +67 -0
  151. package/resultsetTable/types.js +5 -0
  152. package/row/Row.d.ts +3 -0
  153. package/row/Row.js +127 -0
  154. package/row/Row.stories.tsx +237 -0
  155. package/row/types.d.ts +10 -0
  156. package/row/types.js +5 -0
  157. package/select/Select.d.ts +4 -0
  158. package/select/Select.js +26 -22
  159. package/select/Select.stories.tsx +582 -0
  160. package/select/Select.test.js +1900 -0
  161. package/select/types.d.ts +170 -0
  162. package/select/types.js +5 -0
  163. package/sidenav/Sidenav.d.ts +9 -0
  164. package/sidenav/Sidenav.js +6 -15
  165. package/sidenav/Sidenav.stories.tsx +182 -0
  166. package/sidenav/Sidenav.test.js +56 -0
  167. package/sidenav/types.d.ts +50 -0
  168. package/sidenav/types.js +5 -0
  169. package/slider/Slider.d.ts +1 -1
  170. package/slider/Slider.js +43 -32
  171. package/slider/Slider.stories.tsx +177 -0
  172. package/slider/Slider.test.js +129 -0
  173. package/slider/types.d.ts +2 -7
  174. package/spinner/Spinner.d.ts +4 -0
  175. package/spinner/Spinner.js +2 -19
  176. package/spinner/Spinner.stories.jsx +1 -0
  177. package/spinner/Spinner.test.js +64 -0
  178. package/spinner/types.d.ts +32 -0
  179. package/spinner/types.js +5 -0
  180. package/stack/Stack.d.ts +3 -0
  181. package/stack/Stack.js +97 -0
  182. package/stack/Stack.stories.tsx +164 -0
  183. package/stack/types.d.ts +9 -0
  184. package/stack/types.js +5 -0
  185. package/switch/Switch.js +4 -4
  186. package/switch/Switch.stories.tsx +160 -0
  187. package/switch/Switch.test.js +73 -0
  188. package/table/Table.d.ts +4 -0
  189. package/table/Table.js +3 -3
  190. package/table/Table.stories.jsx +2 -1
  191. package/table/Table.test.js +26 -0
  192. package/table/types.d.ts +21 -0
  193. package/table/types.js +5 -0
  194. package/tabs/Tabs.js +11 -9
  195. package/tabs/Tabs.stories.tsx +120 -0
  196. package/tabs/Tabs.test.js +123 -0
  197. package/tabs/types.d.ts +25 -18
  198. package/tag/Tag.d.ts +4 -0
  199. package/tag/Tag.js +26 -46
  200. package/tag/Tag.stories.tsx +138 -0
  201. package/tag/Tag.test.js +60 -0
  202. package/tag/types.d.ts +69 -0
  203. package/tag/types.js +5 -0
  204. package/text/Text.d.ts +7 -0
  205. package/text/Text.js +30 -0
  206. package/text/Text.stories.tsx +19 -0
  207. package/text-input/TextInput.d.ts +4 -0
  208. package/text-input/TextInput.js +59 -88
  209. package/text-input/TextInput.stories.tsx +474 -0
  210. package/text-input/TextInput.test.js +1691 -0
  211. package/text-input/types.d.ts +159 -0
  212. package/text-input/types.js +5 -0
  213. package/textarea/Textarea.d.ts +4 -0
  214. package/textarea/Textarea.js +32 -63
  215. package/textarea/Textarea.stories.jsx +34 -12
  216. package/textarea/Textarea.test.js +436 -0
  217. package/textarea/types.d.ts +130 -0
  218. package/textarea/types.js +5 -0
  219. package/toggle-group/ToggleGroup.d.ts +4 -0
  220. package/toggle-group/ToggleGroup.js +16 -45
  221. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  222. package/toggle-group/ToggleGroup.test.js +125 -0
  223. package/toggle-group/types.d.ts +97 -0
  224. package/toggle-group/types.js +5 -0
  225. package/useTheme.d.ts +2 -0
  226. package/useTheme.js +1 -1
  227. package/wizard/Wizard.d.ts +4 -0
  228. package/wizard/Wizard.js +69 -59
  229. package/wizard/Wizard.stories.tsx +224 -0
  230. package/wizard/Wizard.test.js +128 -0
  231. package/wizard/types.d.ts +60 -0
  232. package/wizard/types.js +5 -0
  233. package/V3Select/V3Select.js +0 -455
  234. package/V3Select/index.d.ts +0 -27
  235. package/V3Textarea/V3Textarea.js +0 -260
  236. package/V3Textarea/index.d.ts +0 -27
  237. package/box/index.d.ts +0 -25
  238. package/chip/index.d.ts +0 -22
  239. package/date/Date.js +0 -373
  240. package/date/index.d.ts +0 -27
  241. package/file-input/index.d.ts +0 -81
  242. package/heading/index.d.ts +0 -17
  243. package/input-text/Icons.js +0 -22
  244. package/input-text/InputText.js +0 -611
  245. package/input-text/index.d.ts +0 -36
  246. package/link/index.d.ts +0 -23
  247. package/number-input/index.d.ts +0 -113
  248. package/password-input/index.d.ts +0 -94
  249. package/resultsetTable/index.d.ts +0 -19
  250. package/select/index.d.ts +0 -131
  251. package/sidenav/index.d.ts +0 -13
  252. package/spinner/index.d.ts +0 -17
  253. package/table/index.d.ts +0 -13
  254. package/tag/index.d.ts +0 -24
  255. package/text-input/index.d.ts +0 -135
  256. package/textarea/index.d.ts +0 -117
  257. package/toggle/Toggle.js +0 -186
  258. package/toggle/index.d.ts +0 -21
  259. package/toggle-group/index.d.ts +0 -21
  260. package/upload/Upload.js +0 -201
  261. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  262. package/upload/buttons-upload/Icons.js +0 -40
  263. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  264. package/upload/dragAndDropArea/Icons.js +0 -39
  265. package/upload/file-upload/FileToUpload.js +0 -115
  266. package/upload/file-upload/Icons.js +0 -66
  267. package/upload/files-upload/FilesToUpload.js +0 -109
  268. package/upload/index.d.ts +0 -15
  269. package/upload/transaction/Icons.js +0 -160
  270. package/upload/transaction/Transaction.js +0 -104
  271. package/upload/transactions/Transactions.js +0 -94
  272. package/wizard/Icons.js +0 -65
  273. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import HeadingPropsType from "./types";
3
+ declare const DxcHeading: ({ level, text, as, weight, margin }: HeadingPropsType) => JSX.Element;
4
+ export default DxcHeading;
@@ -9,8 +9,6 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -19,11 +17,9 @@ var _react = _interopRequireDefault(require("react"));
19
17
 
20
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
19
 
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
20
  var _variables = require("../common/variables.js");
25
21
 
26
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
22
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
27
23
 
28
24
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
29
25
 
@@ -37,8 +33,7 @@ var DxcHeading = function DxcHeading(_ref) {
37
33
  _ref$text = _ref.text,
38
34
  text = _ref$text === void 0 ? "" : _ref$text,
39
35
  as = _ref.as,
40
- _ref$weight = _ref.weight,
41
- weight = _ref$weight === void 0 ? "" : _ref$weight,
36
+ weight = _ref.weight,
42
37
  margin = _ref.margin;
43
38
  var colorsTheme = (0, _useTheme["default"])();
44
39
 
@@ -51,19 +46,19 @@ var DxcHeading = function DxcHeading(_ref) {
51
46
  }, /*#__PURE__*/_react["default"].createElement(HeadingContainer, {
52
47
  margin: margin
53
48
  }, level === 1 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel1, {
54
- as: checkValidAs(as),
49
+ as: checkValidAs(),
55
50
  weight: weight
56
51
  }, text) : level === 2 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel2, {
57
- as: checkValidAs(as),
52
+ as: checkValidAs(),
58
53
  weight: weight
59
54
  }, text) : level === 3 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel3, {
60
- as: checkValidAs(as),
55
+ as: checkValidAs(),
61
56
  weight: weight
62
57
  }, text) : level === 4 ? /*#__PURE__*/_react["default"].createElement(HeadingLevel4, {
63
- as: checkValidAs(as),
58
+ as: checkValidAs(),
64
59
  weight: weight
65
60
  }, text) : /*#__PURE__*/_react["default"].createElement(HeadingLevel5, {
66
- as: checkValidAs(as),
61
+ as: checkValidAs(),
67
62
  weight: weight
68
63
  }, text)));
69
64
  };
@@ -160,17 +155,5 @@ var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6 || (_templa
160
155
  return props.theme.level5FontColor;
161
156
  });
162
157
 
163
- DxcHeading.propTypes = {
164
- level: _propTypes["default"].number,
165
- text: _propTypes["default"].string,
166
- as: _propTypes["default"].oneOf(["h1", "h2", "h3", "h4", "h5"]),
167
- weight: _propTypes["default"].oneOf(["light", "normal", "bold", ""]),
168
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
169
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
170
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
171
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
172
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
173
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
174
- };
175
158
  var _default = DxcHeading;
176
159
  exports["default"] = _default;
@@ -0,0 +1,54 @@
1
+ import React from "react";
2
+ import DxcHeading from "./Heading";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+
6
+ export default {
7
+ title: "Heading",
8
+ component: DxcHeading,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <Title title="Levels" theme="light" level={2} />
14
+ <ExampleContainer>
15
+ <Title title="Level 1" theme="light" level={4} />
16
+ <DxcHeading text="Heading for sections within the page" />
17
+ <Title title="Level 2" theme="light" level={4} />
18
+ <DxcHeading text="Heading for sections within the page" level={2} />
19
+ <Title title="Level 3" theme="light" level={4} />
20
+ <DxcHeading text="Heading for sections within the page" level={3} />
21
+ <Title title="Level 4" theme="light" level={4} />
22
+ <DxcHeading text="Heading for sections within the page" level={4} />
23
+ <Title title="Level 5" theme="light" level={4} />
24
+ <DxcHeading text="Heading for sections within the page" level={5} />
25
+ </ExampleContainer>
26
+ <Title title="Weights" theme="light" level={2} />
27
+ <ExampleContainer>
28
+ <Title title="'light' Weight" theme="light" level={4} />
29
+ <DxcHeading text="Heading for sections within the page" level={2} weight="light" />
30
+ <Title title="'normal' Weight" theme="light" level={4} />
31
+ <DxcHeading text="Heading for sections within the page" level={2} weight="normal" />
32
+ <Title title="'bold' Weight" theme="light" level={4} />
33
+ <DxcHeading text="Heading for sections within the page" level={2} weight="bold" />
34
+ </ExampleContainer>
35
+ <Title title="Margins" theme="light" level={2} />
36
+ <ExampleContainer>
37
+ <Title title="Xxsmall" theme="light" level={4} />
38
+ <DxcHeading text="Xxsmall" margin="xxsmall" />
39
+ <Title title="Xsmall" theme="light" level={4} />
40
+ <DxcHeading text="Xsmall" margin="xsmall" />
41
+ <Title title="Small" theme="light" level={4} />
42
+ <DxcHeading text="Small" margin="small" />
43
+ <Title title="Medium" theme="light" level={4} />
44
+ <DxcHeading text="Medium" margin="medium" />
45
+ <Title title="Large" theme="light" level={4} />
46
+ <DxcHeading text="Large" margin="large" />
47
+ <Title title="Xlarge" theme="light" level={4} />
48
+ <DxcHeading text="Xlarge" margin="xlarge" />
49
+ <Title title="Xxlarge" theme="light" level={4} />
50
+ <DxcHeading text="Xxlarge" margin="xxlarge" />
51
+ <hr />
52
+ </ExampleContainer>
53
+ </>
54
+ );
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Heading = _interopRequireDefault(require("./Heading"));
10
+
11
+ describe("Heading component tests", function () {
12
+ test("Heading renders with default level", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
14
+ text: "my-heading-test"
15
+ })),
16
+ getByText = _render.getByText,
17
+ getByRole = _render.getByRole;
18
+
19
+ expect(getByText("my-heading-test")).toBeTruthy();
20
+ expect(getByRole("heading", {
21
+ level: 1
22
+ })).toBeTruthy();
23
+ });
24
+ test("Heading renders with level 1", function () {
25
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
26
+ text: "my-heading-test",
27
+ level: 1
28
+ })),
29
+ getByText = _render2.getByText,
30
+ getByRole = _render2.getByRole;
31
+
32
+ expect(getByText("my-heading-test")).toBeTruthy();
33
+ expect(getByRole("heading", {
34
+ level: 1
35
+ })).toBeTruthy();
36
+ });
37
+ test("Heading renders with level 2", function () {
38
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
39
+ text: "my-heading-test",
40
+ level: 2
41
+ })),
42
+ getByText = _render3.getByText,
43
+ getByRole = _render3.getByRole;
44
+
45
+ expect(getByText("my-heading-test")).toBeTruthy();
46
+ expect(getByRole("heading", {
47
+ level: 2
48
+ })).toBeTruthy();
49
+ });
50
+ test("Heading renders with level 3", function () {
51
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
52
+ text: "my-heading-test",
53
+ level: 3
54
+ })),
55
+ getByText = _render4.getByText,
56
+ getByRole = _render4.getByRole;
57
+
58
+ expect(getByText("my-heading-test")).toBeTruthy();
59
+ expect(getByRole("heading", {
60
+ level: 3
61
+ })).toBeTruthy();
62
+ });
63
+ test("Heading renders with level 4", function () {
64
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
65
+ text: "my-heading-test",
66
+ level: 4
67
+ })),
68
+ getByText = _render5.getByText,
69
+ getByRole = _render5.getByRole;
70
+
71
+ expect(getByText("my-heading-test")).toBeTruthy();
72
+ expect(getByRole("heading", {
73
+ level: 4
74
+ })).toBeTruthy();
75
+ });
76
+ test("Heading renders with level 5", function () {
77
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
78
+ text: "my-heading-test",
79
+ level: 5
80
+ })),
81
+ getByText = _render6.getByText,
82
+ getByRole = _render6.getByRole;
83
+
84
+ expect(getByText("my-heading-test")).toBeTruthy();
85
+ expect(getByRole("heading", {
86
+ level: 5
87
+ })).toBeTruthy();
88
+ });
89
+ test("Heading renders with default level and as h5", function () {
90
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
91
+ text: "my-heading-test",
92
+ as: "h5"
93
+ })),
94
+ getByText = _render7.getByText,
95
+ getByRole = _render7.getByRole;
96
+
97
+ expect(getByText("my-heading-test")).toBeTruthy();
98
+ expect(getByRole("heading", {
99
+ level: 5
100
+ })).toBeTruthy();
101
+ });
102
+ test("Heading renders with level 1 and as h5", function () {
103
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
104
+ text: "my-heading-test",
105
+ level: 1,
106
+ as: "h5"
107
+ })),
108
+ getByText = _render8.getByText,
109
+ getByRole = _render8.getByRole;
110
+
111
+ expect(getByText("my-heading-test")).toBeTruthy();
112
+ expect(getByRole("heading", {
113
+ level: 5
114
+ })).toBeTruthy();
115
+ });
116
+ test("Heading renders with level 2 and as h4", function () {
117
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
118
+ text: "my-heading-test",
119
+ level: 2,
120
+ as: "h4"
121
+ })),
122
+ getByText = _render9.getByText,
123
+ getByRole = _render9.getByRole;
124
+
125
+ expect(getByText("my-heading-test")).toBeTruthy();
126
+ expect(getByRole("heading", {
127
+ level: 4
128
+ })).toBeTruthy();
129
+ });
130
+ test("Heading renders with level 3 and as h2", function () {
131
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
132
+ text: "my-heading-test",
133
+ level: 3,
134
+ as: "h2"
135
+ })),
136
+ getByText = _render10.getByText,
137
+ getByRole = _render10.getByRole;
138
+
139
+ expect(getByText("my-heading-test")).toBeTruthy();
140
+ expect(getByRole("heading", {
141
+ level: 2
142
+ })).toBeTruthy();
143
+ });
144
+ test("Heading renders with level 4 and as h3", function () {
145
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
146
+ text: "my-heading-test",
147
+ level: 4,
148
+ as: "h3"
149
+ })),
150
+ getByText = _render11.getByText,
151
+ getByRole = _render11.getByRole;
152
+
153
+ expect(getByText("my-heading-test")).toBeTruthy();
154
+ expect(getByRole("heading", {
155
+ level: 3
156
+ })).toBeTruthy();
157
+ });
158
+ test("Heading renders with level 5 as h4", function () {
159
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
160
+ text: "my-heading-test",
161
+ level: 5,
162
+ as: "h4"
163
+ })),
164
+ getByText = _render12.getByText,
165
+ getByRole = _render12.getByRole;
166
+
167
+ expect(getByText("my-heading-test")).toBeTruthy();
168
+ expect(getByRole("heading", {
169
+ level: 4
170
+ })).toBeTruthy();
171
+ });
172
+ test("Heading renders with level 5 and invalid as", function () {
173
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
174
+ text: "my-heading-test",
175
+ level: 5,
176
+ as: "h4afdssf"
177
+ })),
178
+ getByText = _render13.getByText,
179
+ getByRole = _render13.getByRole;
180
+
181
+ expect(getByText("my-heading-test")).toBeTruthy();
182
+ expect(getByRole("heading", {
183
+ level: 5
184
+ })).toBeTruthy();
185
+ });
186
+ });
@@ -0,0 +1,33 @@
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type Props = {
9
+ /**
10
+ * Defines the heading level from 1 to 5. The styles of the heading are applied according to the level.
11
+ * The html tag of the heading will be the one specified in the 'as' prop.
12
+ * If 'as' is not specified, the html tag of the heading is the one specified in the 'level' prop.
13
+ */
14
+ level?: 1 | 2 | 3 | 4 | 5;
15
+ /**
16
+ * Heading text.
17
+ */
18
+ text: string;
19
+ /**
20
+ * Specifies the html tag of the heading.
21
+ */
22
+ as?: "h1" | "h2" | "h3" | "h4" | "h5";
23
+ /**
24
+ * Modifies the default weight of the heading.
25
+ */
26
+ weight?: "light" | "normal" | "bold";
27
+ /**
28
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
29
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
30
+ */
31
+ margin?: Space | Margin;
32
+ };
33
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import InsetPropsType from "./types";
3
+ export default function Inset({ space, horizontal, vertical, top, right, bottom, left, children, }: InsetPropsType): JSX.Element;
package/inset/Inset.js ADDED
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = Inset;
9
+
10
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _templateObject;
17
+
18
+ function Inset(_ref) {
19
+ var space = _ref.space,
20
+ horizontal = _ref.horizontal,
21
+ vertical = _ref.vertical,
22
+ top = _ref.top,
23
+ right = _ref.right,
24
+ bottom = _ref.bottom,
25
+ left = _ref.left,
26
+ children = _ref.children;
27
+ return /*#__PURE__*/_react["default"].createElement(StyledInset, {
28
+ space: space,
29
+ horizontal: horizontal,
30
+ vertical: vertical,
31
+ top: top,
32
+ right: right,
33
+ bottom: bottom,
34
+ left: left
35
+ }, children);
36
+ }
37
+
38
+ function getSpacingValue(spacingName) {
39
+ switch (spacingName) {
40
+ case "none":
41
+ return "0rem";
42
+
43
+ case "xxxsmall":
44
+ return "0.125rem";
45
+
46
+ case "xxsmall":
47
+ return "0.25rem";
48
+
49
+ case "xsmall":
50
+ return "0.5rem";
51
+
52
+ case "small":
53
+ return "1rem";
54
+
55
+ case "medium":
56
+ return "1.5rem";
57
+
58
+ case "large":
59
+ return "2rem";
60
+
61
+ case "xlarge":
62
+ return "3rem";
63
+
64
+ case "xxlarge":
65
+ return "4rem";
66
+
67
+ case "xxxlarge":
68
+ return "5rem";
69
+
70
+ default:
71
+ return "0rem";
72
+ }
73
+ }
74
+
75
+ var StyledInset = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (_ref2) {
76
+ var space = _ref2.space,
77
+ horizontal = _ref2.horizontal,
78
+ vertical = _ref2.vertical,
79
+ top = _ref2.top,
80
+ right = _ref2.right,
81
+ bottom = _ref2.bottom,
82
+ left = _ref2.left;
83
+ return "\n padding: ".concat(getSpacingValue(top || vertical || space), " ").concat(getSpacingValue(right || horizontal || space), "\n ").concat(getSpacingValue(bottom || vertical || space), " ").concat(getSpacingValue(left || horizontal || space), ";\n");
84
+ });
@@ -0,0 +1,229 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import styled from "styled-components";
4
+ import DxcStack from "./../stack/Stack";
5
+ import DxcInset from "./Inset";
6
+
7
+ export default {
8
+ title: "Inset",
9
+ component: DxcInset,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <Title title="Default" level={4} />
15
+ <Container>
16
+ <DxcInset>
17
+ <Placeholder></Placeholder>
18
+ </DxcInset>
19
+ </Container>
20
+ <Title title="space = none" level={4} />
21
+ <Container>
22
+ <DxcInset space="none">
23
+ <Placeholder></Placeholder>
24
+ </DxcInset>
25
+ </Container>
26
+ <Title title="space = xxxsmall" level={4} />
27
+ <Container>
28
+ <DxcInset space="xxxsmall">
29
+ <Placeholder></Placeholder>
30
+ </DxcInset>
31
+ </Container>
32
+ <Title title="space = xxsmall" level={4} />
33
+ <Container>
34
+ <DxcInset space="xxsmall">
35
+ <Placeholder></Placeholder>
36
+ </DxcInset>
37
+ </Container>
38
+ <Title title="space = xsmall" level={4} />
39
+ <Container>
40
+ <DxcInset space="xsmall">
41
+ <Placeholder></Placeholder>
42
+ </DxcInset>
43
+ </Container>
44
+ <Title title="space = small" level={4} />
45
+ <Container>
46
+ <DxcInset space="small">
47
+ <Placeholder></Placeholder>
48
+ </DxcInset>
49
+ </Container>
50
+ <Title title="space = medium" level={4} />
51
+ <Container>
52
+ <DxcInset space="medium">
53
+ <Placeholder></Placeholder>
54
+ </DxcInset>
55
+ </Container>
56
+ <Title title="space = large" level={4} />
57
+ <Container>
58
+ <DxcInset space="large">
59
+ <Placeholder></Placeholder>
60
+ </DxcInset>
61
+ </Container>
62
+ <Title title="space = xlarge" level={4} />
63
+ <Container>
64
+ <DxcInset space="xlarge">
65
+ <Placeholder></Placeholder>
66
+ </DxcInset>
67
+ </Container>
68
+ <Title title="space = xxlarge" level={4} />
69
+ <Container>
70
+ <DxcInset space="xxlarge">
71
+ <Placeholder></Placeholder>
72
+ </DxcInset>
73
+ </Container>
74
+ <Title title="space = xxxlarge" level={4} />
75
+ <Container>
76
+ <DxcInset space="xxxlarge">
77
+ <Placeholder></Placeholder>
78
+ </DxcInset>
79
+ </Container>
80
+ <Title title="horizontal = none" level={4} />
81
+ <Container>
82
+ <DxcInset horizontal="none">
83
+ <Placeholder></Placeholder>
84
+ </DxcInset>
85
+ </Container>
86
+ <Title title="horizontal = xxxsmall" level={4} />
87
+ <Container>
88
+ <DxcInset horizontal="xxxsmall">
89
+ <Placeholder></Placeholder>
90
+ </DxcInset>
91
+ </Container>
92
+ <Title title="horizontal = xxsmall" level={4} />
93
+ <Container>
94
+ <DxcInset horizontal="xxsmall">
95
+ <Placeholder></Placeholder>
96
+ </DxcInset>
97
+ </Container>
98
+ <Title title="horizontal = xsmall" level={4} />
99
+ <Container>
100
+ <DxcInset horizontal="xsmall">
101
+ <Placeholder></Placeholder>
102
+ </DxcInset>
103
+ </Container>
104
+ <Title title="horizontal = small" level={4} />
105
+ <Container>
106
+ <DxcInset horizontal="small">
107
+ <Placeholder></Placeholder>
108
+ </DxcInset>
109
+ </Container>
110
+ <Title title="horizontal = medium" level={4} />
111
+ <Container>
112
+ <DxcInset horizontal="medium">
113
+ <Placeholder></Placeholder>
114
+ </DxcInset>
115
+ </Container>
116
+ <Title title="horizontal = large" level={4} />
117
+ <Container>
118
+ <DxcInset horizontal="large">
119
+ <Placeholder></Placeholder>
120
+ </DxcInset>
121
+ </Container>
122
+ <Title title="horizontal = xlarge" level={4} />
123
+ <Container>
124
+ <DxcInset horizontal="xlarge">
125
+ <Placeholder></Placeholder>
126
+ </DxcInset>
127
+ </Container>
128
+ <Title title="horizontal = xxlarge" level={4} />
129
+ <Container>
130
+ <DxcInset horizontal="xxlarge">
131
+ <Placeholder></Placeholder>
132
+ </DxcInset>
133
+ </Container>
134
+ <Title title="horizontal = xxxlarge" level={4} />
135
+ <Container>
136
+ <DxcInset horizontal="xxxlarge">
137
+ <Placeholder></Placeholder>
138
+ </DxcInset>
139
+ </Container>
140
+ <Title title="vertical = none" level={4} />
141
+ <Container>
142
+ <DxcInset vertical="none">
143
+ <Placeholder></Placeholder>
144
+ </DxcInset>
145
+ </Container>
146
+ <Title title="vertical = xxxsmall" level={4} />
147
+ <Container>
148
+ <DxcInset vertical="xxxsmall">
149
+ <Placeholder></Placeholder>
150
+ </DxcInset>
151
+ </Container>
152
+ <Title title="vertical = xxsmall" level={4} />
153
+ <Container>
154
+ <DxcInset vertical="xxsmall">
155
+ <Placeholder></Placeholder>
156
+ </DxcInset>
157
+ </Container>
158
+ <Title title="vertical = xsmall" level={4} />
159
+ <Container>
160
+ <DxcInset vertical="xsmall">
161
+ <Placeholder></Placeholder>
162
+ </DxcInset>
163
+ </Container>
164
+ <Title title="vertical = small" level={4} />
165
+ <Container>
166
+ <DxcInset vertical="small">
167
+ <Placeholder></Placeholder>
168
+ </DxcInset>
169
+ </Container>
170
+ <Title title="vertical = medium" level={4} />
171
+ <Container>
172
+ <DxcInset vertical="medium">
173
+ <Placeholder></Placeholder>
174
+ </DxcInset>
175
+ </Container>
176
+ <Title title="vertical = large" level={4} />
177
+ <Container>
178
+ <DxcInset vertical="large">
179
+ <Placeholder></Placeholder>
180
+ </DxcInset>
181
+ </Container>
182
+ <Title title="vertical = xlarge" level={4} />
183
+ <Container>
184
+ <DxcInset vertical="xlarge">
185
+ <Placeholder></Placeholder>
186
+ </DxcInset>
187
+ </Container>
188
+ <Title title="vertical = xxlarge" level={4} />
189
+ <Container>
190
+ <DxcInset vertical="xxlarge">
191
+ <Placeholder></Placeholder>
192
+ </DxcInset>
193
+ </Container>
194
+ <Title title="vertical = xxxlarge" level={4} />
195
+ <Container>
196
+ <DxcInset vertical="xxxlarge">
197
+ <Placeholder></Placeholder>
198
+ </DxcInset>
199
+ </Container>
200
+ <Title title="top = xxsmall, right= medium, bottom = large and left = xxlarge" level={4} />
201
+ <Container>
202
+ <DxcInset top="xxsmall" right="medium" bottom="large" left="xxlarge">
203
+ <Placeholder></Placeholder>
204
+ </DxcInset>
205
+ </Container>
206
+ <Title title="Inside a stack" level={4} />
207
+ <Container>
208
+ <DxcStack gutter="medium" divider>
209
+ <Placeholder></Placeholder>
210
+ <DxcInset top="xxsmall" right="medium" bottom="large" left="xxlarge">
211
+ <Placeholder></Placeholder>
212
+ </DxcInset>
213
+ <Placeholder></Placeholder>
214
+ </DxcStack>
215
+ </Container>
216
+ </>
217
+ );
218
+
219
+ const Container = styled.div`
220
+ background: #f2eafa;
221
+ margin: 2.5rem;
222
+ `;
223
+
224
+ const Placeholder = styled.div`
225
+ min-height: 40px;
226
+ min-width: 120px;
227
+ border: 1px solid #a46ede;
228
+ background-color: #e5d5f6;
229
+ `;