@dxc-technology/halstack-react 4.0.1 → 5.0.0

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 (344) hide show
  1. package/BackgroundColorContext.d.ts +10 -0
  2. package/BackgroundColorContext.js +7 -6
  3. package/HalstackContext.d.ts +10 -0
  4. package/HalstackContext.js +243 -0
  5. package/accordion/Accordion.d.ts +4 -0
  6. package/accordion/Accordion.js +35 -162
  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 +67 -85
  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 +40 -153
  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 +10 -14
  25. package/badge/types.d.ts +4 -0
  26. package/badge/types.js +5 -0
  27. package/bleed/Bleed.d.ts +3 -0
  28. package/bleed/Bleed.js +84 -0
  29. package/bleed/Bleed.stories.tsx +342 -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 +15 -45
  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/button/Button.d.ts +4 -0
  39. package/button/Button.js +33 -99
  40. package/button/Button.stories.tsx +274 -0
  41. package/button/Button.test.js +35 -0
  42. package/button/types.d.ts +53 -0
  43. package/button/types.js +5 -0
  44. package/card/Card.d.ts +4 -0
  45. package/card/Card.js +53 -144
  46. package/card/Card.stories.tsx +201 -0
  47. package/card/Card.test.js +50 -0
  48. package/card/ice-cream.jpg +0 -0
  49. package/card/types.d.ts +67 -0
  50. package/card/types.js +5 -0
  51. package/checkbox/Checkbox.d.ts +4 -0
  52. package/checkbox/Checkbox.js +50 -95
  53. package/checkbox/Checkbox.stories.tsx +188 -0
  54. package/checkbox/Checkbox.test.js +78 -0
  55. package/checkbox/types.d.ts +64 -0
  56. package/checkbox/types.js +5 -0
  57. package/chip/Chip.d.ts +4 -0
  58. package/chip/Chip.js +26 -130
  59. package/chip/Chip.stories.tsx +119 -0
  60. package/chip/Chip.test.js +56 -0
  61. package/chip/types.d.ts +45 -0
  62. package/chip/types.js +5 -0
  63. package/common/RequiredComponent.js +3 -11
  64. package/common/variables.js +94 -289
  65. package/date-input/DateInput.d.ts +4 -0
  66. package/date-input/DateInput.js +77 -108
  67. package/date-input/DateInput.stories.tsx +138 -0
  68. package/date-input/DateInput.test.js +479 -0
  69. package/date-input/types.d.ts +107 -0
  70. package/date-input/types.js +5 -0
  71. package/dialog/Dialog.d.ts +4 -0
  72. package/dialog/Dialog.js +25 -105
  73. package/dialog/Dialog.stories.tsx +212 -0
  74. package/dialog/Dialog.test.js +40 -0
  75. package/dialog/types.d.ts +43 -0
  76. package/dialog/types.js +5 -0
  77. package/dropdown/Dropdown.d.ts +4 -0
  78. package/dropdown/Dropdown.js +54 -207
  79. package/dropdown/Dropdown.stories.tsx +249 -0
  80. package/dropdown/Dropdown.test.js +189 -0
  81. package/dropdown/types.d.ts +80 -0
  82. package/dropdown/types.js +5 -0
  83. package/file-input/FileInput.d.ts +4 -0
  84. package/file-input/FileInput.js +195 -249
  85. package/file-input/FileInput.stories.tsx +507 -0
  86. package/file-input/FileInput.test.js +457 -0
  87. package/file-input/FileItem.d.ts +14 -0
  88. package/file-input/FileItem.js +40 -143
  89. package/file-input/types.d.ts +112 -0
  90. package/file-input/types.js +5 -0
  91. package/footer/Footer.d.ts +4 -0
  92. package/footer/Footer.js +47 -285
  93. package/footer/Footer.stories.tsx +130 -0
  94. package/footer/Footer.test.js +109 -0
  95. package/footer/Icons.d.ts +2 -0
  96. package/footer/Icons.js +15 -15
  97. package/footer/types.d.ts +65 -0
  98. package/footer/types.js +5 -0
  99. package/header/Header.d.ts +7 -0
  100. package/header/Header.js +76 -246
  101. package/header/Header.stories.tsx +172 -0
  102. package/header/Header.test.js +79 -0
  103. package/header/Icons.d.ts +2 -0
  104. package/header/Icons.js +7 -32
  105. package/header/types.d.ts +47 -0
  106. package/header/types.js +5 -0
  107. package/heading/Heading.d.ts +4 -0
  108. package/heading/Heading.js +25 -96
  109. package/heading/Heading.stories.tsx +54 -0
  110. package/heading/Heading.test.js +186 -0
  111. package/heading/types.d.ts +33 -0
  112. package/heading/types.js +5 -0
  113. package/inset/Inset.d.ts +3 -0
  114. package/inset/Inset.js +84 -0
  115. package/inset/Inset.stories.tsx +229 -0
  116. package/inset/types.d.ts +37 -0
  117. package/inset/types.js +5 -0
  118. package/layout/ApplicationLayout.d.ts +10 -0
  119. package/layout/ApplicationLayout.js +44 -153
  120. package/layout/ApplicationLayout.stories.tsx +171 -0
  121. package/layout/Icons.js +7 -7
  122. package/layout/types.d.ts +57 -0
  123. package/layout/types.js +5 -0
  124. package/link/Link.d.ts +3 -0
  125. package/link/Link.js +22 -110
  126. package/link/Link.stories.tsx +151 -0
  127. package/link/Link.test.js +91 -0
  128. package/link/types.d.ts +70 -0
  129. package/link/types.js +5 -0
  130. package/list/List.d.ts +4 -0
  131. package/list/List.js +47 -0
  132. package/list/List.stories.tsx +95 -0
  133. package/list/types.d.ts +7 -0
  134. package/list/types.js +5 -0
  135. package/main.d.ts +47 -40
  136. package/main.js +124 -96
  137. package/number-input/NumberInput.d.ts +4 -0
  138. package/number-input/NumberInput.js +21 -81
  139. package/number-input/NumberInput.stories.tsx +115 -0
  140. package/number-input/NumberInput.test.js +506 -0
  141. package/number-input/NumberInputContext.d.ts +4 -0
  142. package/number-input/NumberInputContext.js +5 -2
  143. package/number-input/numberInputContextTypes.d.ts +19 -0
  144. package/number-input/numberInputContextTypes.js +5 -0
  145. package/number-input/types.d.ts +124 -0
  146. package/number-input/types.js +5 -0
  147. package/package.json +21 -16
  148. package/paginator/Icons.js +9 -9
  149. package/paginator/Paginator.d.ts +4 -0
  150. package/paginator/Paginator.js +26 -139
  151. package/paginator/Paginator.stories.tsx +63 -0
  152. package/paginator/Paginator.test.js +266 -0
  153. package/paginator/types.d.ts +38 -0
  154. package/paginator/types.js +5 -0
  155. package/password-input/PasswordInput.d.ts +4 -0
  156. package/password-input/PasswordInput.js +37 -77
  157. package/password-input/PasswordInput.stories.tsx +131 -0
  158. package/password-input/PasswordInput.test.js +181 -0
  159. package/password-input/types.d.ts +110 -0
  160. package/password-input/types.js +5 -0
  161. package/progress-bar/ProgressBar.d.ts +4 -0
  162. package/progress-bar/ProgressBar.js +22 -94
  163. package/progress-bar/ProgressBar.stories.jsx +58 -0
  164. package/progress-bar/ProgressBar.test.js +65 -0
  165. package/progress-bar/types.d.ts +37 -0
  166. package/progress-bar/types.js +5 -0
  167. package/quick-nav/QuickNav.d.ts +4 -0
  168. package/quick-nav/QuickNav.js +64 -0
  169. package/quick-nav/QuickNav.stories.tsx +237 -0
  170. package/quick-nav/types.d.ts +21 -0
  171. package/quick-nav/types.js +5 -0
  172. package/radio/Radio.d.ts +4 -0
  173. package/radio/Radio.js +23 -59
  174. package/radio/Radio.stories.tsx +192 -0
  175. package/radio/Radio.test.js +71 -0
  176. package/radio/types.d.ts +54 -0
  177. package/radio/types.js +5 -0
  178. package/radio-group/Radio.d.ts +4 -0
  179. package/radio-group/Radio.js +141 -0
  180. package/radio-group/RadioGroup.d.ts +4 -0
  181. package/radio-group/RadioGroup.js +280 -0
  182. package/radio-group/RadioGroup.stories.tsx +100 -0
  183. package/radio-group/RadioGroup.test.js +695 -0
  184. package/radio-group/types.d.ts +114 -0
  185. package/radio-group/types.js +5 -0
  186. package/resultsetTable/ResultsetTable.d.ts +4 -0
  187. package/resultsetTable/ResultsetTable.js +43 -147
  188. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  189. package/resultsetTable/ResultsetTable.test.js +306 -0
  190. package/resultsetTable/types.d.ts +67 -0
  191. package/resultsetTable/types.js +5 -0
  192. package/row/Row.d.ts +3 -0
  193. package/row/Row.js +127 -0
  194. package/row/Row.stories.tsx +237 -0
  195. package/row/types.d.ts +28 -0
  196. package/row/types.js +5 -0
  197. package/select/Icons.d.ts +10 -0
  198. package/select/Icons.js +93 -0
  199. package/select/Listbox.d.ts +4 -0
  200. package/select/Listbox.js +148 -0
  201. package/select/Option.d.ts +4 -0
  202. package/select/Option.js +110 -0
  203. package/select/Select.d.ts +4 -0
  204. package/select/Select.js +181 -664
  205. package/select/Select.stories.tsx +582 -0
  206. package/select/Select.test.js +2057 -0
  207. package/select/types.d.ts +213 -0
  208. package/select/types.js +5 -0
  209. package/sidenav/Sidenav.d.ts +9 -0
  210. package/sidenav/Sidenav.js +21 -64
  211. package/sidenav/Sidenav.stories.tsx +182 -0
  212. package/sidenav/Sidenav.test.js +56 -0
  213. package/sidenav/types.d.ts +50 -0
  214. package/sidenav/types.js +5 -0
  215. package/slider/Slider.d.ts +4 -0
  216. package/slider/Slider.js +76 -162
  217. package/slider/Slider.stories.tsx +177 -0
  218. package/slider/Slider.test.js +150 -0
  219. package/slider/types.d.ts +82 -0
  220. package/slider/types.js +5 -0
  221. package/spinner/Spinner.d.ts +4 -0
  222. package/spinner/Spinner.js +45 -176
  223. package/spinner/Spinner.stories.jsx +103 -0
  224. package/spinner/Spinner.test.js +64 -0
  225. package/spinner/types.d.ts +32 -0
  226. package/spinner/types.js +5 -0
  227. package/stack/Stack.d.ts +3 -0
  228. package/stack/Stack.js +97 -0
  229. package/stack/Stack.stories.tsx +164 -0
  230. package/stack/types.d.ts +24 -0
  231. package/stack/types.js +5 -0
  232. package/switch/Switch.d.ts +4 -0
  233. package/switch/Switch.js +53 -83
  234. package/switch/Switch.stories.tsx +160 -0
  235. package/switch/Switch.test.js +98 -0
  236. package/switch/types.d.ts +62 -0
  237. package/switch/types.js +5 -0
  238. package/table/Table.d.ts +4 -0
  239. package/table/Table.js +12 -26
  240. package/table/Table.stories.jsx +277 -0
  241. package/table/Table.test.js +26 -0
  242. package/table/types.d.ts +21 -0
  243. package/table/types.js +5 -0
  244. package/tabs/Tabs.d.ts +4 -0
  245. package/tabs/Tabs.js +43 -175
  246. package/tabs/Tabs.stories.tsx +118 -0
  247. package/tabs/Tabs.test.js +140 -0
  248. package/tabs/types.d.ts +82 -0
  249. package/tabs/types.js +5 -0
  250. package/tag/Tag.d.ts +4 -0
  251. package/tag/Tag.js +44 -143
  252. package/tag/Tag.stories.tsx +142 -0
  253. package/tag/Tag.test.js +60 -0
  254. package/tag/types.d.ts +69 -0
  255. package/tag/types.js +5 -0
  256. package/text/Text.d.ts +7 -0
  257. package/text/Text.js +30 -0
  258. package/text/Text.stories.tsx +19 -0
  259. package/text-input/TextInput.d.ts +4 -0
  260. package/text-input/TextInput.js +156 -352
  261. package/text-input/TextInput.stories.tsx +474 -0
  262. package/text-input/TextInput.test.js +1712 -0
  263. package/text-input/types.d.ts +166 -0
  264. package/text-input/types.js +5 -0
  265. package/textarea/Textarea.d.ts +4 -0
  266. package/textarea/Textarea.js +48 -131
  267. package/textarea/Textarea.stories.jsx +157 -0
  268. package/textarea/Textarea.test.js +437 -0
  269. package/textarea/types.d.ts +137 -0
  270. package/textarea/types.js +5 -0
  271. package/toggle-group/ToggleGroup.d.ts +4 -0
  272. package/toggle-group/ToggleGroup.js +36 -148
  273. package/toggle-group/ToggleGroup.stories.tsx +173 -0
  274. package/toggle-group/ToggleGroup.test.js +156 -0
  275. package/toggle-group/types.d.ts +105 -0
  276. package/toggle-group/types.js +5 -0
  277. package/useTheme.d.ts +2 -0
  278. package/useTheme.js +2 -2
  279. package/wizard/Wizard.d.ts +4 -0
  280. package/wizard/Wizard.js +106 -221
  281. package/wizard/Wizard.stories.tsx +214 -0
  282. package/wizard/Wizard.test.js +141 -0
  283. package/wizard/types.d.ts +64 -0
  284. package/wizard/types.js +5 -0
  285. package/ThemeContext.js +0 -250
  286. package/V3Select/V3Select.js +0 -549
  287. package/V3Select/index.d.ts +0 -27
  288. package/V3Textarea/V3Textarea.js +0 -264
  289. package/V3Textarea/index.d.ts +0 -27
  290. package/accordion/index.d.ts +0 -28
  291. package/accordion-group/index.d.ts +0 -16
  292. package/alert/index.d.ts +0 -51
  293. package/box/index.d.ts +0 -25
  294. package/button/Button.stories.js +0 -27
  295. package/button/index.d.ts +0 -24
  296. package/card/index.d.ts +0 -22
  297. package/checkbox/index.d.ts +0 -24
  298. package/chip/index.d.ts +0 -22
  299. package/date/Date.js +0 -379
  300. package/date/index.d.ts +0 -27
  301. package/date-input/index.d.ts +0 -95
  302. package/dialog/index.d.ts +0 -18
  303. package/dropdown/index.d.ts +0 -26
  304. package/file-input/index.d.ts +0 -81
  305. package/footer/index.d.ts +0 -25
  306. package/header/index.d.ts +0 -25
  307. package/heading/index.d.ts +0 -17
  308. package/input-text/Icons.js +0 -22
  309. package/input-text/InputText.js +0 -705
  310. package/input-text/index.d.ts +0 -36
  311. package/link/index.d.ts +0 -23
  312. package/number-input/index.d.ts +0 -113
  313. package/paginator/index.d.ts +0 -20
  314. package/password-input/index.d.ts +0 -94
  315. package/progress-bar/index.d.ts +0 -18
  316. package/radio/index.d.ts +0 -23
  317. package/resultsetTable/index.d.ts +0 -19
  318. package/select/index.d.ts +0 -131
  319. package/sidenav/index.d.ts +0 -13
  320. package/slider/index.d.ts +0 -29
  321. package/spinner/index.d.ts +0 -17
  322. package/switch/index.d.ts +0 -24
  323. package/table/index.d.ts +0 -13
  324. package/tabs/index.d.ts +0 -19
  325. package/tag/index.d.ts +0 -24
  326. package/text-input/index.d.ts +0 -135
  327. package/textarea/index.d.ts +0 -117
  328. package/toggle/Toggle.js +0 -220
  329. package/toggle/index.d.ts +0 -21
  330. package/toggle-group/index.d.ts +0 -21
  331. package/upload/Upload.js +0 -205
  332. package/upload/buttons-upload/ButtonsUpload.js +0 -135
  333. package/upload/buttons-upload/Icons.js +0 -40
  334. package/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  335. package/upload/dragAndDropArea/Icons.js +0 -39
  336. package/upload/file-upload/FileToUpload.js +0 -189
  337. package/upload/file-upload/Icons.js +0 -66
  338. package/upload/files-upload/FilesToUpload.js +0 -123
  339. package/upload/index.d.ts +0 -15
  340. package/upload/transaction/Icons.js +0 -160
  341. package/upload/transaction/Transaction.js +0 -148
  342. package/upload/transactions/Transactions.js +0 -138
  343. package/wizard/Icons.js +0 -65
  344. package/wizard/index.d.ts +0 -18
