@dxc-technology/halstack-react 0.0.0-3716032 → 0.0.0-38267fd

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 (291) hide show
  1. package/BackgroundColorContext.js +0 -1
  2. package/HalstackContext.d.ts +12 -0
  3. package/HalstackContext.js +343 -0
  4. package/accordion/Accordion.d.ts +1 -1
  5. package/accordion/Accordion.js +117 -136
  6. package/accordion/Accordion.stories.tsx +114 -19
  7. package/accordion/Accordion.test.js +71 -0
  8. package/accordion/types.d.ts +11 -10
  9. package/accordion-group/AccordionGroup.d.ts +1 -1
  10. package/accordion-group/AccordionGroup.js +15 -36
  11. package/accordion-group/AccordionGroup.stories.tsx +28 -2
  12. package/accordion-group/AccordionGroup.test.js +126 -0
  13. package/accordion-group/types.d.ts +16 -9
  14. package/alert/Alert.js +5 -2
  15. package/alert/Alert.stories.tsx +28 -0
  16. package/alert/Alert.test.js +92 -0
  17. package/badge/Badge.d.ts +4 -0
  18. package/badge/Badge.js +5 -3
  19. package/badge/types.d.ts +5 -0
  20. package/bleed/Bleed.d.ts +3 -0
  21. package/bleed/Bleed.js +51 -0
  22. package/bleed/Bleed.stories.tsx +341 -0
  23. package/bleed/types.d.ts +37 -0
  24. package/bleed/types.js +5 -0
  25. package/box/Box.js +23 -35
  26. package/box/Box.stories.tsx +15 -0
  27. package/box/Box.test.js +18 -0
  28. package/box/types.d.ts +1 -0
  29. package/bulleted-list/BulletedList.d.ts +7 -0
  30. package/bulleted-list/BulletedList.js +123 -0
  31. package/bulleted-list/BulletedList.stories.tsx +200 -0
  32. package/bulleted-list/types.d.ts +11 -0
  33. package/bulleted-list/types.js +5 -0
  34. package/button/Button.d.ts +1 -1
  35. package/button/Button.js +54 -79
  36. package/button/Button.stories.tsx +163 -14
  37. package/button/Button.test.js +35 -0
  38. package/button/types.d.ts +8 -12
  39. package/card/Card.js +24 -27
  40. package/card/Card.stories.tsx +1 -1
  41. package/card/Card.test.js +50 -0
  42. package/card/types.d.ts +1 -0
  43. package/checkbox/Checkbox.d.ts +2 -2
  44. package/checkbox/Checkbox.js +106 -109
  45. package/checkbox/Checkbox.stories.tsx +198 -130
  46. package/checkbox/Checkbox.test.js +155 -0
  47. package/checkbox/types.d.ts +13 -5
  48. package/chip/Chip.d.ts +1 -1
  49. package/chip/Chip.js +20 -64
  50. package/chip/Chip.stories.tsx +98 -13
  51. package/chip/Chip.test.js +56 -0
  52. package/chip/types.d.ts +5 -13
  53. package/common/variables.js +514 -584
  54. package/date-input/Calendar.d.ts +4 -0
  55. package/date-input/Calendar.js +258 -0
  56. package/date-input/DateInput.js +171 -260
  57. package/date-input/DateInput.stories.tsx +199 -33
  58. package/date-input/DateInput.test.js +835 -0
  59. package/date-input/DatePicker.d.ts +4 -0
  60. package/date-input/DatePicker.js +146 -0
  61. package/date-input/Icons.d.ts +6 -0
  62. package/date-input/Icons.js +75 -0
  63. package/date-input/YearPicker.d.ts +4 -0
  64. package/date-input/YearPicker.js +126 -0
  65. package/date-input/types.d.ts +67 -9
  66. package/dialog/Dialog.js +75 -92
  67. package/dialog/Dialog.stories.tsx +230 -123
  68. package/dialog/Dialog.test.js +369 -0
  69. package/dialog/types.d.ts +3 -2
  70. package/dropdown/Dropdown.d.ts +1 -1
  71. package/dropdown/Dropdown.js +248 -277
  72. package/dropdown/Dropdown.stories.tsx +255 -64
  73. package/dropdown/Dropdown.test.js +585 -0
  74. package/dropdown/DropdownMenu.d.ts +4 -0
  75. package/dropdown/DropdownMenu.js +70 -0
  76. package/dropdown/DropdownMenuItem.d.ts +4 -0
  77. package/dropdown/DropdownMenuItem.js +81 -0
  78. package/dropdown/types.d.ts +29 -18
  79. package/file-input/FileInput.d.ts +2 -2
  80. package/file-input/FileInput.js +180 -222
  81. package/file-input/FileInput.stories.tsx +122 -10
  82. package/file-input/FileInput.test.js +457 -0
  83. package/file-input/FileItem.d.ts +4 -14
  84. package/file-input/FileItem.js +44 -66
  85. package/file-input/types.d.ts +17 -0
  86. package/flex/Flex.d.ts +4 -0
  87. package/flex/Flex.js +69 -0
  88. package/flex/Flex.stories.tsx +103 -0
  89. package/flex/types.d.ts +32 -0
  90. package/flex/types.js +5 -0
  91. package/footer/Footer.js +24 -99
  92. package/footer/Footer.stories.tsx +99 -1
  93. package/footer/Footer.test.js +109 -0
  94. package/footer/Icons.js +1 -1
  95. package/footer/types.d.ts +2 -1
  96. package/header/Header.js +107 -128
  97. package/header/Header.stories.tsx +189 -36
  98. package/header/Header.test.js +79 -0
  99. package/header/Icons.js +2 -2
  100. package/header/types.d.ts +3 -2
  101. package/heading/Heading.stories.tsx +3 -2
  102. package/heading/Heading.test.js +186 -0
  103. package/inset/Inset.d.ts +3 -0
  104. package/inset/Inset.js +51 -0
  105. package/inset/Inset.stories.tsx +229 -0
  106. package/inset/types.d.ts +37 -0
  107. package/inset/types.js +5 -0
  108. package/layout/ApplicationLayout.d.ts +16 -6
  109. package/layout/ApplicationLayout.js +71 -125
  110. package/layout/ApplicationLayout.stories.tsx +84 -93
  111. package/layout/Icons.d.ts +5 -0
  112. package/layout/Icons.js +13 -2
  113. package/layout/SidenavContext.d.ts +5 -0
  114. package/layout/SidenavContext.js +19 -0
  115. package/layout/types.d.ts +18 -33
  116. package/link/Link.d.ts +3 -2
  117. package/link/Link.js +61 -86
  118. package/link/Link.stories.tsx +159 -52
  119. package/link/Link.test.js +83 -0
  120. package/link/types.d.ts +9 -29
  121. package/main.d.ts +11 -15
  122. package/main.js +53 -79
  123. package/nav-tabs/NavTabs.d.ts +8 -0
  124. package/nav-tabs/NavTabs.js +125 -0
  125. package/nav-tabs/NavTabs.stories.tsx +260 -0
  126. package/nav-tabs/NavTabs.test.js +82 -0
  127. package/nav-tabs/Tab.d.ts +4 -0
  128. package/nav-tabs/Tab.js +150 -0
  129. package/nav-tabs/types.d.ts +53 -0
  130. package/nav-tabs/types.js +5 -0
  131. package/number-input/NumberInput.js +11 -18
  132. package/number-input/NumberInput.stories.tsx +5 -5
  133. package/number-input/NumberInput.test.js +542 -0
  134. package/number-input/types.d.ts +17 -10
  135. package/package.json +21 -22
  136. package/paginator/Icons.d.ts +5 -0
  137. package/paginator/Icons.js +16 -28
  138. package/paginator/Paginator.js +19 -46
  139. package/paginator/Paginator.stories.tsx +24 -0
  140. package/paginator/Paginator.test.js +315 -0
  141. package/paragraph/Paragraph.d.ts +6 -0
  142. package/paragraph/Paragraph.js +38 -0
  143. package/paragraph/Paragraph.stories.tsx +44 -0
  144. package/password-input/PasswordInput.js +7 -4
  145. package/password-input/PasswordInput.stories.tsx +3 -3
  146. package/password-input/PasswordInput.test.js +181 -0
  147. package/password-input/types.d.ts +14 -11
  148. package/progress-bar/ProgressBar.d.ts +2 -2
  149. package/progress-bar/ProgressBar.js +60 -54
  150. package/progress-bar/ProgressBar.stories.jsx +47 -12
  151. package/progress-bar/ProgressBar.test.js +110 -0
  152. package/progress-bar/types.d.ts +3 -4
  153. package/quick-nav/QuickNav.d.ts +4 -0
  154. package/quick-nav/QuickNav.js +117 -0
  155. package/quick-nav/QuickNav.stories.tsx +356 -0
  156. package/quick-nav/types.d.ts +21 -0
  157. package/quick-nav/types.js +5 -0
  158. package/radio-group/Radio.d.ts +4 -0
  159. package/radio-group/Radio.js +156 -0
  160. package/radio-group/RadioGroup.d.ts +4 -0
  161. package/radio-group/RadioGroup.js +283 -0
  162. package/radio-group/RadioGroup.stories.tsx +214 -0
  163. package/radio-group/RadioGroup.test.js +722 -0
  164. package/radio-group/types.d.ts +114 -0
  165. package/radio-group/types.js +5 -0
  166. package/resultsetTable/Icons.d.ts +7 -0
  167. package/resultsetTable/Icons.js +51 -0
  168. package/resultsetTable/ResultsetTable.js +49 -105
  169. package/resultsetTable/ResultsetTable.stories.tsx +56 -32
  170. package/resultsetTable/ResultsetTable.test.js +325 -0
  171. package/resultsetTable/types.d.ts +2 -2
  172. package/select/Icons.d.ts +10 -0
  173. package/select/Icons.js +93 -0
  174. package/select/Listbox.d.ts +4 -0
  175. package/select/Listbox.js +169 -0
  176. package/select/Option.d.ts +4 -0
  177. package/select/Option.js +97 -0
  178. package/select/Select.js +183 -382
  179. package/select/Select.stories.tsx +600 -201
  180. package/select/Select.test.js +2228 -0
  181. package/select/types.d.ts +53 -13
  182. package/sidenav/Sidenav.d.ts +6 -5
  183. package/sidenav/Sidenav.js +182 -52
  184. package/sidenav/Sidenav.stories.tsx +249 -132
  185. package/sidenav/Sidenav.test.js +44 -0
  186. package/sidenav/types.d.ts +50 -27
  187. package/slider/Slider.d.ts +2 -2
  188. package/slider/Slider.js +122 -96
  189. package/slider/Slider.stories.tsx +72 -9
  190. package/slider/Slider.test.js +250 -0
  191. package/slider/types.d.ts +10 -2
  192. package/spinner/Spinner.js +3 -3
  193. package/spinner/Spinner.stories.jsx +27 -0
  194. package/spinner/Spinner.test.js +64 -0
  195. package/switch/Switch.d.ts +2 -2
  196. package/switch/Switch.js +150 -67
  197. package/switch/Switch.stories.tsx +54 -43
  198. package/switch/Switch.test.js +225 -0
  199. package/switch/types.d.ts +12 -4
  200. package/table/Table.js +1 -1
  201. package/table/Table.stories.jsx +81 -1
  202. package/table/Table.test.js +26 -0
  203. package/tabs/Tab.d.ts +4 -0
  204. package/tabs/Tab.js +133 -0
  205. package/tabs/Tabs.d.ts +1 -1
  206. package/tabs/Tabs.js +364 -110
  207. package/tabs/Tabs.stories.tsx +122 -17
  208. package/tabs/Tabs.test.js +351 -0
  209. package/tabs/types.d.ts +39 -17
  210. package/tag/Tag.d.ts +1 -1
  211. package/tag/Tag.js +18 -28
  212. package/tag/Tag.stories.tsx +38 -28
  213. package/tag/Tag.test.js +60 -0
  214. package/tag/types.d.ts +23 -14
  215. package/text-input/Icons.d.ts +8 -0
  216. package/text-input/Icons.js +60 -0
  217. package/text-input/Suggestion.d.ts +4 -0
  218. package/text-input/Suggestion.js +84 -0
  219. package/text-input/Suggestions.d.ts +4 -0
  220. package/text-input/Suggestions.js +134 -0
  221. package/text-input/TextInput.js +219 -332
  222. package/text-input/TextInput.stories.tsx +309 -196
  223. package/text-input/TextInput.test.js +1724 -0
  224. package/text-input/types.d.ts +51 -13
  225. package/textarea/Textarea.js +20 -27
  226. package/textarea/Textarea.stories.jsx +96 -15
  227. package/textarea/Textarea.test.js +437 -0
  228. package/textarea/types.d.ts +18 -11
  229. package/toggle-group/ToggleGroup.d.ts +1 -1
  230. package/toggle-group/ToggleGroup.js +5 -4
  231. package/toggle-group/ToggleGroup.stories.tsx +46 -4
  232. package/toggle-group/ToggleGroup.test.js +156 -0
  233. package/toggle-group/types.d.ts +9 -1
  234. package/typography/Typography.d.ts +4 -0
  235. package/typography/Typography.js +131 -0
  236. package/typography/Typography.stories.tsx +198 -0
  237. package/typography/types.d.ts +18 -0
  238. package/typography/types.js +5 -0
  239. package/useTheme.js +2 -2
  240. package/useTranslatedLabels.d.ts +2 -0
  241. package/useTranslatedLabels.js +20 -0
  242. package/utils/FocusLock.d.ts +13 -0
  243. package/utils/FocusLock.js +139 -0
  244. package/wizard/Wizard.d.ts +1 -1
  245. package/wizard/Wizard.js +58 -54
  246. package/wizard/Wizard.stories.tsx +48 -19
  247. package/wizard/Wizard.test.js +141 -0
  248. package/wizard/types.d.ts +10 -5
  249. package/ThemeContext.d.ts +0 -15
  250. package/ThemeContext.js +0 -243
  251. package/V3Select/V3Select.js +0 -455
  252. package/V3Select/index.d.ts +0 -27
  253. package/V3Textarea/V3Textarea.js +0 -260
  254. package/V3Textarea/index.d.ts +0 -27
  255. package/common/RequiredComponent.js +0 -32
  256. package/date/Date.js +0 -373
  257. package/date/index.d.ts +0 -27
  258. package/input-text/Icons.js +0 -22
  259. package/input-text/InputText.js +0 -611
  260. package/input-text/index.d.ts +0 -36
  261. package/list/List.d.ts +0 -8
  262. package/list/List.js +0 -47
  263. package/list/List.stories.tsx +0 -85
  264. package/radio/Radio.d.ts +0 -4
  265. package/radio/Radio.js +0 -174
  266. package/radio/Radio.stories.tsx +0 -192
  267. package/radio/types.d.ts +0 -54
  268. package/row/Row.d.ts +0 -11
  269. package/row/Row.js +0 -124
  270. package/row/Row.stories.tsx +0 -223
  271. package/stack/Stack.d.ts +0 -10
  272. package/stack/Stack.js +0 -94
  273. package/stack/Stack.stories.tsx +0 -150
  274. package/text/Text.d.ts +0 -7
  275. package/text/Text.js +0 -30
  276. package/text/Text.stories.tsx +0 -19
  277. package/toggle/Toggle.js +0 -186
  278. package/toggle/index.d.ts +0 -21
  279. package/upload/Upload.js +0 -201
  280. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  281. package/upload/buttons-upload/Icons.js +0 -40
  282. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  283. package/upload/dragAndDropArea/Icons.js +0 -39
  284. package/upload/file-upload/FileToUpload.js +0 -115
  285. package/upload/file-upload/Icons.js +0 -66
  286. package/upload/files-upload/FilesToUpload.js +0 -109
  287. package/upload/index.d.ts +0 -15
  288. package/upload/transaction/Icons.js +0 -160
  289. package/upload/transaction/Transaction.js +0 -104
  290. package/upload/transactions/Transactions.js +0 -94
  291. /package/{radio → badge}/types.js +0 -0
