@dxc-technology/halstack-react 0.0.0-50c4df3 → 0.0.0-51152f3

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 (278) hide show
  1. package/BackgroundColorContext.d.ts +1 -10
  2. package/BackgroundColorContext.js +5 -22
  3. package/HalstackContext.d.ts +1231 -6
  4. package/HalstackContext.js +67 -100
  5. package/README.md +47 -0
  6. package/accordion/Accordion.d.ts +1 -1
  7. package/accordion/Accordion.js +30 -87
  8. package/accordion/Accordion.stories.tsx +2 -114
  9. package/accordion/Accordion.test.js +19 -34
  10. package/accordion/types.d.ts +5 -17
  11. package/accordion-group/AccordionGroup.d.ts +4 -3
  12. package/accordion-group/AccordionGroup.js +29 -77
  13. package/accordion-group/AccordionGroup.stories.tsx +78 -77
  14. package/accordion-group/AccordionGroup.test.js +44 -72
  15. package/accordion-group/AccordionGroupAccordion.d.ts +4 -0
  16. package/accordion-group/AccordionGroupAccordion.js +31 -0
  17. package/accordion-group/types.d.ts +6 -18
  18. package/action-icon/ActionIcon.d.ts +4 -0
  19. package/action-icon/ActionIcon.js +47 -0
  20. package/action-icon/ActionIcon.stories.tsx +41 -0
  21. package/action-icon/ActionIcon.test.js +64 -0
  22. package/action-icon/types.d.ts +26 -0
  23. package/alert/Alert.js +19 -58
  24. package/alert/Alert.test.js +29 -46
  25. package/alert/types.d.ts +5 -5
  26. package/badge/Badge.d.ts +1 -1
  27. package/badge/Badge.js +141 -43
  28. package/badge/Badge.stories.tsx +210 -0
  29. package/badge/Badge.test.js +30 -0
  30. package/badge/types.d.ts +52 -3
  31. package/bleed/Bleed.js +13 -21
  32. package/bleed/Bleed.stories.tsx +1 -0
  33. package/bleed/types.d.ts +2 -2
  34. package/box/Box.d.ts +1 -1
  35. package/box/Box.js +18 -59
  36. package/box/Box.stories.tsx +25 -53
  37. package/box/Box.test.js +2 -7
  38. package/box/types.d.ts +3 -15
  39. package/bulleted-list/BulletedList.js +19 -53
  40. package/bulleted-list/BulletedList.stories.tsx +8 -93
  41. package/bulleted-list/types.d.ts +32 -5
  42. package/button/Button.d.ts +1 -1
  43. package/button/Button.js +68 -102
  44. package/button/Button.stories.tsx +9 -90
  45. package/button/Button.test.js +20 -17
  46. package/button/types.d.ts +8 -4
  47. package/card/Card.d.ts +1 -1
  48. package/card/Card.js +48 -89
  49. package/card/Card.stories.tsx +12 -42
  50. package/card/Card.test.js +11 -22
  51. package/card/types.d.ts +6 -12
  52. package/checkbox/Checkbox.js +87 -122
  53. package/checkbox/Checkbox.stories.tsx +16 -54
  54. package/checkbox/Checkbox.test.js +108 -64
  55. package/checkbox/types.d.ts +8 -4
  56. package/chip/Chip.js +36 -70
  57. package/chip/Chip.stories.tsx +25 -17
  58. package/chip/Chip.test.js +16 -31
  59. package/chip/types.d.ts +4 -4
  60. package/common/OpenSans.css +68 -80
  61. package/common/coreTokens.d.ts +237 -0
  62. package/common/coreTokens.js +184 -0
  63. package/common/utils.d.ts +1 -0
  64. package/common/utils.js +6 -12
  65. package/common/variables.d.ts +1383 -0
  66. package/common/variables.js +880 -1163
  67. package/container/Container.d.ts +4 -0
  68. package/container/Container.js +194 -0
  69. package/container/Container.stories.tsx +214 -0
  70. package/container/types.d.ts +74 -0
  71. package/date-input/Calendar.js +15 -59
  72. package/date-input/DateInput.js +50 -96
  73. package/date-input/DateInput.stories.tsx +11 -30
  74. package/date-input/DateInput.test.js +674 -701
  75. package/date-input/DatePicker.js +11 -42
  76. package/date-input/Icons.d.ts +6 -6
  77. package/date-input/Icons.js +6 -23
  78. package/date-input/YearPicker.js +8 -34
  79. package/date-input/types.d.ts +27 -21
  80. package/dialog/Dialog.d.ts +1 -1
  81. package/dialog/Dialog.js +61 -117
  82. package/dialog/Dialog.stories.tsx +292 -216
  83. package/dialog/Dialog.test.js +269 -32
  84. package/dialog/types.d.ts +18 -26
  85. package/dropdown/Dropdown.js +50 -102
  86. package/dropdown/Dropdown.test.js +393 -379
  87. package/dropdown/DropdownMenu.js +13 -20
  88. package/dropdown/DropdownMenuItem.js +5 -19
  89. package/dropdown/types.d.ts +17 -19
  90. package/file-input/FileInput.js +181 -250
  91. package/file-input/FileInput.stories.tsx +1 -1
  92. package/file-input/FileInput.test.js +357 -355
  93. package/file-input/FileItem.js +14 -41
  94. package/file-input/types.d.ts +10 -10
  95. package/flex/Flex.js +27 -39
  96. package/flex/Flex.stories.tsx +35 -26
  97. package/flex/types.d.ts +74 -9
  98. package/footer/Footer.d.ts +1 -1
  99. package/footer/Footer.js +70 -117
  100. package/footer/Footer.stories.tsx +38 -95
  101. package/footer/Footer.test.js +33 -57
  102. package/footer/Icons.d.ts +3 -2
  103. package/footer/Icons.js +66 -7
  104. package/footer/types.d.ts +25 -27
  105. package/grid/Grid.d.ts +7 -0
  106. package/grid/Grid.js +76 -0
  107. package/grid/Grid.stories.tsx +219 -0
  108. package/grid/types.d.ts +115 -0
  109. package/grid/types.js +5 -0
  110. package/header/Header.d.ts +4 -3
  111. package/header/Header.js +34 -117
  112. package/header/Header.stories.tsx +7 -71
  113. package/header/Header.test.js +13 -26
  114. package/header/Icons.d.ts +2 -2
  115. package/header/Icons.js +2 -7
  116. package/header/types.d.ts +5 -20
  117. package/heading/Heading.js +10 -32
  118. package/heading/Heading.test.js +71 -88
  119. package/heading/types.d.ts +7 -7
  120. package/image/Image.d.ts +4 -0
  121. package/image/Image.js +70 -0
  122. package/image/Image.stories.tsx +127 -0
  123. package/image/types.d.ts +72 -0
  124. package/image/types.js +5 -0
  125. package/inset/Inset.js +13 -21
  126. package/inset/Inset.stories.tsx +2 -1
  127. package/inset/types.d.ts +2 -2
  128. package/layout/ApplicationLayout.d.ts +5 -5
  129. package/layout/ApplicationLayout.js +29 -66
  130. package/layout/ApplicationLayout.stories.tsx +1 -1
  131. package/layout/Icons.d.ts +8 -5
  132. package/layout/Icons.js +51 -59
  133. package/layout/SidenavContext.d.ts +1 -1
  134. package/layout/SidenavContext.js +3 -9
  135. package/layout/types.d.ts +5 -6
  136. package/link/Link.js +24 -45
  137. package/link/Link.test.js +24 -44
  138. package/link/types.d.ts +14 -14
  139. package/main.d.ts +7 -4
  140. package/main.js +32 -58
  141. package/nav-tabs/NavTabs.d.ts +2 -2
  142. package/nav-tabs/NavTabs.js +22 -54
  143. package/nav-tabs/NavTabs.stories.tsx +21 -5
  144. package/nav-tabs/NavTabs.test.js +39 -45
  145. package/nav-tabs/Tab.js +43 -75
  146. package/nav-tabs/types.d.ts +14 -15
  147. package/number-input/NumberInput.d.ts +7 -0
  148. package/number-input/NumberInput.js +47 -37
  149. package/number-input/NumberInput.stories.tsx +42 -26
  150. package/number-input/NumberInput.test.js +860 -413
  151. package/number-input/types.d.ts +11 -5
  152. package/package.json +31 -29
  153. package/paginator/Icons.d.ts +5 -5
  154. package/paginator/Icons.js +5 -19
  155. package/paginator/Paginator.js +17 -47
  156. package/paginator/Paginator.test.js +235 -215
  157. package/paginator/types.d.ts +3 -3
  158. package/paragraph/Paragraph.d.ts +3 -4
  159. package/paragraph/Paragraph.js +6 -22
  160. package/paragraph/Paragraph.stories.tsx +0 -17
  161. package/password-input/Icons.d.ts +6 -0
  162. package/password-input/Icons.js +35 -0
  163. package/password-input/PasswordInput.js +57 -126
  164. package/password-input/PasswordInput.stories.tsx +1 -33
  165. package/password-input/PasswordInput.test.js +158 -141
  166. package/password-input/types.d.ts +8 -7
  167. package/progress-bar/ProgressBar.d.ts +2 -2
  168. package/progress-bar/ProgressBar.js +22 -54
  169. package/progress-bar/{ProgressBar.stories.jsx → ProgressBar.stories.tsx} +1 -1
  170. package/progress-bar/ProgressBar.test.js +36 -53
  171. package/progress-bar/types.d.ts +4 -3
  172. package/quick-nav/QuickNav.js +4 -27
  173. package/quick-nav/QuickNav.stories.tsx +1 -1
  174. package/quick-nav/types.d.ts +10 -10
  175. package/radio-group/Radio.d.ts +1 -1
  176. package/radio-group/Radio.js +31 -63
  177. package/radio-group/RadioGroup.js +45 -93
  178. package/radio-group/RadioGroup.stories.tsx +10 -10
  179. package/radio-group/RadioGroup.test.js +505 -471
  180. package/radio-group/types.d.ts +8 -8
  181. package/resultset-table/Icons.d.ts +7 -0
  182. package/{resultsetTable → resultset-table}/Icons.js +1 -5
  183. package/resultset-table/ResultsetTable.d.ts +7 -0
  184. package/{resultsetTable → resultset-table}/ResultsetTable.js +38 -66
  185. package/{resultsetTable → resultset-table}/ResultsetTable.stories.tsx +86 -5
  186. package/{resultsetTable → resultset-table}/ResultsetTable.test.js +139 -93
  187. package/{resultsetTable → resultset-table}/types.d.ts +13 -7
  188. package/resultset-table/types.js +5 -0
  189. package/select/Icons.d.ts +7 -7
  190. package/select/Icons.js +1 -5
  191. package/select/Listbox.js +13 -39
  192. package/select/Option.js +17 -27
  193. package/select/Select.js +94 -168
  194. package/select/Select.stories.tsx +3 -3
  195. package/select/Select.test.js +1952 -1810
  196. package/select/types.d.ts +14 -15
  197. package/sidenav/Icons.d.ts +7 -0
  198. package/sidenav/Icons.js +47 -0
  199. package/sidenav/Sidenav.d.ts +2 -2
  200. package/sidenav/Sidenav.js +81 -151
  201. package/sidenav/Sidenav.stories.tsx +60 -60
  202. package/sidenav/Sidenav.test.js +3 -10
  203. package/sidenav/types.d.ts +31 -28
  204. package/slider/Slider.js +70 -128
  205. package/slider/Slider.test.js +108 -104
  206. package/slider/types.d.ts +4 -4
  207. package/spinner/Spinner.js +29 -73
  208. package/spinner/{Spinner.stories.jsx → Spinner.stories.tsx} +28 -28
  209. package/spinner/Spinner.test.js +26 -35
  210. package/spinner/types.d.ts +3 -3
  211. package/status-light/StatusLight.d.ts +4 -0
  212. package/status-light/StatusLight.js +51 -0
  213. package/status-light/StatusLight.stories.tsx +74 -0
  214. package/status-light/StatusLight.test.js +25 -0
  215. package/status-light/types.d.ts +17 -0
  216. package/status-light/types.js +5 -0
  217. package/switch/Switch.js +51 -99
  218. package/switch/Switch.stories.tsx +0 -34
  219. package/switch/Switch.test.js +52 -97
  220. package/switch/types.d.ts +4 -4
  221. package/table/ActionsCell.d.ts +4 -0
  222. package/table/ActionsCell.js +55 -0
  223. package/table/DropdownTheme.js +58 -0
  224. package/table/Table.d.ts +4 -1
  225. package/table/Table.js +27 -32
  226. package/table/{Table.stories.jsx → Table.stories.tsx} +261 -2
  227. package/table/Table.test.js +94 -7
  228. package/table/types.d.ts +45 -6
  229. package/tabs/Tab.js +23 -40
  230. package/tabs/Tabs.js +62 -145
  231. package/tabs/Tabs.stories.tsx +1 -1
  232. package/tabs/Tabs.test.js +66 -123
  233. package/tabs/types.d.ts +19 -19
  234. package/tag/Tag.js +28 -60
  235. package/tag/Tag.test.js +20 -31
  236. package/tag/types.d.ts +7 -7
  237. package/text-input/Icons.d.ts +5 -5
  238. package/text-input/Icons.js +1 -5
  239. package/text-input/Suggestion.js +11 -28
  240. package/text-input/Suggestions.d.ts +1 -1
  241. package/text-input/Suggestions.js +15 -65
  242. package/text-input/TextInput.js +220 -328
  243. package/text-input/TextInput.stories.tsx +48 -152
  244. package/text-input/TextInput.test.js +1228 -1196
  245. package/text-input/types.d.ts +25 -17
  246. package/textarea/Textarea.js +70 -113
  247. package/textarea/{Textarea.stories.jsx → Textarea.stories.tsx} +58 -100
  248. package/textarea/Textarea.test.js +152 -183
  249. package/textarea/types.d.ts +9 -5
  250. package/toggle-group/ToggleGroup.d.ts +2 -2
  251. package/toggle-group/ToggleGroup.js +92 -106
  252. package/toggle-group/ToggleGroup.stories.tsx +7 -4
  253. package/toggle-group/ToggleGroup.test.js +69 -88
  254. package/toggle-group/types.d.ts +26 -17
  255. package/typography/Typography.d.ts +2 -2
  256. package/typography/Typography.js +15 -123
  257. package/typography/Typography.stories.tsx +1 -1
  258. package/typography/types.d.ts +1 -1
  259. package/useTheme.d.ts +1135 -1
  260. package/useTheme.js +2 -9
  261. package/useTranslatedLabels.d.ts +84 -1
  262. package/useTranslatedLabels.js +1 -7
  263. package/utils/BaseTypography.d.ts +21 -0
  264. package/utils/BaseTypography.js +94 -0
  265. package/utils/FocusLock.d.ts +13 -0
  266. package/utils/FocusLock.js +124 -0
  267. package/wizard/Wizard.js +16 -51
  268. package/wizard/Wizard.test.js +54 -81
  269. package/wizard/types.d.ts +8 -9
  270. package/card/ice-cream.jpg +0 -0
  271. package/number-input/NumberInputContext.d.ts +0 -4
  272. package/number-input/NumberInputContext.js +0 -19
  273. package/number-input/numberInputContextTypes.d.ts +0 -19
  274. package/resultsetTable/Icons.d.ts +0 -7
  275. package/resultsetTable/ResultsetTable.d.ts +0 -4
  276. package/slider/Slider.stories.tsx +0 -240
  277. /package/{resultsetTable → action-icon}/types.js +0 -0
  278. /package/{number-input/numberInputContextTypes.js → container/types.js} +0 -0
