@dxc-technology/halstack-react 0.0.0-f4755a1 → 0.0.0-f53d80b

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 (301) hide show
  1. package/BackgroundColorContext.d.ts +2 -2
  2. package/BackgroundColorContext.js +1 -1
  3. package/HalstackContext.d.ts +1339 -0
  4. package/HalstackContext.js +335 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +118 -142
  7. package/accordion/Accordion.stories.tsx +114 -19
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +8 -7
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +17 -38
  12. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  13. package/accordion-group/AccordionGroup.test.js +126 -0
  14. package/accordion-group/types.d.ts +14 -7
  15. package/alert/Alert.js +8 -7
  16. package/alert/Alert.stories.tsx +28 -0
  17. package/alert/Alert.test.js +92 -0
  18. package/badge/Badge.d.ts +4 -0
  19. package/badge/Badge.js +5 -3
  20. package/badge/types.d.ts +5 -0
  21. package/bleed/Bleed.d.ts +3 -0
  22. package/bleed/Bleed.js +51 -0
  23. package/bleed/Bleed.stories.tsx +341 -0
  24. package/bleed/types.d.ts +37 -0
  25. package/bleed/types.js +5 -0
  26. package/box/Box.js +25 -37
  27. package/box/Box.stories.tsx +15 -0
  28. package/box/Box.test.js +18 -0
  29. package/box/types.d.ts +1 -0
  30. package/bulleted-list/BulletedList.d.ts +7 -0
  31. package/bulleted-list/BulletedList.js +123 -0
  32. package/bulleted-list/BulletedList.stories.tsx +200 -0
  33. package/bulleted-list/types.d.ts +11 -0
  34. package/bulleted-list/types.js +5 -0
  35. package/button/Button.d.ts +1 -1
  36. package/button/Button.js +56 -81
  37. package/button/Button.stories.tsx +163 -14
  38. package/button/Button.test.js +35 -0
  39. package/button/types.d.ts +6 -10
  40. package/card/Card.js +33 -37
  41. package/card/Card.stories.tsx +13 -14
  42. package/card/Card.test.js +50 -0
  43. package/card/types.d.ts +1 -0
  44. package/checkbox/Checkbox.d.ts +2 -2
  45. package/checkbox/Checkbox.js +107 -110
  46. package/checkbox/Checkbox.stories.tsx +198 -130
  47. package/checkbox/Checkbox.test.js +155 -0
  48. package/checkbox/types.d.ts +11 -3
  49. package/chip/Chip.d.ts +1 -1
  50. package/chip/Chip.js +22 -68
  51. package/chip/Chip.stories.tsx +98 -13
  52. package/chip/Chip.test.js +54 -0
  53. package/chip/types.d.ts +5 -13
  54. package/common/utils.d.ts +1 -0
  55. package/common/utils.js +4 -4
  56. package/common/variables.d.ts +1625 -0
  57. package/common/variables.js +490 -591
  58. package/date-input/Calendar.d.ts +4 -0
  59. package/date-input/Calendar.js +258 -0
  60. package/date-input/DateInput.js +171 -260
  61. package/date-input/DateInput.stories.tsx +199 -33
  62. package/date-input/DateInput.test.js +835 -0
  63. package/date-input/DatePicker.d.ts +4 -0
  64. package/date-input/DatePicker.js +146 -0
  65. package/date-input/Icons.d.ts +6 -0
  66. package/date-input/Icons.js +75 -0
  67. package/date-input/YearPicker.d.ts +4 -0
  68. package/date-input/YearPicker.js +126 -0
  69. package/date-input/types.d.ts +67 -9
  70. package/dialog/Dialog.js +76 -93
  71. package/dialog/Dialog.stories.tsx +230 -123
  72. package/dialog/Dialog.test.js +369 -0
  73. package/dialog/types.d.ts +1 -0
  74. package/dropdown/Dropdown.d.ts +1 -1
  75. package/dropdown/Dropdown.js +248 -277
  76. package/dropdown/Dropdown.stories.tsx +255 -64
  77. package/dropdown/Dropdown.test.js +586 -0
  78. package/dropdown/DropdownMenu.d.ts +4 -0
  79. package/dropdown/DropdownMenu.js +70 -0
  80. package/dropdown/DropdownMenuItem.d.ts +4 -0
  81. package/dropdown/DropdownMenuItem.js +79 -0
  82. package/dropdown/types.d.ts +27 -16
  83. package/file-input/FileInput.d.ts +2 -2
  84. package/file-input/FileInput.js +180 -223
  85. package/file-input/FileInput.stories.tsx +122 -10
  86. package/file-input/FileInput.test.js +457 -0
  87. package/file-input/FileItem.d.ts +4 -14
  88. package/file-input/FileItem.js +44 -66
  89. package/file-input/types.d.ts +17 -0
  90. package/flex/Flex.d.ts +4 -0
  91. package/flex/Flex.js +69 -0
  92. package/flex/Flex.stories.tsx +103 -0
  93. package/flex/types.d.ts +32 -0
  94. package/flex/types.js +5 -0
  95. package/footer/Footer.js +26 -103
  96. package/footer/Footer.stories.tsx +99 -1
  97. package/footer/Footer.test.js +97 -0
  98. package/footer/Icons.js +1 -1
  99. package/footer/types.d.ts +2 -1
  100. package/grid/Grid.d.ts +7 -0
  101. package/grid/Grid.js +91 -0
  102. package/grid/Grid.stories.tsx +219 -0
  103. package/grid/types.d.ts +46 -0
  104. package/grid/types.js +5 -0
  105. package/header/Header.d.ts +3 -2
  106. package/header/Header.js +108 -129
  107. package/header/Header.stories.tsx +189 -36
  108. package/header/Header.test.js +79 -0
  109. package/header/Icons.js +2 -2
  110. package/header/types.d.ts +1 -0
  111. package/heading/Heading.js +1 -1
  112. package/heading/Heading.stories.tsx +3 -2
  113. package/heading/Heading.test.js +186 -0
  114. package/inset/Inset.d.ts +3 -0
  115. package/inset/Inset.js +51 -0
  116. package/inset/Inset.stories.tsx +229 -0
  117. package/inset/types.d.ts +37 -0
  118. package/inset/types.js +5 -0
  119. package/layout/ApplicationLayout.d.ts +16 -6
  120. package/layout/ApplicationLayout.js +72 -126
  121. package/layout/ApplicationLayout.stories.tsx +84 -93
  122. package/layout/Icons.d.ts +5 -0
  123. package/layout/Icons.js +13 -2
  124. package/layout/SidenavContext.d.ts +5 -0
  125. package/layout/SidenavContext.js +19 -0
  126. package/layout/types.d.ts +18 -33
  127. package/link/Link.d.ts +3 -2
  128. package/link/Link.js +62 -87
  129. package/link/Link.stories.tsx +159 -52
  130. package/link/Link.test.js +81 -0
  131. package/link/types.d.ts +7 -27
  132. package/main.d.ts +12 -15
  133. package/main.js +57 -75
  134. package/nav-tabs/NavTabs.d.ts +8 -0
  135. package/nav-tabs/NavTabs.js +125 -0
  136. package/nav-tabs/NavTabs.stories.tsx +260 -0
  137. package/nav-tabs/NavTabs.test.js +82 -0
  138. package/nav-tabs/Tab.d.ts +4 -0
  139. package/nav-tabs/Tab.js +150 -0
  140. package/nav-tabs/types.d.ts +53 -0
  141. package/nav-tabs/types.js +5 -0
  142. package/number-input/NumberInput.js +11 -18
  143. package/number-input/NumberInput.stories.tsx +5 -5
  144. package/number-input/NumberInput.test.js +542 -0
  145. package/number-input/types.d.ts +17 -10
  146. package/package.json +20 -23
  147. package/paginator/Icons.d.ts +5 -0
  148. package/paginator/Icons.js +16 -28
  149. package/paginator/Paginator.js +19 -48
  150. package/paginator/Paginator.stories.tsx +24 -0
  151. package/paginator/Paginator.test.js +305 -0
  152. package/paragraph/Paragraph.d.ts +5 -0
  153. package/paragraph/Paragraph.js +38 -0
  154. package/paragraph/Paragraph.stories.tsx +44 -0
  155. package/password-input/PasswordInput.js +7 -4
  156. package/password-input/PasswordInput.stories.tsx +3 -3
  157. package/password-input/PasswordInput.test.js +181 -0
  158. package/password-input/types.d.ts +14 -11
  159. package/progress-bar/ProgressBar.js +61 -55
  160. package/progress-bar/ProgressBar.stories.jsx +47 -12
  161. package/progress-bar/ProgressBar.test.js +110 -0
  162. package/quick-nav/QuickNav.d.ts +4 -0
  163. package/quick-nav/QuickNav.js +117 -0
  164. package/quick-nav/QuickNav.stories.tsx +356 -0
  165. package/quick-nav/types.d.ts +21 -0
  166. package/quick-nav/types.js +5 -0
  167. package/radio-group/Radio.d.ts +1 -1
  168. package/radio-group/Radio.js +79 -32
  169. package/radio-group/RadioGroup.js +153 -36
  170. package/radio-group/RadioGroup.stories.tsx +178 -20
  171. package/radio-group/RadioGroup.test.js +722 -0
  172. package/radio-group/types.d.ts +90 -13
  173. package/resultsetTable/Icons.d.ts +7 -0
  174. package/resultsetTable/Icons.js +51 -0
  175. package/resultsetTable/ResultsetTable.js +50 -106
  176. package/resultsetTable/ResultsetTable.stories.tsx +56 -32
  177. package/resultsetTable/ResultsetTable.test.js +325 -0
  178. package/resultsetTable/types.d.ts +1 -1
  179. package/select/Icons.d.ts +10 -0
  180. package/select/Icons.js +93 -0
  181. package/select/Listbox.d.ts +4 -0
  182. package/select/Listbox.js +169 -0
  183. package/select/Option.d.ts +4 -0
  184. package/select/Option.js +97 -0
  185. package/select/Select.js +189 -386
  186. package/select/Select.stories.tsx +600 -201
  187. package/select/Select.test.js +2228 -0
  188. package/select/types.d.ts +53 -13
  189. package/sidenav/Sidenav.d.ts +6 -5
  190. package/sidenav/Sidenav.js +183 -53
  191. package/sidenav/Sidenav.stories.tsx +249 -132
  192. package/sidenav/Sidenav.test.js +44 -0
  193. package/sidenav/types.d.ts +50 -27
  194. package/slider/Slider.d.ts +2 -2
  195. package/slider/Slider.js +123 -98
  196. package/slider/Slider.stories.tsx +72 -9
  197. package/slider/Slider.test.js +250 -0
  198. package/slider/types.d.ts +8 -0
  199. package/spinner/Spinner.js +18 -24
  200. package/spinner/Spinner.stories.jsx +53 -26
  201. package/spinner/Spinner.test.js +64 -0
  202. package/switch/Switch.d.ts +2 -2
  203. package/switch/Switch.js +152 -69
  204. package/switch/Switch.stories.tsx +54 -43
  205. package/switch/Switch.test.js +225 -0
  206. package/switch/types.d.ts +10 -2
  207. package/table/Table.js +3 -3
  208. package/table/Table.stories.jsx +81 -1
  209. package/table/Table.test.js +26 -0
  210. package/tabs/Tab.d.ts +4 -0
  211. package/tabs/Tab.js +133 -0
  212. package/tabs/Tabs.d.ts +1 -1
  213. package/tabs/Tabs.js +363 -111
  214. package/tabs/Tabs.stories.tsx +122 -17
  215. package/tabs/Tabs.test.js +350 -0
  216. package/tabs/types.d.ts +37 -15
  217. package/tag/Tag.d.ts +1 -1
  218. package/tag/Tag.js +24 -36
  219. package/tag/Tag.stories.tsx +38 -28
  220. package/tag/Tag.test.js +60 -0
  221. package/tag/types.d.ts +23 -14
  222. package/text-input/Icons.d.ts +8 -0
  223. package/text-input/Icons.js +60 -0
  224. package/text-input/Suggestion.d.ts +4 -0
  225. package/text-input/Suggestion.js +84 -0
  226. package/text-input/Suggestions.d.ts +4 -0
  227. package/text-input/Suggestions.js +134 -0
  228. package/text-input/TextInput.js +220 -333
  229. package/text-input/TextInput.stories.tsx +309 -196
  230. package/text-input/TextInput.test.js +1723 -0
  231. package/text-input/types.d.ts +51 -13
  232. package/textarea/Textarea.js +23 -30
  233. package/textarea/Textarea.stories.jsx +96 -15
  234. package/textarea/Textarea.test.js +437 -0
  235. package/textarea/types.d.ts +18 -11
  236. package/toggle-group/ToggleGroup.d.ts +1 -1
  237. package/toggle-group/ToggleGroup.js +12 -8
  238. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  239. package/toggle-group/ToggleGroup.test.js +156 -0
  240. package/toggle-group/types.d.ts +10 -2
  241. package/typography/Typography.d.ts +4 -0
  242. package/typography/Typography.js +32 -0
  243. package/typography/Typography.stories.tsx +198 -0
  244. package/typography/types.d.ts +18 -0
  245. package/typography/types.js +5 -0
  246. package/useTheme.d.ts +1234 -1
  247. package/useTheme.js +3 -3
  248. package/useTranslatedLabels.d.ts +85 -0
  249. package/useTranslatedLabels.js +20 -0
  250. package/utils/BaseTypography.d.ts +21 -0
  251. package/utils/BaseTypography.js +108 -0
  252. package/utils/FocusLock.d.ts +13 -0
  253. package/utils/FocusLock.js +139 -0
  254. package/wizard/Wizard.d.ts +1 -1
  255. package/wizard/Wizard.js +59 -55
  256. package/wizard/Wizard.stories.tsx +48 -19
  257. package/wizard/Wizard.test.js +141 -0
  258. package/wizard/types.d.ts +8 -4
  259. package/ThemeContext.d.ts +0 -15
  260. package/ThemeContext.js +0 -243
  261. package/V3Select/V3Select.js +0 -455
  262. package/V3Select/index.d.ts +0 -27
  263. package/V3Textarea/V3Textarea.js +0 -260
  264. package/V3Textarea/index.d.ts +0 -27
  265. package/common/RequiredComponent.js +0 -32
  266. package/date/Date.js +0 -373
  267. package/date/index.d.ts +0 -27
  268. package/input-text/Icons.js +0 -22
  269. package/input-text/InputText.js +0 -611
  270. package/input-text/index.d.ts +0 -36
  271. package/list/List.d.ts +0 -8
  272. package/list/List.js +0 -47
  273. package/list/List.stories.tsx +0 -95
  274. package/radio/Radio.d.ts +0 -4
  275. package/radio/Radio.js +0 -174
  276. package/radio/Radio.stories.tsx +0 -192
  277. package/radio/types.d.ts +0 -54
  278. package/row/Row.d.ts +0 -11
  279. package/row/Row.js +0 -127
  280. package/row/Row.stories.tsx +0 -239
  281. package/stack/Stack.d.ts +0 -10
  282. package/stack/Stack.js +0 -97
  283. package/stack/Stack.stories.tsx +0 -166
  284. package/text/Text.d.ts +0 -7
  285. package/text/Text.js +0 -30
  286. package/text/Text.stories.tsx +0 -19
  287. package/toggle/Toggle.js +0 -186
  288. package/toggle/index.d.ts +0 -21
  289. package/upload/Upload.js +0 -201
  290. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  291. package/upload/buttons-upload/Icons.js +0 -40
  292. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  293. package/upload/dragAndDropArea/Icons.js +0 -39
  294. package/upload/file-upload/FileToUpload.js +0 -115
  295. package/upload/file-upload/Icons.js +0 -66
  296. package/upload/files-upload/FilesToUpload.js +0 -109
  297. package/upload/index.d.ts +0 -15
  298. package/upload/transaction/Icons.js +0 -160
  299. package/upload/transaction/Transaction.js +0 -104
  300. package/upload/transactions/Transactions.js +0 -94
  301. /package/{radio → badge}/types.js +0 -0