@@ -0,0 +1,342 @@
1
+ import React from "react";
2
+ import styled from "styled-components";
3
+ import Title from "../../.storybook/components/Title";
4
+ import DxcBleed from "./Bleed";
5
+ import DxcStack from "../stack/Stack";
6
+
7
+ export default {
8
+ title: "Bleed",
9
+ component: DxcBleed,
10
+ };
11
+
12
+ export const Chromatic = () => (
13
+ <>
14
+ <Title title="Space = none" theme="light" level={4} />
15
+ <Container>
16
+ <DxcStack gutter="medium">
17
+ <Placeholder></Placeholder>
18
+ <DxcBleed space="none">
19
+ <Placeholder></Placeholder>
20
+ </DxcBleed>
21
+ <Placeholder></Placeholder>
22
+ </DxcStack>
23
+ </Container>
24
+ <Title title="Space = xxxsmall" theme="light" level={4} />
25
+ <Container>
26
+ <DxcStack gutter="medium">
27
+ <Placeholder></Placeholder>
28
+ <DxcBleed space="xxxsmall">
29
+ <Placeholder></Placeholder>
30
+ </DxcBleed>
31
+ <Placeholder></Placeholder>
32
+ </DxcStack>
33
+ </Container>
34
+ <Title title="Space = xxsmall" theme="light" level={4} />
35
+ <Container>
36
+ <DxcStack gutter="medium">
37
+ <Placeholder></Placeholder>
38
+ <DxcBleed space="xxsmall">
39
+ <Placeholder></Placeholder>
40
+ </DxcBleed>
41
+ <Placeholder></Placeholder>
42
+ </DxcStack>
43
+ </Container>
44
+ <Title title="Space = xsmall" theme="light" level={4} />
45
+ <Container>
46
+ <DxcStack gutter="medium">
47
+ <Placeholder></Placeholder>
48
+ <DxcBleed space="xsmall">
49
+ <Placeholder></Placeholder>
50
+ </DxcBleed>
51
+ <Placeholder></Placeholder>
52
+ </DxcStack>
53
+ </Container>
54
+ <Title title="Space = small" theme="light" level={4} />
55
+ <Container>
56
+ <DxcStack gutter="medium">
57
+ <Placeholder></Placeholder>
58
+ <DxcBleed space="small">
59
+ <Placeholder></Placeholder>
60
+ </DxcBleed>
61
+ <Placeholder></Placeholder>
62
+ </DxcStack>
63
+ </Container>
64
+ <Title title="Space = medium" theme="light" level={4} />
65
+ <Container>
66
+ <DxcStack gutter="medium">
67
+ <Placeholder></Placeholder>
68
+ <DxcBleed space="medium">
69
+ <Placeholder></Placeholder>
70
+ </DxcBleed>
71
+ <Placeholder></Placeholder>
72
+ </DxcStack>
73
+ </Container>
74
+ <Title title="Space = large" theme="light" level={4} />
75
+ <Container>
76
+ <DxcStack gutter="medium">
77
+ <Placeholder></Placeholder>
78
+ <DxcBleed space="large">
79
+ <Placeholder></Placeholder>
80
+ </DxcBleed>
81
+ <Placeholder></Placeholder>
82
+ </DxcStack>
83
+ </Container>
84
+ <Title title="Space = xlarge" theme="light" level={4} />
85
+ <Container>
86
+ <DxcStack gutter="medium">
87
+ <Placeholder></Placeholder>
88
+ <DxcBleed space="xlarge">
89
+ <Placeholder></Placeholder>
90
+ </DxcBleed>
91
+ <Placeholder></Placeholder>
92
+ </DxcStack>
93
+ </Container>
94
+ <Title title="Space = xxlarge" theme="light" level={4} />
95
+ <Container>
96
+ <DxcStack gutter="medium">
97
+ <Placeholder></Placeholder>
98
+ <DxcBleed space="xxlarge">
99
+ <Placeholder></Placeholder>
100
+ </DxcBleed>
101
+ <Placeholder></Placeholder>
102
+ </DxcStack>
103
+ </Container>
104
+ <Title title="Space = xxxlarge" theme="light" level={4} />
105
+ <Container>
106
+ <DxcStack gutter="medium">
107
+ <Placeholder></Placeholder>
108
+ <DxcBleed space="xxxlarge">
109
+ <Placeholder></Placeholder>
110
+ </DxcBleed>
111
+ <Placeholder></Placeholder>
112
+ </DxcStack>
113
+ </Container>
114
+
115
+ <Title title="Horizontal = none" theme="light" level={4} />
116
+ <Container>
117
+ <DxcStack gutter="medium">
118
+ <Placeholder></Placeholder>
119
+ <DxcBleed horizontal="none">
120
+ <Placeholder></Placeholder>
121
+ </DxcBleed>
122
+ <Placeholder></Placeholder>
123
+ </DxcStack>
124
+ </Container>
125
+ <Title title="Horizontal = xxxsmall" theme="light" level={4} />
126
+ <Container>
127
+ <DxcStack gutter="medium">
128
+ <Placeholder></Placeholder>
129
+ <DxcBleed horizontal="xxxsmall">
130
+ <Placeholder></Placeholder>
131
+ </DxcBleed>
132
+ <Placeholder></Placeholder>
133
+ </DxcStack>
134
+ </Container>
135
+ <Title title="Horizontal = xxsmall" theme="light" level={4} />
136
+ <Container>
137
+ <DxcStack gutter="medium">
138
+ <Placeholder></Placeholder>
139
+ <DxcBleed horizontal="xxsmall">
140
+ <Placeholder></Placeholder>
141
+ </DxcBleed>
142
+ <Placeholder></Placeholder>
143
+ </DxcStack>
144
+ </Container>
145
+ <Title title="Horizontal = xsmall" theme="light" level={4} />
146
+ <Container>
147
+ <DxcStack gutter="medium">
148
+ <Placeholder></Placeholder>
149
+ <DxcBleed horizontal="xsmall">
150
+ <Placeholder></Placeholder>
151
+ </DxcBleed>
152
+ <Placeholder></Placeholder>
153
+ </DxcStack>
154
+ </Container>
155
+ <Title title="Horizontal = small" theme="light" level={4} />
156
+ <Container>
157
+ <DxcStack gutter="medium">
158
+ <Placeholder></Placeholder>
159
+ <DxcBleed horizontal="small">
160
+ <Placeholder></Placeholder>
161
+ </DxcBleed>
162
+ <Placeholder></Placeholder>
163
+ </DxcStack>
164
+ </Container>
165
+ <Title title="Horizontal = medium" theme="light" level={4} />
166
+ <Container>
167
+ <DxcStack gutter="medium">
168
+ <Placeholder></Placeholder>
169
+ <DxcBleed horizontal="medium">
170
+ <Placeholder></Placeholder>
171
+ </DxcBleed>
172
+ <Placeholder></Placeholder>
173
+ </DxcStack>
174
+ </Container>
175
+ <Title title="Horizontal = large" theme="light" level={4} />
176
+ <Container>
177
+ <DxcStack gutter="medium">
178
+ <Placeholder></Placeholder>
179
+ <DxcBleed horizontal="large">
180
+ <Placeholder></Placeholder>
181
+ </DxcBleed>
182
+ <Placeholder></Placeholder>
183
+ </DxcStack>
184
+ </Container>
185
+ <Title title="Horizontal = xlarge" theme="light" level={4} />
186
+ <Container>
187
+ <DxcStack gutter="medium">
188
+ <Placeholder></Placeholder>
189
+ <DxcBleed horizontal="xlarge">
190
+ <Placeholder></Placeholder>
191
+ </DxcBleed>
192
+ <Placeholder></Placeholder>
193
+ </DxcStack>
194
+ </Container>
195
+ <Title title="Horizontal = xxlarge" theme="light" level={4} />
196
+ <Container>
197
+ <DxcStack gutter="medium">
198
+ <Placeholder></Placeholder>
199
+ <DxcBleed horizontal="xxlarge">
200
+ <Placeholder></Placeholder>
201
+ </DxcBleed>
202
+ <Placeholder></Placeholder>
203
+ </DxcStack>
204
+ </Container>
205
+ <Title title="Horizontal = xxxlarge" theme="light" level={4} />
206
+ <Container>
207
+ <DxcStack gutter="medium">
208
+ <Placeholder></Placeholder>
209
+ <DxcBleed horizontal="xxxlarge">
210
+ <Placeholder></Placeholder>
211
+ </DxcBleed>
212
+ <Placeholder></Placeholder>
213
+ </DxcStack>
214
+ </Container>
215
+
216
+ <Title title="Vertical = none" theme="light" level={4} />
217
+ <Container>
218
+ <DxcStack gutter="medium">
219
+ <Placeholder></Placeholder>
220
+ <DxcBleed vertical="none">
221
+ <Placeholder></Placeholder>
222
+ </DxcBleed>
223
+ <Placeholder></Placeholder>
224
+ </DxcStack>
225
+ </Container>
226
+ <Title title="Vertical = xxxsmall" theme="light" level={4} />
227
+ <Container>
228
+ <DxcStack gutter="medium">
229
+ <Placeholder></Placeholder>
230
+ <DxcBleed vertical="xxxsmall">
231
+ <Placeholder></Placeholder>
232
+ </DxcBleed>
233
+ <Placeholder></Placeholder>
234
+ </DxcStack>
235
+ </Container>
236
+ <Title title="Vertical = xxsmall" theme="light" level={4} />
237
+ <Container>
238
+ <DxcStack gutter="medium">
239
+ <Placeholder></Placeholder>
240
+ <DxcBleed vertical="xxsmall">
241
+ <Placeholder></Placeholder>
242
+ </DxcBleed>
243
+ <Placeholder></Placeholder>
244
+ </DxcStack>
245
+ </Container>
246
+ <Title title="Vertical = xsmall" theme="light" level={4} />
247
+ <Container>
248
+ <DxcStack gutter="medium">
249
+ <Placeholder></Placeholder>
250
+ <DxcBleed vertical="xsmall">
251
+ <Placeholder></Placeholder>
252
+ </DxcBleed>
253
+ <Placeholder></Placeholder>
254
+ </DxcStack>
255
+ </Container>
256
+ <Title title="Vertical = small" theme="light" level={4} />
257
+ <Container>
258
+ <DxcStack gutter="medium">
259
+ <Placeholder></Placeholder>
260
+ <DxcBleed vertical="small">
261
+ <Placeholder></Placeholder>
262
+ </DxcBleed>
263
+ <Placeholder></Placeholder>
264
+ </DxcStack>
265
+ </Container>
266
+ <Title title="Vertical = medium" theme="light" level={4} />
267
+ <Container>
268
+ <DxcStack gutter="medium">
269
+ <Placeholder></Placeholder>
270
+ <DxcBleed vertical="medium">
271
+ <Placeholder></Placeholder>
272
+ </DxcBleed>
273
+ <Placeholder></Placeholder>
274
+ </DxcStack>
275
+ </Container>
276
+ <Title title="Vertical = large" theme="light" level={4} />
277
+ <Container>
278
+ <DxcStack gutter="medium">
279
+ <Placeholder></Placeholder>
280
+ <DxcBleed vertical="large">
281
+ <Placeholder></Placeholder>
282
+ </DxcBleed>
283
+ <Placeholder></Placeholder>
284
+ </DxcStack>
285
+ </Container>
286
+ <Title title="Vertical = xlarge" theme="light" level={4} />
287
+ <Container>
288
+ <DxcStack gutter="medium">
289
+ <Placeholder></Placeholder>
290
+ <DxcBleed vertical="xlarge">
291
+ <Placeholder></Placeholder>
292
+ </DxcBleed>
293
+ <Placeholder></Placeholder>
294
+ </DxcStack>
295
+ </Container>
296
+ <Title title="Vertical = xxlarge" theme="light" level={4} />
297
+ <Container>
298
+ <DxcStack gutter="medium">
299
+ <Placeholder></Placeholder>
300
+ <DxcBleed vertical="xxlarge">
301
+ <Placeholder></Placeholder>
302
+ </DxcBleed>
303
+ <Placeholder></Placeholder>
304
+ </DxcStack>
305
+ </Container>
306
+ <Title title="Vertical = xxxlarge" theme="light" level={4} />
307
+ <Container>
308
+ <DxcStack gutter="medium">
309
+ <Placeholder></Placeholder>
310
+ <DxcBleed vertical="xxxlarge">
311
+ <Placeholder></Placeholder>
312
+ </DxcBleed>
313
+ <Placeholder></Placeholder>
314
+ </DxcStack>
315
+ </Container>
316
+
317
+ <Title title="Top = xsmall, right = small, bottom = medium and left = large" theme="light" level={4} />
318
+ <Container>
319
+ <DxcStack gutter="medium">
320
+ <Placeholder></Placeholder>
321
+ <DxcBleed top="xsmall" right="small" bottom="medium" left="large">
322
+ <Placeholder></Placeholder>
323
+ </DxcBleed>
324
+ <Placeholder></Placeholder>
325
+ </DxcStack>
326
+ </Container>
327
+ </>
328
+ );
329
+
330
+ const Container = styled.div`
331
+ background: #f2eafa;
332
+ padding: 5rem;
333
+ margin: 2.5rem;
334
+ `;
335
+
336
+ const Placeholder = styled.div`
337
+ min-height: 40px;
338
+ min-width: 120px;
339
+ border: 1px solid #a46ede;
340
+ background-color: #e5d5f6;
341
+ `;
342
+
@@ -0,0 +1,37 @@
1
+ /// <reference types="react" />
2
+ declare type Spacing = "none" | "xxxsmall" | "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge" | "xxxlarge";
3
+ declare type Props = {
4
+ /**
5
+ * Applies the spacing scale to all sides.
6
+ */
7
+ space?: Spacing;
8
+ /**
9
+ * Applies the spacing scale to the left and right sides.
10
+ */
11
+ horizontal?: Spacing;
12
+ /**
13
+ * Applies the spacing scale to the top and bottom sides.
14
+ */
15
+ vertical?: Spacing;
16
+ /**
17
+ * Applies the spacing scale to the top side.
18
+ */
19
+ top?: Spacing;
20
+ /**
21
+ * Applies the spacing scale to the right side.
22
+ */
23
+ right?: Spacing;
24
+ /**
25
+ * Applies the spacing scale to the bottom side.
26
+ */
27
+ bottom?: Spacing;
28
+ /**
29
+ * Applies the spacing scale to the left side.
30
+ */
31
+ left?: Spacing;
32
+ /**
33
+ * Custom content inside the bleed.
34
+ */
35
+ children: React.ReactNode;
36
+ };
37
+ export default Props;
package/bleed/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
package/box/Box.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ import BoxPropsType from "./types";
3
+ declare const DxcBox: ({ shadowDepth, display, children, margin, padding, size, }: BoxPropsType) => JSX.Element;
4
+ export default DxcBox;
package/box/Box.js CHANGED
@@ -1,16 +1,14 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof3 = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
10
  exports["default"] = void 0;