@@ -2,6 +2,7 @@ import React from "react";
2
2
  import Title from "../../.storybook/components/Title";
3
3
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
4
4
  import DxcBox from "./Box";
5
+ import DxcInset from "../inset/Inset";
5
6
  import { HalstackProvider } from "../HalstackContext";
6
7
 
7
8
  export default {
@@ -19,99 +20,70 @@ export const Chromatic = () => (
19
20
  <>
20
21
  <Title title="Display flex" theme="light" level={2} />
21
22
  <ExampleContainer>
22
- <DxcBox display="flex" padding="medium">
23
- Box
23
+ <DxcBox display="flex">
24
+ <DxcInset space="2rem">Box</DxcInset>
24
25
  </DxcBox>
25
26
  </ExampleContainer>
26
27
  <Title title="ShadowDepth" theme="light" level={2} />
27
28
  <ExampleContainer>
28
29
  <Title title="ShadowDepth 0" theme="light" level={4} />
29
- <DxcBox shadowDepth={0} margin="medium" padding="medium">
30
- Box
30
+ <DxcBox shadowDepth={0} margin="medium">
31
+ <DxcInset space="2rem">Box</DxcInset>
31
32
  </DxcBox>
32
33
  </ExampleContainer>
33
34
  <ExampleContainer>
34
35
  <Title title="ShadowDepth 1" theme="light" level={4} />
35
- <DxcBox shadowDepth={1} margin="medium" padding="medium">
36
- Box
36
+ <DxcBox shadowDepth={1} margin="medium">
37
+ <DxcInset space="2rem">Box</DxcInset>
37
38
  </DxcBox>
38
39
  </ExampleContainer>
39
40
  <ExampleContainer>
40
41
  <Title title="ShadowDepth 2" theme="light" level={4} />
41
- <DxcBox shadowDepth={2} margin="medium" padding="medium">
42
- Box
42
+ <DxcBox shadowDepth={2} margin="medium">
43
+ <DxcInset space="2rem">Box</DxcInset>
43
44
  </DxcBox>
44
45
  </ExampleContainer>
45
- <Title title="Paddings" theme="light" level={2} />
46
- <ExampleContainer>
47
- <Title title="Xxsmall padding" theme="light" level={4} />
48
- <DxcBox padding="xxsmall">Box</DxcBox>
49
- </ExampleContainer>
50
- <ExampleContainer>
51
- <Title title="Xsmall padding" theme="light" level={4} />
52
- <DxcBox padding="xsmall">Box</DxcBox>
53
- </ExampleContainer>
54
- <ExampleContainer>
55
- <Title title="Small padding" theme="light" level={4} />
56
- <DxcBox padding="small">Box</DxcBox>
57
- </ExampleContainer>
58
- <ExampleContainer>
59
- <Title title="Medium padding" theme="light" level={4} />
60
- <DxcBox padding="medium">Box</DxcBox>
61
- </ExampleContainer>
62
- <ExampleContainer>
63
- <Title title="Large padding" theme="light" level={4} />
64
- <DxcBox padding="large">Box</DxcBox>
65
- </ExampleContainer>
66
- <ExampleContainer>
67
- <Title title="Xlarge padding" theme="light" level={4} />
68
- <DxcBox padding="xlarge">Box</DxcBox>
69
- </ExampleContainer>
70
- <ExampleContainer>
71
- <Title title="Xxlarge padding" theme="light" level={4} />
72
- <DxcBox padding="xxlarge">Box</DxcBox>
73
- </ExampleContainer>
74
46
  <Title title="Margins" theme="light" level={2} />
75
47
  <ExampleContainer>
76
48
  <Title title="Xxsmall margin" theme="light" level={4} />
77
- <DxcBox margin="xxsmall" padding="medium">
78
- Box
49
+ <DxcBox margin="xxsmall">
50
+ <DxcInset space="2rem">Box</DxcInset>
79
51
  </DxcBox>
80
52
  </ExampleContainer>
81
53
  <ExampleContainer>
82
54
  <Title title="Xsmall margin" theme="light" level={4} />
83
- <DxcBox margin="xsmall" padding="medium">
84
- Box
55
+ <DxcBox margin="xsmall">
56
+ <DxcInset space="2rem">Box</DxcInset>
85
57
  </DxcBox>
86
58
  </ExampleContainer>
87
59
  <ExampleContainer>
88
60
  <Title title="Small margin" theme="light" level={4} />
89
- <DxcBox margin="small" padding="medium">
90
- Box
61
+ <DxcBox margin="small">
62
+ <DxcInset space="2rem">Box</DxcInset>
91
63
  </DxcBox>
92
64
  </ExampleContainer>
93
65
  <ExampleContainer>
94
66
  <Title title="Medium margin" theme="light" level={4} />
95
- <DxcBox margin="medium" padding="medium">
96
- Box
67
+ <DxcBox margin="medium">
68
+ <DxcInset space="2rem">Box</DxcInset>
97
69
  </DxcBox>
98
70
  </ExampleContainer>
99
71
  <ExampleContainer>
100
72
  <Title title="Large margin" theme="light" level={4} />
101
- <DxcBox margin="large" padding="medium">
102
- Box
73
+ <DxcBox margin="large">
74
+ <DxcInset space="2rem">Box</DxcInset>
103
75
  </DxcBox>
104
76
  </ExampleContainer>
105
77
  <ExampleContainer>
106
78
  <Title title="Xlarge margin" theme="light" level={4} />
107
- <DxcBox margin="xlarge" padding="medium">
108
- Box
79
+ <DxcBox margin="xlarge">
80
+ <DxcInset space="2rem">Box</DxcInset>
109
81
  </DxcBox>
110
82
  </ExampleContainer>
111
83
  <ExampleContainer>
112
84
  <Title title="Xxlarge margin" theme="light" level={4} />
113
- <DxcBox margin="xxlarge" padding="medium">
114
- Box
85
+ <DxcBox margin="xxlarge">
86
+ <DxcInset space="2rem">Box</DxcInset>
115
87
  </DxcBox>
116
88
  </ExampleContainer>
117
89
  <Title title="Sizes" theme="light" level={2} />
@@ -138,8 +110,8 @@ export const Chromatic = () => (
138
110
  <Title title="Opinionated theme" theme="light" level={2} />
139
111
  <ExampleContainer>
140
112
  <HalstackProvider theme={opinionatedTheme}>
141
- <DxcBox display="flex" padding="medium">
142
- Box
113
+ <DxcBox display="flex">
114
+ <DxcInset space="2rem">Box</DxcInset>
143
115
  </DxcBox>
144
116
  </HalstackProvider>
145
117
  </ExampleContainer>
package/box/Box.test.js CHANGED
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _react = _interopRequireDefault(require("react"));
6
-
7
5
  var _react2 = require("@testing-library/react");
8
-
9
- var _Card = _interopRequireDefault(require("../card/Card"));
10
-
6
+ var _Card = _interopRequireDefault(require("../card/Card.tsx"));
11
7
  describe("Box component tests", function () {
12
8
  test("Box renders with correct text", function () {
13
9
  var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Card["default"], null, "test-box")),
14
- getByText = _render.getByText;
15
-
10
+ getByText = _render.getByText;
16
11
  expect(getByText("test-box")).toBeTruthy();
17
12
  });
18
13
  });
package/box/types.d.ts CHANGED
@@ -1,18 +1,12 @@
1
1
  /// <reference types="react" />
2
- declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
- declare type Margin = {
2
+ type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
3
+ type Margin = {
4
4
  top?: Space;
5
5
  bottom?: Space;
6
6
  left?: Space;
7
7
  right?: Space;
8
8
  };
9
- declare type Padding = {
10
- top?: Space;
11
- bottom?: Space;
12
- left?: Space;
13
- right?: Space;
14
- };
15
- declare type Props = {
9
+ type Props = {
16
10
  /**
17
11
  * The size of the shadow to be displayed around the box.
18
12
  */
@@ -30,12 +24,6 @@ declare type Props = {
30
24
  * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
31
25
  */
32
26
  margin?: Space | Margin;
33
- /**
34
- * @deprecated This prop will be removed shortly, consider using the Inset component for this purpose.
35
- * Size of the padding to be applied to the custom area ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
36
- * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different padding sizes.
37
- */
38
- padding?: Space | Padding;
39
27
  /**
40
28
  * Size of the component.
41
29
  */
@@ -1,47 +1,31 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports["default"] = void 0;
11
-
12
9
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
13
-
14
- var _react = _interopRequireWildcard(require("react"));
15
-
10
+ var _react = _interopRequireDefault(require("react"));
16
11
  var _styledComponents = _interopRequireWildcard(require("styled-components"));
17
-
18
12
  var _Flex = _interopRequireDefault(require("../flex/Flex"));
19
-
20
13
  var _Typography = _interopRequireDefault(require("../typography/Typography"));
21
-
22
14
  var _useTheme = _interopRequireDefault(require("../useTheme"));
23
-
24
- var _BackgroundColorContext = _interopRequireDefault(require("../BackgroundColorContext"));
25
-
26
15
  var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9;
27
-
28
- 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); }
29
-
30
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
-
16
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
32
18
  var BulletedListItem = function BulletedListItem(_ref) {
33
19
  var children = _ref.children;
34
20
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, children);
35
21
  };
36
-
37
22
  var DxcBulletedList = function DxcBulletedList(_ref2) {
38
23
  var children = _ref2.children,
39
- _ref2$type = _ref2.type,
40
- type = _ref2$type === void 0 ? "disc" : _ref2$type,
41
- _ref2$icon = _ref2.icon,
42
- icon = _ref2$icon === void 0 ? "" : _ref2$icon;
24
+ _ref2$type = _ref2.type,
25
+ type = _ref2$type === void 0 ? "disc" : _ref2$type,
26
+ _ref2$icon = _ref2.icon,
27
+ icon = _ref2$icon === void 0 ? "" : _ref2$icon;
43
28
  var colorsTheme = (0, _useTheme["default"])();
44
- var backgroundType = (0, _react.useContext)(_BackgroundColorContext["default"]);
45
29
  return /*#__PURE__*/_react["default"].createElement(_styledComponents.ThemeProvider, {
46
30
  theme: colorsTheme.bulletedList
47
31
  }, /*#__PURE__*/_react["default"].createElement(ListContainer, null, /*#__PURE__*/_react["default"].createElement(_Flex["default"], {
@@ -50,45 +34,32 @@ var DxcBulletedList = function DxcBulletedList(_ref2) {
50
34
  gap: "0.125rem"
51
35
  }, _react["default"].Children.map(children, function (child, index) {
52
36
  return /*#__PURE__*/_react["default"].createElement(ListItem, null, /*#__PURE__*/_react["default"].createElement(GeneralContent, null, type === "number" ? /*#__PURE__*/_react["default"].createElement(Number, null, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
53
- color: backgroundType && backgroundType === "dark" ? colorsTheme.bulletedList.fontColorOnDark : colorsTheme.bulletedList.fontColor
54
- }, index + 1, ".")) : type === "square" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Square, {
55
- backgroundType: backgroundType
56
- })) : type === "circle" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Circle, {
57
- backgroundType: backgroundType
58
- })) : type === "icon" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Icon, {
59
- backgroundType: backgroundType
60
- }, icon)) : /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Disc, {
61
- backgroundType: backgroundType
62
- })), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
63
- color: backgroundType && backgroundType === "dark" ? colorsTheme.bulletedList.fontColorOnDark : colorsTheme.bulletedList.fontColor
37
+ color: colorsTheme.bulletedList.fontColor
38
+ }, index + 1, ".")) : type === "square" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Square, null)) : type === "circle" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Circle, null)) : type === "icon" ? /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Icon, null, typeof icon === "string" ? /*#__PURE__*/_react["default"].createElement("img", {
39
+ src: icon
40
+ }) : icon)) : /*#__PURE__*/_react["default"].createElement(Bullet, null, /*#__PURE__*/_react["default"].createElement(Disc, null)), /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
41
+ color: colorsTheme.bulletedList.fontColor
64
42
  }, child)));