@@ -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.tsx"));
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
+ });
@@ -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
@@ -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;
@@ -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 DxcFlex from "../flex/Flex";
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
+ <DxcFlex direction="column" gap="1.5rem">
17
+ <Placeholder></Placeholder>
18
+ <DxcBleed space="0rem">
19
+ <Placeholder></Placeholder>
20
+ </DxcBleed>
21
+ <Placeholder></Placeholder>
22
+ </DxcFlex>
23
+ </Container>
24
+ <Title title="Space = xxxsmall" theme="light" level={4} />
25
+ <Container>
26
+ <DxcFlex direction="column" gap="1.5rem">
27
+ <Placeholder></Placeholder>
28
+ <DxcBleed space="0.125rem">
29
+ <Placeholder></Placeholder>
30
+ </DxcBleed>
31
+ <Placeholder></Placeholder>
32
+ </DxcFlex>
33
+ </Container>
34
+ <Title title="Space = xxsmall" theme="light" level={4} />
35
+ <Container>
36
+ <DxcFlex direction="column" gap="1.5rem">
37
+ <Placeholder></Placeholder>
38
+ <DxcBleed space="0.25rem">
39
+ <Placeholder></Placeholder>
40
+ </DxcBleed>
41
+ <Placeholder></Placeholder>
42
+ </DxcFlex>
43
+ </Container>
44
+ <Title title="Space = xsmall" theme="light" level={4} />
45
+ <Container>
46
+ <DxcFlex direction="column" gap="1.5rem">
47
+ <Placeholder></Placeholder>
48
+ <DxcBleed space="0.5rem">
49
+ <Placeholder></Placeholder>
50
+ </DxcBleed>
51
+ <Placeholder></Placeholder>
52
+ </DxcFlex>
53
+ </Container>
54
+ <Title title="Space = small" theme="light" level={4} />
55
+ <Container>
56
+ <DxcFlex direction="column" gap="1.5rem">
57
+ <Placeholder></Placeholder>
58
+ <DxcBleed space="1rem">
59
+ <Placeholder></Placeholder>
60
+ </DxcBleed>
61
+ <Placeholder></Placeholder>
62
+ </DxcFlex>
63
+ </Container>
64
+ <Title title="Space = medium" theme="light" level={4} />
65
+ <Container>
66
+ <DxcFlex direction="column" gap="1.5rem">
67
+ <Placeholder></Placeholder>
68
+ <DxcBleed space="1.5rem">
69
+ <Placeholder></Placeholder>
70
+ </DxcBleed>
71
+ <Placeholder></Placeholder>
72
+ </DxcFlex>
73
+ </Container>
74
+ <Title title="Space = large" theme="light" level={4} />
75
+ <Container>
76
+ <DxcFlex direction="column" gap="1.5rem">
77
+ <Placeholder></Placeholder>
78
+ <DxcBleed space="2rem">
79
+ <Placeholder></Placeholder>
80
+ </DxcBleed>
81
+ <Placeholder></Placeholder>
82
+ </DxcFlex>
83
+ </Container>
84
+ <Title title="Space = xlarge" theme="light" level={4} />
85
+ <Container>
86
+ <DxcFlex direction="column" gap="1.5rem">
87
+ <Placeholder></Placeholder>
88
+ <DxcBleed space="3rem">
89
+ <Placeholder></Placeholder>
90
+ </DxcBleed>
91
+ <Placeholder></Placeholder>
92
+ </DxcFlex>
93
+ </Container>
94
+ <Title title="Space = xxlarge" theme="light" level={4} />
95
+ <Container>
96
+ <DxcFlex direction="column" gap="1.5rem">
97
+ <Placeholder></Placeholder>
98
+ <DxcBleed space="4rem">
99
+ <Placeholder></Placeholder>
100
+ </DxcBleed>
101
+ <Placeholder></Placeholder>
102
+ </DxcFlex>
103
+ </Container>
104
+ <Title title="Space = xxxlarge" theme="light" level={4} />
105
+ <Container>
106
+ <DxcFlex direction="column" gap="1.5rem">
107
+ <Placeholder></Placeholder>
108
+ <DxcBleed space="5rem">
109
+ <Placeholder></Placeholder>
110
+ </DxcBleed>
111
+ <Placeholder></Placeholder>
112
+ </DxcFlex>
113
+ </Container>
114
+
115
+ <Title title="Horizontal = none" theme="light" level={4} />
116
+ <Container>
117
+ <DxcFlex direction="column" gap="1.5rem">
118
+ <Placeholder></Placeholder>
119
+ <DxcBleed horizontal="0rem">
120
+ <Placeholder></Placeholder>
121
+ </DxcBleed>
122
+ <Placeholder></Placeholder>
123
+ </DxcFlex>
124
+ </Container>
125
+ <Title title="Horizontal = xxxsmall" theme="light" level={4} />
126
+ <Container>
127
+ <DxcFlex direction="column" gap="1.5rem">
128
+ <Placeholder></Placeholder>
129
+ <DxcBleed horizontal="0.125rem">
130
+ <Placeholder></Placeholder>
131
+ </DxcBleed>
132
+ <Placeholder></Placeholder>
133
+ </DxcFlex>
134
+ </Container>
135
+ <Title title="Horizontal = xxsmall" theme="light" level={4} />
136
+ <Container>
137
+ <DxcFlex direction="column" gap="1.5rem">
138
+ <Placeholder></Placeholder>
139
+ <DxcBleed horizontal="0.25rem">
140
+ <Placeholder></Placeholder>
141
+ </DxcBleed>
142
+ <Placeholder></Placeholder>
143
+ </DxcFlex>
144
+ </Container>
145
+ <Title title="Horizontal = xsmall" theme="light" level={4} />
146
+ <Container>
147
+ <DxcFlex direction="column" gap="1.5rem">
148
+ <Placeholder></Placeholder>
149
+ <DxcBleed horizontal="0.5rem">
150
+ <Placeholder></Placeholder>
151
+ </DxcBleed>
152
+ <Placeholder></Placeholder>
153
+ </DxcFlex>
154
+ </Container>
155
+ <Title title="Horizontal = small" theme="light" level={4} />
156
+ <Container>
157
+ <DxcFlex direction="column" gap="1.5rem">
158
+ <Placeholder></Placeholder>
159
+ <DxcBleed horizontal="1rem">
160
+ <Placeholder></Placeholder>
161
+ </DxcBleed>
162
+ <Placeholder></Placeholder>
163
+ </DxcFlex>
164
+ </Container>
165
+ <Title title="Horizontal = medium" theme="light" level={4} />
166
+ <Container>
167
+ <DxcFlex direction="column" gap="1.5rem">
168
+ <Placeholder></Placeholder>
169
+ <DxcBleed horizontal="1.5rem">
170
+ <Placeholder></Placeholder>
171
+ </DxcBleed>
172
+ <Placeholder></Placeholder>
173
+ </DxcFlex>
174
+ </Container>
175
+ <Title title="Horizontal = large" theme="light" level={4} />
176
+ <Container>
177
+ <DxcFlex direction="column" gap="1.5rem">
178
+ <Placeholder></Placeholder>
179
+ <DxcBleed horizontal="2rem">
180
+ <Placeholder></Placeholder>
181
+ </DxcBleed>
182
+ <Placeholder></Placeholder>
183
+ </DxcFlex>
184
+ </Container>
185
+ <Title title="Horizontal = xlarge" theme="light" level={4} />
186
+ <Container>
187
+ <DxcFlex direction="column" gap="1.5rem">
188
+ <Placeholder></Placeholder>
189
+ <DxcBleed horizontal="3rem">
190
+ <Placeholder></Placeholder>
191
+ </DxcBleed>
192
+ <Placeholder></Placeholder>
193
+ </DxcFlex>
194
+ </Container>
195
+ <Title title="Horizontal = xxlarge" theme="light" level={4} />
196
+ <Container>
197
+ <DxcFlex direction="column" gap="1.5rem">
198
+ <Placeholder></Placeholder>
199
+ <DxcBleed horizontal="4rem">
200
+ <Placeholder></Placeholder>
201
+ </DxcBleed>
202
+ <Placeholder></Placeholder>
203
+ </DxcFlex>
204
+ </Container>
205
+ <Title title="Horizontal = xxxlarge" theme="light" level={4} />
206
+ <Container>
207
+ <DxcFlex direction="column" gap="1.5rem">
208
+ <Placeholder></Placeholder>
209
+ <DxcBleed horizontal="5rem">
210
+ <Placeholder></Placeholder>
211
+ </DxcBleed>
212
+ <Placeholder></Placeholder>
213
+ </DxcFlex>
214
+ </Container>
215
+
216
+ <Title title="Vertical = none" theme="light" level={4} />
217
+ <Container>
218
+ <DxcFlex direction="column" gap="1.5rem">
219
+ <Placeholder></Placeholder>
220
+ <DxcBleed vertical="0rem">
221
+ <Placeholder></Placeholder>
222
+ </DxcBleed>
223
+ <Placeholder></Placeholder>
224
+ </DxcFlex>
225
+ </Container>
226
+ <Title title="Vertical = xxxsmall" theme="light" level={4} />
227
+ <Container>
228
+ <DxcFlex direction="column" gap="1.5rem">
229
+ <Placeholder></Placeholder>
230
+ <DxcBleed vertical="0.125rem">
231
+ <Placeholder></Placeholder>
232
+ </DxcBleed>
233
+ <Placeholder></Placeholder>
234
+ </DxcFlex>
235
+ </Container>
236
+ <Title title="Vertical = xxsmall" theme="light" level={4} />
237
+ <Container>
238
+ <DxcFlex direction="column" gap="1.5rem">
239
+ <Placeholder></Placeholder>
240
+ <DxcBleed vertical="0.25rem">
241
+ <Placeholder></Placeholder>
242
+ </DxcBleed>
243
+ <Placeholder></Placeholder>
244
+ </DxcFlex>
245
+ </Container>
246
+ <Title title="Vertical = xsmall" theme="light" level={4} />
247
+ <Container>
248
+ <DxcFlex direction="column" gap="1.5rem">
249
+ <Placeholder></Placeholder>
250
+ <DxcBleed vertical="0.5rem">
251
+ <Placeholder></Placeholder>
252
+ </DxcBleed>
253
+ <Placeholder></Placeholder>
254
+ </DxcFlex>
255
+ </Container>
256
+ <Title title="Vertical = small" theme="light" level={4} />
257
+ <Container>
258
+ <DxcFlex direction="column" gap="1.5rem">
259
+ <Placeholder></Placeholder>
260
+ <DxcBleed vertical="1rem">
261
+ <Placeholder></Placeholder>
262
+ </DxcBleed>
263
+ <Placeholder></Placeholder>
264
+ </DxcFlex>
265
+ </Container>
266
+ <Title title="Vertical = medium" theme="light" level={4} />
267
+ <Container>
268
+ <DxcFlex direction="column" gap="1.5rem">
269
+ <Placeholder></Placeholder>
270
+ <DxcBleed vertical="1.5rem">
271
+ <Placeholder></Placeholder>
272
+ </DxcBleed>
273
+ <Placeholder></Placeholder>
274
+ </DxcFlex>
275
+ </Container>
276
+ <Title title="Vertical = large" theme="light" level={4} />
277
+ <Container>
278
+ <DxcFlex direction="column" gap="1.5rem">
279
+ <Placeholder></Placeholder>
280
+ <DxcBleed vertical="2rem">
281
+ <Placeholder></Placeholder>
282
+ </DxcBleed>
283
+ <Placeholder></Placeholder>
284
+ </DxcFlex>
285
+ </Container>
286
+ <Title title="Vertical = xlarge" theme="light" level={4} />
287
+ <Container>
288
+ <DxcFlex direction="column" gap="1.5rem">
289
+ <Placeholder></Placeholder>
290
+ <DxcBleed vertical="3rem">
291
+ <Placeholder></Placeholder>
292
+ </DxcBleed>
293
+ <Placeholder></Placeholder>
294
+ </DxcFlex>
295
+ </Container>
296
+ <Title title="Vertical = xxlarge" theme="light" level={4} />
297
+ <Container>
298
+ <DxcFlex direction="column" gap="1.5rem">
299
+ <Placeholder></Placeholder>
300
+ <DxcBleed vertical="4rem">
301
+ <Placeholder></Placeholder>
302
+ </DxcBleed>
303
+ <Placeholder></Placeholder>
304
+ </DxcFlex>
305
+ </Container>
306
+ <Title title="Vertical = xxxlarge" theme="light" level={4} />
307
+ <Container>
308
+ <DxcFlex direction="column" gap="1.5rem">
309
+ <Placeholder></Placeholder>
310
+ <DxcBleed vertical="5rem">
311
+ <Placeholder></Placeholder>
312
+ </DxcBleed>
313
+ <Placeholder></Placeholder>
314
+ </DxcFlex>
315
+ </Container>
316
+
317
+ <Title title="Top = xsmall, right = small, bottom = medium and left = large" theme="light" level={4} />
318
+ <Container>
319
+ <DxcFlex direction="column" gap="1.5rem">
320
+ <Placeholder></Placeholder>
321
+ <DxcBleed top="0.5rem" right="1rem" bottom="1.5rem" left="2rem">
322
+ <Placeholder></Placeholder>
323
+ </DxcBleed>
324
+ <Placeholder></Placeholder>
325
+ </DxcFlex>
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
+ });