11
11
 
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
12
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
15
13
 
16
14
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
@@ -19,45 +17,40 @@ var _react = _interopRequireDefault(require("react"));
19
17
 
20
18
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
21
19
 
22
- var _propTypes = _interopRequireDefault(require("prop-types"));
23
-
24
20
  var _variables = require("../common/variables.js");
25
21
 
26
22
  var _utils = require("../common/utils.js");
27
23
 
28
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
24
+ var _useTheme = _interopRequireDefault(require("../useTheme"));
29
25
 
30
- var _BackgroundColorContext = require("../BackgroundColorContext.js");
26
+ var _BackgroundColorContext = require("../BackgroundColorContext");
31
27
 
32
- function _templateObject() {
33
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n letter-spacing: ", ";\n overflow: hidden;\n width: ", ";\n background-color: ", ";\n box-shadow: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"]);
28
+ var _templateObject;
34
29
 
35
- _templateObject = function _templateObject() {
36
- return data;
37
- };
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
38
31
 
39
- return data;
40
- }
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof3(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
41
33
 
42
34
  var DxcBox = function DxcBox(_ref) {
43
- var shadowDepth = _ref.shadowDepth,
44
- margin = _ref.margin,
45
- padding = _ref.padding,
35
+ var _ref$shadowDepth = _ref.shadowDepth,
36
+ shadowDepth = _ref$shadowDepth === void 0 ? 2 : _ref$shadowDepth,
46
37
  _ref$display = _ref.display,
47
38
  display = _ref$display === void 0 ? "inline-flex" : _ref$display,
48
39
  children = _ref.children,
40
+ margin = _ref.margin,
41
+ padding = _ref.padding,
49
42
  _ref$size = _ref.size,
50
43
  size = _ref$size === void 0 ? "fitContent" : _ref$size;
51
44
  var colorsTheme = (0, _useTheme["default"])();
52
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
45
+ return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
53
46
  theme: colorsTheme.box
54
- }, _react["default"].createElement(StyledDxcBox, {
47
+ }, /*#__PURE__*/_react["default"].createElement(StyledDxcBox, {
55
48
  shadowDepth: shadowDepth,
56
49
  display: display,
57
50
  margin: margin,
58
51
  padding: padding,
59
52
  size: size
60
- }, _react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
53
+ }, /*#__PURE__*/_react["default"].createElement(_BackgroundColorContext.BackgroundColorProvider, {
61
54
  color: colorsTheme.box.backgroundColor
62
55
  }, children)));