65
43
  }))));
66
44
  };
67
-
68
45
  DxcBulletedList.Item = BulletedListItem;
69
-
70
46
  var ListContainer = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ul,\n ol {\n padding: 0;\n margin: 0;\n }\n"])));
71
-
72
47
  var Bullet = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-self: flex-start;\n align-items: center;\n height: 1.5rem;\n"])));
73
-
74
48
  var GeneralContent = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: center;\n"])));
75
-
76
- var Icon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n width: auto;\n margin-right: ", ";\n align-content: center;\n color: ", ";\n & > svg {\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
49
+ var Icon = _styledComponents["default"].div(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2["default"])(["\n height: 1.5rem;\n width: auto;\n margin-right: ", ";\n align-content: center;\n color: ", ";\n\n svg,\n img {\n height: ", ";\n width: ", ";\n }\n"])), function (props) {
77
50
  return props.theme.bulletMarginRight;
78
51
  }, function (props) {
79
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
52
+ return props.theme.fontColor;
80
53
  }, function (props) {
81
54
  return props.theme.bulletIconHeight;
82
55
  }, function (props) {
83
56
  return props.theme.bulletIconWidth;
84
57
  });
85
-
86
58
  var Number = _styledComponents["default"].div(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2["default"])(["\n user-select: none;\n margin-right: ", ";\n display: flex;\n box-sizing: border-box;\n align-self: flex-start;\n min-width: 0;\n"])), function (props) {
87
59
  return props.theme.bulletMarginRight;
88
60
  });
