@dxc-technology/halstack-react 10.0.0 → 11.0.0

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 (219) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +5 -17
  3. package/HalstackContext.d.ts +26 -6
  4. package/HalstackContext.js +9 -34
  5. package/README.md +47 -0
  6. package/accordion/Accordion.js +21 -58
  7. package/accordion/Accordion.stories.tsx +1 -15
  8. package/accordion/Accordion.test.js +18 -33
  9. package/accordion/types.d.ts +5 -5
  10. package/accordion-group/AccordionGroup.js +15 -42
  11. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  12. package/accordion-group/AccordionGroup.test.js +42 -60
  13. package/accordion-group/AccordionGroupAccordion.js +9 -21
  14. package/accordion-group/types.d.ts +6 -6
  15. package/alert/Alert.js +14 -46
  16. package/alert/Alert.test.js +28 -45
  17. package/alert/types.d.ts +5 -5
  18. package/badge/Badge.js +4 -17
  19. package/badge/types.d.ts +1 -1
  20. package/bleed/Bleed.js +13 -21
  21. package/bleed/types.d.ts +2 -2
  22. package/box/Box.js +10 -29
  23. package/box/Box.test.js +1 -6
  24. package/box/types.d.ts +3 -3
  25. package/bulleted-list/BulletedList.js +7 -33
  26. package/bulleted-list/BulletedList.stories.tsx +1 -91
  27. package/bulleted-list/types.d.ts +5 -5
  28. package/button/Button.js +23 -46
  29. package/button/Button.stories.tsx +5 -86
  30. package/button/Button.test.js +11 -21
  31. package/button/types.d.ts +4 -4
  32. package/card/Card.js +21 -44
  33. package/card/Card.test.js +10 -21
  34. package/card/types.d.ts +5 -5
  35. package/checkbox/Checkbox.js +81 -111
  36. package/checkbox/Checkbox.stories.tsx +16 -54
  37. package/checkbox/Checkbox.test.js +107 -63
  38. package/checkbox/types.d.ts +8 -4
  39. package/chip/Chip.js +12 -31
  40. package/chip/Chip.test.js +15 -28
  41. package/chip/types.d.ts +4 -4
  42. package/common/coreTokens.js +1 -2
  43. package/common/utils.js +2 -8
  44. package/common/variables.d.ts +23 -6
  45. package/common/variables.js +25 -15
  46. package/date-input/Calendar.js +13 -57
  47. package/date-input/DateInput.js +50 -96
  48. package/date-input/DateInput.stories.tsx +11 -30
  49. package/date-input/DateInput.test.js +674 -701
  50. package/date-input/DatePicker.js +11 -42
  51. package/date-input/Icons.d.ts +6 -6
  52. package/date-input/Icons.js +6 -23
  53. package/date-input/YearPicker.js +8 -34
  54. package/date-input/types.d.ts +27 -21
  55. package/dialog/Dialog.js +11 -35
  56. package/dialog/Dialog.test.js +125 -187
  57. package/dialog/types.d.ts +18 -13
  58. package/dropdown/Dropdown.js +39 -93
  59. package/dropdown/Dropdown.test.js +391 -378
  60. package/dropdown/DropdownMenu.js +8 -19
  61. package/dropdown/DropdownMenuItem.js +5 -17
  62. package/dropdown/types.d.ts +17 -19
  63. package/file-input/FileInput.js +131 -220
  64. package/file-input/FileInput.stories.tsx +1 -1
  65. package/file-input/FileInput.test.js +293 -342
  66. package/file-input/FileItem.js +12 -39
  67. package/file-input/types.d.ts +9 -9
  68. package/flex/Flex.js +25 -39
  69. package/flex/types.d.ts +6 -6
  70. package/footer/Footer.js +9 -39
  71. package/footer/Footer.stories.tsx +8 -7
  72. package/footer/Footer.test.js +18 -32
  73. package/footer/Icons.d.ts +2 -2
  74. package/footer/Icons.js +2 -7
  75. package/footer/types.d.ts +13 -13
  76. package/grid/Grid.js +1 -16
  77. package/grid/types.d.ts +10 -10
  78. package/header/Header.d.ts +1 -1
  79. package/header/Header.js +19 -64
  80. package/header/Header.test.js +12 -25
  81. package/header/Icons.d.ts +2 -2
  82. package/header/Icons.js +2 -7
  83. package/header/types.d.ts +5 -7
  84. package/heading/Heading.js +9 -31
  85. package/heading/Heading.test.js +70 -87
  86. package/heading/types.d.ts +7 -7
  87. package/image/Image.d.ts +4 -0
  88. package/image/Image.js +70 -0
  89. package/image/Image.stories.tsx +127 -0
  90. package/image/types.d.ts +72 -0
  91. package/inset/Inset.js +13 -21
  92. package/inset/types.d.ts +2 -2
  93. package/layout/ApplicationLayout.d.ts +1 -1
  94. package/layout/ApplicationLayout.js +25 -65
  95. package/layout/ApplicationLayout.stories.tsx +1 -1
  96. package/layout/Icons.d.ts +8 -5
  97. package/layout/Icons.js +51 -59
  98. package/layout/SidenavContext.d.ts +1 -1
  99. package/layout/SidenavContext.js +3 -9
  100. package/layout/types.d.ts +3 -3
  101. package/link/Link.js +21 -42
  102. package/link/Link.test.js +23 -41
  103. package/link/types.d.ts +14 -14
  104. package/main.d.ts +3 -2
  105. package/main.js +10 -51
  106. package/nav-tabs/NavTabs.js +11 -43
  107. package/nav-tabs/NavTabs.stories.tsx +1 -1
  108. package/nav-tabs/NavTabs.test.js +36 -43
  109. package/nav-tabs/Tab.js +16 -45
  110. package/nav-tabs/types.d.ts +9 -9
  111. package/number-input/NumberInput.d.ts +7 -0
  112. package/number-input/NumberInput.js +26 -35
  113. package/number-input/NumberInput.stories.tsx +42 -26
  114. package/number-input/NumberInput.test.js +700 -412
  115. package/number-input/types.d.ts +11 -5
  116. package/package.json +28 -26
  117. package/paginator/Icons.d.ts +5 -5
  118. package/paginator/Icons.js +5 -19
  119. package/paginator/Paginator.js +14 -39
  120. package/paginator/Paginator.test.js +224 -207
  121. package/paginator/types.d.ts +3 -3
  122. package/paragraph/Paragraph.js +3 -14
  123. package/paragraph/Paragraph.stories.tsx +0 -17
  124. package/password-input/Icons.d.ts +6 -0
  125. package/password-input/Icons.js +35 -0
  126. package/password-input/PasswordInput.js +57 -126
  127. package/password-input/PasswordInput.stories.tsx +1 -32
  128. package/password-input/PasswordInput.test.js +157 -140
  129. package/password-input/types.d.ts +8 -7
  130. package/progress-bar/ProgressBar.js +16 -42
  131. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  132. package/progress-bar/ProgressBar.test.js +35 -52
  133. package/progress-bar/types.d.ts +3 -3
  134. package/quick-nav/QuickNav.js +4 -27
  135. package/quick-nav/QuickNav.stories.tsx +1 -1
  136. package/quick-nav/types.d.ts +10 -10
  137. package/radio-group/Radio.d.ts +1 -1
  138. package/radio-group/Radio.js +22 -54
  139. package/radio-group/RadioGroup.js +37 -83
  140. package/radio-group/RadioGroup.stories.tsx +10 -10
  141. package/radio-group/RadioGroup.test.js +504 -470
  142. package/radio-group/types.d.ts +8 -8
  143. package/resultset-table/Icons.d.ts +7 -0
  144. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  145. package/{resultsetTable → resultset-table}/ResultsetTable.js +22 -58
  146. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +72 -92
  147. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  148. package/select/Icons.d.ts +7 -7
  149. package/select/Icons.js +1 -5
  150. package/select/Listbox.js +13 -39
  151. package/select/Option.js +9 -26
  152. package/select/Select.js +54 -138
  153. package/select/Select.stories.tsx +3 -3
  154. package/select/Select.test.js +1906 -1800
  155. package/select/types.d.ts +14 -15
  156. package/sidenav/Icons.d.ts +4 -4
  157. package/sidenav/Icons.js +1 -5
  158. package/sidenav/Sidenav.js +24 -63
  159. package/sidenav/Sidenav.test.js +3 -10
  160. package/sidenav/types.d.ts +18 -18
  161. package/slider/Slider.js +38 -86
  162. package/slider/Slider.test.js +107 -103
  163. package/slider/types.d.ts +4 -4
  164. package/spinner/Spinner.js +10 -40
  165. package/spinner/Spinner.test.js +25 -34
  166. package/spinner/types.d.ts +3 -3
  167. package/switch/Switch.js +26 -69
  168. package/switch/Switch.stories.tsx +0 -34
  169. package/switch/Switch.test.js +51 -96
  170. package/switch/types.d.ts +4 -4
  171. package/table/Table.js +4 -23
  172. package/table/Table.test.js +1 -6
  173. package/table/types.d.ts +8 -8
  174. package/tabs/Tab.js +10 -29
  175. package/tabs/Tabs.js +48 -124
  176. package/tabs/Tabs.test.js +62 -118
  177. package/tabs/types.d.ts +19 -19
  178. package/tag/Tag.js +21 -51
  179. package/tag/Tag.test.js +19 -30
  180. package/tag/types.d.ts +7 -7
  181. package/text-input/Icons.d.ts +5 -5
  182. package/text-input/Icons.js +1 -5
  183. package/text-input/Suggestion.js +9 -26
  184. package/text-input/Suggestions.d.ts +1 -1
  185. package/text-input/Suggestions.js +12 -57
  186. package/text-input/TextInput.js +182 -263
  187. package/text-input/TextInput.stories.tsx +48 -152
  188. package/text-input/TextInput.test.js +1210 -1194
  189. package/text-input/types.d.ts +25 -17
  190. package/textarea/Textarea.js +60 -96
  191. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -99
  192. package/textarea/Textarea.test.js +150 -179
  193. package/textarea/types.d.ts +9 -5
  194. package/toggle-group/ToggleGroup.js +91 -105
  195. package/toggle-group/ToggleGroup.stories.tsx +7 -4
  196. package/toggle-group/ToggleGroup.test.js +68 -87
  197. package/toggle-group/types.d.ts +26 -17
  198. package/typography/Typography.js +4 -13
  199. package/typography/types.d.ts +1 -1
  200. package/useTheme.d.ts +20 -3
  201. package/useTheme.js +1 -8
  202. package/useTranslatedLabels.js +1 -7
  203. package/utils/BaseTypography.d.ts +2 -2
  204. package/utils/BaseTypography.js +16 -30
  205. package/utils/FocusLock.js +12 -36
  206. package/wizard/Wizard.js +14 -49
  207. package/wizard/Wizard.test.js +53 -80
  208. package/wizard/types.d.ts +6 -6
  209. package/number-input/NumberInputContext.d.ts +0 -4
  210. package/number-input/NumberInputContext.js +0 -19
  211. package/number-input/numberInputContextTypes.d.ts +0 -19
  212. package/resultsetTable/Icons.d.ts +0 -7
  213. package/slider/Slider.stories.tsx +0 -240
  214. /package/{resultsetTable → image}/types.js +0 -0
  215. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  216. /package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +0 -0
  217. /package/{number-input/numberInputContextTypes.js → resultset-table/types.js} +0 -0
  218. /package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +0 -0
  219. /package/table/{Table.stories.jsx → Table.stories.tsx} +0 -0