63
56
  };
@@ -78,7 +71,7 @@ var calculateWidth = function calculateWidth(margin, size, padding) {
78
71
  return sizes[size];
79
72
  };
80
73
 
81
- var StyledDxcBox = _styledComponents["default"].div(_templateObject(), function (_ref2) {
74
+ var StyledDxcBox = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: ", ";\n border-radius: ", ";\n border-width: ", ";\n border-style: ", ";\n border-color: ", ";\n letter-spacing: ", ";\n overflow: hidden;\n width: ", ";\n background-color: ", ";\n box-shadow: ", ";\n\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n padding: ", ";\n padding-top: ", ";\n padding-right: ", ";\n padding-bottom: ", ";\n padding-left: ", ";\n"])), function (_ref2) {
82
75
  var display = _ref2.display;
83
76
  return display;
84
77
  }, function (props) {
@@ -129,28 +122,5 @@ var StyledDxcBox = _styledComponents["default"].div(_templateObject(), function
129
122
  return padding && padding.left ? _variables.spaces[padding.left] : "";
130
123
  });
131
124
 
132
- DxcBox.propTypes = {
133
- size: _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(sizes))),
134
- display: _propTypes["default"].string,
135
- shadowDepth: _propTypes["default"].oneOf([0, 1, 2]),
136
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
137
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
138
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
139
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
140
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
141
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
142
- padding: _propTypes["default"].oneOfType([_propTypes["default"].shape({
143
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
144
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
145
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
146
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
147
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))])
148
- };
149
- DxcBox.defaultProps = {
150
- shadowDepth: 2,
151
- display: "inline-flex",
152
- margin: null,
153
- padding: null
154
- };
155
125
  var _default = DxcBox;
