@dxc-technology/halstack-react 0.0.0-7604f1d → 0.0.0-76b7408

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 (309) 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 +343 -0
  5. package/accordion/Accordion.d.ts +1 -1
  6. package/accordion/Accordion.js +119 -138
  7. package/accordion/Accordion.stories.tsx +395 -0
  8. package/accordion/Accordion.test.js +71 -0
  9. package/accordion/types.d.ts +12 -11
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +16 -37
  12. package/accordion-group/AccordionGroup.stories.tsx +251 -0
  13. package/accordion-group/AccordionGroup.test.js +126 -0
  14. package/accordion-group/types.d.ts +17 -10
  15. package/alert/Alert.js +7 -4
  16. package/alert/Alert.stories.tsx +28 -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/bleed/Bleed.d.ts +3 -0
  23. package/bleed/Bleed.js +51 -0
  24. package/bleed/Bleed.stories.tsx +341 -0
  25. package/bleed/types.d.ts +37 -0
  26. package/bleed/types.js +5 -0
  27. package/box/Box.js +25 -35
  28. package/box/Box.stories.tsx +15 -0
  29. package/box/Box.test.js +18 -0
  30. package/box/types.d.ts +1 -0
  31. package/bulleted-list/BulletedList.d.ts +7 -0
  32. package/bulleted-list/BulletedList.js +123 -0
  33. package/bulleted-list/BulletedList.stories.tsx +200 -0
  34. package/bulleted-list/types.d.ts +11 -0
  35. package/bulleted-list/types.js +5 -0
  36. package/button/Button.d.ts +1 -1
  37. package/button/Button.js +59 -82
  38. package/button/Button.stories.tsx +163 -14
  39. package/button/Button.test.js +35 -0
  40. package/button/types.d.ts +10 -14
  41. package/card/Card.js +26 -30
  42. package/card/Card.stories.tsx +201 -0
  43. package/card/Card.test.js +50 -0
  44. package/card/ice-cream.jpg +0 -0
  45. package/card/types.d.ts +5 -6
  46. package/checkbox/Checkbox.d.ts +2 -2
  47. package/checkbox/Checkbox.js +108 -111
  48. package/checkbox/Checkbox.stories.tsx +198 -130
  49. package/checkbox/Checkbox.test.js +155 -0
  50. package/checkbox/types.d.ts +15 -7
  51. package/chip/Chip.d.ts +4 -0
  52. package/chip/Chip.js +22 -88
  53. package/chip/Chip.stories.tsx +98 -13
  54. package/chip/Chip.test.js +56 -0
  55. package/chip/types.d.ts +45 -0
  56. package/chip/types.js +5 -0
  57. package/common/variables.js +536 -575
  58. package/date-input/Calendar.d.ts +4 -0
  59. package/date-input/Calendar.js +258 -0
  60. package/date-input/DateInput.js +174 -266
  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 +79 -95
  71. package/dialog/Dialog.stories.tsx +230 -123
  72. package/dialog/Dialog.test.js +369 -0
  73. package/dialog/types.d.ts +3 -2
  74. package/dropdown/Dropdown.d.ts +1 -1
  75. package/dropdown/Dropdown.js +248 -277
  76. package/dropdown/Dropdown.stories.tsx +438 -0
  77. package/dropdown/Dropdown.test.js +585 -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 +81 -0
  82. package/dropdown/types.d.ts +30 -19
  83. package/file-input/FileInput.d.ts +2 -2
  84. package/file-input/FileInput.js +179 -142
  85. package/file-input/FileInput.stories.tsx +618 -0
  86. package/file-input/FileInput.test.js +457 -0
  87. package/file-input/FileItem.d.ts +4 -14
  88. package/file-input/FileItem.js +47 -67
  89. package/file-input/types.d.ts +49 -7
  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.d.ts +1 -1
  96. package/footer/Footer.js +32 -113
  97. package/footer/Footer.stories.tsx +228 -0
  98. package/footer/Footer.test.js +109 -0
  99. package/footer/Icons.d.ts +2 -0
  100. package/footer/Icons.js +4 -4
  101. package/footer/types.d.ts +22 -17
  102. package/header/Header.js +109 -130
  103. package/header/Header.stories.tsx +189 -36
  104. package/header/Header.test.js +79 -0
  105. package/header/Icons.d.ts +2 -0
  106. package/header/Icons.js +2 -2
  107. package/header/types.d.ts +7 -4
  108. package/heading/Heading.js +1 -1
  109. package/heading/Heading.stories.tsx +54 -0
  110. package/heading/Heading.test.js +186 -0
  111. package/inset/Inset.d.ts +3 -0
  112. package/inset/Inset.js +51 -0
  113. package/inset/Inset.stories.tsx +229 -0
  114. package/inset/types.d.ts +37 -0
  115. package/inset/types.js +5 -0
  116. package/layout/ApplicationLayout.d.ts +20 -0
  117. package/layout/ApplicationLayout.js +71 -135
  118. package/layout/ApplicationLayout.stories.tsx +162 -0
  119. package/layout/Icons.d.ts +5 -0
  120. package/layout/Icons.js +13 -2
  121. package/layout/SidenavContext.d.ts +5 -0
  122. package/layout/SidenavContext.js +19 -0
  123. package/layout/types.d.ts +42 -0
  124. package/layout/types.js +5 -0
  125. package/link/Link.d.ts +3 -2
  126. package/link/Link.js +62 -87
  127. package/link/Link.stories.tsx +159 -52
  128. package/link/Link.test.js +83 -0
  129. package/link/types.d.ts +9 -29
  130. package/main.d.ts +12 -12
  131. package/main.js +64 -58
  132. package/nav-tabs/NavTabs.d.ts +8 -0
  133. package/nav-tabs/NavTabs.js +125 -0
  134. package/nav-tabs/NavTabs.stories.tsx +260 -0
  135. package/nav-tabs/NavTabs.test.js +82 -0
  136. package/nav-tabs/Tab.d.ts +4 -0
  137. package/nav-tabs/Tab.js +150 -0
  138. package/nav-tabs/types.d.ts +53 -0
  139. package/nav-tabs/types.js +5 -0
  140. package/number-input/NumberInput.js +14 -24
  141. package/number-input/NumberInput.stories.tsx +5 -5
  142. package/number-input/NumberInput.test.js +542 -0
  143. package/number-input/NumberInputContext.d.ts +4 -0
  144. package/number-input/NumberInputContext.js +5 -2
  145. package/number-input/numberInputContextTypes.d.ts +19 -0
  146. package/number-input/numberInputContextTypes.js +5 -0
  147. package/number-input/types.d.ts +17 -10
  148. package/package.json +21 -22
  149. package/paginator/Icons.d.ts +5 -0
  150. package/paginator/Icons.js +16 -28
  151. package/paginator/Paginator.js +21 -54
  152. package/paginator/Paginator.stories.tsx +24 -0
  153. package/paginator/Paginator.test.js +315 -0
  154. package/paragraph/Paragraph.d.ts +6 -0
  155. package/paragraph/Paragraph.js +38 -0
  156. package/paragraph/Paragraph.stories.tsx +44 -0
  157. package/password-input/PasswordInput.js +23 -19
  158. package/password-input/PasswordInput.stories.tsx +3 -3
  159. package/password-input/PasswordInput.test.js +181 -0
  160. package/password-input/types.d.ts +29 -19
  161. package/progress-bar/ProgressBar.d.ts +2 -2
  162. package/progress-bar/ProgressBar.js +62 -56
  163. package/progress-bar/ProgressBar.stories.jsx +47 -12
  164. package/progress-bar/ProgressBar.test.js +110 -0
  165. package/progress-bar/types.d.ts +3 -4
  166. package/quick-nav/QuickNav.d.ts +4 -0
  167. package/quick-nav/QuickNav.js +117 -0
  168. package/quick-nav/QuickNav.stories.tsx +356 -0
  169. package/quick-nav/types.d.ts +21 -0
  170. package/quick-nav/types.js +5 -0
  171. package/radio-group/Radio.d.ts +4 -0
  172. package/radio-group/Radio.js +156 -0
  173. package/radio-group/RadioGroup.d.ts +4 -0
  174. package/radio-group/RadioGroup.js +283 -0
  175. package/radio-group/RadioGroup.stories.tsx +214 -0
  176. package/radio-group/RadioGroup.test.js +722 -0
  177. package/radio-group/types.d.ts +114 -0
  178. package/radio-group/types.js +5 -0
  179. package/resultsetTable/Icons.d.ts +7 -0
  180. package/resultsetTable/Icons.js +51 -0
  181. package/resultsetTable/ResultsetTable.d.ts +4 -0
  182. package/resultsetTable/ResultsetTable.js +53 -132
  183. package/resultsetTable/ResultsetTable.stories.tsx +300 -0
  184. package/resultsetTable/ResultsetTable.test.js +325 -0
  185. package/resultsetTable/types.d.ts +67 -0
  186. package/resultsetTable/types.js +5 -0
  187. package/select/Icons.d.ts +10 -0
  188. package/select/Icons.js +93 -0
  189. package/select/Listbox.d.ts +4 -0
  190. package/select/Listbox.js +169 -0
  191. package/select/Option.d.ts +4 -0
  192. package/select/Option.js +97 -0
  193. package/select/Select.d.ts +4 -0
  194. package/select/Select.js +196 -397
  195. package/select/Select.stories.tsx +600 -201
  196. package/select/Select.test.js +2228 -0
  197. package/select/types.d.ts +210 -0
  198. package/select/types.js +5 -0
  199. package/sidenav/Sidenav.d.ts +6 -5
  200. package/sidenav/Sidenav.js +184 -54
  201. package/sidenav/Sidenav.stories.tsx +282 -0
  202. package/sidenav/Sidenav.test.js +44 -0
  203. package/sidenav/types.d.ts +50 -27
  204. package/slider/Slider.d.ts +2 -2
  205. package/slider/Slider.js +123 -97
  206. package/slider/Slider.stories.tsx +72 -9
  207. package/slider/Slider.test.js +250 -0
  208. package/slider/types.d.ts +10 -2
  209. package/spinner/Spinner.js +5 -5
  210. package/spinner/Spinner.stories.jsx +27 -0
  211. package/spinner/Spinner.test.js +64 -0
  212. package/switch/Switch.d.ts +2 -2
  213. package/switch/Switch.js +152 -69
  214. package/switch/Switch.stories.tsx +54 -43
  215. package/switch/Switch.test.js +225 -0
  216. package/switch/types.d.ts +12 -4
  217. package/table/Table.js +4 -4
  218. package/table/Table.stories.jsx +81 -1
  219. package/table/Table.test.js +26 -0
  220. package/tabs/Tab.d.ts +4 -0
  221. package/tabs/Tab.js +133 -0
  222. package/tabs/Tabs.d.ts +1 -1
  223. package/tabs/Tabs.js +364 -108
  224. package/tabs/Tabs.stories.tsx +226 -0
  225. package/tabs/Tabs.test.js +351 -0
  226. package/tabs/types.d.ts +41 -20
  227. package/tag/Tag.d.ts +1 -1
  228. package/tag/Tag.js +19 -29
  229. package/tag/Tag.stories.tsx +38 -28
  230. package/tag/Tag.test.js +60 -0
  231. package/tag/types.d.ts +23 -14
  232. package/text-input/Icons.d.ts +8 -0
  233. package/text-input/Icons.js +60 -0
  234. package/text-input/Suggestion.d.ts +4 -0
  235. package/text-input/Suggestion.js +84 -0
  236. package/text-input/Suggestions.d.ts +4 -0
  237. package/text-input/Suggestions.js +134 -0
  238. package/text-input/TextInput.d.ts +4 -0
  239. package/text-input/TextInput.js +233 -385
  240. package/text-input/TextInput.stories.tsx +569 -0
  241. package/text-input/TextInput.test.js +1724 -0
  242. package/text-input/types.d.ts +197 -0
  243. package/text-input/types.js +5 -0
  244. package/textarea/Textarea.d.ts +4 -0
  245. package/textarea/Textarea.js +39 -79
  246. package/textarea/Textarea.stories.jsx +96 -15
  247. package/textarea/Textarea.test.js +437 -0
  248. package/textarea/types.d.ts +137 -0
  249. package/textarea/types.js +5 -0
  250. package/toggle-group/ToggleGroup.d.ts +4 -0
  251. package/toggle-group/ToggleGroup.js +18 -46
  252. package/toggle-group/ToggleGroup.stories.tsx +69 -32
  253. package/toggle-group/ToggleGroup.test.js +156 -0
  254. package/toggle-group/types.d.ts +105 -0
  255. package/toggle-group/types.js +5 -0
  256. package/typography/Typography.d.ts +4 -0
  257. package/typography/Typography.js +131 -0
  258. package/typography/Typography.stories.tsx +198 -0
  259. package/typography/types.d.ts +18 -0
  260. package/typography/types.js +5 -0
  261. package/useTheme.d.ts +2 -0
  262. package/useTheme.js +2 -2
  263. package/useTranslatedLabels.d.ts +2 -0
  264. package/useTranslatedLabels.js +20 -0
  265. package/utils/FocusLock.d.ts +13 -0
  266. package/utils/FocusLock.js +139 -0
  267. package/wizard/Wizard.d.ts +1 -1
  268. package/wizard/Wizard.js +112 -58
  269. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +48 -19
  270. package/wizard/Wizard.test.js +141 -0
  271. package/wizard/types.d.ts +13 -12
  272. package/ThemeContext.js +0 -246
  273. package/V3Select/V3Select.js +0 -455
  274. package/V3Select/index.d.ts +0 -27
  275. package/V3Textarea/V3Textarea.js +0 -260
  276. package/V3Textarea/index.d.ts +0 -27
  277. package/chip/index.d.ts +0 -22
  278. package/common/RequiredComponent.js +0 -32
  279. package/date/Date.js +0 -373
  280. package/date/index.d.ts +0 -27
  281. package/footer/Footer.stories.jsx +0 -151
  282. package/input-text/Icons.js +0 -22
  283. package/input-text/InputText.js +0 -611
  284. package/input-text/index.d.ts +0 -36
  285. package/radio/Radio.d.ts +0 -4
  286. package/radio/Radio.js +0 -174
  287. package/radio/Radio.stories.tsx +0 -192
  288. package/radio/types.d.ts +0 -54
  289. package/resultsetTable/index.d.ts +0 -19
  290. package/select/index.d.ts +0 -131
  291. package/text-input/index.d.ts +0 -135
  292. package/textarea/index.d.ts +0 -117
  293. package/toggle/Toggle.js +0 -186
  294. package/toggle/index.d.ts +0 -21
  295. package/toggle-group/index.d.ts +0 -21
  296. package/upload/Upload.js +0 -201
  297. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  298. package/upload/buttons-upload/Icons.js +0 -40
  299. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  300. package/upload/dragAndDropArea/Icons.js +0 -39
  301. package/upload/file-upload/FileToUpload.js +0 -115
  302. package/upload/file-upload/Icons.js +0 -66
  303. package/upload/files-upload/FilesToUpload.js +0 -109
  304. package/upload/index.d.ts +0 -15
  305. package/upload/transaction/Icons.js +0 -160
  306. package/upload/transaction/Transaction.js +0 -104
  307. package/upload/transactions/Transactions.js +0 -94
  308. package/wizard/Icons.js +0 -65
  309. /package/{radio → badge}/types.js +0 -0
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;
@@ -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
@@ -21,9 +21,9 @@ var _variables = require("../common/variables.js");
21
21
 
