@dxc-technology/halstack-react 0.0.0-144434f → 0.0.0-14cf789

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 (287) 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 +1 -1
  6. package/accordion/Accordion.js +15 -47
  7. package/accordion/Accordion.stories.tsx +307 -0
  8. package/accordion/Accordion.test.js +72 -0
  9. package/accordion/types.d.ts +8 -8
  10. package/accordion-group/AccordionGroup.d.ts +1 -1
  11. package/accordion-group/AccordionGroup.js +16 -17
  12. package/accordion-group/AccordionGroup.stories.tsx +225 -0
  13. package/accordion-group/AccordionGroup.test.js +151 -0
  14. package/accordion-group/types.d.ts +8 -8
  15. package/alert/Alert.js +6 -3
  16. package/alert/Alert.test.js +92 -0
  17. package/alert/types.d.ts +1 -1
  18. package/badge/Badge.d.ts +4 -0
  19. package/badge/Badge.js +6 -4
  20. package/badge/types.d.ts +5 -0
  21. package/{radio → badge}/types.js +0 -0
  22. package/bleed/Bleed.d.ts +3 -0
  23. package/bleed/Bleed.js +51 -0
  24. package/bleed/Bleed.stories.tsx +341 -0
  25. package/bleed/types.d.ts +37 -0
  26. package/bleed/types.js +5 -0
  27. package/box/Box.d.ts +1 -1
  28. package/box/Box.js +26 -39
  29. package/box/Box.test.js +18 -0
  30. package/box/types.d.ts +0 -4
  31. package/button/Button.d.ts +1 -1
  32. package/button/Button.js +24 -27
  33. package/button/Button.stories.tsx +6 -8
  34. package/button/Button.test.js +35 -0
  35. package/button/types.d.ts +5 -9
  36. package/card/Card.js +26 -30
  37. package/card/Card.stories.tsx +201 -0
  38. package/card/Card.test.js +50 -0
  39. package/card/ice-cream.jpg +0 -0
  40. package/card/types.d.ts +4 -6
  41. package/checkbox/Checkbox.d.ts +1 -1
  42. package/checkbox/Checkbox.js +45 -41
  43. package/checkbox/Checkbox.stories.tsx +124 -128
  44. package/checkbox/Checkbox.test.js +78 -0
  45. package/checkbox/types.d.ts +9 -5
  46. package/chip/Chip.d.ts +4 -0
  47. package/chip/Chip.js +16 -76
  48. package/chip/Chip.stories.tsx +119 -0
  49. package/chip/Chip.test.js +56 -0
  50. package/chip/types.d.ts +45 -0
  51. package/chip/types.js +5 -0
  52. package/common/variables.js +234 -341
  53. package/date-input/DateInput.js +63 -52
  54. package/date-input/DateInput.stories.tsx +7 -7
  55. package/date-input/DateInput.test.js +479 -0
  56. package/date-input/types.d.ts +16 -9
  57. package/dialog/Dialog.js +8 -35
  58. package/dialog/Dialog.stories.tsx +212 -0
  59. package/dialog/Dialog.test.js +40 -0
  60. package/dropdown/Dropdown.d.ts +1 -1
  61. package/dropdown/Dropdown.js +22 -48
  62. package/dropdown/Dropdown.stories.tsx +249 -0
  63. package/dropdown/Dropdown.test.js +189 -0
  64. package/dropdown/types.d.ts +6 -15
  65. package/file-input/FileInput.d.ts +4 -0
  66. package/file-input/FileInput.js +172 -111
  67. package/file-input/FileInput.stories.tsx +507 -0
  68. package/file-input/FileInput.test.js +457 -0
  69. package/file-input/FileItem.d.ts +14 -0
  70. package/file-input/FileItem.js +16 -23
  71. package/file-input/types.d.ts +112 -0
  72. package/file-input/types.js +5 -0
  73. package/footer/Footer.d.ts +1 -1
  74. package/footer/Footer.js +32 -113
  75. package/footer/{Footer.stories.jsx → Footer.stories.tsx} +1 -22
  76. package/footer/Footer.test.js +109 -0
  77. package/footer/Icons.d.ts +2 -0
  78. package/footer/Icons.js +4 -4
  79. package/footer/types.d.ts +22 -18
  80. package/header/Header.js +29 -50
  81. package/header/Header.stories.tsx +172 -0
  82. package/header/Header.test.js +79 -0
  83. package/header/Icons.d.ts +2 -0
  84. package/header/types.d.ts +4 -2
  85. package/heading/Heading.d.ts +4 -0
  86. package/heading/Heading.js +7 -24
  87. package/heading/Heading.stories.tsx +54 -0
  88. package/heading/Heading.test.js +186 -0
  89. package/heading/types.d.ts +33 -0
  90. package/heading/types.js +5 -0
  91. package/inline/Inline.d.ts +4 -0
  92. package/inline/Inline.js +56 -0
  93. package/inline/Inline.stories.tsx +264 -0
  94. package/inline/types.d.ts +32 -0
  95. package/inline/types.js +5 -0
  96. package/inset/Inset.d.ts +3 -0
  97. package/inset/Inset.js +51 -0
  98. package/inset/Inset.stories.tsx +229 -0
  99. package/inset/types.d.ts +37 -0
  100. package/inset/types.js +5 -0
  101. package/layout/ApplicationLayout.d.ts +11 -0
  102. package/layout/ApplicationLayout.js +84 -120
  103. package/layout/ApplicationLayout.stories.tsx +126 -0
  104. package/layout/Icons.d.ts +5 -0
  105. package/layout/Icons.js +13 -2
  106. package/layout/SidenavContext.d.ts +5 -0
  107. package/layout/SidenavContext.js +19 -0
  108. package/layout/types.d.ts +52 -0
  109. package/layout/types.js +5 -0
  110. package/link/Link.d.ts +3 -2
  111. package/link/Link.js +61 -86
  112. package/link/Link.stories.tsx +131 -15
  113. package/link/Link.test.js +83 -0
  114. package/link/types.d.ts +9 -29
  115. package/list/List.d.ts +4 -0
  116. package/list/List.js +47 -0
  117. package/list/List.stories.tsx +89 -0
  118. package/list/types.d.ts +7 -0
  119. package/list/types.js +5 -0
  120. package/main.d.ts +13 -9
  121. package/main.js +80 -42
  122. package/number-input/NumberInput.js +14 -24
  123. package/number-input/NumberInput.stories.tsx +5 -5
  124. package/number-input/NumberInput.test.js +506 -0
  125. package/number-input/NumberInputContext.d.ts +4 -0
  126. package/number-input/NumberInputContext.js +5 -2
  127. package/number-input/numberInputContextTypes.d.ts +19 -0
  128. package/number-input/numberInputContextTypes.js +5 -0
  129. package/number-input/types.d.ts +17 -10
  130. package/package.json +10 -6
  131. package/paginator/Paginator.js +19 -46
  132. package/paginator/Paginator.test.js +308 -0
  133. package/password-input/PasswordInput.js +23 -19
  134. package/password-input/PasswordInput.stories.tsx +3 -3
  135. package/password-input/PasswordInput.test.js +180 -0
  136. package/password-input/types.d.ts +29 -19
  137. package/progress-bar/ProgressBar.js +5 -5
  138. package/progress-bar/ProgressBar.stories.jsx +11 -11
  139. package/progress-bar/ProgressBar.test.js +65 -0
  140. package/quick-nav/QuickNav.d.ts +4 -0
  141. package/quick-nav/QuickNav.js +116 -0
  142. package/quick-nav/QuickNav.stories.tsx +237 -0
  143. package/quick-nav/types.d.ts +21 -0
  144. package/quick-nav/types.js +5 -0
  145. package/radio-group/Radio.d.ts +4 -0
  146. package/radio-group/Radio.js +141 -0
  147. package/radio-group/RadioGroup.d.ts +4 -0
  148. package/radio-group/RadioGroup.js +282 -0
  149. package/radio-group/RadioGroup.stories.tsx +100 -0
  150. package/radio-group/RadioGroup.test.js +695 -0
  151. package/radio-group/types.d.ts +114 -0
  152. package/radio-group/types.js +5 -0
  153. package/resultsetTable/ResultsetTable.d.ts +4 -0
  154. package/resultsetTable/ResultsetTable.js +9 -29
  155. package/resultsetTable/ResultsetTable.stories.tsx +275 -0
  156. package/resultsetTable/ResultsetTable.test.js +348 -0
  157. package/resultsetTable/types.d.ts +67 -0
  158. package/resultsetTable/types.js +5 -0
  159. package/row/Row.d.ts +3 -0
  160. package/row/Row.js +127 -0
  161. package/row/Row.stories.tsx +237 -0
  162. package/row/types.d.ts +28 -0
  163. package/row/types.js +5 -0
  164. package/select/Icons.d.ts +10 -0
  165. package/select/Icons.js +93 -0
  166. package/select/Listbox.d.ts +4 -0
  167. package/select/Listbox.js +175 -0
  168. package/select/Option.d.ts +4 -0
  169. package/select/Option.js +110 -0
  170. package/select/Select.d.ts +4 -0
  171. package/select/Select.js +161 -366
  172. package/select/Select.stories.tsx +230 -176
  173. package/select/Select.test.js +2162 -0
  174. package/select/types.d.ts +212 -0
  175. package/select/types.js +5 -0
  176. package/sidenav/Sidenav.d.ts +1 -1
  177. package/sidenav/Sidenav.js +22 -11
  178. package/sidenav/Sidenav.stories.tsx +182 -0
  179. package/sidenav/Sidenav.test.js +56 -0
  180. package/slider/Slider.d.ts +1 -1
  181. package/slider/Slider.js +6 -5
  182. package/slider/Slider.stories.tsx +8 -8
  183. package/slider/Slider.test.js +150 -0
  184. package/slider/types.d.ts +4 -0
  185. package/spinner/Spinner.js +3 -3
  186. package/spinner/Spinner.stories.jsx +1 -0
  187. package/spinner/Spinner.test.js +64 -0
  188. package/stack/Stack.d.ts +4 -0
  189. package/stack/Stack.js +50 -0
  190. package/stack/Stack.stories.tsx +225 -0
  191. package/stack/types.d.ts +28 -0
  192. package/stack/types.js +5 -0
  193. package/switch/Switch.d.ts +1 -1
  194. package/switch/Switch.js +37 -21
  195. package/switch/Switch.stories.tsx +15 -15
  196. package/switch/Switch.test.js +98 -0
  197. package/switch/types.d.ts +6 -2
  198. package/table/Table.js +3 -3
  199. package/table/Table.stories.jsx +2 -1
  200. package/table/Table.test.js +26 -0
  201. package/tabs/Tabs.d.ts +1 -1
  202. package/tabs/Tabs.js +20 -20
  203. package/tabs/Tabs.stories.tsx +112 -0
  204. package/tabs/Tabs.test.js +140 -0
  205. package/tabs/types.d.ts +29 -18
  206. package/tabs-nav/NavTabs.d.ts +8 -0
  207. package/tabs-nav/NavTabs.js +125 -0
  208. package/tabs-nav/NavTabs.stories.tsx +170 -0
  209. package/tabs-nav/NavTabs.test.js +82 -0
  210. package/tabs-nav/Tab.d.ts +4 -0
  211. package/tabs-nav/Tab.js +132 -0
  212. package/tabs-nav/types.d.ts +53 -0
  213. package/tabs-nav/types.js +5 -0
  214. package/tag/Tag.d.ts +1 -1
  215. package/tag/Tag.js +18 -28
  216. package/tag/Tag.stories.tsx +26 -29
  217. package/tag/Tag.test.js +60 -0
  218. package/tag/types.d.ts +23 -14
  219. package/text/Text.d.ts +7 -0
  220. package/text/Text.js +30 -0
  221. package/text/Text.stories.tsx +19 -0
  222. package/text-input/Suggestion.d.ts +4 -0
  223. package/text-input/Suggestion.js +55 -0
  224. package/text-input/TextInput.d.ts +4 -0
  225. package/text-input/TextInput.js +91 -146
  226. package/text-input/TextInput.stories.tsx +474 -0
  227. package/text-input/TextInput.test.js +1712 -0
  228. package/text-input/types.d.ts +178 -0
  229. package/text-input/types.js +5 -0
  230. package/textarea/Textarea.d.ts +4 -0
  231. package/textarea/Textarea.js +39 -79
  232. package/textarea/Textarea.stories.jsx +37 -15
  233. package/textarea/Textarea.test.js +437 -0
  234. package/textarea/types.d.ts +137 -0
  235. package/textarea/types.js +5 -0
  236. package/toggle-group/ToggleGroup.d.ts +4 -0
  237. package/toggle-group/ToggleGroup.js +18 -46
  238. package/toggle-group/ToggleGroup.stories.tsx +27 -32
  239. package/toggle-group/ToggleGroup.test.js +156 -0
  240. package/toggle-group/types.d.ts +105 -0
  241. package/toggle-group/types.js +5 -0
  242. package/useTheme.d.ts +2 -0
  243. package/useTheme.js +2 -2
  244. package/useTranslatedLabels.d.ts +2 -0
  245. package/useTranslatedLabels.js +20 -0
  246. package/wizard/Wizard.d.ts +1 -1
  247. package/wizard/Wizard.js +107 -46
  248. package/wizard/{Wizard.stories.jsx → Wizard.stories.tsx} +13 -23
  249. package/wizard/Wizard.test.js +141 -0
  250. package/wizard/types.d.ts +9 -9
  251. package/ThemeContext.js +0 -246
  252. package/V3Select/V3Select.js +0 -455
  253. package/V3Select/index.d.ts +0 -27
  254. package/V3Textarea/V3Textarea.js +0 -260
  255. package/V3Textarea/index.d.ts +0 -27
  256. package/chip/index.d.ts +0 -22
  257. package/date/Date.js +0 -373
  258. package/date/index.d.ts +0 -27
  259. package/file-input/index.d.ts +0 -81
  260. package/heading/index.d.ts +0 -17
  261. package/input-text/Icons.js +0 -22
  262. package/input-text/InputText.js +0 -611
  263. package/input-text/index.d.ts +0 -36
  264. package/radio/Radio.d.ts +0 -4
  265. package/radio/Radio.js +0 -174
  266. package/radio/Radio.stories.tsx +0 -192
  267. package/radio/types.d.ts +0 -54
  268. package/resultsetTable/index.d.ts +0 -19
  269. package/select/index.d.ts +0 -131
  270. package/text-input/index.d.ts +0 -135
  271. package/textarea/index.d.ts +0 -117
  272. package/toggle/Toggle.js +0 -186
  273. package/toggle/index.d.ts +0 -21
  274. package/toggle-group/index.d.ts +0 -21
  275. package/upload/Upload.js +0 -201
  276. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  277. package/upload/buttons-upload/Icons.js +0 -40
  278. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  279. package/upload/dragAndDropArea/Icons.js +0 -39
  280. package/upload/file-upload/FileToUpload.js +0 -115
  281. package/upload/file-upload/Icons.js +0 -66
  282. package/upload/files-upload/FilesToUpload.js +0 -109
  283. package/upload/index.d.ts +0 -15
  284. package/upload/transaction/Icons.js +0 -160
  285. package/upload/transaction/Transaction.js +0 -104
  286. package/upload/transactions/Transactions.js +0 -94
  287. package/wizard/Icons.js +0 -65