@@ -1,46 +1,32 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof3 = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
11
  var _react = _interopRequireDefault(require("react"));
17
-
18
12
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
19
-
20
13
  var _variables = require("../common/variables");
21
-
22
14
  var _useTheme = _interopRequireDefault(require("../useTheme"));
23
-
24
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
25
-
26
- 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); }
27
-
28
- 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; }
29
-
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
30
18
  var DxcHeading = function DxcHeading(_ref) {
31
19
  var _ref$level = _ref.level,
32
- level = _ref$level === void 0 ? 1 : _ref$level,
33
- _ref$text = _ref.text,
34
- text = _ref$text === void 0 ? "" : _ref$text,
35
- as = _ref.as,
36
- weight = _ref.weight,
37
- margin = _ref.margin;
20
+ level = _ref$level === void 0 ? 1 : _ref$level,
21
+ _ref$text = _ref.text,
22
+ text = _ref$text === void 0 ? "" : _ref$text,
23
+ as = _ref.as,
24
+ weight = _ref.weight,
25
+ margin = _ref.margin;
38
26
  var colorsTheme = (0, _useTheme["default"])();
39
-
40
27
  var checkValidAs = function checkValidAs() {
41
28
  if (as === "h1" || as === "h2" || as === "h3" || as === "h4" || as === "h5") return as;
42
29
  };
43
-
44
30
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
45
31
  theme: colorsTheme.heading
46
32
  }, /*#__PURE__*/_react["default"].createElement(HeadingContainer, {
@@ -62,7 +48,6 @@ var DxcHeading = function DxcHeading(_ref) {
62
48
  weight: weight
63
49
  }, text)));