156
126
  exports["default"] = _default;
@@ -0,0 +1,132 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
+ import DxcBox from "./Box";
5
+
6
+ export default {
7
+ title: "Box ",
8
+ component: DxcBox,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <Title title="Display flex" theme="light" level={2} />
14
+ <ExampleContainer>
15
+ <DxcBox display="flex" padding="medium">
16
+ Box
17
+ </DxcBox>
18
+ </ExampleContainer>
19
+ <Title title="ShadowDepth" theme="light" level={2} />
20
+ <ExampleContainer>
21
+ <Title title="ShadowDepth 0" theme="light" level={4} />
22
+ <DxcBox shadowDepth={0} margin="medium" padding="medium">
23
+ Box
24
+ </DxcBox>
25
+ </ExampleContainer>
26
+ <ExampleContainer>
27
+ <Title title="ShadowDepth 1" theme="light" level={4} />
28
+ <DxcBox shadowDepth={1} margin="medium" padding="medium">
29
+ Box
30
+ </DxcBox>
31
+ </ExampleContainer>
32
+ <ExampleContainer>
33
+ <Title title="ShadowDepth 2" theme="light" level={4} />
34
+ <DxcBox shadowDepth={2} margin="medium" padding="medium">
35
+ Box
36
+ </DxcBox>
37
+ </ExampleContainer>
38
+ <Title title="Paddings" theme="light" level={2} />
39
+ <ExampleContainer>
40
+ <Title title="Xxsmall padding" theme="light" level={4} />
41
+ <DxcBox padding="xxsmall">Box</DxcBox>
42
+ </ExampleContainer>
43
+ <ExampleContainer>
44
+ <Title title="Xsmall padding" theme="light" level={4} />
45
+ <DxcBox padding="xsmall">Box</DxcBox>
46
+ </ExampleContainer>
47
+ <ExampleContainer>
48
+ <Title title="Small padding" theme="light" level={4} />
49
+ <DxcBox padding="small">Box</DxcBox>
50
+ </ExampleContainer>
51
+ <ExampleContainer>
52
+ <Title title="Medium padding" theme="light" level={4} />
53
+ <DxcBox padding="medium">Box</DxcBox>
54
+ </ExampleContainer>
55
+ <ExampleContainer>
56
+ <Title title="Large padding" theme="light" level={4} />
57
+ <DxcBox padding="large">Box</DxcBox>
58
+ </ExampleContainer>
59
+ <ExampleContainer>
60
+ <Title title="Xlarge padding" theme="light" level={4} />
61
+ <DxcBox padding="xlarge">Box</DxcBox>
62
+ </ExampleContainer>
63
+ <ExampleContainer>
64
+ <Title title="Xxlarge padding" theme="light" level={4} />
65
+ <DxcBox padding="xxlarge">Box</DxcBox>
66
+ </ExampleContainer>
67
+ <Title title="Margins" theme="light" level={2} />
68
+ <ExampleContainer>
69
+ <Title title="Xxsmall margin" theme="light" level={4} />
70
+ <DxcBox margin="xxsmall" padding="medium">
71
+ Box
72
+ </DxcBox>
73
+ </ExampleContainer>
74
+ <ExampleContainer>
75
+ <Title title="Xsmall margin" theme="light" level={4} />
76
+ <DxcBox margin="xsmall" padding="medium">
77
+ Box
78
+ </DxcBox>
79
+ </ExampleContainer>
80
+ <ExampleContainer>
81
+ <Title title="Small margin" theme="light" level={4} />
82
+ <DxcBox margin="small" padding="medium">
83
+ Box
84
+ </DxcBox>
85
+ </ExampleContainer>
86
+ <ExampleContainer>
87
+ <Title title="Medium margin" theme="light" level={4} />
88
+ <DxcBox margin="medium" padding="medium">
89
+ Box
90
+ </DxcBox>
91
+ </ExampleContainer>
92
+ <ExampleContainer>
93
+ <Title title="Large margin" theme="light" level={4} />
94
+ <DxcBox margin="large" padding="medium">
95
+ Box
96
+ </DxcBox>
97
+ </ExampleContainer>
98
+ <ExampleContainer>
99
+ <Title title="Xlarge margin" theme="light" level={4} />
100
+ <DxcBox margin="xlarge" padding="medium">
101
+ Box
102
+ </DxcBox>
103
+ </ExampleContainer>
104
+ <ExampleContainer>
105
+ <Title title="Xxlarge margin" theme="light" level={4} />
106
+ <DxcBox margin="xxlarge" padding="medium">
107
+ Box
108
+ </DxcBox>
109
+ </ExampleContainer>
110
+ <Title title="Sizes" theme="light" level={2} />
111
+ <ExampleContainer>
112
+ <Title title="Small size" theme="light" level={4} />
113
+ <DxcBox size="small">Box</DxcBox>
114
+ </ExampleContainer>
115
+ <ExampleContainer>
116
+ <Title title="Medium size" theme="light" level={4} />
117
+ <DxcBox size="medium">Box</DxcBox>
118
+ </ExampleContainer>
119
+ <ExampleContainer>
120
+ <Title title="Large size" theme="light" level={4} />
121
+ <DxcBox size="large">Box</DxcBox>
122
+ </ExampleContainer>
123
+ <ExampleContainer>
124
+ <Title title="FillParent size" theme="light" level={4} />
125
+ <DxcBox size="fillParent">Box</DxcBox>
126
+ </ExampleContainer>
127
+ <ExampleContainer>
128
+ <Title title="FitContent" theme="light" level={4} />
129
+ <DxcBox size="fitContent">Box</DxcBox>
130
+ </ExampleContainer>
131
+ </>
132
+ );
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Card = _interopRequireDefault(require("../card/Card"));
10
+
11
+ describe("Box component tests", function () {
12
+ test("Box renders with correct text", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-box")),
14
+ getByText = _render.getByText;
15
+
16
+ expect(getByText("test-box")).toBeTruthy();
17
+ });
18
+ });