@@ -0,0 +1,186 @@
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 _Heading = _interopRequireDefault(require("./Heading"));
10
+
11
+ describe("Heading component tests", function () {
12
+ test("Heading renders with default level", function () {
13
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
14
+ text: "my-heading-test"
15
+ })),
16
+ getByText = _render.getByText,
17
+ getByRole = _render.getByRole;
18
+
19
+ expect(getByText("my-heading-test")).toBeTruthy();
20
+ expect(getByRole("heading", {
21
+ level: 1
22
+ })).toBeTruthy();
23
+ });
24
+ test("Heading renders with level 1", function () {
25
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
26
+ text: "my-heading-test",
27
+ level: 1
28
+ })),
29
+ getByText = _render2.getByText,
30
+ getByRole = _render2.getByRole;
31
+
32
+ expect(getByText("my-heading-test")).toBeTruthy();
33
+ expect(getByRole("heading", {
34
+ level: 1
35
+ })).toBeTruthy();
36
+ });
37
+ test("Heading renders with level 2", function () {
38
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
39
+ text: "my-heading-test",
40
+ level: 2
41
+ })),
42
+ getByText = _render3.getByText,
43
+ getByRole = _render3.getByRole;
44
+
45
+ expect(getByText("my-heading-test")).toBeTruthy();
46
+ expect(getByRole("heading", {
47
+ level: 2
48
+ })).toBeTruthy();
49
+ });
50
+ test("Heading renders with level 3", function () {
51
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
52
+ text: "my-heading-test",
53
+ level: 3
54
+ })),
55
+ getByText = _render4.getByText,
56
+ getByRole = _render4.getByRole;
57
+
58
+ expect(getByText("my-heading-test")).toBeTruthy();
59
+ expect(getByRole("heading", {
60
+ level: 3
61
+ })).toBeTruthy();
62
+ });
63
+ test("Heading renders with level 4", function () {
64
+ var _render5 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
65
+ text: "my-heading-test",
66
+ level: 4
67
+ })),
68
+ getByText = _render5.getByText,
69
+ getByRole = _render5.getByRole;
70
+
71
+ expect(getByText("my-heading-test")).toBeTruthy();
72
+ expect(getByRole("heading", {
73
+ level: 4
74
+ })).toBeTruthy();
75
+ });
76
+ test("Heading renders with level 5", function () {
77
+ var _render6 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
78
+ text: "my-heading-test",
79
+ level: 5
80
+ })),
81
+ getByText = _render6.getByText,
82
+ getByRole = _render6.getByRole;
83
+
84
+ expect(getByText("my-heading-test")).toBeTruthy();
85
+ expect(getByRole("heading", {
86
+ level: 5
87
+ })).toBeTruthy();
88
+ });
89
+ test("Heading renders with default level and as h5", function () {
90
+ var _render7 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
91
+ text: "my-heading-test",
92
+ as: "h5"
93
+ })),
94
+ getByText = _render7.getByText,
95
+ getByRole = _render7.getByRole;
96
+
97
+ expect(getByText("my-heading-test")).toBeTruthy();
98
+ expect(getByRole("heading", {
99
+ level: 5
100
+ })).toBeTruthy();
101
+ });
102
+ test("Heading renders with level 1 and as h5", function () {
103
+ var _render8 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
104
+ text: "my-heading-test",
105
+ level: 1,
106
+ as: "h5"
107
+ })),
108
+ getByText = _render8.getByText,
109
+ getByRole = _render8.getByRole;
110
+
111
+ expect(getByText("my-heading-test")).toBeTruthy();
112
+ expect(getByRole("heading", {
113
+ level: 5
114
+ })).toBeTruthy();
115
+ });
116
+ test("Heading renders with level 2 and as h4", function () {
117
+ var _render9 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
118
+ text: "my-heading-test",
119
+ level: 2,
120
+ as: "h4"
121
+ })),
122
+ getByText = _render9.getByText,
123
+ getByRole = _render9.getByRole;
124
+
125
+ expect(getByText("my-heading-test")).toBeTruthy();
126
+ expect(getByRole("heading", {
127
+ level: 4
128
+ })).toBeTruthy();
129
+ });
130
+ test("Heading renders with level 3 and as h2", function () {
131
+ var _render10 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
132
+ text: "my-heading-test",
133
+ level: 3,
134
+ as: "h2"
135
+ })),
136
+ getByText = _render10.getByText,
137
+ getByRole = _render10.getByRole;
138
+
139
+ expect(getByText("my-heading-test")).toBeTruthy();
140
+ expect(getByRole("heading", {
141
+ level: 2
142
+ })).toBeTruthy();
143
+ });
144
+ test("Heading renders with level 4 and as h3", function () {
145
+ var _render11 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
146
+ text: "my-heading-test",
147
+ level: 4,
148
+ as: "h3"
149
+ })),
150
+ getByText = _render11.getByText,
151
+ getByRole = _render11.getByRole;
152
+
153
+ expect(getByText("my-heading-test")).toBeTruthy();
154
+ expect(getByRole("heading", {
155
+ level: 3
156
+ })).toBeTruthy();
157
+ });
158
+ test("Heading renders with level 5 as h4", function () {
159
+ var _render12 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
160
+ text: "my-heading-test",
161
+ level: 5,
162
+ as: "h4"
163
+ })),
164
+ getByText = _render12.getByText,
165
+ getByRole = _render12.getByRole;
166
+
167
+ expect(getByText("my-heading-test")).toBeTruthy();
168
+ expect(getByRole("heading", {
169
+ level: 4
170
+ })).toBeTruthy();
171
+ });
172
+ test("Heading renders with level 5 and invalid as", function () {
173
+ var _render13 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
174
+ text: "my-heading-test",
175
+ level: 5,
176
+ as: "h4afdssf"
177
+ })),
178
+ getByText = _render13.getByText,
179
+ getByRole = _render13.getByRole;
180
+
181
+ expect(getByText("my-heading-test")).toBeTruthy();
182
+ expect(getByRole("heading", {
183
+ level: 5
184
+ })).toBeTruthy();
185
+ });
186
+ });
@@ -0,0 +1,33 @@
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
+ * Defines the heading level from 1 to 5. The styles of the heading are applied according to the level.
11
+ * The html tag of the heading will be the one specified in the 'as' prop.
12
+ * If 'as' is not specified, the html tag of the heading is the one specified in the 'level' prop.
13
+ */
14
+ level?: 1 | 2 | 3 | 4 | 5;
15
+ /**
16
+ * Heading text.
17
+ */
18
+ text: string;
19
+ /**
20
+ * Specifies the html tag of the heading.
21
+ */
22
+ as?: "h1" | "h2" | "h3" | "h4" | "h5";
23
+ /**
24
+ * Modifies the default weight of the heading.
25
+ */
26
+ weight?: "light" | "normal" | "bold";
27
+ /**
28
+ * Size of the margin to be applied to the component ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
29
+ * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in order to specify different margin sizes.
30
+ */
31
+ margin?: Space | Margin;
32
+ };
33
+ 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 InlineProps from "./types";
3
+ declare const DxcInline: ({ alignX, alignY, as, divider, gutter, reverse, children, }: InlineProps) => JSX.Element;
4
+ export default DxcInline;
@@ -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 DxcInline = function DxcInline(_ref) {
19
+ var _ref$alignX = _ref.alignX,
20
+ alignX = _ref$alignX === void 0 ? "start" : _ref$alignX,
21
+ _ref$alignY = _ref.alignY,
22
+ alignY = _ref$alignY === void 0 ? "stretch" : _ref$alignY,
23
+ _ref$as = _ref.as,
24
+ as = _ref$as === void 0 ? "div" : _ref$as,
25
+ _ref$divider = _ref.divider,
26
+ divider = _ref$divider === void 0 ? false : _ref$divider,
27
+ _ref$gutter = _ref.gutter,
28
+ gutter = _ref$gutter === void 0 ? "0rem" : _ref$gutter,
29
+ _ref$reverse = _ref.reverse,
30
+ reverse = _ref$reverse === void 0 ? false : _ref$reverse,
31
+ children = _ref.children;
32
+ return /*#__PURE__*/_react["default"].createElement(Inline, {
33
+ as: as,
34
+ alignX: alignX,
35
+ alignY: alignY,
36
+ gutter: gutter,
37
+ reverse: reverse,
38
+ divider: divider
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 Inline = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n ", "\n flex-wrap: wrap;\n"])), function (_ref2) {
45
+ var alignX = _ref2.alignX,
46
+ alignY = _ref2.alignY,
47
+ gutter = _ref2.gutter,
48
+ reverse = _ref2.reverse,
49
+ divider = _ref2.divider;
50
+ return "\n flex-direction: ".concat(reverse ? "row-reverse" : "row", ";\n align-items: stretch;\n justify-content: ").concat(alignX === "start" || alignX === "end" ? "flex-".concat(alignX) : alignX, ";\n gap: ").concat(divider ? "calc(".concat(gutter, "/2)") : gutter, ";\n\n & > * {\n align-self: ").concat(alignY === "start" || alignY === "end" ? "flex-".concat(alignY) : alignY, ";\n }\n ");
51
+ });
52
+
53
+ var Divider = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n width: 1px;\n background-color: #999999;\n align-self: stretch;\n"])));
54
+
55
+ var _default = DxcInline;
56
+ exports["default"] = _default;
@@ -0,0 +1,264 @@
1
+ import React from "react";
2
+ import Title from "../../.storybook/components/Title";
3
+ import styled from "styled-components";
4
+ import DxcInline from "./Inline";
5
+
6
+ export default {
7
+ title: "Inline",
8
+ component: DxcInline,
9
+ };
10
+
11
+ export const Chromatic = () => (
12
+ <>
13
+ <Title title="Default" theme="light" level={4} />
14
+ <Container>
15
+ <DxcInline>
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
+ </DxcInline>
21
+ </Container>
22
+ <Title title="Default with divider" theme="light" level={4} />
23
+ <Container>
24
+ <DxcInline divider>
25
+ <Placeholder height="small" width="small" />
26
+ <Placeholder height="medium" width="medium" />
27
+ <Placeholder height="large" width="large" />
28
+ <Placeholder height="small" width="large" />
29
+ <Placeholder height="large" width="large" />
30
+ <Placeholder height="medium" width="small" />
31
+ </DxcInline>
32
+ </Container>
33
+ <Title title="One child larger than flex container" theme="light" level={4} />
34
+ <FlexContainer customWidth>
35
+ <DxcInline>
36
+ <Placeholder height="large" width="xlarge" />
37
+ </DxcInline>
38
+ </FlexContainer>
39
+ <Title title="Wrap" theme="light" level={4} />
40
+ <Container customWidth>
41
+ <DxcInline>
42
+ <Placeholder height="large" width="small" />
43
+ <Placeholder height="large" width="medium" />
44
+ <Placeholder height="medium" width="small" />
45
+ <Placeholder height="large" width="medium" />
46
+ </DxcInline>
47
+ </Container>
48
+ <Title title="AlignY = start" theme="light" level={4} />
49
+ <Container>
50
+ <DxcInline alignY="stretch">
51
+ <Placeholder width="small" />
52
+ <Placeholder height="medium" width="medium" />
53
+ <Placeholder height="large" width="large" />
54
+ <Placeholder height="small" width="large" />
55
+ </DxcInline>
56
+ </Container>
57
+ <Title title="AlignY = end with divider" theme="light" level={4} />
58
+ <Container>
59
+ <DxcInline alignY="end" divider>
60
+ <Placeholder height="small" width="small" />
61
+ <Placeholder height="medium" width="medium" />
62
+ <Placeholder height="large" width="large" />
63
+ <Placeholder height="small" width="large" />
64
+ </DxcInline>
65
+ </Container>
66
+ <Title title="AlignY = center" theme="light" level={4} />
67
+ <Container>
68
+ <DxcInline alignY="center">
69
+ <Placeholder height="small" width="small" />
70
+ <Placeholder height="medium" width="medium" />
71
+ <Placeholder height="large" width="large" />
72
+ <Placeholder height="small" width="large" />
73
+ </DxcInline>
74
+ </Container>
75
+ <Title title="AlignY with wrapped items" theme="light" level={4} />
76
+ <Container customWidth>
77
+ <DxcInline alignY="end">
78
+ <Placeholder height="large" width="small" />
79
+ <Placeholder height="large" width="medium" />
80
+ <Placeholder height="medium" width="small" />
81
+ <Placeholder height="large" width="medium" />
82
+ <Placeholder height="medium" width="small" />
83
+ <Placeholder height="small" width="medium" />
84
+ </DxcInline>
85
+ </Container>
86
+ <Title title="AlignY = baseline" theme="light" level={4} />
87
+ <Container>
88
+ <DxcInline alignY="baseline">
89
+ <Placeholder height="small" width="small" />
90
+ <Placeholder height="medium" width="medium" />
91
+ <Placeholder height="large" width="large" />
92
+ <Placeholder height="small" width="large" />
93
+ </DxcInline>
94
+ </Container>
95
+ <Title title="AlignX = start" theme="light" level={4} />
96
+ <Container>
97
+ <DxcInline alignX="start">
98
+ <Placeholder height="small" width="small" />
99
+ <Placeholder height="medium" width="medium" />
100
+ <Placeholder height="large" width="large" />
101
+ <Placeholder height="small" />
102
+ </DxcInline>
103
+ </Container>
104
+ <Title title="AlignX = end with divider" theme="light" level={4} />
105
+ <Container>
106
+ <DxcInline alignX="end" divider>
107
+ <Placeholder height="small" width="small" />
108
+ <Placeholder height="medium" width="medium" />
109
+ <Placeholder height="small" width="small" />
110
+ <Placeholder height="large" width="large" />
111
+ <Placeholder height="small" width="large" />
112
+ </DxcInline>
113
+ </Container>
114
+ <Title title="AlignX = center" theme="light" level={4} />
115
+ <Container>
116
+ <DxcInline alignX="center">
117
+ <Placeholder height="small" width="small" />
118
+ <Placeholder height="medium" width="medium" />
119
+ <Placeholder height="large" width="large" />
120
+ <Placeholder height="small" width="large" />
121
+ </DxcInline>
122
+ </Container>
123
+ <Title title="AlignX with wrapped items" theme="light" level={4} />
124
+ <Container customWidth>
125
+ <DxcInline alignX="center">
126
+ <Placeholder height="small" width="small" />
127
+ <Placeholder height="large" width="medium" />
128
+ <Placeholder height="medium" width="small" />
129
+ <Placeholder height="large" width="large" />
130
+ <Placeholder height="medium" width="small" />
131
+ <Placeholder height="small" width="large" />
132
+ <Placeholder height="large" width="large" />
133
+ <Placeholder height="large" width="medium" />
134
+ </DxcInline>
135
+ </Container>
136
+ <Title title="Gutter = 0.125rem" theme="light" level={4} />
137
+ <Container>
138
+ <DxcInline gutter="0.125rem">
139
+ <Placeholder height="small" width="small" />
140
+ <Placeholder height="medium" width="medium" />
141
+ <Placeholder height="large" width="large" />
142
+ <Placeholder height="small" width="large" />
143
+ </DxcInline>
144
+ </Container>
145
+ <Title title="Gutter = 0.25rem" theme="light" level={4} />
146
+ <Container>
147
+ <DxcInline gutter="0.25rem">
148
+ <Placeholder height="small" width="small" />
149
+ <Placeholder height="medium" width="medium" />
150
+ <Placeholder height="large" width="large" />
151
+ <Placeholder height="small" width="large" />
152
+ </DxcInline>
153
+ </Container>
154
+ <Title title="Gutter = 0.5rem" theme="light" level={4} />
155
+ <Container>
156
+ <DxcInline gutter="0.5rem">
157
+ <Placeholder height="small" width="small" />
158
+ <Placeholder height="medium" width="medium" />
159
+ <Placeholder height="large" width="large" />
160
+ <Placeholder height="small" width="large" />
161
+ </DxcInline>
162
+ </Container>
163
+ <Title title="Gutter = 0.75rem" theme="light" level={4} />
164
+ <Container>
165
+ <DxcInline gutter="0.75rem">
166
+ <Placeholder height="small" width="small" />
167
+ <Placeholder height="medium" width="medium" />
168
+ <Placeholder height="large" width="large" />
169
+ <Placeholder height="small" width="large" />
170
+ </DxcInline>
171
+ </Container>
172
+ <Title title="Gutter = 1rem" theme="light" level={4} />
173
+ <Container>
174
+ <DxcInline gutter="1rem">
175
+ <Placeholder height="small" width="small" />
176
+ <Placeholder height="medium" width="medium" />
177
+ <Placeholder height="large" width="large" />
178
+ <Placeholder height="small" width="large" />
179
+ </DxcInline>
180
+ </Container>
181
+ <Title title="Gutter = 1.5rem" theme="light" level={4} />
182
+ <Container>
183
+ <DxcInline gutter="1.5rem">
184
+ <Placeholder height="small" width="small" />
185
+ <Placeholder height="medium" width="medium" />
186
+ <Placeholder height="large" width="large" />
187
+ <Placeholder height="small" width="large" />
188
+ </DxcInline>
189
+ </Container>
190
+ <Title title="Gutter = 2rem and divider" theme="light" level={4} />
191
+ <Container>
192
+ <DxcInline gutter="2rem" divider>
193
+ <Placeholder height="small" width="small" />
194
+ <Placeholder height="medium" width="medium" />
195
+ <Placeholder height="large" width="large" />
196
+ <Placeholder height="small" width="large" />
197
+ </DxcInline>
198
+ </Container>
199
+ <Title title="Gutter = 3rem" theme="light" level={4} />
200
+ <Container>
201
+ <DxcInline gutter="3rem">
202
+ <Placeholder height="small" width="small" />
203
+ <Placeholder height="medium" width="medium" />
204
+ <Placeholder height="large" width="large" />
205
+ </DxcInline>
206
+ </Container>
207
+ <Title title="Gutter = 4rem" theme="light" level={4} />
208
+ <Container>
209
+ <DxcInline gutter="4rem">
210
+ <Placeholder height="small" width="small" />
211
+ <Placeholder height="medium" width="medium" />
212
+ </DxcInline>
213
+ </Container>
214
+ <Title title="Gutter = 5rem" theme="light" level={4} />
215
+ <Container>
216
+ <DxcInline gutter="5rem">
217
+ <Placeholder height="small" width="small" />
218
+ <Placeholder height="medium" width="medium" />
219
+ </DxcInline>
220
+ </Container>
221
+ <Title title="Reverse" theme="light" level={4} />
222
+ <Container>
223
+ <DxcInline reverse>
224
+ <Placeholder height="small" width="small">
225
+ 1
226
+ </Placeholder>
227
+ <Placeholder height="medium" width="medium">
228
+ 2
229
+ </Placeholder>
230
+ <Placeholder height="large" width="large">
231
+ 3
232
+ </Placeholder>
233
+ <Placeholder height="small" width="large">
234
+ 4
235
+ </Placeholder>
236
+ </DxcInline>
237
+ </Container>
238
+ </>
239
+ );
240
+
241
+ const FlexContainer = styled.div<{ customWidth?: boolean }>`
242
+ display: flex;
243
+ ${({ customWidth }) => customWidth && `width: 200px;`};
244
+ background: #f2eafa;
245
+ `;
246
+
247
+ const Container = styled.div<{ customWidth?: boolean }>`
248
+ background: #f2eafa;
249
+ ${({ customWidth }) => customWidth && `width: 300px;`};
250
+ `;
251
+
252
+ type PlaceholderProps = {
253
+ width?: "xlarge" | "large" | "medium" | "small" | "auto";
254
+ height?: "large" | "medium" | "small" | "auto";
255
+ };
256
+
257
+ const Placeholder = styled.div<PlaceholderProps>`
258
+ ${({ width }) =>
259
+ width &&
260
+ `width: ${width === "xlarge" ? "350px" : width === "large" ? "150px" : width === "medium" ? "100px" : "50px"};`};
261
+ ${({ height }) => height && `height: ${height === "large" ? "150px" : height === "medium" ? "100px" : "50px"};`};
262
+ border: 1px solid #a46ede;
263
+ background-color: #e5d5f6;
264
+ `;
@@ -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";
7
+ /**
8
+ * Alignment applied to children in the cross axis.
9
+ */
10
+ alignY?: "start" | "end" | "center" | "baseline" | "stretch";
11
+ /**
12
+ * Specifies the HTML tag or component that is rendered as the wrapper element.
13
+ */
14
+ as?: React.ElementType;
15
+ /**
16
+ * If true, a divider is shown between each child.
17
+ */
18
+ divider?: boolean;
19
+ /**
20
+ * Space applied between each child.
21
+ */
22
+ gutter?: "0rem" | "0.125rem" | "0.25rem" | "0.5rem" | "0.75rem" | "1rem" | "1.5rem" | "2rem" | "3rem" | "4rem" | "5rem";
23
+ /**
24
+ * If true, it changes the direction of the inline to reverse.
25
+ */
26
+ reverse?: boolean;
27
+ /**
28
+ * Custom content inside the stack.
29
+ */
30
+ children: React.ReactNode[] | React.ReactNode;
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,3 @@
1
+ /// <reference types="react" />
2
+ import InsetPropsType from "./types";
3
+ export default function Inset({ space, horizontal, vertical, top, right, bottom, left, children, }: InsetPropsType): JSX.Element;
package/inset/Inset.js ADDED
@@ -0,0 +1,51 @@
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"] = Inset;
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;
17
+
18
+ function Inset(_ref) {
19
+ var space = _ref.space,
20
+ horizontal = _ref.horizontal,
21
+ vertical = _ref.vertical,
22
+ top = _ref.top,
23
+ right = _ref.right,
24
+ bottom = _ref.bottom,
25
+ left = _ref.left,
26
+ children = _ref.children;
27
+ return /*#__PURE__*/_react["default"].createElement(StyledInset, {
28
+ space: space,
29
+ horizontal: horizontal,
30
+ vertical: vertical,
31
+ top: top,
32
+ right: right,
33
+ bottom: bottom,
34
+ left: left
35
+ }, children);
36
+ }
37
+
38
+ function getSpacingValue(spacingName) {
39
+ return spacingName ? spacingName : "0rem";
40
+ }
41
+
42
+ var StyledInset = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (_ref2) {
43
+ var space = _ref2.space,
44
+ horizontal = _ref2.horizontal,
45
+ vertical = _ref2.vertical,
46
+ top = _ref2.top,
47
+ right = _ref2.right,
48
+ bottom = _ref2.bottom,
49
+ left = _ref2.left;
50
+ return "\n padding: ".concat(getSpacingValue(top || vertical || space), " ").concat(getSpacingValue(right || horizontal || space), "\n ").concat(getSpacingValue(bottom || vertical || space), " ").concat(getSpacingValue(left || horizontal || space), ";\n");
51
+ });