64
50
  };
65
-
66
51
  var HeadingContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"])), function (props) {
67
52
  return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
68
53
  }, function (props) {
@@ -74,7 +59,6 @@ var HeadingContainer = _styledComponents["default"].div(_templateObject || (_tem
74
59
  }, function (props) {
75
60
  return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
76
61
  });
77
-
78
62
  var HeadingLevel1 = _styledComponents["default"].h1(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
79
63
  return props.theme.level1FontFamily;
80
64
  }, function (props) {
@@ -90,7 +74,6 @@ var HeadingLevel1 = _styledComponents["default"].h1(_templateObject2 || (_templa
90
74
  }, function (props) {
91
75
  return props.theme.level1FontColor;
92
76
  });
93
-
94
77
  var HeadingLevel2 = _styledComponents["default"].h2(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
95
78
  return props.theme.level2FontFamily;
96
79
  }, function (props) {
@@ -106,7 +89,6 @@ var HeadingLevel2 = _styledComponents["default"].h2(_templateObject3 || (_templa
106
89
  }, function (props) {
107
90
  return props.theme.level2FontColor;
108
91
  });
109
-
110
92
  var HeadingLevel3 = _styledComponents["default"].h3(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
111
93
  return props.theme.level3FontFamily;
112
94
  }, function (props) {
@@ -122,7 +104,6 @@ var HeadingLevel3 = _styledComponents["default"].h3(_templateObject4 || (_templa
122
104
  }, function (props) {
123
105
  return props.theme.level3FontColor;
124
106
  });
125
-
126
107
  var HeadingLevel4 = _styledComponents["default"].h4(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
127
108
  return props.theme.level4FontFamily;
128
109
  }, function (props) {
@@ -138,7 +119,6 @@ var HeadingLevel4 = _styledComponents["default"].h4(_templateObject5 || (_templa
138
119
  }, function (props) {
139
120
  return props.theme.level4FontColor;
140
121
  });
141
-
142
122
  var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-style: ", ";\n font-size: ", ";\n line-height: ", ";\n font-weight: ", ";\n letter-spacing: ", ";\n color: ", ";\n margin: 0;\n"])), function (props) {
143
123
  return props.theme.level5FontFamily;
144
124
  }, function (props) {
@@ -154,6 +134,4 @@ var HeadingLevel5 = _styledComponents["default"].h5(_templateObject6 || (_templa
154
134
  }, function (props) {
155
135
  return props.theme.level5FontColor;
156
136
  });
157
-
158
- var _default = DxcHeading;
159
- exports["default"] = _default;
137
+ var _default = exports["default"] = DxcHeading;
@@ -1,21 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
6
  var _Heading = _interopRequireDefault(require("./Heading.tsx"));
10
-
11
7
  describe("Heading component tests", function () {
12
8
  test("Heading renders with default level", function () {
13
9
  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
-
10
+ text: "my-heading-test"
11
+ })),
12
+ getByText = _render.getByText,
13
+ getByRole = _render.getByRole;
19
14
  expect(getByText("my-heading-test")).toBeTruthy();
20
15
  expect(getByRole("heading", {
21
16
  level: 1
@@ -23,12 +18,11 @@ describe("Heading component tests", function () {
23
18
  });
24
19
  test("Heading renders with level 1", function () {
25
20
  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
-
21
+ text: "my-heading-test",
22
+ level: 1
23
+ })),
24
+ getByText = _render2.getByText,
25
+ getByRole = _render2.getByRole;
32
26
  expect(getByText("my-heading-test")).toBeTruthy();
33
27
  expect(getByRole("heading", {
34
28
  level: 1
@@ -36,12 +30,11 @@ describe("Heading component tests", function () {
36
30
  });
37
31
  test("Heading renders with level 2", function () {
38
32
  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
-
33
+ text: "my-heading-test",
34
+ level: 2
35
+ })),
36
+ getByText = _render3.getByText,
37
+ getByRole = _render3.getByRole;
45
38
  expect(getByText("my-heading-test")).toBeTruthy();
46
39
  expect(getByRole("heading", {
47
40
  level: 2
@@ -49,12 +42,11 @@ describe("Heading component tests", function () {
49
42
  });
50
43
  test("Heading renders with level 3", function () {
51
44
  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
-
45
+ text: "my-heading-test",
46
+ level: 3
47
+ })),
48
+ getByText = _render4.getByText,
49
+ getByRole = _render4.getByRole;
58
50
  expect(getByText("my-heading-test")).toBeTruthy();
59
51
  expect(getByRole("heading", {
60
52
  level: 3
@@ -62,12 +54,11 @@ describe("Heading component tests", function () {
62
54
  });
63
55
  test("Heading renders with level 4", function () {
64
56
  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
-
57
+ text: "my-heading-test",
58
+ level: 4
59
+ })),
60
+ getByText = _render5.getByText,
61
+ getByRole = _render5.getByRole;
71
62
  expect(getByText("my-heading-test")).toBeTruthy();
72
63
  expect(getByRole("heading", {
73
64
  level: 4
@@ -75,12 +66,11 @@ describe("Heading component tests", function () {
75
66
  });
76
67
  test("Heading renders with level 5", function () {
77
68
  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
-
69
+ text: "my-heading-test",
70
+ level: 5
71
+ })),
72
+ getByText = _render6.getByText,
73
+ getByRole = _render6.getByRole;
84
74
  expect(getByText("my-heading-test")).toBeTruthy();
85
75
  expect(getByRole("heading", {
86
76
  level: 5
@@ -88,12 +78,11 @@ describe("Heading component tests", function () {
88
78
  });
89
79
  test("Heading renders with default level and as h5", function () {
90
80
  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
-
81
+ text: "my-heading-test",
82
+ as: "h5"
83
+ })),
84
+ getByText = _render7.getByText,
85
+ getByRole = _render7.getByRole;
97
86
  expect(getByText("my-heading-test")).toBeTruthy();
98
87
  expect(getByRole("heading", {
99
88
  level: 5
@@ -101,13 +90,12 @@ describe("Heading component tests", function () {
101
90
  });
102
91
  test("Heading renders with level 1 and as h5", function () {
103
92
  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
-
93
+ text: "my-heading-test",
94
+ level: 1,
95
+ as: "h5"
96
+ })),
97
+ getByText = _render8.getByText,
98
+ getByRole = _render8.getByRole;
111
99
  expect(getByText("my-heading-test")).toBeTruthy();
112
100
  expect(getByRole("heading", {
113
101
  level: 5
@@ -115,13 +103,12 @@ describe("Heading component tests", function () {
115
103
  });
116
104
  test("Heading renders with level 2 and as h4", function () {
117
105
  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
-
106
+ text: "my-heading-test",
107
+ level: 2,
108
+ as: "h4"
109
+ })),
110
+ getByText = _render9.getByText,
111
+ getByRole = _render9.getByRole;
125
112
  expect(getByText("my-heading-test")).toBeTruthy();
126
113
  expect(getByRole("heading", {
127
114
  level: 4
@@ -129,13 +116,12 @@ describe("Heading component tests", function () {
129
116
  });
130
117
  test("Heading renders with level 3 and as h2", function () {
131
118
  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
-
119
+ text: "my-heading-test",
120
+ level: 3,
121
+ as: "h2"
122
+ })),
123
+ getByText = _render10.getByText,
124
+ getByRole = _render10.getByRole;
139
125
  expect(getByText("my-heading-test")).toBeTruthy();
140
126
  expect(getByRole("heading", {
141
127
  level: 2
@@ -143,13 +129,12 @@ describe("Heading component tests", function () {
143
129
  });
144
130
  test("Heading renders with level 4 and as h3", function () {
145
131
  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
-
132
+ text: "my-heading-test",
133
+ level: 4,
134
+ as: "h3"
135
+ })),
136
+ getByText = _render11.getByText,
137
+ getByRole = _render11.getByRole;
153
138
  expect(getByText("my-heading-test")).toBeTruthy();
154
139
  expect(getByRole("heading", {
155
140
  level: 3
@@ -157,13 +142,12 @@ describe("Heading component tests", function () {
157
142
  });
158
143
  test("Heading renders with level 5 as h4", function () {
159
144
  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
-
145
+ text: "my-heading-test",
146
+ level: 5,
147
+ as: "h4"
148
+ })),
149
+ getByText = _render12.getByText,
150
+ getByRole = _render12.getByRole;
167
151
  expect(getByText("my-heading-test")).toBeTruthy();
168
152
  expect(getByRole("heading", {
169
153
  level: 4
@@ -171,13 +155,12 @@ describe("Heading component tests", function () {
171
155
  });
172
156
  test("Heading renders with level 5 and invalid as", function () {
173
157
  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
-
158
+ text: "my-heading-test",
159
+ level: 5,
160
+ as: "h4afdssf"
161
+ })),
162
+ getByText = _render13.getByText,
163
+ getByRole = _render13.getByRole;
181
164
  expect(getByText("my-heading-test")).toBeTruthy();
182
165
  expect(getByRole("heading", {
183
166
  level: 5
@@ -1,11 +1,11 @@
1
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
- declare type Margin = {
1
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ type Margin = {
3
3
  top?: Space;
4
4
  bottom?: Space;
5
5
  left?: Space;
6
6
  right?: Space;
7
7
  };
8
- declare type Props = {
8
+ type Props = {
9
9
  /**
10
10
  * Defines the heading level from 1 to 5. The styles of the heading are applied according to the level.
11
11
  * The html tag of the heading will be the one specified in the 'as' prop.
@@ -16,14 +16,14 @@ declare type Props = {
16
16
  * Heading text.
17
17
  */
18
18
  text: string;
19
- /**
20
- * Specifies the html tag of the heading.
21
- */
22
- as?: "h1" | "h2" | "h3" | "h4" | "h5";
23
19
  /**
24
20
  * Modifies the default weight of the heading.
25
21
  */
26
22
  weight?: "light" | "normal" | "bold";
23
+ /**
24
+ * Specifies the HTML tag of the heading.
25
+ */
26
+ as?: "h1" | "h2" | "h3" | "h4" | "h5";
27
27
  /**
28
28
  * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
29
29
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import ImagePropsType from "./types";
3
+ declare const DxcImage: ({ alt, caption, lazyLoading, src, srcSet, sizes, width, height, objectFit, objectPosition, onLoad, onError, }: ImagePropsType) => React.JSX.Element;
4
+ export default DxcImage;
package/image/Image.js ADDED
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _styledComponents = _interopRequireWildcard(require("styled-components"));
12
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
13
+ var _BaseTypography = _interopRequireDefault(require("../utils/BaseTypography"));
14
+ var _templateObject;
15
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
17
+ var CaptionWrapper = function CaptionWrapper(_ref) {
18
+ var condition = _ref.condition,
19
+ wrapper = _ref.wrapper,
20
+ children = _ref.children;
21
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, condition ? wrapper(children) : children);
22
+ };
23
+ var DxcImage = function DxcImage(_ref2) {
24
+ var alt = _ref2.alt,
25
+ caption = _ref2.caption,
26
+ _ref2$lazyLoading = _ref2.lazyLoading,
27
+ lazyLoading = _ref2$lazyLoading === void 0 ? false : _ref2$lazyLoading,
28
+ src = _ref2.src,
29
+ srcSet = _ref2.srcSet,
30
+ sizes = _ref2.sizes,
31
+ width = _ref2.width,
32
+ height = _ref2.height,
33
+ objectFit = _ref2.objectFit,
34
+ objectPosition = _ref2.objectPosition,
35
+ onLoad = _ref2.onLoad,
36
+ onError = _ref2.onError;
37
+ var colorsTheme = (0, _useTheme["default"])();
38
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
39
+ theme: colorsTheme.image
40
+ }, /*#__PURE__*/_react["default"].createElement(CaptionWrapper, {
41
+ condition: caption != undefined,
42
+ wrapper: function wrapper(children) {
43
+ return /*#__PURE__*/_react["default"].createElement(Figure, null, children, /*#__PURE__*/_react["default"].createElement(_BaseTypography["default"], {
44
+ as: "figcaption",
45
+ color: colorsTheme.image.captionFontColor,
46
+ fontFamily: colorsTheme.image.captionFontFamily,
47
+ fontSize: colorsTheme.image.captionFontSize,
48
+ fontStyle: colorsTheme.image.captionFontStyle,
49
+ fontWeight: colorsTheme.image.captionFontWeight,
50
+ lineHeight: colorsTheme.image.captionLineHeight
51
+ }, caption));
52
+ }
53
+ }, /*#__PURE__*/_react["default"].createElement("img", {
54
+ alt: alt,
55
+ loading: lazyLoading ? "lazy" : undefined,
56
+ onLoad: onLoad,
57
+ onError: onError,
58
+ src: src,
59
+ srcSet: srcSet,
60
+ sizes: sizes,
61
+ style: {
62
+ objectFit: objectFit,
63
+ objectPosition: objectPosition,
64
+ width: width,
65
+ height: height
66
+ }
67
+ })));
68
+ };
69
+ var Figure = _styledComponents["default"].figure(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: fit-content;\n margin: 0;\n padding: 0;\n"])));
70
+ var _default = exports["default"] = DxcImage;
@@ -0,0 +1,127 @@
1
+ import React from "react";
2
+ import DxcImage from "./Image";
3
+ import Title from "../../.storybook/components/Title";
4
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
5
+ import { DxcFlex, DxcInset, DxcParagraph } from "../main";
6
+
7
+ export default {
8
+ title: "Image",
9
+ component: DxcImage,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <Title title="Image component" theme="light" level={2} />
15
+ <ExampleContainer>
16
+ <Title title="Simple image" theme="light" level={4} />
17
+ <DxcImage
18
+ alt="Example image"
19
+ width="100%"
20
+ src="https://images.ctfassets.net/hrltx12pl8hq/5596z2BCR9KmT1KeRBrOQa/4070fd4e2f1a13f71c2c46afeb18e41c/shutterstock_451077043-hero1.jpg"
21
+ />
22
+ </ExampleContainer>
23
+ <ExampleContainer>
24
+ <Title title="Image with text" theme="light" level={4} />
25
+ <DxcParagraph>
26
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
27
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
28
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh tristique
29
+ porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue diam in dui
30
+ morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo nisi. Vel mus
31
+ ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit augue. In fermentum
32
+ metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae. Commodo sagittis
33
+ volutpat id lorem.
34
+ </DxcParagraph>
35
+ <DxcInset top="2rem" bottom="2rem">
36
+ <DxcImage
37
+ alt="Ratatouille is a great movie"
38
+ caption="Ratatouille with a smile on his face."
39
+ src="https://hips.hearstapps.com/es.h-cdn.co/fotoes/images/cinefilia/por-que-ratatouille-nos-sigue-enamorando-10-anos-despues/136444706-1-esl-ES/Por-que-Ratatouille-nos-sigue-enamorando-10-anos-despues.jpg"
40
+ />
41
+ </DxcInset>
42
+ <DxcParagraph>
43
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
44
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
45
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh tristique
46
+ porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue diam in dui
47
+ morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo nisi. Vel mus
48
+ ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit augue. In fermentum
49
+ metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae. Commodo sagittis
50
+ volutpat id lorem.
51
+ </DxcParagraph>
52
+ </ExampleContainer>
53
+ <ExampleContainer>
54
+ <Title title="Example image" theme="light" level={4} />
55
+ <DxcFlex gap="1rem">
56
+ <DxcImage
57
+ alt="Camera pic"
58
+ caption="Picture of a camera and the sunset."
59
+ width="500px"
60
+ src="https://assets.entrepreneur.com/content/3x2/2000/20191009140007-GettyImages-1053962188.jpeg"
61
+ />
62
+ <DxcParagraph>
63
+ Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis volutpat urna. Hendrerit aliquet et
64
+ arcu purus. Sodales elementum sollicitudin consequat elementum tortor. Lectus eget cursus ut ac pharetra
65
+ lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus vitae vitae aenean arcu. Nibh
66
+ tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh est sed. Netus venenatis congue
67
+ diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu nec fringilla enim purus ut justo
68
+ nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper nullam sit sagittis hendrerit
69
+ augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed enim in sed vel nec ut vitae.
70
+ Commodo sagittis volutpat id lorem. Lorem ipsum dolor sit amet consectetur. Tincidunt sed pharetra mollis duis
71
+ volutpat urna. Hendrerit aliquet et arcu purus. Sodales elementum sollicitudin consequat elementum tortor.
72
+ Lectus eget cursus ut ac pharetra lobortis integer eu. Potenti amet ac id risus ac nunc orci nibh. Tempus
73
+ vitae vitae aenean arcu. Nibh tristique porta dui enim eget tristique rutrum. Quisque faucibus suscipit nibh
74
+ est sed. Netus venenatis congue diam in dui morbi dignissim lorem. Urna aliquet sem in tincidunt. Nunc arcu
75
+ nec fringilla enim purus ut justo nisi. Vel mus ut ornare faucibus blandit diam sit vestibulum massa. Semper
76
+ nullam sit sagittis hendrerit augue. In fermentum metus proin arcu faucibus proin nibh sit. Vel integer sed
77
+ enim in sed vel nec ut vitae. Commodo sagittis volutpat id lorem.
78
+ </DxcParagraph>
79
+ </DxcFlex>
80
+ </ExampleContainer>
81
+ <ExampleContainer>
82
+ <Title title="Object position" theme="light" level={4} />
83
+ <DxcImage
84
+ alt="Moon pic"
85
+ caption="Picture of the moon."
86
+ width="250px"
87
+ src="https://interactive-examples.mdn.mozilla.net/media/examples/moon.jpg"
88
+ objectPosition="right top"
89
+ objectFit="none"
90
+ />
91
+ </ExampleContainer>
92
+ <ExampleContainer>
93
+ <Title title="Object fit: contain" theme="light" level={4} />
94
+ <div style={{ display: "flex", width: "fit-content", border: "1px solid #000", padding: "0.5rem" }}>
95
+ <DxcImage
96
+ alt="Dog pic"
97
+ src="https://cc-prod.scene7.com/is/image/CCProdAuthor/What-is-Stock-Photography_P1_mobile?$pjpeg$&jpegSize=200&wid=720"
98
+ width="200px"
99
+ height="200px"
100
+ objectFit="contain"
101
+ caption="Pretty dog."
102
+ />
103
+ </div>
104
+ </ExampleContainer>
105
+ <ExampleContainer>
106
+ <Title title="Object fit: cover" theme="light" level={4} />
107
+ <div style={{ width: "75%", height: "300px" }}>
108
+ <DxcImage
109
+ alt="Spaceship pic"
110
+ src="https://media.istockphoto.com/id/1344443930/es/foto/lanzamiento-de-cohetes-del-transbordador-espacial-en-el-cielo-y-nubes-al-espacio-exterior.jpg?s=612x612&w=0&k=20&c=CO2A96GnnWvJsgZuj9WfYCVIBVzicnQDfnzwD1nomN0="
111
+ objectFit="cover"
112
+ width="50%"
113
+ height="100%"
114
+ objectPosition="0px 0px"
115
+ />
116
+ <DxcImage
117
+ alt="Spaceship pic"
118
+ src="https://media.istockphoto.com/id/1344443930/es/foto/lanzamiento-de-cohetes-del-transbordador-espacial-en-el-cielo-y-nubes-al-espacio-exterior.jpg?s=612x612&w=0&k=20&c=CO2A96GnnWvJsgZuj9WfYCVIBVzicnQDfnzwD1nomN0="
119
+ objectFit="cover"
120
+ width="50%"
121
+ height="100%"
122
+ objectPosition="0px 0px"
123
+ />
124
+ </div>
125
+ </ExampleContainer>
126
+ </>
127
+ );