@dxc-technology/halstack-react 0.0.0-4bbfa6c → 0.0.0-4c3af14

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 (296) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +1 -4
  3. package/HalstackContext.d.ts +12 -0
  4. package/HalstackContext.js +295 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +15 -47
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +8 -8
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +15 -17
  12. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  13. package/accordion-group/AccordionGroup.test.js +151 -0
  14. package/accordion-group/types.d.ts +8 -8
  15. package/alert/Alert.js +6 -3
  16. package/alert/Alert.stories.tsx +170 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/alert/types.d.ts +1 -1
  19. package/badge/Badge.d.ts +4 -0
  20. package/badge/Badge.js +6 -4
  21. package/badge/types.d.ts +5 -0
  22. package/{radio → badge}/types.js +0 -0
  23. package/bleed/Bleed.d.ts +3 -0
  24. package/bleed/Bleed.js +51 -0
  25. package/bleed/Bleed.stories.tsx +341 -0
  26. package/bleed/types.d.ts +37 -0
  27. package/bleed/types.js +5 -0
  28. package/box/Box.d.ts +1 -1
  29. package/box/Box.js +26 -39
  30. package/box/Box.test.js +18 -0
  31. package/box/types.d.ts +0 -4
  32. package/button/Button.d.ts +1 -1
  33. package/button/Button.js +24 -27
  34. package/button/Button.stories.tsx +222 -241
  35. package/button/Button.test.js +35 -0
  36. package/button/types.d.ts +5 -9
  37. package/card/Card.js +26 -30
  38. package/card/Card.stories.tsx +201 -0
  39. package/card/Card.test.js +50 -0
  40. package/card/ice-cream.jpg +0 -0
  41. package/card/types.d.ts +4 -6
  42. package/checkbox/Checkbox.d.ts +1 -1
  43. package/checkbox/Checkbox.js +45 -41
  44. package/checkbox/Checkbox.stories.tsx +124 -128
  45. package/checkbox/Checkbox.test.js +78 -0
  46. package/checkbox/types.d.ts +9 -5
  47. package/chip/Chip.d.ts +4 -0
  48. package/chip/Chip.js +16 -76
  49. package/chip/Chip.stories.tsx +119 -0
  50. package/chip/Chip.test.js +56 -0
  51. package/chip/types.d.ts +45 -0
  52. package/chip/types.js +5 -0
  53. package/common/variables.js +234 -341
  54. package/date-input/DateInput.js +63 -52
  55. package/date-input/DateInput.stories.tsx +138 -0
  56. package/date-input/DateInput.test.js +479 -0
  57. package/date-input/types.d.ts +16 -9
  58. package/dialog/Dialog.js +8 -35
  59. package/dialog/Dialog.stories.tsx +212 -0
  60. package/dialog/Dialog.test.js +40 -0
  61. package/dropdown/Dropdown.d.ts +1 -1
  62. package/dropdown/Dropdown.js +22 -48
  63. package/dropdown/Dropdown.stories.tsx +249 -0
  64. package/dropdown/Dropdown.test.js +189 -0
  65. package/dropdown/types.d.ts +6 -15
  66. package/file-input/FileInput.d.ts +4 -0
  67. package/file-input/FileInput.js +172 -111
  68. package/file-input/FileInput.stories.tsx +507 -0
  69. package/file-input/FileInput.test.js +457 -0
  70. package/file-input/FileItem.d.ts +14 -0
  71. package/file-input/FileItem.js +16 -23
  72. package/file-input/types.d.ts +112 -0
  73. package/file-input/types.js +5 -0
  74. package/footer/Footer.d.ts +1 -1
  75. package/footer/Footer.js +32 -113
  76. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
  77. package/footer/Footer.test.js +109 -0
  78. package/footer/Icons.d.ts +2 -0
  79. package/footer/Icons.js +3 -3
  80. package/footer/types.d.ts +22 -18
  81. package/header/Header.js +29 -50
  82. package/header/Header.stories.tsx +172 -0
  83. package/header/Header.test.js +79 -0
  84. package/header/Icons.d.ts +2 -0
  85. package/header/types.d.ts +4 -2
  86. package/heading/Heading.d.ts +4 -0
  87. package/heading/Heading.js +7 -24
  88. package/heading/Heading.stories.tsx +54 -0
  89. package/heading/Heading.test.js +186 -0
  90. package/heading/types.d.ts +33 -0
  91. package/heading/types.js +5 -0
  92. package/inline/Inline.d.ts +4 -0
  93. package/inline/Inline.js +54 -0
  94. package/inline/Inline.stories.tsx +220 -0
  95. package/inline/types.d.ts +32 -0
  96. package/inline/types.js +5 -0
  97. package/inset/Inset.d.ts +3 -0
  98. package/inset/Inset.js +51 -0
  99. package/inset/Inset.stories.tsx +229 -0
  100. package/inset/types.d.ts +37 -0
  101. package/inset/types.js +5 -0
  102. package/layout/ApplicationLayout.d.ts +11 -0
  103. package/layout/ApplicationLayout.js +84 -120
  104. package/layout/ApplicationLayout.stories.tsx +126 -0
  105. package/layout/Icons.d.ts +5 -0
  106. package/layout/Icons.js +13 -2
  107. package/layout/SidenavContext.d.ts +5 -0
  108. package/layout/SidenavContext.js +19 -0
  109. package/layout/types.d.ts +52 -0
  110. package/layout/types.js +5 -0
  111. package/link/Link.d.ts +3 -2
  112. package/link/Link.js +61 -86
  113. package/link/Link.stories.tsx +131 -15
  114. package/link/Link.test.js +83 -0
  115. package/link/types.d.ts +9 -29
  116. package/list/List.d.ts +4 -0
  117. package/list/List.js +47 -0
  118. package/list/List.stories.tsx +95 -0
  119. package/list/types.d.ts +7 -0
  120. package/list/types.js +5 -0
  121. package/main.d.ts +13 -9
  122. package/main.js +80 -42
  123. package/number-input/NumberInput.d.ts +4 -0
  124. package/number-input/NumberInput.js +16 -68
  125. package/number-input/{NumberInput.stories.jsx → NumberInput.stories.tsx} +5 -5
  126. package/number-input/NumberInput.test.js +506 -0
  127. package/number-input/NumberInputContext.d.ts +4 -0
  128. package/number-input/NumberInputContext.js +5 -2
  129. package/number-input/numberInputContextTypes.d.ts +19 -0
  130. package/number-input/numberInputContextTypes.js +5 -0
  131. package/number-input/types.d.ts +124 -0
  132. package/number-input/types.js +5 -0
  133. package/package.json +9 -6
  134. package/paginator/Paginator.js +19 -46
  135. package/paginator/Paginator.test.js +266 -0
  136. package/password-input/PasswordInput.js +23 -19
  137. package/password-input/PasswordInput.stories.tsx +3 -3
  138. package/password-input/PasswordInput.test.js +180 -0
  139. package/password-input/types.d.ts +29 -19
  140. package/progress-bar/ProgressBar.js +5 -5
  141. package/progress-bar/ProgressBar.stories.jsx +11 -11
  142. package/progress-bar/ProgressBar.test.js +65 -0
  143. package/quick-nav/QuickNav.d.ts +4 -0
  144. package/quick-nav/QuickNav.js +112 -0
  145. package/quick-nav/QuickNav.stories.tsx +237 -0
  146. package/quick-nav/types.d.ts +21 -0
  147. package/quick-nav/types.js +5 -0
  148. package/radio-group/Radio.d.ts +4 -0
  149. package/radio-group/Radio.js +141 -0
  150. package/radio-group/RadioGroup.d.ts +4 -0
  151. package/radio-group/RadioGroup.js +282 -0
  152. package/radio-group/RadioGroup.stories.tsx +100 -0
  153. package/radio-group/RadioGroup.test.js +695 -0
  154. package/radio-group/types.d.ts +114 -0
  155. package/radio-group/types.js +5 -0
  156. package/resultsetTable/ResultsetTable.d.ts +4 -0
  157. package/resultsetTable/ResultsetTable.js +9 -29
  158. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  159. package/resultsetTable/ResultsetTable.test.js +306 -0
  160. package/resultsetTable/types.d.ts +67 -0
  161. package/resultsetTable/types.js +5 -0
  162. package/row/Row.d.ts +3 -0
  163. package/row/Row.js +127 -0
  164. package/row/Row.stories.tsx +237 -0
  165. package/row/types.d.ts +28 -0
  166. package/row/types.js +5 -0
  167. package/select/Icons.d.ts +10 -0
  168. package/select/Icons.js +93 -0
  169. package/select/Listbox.d.ts +4 -0
  170. package/select/Listbox.js +152 -0
  171. package/select/Option.d.ts +4 -0
  172. package/select/Option.js +110 -0
  173. package/select/Select.d.ts +4 -0
  174. package/select/Select.js +122 -342
  175. package/select/Select.stories.tsx +594 -0
  176. package/select/Select.test.js +2120 -0
  177. package/select/types.d.ts +213 -0
  178. package/select/types.js +5 -0
  179. package/sidenav/Sidenav.d.ts +9 -0
  180. package/sidenav/Sidenav.js +26 -24
  181. package/sidenav/Sidenav.stories.tsx +182 -0
  182. package/sidenav/Sidenav.test.js +56 -0
  183. package/sidenav/types.d.ts +50 -0
  184. package/sidenav/types.js +5 -0
  185. package/slider/Slider.d.ts +1 -1
  186. package/slider/Slider.js +10 -9
  187. package/slider/Slider.stories.tsx +14 -9
  188. package/slider/Slider.test.js +150 -0
  189. package/slider/types.d.ts +4 -0
  190. package/spinner/Spinner.js +3 -3
  191. package/spinner/Spinner.stories.jsx +1 -0
  192. package/spinner/Spinner.test.js +64 -0
  193. package/stack/Stack.d.ts +3 -0
  194. package/stack/Stack.js +97 -0
  195. package/stack/Stack.stories.tsx +164 -0
  196. package/stack/types.d.ts +24 -0
  197. package/stack/types.js +5 -0
  198. package/switch/Switch.d.ts +1 -1
  199. package/switch/Switch.js +37 -21
  200. package/switch/Switch.stories.tsx +15 -15
  201. package/switch/Switch.test.js +98 -0
  202. package/switch/types.d.ts +6 -2
  203. package/table/Table.js +3 -3
  204. package/table/Table.stories.jsx +2 -1
  205. package/table/Table.test.js +26 -0
  206. package/tabs/Tabs.d.ts +1 -1
  207. package/tabs/Tabs.js +20 -20
  208. package/tabs/Tabs.stories.tsx +112 -0
  209. package/tabs/Tabs.test.js +140 -0
  210. package/tabs/types.d.ts +29 -18
  211. package/tabs-nav/NavTabs.d.ts +8 -0
  212. package/tabs-nav/NavTabs.js +125 -0
  213. package/tabs-nav/NavTabs.stories.tsx +170 -0
  214. package/tabs-nav/NavTabs.test.js +82 -0
  215. package/tabs-nav/Tab.d.ts +4 -0
  216. package/tabs-nav/Tab.js +132 -0
  217. package/tabs-nav/types.d.ts +53 -0
  218. package/tabs-nav/types.js +5 -0
  219. package/tag/Tag.d.ts +1 -1
  220. package/tag/Tag.js +18 -28
  221. package/tag/Tag.stories.tsx +26 -29
  222. package/tag/Tag.test.js +60 -0
  223. package/tag/types.d.ts +23 -14
  224. package/text/Text.d.ts +7 -0
  225. package/text/Text.js +30 -0
  226. package/text/Text.stories.tsx +19 -0
  227. package/text-input/Suggestion.d.ts +4 -0
  228. package/text-input/Suggestion.js +55 -0
  229. package/text-input/TextInput.d.ts +4 -0
  230. package/text-input/TextInput.js +91 -146
  231. package/text-input/TextInput.stories.tsx +474 -0
  232. package/text-input/TextInput.test.js +1712 -0
  233. package/text-input/types.d.ts +178 -0
  234. package/text-input/types.js +5 -0
  235. package/textarea/Textarea.d.ts +4 -0
  236. package/textarea/Textarea.js +39 -79
  237. package/textarea/Textarea.stories.jsx +37 -15
  238. package/textarea/Textarea.test.js +437 -0
  239. package/textarea/types.d.ts +137 -0
  240. package/textarea/types.js +5 -0
  241. package/toggle-group/ToggleGroup.d.ts +4 -0
  242. package/toggle-group/ToggleGroup.js +18 -46
  243. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  244. package/toggle-group/ToggleGroup.test.js +156 -0
  245. package/toggle-group/types.d.ts +105 -0
  246. package/toggle-group/types.js +5 -0
  247. package/useTheme.d.ts +2 -0
  248. package/useTheme.js +2 -2
  249. package/useTranslatedLabels.d.ts +2 -0
  250. package/useTranslatedLabels.js +20 -0
  251. package/wizard/Wizard.d.ts +4 -0
  252. package/wizard/Wizard.js +115 -94
  253. package/wizard/Wizard.stories.tsx +214 -0
  254. package/wizard/Wizard.test.js +141 -0
  255. package/wizard/types.d.ts +64 -0
  256. package/wizard/types.js +5 -0
  257. package/ThemeContext.js +0 -246
  258. package/V3Select/V3Select.js +0 -455
  259. package/V3Select/index.d.ts +0 -27
  260. package/V3Textarea/V3Textarea.js +0 -260
  261. package/V3Textarea/index.d.ts +0 -27
  262. package/chip/index.d.ts +0 -22
  263. package/date/Date.js +0 -373
  264. package/date/index.d.ts +0 -27
  265. package/file-input/index.d.ts +0 -81
  266. package/heading/index.d.ts +0 -17
  267. package/input-text/Icons.js +0 -22
  268. package/input-text/InputText.js +0 -611
  269. package/input-text/index.d.ts +0 -36
  270. package/number-input/index.d.ts +0 -113
  271. package/radio/Radio.d.ts +0 -4
  272. package/radio/Radio.js +0 -174
  273. package/radio/Radio.stories.tsx +0 -192
  274. package/radio/types.d.ts +0 -54
  275. package/resultsetTable/index.d.ts +0 -19
  276. package/select/index.d.ts +0 -131
  277. package/sidenav/index.d.ts +0 -13
  278. package/text-input/index.d.ts +0 -135
  279. package/textarea/index.d.ts +0 -117
  280. package/toggle/Toggle.js +0 -186
  281. package/toggle/index.d.ts +0 -21
  282. package/toggle-group/index.d.ts +0 -21
  283. package/upload/Upload.js +0 -201
  284. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  285. package/upload/buttons-upload/Icons.js +0 -40
  286. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  287. package/upload/dragAndDropArea/Icons.js +0 -39
  288. package/upload/file-upload/FileToUpload.js +0 -115
  289. package/upload/file-upload/Icons.js +0 -66
  290. package/upload/files-upload/FilesToUpload.js +0 -109
  291. package/upload/index.d.ts +0 -15
  292. package/upload/transaction/Icons.js +0 -160
  293. package/upload/transaction/Transaction.js +0 -104
  294. package/upload/transactions/Transactions.js +0 -94
  295. package/wizard/Icons.js +0 -65
  296. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,92 @@
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 _Alert = _interopRequireDefault(require("./Alert"));
10
+
11
+ describe("Alert component tests", function () {
12
+ test("Info alert renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
14
+ type: "info",
15
+ inlineText: "info-alert-text"
16
+ })),
17
+ getByText = _render.getByText;
18
+
19
+ expect(getByText("information")).toBeTruthy();
20
+ expect(getByText("info-alert-text")).toBeTruthy();
21
+ });
22
+ test("Confirm alert renders with correct text", function () {
23
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
24
+ type: "confirm",
25
+ inlineText: "confirm-alert-text"
26
+ })),
27
+ getByText = _render2.getByText;
28
+
29
+ expect(getByText("success")).toBeTruthy();
30
+ expect(getByText("confirm-alert-text")).toBeTruthy();
31
+ });
32
+ test("Warning alert renders with correct text", function () {
33
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
34
+ type: "warning",
35
+ inlineText: "warning-alert-text"
36
+ })),
37
+ getByText = _render3.getByText;
38
+
39
+ expect(getByText("warning")).toBeTruthy();
40
+ expect(getByText("warning-alert-text")).toBeTruthy();
41
+ });
42
+ test("Error alert renders with correct text", function () {
43
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
44
+ type: "error",
45
+ inlineText: "error-alert-text"
46
+ })),
47
+ getByText = _render4.getByText;
48
+
49
+ expect(getByText("error")).toBeTruthy();
50
+ expect(getByText("error-alert-text")).toBeTruthy();
51
+ });
52
+ test("Alert renders with correct children", function () {
53
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
54
+ inlineText: "alert-text"
55
+ }, /*#__PURE__*/_react["default"].createElement("p", null, "sample-children"))),
56
+ getByText = _render5.getByText;
57
+
58
+ expect(getByText("alert-text")).toBeTruthy();
59
+ expect(getByText("sample-children")).toBeTruthy();
60
+ });
61
+ test("Calls correct function on close", function () {
62
+ var onClose = jest.fn();
63
+
64
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
65
+ onClose: onClose,
66
+ inlineText: "info-alert-text"
67
+ })),
68
+ getByRole = _render6.getByRole;
69
+
70
+ var closeButton = getByRole("button");
71
+
72
+ _react2.fireEvent.click(closeButton);
73
+
74
+ expect(onClose).toHaveBeenCalled();
75
+ });
76
+ test("Modal alert calls correct function on close", function () {
77
+ var onClose = jest.fn();
78
+
79
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Alert["default"], {
80
+ onClose: onClose,
81
+ mode: "modal",
82
+ inlineText: "info-alert-text"
83
+ })),
84
+ getByRole = _render7.getByRole;
85
+
86
+ var closeButton = getByRole("button");
87
+
88
+ _react2.fireEvent.click(closeButton);
89
+
90
+ expect(onClose).toHaveBeenCalled();
91
+ });
92
+ });
package/alert/types.d.ts CHANGED
@@ -38,7 +38,7 @@ declare type Props = {
38
38
  */
39
39
  margin?: Space | Margin;
40
40
  /**
41
- * Size of the component ('small' | 'medium' | 'large' | 'fillParent' | 'fitContent').
41
+ * Size of the component.
42
42
  */
43
43
  size?: "small" | "medium" | "large" | "fillParent" | "fitContent";
44
44
  /**
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import BadgePropsType from "./types";
3
+ declare const DxcBadge: ({ notificationText, disabled }: BadgePropsType) => JSX.Element;
4
+ export default DxcBadge;
package/badge/Badge.js CHANGED
@@ -15,7 +15,7 @@ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
17
 
18
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
18
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
19
19
 
20
20
  var _templateObject;
21
21
 
@@ -24,17 +24,19 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
24
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(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; }
25
25
 
26
26
  var DxcBadge = function DxcBadge(_ref) {
27
- var notificationText = _ref.notificationText;
27
+ var notificationText = _ref.notificationText,
28
+ disabled = _ref.disabled;
28
29
  var colorsTheme = (0, _useTheme["default"])();
29
30
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
30
31
  theme: colorsTheme.tabs
31
32
  }, /*#__PURE__*/_react["default"].createElement(StyledDxcBadge, {
32
- notificationText: notificationText
33
+ notificationText: notificationText,
34
+ disabled: disabled
33
35
  }, /*#__PURE__*/_react["default"].createElement("span", null, notificationText)));
