@dxc-technology/halstack-react 0.0.0-d3554d7 → 0.0.0-d3df47e

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 (331) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1221 -0
  4. package/HalstackContext.js +310 -0
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +116 -181
  8. package/accordion/Accordion.stories.tsx +103 -127
  9. package/accordion/Accordion.test.js +32 -33
  10. package/accordion/types.d.ts +9 -16
  11. package/accordion-group/AccordionGroup.d.ts +5 -4
  12. package/accordion-group/AccordionGroup.js +38 -107
  13. package/accordion-group/AccordionGroup.stories.tsx +95 -68
  14. package/accordion-group/AccordionGroup.test.js +55 -90
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +15 -16
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +23 -59
  24. package/alert/Alert.stories.tsx +28 -0
  25. package/alert/Alert.test.js +29 -46
  26. package/alert/types.d.ts +5 -5
  27. package/badge/Badge.d.ts +1 -1
  28. package/badge/Badge.js +142 -40
  29. package/badge/Badge.stories.tsx +210 -0
  30. package/badge/Badge.test.js +30 -0
  31. package/badge/types.d.ts +52 -2
  32. package/bleed/Bleed.js +14 -55
  33. package/bleed/Bleed.stories.tsx +95 -95
  34. package/bleed/types.d.ts +26 -2
  35. package/box/Box.d.ts +1 -1
  36. package/box/Box.js +30 -81
  37. package/box/Box.stories.tsx +38 -51
  38. package/box/Box.test.js +2 -7
  39. package/box/types.d.ts +3 -14
  40. package/bulleted-list/BulletedList.d.ts +7 -0
  41. package/bulleted-list/BulletedList.js +89 -0
  42. package/bulleted-list/BulletedList.stories.tsx +115 -0
  43. package/bulleted-list/types.d.ts +38 -0
  44. package/button/Button.d.ts +1 -1
  45. package/button/Button.js +62 -113
  46. package/button/Button.stories.tsx +160 -90
  47. package/button/Button.test.js +20 -17
  48. package/button/types.d.ts +12 -8
  49. package/card/Card.d.ts +1 -1
  50. package/card/Card.js +58 -102
  51. package/card/Card.stories.tsx +12 -42
  52. package/card/Card.test.js +11 -22
  53. package/card/types.d.ts +6 -11
  54. package/checkbox/Checkbox.d.ts +2 -2
  55. package/checkbox/Checkbox.js +144 -182
  56. package/checkbox/Checkbox.stories.tsx +166 -136
  57. package/checkbox/Checkbox.test.js +163 -29
  58. package/checkbox/types.d.ts +18 -6
  59. package/chip/Chip.js +39 -79
  60. package/chip/Chip.stories.tsx +121 -26
  61. package/chip/Chip.test.js +16 -31
  62. package/chip/types.d.ts +4 -4
  63. package/common/OpenSans.css +68 -80
  64. package/common/coreTokens.d.ts +237 -0
  65. package/common/coreTokens.js +184 -0
  66. package/common/utils.d.ts +1 -0
  67. package/common/utils.js +6 -12
  68. package/common/variables.d.ts +1367 -0
  69. package/common/variables.js +1002 -1136
  70. package/container/Container.d.ts +4 -0
  71. package/container/Container.js +194 -0
  72. package/container/Container.stories.tsx +214 -0
  73. package/container/types.d.ts +74 -0
  74. package/date-input/Calendar.d.ts +4 -0
  75. package/date-input/Calendar.js +214 -0
  76. package/date-input/DateInput.js +171 -306
  77. package/date-input/DateInput.stories.tsx +203 -56
  78. package/date-input/DateInput.test.js +708 -369
  79. package/date-input/DatePicker.d.ts +4 -0
  80. package/date-input/DatePicker.js +115 -0
  81. package/date-input/Icons.d.ts +6 -0
  82. package/date-input/Icons.js +58 -0
  83. package/date-input/YearPicker.d.ts +4 -0
  84. package/date-input/YearPicker.js +100 -0
  85. package/date-input/types.d.ts +86 -22
  86. package/dialog/Dialog.d.ts +1 -1
  87. package/dialog/Dialog.js +68 -130
  88. package/dialog/Dialog.stories.tsx +320 -167
  89. package/dialog/Dialog.test.js +287 -20
  90. package/dialog/types.d.ts +18 -25
  91. package/dropdown/Dropdown.d.ts +1 -1
  92. package/dropdown/Dropdown.js +243 -304
  93. package/dropdown/Dropdown.stories.tsx +245 -56
  94. package/dropdown/Dropdown.test.js +575 -165
  95. package/dropdown/DropdownMenu.d.ts +4 -0
  96. package/dropdown/DropdownMenu.js +63 -0
  97. package/dropdown/DropdownMenuItem.d.ts +4 -0
  98. package/dropdown/DropdownMenuItem.js +67 -0
  99. package/dropdown/types.d.ts +32 -14
  100. package/file-input/FileInput.d.ts +2 -2
  101. package/file-input/FileInput.js +246 -357
  102. package/file-input/FileInput.stories.tsx +123 -12
  103. package/file-input/FileInput.test.js +369 -367
  104. package/file-input/FileItem.d.ts +4 -14
  105. package/file-input/FileItem.js +50 -99
  106. package/file-input/types.d.ts +25 -8
  107. package/flex/Flex.d.ts +4 -0
  108. package/flex/Flex.js +57 -0
  109. package/flex/Flex.stories.tsx +112 -0
  110. package/flex/types.d.ts +97 -0
  111. package/footer/Footer.d.ts +1 -1
  112. package/footer/Footer.js +70 -190
  113. package/footer/Footer.stories.tsx +60 -19
  114. package/footer/Footer.test.js +33 -57
  115. package/footer/Icons.d.ts +3 -2
  116. package/footer/Icons.js +67 -8
  117. package/footer/types.d.ts +25 -26
  118. package/grid/Grid.d.ts +7 -0
  119. package/grid/Grid.js +76 -0
  120. package/grid/Grid.stories.tsx +219 -0
  121. package/grid/types.d.ts +115 -0
  122. package/header/Header.d.ts +4 -3
  123. package/header/Header.js +99 -203
  124. package/header/Header.stories.tsx +152 -63
  125. package/header/Header.test.js +31 -28
  126. package/header/Icons.d.ts +2 -2
  127. package/header/Icons.js +4 -9
  128. package/header/types.d.ts +5 -19
  129. package/heading/Heading.js +10 -32
  130. package/heading/Heading.test.js +71 -88
  131. package/heading/types.d.ts +7 -7
  132. package/image/Image.d.ts +4 -0
  133. package/image/Image.js +70 -0
  134. package/image/Image.stories.tsx +127 -0
  135. package/image/types.d.ts +72 -0
  136. package/inset/Inset.js +14 -55
  137. package/inset/Inset.stories.tsx +37 -36
  138. package/inset/types.d.ts +26 -2
  139. package/layout/ApplicationLayout.d.ts +16 -6
  140. package/layout/ApplicationLayout.js +84 -181
  141. package/layout/ApplicationLayout.stories.tsx +85 -94
  142. package/layout/Icons.d.ts +8 -0
  143. package/layout/Icons.js +51 -48
  144. package/layout/SidenavContext.d.ts +5 -0
  145. package/layout/SidenavContext.js +13 -0
  146. package/layout/types.d.ts +19 -35
  147. package/link/Link.d.ts +3 -2
  148. package/link/Link.js +61 -99
  149. package/link/Link.stories.tsx +155 -53
  150. package/link/Link.test.js +25 -53
  151. package/link/types.d.ts +15 -31
  152. package/main.d.ts +14 -13
  153. package/main.js +65 -101
  154. package/nav-tabs/NavTabs.d.ts +8 -0
  155. package/nav-tabs/NavTabs.js +93 -0
  156. package/nav-tabs/NavTabs.stories.tsx +276 -0
  157. package/nav-tabs/NavTabs.test.js +76 -0
  158. package/nav-tabs/Tab.d.ts +4 -0
  159. package/nav-tabs/Tab.js +118 -0
  160. package/nav-tabs/types.d.ts +52 -0
  161. package/nav-tabs/types.js +5 -0
  162. package/number-input/NumberInput.d.ts +7 -0
  163. package/number-input/NumberInput.js +27 -43
  164. package/number-input/NumberInput.stories.tsx +44 -28
  165. package/number-input/NumberInput.test.js +703 -381
  166. package/number-input/types.d.ts +28 -15
  167. package/package.json +46 -47
  168. package/paginator/Icons.d.ts +5 -0
  169. package/paginator/Icons.js +21 -47
  170. package/paginator/Paginator.js +34 -91
  171. package/paginator/Paginator.stories.tsx +24 -0
  172. package/paginator/Paginator.test.js +280 -211
  173. package/paginator/types.d.ts +3 -3
  174. package/paragraph/Paragraph.d.ts +5 -0
  175. package/paragraph/Paragraph.js +22 -0
  176. package/paragraph/Paragraph.stories.tsx +27 -0
  177. package/password-input/Icons.d.ts +6 -0
  178. package/password-input/Icons.js +35 -0
  179. package/password-input/PasswordInput.js +57 -123
  180. package/password-input/PasswordInput.stories.tsx +1 -33
  181. package/password-input/PasswordInput.test.js +162 -147
  182. package/password-input/types.d.ts +21 -17
  183. package/progress-bar/ProgressBar.js +65 -91
  184. package/progress-bar/ProgressBar.stories.tsx +93 -0
  185. package/progress-bar/ProgressBar.test.js +72 -44
  186. package/progress-bar/types.d.ts +3 -3
  187. package/quick-nav/QuickNav.d.ts +4 -0
  188. package/quick-nav/QuickNav.js +94 -0
  189. package/quick-nav/QuickNav.stories.tsx +356 -0
  190. package/quick-nav/types.d.ts +21 -0
  191. package/quick-nav/types.js +5 -0
  192. package/radio-group/Radio.d.ts +1 -1
  193. package/radio-group/Radio.js +59 -76
  194. package/radio-group/RadioGroup.js +72 -116
  195. package/radio-group/RadioGroup.stories.tsx +135 -17
  196. package/radio-group/RadioGroup.test.js +529 -467
  197. package/radio-group/types.d.ts +86 -9
  198. package/resultset-table/Icons.d.ts +7 -0
  199. package/resultset-table/Icons.js +47 -0
  200. package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +1 -1
  201. package/resultset-table/ResultsetTable.js +165 -0
  202. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +69 -25
  203. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +117 -118
  204. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  205. package/resultset-table/types.js +5 -0
  206. package/select/Icons.d.ts +10 -0
  207. package/select/Icons.js +89 -0
  208. package/select/Listbox.d.ts +4 -0
  209. package/select/Listbox.js +143 -0
  210. package/select/Option.d.ts +4 -0
  211. package/select/Option.js +87 -0
  212. package/select/Select.js +223 -502
  213. package/select/Select.stories.tsx +534 -145
  214. package/select/Select.test.js +2009 -1539
  215. package/select/types.d.ts +64 -25
  216. package/sidenav/Icons.d.ts +7 -0
  217. package/sidenav/Icons.js +47 -0
  218. package/sidenav/Sidenav.d.ts +6 -5
  219. package/sidenav/Sidenav.js +131 -71
  220. package/sidenav/Sidenav.stories.tsx +251 -151
  221. package/sidenav/Sidenav.test.js +26 -45
  222. package/sidenav/types.d.ts +52 -26
  223. package/slider/Slider.d.ts +2 -2
  224. package/slider/Slider.js +148 -180
  225. package/slider/Slider.test.js +198 -73
  226. package/slider/types.d.ts +11 -3
  227. package/spinner/Spinner.js +31 -75
  228. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  229. package/spinner/Spinner.test.js +26 -35
  230. package/spinner/types.d.ts +3 -3
  231. package/status-light/StatusLight.d.ts +4 -0
  232. package/status-light/StatusLight.js +51 -0
  233. package/status-light/StatusLight.stories.tsx +74 -0
  234. package/status-light/StatusLight.test.js +25 -0
  235. package/status-light/types.d.ts +17 -0
  236. package/status-light/types.js +5 -0
  237. package/switch/Switch.d.ts +2 -2
  238. package/switch/Switch.js +149 -114
  239. package/switch/Switch.stories.tsx +44 -67
  240. package/switch/Switch.test.js +146 -39
  241. package/switch/types.d.ts +13 -5
  242. package/table/Table.d.ts +1 -1
  243. package/table/Table.js +25 -32
  244. package/table/{Table.stories.jsx → Table.stories.tsx} +178 -1
  245. package/table/Table.test.js +3 -8
  246. package/table/types.d.ts +12 -6
  247. package/tabs/Tab.d.ts +4 -0
  248. package/tabs/Tab.js +116 -0
  249. package/tabs/Tabs.d.ts +1 -1
  250. package/tabs/Tabs.js +316 -145
  251. package/tabs/Tabs.stories.tsx +120 -14
  252. package/tabs/Tabs.test.js +238 -67
  253. package/tabs/types.d.ts +29 -15
  254. package/tag/Tag.js +41 -78
  255. package/tag/Tag.stories.tsx +25 -8
  256. package/tag/Tag.test.js +20 -31
  257. package/tag/types.d.ts +7 -7
  258. package/text-input/Icons.d.ts +8 -0
  259. package/text-input/Icons.js +56 -0
  260. package/text-input/Suggestion.d.ts +4 -0
  261. package/text-input/Suggestion.js +67 -0
  262. package/text-input/Suggestions.d.ts +4 -0
  263. package/text-input/Suggestions.js +84 -0
  264. package/text-input/TextInput.js +324 -548
  265. package/text-input/TextInput.stories.tsx +272 -281
  266. package/text-input/TextInput.test.js +1425 -1377
  267. package/text-input/types.d.ts +70 -24
  268. package/textarea/Textarea.js +82 -134
  269. package/textarea/Textarea.stories.tsx +174 -0
  270. package/textarea/Textarea.test.js +168 -198
  271. package/textarea/types.d.ts +27 -16
  272. package/toggle-group/ToggleGroup.d.ts +2 -2
  273. package/toggle-group/ToggleGroup.js +92 -105
  274. package/toggle-group/ToggleGroup.stories.tsx +53 -8
  275. package/toggle-group/ToggleGroup.test.js +78 -66
  276. package/toggle-group/types.d.ts +34 -17
  277. package/typography/Typography.d.ts +4 -0
  278. package/typography/Typography.js +23 -0
  279. package/typography/Typography.stories.tsx +198 -0
  280. package/typography/types.d.ts +18 -0
  281. package/typography/types.js +5 -0
  282. package/useTheme.d.ts +1119 -1
  283. package/useTheme.js +4 -11
  284. package/useTranslatedLabels.d.ts +85 -0
  285. package/useTranslatedLabels.js +14 -0
  286. package/utils/BaseTypography.d.ts +21 -0
  287. package/utils/BaseTypography.js +94 -0
  288. package/utils/FocusLock.d.ts +13 -0
  289. package/utils/FocusLock.js +124 -0
  290. package/wizard/Wizard.d.ts +1 -1
  291. package/wizard/Wizard.js +70 -101
  292. package/wizard/Wizard.stories.tsx +48 -19
  293. package/wizard/Wizard.test.js +73 -87
  294. package/wizard/types.d.ts +12 -8
  295. package/ThemeContext.d.ts +0 -10
  296. package/ThemeContext.js +0 -243
  297. package/card/ice-cream.jpg +0 -0
  298. package/common/RequiredComponent.js +0 -32
  299. package/list/List.d.ts +0 -4
  300. package/list/List.js +0 -47
  301. package/list/List.stories.tsx +0 -95
  302. package/list/types.d.ts +0 -7
  303. package/number-input/NumberInputContext.d.ts +0 -4
  304. package/number-input/NumberInputContext.js +0 -19
  305. package/number-input/numberInputContextTypes.d.ts +0 -19
  306. package/progress-bar/ProgressBar.stories.jsx +0 -58
  307. package/radio/Radio.d.ts +0 -4
  308. package/radio/Radio.js +0 -174
  309. package/radio/Radio.stories.tsx +0 -192
  310. package/radio/Radio.test.js +0 -71
  311. package/radio/types.d.ts +0 -54
  312. package/resultsetTable/ResultsetTable.js +0 -254
  313. package/row/Row.d.ts +0 -3
  314. package/row/Row.js +0 -127
  315. package/row/Row.stories.tsx +0 -237
  316. package/row/types.d.ts +0 -10
  317. package/slider/Slider.stories.tsx +0 -177
  318. package/stack/Stack.d.ts +0 -3
  319. package/stack/Stack.js +0 -97
  320. package/stack/Stack.stories.tsx +0 -164
  321. package/stack/types.d.ts +0 -9
  322. package/text/Text.d.ts +0 -7
  323. package/text/Text.js +0 -30
  324. package/text/Text.stories.tsx +0 -19
  325. package/textarea/Textarea.stories.jsx +0 -157
  326. /package/{list → action-icon}/types.js +0 -0
  327. /package/{radio → bulleted-list}/types.js +0 -0
  328. /package/{resultsetTable → container}/types.js +0 -0
  329. /package/{row → flex}/types.js +0 -0
  330. /package/{stack → grid}/types.js +0 -0
  331. /package/{number-input/numberInputContextTypes.js → image/types.js} +0 -0
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import ContainerPropsType from "./types";
3
+ declare const DxcContainer: ({ display, width, height, overflow, ...props }: ContainerPropsType) => React.JSX.Element;
4
+ export default DxcContainer;
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = void 0;
8
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
9
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
+ var _react = _interopRequireDefault(require("react"));
13
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
14
+ var _coreTokens = require("../common/coreTokens");
15
+ var _templateObject;
16
+ var _excluded = ["display", "width", "height", "overflow"];
17
+ /**
18
+ * This values correspond to the spaces defined in the design system
19
+ * https://developer.dxc.com/halstack/next/principles/spacing/#component-spacing-tokens
20
+ */
21
+ var spaces = {
22
+ xxsmall: "4px",
23
+ xsmall: "8px",
24
+ small: "12px",
25
+ medium: "16px",
26
+ large: "24px",
27
+ xlarge: "32px",
28
+ xxlarge: "48px"
29
+ };
30
+ var DxcContainer = function DxcContainer(_ref) {
31
+ var display = _ref.display,
32
+ width = _ref.width,
33
+ height = _ref.height,
34
+ overflow = _ref.overflow,
35
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
36
+ return /*#__PURE__*/_react["default"].createElement(Container, (0, _extends2["default"])({
37
+ $display: display,
38
+ $width: width,
39
+ $height: height,
40
+ $overflow: overflow
41
+ }, props));
42
+ };
43
+ var getBorderStyles = function getBorderStyles(direction, borderProperties) {
44
+ var _borderProperties$wid, _borderProperties$sty, _getCoreColorToken;
45
+ return "border-".concat(direction, ": ").concat((_borderProperties$wid = borderProperties === null || borderProperties === void 0 ? void 0 : borderProperties.width) !== null && _borderProperties$wid !== void 0 ? _borderProperties$wid : "", " ").concat((_borderProperties$sty = borderProperties === null || borderProperties === void 0 ? void 0 : borderProperties.style) !== null && _borderProperties$sty !== void 0 ? _borderProperties$sty : "", " ").concat((_getCoreColorToken = (0, _coreTokens.getCoreColorToken)(borderProperties === null || borderProperties === void 0 ? void 0 : borderProperties.color)) !== null && _getCoreColorToken !== void 0 ? _getCoreColorToken : "", ";");
46
+ };
47
+ var Container = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n box-sizing: ", ";\n display: ", ";\n width: ", ";\n height: ", ";\n max-width: ", ";\n max-height: ", ";\n min-width: ", ";\n min-height: ", ";\n position: ", ";\n top: ", ";\n right: ", ";\n bottom: ", ";\n left: ", ";\n float: ", ";\n z-index: ", ";\n box-shadow: ", ";\n\n background-attachment: ", ";\n background-clip: ", ";\n background-color: ", ";\n background-image: ", ";\n background-origin: ", ";\n background-position: ", ";\n background-repeat: ", ";\n background-size: ", ";\n\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-width: ", ";\n\n ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n outline: ", ";\n outline-offset: ", ";\n\n overflow: ", ";\n overflow-x: ", ";\n overflow-y: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (_ref2) {
48
+ var boxSizing = _ref2.boxSizing;
49
+ return boxSizing;
50
+ }, function (_ref3) {
51
+ var $display = _ref3.$display;
52
+ return $display;
53
+ }, function (_ref4) {
54
+ var $width = _ref4.$width;
55
+ return $width;
56
+ }, function (_ref5) {
57
+ var $height = _ref5.$height;
58
+ return $height;
59
+ }, function (_ref6) {
60
+ var maxWidth = _ref6.maxWidth;
61
+ return maxWidth;
62
+ }, function (_ref7) {
63
+ var maxHeight = _ref7.maxHeight;
64
+ return maxHeight;
65
+ }, function (_ref8) {
66
+ var minWidth = _ref8.minWidth;
67
+ return minWidth;
68
+ }, function (_ref9) {
69
+ var minHeight = _ref9.minHeight;
70
+ return minHeight;
71
+ }, function (_ref10) {
72
+ var position = _ref10.position;
73
+ return position;
74
+ }, function (_ref11) {
75
+ var inset = _ref11.inset;
76
+ return inset === null || inset === void 0 ? void 0 : inset.top;
77
+ }, function (_ref12) {
78
+ var inset = _ref12.inset;
79
+ return inset === null || inset === void 0 ? void 0 : inset.right;
80
+ }, function (_ref13) {
81
+ var inset = _ref13.inset;
82
+ return inset === null || inset === void 0 ? void 0 : inset.bottom;
83
+ }, function (_ref14) {
84
+ var inset = _ref14.inset;
85
+ return inset === null || inset === void 0 ? void 0 : inset.left;
86
+ }, function (_ref15) {
87
+ var _float = _ref15["float"];
88
+ return _float;
89
+ }, function (_ref16) {
90
+ var zIndex = _ref16.zIndex;
91
+ return zIndex;
92
+ }, function (_ref17) {
93
+ var boxShadow = _ref17.boxShadow;
94
+ return boxShadow;
95
+ }, function (_ref18) {
96
+ var background = _ref18.background;
97
+ return background === null || background === void 0 ? void 0 : background.attachment;
98
+ }, function (_ref19) {
99
+ var background = _ref19.background;
100
+ return background === null || background === void 0 ? void 0 : background.clip;
101
+ }, function (_ref20) {
102
+ var background = _ref20.background;
103
+ return (0, _coreTokens.getCoreColorToken)(background === null || background === void 0 ? void 0 : background.color);
104
+ }, function (_ref21) {
105
+ var background = _ref21.background;
106
+ return background === null || background === void 0 ? void 0 : background.image;
107
+ }, function (_ref22) {
108
+ var background = _ref22.background;
109
+ return background === null || background === void 0 ? void 0 : background.origin;
110
+ }, function (_ref23) {
111
+ var background = _ref23.background;
112
+ return background === null || background === void 0 ? void 0 : background.position;
113
+ }, function (_ref24) {
114
+ var background = _ref24.background;
115
+ return background === null || background === void 0 ? void 0 : background.repeat;
116
+ }, function (_ref25) {
117
+ var background = _ref25.background;
118
+ return background === null || background === void 0 ? void 0 : background.size;
119
+ }, function (_ref26) {
120
+ var borderRadius = _ref26.borderRadius;
121
+ return borderRadius;
122
+ }, function (_ref27) {
123
+ var border = _ref27.border;
124
+ return border && "width" in border ? "".concat(border === null || border === void 0 ? void 0 : border.width) : "";
125
+ }, function (_ref28) {
126
+ var border = _ref28.border;
127
+ return border && "style" in border ? "".concat(border === null || border === void 0 ? void 0 : border.style) : "";
128
+ }, function (_ref29) {
129
+ var border = _ref29.border;
130
+ return border && "color" in border ? "".concat((0, _coreTokens.getCoreColorToken)(border === null || border === void 0 ? void 0 : border.color)) : "";
131
+ }, function (_ref30) {
132
+ var border = _ref30.border;
133
+ if (border != null) {
134
+ var styles = "";
135
+ switch (true) {
136
+ case "top" in border:
137
+ styles += getBorderStyles("top", border.top);
138
+ case "right" in border:
139
+ styles += getBorderStyles("right", border.right);
140
+ case "left" in border:
141
+ styles += getBorderStyles("left", border.left);
142
+ case "bottom" in border:
143
+ styles += getBorderStyles("bottom", border.bottom);
144
+ }
145
+ return styles;
146
+ }
147
+ }, function (_ref31) {
148
+ var margin = _ref31.margin;
149
+ return typeof margin === "string" ? spaces[margin] : "";
150
+ }, function (_ref32) {
151
+ var margin = _ref32.margin;
152
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.top] : "";
153
+ }, function (_ref33) {
154
+ var margin = _ref33.margin;
155
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.right] : "";
156
+ }, function (_ref34) {
157
+ var margin = _ref34.margin;
158
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.bottom] : "";
159
+ }, function (_ref35) {
160
+ var margin = _ref35.margin;
161
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.left] : "";
162
+ }, function (_ref36) {
163
+ var _outline$width, _outline$style, _getCoreColorToken2;
164
+ var outline = _ref36.outline;
165
+ return "".concat((_outline$width = outline === null || outline === void 0 ? void 0 : outline.width) !== null && _outline$width !== void 0 ? _outline$width : "", " ").concat((_outline$style = outline === null || outline === void 0 ? void 0 : outline.style) !== null && _outline$style !== void 0 ? _outline$style : "", " ").concat((_getCoreColorToken2 = (0, _coreTokens.getCoreColorToken)(outline === null || outline === void 0 ? void 0 : outline.color)) !== null && _getCoreColorToken2 !== void 0 ? _getCoreColorToken2 : "");
166
+ }, function (_ref37) {
167
+ var outline = _ref37.outline;
168
+ return outline === null || outline === void 0 ? void 0 : outline.offset;
169
+ }, function (_ref38) {
170
+ var $overflow = _ref38.$overflow;
171
+ return typeof $overflow === "string" ? $overflow : "";
172
+ }, function (_ref39) {
173
+ var $overflow = _ref39.$overflow;
174
+ return (0, _typeof2["default"])($overflow) === "object" ? "".concat($overflow === null || $overflow === void 0 ? void 0 : $overflow.x) : "";
175
+ }, function (_ref40) {
176
+ var $overflow = _ref40.$overflow;
177
+ return (0, _typeof2["default"])($overflow) === "object" ? "".concat($overflow === null || $overflow === void 0 ? void 0 : $overflow.y) : "";
178
+ }, function (_ref41) {
179
+ var padding = _ref41.padding;
180
+ return typeof padding === "string" ? spaces[padding] : "";
181
+ }, function (_ref42) {
182
+ var padding = _ref42.padding;
183
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.top] : "";
184
+ }, function (_ref43) {
185
+ var padding = _ref43.padding;
186
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.right] : "";
187
+ }, function (_ref44) {
188
+ var padding = _ref44.padding;
189
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.bottom] : "";
190
+ }, function (_ref45) {
191
+ var padding = _ref45.padding;
192
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.left] : "";
193
+ });
194
+ var _default = exports["default"] = DxcContainer;
@@ -0,0 +1,214 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcContainer from "./Container";
5
+ import DxcParagraph from "../paragraph/Paragraph";
6
+ import DxcTypography from "../typography/Typography";
7
+
8
+ export default {
9
+ title: "Container",
10
+ component: DxcContainer,
11
+ };
12
+
13
+ export const Chromatic = () => (
14
+ <>
15
+ <Title title="Box sizing border box" level={4} />
16
+ <ExampleContainer>
17
+ <DxcContainer
18
+ boxSizing="border-box"
19
+ width="200px"
20
+ height="200px"
21
+ background={{ color: "color_purple_400" }}
22
+ border={{
23
+ top: {
24
+ width: "2px",
25
+ color: "color_blue_600",
26
+ style: "solid",
27
+ },
28
+ bottom: {
29
+ width: "thick",
30
+ color: "color_purple_600",
31
+ style: "solid",
32
+ },
33
+ }}
34
+ borderRadius="0 0 0.25rem 0.25rem"
35
+ padding="medium"
36
+ margin="large"
37
+ >
38
+ <b>Example text</b>
39
+ </DxcContainer>
40
+ </ExampleContainer>
41
+ <Title title="Background image" level={4} />
42
+ <ExampleContainer>
43
+ <DxcContainer
44
+ background={{
45
+ image: "url(https://www.laecuaciondigital.com/wp-content/uploads/2023/10/DXC-Technology.png)",
46
+ position: "50%",
47
+ }}
48
+ width="500px"
49
+ height="500px"
50
+ >
51
+ <p>Example text</p>
52
+ </DxcContainer>
53
+ </ExampleContainer>
54
+ <Title title="Positioning of boxes" level={4} />
55
+ <ExampleContainer>
56
+ <DxcContainer
57
+ position="relative"
58
+ width="fit-content"
59
+ border={{ color: "color_purple_400", width: "2px", style: "dashed" }}
60
+ borderRadius="0.25rem"
61
+ margin={{ bottom: "xxlarge" }}
62
+ >
63
+ <DxcContainer display="inline-block" background={{ color: "color_purple_400" }} width="50px" height="50px">
64
+ <b>1</b>
65
+ </DxcContainer>
66
+ <DxcContainer display="inline-block" background={{ color: "color_purple_400" }} width="50px" height="50px">
67
+ <b>2</b>
68
+ </DxcContainer>
69
+ <DxcContainer
70
+ display="inline-block"
71
+ position="absolute"
72
+ inset={{ top: "25px", left: "0" }}
73
+ background={{ color: "color_blue_500" }}
74
+ width="50px"
75
+ height="50px"
76
+ zIndex={1}
77
+ >
78
+ <b>3</b>
79
+ </DxcContainer>
80
+ </DxcContainer>
81
+ </ExampleContainer>
82
+ <Title title="Margin collapse" level={4} />
83
+ <ExampleContainer>
84
+ <DxcContainer
85
+ width="fit-content"
86
+ border={{ color: "color_purple_400", width: "2px", style: "dashed" }}
87
+ borderRadius="0.25rem"
88
+ >
89
+ <DxcContainer
90
+ background={{ color: "color_purple_400" }}
91
+ width="50px"
92
+ height="50px"
93
+ margin={{ bottom: "medium" }}
94
+ >
95
+ <b>1</b>
96
+ </DxcContainer>
97
+ <DxcContainer background={{ color: "color_purple_400" }} width="50px" height="50px" margin={{ top: "large" }}>
98
+ <b>2</b>
99
+ </DxcContainer>
100
+ </DxcContainer>
101
+ </ExampleContainer>
102
+ <Title title="Overflow" level={4} />
103
+ <ExampleContainer>
104
+ <DxcContainer overflow={{ x: "auto" }} maxHeight="100px" width="fit-content">
105
+ <DxcContainer
106
+ border={{ width: "1px", style: "solid", color: "color_black" }}
107
+ background={{ color: "color_purple_400" }}
108
+ width="50px"
109
+ height="50px"
110
+ >
111
+ <b>1</b>
112
+ </DxcContainer>
113
+ <DxcContainer
114
+ border={{ width: "1px", style: "solid", color: "color_black" }}
115
+ background={{ color: "color_purple_400" }}
116
+ width="50px"
117
+ height="50px"
118
+ >
119
+ <b>2</b>
120
+ </DxcContainer>
121
+ <DxcContainer
122
+ border={{ width: "1px", style: "solid", color: "color_black" }}
123
+ background={{ color: "color_purple_400" }}
124
+ width="50px"
125
+ height="50px"
126
+ >
127
+ <b>3</b>
128
+ </DxcContainer>
129
+ </DxcContainer>
130
+ </ExampleContainer>
131
+ <Title title="Float" level={4} />
132
+ <ExampleContainer>
133
+ <DxcContainer padding="medium" border={{ width: "1px", style: "solid", color: "color_black" }}>
134
+ <DxcContainer float="right" background={{ color: "color_purple_400" }} width="100px" height="100px">
135
+ <b>Floating text</b>
136
+ </DxcContainer>
137
+ <p style={{ margin: 0 }}>
138
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisis, sapien vitae aliquam lacinia, nisl
139
+ quam tincidunt ligula, eget aliquam eros quam quis nunc. Donec euismod, nisl eget ultricies aliquam, nisl
140
+ velit aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit
141
+ aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam
142
+ nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc,
143
+ quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis
144
+ aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis aliquam
145
+ nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis aliquam nisl.
146
+ </p>
147
+ </DxcContainer>
148
+ </ExampleContainer>
149
+ <Title title="Box shadow and opacity" level={4} />
150
+ <ExampleContainer>
151
+ <DxcContainer
152
+ padding="medium"
153
+ outline={{ width: "1px", style: "solid", color: "color_black" }}
154
+ boxShadow="10px 5px 5px #fe0123"
155
+ >
156
+ <p style={{ margin: 0 }}>
157
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisis, sapien vitae aliquam lacinia, nisl
158
+ quam tincidunt ligula, eget aliquam eros quam quis nunc. Donec euismod, nisl eget ultricies aliquam, nisl
159
+ velit aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit
160
+ aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam
161
+ nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc,
162
+ quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis
163
+ aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis aliquam
164
+ nisl.
165
+ </p>
166
+ </DxcContainer>
167
+ </ExampleContainer>
168
+ <Title title="Building a listbox component" level={4} />
169
+ <ExampleContainer>
170
+ <Listbox suggestions={["Option 1", "Option 2", "Option 3", "Option 4", "Option 5"]} />
171
+ </ExampleContainer>
172
+ <Title title="Border and outline" level={4} />
173
+ <ExampleContainer>
174
+ <DxcContainer
175
+ outline={{ color: "color_blue_400", style: "solid", offset: "2px" }}
176
+ border={{ top: { style: "solid" } }}
177
+ >
178
+ Example text
179
+ </DxcContainer>
180
+ </ExampleContainer>
181
+ </>
182
+ );
183
+
184
+ const Listbox = ({ suggestions = [] }: { suggestions: string[] }): JSX.Element => (
185
+ <DxcContainer
186
+ boxSizing="border-box"
187
+ boxShadow="0 4px 6px -1px rgba(0, 0, 0, 0.1)"
188
+ border={{ width: "1px", style: "solid", color: "color_grey_400" }}
189
+ borderRadius="0.25rem"
190
+ background={{ color: "color_white" }}
191
+ padding={{ top: "xxsmall", bottom: "xxsmall" }}
192
+ maxHeight="304px"
193
+ width="250px"
194
+ overflow={{ x: "hidden", y: "auto" }}
195
+ >
196
+ {suggestions.map((suggestion, index) => (
197
+ <DxcContainer padding={{ left: "xsmall", right: "xsmall" }}>
198
+ <DxcContainer
199
+ border={
200
+ index !== suggestions.length - 1
201
+ ? { bottom: { width: "1px", style: "solid", color: "color_grey_200" } }
202
+ : undefined
203
+ }
204
+ padding={{ top: "xxsmall", bottom: "xxsmall", left: "xxsmall", right: "xxsmall" }}
205
+ overflow="hidden"
206
+ >
207
+ <DxcTypography whiteSpace="nowrap" textOverflow="ellipsis" lineHeight="1.715em">
208
+ {suggestion}
209
+ </DxcTypography>
210
+ </DxcContainer>
211
+ </DxcContainer>
212
+ ))}
213
+ </DxcContainer>
214
+ );
@@ -0,0 +1,74 @@
1
+ /// <reference types="react" />
2
+ import { CoreColorTokens } from "../common/coreTokens";
3
+ type SpacingValues = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
4
+ type Space = SpacingValues | {
5
+ top?: SpacingValues;
6
+ right?: SpacingValues;
7
+ bottom?: SpacingValues;
8
+ left?: SpacingValues;
9
+ };
10
+ type Inset = {
11
+ top?: string;
12
+ right?: string;
13
+ bottom?: string;
14
+ left?: string;
15
+ };
16
+ type Background = {
17
+ attachment?: string;
18
+ clip?: string;
19
+ color?: CoreColorTokens;
20
+ image?: string;
21
+ origin?: string;
22
+ position?: string;
23
+ repeat?: string;
24
+ size?: string;
25
+ };
26
+ export type BorderProperties = {
27
+ width?: string;
28
+ style?: "none" | "dotted" | "dashed" | "solid" | "double" | "groove" | "ridge" | "inset" | "outset";
29
+ color?: CoreColorTokens;
30
+ };
31
+ type Border = BorderProperties | {
32
+ top?: BorderProperties;
33
+ right?: BorderProperties;
34
+ bottom?: BorderProperties;
35
+ left?: BorderProperties;
36
+ };
37
+ type Outline = BorderProperties & {
38
+ offset?: string;
39
+ };
40
+ type OverflowValues = "visible" | "hidden" | "clip" | "scroll" | "auto";
41
+ type Overflow = OverflowValues | {
42
+ x?: OverflowValues;
43
+ y?: OverflowValues;
44
+ };
45
+ type Props = {
46
+ boxSizing?: "border-box" | "content-box";
47
+ display?: "block" | "inline-block" | "inline" | "none";
48
+ width?: string;
49
+ height?: string;
50
+ maxWidth?: string;
51
+ maxHeight?: string;
52
+ minWidth?: string;
53
+ minHeight?: string;
54
+ padding?: Space;
55
+ border?: Border;
56
+ borderRadius?: string;
57
+ margin?: Space;
58
+ overflow?: Overflow;
59
+ position?: "static" | "relative" | "absolute" | "fixed" | "sticky";
60
+ inset?: Inset;
61
+ float?: "left" | "right" | "none";
62
+ zIndex?: "auto" | number;
63
+ background?: Background;
64
+ boxShadow?: string;
65
+ outline?: Outline;
66
+ children: React.ReactNode;
67
+ };
68
+ export type StyledProps = Omit<Props, "display" | "width" | "height" | "opacity" | "overflow"> & {
69
+ $display?: "block" | "inline-block" | "inline" | "none";
70
+ $width?: string;
71
+ $height?: string;
72
+ $overflow?: Overflow;
73
+ };
74
+ export default Props;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ import { CalendarPropsType } from "./types";
3
+ declare const _default: React.MemoExoticComponent<({ selectedDate, innerDate, onInnerDateChange, onDaySelect, today, }: CalendarPropsType) => JSX.Element>;
4
+ export default _default;