89
-
90
61
  var Square = _styledComponents["default"].div(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n height: ", ";\n width: ", ";\n margin-right: ", ";\n"])), function (props) {
91
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
62
+ return props.theme.fontColor;
92
63
  }, function (props) {
93
64
  return props.theme.bulletHeight;
94
65
  }, function (props) {
@@ -96,19 +67,17 @@ var Square = _styledComponents["default"].div(_templateObject6 || (_templateObje
96
67
  }, function (props) {
97
68
  return props.theme.bulletMarginRight;
98
69
  });
99
-
100
70
  var Circle = _styledComponents["default"].div(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n border-radius: 50%;\n border: 1px solid;\n border-color: ", ";\n margin-right: ", ";\n"])), function (props) {
101
71
  return props.theme.bulletHeight;
102
72
  }, function (props) {
103
73
  return props.theme.bulletWidth;
104
74
  }, function (props) {
105
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
75
+ return props.theme.fontColor;
106
76
  }, function (props) {
107
77
  return props.theme.bulletMarginRight;
108
78
  });
109
-
110
79
  var Disc = _styledComponents["default"].div(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2["default"])(["\n background-color: ", ";\n height: ", ";\n width: ", ";\n border-radius: 50%;\n margin-right: ", ";\n"])), function (props) {
111
- return props.backgroundType && props.backgroundType === "dark" ? props.theme.fontColorOnDark : props.theme.fontColor;
80
+ return props.theme.fontColor;
112
81
  }, function (props) {
113
82
  return props.theme.bulletHeight;
114
83
  }, function (props) {
@@ -116,8 +85,5 @@ var Disc = _styledComponents["default"].div(_templateObject8 || (_templateObject
116
85
  }, function (props) {
117
86
  return props.theme.bulletMarginRight;
118
87
  });
119
-
120
- var ListItem = _styledComponents["default"].li(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n margin: 0px;\n padding: 0px;\n list-style: none;\n display: flex;\n font-size: 1em;\n"])));
121
-
122
- var _default = DxcBulletedList;
123
- exports["default"] = _default;
88
+ var ListItem = _styledComponents["default"].li(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n margin: 0px;\n padding: 0px;\n list-style: none;\n font-size: 1em;\n"])));
89
+ var _default = exports["default"] = DxcBulletedList;
@@ -1,12 +1,11 @@
1
1
  import React from "react";
2
2
  import styled from "styled-components";
3
3
  import Title from "../../.storybook/components/Title";
4
- import { BackgroundColorProvider } from "../BackgroundColorContext";
5
4
  import ExampleContainer from "../../.storybook/components/ExampleContainer";
6
5
  import DxcBulletedList from "./BulletedList";
7
6
 
8
7
  export default {
9
- title: "BulletedList",
8
+ title: "Bulleted List",
10
9
  component: DxcBulletedList,
11
10
  };
12
11
 
@@ -20,12 +19,18 @@ const icon = (
20
19
  export const Chromatic = () => (
21
20
  <>
22
21
  <ExampleContainer>
23
- <Title title="Icon list" level={4} />
22
+ <Title title="Icon list (SVG)" level={4} />
24
23
  <DxcBulletedList type="icon" icon={icon}>
25
24
  <DxcBulletedList.Item>Code</DxcBulletedList.Item>
26
25
  <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
27
26
  <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
28
27
  </DxcBulletedList>
28
+ <Title title="Icon list (path)" level={4} />
29
+ <DxcBulletedList type="icon" icon="https://upload.wikimedia.org/wikipedia/commons/e/e0/Check_green_icon.svg">
30
+ <DxcBulletedList.Item>Code</DxcBulletedList.Item>
31
+ <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
32
+ <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
33
+ </DxcBulletedList>
29
34
  <Title title="Number list" level={4} />
30
35
  <DxcBulletedList type="number">
31
36
  <DxcBulletedList.Item>Code</DxcBulletedList.Item>
@@ -102,99 +107,9 @@ export const Chromatic = () => (
102
107
  </DxcBulletedList>
103
108
  </Container>
104
109
  </ExampleContainer>
105
- <BackgroundColorProvider color="#333333">
106
- <DarkContainerForBulletedList>
107
- <Title title="Icon list" theme="dark" level={4} />
108
- <DxcBulletedList type="icon" icon={icon}>
109
- <DxcBulletedList.Item>Code</DxcBulletedList.Item>
110
- <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
111
- <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
112
- </DxcBulletedList>
113
- <Title title="Number list" theme="dark" level={4} />
114
- <DxcBulletedList type="number">
115
- <DxcBulletedList.Item>Code</DxcBulletedList.Item>
116
- <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
117
- <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
118
- </DxcBulletedList>
119
- <Title title="Square" theme="dark" level={4} />
120
- <DxcBulletedList type="square">
121
- <DxcBulletedList.Item>Code</DxcBulletedList.Item>
122
- <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
123
- <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
124
- </DxcBulletedList>
125
- <Title title="Circle" theme="dark" level={4} />
126
- <DxcBulletedList type="circle">
127
- <DxcBulletedList.Item>Code</DxcBulletedList.Item>
128
- <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
129
- <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
130
- </DxcBulletedList>
131
- <Title title="Disc" theme="dark" level={4} />
132
- <DxcBulletedList>
133
- <DxcBulletedList.Item>Code</DxcBulletedList.Item>
134
- <DxcBulletedList.Item>Usage</DxcBulletedList.Item>
135
- <DxcBulletedList.Item>Specifications</DxcBulletedList.Item>
136
- </DxcBulletedList>
137
- <Title title="Multiple lines" theme="dark" level={4} />
138
- <Container>
139
- <Title title="Number" theme="dark" level={4} />
140
- <DxcBulletedList type="number">
141
- <DxcBulletedList.Item>
142
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
143
- dolore magna aliqua.
144
- </DxcBulletedList.Item>
145
- <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
146
- </DxcBulletedList>
147
- </Container>
148
- <Container>
149
- <Title title="Square" theme="dark" level={4} />
150
- <DxcBulletedList type="square">
151
- <DxcBulletedList.Item>
152
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
153
- dolore magna aliqua.
154
- </DxcBulletedList.Item>
155
- <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
156
- </DxcBulletedList>
157
- </Container>
158
- <Container>
159
- <Title title="Circle" theme="dark" level={4} />
160
- <DxcBulletedList type="circle">
161
- <DxcBulletedList.Item>
162
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
163
- dolore magna aliqua.
164
- </DxcBulletedList.Item>
165
- <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
166
- </DxcBulletedList>
167
- </Container>
168
- <Title title="Disc" theme="dark" level={4} />
169
- <Container>
170
- <DxcBulletedList>
171
- <DxcBulletedList.Item>
172
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
173
- dolore magna aliqua.
174
- </DxcBulletedList.Item>
175
- <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
176
- </DxcBulletedList>
177
- </Container>
178
- <Container>
179
- <Title title="Icon" theme="dark" level={4} />
180
- <DxcBulletedList type="icon" icon={icon}>
181
- <DxcBulletedList.Item>
182
- Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et
183
- dolore magna aliqua.
184
- </DxcBulletedList.Item>
185
- <DxcBulletedList.Item>Text 2.</DxcBulletedList.Item>
186
- </DxcBulletedList>
187
- </Container>
188
- </DarkContainerForBulletedList>
189
- </BackgroundColorProvider>
190
110
  </>
191
111
  );
192
112
 
193
113
  const Container = styled.div`
194
114
  width: 400px;
195
115
  `;
196
-
197
- const DarkContainerForBulletedList = styled.div`
198
- background-color: #333333;
199
- padding: 5px;
200
- `;
@@ -1,11 +1,38 @@
1
1
  /// <reference types="react" />
2
- declare type SVG = React.ReactNode & (React.SVGProps<SVGSVGElement> | React.FunctionComponent<React.SVGProps<SVGSVGElement>>);
3
- declare type Props = {
2
+ type SVG = React.ReactNode & React.SVGProps<SVGSVGElement>;
3
+ type IconProps = {
4
+ /**
5
+ * Defines the style of the bullet point in the list.
6
+ */
7
+ type: "icon";
8
+ /**
9
+ * Icon to display as bullet.
10
+ */
11
+ icon: string | SVG;
12
+ /**
13
+ * Text to be shown in the list.
14
+ */
4
15
  children: React.ReactNode;
5
- type?: "disc" | "circle" | "square" | "number" | "icon";
6
- icon?: string | SVG;
7
16
  };
17
+ type OtherProps = {
18
+ /**
19
+ * Defines the style of the bullet point in the list.
20
+ */
21
+ type?: "disc" | "circle" | "square" | "number";
22
+ /**
23
+ * Icon to display as bullet.
24
+ */
25
+ icon?: never;
26
+ /**
27
+ * Text to be shown in the list.
28
+ */
29
+ children: React.ReactNode;
30
+ };
31
+ type Props = IconProps | OtherProps;
8
32
  export default Props;
9
- export declare type BulletedListItemPropsType = {
33
+ export type BulletedListItemPropsType = {
34
+ /**
35
+ * Text to be shown in the list.
36
+ */
10
37
  children?: React.ReactNode;
11
38
  };
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import ButtonPropsType from "./types";
3
- declare const DxcButton: ({ label, mode, disabled, iconPosition, type, icon, onClick, margin, size, tabIndex, }: ButtonPropsType) => JSX.Element;
3
+ declare const DxcButton: ({ label, mode, disabled, iconPosition, title, type, icon, onClick, margin, size, tabIndex, }: ButtonPropsType) => JSX.Element;
4
4
  export default DxcButton;