@dxc-technology/halstack-react 0.0.0-11b4a77 → 0.0.0-11fed82

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 (289) hide show
  1. package/BackgroundColorContext.d.ts +3 -3
  2. package/BackgroundColorContext.js +6 -18
  3. package/HalstackContext.d.ts +1347 -6
  4. package/HalstackContext.js +125 -110
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +116 -157
  8. package/accordion/Accordion.stories.tsx +101 -125
  9. package/accordion/Accordion.test.js +25 -41
  10. package/accordion/types.d.ts +5 -16
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +30 -98
  13. package/accordion-group/AccordionGroup.stories.tsx +94 -67
  14. package/accordion-group/AccordionGroup.test.js +52 -105
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +11 -16
  18. package/alert/Alert.js +19 -55
  19. package/alert/Alert.stories.tsx +28 -0
  20. package/alert/Alert.test.js +29 -46
  21. package/alert/types.d.ts +5 -5
  22. package/badge/Badge.js +4 -17
  23. package/badge/types.d.ts +1 -1
  24. package/bleed/Bleed.js +13 -21
  25. package/bleed/Bleed.stories.tsx +1 -0
  26. package/bleed/types.d.ts +2 -2
  27. package/box/Box.d.ts +1 -1
  28. package/box/Box.js +18 -56
  29. package/box/Box.stories.tsx +38 -51
  30. package/box/Box.test.js +2 -7
  31. package/box/types.d.ts +3 -14
  32. package/bulleted-list/BulletedList.js +25 -46
  33. package/bulleted-list/BulletedList.stories.tsx +8 -92
  34. package/bulleted-list/types.d.ts +32 -5
  35. package/button/Button.d.ts +1 -1
  36. package/button/Button.js +61 -114
  37. package/button/Button.stories.tsx +160 -90
  38. package/button/Button.test.js +18 -17
  39. package/button/types.d.ts +12 -8
  40. package/card/Card.d.ts +1 -1
  41. package/card/Card.js +48 -89
  42. package/card/Card.stories.tsx +12 -42
  43. package/card/Card.test.js +11 -22
  44. package/card/types.d.ts +6 -11
  45. package/checkbox/Checkbox.d.ts +2 -2
  46. package/checkbox/Checkbox.js +141 -178
  47. package/checkbox/Checkbox.stories.tsx +128 -94
  48. package/checkbox/Checkbox.test.js +160 -39
  49. package/checkbox/types.d.ts +11 -3
  50. package/chip/Chip.js +39 -79
  51. package/chip/Chip.stories.tsx +121 -26
  52. package/chip/Chip.test.js +16 -31
  53. package/chip/types.d.ts +4 -4
  54. package/common/OpenSans.css +68 -80
  55. package/common/coreTokens.d.ts +237 -0
  56. package/common/coreTokens.js +184 -0
  57. package/common/utils.d.ts +1 -0
  58. package/common/utils.js +6 -12
  59. package/common/variables.d.ts +1499 -0
  60. package/common/variables.js +1019 -1134
  61. package/container/Container.d.ts +4 -0
  62. package/container/Container.js +187 -0
  63. package/container/Container.stories.tsx +214 -0
  64. package/container/types.d.ts +74 -0
  65. package/date-input/Calendar.d.ts +4 -0
  66. package/date-input/Calendar.js +214 -0
  67. package/date-input/DateInput.js +150 -299
  68. package/date-input/DateInput.stories.tsx +203 -56
  69. package/date-input/DateInput.test.js +700 -371
  70. package/date-input/DatePicker.d.ts +4 -0
  71. package/date-input/DatePicker.js +115 -0
  72. package/date-input/Icons.d.ts +6 -0
  73. package/date-input/Icons.js +58 -0
  74. package/date-input/YearPicker.d.ts +4 -0
  75. package/date-input/YearPicker.js +100 -0
  76. package/date-input/types.d.ts +72 -15
  77. package/dialog/Dialog.d.ts +1 -1
  78. package/dialog/Dialog.js +75 -106
  79. package/dialog/Dialog.stories.tsx +154 -171
  80. package/dialog/Dialog.test.js +287 -20
  81. package/dialog/types.d.ts +18 -25
  82. package/dropdown/Dropdown.d.ts +1 -1
  83. package/dropdown/Dropdown.js +243 -300
  84. package/dropdown/Dropdown.stories.tsx +245 -56
  85. package/dropdown/Dropdown.test.js +575 -165
  86. package/dropdown/DropdownMenu.d.ts +4 -0
  87. package/dropdown/DropdownMenu.js +63 -0
  88. package/dropdown/DropdownMenuItem.d.ts +4 -0
  89. package/dropdown/DropdownMenuItem.js +67 -0
  90. package/dropdown/types.d.ts +32 -14
  91. package/file-input/FileInput.d.ts +2 -2
  92. package/file-input/FileInput.js +241 -355
  93. package/file-input/FileInput.stories.tsx +123 -12
  94. package/file-input/FileInput.test.js +369 -367
  95. package/file-input/FileItem.d.ts +4 -14
  96. package/file-input/FileItem.js +45 -96
  97. package/file-input/types.d.ts +25 -8
  98. package/flex/Flex.d.ts +2 -1
  99. package/flex/Flex.js +45 -62
  100. package/flex/Flex.stories.tsx +35 -26
  101. package/flex/types.d.ts +86 -10
  102. package/footer/Footer.d.ts +1 -1
  103. package/footer/Footer.js +51 -101
  104. package/footer/Footer.stories.tsx +41 -19
  105. package/footer/Footer.test.js +33 -57
  106. package/footer/Icons.d.ts +2 -2
  107. package/footer/Icons.js +2 -7
  108. package/footer/types.d.ts +21 -22
  109. package/grid/Grid.d.ts +7 -0
  110. package/grid/Grid.js +76 -0
  111. package/grid/Grid.stories.tsx +219 -0
  112. package/grid/types.d.ts +115 -0
  113. package/header/Header.d.ts +4 -3
  114. package/header/Header.js +90 -162
  115. package/header/Header.stories.tsx +118 -39
  116. package/header/Header.test.js +13 -26
  117. package/header/Icons.d.ts +2 -2
  118. package/header/Icons.js +4 -9
  119. package/header/types.d.ts +5 -20
  120. package/heading/Heading.js +10 -32
  121. package/heading/Heading.test.js +71 -88
  122. package/heading/types.d.ts +7 -7
  123. package/image/Image.d.ts +4 -0
  124. package/image/Image.js +70 -0
  125. package/image/Image.stories.tsx +127 -0
  126. package/image/types.d.ts +72 -0
  127. package/inset/Inset.js +13 -21
  128. package/inset/Inset.stories.tsx +2 -1
  129. package/inset/types.d.ts +2 -2
  130. package/layout/ApplicationLayout.d.ts +15 -6
  131. package/layout/ApplicationLayout.js +44 -96
  132. package/layout/ApplicationLayout.stories.tsx +81 -45
  133. package/layout/Icons.d.ts +8 -5
  134. package/layout/Icons.js +51 -59
  135. package/layout/SidenavContext.d.ts +1 -1
  136. package/layout/SidenavContext.js +3 -9
  137. package/layout/types.d.ts +21 -32
  138. package/link/Link.js +25 -46
  139. package/link/Link.stories.tsx +72 -5
  140. package/link/Link.test.js +24 -44
  141. package/link/types.d.ts +14 -14
  142. package/main.d.ts +6 -8
  143. package/main.js +19 -85
  144. package/{tabs-nav → nav-tabs}/NavTabs.d.ts +2 -2
  145. package/{tabs-nav → nav-tabs}/NavTabs.js +22 -57
  146. package/{tabs-nav → nav-tabs}/NavTabs.stories.tsx +111 -7
  147. package/{tabs-nav → nav-tabs}/NavTabs.test.js +37 -44
  148. package/nav-tabs/Tab.js +117 -0
  149. package/{tabs-nav → nav-tabs}/types.d.ts +14 -15
  150. package/number-input/NumberInput.d.ts +7 -0
  151. package/number-input/NumberInput.js +26 -35
  152. package/number-input/NumberInput.stories.tsx +42 -26
  153. package/number-input/NumberInput.test.js +701 -377
  154. package/number-input/types.d.ts +11 -5
  155. package/package.json +42 -45
  156. package/paginator/Icons.d.ts +5 -0
  157. package/paginator/Icons.js +21 -47
  158. package/paginator/Paginator.js +22 -55
  159. package/paginator/Paginator.stories.tsx +24 -0
  160. package/paginator/Paginator.test.js +253 -226
  161. package/paginator/types.d.ts +3 -3
  162. package/paragraph/Paragraph.d.ts +3 -4
  163. package/paragraph/Paragraph.js +6 -17
  164. package/paragraph/Paragraph.stories.tsx +0 -17
  165. package/password-input/Icons.d.ts +6 -0
  166. package/password-input/Icons.js +35 -0
  167. package/password-input/PasswordInput.js +57 -126
  168. package/password-input/PasswordInput.stories.tsx +1 -32
  169. package/password-input/PasswordInput.test.js +160 -142
  170. package/password-input/types.d.ts +8 -7
  171. package/progress-bar/ProgressBar.js +67 -87
  172. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +39 -4
  173. package/progress-bar/ProgressBar.test.js +72 -44
  174. package/progress-bar/types.d.ts +3 -3
  175. package/quick-nav/QuickNav.js +15 -39
  176. package/quick-nav/QuickNav.stories.tsx +112 -20
  177. package/quick-nav/types.d.ts +10 -10
  178. package/radio-group/Radio.d.ts +1 -1
  179. package/radio-group/Radio.js +59 -76
  180. package/radio-group/RadioGroup.js +68 -116
  181. package/radio-group/RadioGroup.stories.tsx +132 -18
  182. package/radio-group/RadioGroup.test.js +518 -457
  183. package/radio-group/types.d.ts +10 -10
  184. package/resultset-table/Icons.d.ts +7 -0
  185. package/resultset-table/Icons.js +47 -0
  186. package/resultset-table/ResultsetTable.js +159 -0
  187. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +50 -25
  188. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +101 -144
  189. package/{resultsetTable → resultset-table}/types.d.ts +7 -7
  190. package/select/Icons.d.ts +7 -7
  191. package/select/Icons.js +1 -5
  192. package/select/Listbox.js +17 -49
  193. package/select/Option.js +20 -50
  194. package/select/Select.js +105 -183
  195. package/select/Select.stories.tsx +497 -152
  196. package/select/Select.test.js +1930 -1758
  197. package/select/types.d.ts +16 -19
  198. package/sidenav/Icons.d.ts +7 -0
  199. package/sidenav/Icons.js +47 -0
  200. package/sidenav/Sidenav.d.ts +6 -5
  201. package/sidenav/Sidenav.js +129 -77
  202. package/sidenav/Sidenav.stories.tsx +251 -151
  203. package/sidenav/Sidenav.test.js +26 -45
  204. package/sidenav/types.d.ts +52 -26
  205. package/slider/Slider.d.ts +2 -2
  206. package/slider/Slider.js +144 -168
  207. package/slider/Slider.test.js +185 -81
  208. package/slider/types.d.ts +7 -3
  209. package/spinner/Spinner.js +27 -63
  210. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +53 -27
  211. package/spinner/Spinner.test.js +26 -35
  212. package/spinner/types.d.ts +3 -3
  213. package/switch/Switch.d.ts +2 -2
  214. package/switch/Switch.js +148 -124
  215. package/switch/Switch.stories.tsx +37 -60
  216. package/switch/Switch.test.js +138 -56
  217. package/switch/types.d.ts +7 -3
  218. package/table/Table.js +7 -26
  219. package/table/{Table.stories.jsx → Table.stories.tsx} +80 -1
  220. package/table/Table.test.js +3 -8
  221. package/table/types.d.ts +8 -8
  222. package/tabs/Tab.d.ts +4 -0
  223. package/tabs/Tab.js +113 -0
  224. package/tabs/Tabs.js +315 -141
  225. package/tabs/Tabs.stories.tsx +119 -5
  226. package/tabs/Tabs.test.js +223 -69
  227. package/tabs/types.d.ts +28 -18
  228. package/tag/Tag.js +29 -61
  229. package/tag/Tag.stories.tsx +14 -1
  230. package/tag/Tag.test.js +20 -31
  231. package/tag/types.d.ts +7 -7
  232. package/text-input/Icons.d.ts +8 -0
  233. package/text-input/Icons.js +56 -0
  234. package/text-input/Suggestion.js +40 -28
  235. package/text-input/Suggestions.d.ts +4 -0
  236. package/text-input/Suggestions.js +89 -0
  237. package/text-input/TextInput.js +280 -458
  238. package/text-input/TextInput.stories.tsx +266 -275
  239. package/text-input/TextInput.test.js +1402 -1375
  240. package/text-input/types.d.ts +43 -16
  241. package/textarea/Textarea.js +63 -100
  242. package/textarea/Textarea.stories.tsx +175 -0
  243. package/textarea/Textarea.test.js +152 -183
  244. package/textarea/types.d.ts +9 -5
  245. package/toggle-group/ToggleGroup.d.ts +2 -2
  246. package/toggle-group/ToggleGroup.js +95 -106
  247. package/toggle-group/ToggleGroup.stories.tsx +49 -4
  248. package/toggle-group/ToggleGroup.test.js +69 -88
  249. package/toggle-group/types.d.ts +26 -17
  250. package/typography/Typography.d.ts +2 -2
  251. package/typography/Typography.js +15 -123
  252. package/typography/Typography.stories.tsx +1 -1
  253. package/typography/types.d.ts +1 -1
  254. package/useTheme.d.ts +1251 -1
  255. package/useTheme.js +2 -9
  256. package/useTranslatedLabels.d.ts +84 -1
  257. package/useTranslatedLabels.js +1 -7
  258. package/utils/BaseTypography.d.ts +21 -0
  259. package/utils/BaseTypography.js +94 -0
  260. package/utils/FocusLock.d.ts +13 -0
  261. package/utils/FocusLock.js +114 -0
  262. package/wizard/Wizard.js +24 -66
  263. package/wizard/Wizard.stories.tsx +40 -1
  264. package/wizard/Wizard.test.js +54 -81
  265. package/wizard/types.d.ts +7 -7
  266. package/card/ice-cream.jpg +0 -0
  267. package/common/RequiredComponent.js +0 -32
  268. package/number-input/NumberInputContext.d.ts +0 -4
  269. package/number-input/NumberInputContext.js +0 -19
  270. package/number-input/numberInputContextTypes.d.ts +0 -19
  271. package/resultsetTable/ResultsetTable.js +0 -254
  272. package/row/Row.d.ts +0 -3
  273. package/row/Row.js +0 -127
  274. package/row/Row.stories.tsx +0 -237
  275. package/row/types.d.ts +0 -28
  276. package/slider/Slider.stories.tsx +0 -177
  277. package/stack/Stack.d.ts +0 -4
  278. package/stack/Stack.js +0 -56
  279. package/stack/Stack.stories.tsx +0 -263
  280. package/stack/types.d.ts +0 -32
  281. package/tabs-nav/Tab.js +0 -132
  282. package/textarea/Textarea.stories.jsx +0 -157
  283. /package/{resultsetTable → container}/types.js +0 -0
  284. /package/{row → grid}/types.js +0 -0
  285. /package/{stack → image}/types.js +0 -0
  286. /package/{tabs-nav → nav-tabs}/Tab.d.ts +0 -0
  287. /package/{tabs-nav → nav-tabs}/types.js +0 -0
  288. /package/{resultsetTable → resultset-table}/ResultsetTable.d.ts +0 -0
  289. /package/{number-input/numberInputContextTypes.js → resultset-table/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,187 @@
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 _BackgroundColorContext = require("../BackgroundColorContext");
16
+ var _templateObject;
17
+ var _excluded = ["display", "width", "height", "overflow"];
18
+ /**
19
+ * This values correspond to the spaces defined in the design system
20
+ * https://developer.dxc.com/halstack/next/principles/spacing/#component-spacing-tokens
21
+ */
22
+ var spaces = {
23
+ xxsmall: "4px",
24
+ xsmall: "8px",
25
+ small: "12px",
26
+ medium: "16px",
27
+ large: "24px",
28
+ xlarge: "32px",
29
+ xxlarge: "48px"
30
+ };
31
+ var DxcContainer = function DxcContainer(_ref) {
32
+ var _props$background;
33
+ var display = _ref.display,
34
+ width = _ref.width,
35
+ height = _ref.height,
36
+ overflow = _ref.overflow,
37
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
38
+ return /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
39
+ color: (0, _coreTokens.getCoreColorToken)(props === null || props === void 0 ? void 0 : (_props$background = props.background) === null || _props$background === void 0 ? void 0 : _props$background.color)
40
+ }, /*#__PURE__*/_react["default"].createElement(Container, (0, _extends2["default"])({
41
+ $display: display,
42
+ $width: width,
43
+ $height: height,
44
+ $overflow: overflow
45
+ }, props)));
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 outline: ", ";\n outline-offset: ", ";\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\n border: ", ";\n border-top: ", ";\n border-right: ", ";\n border-bottom: ", ";\n border-left: ", ";\n border-radius: ", ";\n\n overflow: ", ";\n overflow-x: ", ";\n overflow-y: ", ";\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"])), 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 outline = _ref18.outline;
97
+ return "".concat(outline === null || outline === void 0 ? void 0 : outline.width, " ").concat(outline === null || outline === void 0 ? void 0 : outline.style, " ").concat((0, _coreTokens.getCoreColorToken)(outline === null || outline === void 0 ? void 0 : outline.color));
98
+ }, function (_ref19) {
99
+ var outline = _ref19.outline;
100
+ return outline === null || outline === void 0 ? void 0 : outline.offset;
101
+ }, function (_ref20) {
102
+ var margin = _ref20.margin;
103
+ return typeof margin === "string" ? "".concat(spaces[margin]) : "";
104
+ }, function (_ref21) {
105
+ var margin = _ref21.margin;
106
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.top] : "";
107
+ }, function (_ref22) {
108
+ var margin = _ref22.margin;
109
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.right] : "";
110
+ }, function (_ref23) {
111
+ var margin = _ref23.margin;
112
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.bottom] : "";
113
+ }, function (_ref24) {
114
+ var margin = _ref24.margin;
115
+ return (0, _typeof2["default"])(margin) === "object" ? spaces[margin.left] : "";
116
+ }, function (_ref25) {
117
+ var padding = _ref25.padding;
118
+ return typeof padding === "string" ? "".concat(spaces[padding]) : "";
119
+ }, function (_ref26) {
120
+ var padding = _ref26.padding;
121
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.top] : "";
122
+ }, function (_ref27) {
123
+ var padding = _ref27.padding;
124
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.right] : "";
125
+ }, function (_ref28) {
126
+ var padding = _ref28.padding;
127
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.bottom] : "";
128
+ }, function (_ref29) {
129
+ var padding = _ref29.padding;
130
+ return (0, _typeof2["default"])(padding) === "object" ? spaces[padding.left] : "";
131
+ }, function (_ref30) {
132
+ var border = _ref30.border;
133
+ return border && "width" in border ? "".concat(border === null || border === void 0 ? void 0 : border.width, " ").concat(border === null || border === void 0 ? void 0 : border.style, " ").concat((0, _coreTokens.getCoreColorToken)(border === null || border === void 0 ? void 0 : border.color)) : "";
134
+ }, function (_ref31) {
135
+ var _border$top, _border$top2, _border$top3;
136
+ var border = _ref31.border;
137
+ return border && "top" in border ? "".concat(border === null || border === void 0 ? void 0 : (_border$top = border.top) === null || _border$top === void 0 ? void 0 : _border$top.width, " ").concat(border === null || border === void 0 ? void 0 : (_border$top2 = border.top) === null || _border$top2 === void 0 ? void 0 : _border$top2.style, " ").concat((0, _coreTokens.getCoreColorToken)(border === null || border === void 0 ? void 0 : (_border$top3 = border.top) === null || _border$top3 === void 0 ? void 0 : _border$top3.color)) : "";
138
+ }, function (_ref32) {
139
+ var _border$right, _border$right2, _border$right3;
140
+ var border = _ref32.border;
141
+ return border && "right" in border ? "".concat(border === null || border === void 0 ? void 0 : (_border$right = border.right) === null || _border$right === void 0 ? void 0 : _border$right.width, " ").concat(border === null || border === void 0 ? void 0 : (_border$right2 = border.right) === null || _border$right2 === void 0 ? void 0 : _border$right2.style, " ").concat((0, _coreTokens.getCoreColorToken)(border === null || border === void 0 ? void 0 : (_border$right3 = border.right) === null || _border$right3 === void 0 ? void 0 : _border$right3.color)) : "";
142
+ }, function (_ref33) {
143
+ var _border$bottom, _border$bottom2, _border$bottom3;
144
+ var border = _ref33.border;
145
+ return border && "bottom" in border ? "".concat(border === null || border === void 0 ? void 0 : (_border$bottom = border.bottom) === null || _border$bottom === void 0 ? void 0 : _border$bottom.width, " ").concat(border === null || border === void 0 ? void 0 : (_border$bottom2 = border.bottom) === null || _border$bottom2 === void 0 ? void 0 : _border$bottom2.style, " ").concat((0, _coreTokens.getCoreColorToken)(border === null || border === void 0 ? void 0 : (_border$bottom3 = border.bottom) === null || _border$bottom3 === void 0 ? void 0 : _border$bottom3.color)) : "";
146
+ }, function (_ref34) {
147
+ var _border$left, _border$left2, _border$left3;
148
+ var border = _ref34.border;
149
+ return border && "left" in border ? "".concat(border === null || border === void 0 ? void 0 : (_border$left = border.left) === null || _border$left === void 0 ? void 0 : _border$left.width, " ").concat(border === null || border === void 0 ? void 0 : (_border$left2 = border.left) === null || _border$left2 === void 0 ? void 0 : _border$left2.style, " ").concat((0, _coreTokens.getCoreColorToken)(border === null || border === void 0 ? void 0 : (_border$left3 = border.left) === null || _border$left3 === void 0 ? void 0 : _border$left3.color)) : "";
150
+ }, function (_ref35) {
151
+ var borderRadius = _ref35.borderRadius;
152
+ return borderRadius;
153
+ }, function (_ref36) {
154
+ var $overflow = _ref36.$overflow;
155
+ return (0, _typeof2["default"])($overflow) !== "object" ? $overflow : "";
156
+ }, function (_ref37) {
157
+ var $overflow = _ref37.$overflow;
158
+ return (0, _typeof2["default"])($overflow) === "object" ? "".concat($overflow === null || $overflow === void 0 ? void 0 : $overflow.x) : "";
159
+ }, function (_ref38) {
160
+ var $overflow = _ref38.$overflow;
161
+ return (0, _typeof2["default"])($overflow) === "object" ? "".concat($overflow === null || $overflow === void 0 ? void 0 : $overflow.y) : "";
162
+ }, function (_ref39) {
163
+ var background = _ref39.background;
164
+ return background === null || background === void 0 ? void 0 : background.attachment;
165
+ }, function (_ref40) {
166
+ var background = _ref40.background;
167
+ return background === null || background === void 0 ? void 0 : background.clip;
168
+ }, function (_ref41) {
169
+ var background = _ref41.background;
170
+ return (0, _coreTokens.getCoreColorToken)(background === null || background === void 0 ? void 0 : background.color);
171
+ }, function (_ref42) {
172
+ var background = _ref42.background;
173
+ return background === null || background === void 0 ? void 0 : background.image;
174
+ }, function (_ref43) {
175
+ var background = _ref43.background;
176
+ return background === null || background === void 0 ? void 0 : background.origin;
177
+ }, function (_ref44) {
178
+ var background = _ref44.background;
179
+ return background === null || background === void 0 ? void 0 : background.position;
180
+ }, function (_ref45) {
181
+ var background = _ref45.background;
182
+ return background === null || background === void 0 ? void 0 : background.repeat;
183
+ }, function (_ref46) {
184
+ var background = _ref46.background;
185
+ return background === null || background === void 0 ? void 0 : background.size;
186
+ });
187
+ 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
+ bottom: {
24
+ width: "thick",
25
+ color: "color_purple_600",
26
+ style: "solid",
27
+ leftRadius: "0.25rem",
28
+ rightRadius: "0.25rem",
29
+ },
30
+ }}
31
+ padding="medium"
32
+ margin="large"
33
+ >
34
+ <b>Example text</b>
35
+ </DxcContainer>
36
+ </ExampleContainer>
37
+ <Title title="Background image" level={4} />
38
+ <ExampleContainer>
39
+ <DxcContainer
40
+ background={{
41
+ image: "url(https://www.laecuaciondigital.com/wp-content/uploads/2023/10/DXC-Technology.png)",
42
+ position: "50%",
43
+ }}
44
+ width="500px"
45
+ height="500px"
46
+ >
47
+ <p>Example text</p>
48
+ </DxcContainer>
49
+ </ExampleContainer>
50
+ <Title title="Positioning of boxes" level={4} />
51
+ <ExampleContainer>
52
+ <DxcContainer
53
+ position="relative"
54
+ width="fit-content"
55
+ border={{ color: "color_purple_400", width: "2px", style: "dashed", radius: "4px" }}
56
+ margin={{ bottom: "xxlarge" }}
57
+ >
58
+ <DxcContainer display="inline-block" background={{ color: "color_purple_400" }} width="50px" height="50px">
59
+ <b>1</b>
60
+ </DxcContainer>
61
+ <DxcContainer display="inline-block" background={{ color: "color_purple_400" }} width="50px" height="50px">
62
+ <b>2</b>
63
+ </DxcContainer>
64
+ <DxcContainer
65
+ display="inline-block"
66
+ position="absolute"
67
+ inset={{ top: "25px", left: "0" }}
68
+ background={{ color: "color_blue_500" }}
69
+ width="50px"
70
+ height="50px"
71
+ zIndex={1}
72
+ >
73
+ <b>3</b>
74
+ </DxcContainer>
75
+ </DxcContainer>
76
+ </ExampleContainer>
77
+ <Title title="Margin collapse" level={4} />
78
+ <ExampleContainer>
79
+ <DxcContainer
80
+ width="fit-content"
81
+ border={{ color: "color_purple_400", width: "2px", style: "dashed", radius: "4px" }}
82
+ >
83
+ <DxcContainer
84
+ background={{ color: "color_purple_400" }}
85
+ width="50px"
86
+ height="50px"
87
+ margin={{ bottom: "medium" }}
88
+ >
89
+ <b>1</b>
90
+ </DxcContainer>
91
+ <DxcContainer background={{ color: "color_purple_400" }} width="50px" height="50px" margin={{ top: "large" }}>
92
+ <b>2</b>
93
+ </DxcContainer>
94
+ </DxcContainer>
95
+ </ExampleContainer>
96
+ <Title title="Overflow" level={4} />
97
+ <ExampleContainer>
98
+ <DxcContainer overflow={{ x: "auto" }} maxHeight="100px" width="fit-content">
99
+ <DxcContainer
100
+ border={{ width: "1px", style: "solid", color: "color_black" }}
101
+ background={{ color: "color_purple_400" }}
102
+ width="50px"
103
+ height="50px"
104
+ >
105
+ <b>1</b>
106
+ </DxcContainer>
107
+ <DxcContainer
108
+ border={{ width: "1px", style: "solid", color: "color_black" }}
109
+ background={{ color: "color_purple_400" }}
110
+ width="50px"
111
+ height="50px"
112
+ >
113
+ <b>2</b>
114
+ </DxcContainer>
115
+ <DxcContainer
116
+ border={{ width: "1px", style: "solid", color: "color_black" }}
117
+ background={{ color: "color_purple_400" }}
118
+ width="50px"
119
+ height="50px"
120
+ >
121
+ <b>3</b>
122
+ </DxcContainer>
123
+ </DxcContainer>
124
+ </ExampleContainer>
125
+ <Title title="Float" level={4} />
126
+ <ExampleContainer>
127
+ <DxcContainer padding="medium" border={{ width: "1px", style: "solid", color: "color_black" }}>
128
+ <DxcContainer float="right" background={{ color: "color_purple_400" }} width="100px" height="100px">
129
+ <b>Floating text</b>
130
+ </DxcContainer>
131
+ <p style={{ margin: 0 }}>
132
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisis, sapien vitae aliquam lacinia, nisl
133
+ quam tincidunt ligula, eget aliquam eros quam quis nunc. Donec euismod, nisl eget ultricies aliquam, nisl
134
+ velit aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit
135
+ aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam
136
+ nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc,
137
+ quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis
138
+ aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis aliquam
139
+ nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis aliquam nisl.
140
+ </p>
141
+ </DxcContainer>
142
+ </ExampleContainer>
143
+ <Title title="Box shadow and opacity" level={4} />
144
+ <ExampleContainer>
145
+ <DxcContainer
146
+ padding="medium"
147
+ outline={{ width: "1px", style: "solid", color: "color_black" }}
148
+ boxShadow="10px 5px 5px #fe0123"
149
+ opacity="0.75"
150
+ >
151
+ <p style={{ margin: 0 }}>
152
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisis, sapien vitae aliquam lacinia, nisl
153
+ quam tincidunt ligula, eget aliquam eros quam quis nunc. Donec euismod, nisl eget ultricies aliquam, nisl
154
+ velit aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit
155
+ aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam
156
+ nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc,
157
+ quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis
158
+ aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis aliquam
159
+ nisl.
160
+ </p>
161
+ </DxcContainer>
162
+ </ExampleContainer>
163
+ <Title title="Background color provider" level={4} />
164
+ <ExampleContainer>
165
+ <DxcContainer padding="medium" background={{ color: "color_black" }}>
166
+ <DxcParagraph>
167
+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla facilisis, sapien vitae aliquam lacinia, nisl
168
+ quam tincidunt ligula, eget aliquam eros quam quis nunc. Donec euismod, nisl eget ultricies aliquam, nisl
169
+ velit aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit
170
+ aliquam nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam
171
+ nunc, quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc,
172
+ quis aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis
173
+ aliquam nisl nunc vel nisl. Donec euismod, nisl eget ultricies aliquam, nisl velit aliquam nunc, quis aliquam
174
+ nisl.
175
+ </DxcParagraph>
176
+ </DxcContainer>
177
+ <Title title="Building a listbox component" level={4} />
178
+ <ExampleContainer>
179
+ <Listbox suggestions={["Option 1", "Option 2", "Option 3", "Option 4", "Option 5"]} />
180
+ </ExampleContainer>
181
+ </ExampleContainer>
182
+ </>
183
+ );
184
+
185
+ const Listbox = ({ suggestions = [] }: { suggestions: string[] }): JSX.Element => (
186
+ <DxcContainer
187
+ boxSizing="border-box"
188
+ boxShadow="0 4px 6px -1px rgba(0, 0, 0, 0.1)"
189
+ border={{ width: "1px", style: "solid", color: "color_grey_400", radius: "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
+ 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;