22
22
  var _utils = require("../common/utils.js");
23
23
 
24
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
25
25
 
26
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
26
+ var _BackgroundColorContext = require("../BackgroundColorContext");
27
27
 
28
28
  var _templateObject;
29
29
 
@@ -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 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 (props) {
75
+ return props.display;
77
76
  }, function (props) {
78
77
  return props.theme.borderRadius;
79
78
  }, function (props) {
@@ -90,36 +89,27 @@ var StyledDxcBox = _styledComponents["default"].div(_templateObject || (_templat
90
89
  return props.theme.backgroundColor;
91
90
  }, function (props) {
92
91
  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;
92
+ }, function (props) {
93
+ return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
94
+ }, function (props) {
95
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
96
+ }, function (props) {
97
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
98
+ }, function (props) {
99
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
100
+ }, function (props) {
101
+ return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
102
+ }, function (_ref2) {
103
+ var padding = _ref2.padding;
110
104
  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] : "";
105
+ }, function (props) {
106
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.top ? _variables.spaces[props.padding.top] : "";
107
+ }, function (props) {
108
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.right ? _variables.spaces[props.padding.right] : "";
109
+ }, function (props) {
110
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.bottom ? _variables.spaces[props.padding.bottom] : "";
111
+ }, function (props) {
112
+ return props.padding && (0, _typeof2["default"])(props.padding) === "object" && props.padding.left ? _variables.spaces[props.padding.left] : "";
123
113
  });
124
114
 
125
115
  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;