34
36
  };
35
37
 
36
38
  var StyledDxcBadge = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n color: ", ";\n letter-spacing: ", ";\n width: ", ";\n height: ", ";\n border-radius: ", ";\n display: flex;\n padding-bottom: 1px;\n padding-right: 1px;\n flex-wrap: wrap;\n box-sizing: border-box;\n align-items: center;\n line-height: 1;\n align-content: center;\n flex-direction: row;\n justify-content: center;\n"])), function (props) {
37
- return props.theme.badgeBackgroundColor;
39
+ return props.disabled ? props.theme.disabledBadgeBackgroundColor : props.theme.badgeBackgroundColor;
38
40
  }, function (props) {
39
41
  return props.theme.badgeFontFamily;
40
42
  }, function (props) {
@@ -0,0 +1,5 @@
1
+ declare type Props = {
2
+ notificationText: boolean | number | string;
3
+ disabled?: boolean;
4
+ };
5
+ export default Props;
File without changes
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import BleedPropsType from "./types";
3
+ export default function Bleed({ space, horizontal, vertical, top, right, bottom, left, children, }: BleedPropsType): JSX.Element;
package/bleed/Bleed.js ADDED
@@ -0,0 +1,51 @@
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"] = Bleed;
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 Bleed(_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(StyledBleed, {
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
+ return spacingName ? spacingName : "0rem";
40
+ }
41
+
42
+ var StyledBleed = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (_ref2) {
43
+ var space = _ref2.space,
44
+ horizontal = _ref2.horizontal,
45
+ vertical = _ref2.vertical,
46
+ top = _ref2.top,
47
+ right = _ref2.right,
48
+ bottom = _ref2.bottom,
49
+ left = _ref2.left;
50
+ return "\n margin: -".concat(getSpacingValue(top || vertical || space), " -").concat(getSpacingValue(right || horizontal || space), " -").concat(getSpacingValue(bottom || vertical || space), " -").concat(getSpacingValue(left || horizontal || space), ";\n");
51
+ });
@@ -0,0 +1,341 @@
1
+ import React from "react";
2
+ import styled from "styled-components";
3
+ import Title from "../../.storybook/components/Title";
4
+ import DxcBleed from "./Bleed";
5
+ import DxcStack from "../stack/Stack";
6
+
7
+ export default {
8
+ title: "Bleed",
9
+ component: DxcBleed,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <Title title="Space = none" theme="light" level={4} />
15
+ <Container>
16
+ <DxcStack gutter="medium">
17
+ <Placeholder></Placeholder>
18
+ <DxcBleed space="0rem">
19
+ <Placeholder></Placeholder>
20
+ </DxcBleed>
21
+ <Placeholder></Placeholder>
22
+ </DxcStack>
23
+ </Container>
24
+ <Title title="Space = xxxsmall" theme="light" level={4} />
25
+ <Container>
26
+ <DxcStack gutter="medium">
27
+ <Placeholder></Placeholder>
28
+ <DxcBleed space="0.125rem">
29
+ <Placeholder></Placeholder>
30
+ </DxcBleed>
31
+ <Placeholder></Placeholder>
32
+ </DxcStack>
33
+ </Container>
34
+ <Title title="Space = xxsmall" theme="light" level={4} />
35
+ <Container>
36
+ <DxcStack gutter="medium">
37
+ <Placeholder></Placeholder>
38
+ <DxcBleed space="0.25rem">
39
+ <Placeholder></Placeholder>
40
+ </DxcBleed>
41
+ <Placeholder></Placeholder>
42
+ </DxcStack>
43
+ </Container>
44
+ <Title title="Space = xsmall" theme="light" level={4} />
45
+ <Container>
46
+ <DxcStack gutter="medium">
47
+ <Placeholder></Placeholder>
48
+ <DxcBleed space="0.5rem">
49
+ <Placeholder></Placeholder>
50
+ </DxcBleed>
51
+ <Placeholder></Placeholder>
52
+ </DxcStack>
53
+ </Container>
54
+ <Title title="Space = small" theme="light" level={4} />
55
+ <Container>
56
+ <DxcStack gutter="medium">
57
+ <Placeholder></Placeholder>
58
+ <DxcBleed space="1rem">
59
+ <Placeholder></Placeholder>
60
+ </DxcBleed>
61
+ <Placeholder></Placeholder>
62
+ </DxcStack>
63
+ </Container>
64
+ <Title title="Space = medium" theme="light" level={4} />
65
+ <Container>
66
+ <DxcStack gutter="medium">
67
+ <Placeholder></Placeholder>
68
+ <DxcBleed space="1.5rem">
69
+ <Placeholder></Placeholder>
70
+ </DxcBleed>
71
+ <Placeholder></Placeholder>
72
+ </DxcStack>
73
+ </Container>
74
+ <Title title="Space = large" theme="light" level={4} />
75
+ <Container>
76
+ <DxcStack gutter="medium">
77
+ <Placeholder></Placeholder>
78
+ <DxcBleed space="2rem">
79
+ <Placeholder></Placeholder>
80
+ </DxcBleed>
81
+ <Placeholder></Placeholder>
82
+ </DxcStack>
83
+ </Container>
84
+ <Title title="Space = xlarge" theme="light" level={4} />
85
+ <Container>
86
+ <DxcStack gutter="medium">
87
+ <Placeholder></Placeholder>
88
+ <DxcBleed space="3rem">
89
+ <Placeholder></Placeholder>
90
+ </DxcBleed>
91
+ <Placeholder></Placeholder>
92
+ </DxcStack>
93
+ </Container>
94
+ <Title title="Space = xxlarge" theme="light" level={4} />
95
+ <Container>
96
+ <DxcStack gutter="medium">
97
+ <Placeholder></Placeholder>
98
+ <DxcBleed space="4rem">
99
+ <Placeholder></Placeholder>
100
+ </DxcBleed>
101
+ <Placeholder></Placeholder>
102
+ </DxcStack>
103
+ </Container>
104
+ <Title title="Space = xxxlarge" theme="light" level={4} />
105
+ <Container>
106
+ <DxcStack gutter="medium">
107
+ <Placeholder></Placeholder>
108
+ <DxcBleed space="5rem">
109
+ <Placeholder></Placeholder>
110
+ </DxcBleed>
111
+ <Placeholder></Placeholder>
112
+ </DxcStack>
113
+ </Container>
114
+
115
+ <Title title="Horizontal = none" theme="light" level={4} />
116
+ <Container>
117
+ <DxcStack gutter="medium">
118
+ <Placeholder></Placeholder>
119
+ <DxcBleed horizontal="0rem">
120
+ <Placeholder></Placeholder>
121
+ </DxcBleed>
122
+ <Placeholder></Placeholder>
123
+ </DxcStack>
124
+ </Container>
125
+ <Title title="Horizontal = xxxsmall" theme="light" level={4} />
126
+ <Container>
127
+ <DxcStack gutter="medium">
128
+ <Placeholder></Placeholder>
129
+ <DxcBleed horizontal="0.125rem">
130
+ <Placeholder></Placeholder>
131
+ </DxcBleed>
132
+ <Placeholder></Placeholder>
133
+ </DxcStack>
134
+ </Container>
135
+ <Title title="Horizontal = xxsmall" theme="light" level={4} />
136
+ <Container>
137
+ <DxcStack gutter="medium">
138
+ <Placeholder></Placeholder>
139
+ <DxcBleed horizontal="0.25rem">
140
+ <Placeholder></Placeholder>
141
+ </DxcBleed>
142
+ <Placeholder></Placeholder>
143
+ </DxcStack>
144
+ </Container>
145
+ <Title title="Horizontal = xsmall" theme="light" level={4} />
146
+ <Container>
147
+ <DxcStack gutter="medium">
148
+ <Placeholder></Placeholder>
149
+ <DxcBleed horizontal="0.5rem">
150
+ <Placeholder></Placeholder>
151
+ </DxcBleed>
152
+ <Placeholder></Placeholder>
153
+ </DxcStack>
154
+ </Container>
155
+ <Title title="Horizontal = small" theme="light" level={4} />
156
+ <Container>
157
+ <DxcStack gutter="medium">
158
+ <Placeholder></Placeholder>
159
+ <DxcBleed horizontal="1rem">
160
+ <Placeholder></Placeholder>
161
+ </DxcBleed>
162
+ <Placeholder></Placeholder>
163
+ </DxcStack>
164
+ </Container>
165
+ <Title title="Horizontal = medium" theme="light" level={4} />
166
+ <Container>
167
+ <DxcStack gutter="medium">
168
+ <Placeholder></Placeholder>
169
+ <DxcBleed horizontal="1.5rem">
170
+ <Placeholder></Placeholder>
171
+ </DxcBleed>
172
+ <Placeholder></Placeholder>
173
+ </DxcStack>
174
+ </Container>
175
+ <Title title="Horizontal = large" theme="light" level={4} />
176
+ <Container>
177
+ <DxcStack gutter="medium">
178
+ <Placeholder></Placeholder>
179
+ <DxcBleed horizontal="2rem">
180
+ <Placeholder></Placeholder>
181
+ </DxcBleed>
182
+ <Placeholder></Placeholder>
183
+ </DxcStack>
184
+ </Container>
185
+ <Title title="Horizontal = xlarge" theme="light" level={4} />
186
+ <Container>
187
+ <DxcStack gutter="medium">
188
+ <Placeholder></Placeholder>
189
+ <DxcBleed horizontal="3rem">
190
+ <Placeholder></Placeholder>
191
+ </DxcBleed>
192
+ <Placeholder></Placeholder>
193
+ </DxcStack>
194
+ </Container>
195
+ <Title title="Horizontal = xxlarge" theme="light" level={4} />
196
+ <Container>
197
+ <DxcStack gutter="medium">
198
+ <Placeholder></Placeholder>
199
+ <DxcBleed horizontal="4rem">
200
+ <Placeholder></Placeholder>
201
+ </DxcBleed>
202
+ <Placeholder></Placeholder>
203
+ </DxcStack>
204
+ </Container>
205
+ <Title title="Horizontal = xxxlarge" theme="light" level={4} />
206
+ <Container>
207
+ <DxcStack gutter="medium">
208
+ <Placeholder></Placeholder>
209
+ <DxcBleed horizontal="5rem">
210
+ <Placeholder></Placeholder>
211
+ </DxcBleed>
212
+ <Placeholder></Placeholder>
213
+ </DxcStack>
214
+ </Container>
215
+
216
+ <Title title="Vertical = none" theme="light" level={4} />
217
+ <Container>
218
+ <DxcStack gutter="medium">
219
+ <Placeholder></Placeholder>
220
+ <DxcBleed vertical="0rem">
221
+ <Placeholder></Placeholder>
222
+ </DxcBleed>
223
+ <Placeholder></Placeholder>
224
+ </DxcStack>
225
+ </Container>
226
+ <Title title="Vertical = xxxsmall" theme="light" level={4} />
227
+ <Container>
228
+ <DxcStack gutter="medium">
229
+ <Placeholder></Placeholder>
230
+ <DxcBleed vertical="0.125rem">
231
+ <Placeholder></Placeholder>
232
+ </DxcBleed>
233
+ <Placeholder></Placeholder>
234
+ </DxcStack>
235
+ </Container>
236
+ <Title title="Vertical = xxsmall" theme="light" level={4} />
237
+ <Container>
238
+ <DxcStack gutter="medium">
239
+ <Placeholder></Placeholder>
240
+ <DxcBleed vertical="0.25rem">
241
+ <Placeholder></Placeholder>
242
+ </DxcBleed>
243
+ <Placeholder></Placeholder>
244
+ </DxcStack>
245
+ </Container>
246
+ <Title title="Vertical = xsmall" theme="light" level={4} />
247
+ <Container>
248
+ <DxcStack gutter="medium">
249
+ <Placeholder></Placeholder>
250
+ <DxcBleed vertical="0.5rem">
251
+ <Placeholder></Placeholder>
252
+ </DxcBleed>
253
+ <Placeholder></Placeholder>
254
+ </DxcStack>
255
+ </Container>
256
+ <Title title="Vertical = small" theme="light" level={4} />
257
+ <Container>
258
+ <DxcStack gutter="medium">
259
+ <Placeholder></Placeholder>
260
+ <DxcBleed vertical="1rem">
261
+ <Placeholder></Placeholder>
262
+ </DxcBleed>
263
+ <Placeholder></Placeholder>
264
+ </DxcStack>
265
+ </Container>
266
+ <Title title="Vertical = medium" theme="light" level={4} />
267
+ <Container>
268
+ <DxcStack gutter="medium">
269
+ <Placeholder></Placeholder>
270
+ <DxcBleed vertical="1.5rem">
271
+ <Placeholder></Placeholder>
272
+ </DxcBleed>
273
+ <Placeholder></Placeholder>
274
+ </DxcStack>
275
+ </Container>
276
+ <Title title="Vertical = large" theme="light" level={4} />
277
+ <Container>
278
+ <DxcStack gutter="medium">
279
+ <Placeholder></Placeholder>
280
+ <DxcBleed vertical="2rem">
281
+ <Placeholder></Placeholder>
282
+ </DxcBleed>
283
+ <Placeholder></Placeholder>
284
+ </DxcStack>
285
+ </Container>
286
+ <Title title="Vertical = xlarge" theme="light" level={4} />
287
+ <Container>
288
+ <DxcStack gutter="medium">
289
+ <Placeholder></Placeholder>
290
+ <DxcBleed vertical="3rem">
291
+ <Placeholder></Placeholder>
292
+ </DxcBleed>
293
+ <Placeholder></Placeholder>
294
+ </DxcStack>
295
+ </Container>
296
+ <Title title="Vertical = xxlarge" theme="light" level={4} />
297
+ <Container>
298
+ <DxcStack gutter="medium">
299
+ <Placeholder></Placeholder>
300
+ <DxcBleed vertical="4rem">
301
+ <Placeholder></Placeholder>
302
+ </DxcBleed>
303
+ <Placeholder></Placeholder>
304
+ </DxcStack>
305
+ </Container>
306
+ <Title title="Vertical = xxxlarge" theme="light" level={4} />
307
+ <Container>
308
+ <DxcStack gutter="medium">
309
+ <Placeholder></Placeholder>
310
+ <DxcBleed vertical="5rem">
311
+ <Placeholder></Placeholder>
312
+ </DxcBleed>
313
+ <Placeholder></Placeholder>
314
+ </DxcStack>
315
+ </Container>
316
+
317
+ <Title title="Top = xsmall, right = small, bottom = medium and left = large" theme="light" level={4} />
318
+ <Container>
319
+ <DxcStack gutter="medium">
320
+ <Placeholder></Placeholder>
321
+ <DxcBleed top="0.5rem" right="1rem" bottom="1.5rem" left="2rem">
322
+ <Placeholder></Placeholder>
323
+ </DxcBleed>
324
+ <Placeholder></Placeholder>
325
+ </DxcStack>
326
+ </Container>
327
+ </>
328
+ );
329
+
330
+ const Container = styled.div`
331
+ background: #f2eafa;
332
+ padding: 5rem;
333
+ margin: 2.5rem;
334
+ `;
335
+
336
+ const Placeholder = styled.div`
337
+ min-height: 40px;
338
+ min-width: 120px;
339
+ border: 1px solid #a46ede;
340
+ background-color: #e5d5f6;
341
+ `;
@@ -0,0 +1,37 @@
1
+ /// <reference types="react" />
2
+ declare type Spacing = "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
3
+ declare type Props = {
4
+ /**
5
+ * Applies the spacing scale to all sides.
6
+ */
7
+ space?: Spacing;
8
+ /**
9
+ * Applies the spacing scale to the left and right sides.
10
+ */
11
+ horizontal?: Spacing;
12
+ /**
13
+ * Applies the spacing scale to the top and bottom sides.
14
+ */
15
+ vertical?: Spacing;
16
+ /**
17
+ * Applies the spacing scale to the top side.
18
+ */
19
+ top?: Spacing;
20
+ /**
21
+ * Applies the spacing scale to the right side.
22
+ */
23
+ right?: Spacing;
24
+ /**
25
+ * Applies the spacing scale to the bottom side.
26
+ */
27
+ bottom?: Spacing;
28
+ /**
29
+ * Applies the spacing scale to the left side.
30
+ */
31
+ left?: Spacing;
32
+ /**
33
+ * Custom content inside the bleed.
34
+ */
35
+ children: React.ReactNode;
36
+ };
37
+ export default Props;
package/bleed/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/box/Box.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import BoxPropsType from "./types";
3
- declare const DxcBox: ({ shadowDepth, display, children, margin, padding, size, tabIndex, }: BoxPropsType) => JSX.Element;
3
+ declare const DxcBox: ({ shadowDepth, display, children, margin, padding, size, }: BoxPropsType) => JSX.Element;
4
4
  export default DxcBox;