@@ -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
+ });
package/box/Box.js CHANGED
@@ -60,7 +60,7 @@ var sizes = {
60
60
  medium: "240px",
61
61
  large: "480px",
62
62
  fillParent: "100%",
63
- fitContent: "unset"
63
+ fitContent: "fit-content"
64
64
  };
65
65
 
66
66
  var calculateWidth = function calculateWidth(margin, size, padding) {
@@ -71,9 +71,8 @@ var calculateWidth = function calculateWidth(margin, size, padding) {
71
71
  return sizes[size];
72
72
  };
73
73
 
74
- var StyledDxcBox = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n letter-spacing: ", ";\n overflow: hidden;\n width: ", ";\n background-color: ", ";\n box-shadow: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (_ref2) {
75
- var display = _ref2.display;
76
- return display;
74
+ var StyledDxcBox = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n overflow: hidden;\n width: ", ";\n background-color: ", ";\n box-shadow: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (props) {
75
+ return props.display;
77
76
  }, function (props) {
78
77
  return props.theme.borderRadius;
79
78
  }, function (props) {
@@ -82,44 +81,33 @@ var StyledDxcBox = _styledComponents["default"].div(_templateObject || (_templat
82
81
  return props.theme.borderStyle;
83
82
  }, function (props) {
84
83
  return props.theme.borderColor;
85
- }, function (props) {
86
- return props.theme.letterSpacing;
87
84
  }, function (props) {
88
85
  return calculateWidth(props.margin, props.size, props.padding);
89
86
  }, function (props) {
90
87
  return props.theme.backgroundColor;
91
88
  }, function (props) {
92
89
  return props.shadowDepth === 1 ? "".concat(props.theme.oneShadowDepthShadowOffsetX, " ").concat(props.theme.oneShadowDepthShadowOffsetY, " ").concat(props.theme.oneShadowDepthShadowBlur, " ").concat(props.theme.oneShadowDepthShadowSpread, " ").concat(props.theme.oneShadowDepthShadowColor) : props.shadowDepth === 2 ? "".concat(props.theme.twoShadowDepthShadowOffsetX, " ").concat(props.theme.twoShadowDepthShadowOffsetY, " ").concat(props.theme.twoShadowDepthShadowBlur, " ").concat(props.theme.twoShadowDepthShadowSpread, " ").concat(props.theme.twoShadowDepthShadowColor) : "".concat(props.theme.noneShadowDepthShadowOffsetX, " ").concat(props.theme.noneShadowDepthShadowOffsetY, " ").concat(props.theme.noneShadowDepthShadowBlur, " ").concat(props.theme.noneShadowDepthShadowSpread, " ").concat(props.theme.noneShadowDepthShadowColor);
93
- }, function (_ref3) {
94
- var margin = _ref3.margin;
95
- return margin && (0, _typeof2["default"])(margin) !== "object" ? _variables.spaces[margin] : "0px";
96
- }, function (_ref4) {
97
- var margin = _ref4.margin;
98
- return margin && margin.top ? _variables.spaces[margin.top] : "";
99
- }, function (_ref5) {
100
- var margin = _ref5.margin;
101
- return margin && margin.right ? _variables.spaces[margin.right] : "";
102
- }, function (_ref6) {
103
- var margin = _ref6.margin;
104
- return margin && margin.bottom ? _variables.spaces[margin.bottom] : "";
105
- }, function (_ref7) {
106
- var margin = _ref7.margin;
107
- return margin && margin.left ? _variables.spaces[margin.left] : "";
108
- }, function (_ref8) {
109
- var padding = _ref8.padding;
90
+ }, function (props) {
91
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
92
+ }, function (props) {
93
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
94
+ }, function (props) {
95
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
96
+ }, function (props) {
97
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
98
+ }, function (props) {
99
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
100
+ }, function (_ref2) {
101
+ var padding = _ref2.padding;
110
102
  return padding && (0, _typeof2["default"])(padding) !== "object" ? _variables.spaces[padding] : "0px";
111
- }, function (_ref9) {
112
- var padding = _ref9.padding;
113
- return padding && padding.top ? _variables.spaces[padding.top] : "";
114
- }, function (_ref10) {
115
- var padding = _ref10.padding;
116
- return padding && padding.right ? _variables.spaces[padding.right] : "";
117
- }, function (_ref11) {
118
- var padding = _ref11.padding;
119
- return padding && padding.bottom ? _variables.spaces[padding.bottom] : "";
120
- }, function (_ref12) {
121
- var padding = _ref12.padding;
122
- return padding && padding.left ? _variables.spaces[padding.left] : "";
103
+ }, function (props) {
104
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
105
+ }, function (props) {
106
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
107
+ }, function (props) {
108
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
109
+ }, function (props) {
110
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
123
111
  });
124
112
 
125
113
  var _default = DxcBox;
@@ -2,12 +2,19 @@ import React from "react";
2
2
  import Title from "../../.storybook/components/Title";
3
3
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
4
  import DxcBox from "./Box";
5
+ import { HalstackProvider } from "../HalstackContext";
5
6
 
6
7
  export default {
7
8
  title: "Box ",
8
9
  component: DxcBox,
9
10
  };
10
11
 
12
+ const opinionatedTheme = {
13
+ box: {
14
+ baseColor: "#ffffff",
15
+ },
16
+ };
17
+
11
18
  export const Chromatic = () => (
12
19
  <>
13
20
  <Title title="Display flex" theme="light" level={2} />
@@ -128,5 +135,13 @@ export const Chromatic = () => (
128
135
  <Title title="FitContent" theme="light" level={4} />
129
136
  <DxcBox size="fitContent">Box</DxcBox>
130
137
  </ExampleContainer>
138
+ <Title title="Opinionated theme" theme="light" level={2} />
139
+ <ExampleContainer>
140
+ <HalstackProvider theme={opinionatedTheme}>
141
+ <DxcBox display="flex" padding="medium">
142
+ Box
143
+ </DxcBox>
144
+ </HalstackProvider>
145
+ </ExampleContainer>
131
146
  </>
132
147
  );
@@ -0,0 +1,18 @@
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 _Card = _interopRequireDefault(require("../card/Card"));
10
+
11
+ describe("Box component tests", function () {
12
+ test("Box renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-box")),
14
+ getByText = _render.getByText;
15
+
16
+ expect(getByText("test-box")).toBeTruthy();
17
+ });
18
+ });
package/box/types.d.ts CHANGED
@@ -31,6 +31,7 @@ declare type Props = {
31
31
  */
32
32
  margin?: Space | Margin;
33
33
  /**
34
+ * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
34
35
  * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
35
36
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
36
37
  */
@@ -0,0 +1,7 @@
1
+ /// <reference types="react" />
2
+ import BulletedListPropsType, { BulletedListItemPropsType } from "./types";
3
+ declare const DxcBulletedList: {
4
+ ({ children, type, icon }: BulletedListPropsType): JSX.Element;
5
+ Item: ({ children }: BulletedListItemPropsType) => JSX.Element;
6
+ };
7
+ export default DxcBulletedList;