@dxc-technology/halstack-react 0.0.0-28a98e5 → 0.0.0-290c489

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 (359) 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 +295 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +18 -81
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +68 -0
  10. package/accordion/types.js +5 -0
  11. package/accordion-group/AccordionGroup.d.ts +7 -0
  12. package/accordion-group/AccordionGroup.js +61 -76
  13. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  14. package/accordion-group/AccordionGroup.test.js +151 -0
  15. package/accordion-group/types.d.ts +72 -0
  16. package/accordion-group/types.js +5 -0
  17. package/alert/Alert.d.ts +4 -0
  18. package/alert/Alert.js +7 -23
  19. package/alert/Alert.stories.tsx +170 -0
  20. package/alert/Alert.test.js +92 -0
  21. package/alert/types.d.ts +49 -0
  22. package/alert/types.js +5 -0
  23. package/badge/Badge.d.ts +4 -0
  24. package/badge/Badge.js +6 -4
  25. package/badge/types.d.ts +5 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +51 -0
  29. package/bleed/Bleed.stories.tsx +341 -0
  30. package/bleed/types.d.ts +37 -0
  31. package/bleed/types.js +5 -0
  32. package/box/Box.d.ts +4 -0
  33. package/box/Box.js +28 -64
  34. package/box/Box.stories.tsx +132 -0
  35. package/box/Box.test.js +18 -0
  36. package/box/types.d.ts +43 -0
  37. package/box/types.js +5 -0
  38. package/bulleted-list/BulletedList.d.ts +7 -0
  39. package/bulleted-list/BulletedList.js +123 -0
  40. package/bulleted-list/BulletedList.stories.tsx +200 -0
  41. package/bulleted-list/types.d.ts +11 -0
  42. package/bulleted-list/types.js +5 -0
  43. package/button/Button.d.ts +1 -1
  44. package/button/Button.js +24 -32
  45. package/button/Button.stories.tsx +250 -282
  46. package/button/Button.test.js +35 -0
  47. package/button/types.d.ts +9 -13
  48. package/card/Card.d.ts +4 -0
  49. package/card/Card.js +38 -77
  50. package/card/Card.stories.tsx +201 -0
  51. package/card/Card.test.js +50 -0
  52. package/card/ice-cream.jpg +0 -0
  53. package/card/types.d.ts +67 -0
  54. package/card/types.js +5 -0
  55. package/checkbox/Checkbox.d.ts +4 -0
  56. package/checkbox/Checkbox.js +45 -63
  57. package/checkbox/Checkbox.stories.tsx +188 -0
  58. package/checkbox/Checkbox.test.js +78 -0
  59. package/checkbox/types.d.ts +64 -0
  60. package/checkbox/types.js +5 -0
  61. package/chip/Chip.d.ts +4 -0
  62. package/chip/Chip.js +16 -76
  63. package/chip/Chip.stories.tsx +119 -0
  64. package/chip/Chip.test.js +56 -0
  65. package/chip/types.d.ts +45 -0
  66. package/chip/types.js +5 -0
  67. package/common/variables.js +301 -373
  68. package/date-input/DateInput.d.ts +4 -0
  69. package/date-input/DateInput.js +62 -86
  70. package/date-input/DateInput.stories.tsx +138 -0
  71. package/date-input/DateInput.test.js +479 -0
  72. package/date-input/types.d.ts +107 -0
  73. package/date-input/types.js +5 -0
  74. package/dialog/Dialog.d.ts +4 -0
  75. package/dialog/Dialog.js +10 -56
  76. package/dialog/Dialog.stories.tsx +212 -0
  77. package/dialog/Dialog.test.js +40 -0
  78. package/dialog/types.d.ts +43 -0
  79. package/dialog/types.js +5 -0
  80. package/dropdown/Dropdown.d.ts +4 -0
  81. package/dropdown/Dropdown.js +28 -87
  82. package/dropdown/Dropdown.stories.tsx +249 -0
  83. package/dropdown/Dropdown.test.js +189 -0
  84. package/dropdown/types.d.ts +80 -0
  85. package/dropdown/types.js +5 -0
  86. package/file-input/FileInput.d.ts +4 -0
  87. package/file-input/FileInput.js +172 -111
  88. package/file-input/FileInput.stories.tsx +507 -0
  89. package/file-input/FileInput.test.js +457 -0
  90. package/file-input/FileItem.d.ts +14 -0
  91. package/file-input/FileItem.js +16 -23
  92. package/file-input/types.d.ts +112 -0
  93. package/file-input/types.js +5 -0
  94. package/flex/Flex.d.ts +3 -0
  95. package/flex/Flex.js +74 -0
  96. package/flex/Flex.stories.tsx +103 -0
  97. package/flex/types.d.ts +21 -0
  98. package/flex/types.js +5 -0
  99. package/footer/Footer.d.ts +4 -0
  100. package/footer/Footer.js +36 -148
  101. package/footer/Footer.stories.tsx +130 -0
  102. package/footer/Footer.test.js +109 -0
  103. package/footer/Icons.d.ts +2 -0
  104. package/footer/Icons.js +4 -4
  105. package/footer/types.d.ts +65 -0
  106. package/footer/types.js +5 -0
  107. package/header/Header.d.ts +7 -0
  108. package/header/Header.js +55 -78
  109. package/header/Header.stories.tsx +172 -0
  110. package/header/Header.test.js +79 -0
  111. package/header/Icons.d.ts +2 -0
  112. package/header/Icons.js +2 -27
  113. package/header/types.d.ts +47 -0
  114. package/header/types.js +5 -0
  115. package/heading/Heading.d.ts +4 -0
  116. package/heading/Heading.js +7 -24
  117. package/heading/Heading.stories.tsx +54 -0
  118. package/heading/Heading.test.js +186 -0
  119. package/heading/types.d.ts +33 -0
  120. package/heading/types.js +5 -0
  121. package/inset/Inset.d.ts +3 -0
  122. package/inset/Inset.js +51 -0
  123. package/inset/Inset.stories.tsx +229 -0
  124. package/inset/types.d.ts +37 -0
  125. package/inset/types.js +5 -0
  126. package/layout/ApplicationLayout.d.ts +20 -0
  127. package/layout/ApplicationLayout.js +71 -135
  128. package/layout/ApplicationLayout.stories.tsx +161 -0
  129. package/layout/Icons.d.ts +5 -0
  130. package/layout/Icons.js +13 -2
  131. package/layout/SidenavContext.d.ts +5 -0
  132. package/layout/SidenavContext.js +19 -0
  133. package/layout/types.d.ts +42 -0
  134. package/layout/types.js +5 -0
  135. package/link/Link.d.ts +4 -0
  136. package/link/Link.js +60 -107
  137. package/link/Link.stories.tsx +186 -0
  138. package/link/Link.test.js +83 -0
  139. package/link/types.d.ts +54 -0
  140. package/link/types.js +5 -0
  141. package/main.d.ts +14 -12
  142. package/main.js +78 -56
  143. package/number-input/NumberInput.d.ts +4 -0
  144. package/number-input/NumberInput.js +16 -68
  145. package/number-input/NumberInput.stories.tsx +115 -0
  146. package/number-input/NumberInput.test.js +506 -0
  147. package/number-input/NumberInputContext.d.ts +4 -0
  148. package/number-input/NumberInputContext.js +5 -2
  149. package/number-input/numberInputContextTypes.d.ts +19 -0
  150. package/number-input/numberInputContextTypes.js +5 -0
  151. package/number-input/types.d.ts +124 -0
  152. package/number-input/types.js +5 -0
  153. package/package.json +11 -7
  154. package/paginator/Paginator.d.ts +4 -0
  155. package/paginator/Paginator.js +19 -69
  156. package/paginator/Paginator.stories.tsx +63 -0
  157. package/paginator/Paginator.test.js +308 -0
  158. package/paginator/types.d.ts +38 -0
  159. package/paginator/types.js +5 -0
  160. package/paragraph/Paragraph.d.ts +6 -0
  161. package/paragraph/Paragraph.js +38 -0
  162. package/paragraph/Paragraph.stories.tsx +44 -0
  163. package/password-input/PasswordInput.d.ts +4 -0
  164. package/password-input/PasswordInput.js +24 -57
  165. package/password-input/PasswordInput.stories.tsx +131 -0
  166. package/password-input/PasswordInput.test.js +180 -0
  167. package/password-input/types.d.ts +110 -0
  168. package/password-input/types.js +5 -0
  169. package/progress-bar/ProgressBar.d.ts +4 -0
  170. package/progress-bar/ProgressBar.js +6 -24
  171. package/progress-bar/ProgressBar.stories.jsx +58 -0
  172. package/progress-bar/ProgressBar.test.js +65 -0
  173. package/progress-bar/types.d.ts +37 -0
  174. package/progress-bar/types.js +5 -0
  175. package/quick-nav/QuickNav.d.ts +4 -0
  176. package/quick-nav/QuickNav.js +118 -0
  177. package/quick-nav/QuickNav.stories.tsx +264 -0
  178. package/quick-nav/types.d.ts +21 -0
  179. package/quick-nav/types.js +5 -0
  180. package/radio-group/Radio.d.ts +4 -0
  181. package/radio-group/Radio.js +141 -0
  182. package/radio-group/RadioGroup.d.ts +4 -0
  183. package/radio-group/RadioGroup.js +283 -0
  184. package/radio-group/RadioGroup.stories.tsx +100 -0
  185. package/radio-group/RadioGroup.test.js +695 -0
  186. package/radio-group/types.d.ts +114 -0
  187. package/radio-group/types.js +5 -0
  188. package/resultsetTable/ResultsetTable.d.ts +4 -0
  189. package/resultsetTable/ResultsetTable.js +9 -29
  190. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  191. package/resultsetTable/ResultsetTable.test.js +348 -0
  192. package/resultsetTable/types.d.ts +67 -0
  193. package/resultsetTable/types.js +5 -0
  194. package/row/Row.d.ts +3 -0
  195. package/row/Row.js +127 -0
  196. package/row/Row.stories.tsx +237 -0
  197. package/row/types.d.ts +28 -0
  198. package/row/types.js +5 -0
  199. package/select/Icons.d.ts +10 -0
  200. package/select/Icons.js +93 -0
  201. package/select/Listbox.d.ts +4 -0
  202. package/select/Listbox.js +175 -0
  203. package/select/Option.d.ts +4 -0
  204. package/select/Option.js +110 -0
  205. package/select/Select.d.ts +4 -0
  206. package/select/Select.js +214 -418
  207. package/select/Select.stories.tsx +626 -0
  208. package/select/Select.test.js +2162 -0
  209. package/select/types.d.ts +212 -0
  210. package/select/types.js +5 -0
  211. package/sidenav/Sidenav.d.ts +10 -0
  212. package/sidenav/Sidenav.js +174 -63
  213. package/sidenav/Sidenav.stories.tsx +180 -0
  214. package/sidenav/Sidenav.test.js +44 -0
  215. package/sidenav/types.d.ts +73 -0
  216. package/sidenav/types.js +5 -0
  217. package/slider/Slider.d.ts +4 -0
  218. package/slider/Slider.js +63 -85
  219. package/slider/Slider.stories.tsx +177 -0
  220. package/slider/Slider.test.js +150 -0
  221. package/slider/types.d.ts +82 -0
  222. package/slider/types.js +5 -0
  223. package/spinner/Spinner.d.ts +4 -0
  224. package/spinner/Spinner.js +9 -26
  225. package/spinner/Spinner.stories.jsx +103 -0
  226. package/spinner/Spinner.test.js +64 -0
  227. package/spinner/types.d.ts +32 -0
  228. package/spinner/types.js +5 -0
  229. package/stack/Stack.d.ts +4 -0
  230. package/stack/Stack.js +56 -0
  231. package/stack/Stack.stories.tsx +263 -0
  232. package/stack/types.d.ts +32 -0
  233. package/stack/types.js +5 -0
  234. package/switch/Switch.d.ts +4 -0
  235. package/switch/Switch.js +49 -62
  236. package/switch/Switch.stories.tsx +160 -0
  237. package/switch/Switch.test.js +98 -0
  238. package/switch/types.d.ts +62 -0
  239. package/switch/types.js +5 -0
  240. package/table/Table.d.ts +4 -0
  241. package/table/Table.js +3 -3
  242. package/table/Table.stories.jsx +277 -0
  243. package/table/Table.test.js +26 -0
  244. package/table/types.d.ts +21 -0
  245. package/table/types.js +5 -0
  246. package/tabs/Tabs.d.ts +4 -0
  247. package/tabs/Tabs.js +24 -72
  248. package/tabs/Tabs.stories.tsx +112 -0
  249. package/tabs/Tabs.test.js +140 -0
  250. package/tabs/types.d.ts +82 -0
  251. package/tabs/types.js +5 -0
  252. package/tabs-nav/NavTabs.d.ts +8 -0
  253. package/tabs-nav/NavTabs.js +125 -0
  254. package/tabs-nav/NavTabs.stories.tsx +170 -0
  255. package/tabs-nav/NavTabs.test.js +82 -0
  256. package/tabs-nav/Tab.d.ts +4 -0
  257. package/tabs-nav/Tab.js +132 -0
  258. package/tabs-nav/types.d.ts +53 -0
  259. package/tabs-nav/types.js +5 -0
  260. package/tag/Tag.d.ts +4 -0
  261. package/tag/Tag.js +34 -59
  262. package/tag/Tag.stories.tsx +142 -0
  263. package/tag/Tag.test.js +60 -0
  264. package/tag/types.d.ts +69 -0
  265. package/tag/types.js +5 -0
  266. package/text-input/Suggestion.d.ts +4 -0
  267. package/text-input/Suggestion.js +55 -0
  268. package/text-input/TextInput.d.ts +4 -0
  269. package/text-input/TextInput.js +137 -185
  270. package/text-input/TextInput.stories.tsx +474 -0
  271. package/text-input/TextInput.test.js +1712 -0
  272. package/text-input/types.d.ts +178 -0
  273. package/text-input/types.js +5 -0
  274. package/textarea/Textarea.d.ts +4 -0
  275. package/textarea/Textarea.js +39 -77
  276. package/textarea/Textarea.stories.jsx +157 -0
  277. package/textarea/Textarea.test.js +437 -0
  278. package/textarea/types.d.ts +137 -0
  279. package/textarea/types.js +5 -0
  280. package/toggle-group/ToggleGroup.d.ts +4 -0
  281. package/toggle-group/ToggleGroup.js +18 -46
  282. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  283. package/toggle-group/ToggleGroup.test.js +156 -0
  284. package/toggle-group/types.d.ts +105 -0
  285. package/toggle-group/types.js +5 -0
  286. package/typography/Typography.d.ts +4 -0
  287. package/typography/Typography.js +131 -0
  288. package/typography/Typography.stories.tsx +198 -0
  289. package/typography/types.d.ts +18 -0
  290. package/typography/types.js +5 -0
  291. package/useTheme.d.ts +2 -0
  292. package/useTheme.js +2 -2
  293. package/useTranslatedLabels.d.ts +2 -0
  294. package/useTranslatedLabels.js +20 -0
  295. package/wizard/Wizard.d.ts +4 -0
  296. package/wizard/Wizard.js +118 -104
  297. package/wizard/Wizard.stories.tsx +233 -0
  298. package/wizard/Wizard.test.js +141 -0
  299. package/wizard/types.d.ts +65 -0
  300. package/wizard/types.js +5 -0
  301. package/ThemeContext.js +0 -246
  302. package/V3Select/V3Select.js +0 -455
  303. package/V3Select/index.d.ts +0 -27
  304. package/V3Textarea/V3Textarea.js +0 -260
  305. package/V3Textarea/index.d.ts +0 -27
  306. package/accordion/index.d.ts +0 -28
  307. package/accordion-group/index.d.ts +0 -16
  308. package/alert/index.d.ts +0 -51
  309. package/box/index.d.ts +0 -25
  310. package/card/index.d.ts +0 -22
  311. package/checkbox/index.d.ts +0 -24
  312. package/chip/index.d.ts +0 -22
  313. package/date/Date.js +0 -373
  314. package/date/index.d.ts +0 -27
  315. package/date-input/index.d.ts +0 -95
  316. package/dialog/index.d.ts +0 -18
  317. package/dropdown/index.d.ts +0 -26
  318. package/file-input/index.d.ts +0 -81
  319. package/footer/index.d.ts +0 -25
  320. package/header/index.d.ts +0 -25
  321. package/heading/index.d.ts +0 -17
  322. package/input-text/Icons.js +0 -22
  323. package/input-text/InputText.js +0 -611
  324. package/input-text/index.d.ts +0 -36
  325. package/link/index.d.ts +0 -23
  326. package/number-input/index.d.ts +0 -113
  327. package/paginator/index.d.ts +0 -20
  328. package/password-input/index.d.ts +0 -94
  329. package/progress-bar/index.d.ts +0 -18
  330. package/radio/Radio.js +0 -195
  331. package/radio/index.d.ts +0 -23
  332. package/resultsetTable/index.d.ts +0 -19
  333. package/select/index.d.ts +0 -131
  334. package/sidenav/index.d.ts +0 -13
  335. package/slider/index.d.ts +0 -29
  336. package/spinner/index.d.ts +0 -17
  337. package/switch/index.d.ts +0 -24
  338. package/table/index.d.ts +0 -13
  339. package/tabs/index.d.ts +0 -19
  340. package/tag/index.d.ts +0 -24
  341. package/text-input/index.d.ts +0 -135
  342. package/textarea/index.d.ts +0 -117
  343. package/toggle/Toggle.js +0 -186
  344. package/toggle/index.d.ts +0 -21
  345. package/toggle-group/index.d.ts +0 -21
  346. package/upload/Upload.js +0 -201
  347. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  348. package/upload/buttons-upload/Icons.js +0 -40
  349. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  350. package/upload/dragAndDropArea/Icons.js +0 -39
  351. package/upload/file-upload/FileToUpload.js +0 -115
  352. package/upload/file-upload/Icons.js +0 -66
  353. package/upload/files-upload/FilesToUpload.js +0 -109
  354. package/upload/index.d.ts +0 -15
  355. package/upload/transaction/Icons.js +0 -160
  356. package/upload/transaction/Transaction.js +0 -104
  357. package/upload/transactions/Transactions.js +0 -94
  358. package/wizard/Icons.js +0 -65
  359. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,64 @@
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 _Spinner = _interopRequireDefault(require("./Spinner"));
10
+
11
+ describe("Spinner component tests", function () {
12
+ test("Spinner renders with correct label", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
14
+ label: "test-loading"
15
+ })),
16
+ getByText = _render.getByText;
17
+
18
+ expect(getByText("test-loading")).toBeTruthy();
19
+ });
20
+ test("Spinner shows value correctly", function () {
21
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
22
+ label: "test-loading",
23
+ value: 75,
24
+ showValue: true
25
+ })),
26
+ getByText = _render2.getByText;
27
+
28
+ expect(getByText("75%")).toBeTruthy();
29
+ });
30
+ test("Small spinner hides value and label correctly", function () {
31
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
32
+ mode: "small",
33
+ label: "test-loading",
34
+ value: 75,
35
+ showValue: true
36
+ })),
37
+ queryByText = _render3.queryByText;
38
+
39
+ expect(queryByText("test-loading")).toBeFalsy();
40
+ expect(queryByText("75%")).toBeFalsy();
41
+ });
42
+ test("Overlay spinner shows value and label correctly", function () {
43
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
44
+ mode: "overlay",
45
+ label: "test-loading",
46
+ value: 75,
47
+ showValue: true
48
+ })),
49
+ getByText = _render4.getByText;
50
+
51
+ expect(getByText("test-loading")).toBeTruthy();
52
+ expect(getByText("75%")).toBeTruthy();
53
+ });
54
+ test("Get spinner by role", function () {
55
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Spinner["default"], {
56
+ label: "test-loading",
57
+ value: 75,
58
+ showValue: true
59
+ })),
60
+ getByRole = _render5.getByRole;
61
+
62
+ expect(getByRole("progressbar")).toBeTruthy();
63
+ });
64
+ });
@@ -0,0 +1,32 @@
1
+ declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
2
+ declare type Margin = {
3
+ top?: Space;
4
+ bottom?: Space;
5
+ left?: Space;
6
+ right?: Space;
7
+ };
8
+ declare type Props = {
9
+ /**
10
+ * Text to be placed inside the spinner.
11
+ */
12
+ label?: string;
13
+ /**
14
+ * The value of the progress indicator. If it's received the
15
+ * component is determinate, otherwise is indeterminate.
16
+ */
17
+ value?: number;
18
+ /**
19
+ * If true, the value is displayed inside the spinner..
20
+ */
21
+ showValue?: boolean;
22
+ /**
23
+ * Available modes of the spinner.
24
+ */
25
+ mode?: "large" | "small" | "overlay";
26
+ /**
27
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
28
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
29
+ */
30
+ margin?: Space | Margin;
31
+ };
32
+ export default Props;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import StackPropsType from "./types";
3
+ declare const DxcStack: ({ alignX, as, divider, gutter, reverse, wrap, children, }: StackPropsType) => JSX.Element;
4
+ export default DxcStack;
package/stack/Stack.js ADDED
@@ -0,0 +1,56 @@
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"] = void 0;
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, _templateObject2;
17
+
18
+ var DxcStack = function DxcStack(_ref) {
19
+ var _ref$alignX = _ref.alignX,
20
+ alignX = _ref$alignX === void 0 ? "stretch" : _ref$alignX,
21
+ _ref$as = _ref.as,
22
+ as = _ref$as === void 0 ? "div" : _ref$as,
23
+ _ref$divider = _ref.divider,
24
+ divider = _ref$divider === void 0 ? false : _ref$divider,
25
+ _ref$gutter = _ref.gutter,
26
+ gutter = _ref$gutter === void 0 ? "0rem" : _ref$gutter,
27
+ _ref$reverse = _ref.reverse,
28
+ reverse = _ref$reverse === void 0 ? false : _ref$reverse,
29
+ _ref$wrap = _ref.wrap,
30
+ wrap = _ref$wrap === void 0 ? false : _ref$wrap,
31
+ children = _ref.children;
32
+ return /*#__PURE__*/_react["default"].createElement(Stack, {
33
+ gutter: gutter,
34
+ alignX: alignX,
35
+ reverse: reverse,
36
+ as: as,
37
+ divider: divider,
38
+ wrap: wrap
39
+ }, _react["default"].Children.map(children, function (child, index) {
40
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, child, divider && index !== _react["default"].Children.count(children) - 1 && /*#__PURE__*/_react["default"].createElement(Divider, null));
41
+ }));
42
+ };
43
+
44
+ var Divider = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n width: 100%;\n height: 1px;\n background-color: #999999;\n"])));
45
+
46
+ var Stack = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n padding: 0px;\n margin: 0px;\n height: 100%;\n"])), function (_ref2) {
47
+ var alignX = _ref2.alignX,
48
+ gutter = _ref2.gutter,
49
+ reverse = _ref2.reverse,
50
+ divider = _ref2.divider,
51
+ wrap = _ref2.wrap;
52
+ return "\n flex-direction: ".concat(reverse ? "column-reverse" : "column", ";\n align-items: ").concat(alignX === "start" || alignX === "end" ? "flex-".concat(alignX) : alignX, ";\n gap: ").concat(divider ? "calc(".concat(gutter, "/2 - 1px)") : gutter, ";\n flex-wrap: ").concat(wrap ? "wrap" : "nowrap", ";\n ");
53
+ });
54
+
55
+ var _default = DxcStack;
56
+ exports["default"] = _default;
@@ -0,0 +1,263 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import styled from "styled-components";
4
+ import DxcStack from "./Stack";
5
+
6
+ export default {
7
+ title: "Stack",
8
+ component: DxcStack,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <Title title="Default" theme="light" level={4} />
14
+ <Container>
15
+ <DxcStack>
16
+ <Placeholder height="small" width="small" />
17
+ <Placeholder height="medium" width="medium" />
18
+ <Placeholder height="large" width="large" />
19
+ <Placeholder height="small" width="large" />
20
+ </DxcStack>
21
+ </Container>
22
+ <Title title="Default with divider" theme="light" level={4} />
23
+ <Container>
24
+ <DxcStack divider>
25
+ <Placeholder height="medium" width="medium" />
26
+ <Placeholder height="large" width="large" />
27
+ <Placeholder height="small" width="large" />
28
+ </DxcStack>
29
+ </Container>
30
+ <Title title="Alignment with divider" theme="light" level={4} />
31
+ <Container>
32
+ <DxcStack alignX="end" divider>
33
+ <Placeholder height="small" width="small" />
34
+ <Placeholder height="small" width="medium" />
35
+ <Placeholder height="medium" width="small" />
36
+ </DxcStack>
37
+ </Container>
38
+ <Title title="Default with one child" theme="light" level={4} />
39
+ <Container>
40
+ <DxcStack divider>
41
+ <Placeholder height="large" width="xlarge" />
42
+ </DxcStack>
43
+ </Container>
44
+ <Title title="Wrap" theme="light" level={4} />
45
+ <FlexContainer customHeight>
46
+ <DxcStack wrap>
47
+ <Placeholder height="small" width="small" />
48
+ <Placeholder height="large" width="medium" />
49
+ <Placeholder height="medium" width="small" />
50
+ <Placeholder height="large" width="medium" />
51
+ </DxcStack>
52
+ </FlexContainer>
53
+ <Title title="No wrap in a flex container" theme="light" level={4} />
54
+ <FlexContainer customHeight>
55
+ <DxcStack>
56
+ <Placeholder height="small" width="small" />
57
+ <Placeholder height="medium" width="small" />
58
+ <Placeholder height="small" width="medium" />
59
+ </DxcStack>
60
+ </FlexContainer>
61
+ <Title title="No wrap (default)" theme="light" level={4} />
62
+ <Container customHeight>
63
+ <DxcStack>
64
+ <Placeholder height="small" width="medium" />
65
+ <Placeholder height="small" width="small" />
66
+ </DxcStack>
67
+ </Container>
68
+ <Title title="AlignX = start" theme="light" level={4} />
69
+ <Container>
70
+ <DxcStack alignX="start">
71
+ <Placeholder height="small" width="small" />
72
+ <Placeholder height="large" width="medium" />
73
+ <Placeholder height="medium" width="small" />
74
+ <Placeholder height="large" width="medium" />
75
+ </DxcStack>
76
+ </Container>
77
+ <Title title="AlignX = end" theme="light" level={4} />
78
+ <Container>
79
+ <DxcStack alignX="end">
80
+ <Placeholder height="small" width="small" />
81
+ <Placeholder height="large" width="medium" />
82
+ <Placeholder height="medium" width="small" />
83
+ </DxcStack>
84
+ </Container>
85
+ <Title title="AlignX = center" theme="light" level={4} />
86
+ <Container>
87
+ <DxcStack alignX="center">
88
+ <Placeholder height="small" width="small" />
89
+ <Placeholder height="large" width="medium" />
90
+ <Placeholder height="medium" width="small" />
91
+ <Placeholder height="large" width="medium" />
92
+ </DxcStack>
93
+ </Container>
94
+ <Title title="AlignX = baseline" theme="light" level={4} />
95
+ <Container>
96
+ <DxcStack alignX="baseline">
97
+ <Placeholder height="small" width="small" />
98
+ <Placeholder height="large" width="medium" />
99
+ <Placeholder height="medium" width="small" />
100
+ </DxcStack>
101
+ </Container>
102
+ <Title title="AlignX with wrapped items" theme="light" level={4} />
103
+ <Container customHeight>
104
+ <DxcStack alignX="center" wrap>
105
+ <Placeholder height="small" width="medium" />
106
+ <Placeholder height="small" width="small" />
107
+ </DxcStack>
108
+ </Container>
109
+ <Title title="Gutter = 0rem" theme="light" level={4} />
110
+ <Container>
111
+ <DxcStack gutter="0rem">
112
+ <Placeholder height="small" width="medium" />
113
+ <Placeholder height="large" width="small" />
114
+ <Placeholder height="medium" width="medium" />
115
+ <Placeholder height="large" width="small" />
116
+ <Placeholder height="small" width="medium" />
117
+ </DxcStack>
118
+ </Container>
119
+ <Title title="Gutter = 0.125rem" theme="light" level={4} />
120
+ <Container>
121
+ <DxcStack gutter="0.125rem">
122
+ <Placeholder height="small" width="small" />
123
+ <Placeholder height="large" width="medium" />
124
+ <Placeholder height="medium" width="small" />
125
+ </DxcStack>
126
+ </Container>
127
+ <Title title="Gutter = 0.25rem" theme="light" level={4} />
128
+ <Container>
129
+ <DxcStack gutter="0.25rem">
130
+ <Placeholder height="small" width="medium" />
131
+ <Placeholder height="large" width="small" />
132
+ <Placeholder height="medium" width="medium" />
133
+ <Placeholder height="large" width="small" />
134
+ <Placeholder height="small" width="medium" />
135
+ </DxcStack>
136
+ </Container>
137
+ <Title title="Gutter = 0.5rem" theme="light" level={4} />
138
+ <Container>
139
+ <DxcStack gutter="0.5rem">
140
+ <Placeholder height="small" width="small" />
141
+ <Placeholder height="large" width="medium" />
142
+ <Placeholder height="medium" width="small" />
143
+ </DxcStack>
144
+ </Container>
145
+ <Title title="Gutter = 0.75rem" theme="light" level={4} />
146
+ <Container>
147
+ <DxcStack gutter="0.75rem">
148
+ <Placeholder height="small" width="medium" />
149
+ <Placeholder height="large" width="small" />
150
+ <Placeholder height="medium" width="medium" />
151
+ <Placeholder height="large" width="small" />
152
+ <Placeholder height="small" width="medium" />
153
+ </DxcStack>
154
+ </Container>
155
+ <Title title="Gutter = 1rem" theme="light" level={4} />
156
+ <Container>
157
+ <DxcStack gutter="1rem">
158
+ <Placeholder height="small" width="small" />
159
+ <Placeholder height="large" width="medium" />
160
+ <Placeholder height="medium" width="small" />
161
+ </DxcStack>
162
+ </Container>
163
+ <Title title="Gutter = 1.5rem" theme="light" level={4} />
164
+ <Container>
165
+ <DxcStack gutter="1.5rem">
166
+ <Placeholder height="small" width="medium" />
167
+ <Placeholder height="large" width="small" />
168
+ <Placeholder height="medium" width="medium" />
169
+ <Placeholder height="large" width="small" />
170
+ <Placeholder height="small" width="medium" />
171
+ </DxcStack>
172
+ </Container>
173
+ <Title title="Gutter = 2rem & divider" theme="light" level={4} />
174
+ <Container>
175
+ <DxcStack gutter="2rem" divider>
176
+ <Placeholder height="small" width="small" />
177
+ <Placeholder height="large" width="medium" />
178
+ <Placeholder height="medium" width="small" />
179
+ </DxcStack>
180
+ </Container>
181
+ <Title title="Gutter = 3rem" theme="light" level={4} />
182
+ <Container>
183
+ <DxcStack gutter="3rem">
184
+ <Placeholder height="small" width="small" />
185
+ <Placeholder height="large" width="medium" />
186
+ <Placeholder height="medium" width="small" />
187
+ </DxcStack>
188
+ </Container>
189
+ <Title title="Gutter = 4rem" theme="light" level={4} />
190
+ <Container>
191
+ <DxcStack gutter="4rem">
192
+ <Placeholder height="large" width="medium" />
193
+ <Placeholder height="medium" width="small" />
194
+ </DxcStack>
195
+ </Container>
196
+ <Title title="Gutter = 5rem" theme="light" level={4} />
197
+ <Container>
198
+ <DxcStack gutter="5rem">
199
+ <Placeholder height="small" width="small" />
200
+ <Placeholder height="medium" width="small" />
201
+ </DxcStack>
202
+ </Container>
203
+ <Title title="Reverse" theme="light" level={4} />
204
+ <Container>
205
+ <DxcStack reverse>
206
+ <Placeholder height="small" width="medium">
207
+ 1
208
+ </Placeholder>
209
+ <Placeholder height="large" width="small">
210
+ 2
211
+ </Placeholder>
212
+ <Placeholder height="medium" width="medium">
213
+ 3
214
+ </Placeholder>
215
+ <Placeholder height="large" width="small">
216
+ 4
217
+ </Placeholder>
218
+ </DxcStack>
219
+ </Container>
220
+ <Title title="Wrapped and reversed children" theme="light" level={4} />
221
+ <FlexContainer customHeight>
222
+ <DxcStack reverse wrap>
223
+ <Placeholder height="small" width="medium">
224
+ 1
225
+ </Placeholder>
226
+ <Placeholder height="large" width="small">
227
+ 2
228
+ </Placeholder>
229
+ <Placeholder height="medium" width="medium">
230
+ 3
231
+ </Placeholder>
232
+ <Placeholder height="large" width="small">
233
+ 4
234
+ </Placeholder>
235
+ </DxcStack>
236
+ </FlexContainer>
237
+ </>
238
+ );
239
+
240
+ const FlexContainer = styled.div<{ customHeight?: boolean }>`
241
+ display: flex;
242
+ ${({ customHeight }) => customHeight && `height: 100px;`};
243
+ background: #f2eafa;
244
+ `;
245
+
246
+ const Container = styled.div<{ customHeight?: boolean }>`
247
+ background: #f2eafa;
248
+ ${({ customHeight }) => customHeight && `height: 100px;`};
249
+ `;
250
+
251
+ type PlaceholderProps = {
252
+ width?: "xlarge" | "large" | "medium" | "small" | "auto";
253
+ height?: "large" | "medium" | "small" | "auto";
254
+ };
255
+
256
+ const Placeholder = styled.div<PlaceholderProps>`
257
+ ${({ width }) =>
258
+ width &&
259
+ `width: ${width === "xlarge" ? "350px" : width === "large" ? "150px" : width === "medium" ? "100px" : "50px"};`};
260
+ ${({ height }) => height && `height: ${height === "large" ? "100px" : height === "medium" ? "80px" : "50px"};`};
261
+ border: 1px solid #a46ede;
262
+ background-color: #e5d5f6;
263
+ `;
@@ -0,0 +1,32 @@
1
+ /// <reference types="react" />
2
+ declare type Props = {
3
+ /**
4
+ * Alignment applied to children in the main axis.
5
+ */
6
+ alignX?: "start" | "end" | "center" | "baseline" | "stretch";
7
+ /**
8
+ * Specifies the HTML tag or component that is rendered as the wrapper element.
9
+ */
10
+ as?: React.ElementType;
11
+ /**
12
+ * If true, a divider is shown between children.
13
+ */
14
+ divider?: boolean;
15
+ /**
16
+ * Space applied between each child.
17
+ */
18
+ gutter?: "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "0.75rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
19
+ /**
20
+ * Change the direction of the stack to reverse.
21
+ */
22
+ reverse?: boolean;
23
+ /**
24
+ * Sets whether the children are forced onto one column or can wrap onto multiple columns.
25
+ */
26
+ wrap?: boolean;
27
+ /**
28
+ * Custom content inside the stack.
29
+ */
30
+ children: React.ReactNode[] | React.ReactNode;
31
+ };
32
+ export default Props;
package/stack/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import SwitchPropsType from "./types";
3
+ declare const DxcSwitch: ({ defaultChecked, checked, value, label, labelPosition, name, disabled, optional, onChange, margin, size, tabIndex, }: SwitchPropsType) => JSX.Element;
4
+ export default DxcSwitch;