@dxc-technology/halstack-react 0.0.0-c680086 → 0.0.0-c6bd008

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 (202) hide show
  1. package/HalstackContext.d.ts +12 -0
  2. package/HalstackContext.js +295 -0
  3. package/accordion/Accordion.d.ts +1 -1
  4. package/accordion/Accordion.js +7 -28
  5. package/accordion/Accordion.stories.tsx +11 -11
  6. package/accordion/Accordion.test.js +72 -0
  7. package/accordion/types.d.ts +4 -0
  8. package/accordion-group/AccordionGroup.d.ts +1 -1
  9. package/accordion-group/AccordionGroup.js +14 -15
  10. package/accordion-group/AccordionGroup.stories.tsx +1 -1
  11. package/accordion-group/AccordionGroup.test.js +151 -0
  12. package/accordion-group/types.d.ts +4 -0
  13. package/alert/Alert.js +4 -1
  14. package/alert/Alert.test.js +92 -0
  15. package/badge/Badge.d.ts +4 -0
  16. package/badge/Badge.js +5 -3
  17. package/badge/types.d.ts +5 -0
  18. package/{radio → badge}/types.js +0 -0
  19. package/bleed/Bleed.js +1 -34
  20. package/bleed/Bleed.stories.tsx +62 -63
  21. package/bleed/types.d.ts +25 -1
  22. package/box/Box.js +22 -32
  23. package/box/Box.test.js +18 -0
  24. package/button/Button.js +14 -11
  25. package/button/Button.test.js +35 -0
  26. package/card/Card.js +24 -27
  27. package/card/Card.test.js +50 -0
  28. package/checkbox/Checkbox.d.ts +1 -1
  29. package/checkbox/Checkbox.js +43 -39
  30. package/checkbox/Checkbox.stories.tsx +124 -128
  31. package/checkbox/Checkbox.test.js +78 -0
  32. package/checkbox/types.d.ts +7 -3
  33. package/chip/Chip.test.js +56 -0
  34. package/common/variables.js +181 -322
  35. package/date-input/DateInput.js +53 -39
  36. package/date-input/DateInput.stories.tsx +7 -7
  37. package/date-input/DateInput.test.js +479 -0
  38. package/date-input/types.d.ts +16 -9
  39. package/dialog/Dialog.js +4 -32
  40. package/dialog/Dialog.test.js +40 -0
  41. package/dropdown/Dropdown.js +13 -17
  42. package/dropdown/Dropdown.test.js +189 -0
  43. package/file-input/FileInput.js +9 -6
  44. package/file-input/FileInput.test.js +457 -0
  45. package/file-input/FileItem.js +7 -5
  46. package/footer/Footer.js +15 -88
  47. package/footer/Footer.test.js +109 -0
  48. package/footer/Icons.js +1 -1
  49. package/header/Header.js +27 -48
  50. package/header/Header.stories.tsx +46 -36
  51. package/header/Header.test.js +79 -0
  52. package/heading/Heading.test.js +186 -0
  53. package/inline/Inline.d.ts +4 -0
  54. package/inline/Inline.js +56 -0
  55. package/inline/Inline.stories.tsx +264 -0
  56. package/inline/types.d.ts +32 -0
  57. package/inline/types.js +5 -0
  58. package/inset/Inset.js +1 -34
  59. package/inset/Inset.stories.tsx +33 -33
  60. package/inset/types.d.ts +25 -1
  61. package/layout/ApplicationLayout.d.ts +4 -3
  62. package/layout/ApplicationLayout.js +84 -110
  63. package/layout/ApplicationLayout.stories.tsx +14 -59
  64. package/layout/Icons.d.ts +5 -0
  65. package/layout/Icons.js +13 -2
  66. package/layout/SidenavContext.d.ts +5 -0
  67. package/layout/SidenavContext.js +19 -0
  68. package/layout/types.d.ts +5 -10
  69. package/link/Link.d.ts +3 -2
  70. package/link/Link.js +57 -74
  71. package/link/Link.stories.tsx +87 -52
  72. package/link/Link.test.js +83 -0
  73. package/link/types.d.ts +7 -23
  74. package/list/List.js +1 -1
  75. package/list/List.stories.tsx +16 -22
  76. package/list/types.d.ts +1 -1
  77. package/main.d.ts +7 -8
  78. package/main.js +39 -41
  79. package/number-input/NumberInput.js +11 -18
  80. package/number-input/NumberInput.stories.tsx +5 -5
  81. package/number-input/NumberInput.test.js +506 -0
  82. package/number-input/types.d.ts +17 -10
  83. package/package.json +7 -5
  84. package/paginator/Paginator.js +17 -38
  85. package/paginator/Paginator.test.js +308 -0
  86. package/password-input/PasswordInput.js +7 -4
  87. package/password-input/PasswordInput.test.js +180 -0
  88. package/password-input/types.d.ts +14 -11
  89. package/progress-bar/ProgressBar.js +1 -1
  90. package/progress-bar/ProgressBar.stories.jsx +11 -11
  91. package/progress-bar/ProgressBar.test.js +65 -0
  92. package/quick-nav/QuickNav.d.ts +4 -0
  93. package/quick-nav/QuickNav.js +116 -0
  94. package/quick-nav/QuickNav.stories.tsx +237 -0
  95. package/quick-nav/types.d.ts +21 -0
  96. package/quick-nav/types.js +5 -0
  97. package/radio-group/Radio.d.ts +1 -1
  98. package/radio-group/Radio.js +25 -24
  99. package/radio-group/RadioGroup.js +46 -37
  100. package/radio-group/RadioGroup.stories.tsx +60 -39
  101. package/radio-group/RadioGroup.test.js +530 -83
  102. package/radio-group/types.d.ts +80 -2
  103. package/resultsetTable/ResultsetTable.test.js +348 -0
  104. package/row/types.d.ts +18 -0
  105. package/select/Icons.d.ts +10 -0
  106. package/select/Icons.js +93 -0
  107. package/select/Listbox.d.ts +4 -0
  108. package/select/Listbox.js +175 -0
  109. package/select/Option.d.ts +4 -0
  110. package/select/Option.js +110 -0
  111. package/select/Select.js +148 -351
  112. package/select/Select.stories.tsx +230 -176
  113. package/select/Select.test.js +2162 -0
  114. package/select/types.d.ts +53 -11
  115. package/sidenav/Sidenav.d.ts +1 -1
  116. package/sidenav/Sidenav.js +20 -9
  117. package/sidenav/Sidenav.test.js +56 -0
  118. package/slider/Slider.d.ts +1 -1
  119. package/slider/Slider.js +2 -1
  120. package/slider/Slider.stories.tsx +8 -8
  121. package/slider/Slider.test.js +150 -0
  122. package/slider/types.d.ts +4 -0
  123. package/spinner/Spinner.js +1 -1
  124. package/spinner/Spinner.test.js +64 -0
  125. package/stack/Stack.d.ts +2 -1
  126. package/stack/Stack.js +26 -71
  127. package/stack/Stack.stories.tsx +139 -78
  128. package/stack/types.d.ts +23 -4
  129. package/switch/Switch.d.ts +1 -1
  130. package/switch/Switch.js +35 -19
  131. package/switch/Switch.stories.tsx +14 -14
  132. package/switch/Switch.test.js +98 -0
  133. package/switch/types.d.ts +6 -2
  134. package/table/Table.test.js +26 -0
  135. package/tabs/Tabs.d.ts +1 -1
  136. package/tabs/Tabs.js +9 -11
  137. package/tabs/Tabs.stories.tsx +0 -8
  138. package/tabs/Tabs.test.js +140 -0
  139. package/tabs/types.d.ts +4 -0
  140. package/tabs-nav/NavTabs.d.ts +8 -0
  141. package/tabs-nav/NavTabs.js +125 -0
  142. package/tabs-nav/NavTabs.stories.tsx +170 -0
  143. package/tabs-nav/NavTabs.test.js +82 -0
  144. package/tabs-nav/Tab.d.ts +4 -0
  145. package/tabs-nav/Tab.js +132 -0
  146. package/tabs-nav/types.d.ts +53 -0
  147. package/tabs-nav/types.js +5 -0
  148. package/tag/Tag.js +14 -19
  149. package/tag/Tag.stories.tsx +12 -8
  150. package/tag/Tag.test.js +60 -0
  151. package/text-input/Suggestion.d.ts +4 -0
  152. package/text-input/Suggestion.js +55 -0
  153. package/text-input/TextInput.js +56 -80
  154. package/text-input/TextInput.stories.tsx +30 -12
  155. package/text-input/TextInput.test.js +1712 -0
  156. package/text-input/types.d.ts +31 -12
  157. package/textarea/Textarea.js +20 -27
  158. package/textarea/Textarea.stories.jsx +33 -12
  159. package/textarea/Textarea.test.js +437 -0
  160. package/textarea/types.d.ts +18 -11
  161. package/toggle-group/ToggleGroup.d.ts +1 -1
  162. package/toggle-group/ToggleGroup.js +5 -4
  163. package/toggle-group/ToggleGroup.stories.tsx +4 -4
  164. package/toggle-group/ToggleGroup.test.js +156 -0
  165. package/toggle-group/types.d.ts +8 -0
  166. package/useTheme.js +2 -2
  167. package/useTranslatedLabels.d.ts +2 -0
  168. package/useTranslatedLabels.js +20 -0
  169. package/wizard/Wizard.d.ts +1 -1
  170. package/wizard/Wizard.js +55 -44
  171. package/wizard/Wizard.stories.tsx +13 -23
  172. package/wizard/Wizard.test.js +141 -0
  173. package/wizard/types.d.ts +6 -2
  174. package/ThemeContext.d.ts +0 -15
  175. package/ThemeContext.js +0 -243
  176. package/V3Select/V3Select.js +0 -455
  177. package/V3Select/index.d.ts +0 -27
  178. package/V3Textarea/V3Textarea.js +0 -260
  179. package/V3Textarea/index.d.ts +0 -27
  180. package/date/Date.js +0 -373
  181. package/date/index.d.ts +0 -27
  182. package/input-text/Icons.js +0 -22
  183. package/input-text/InputText.js +0 -611
  184. package/input-text/index.d.ts +0 -36
  185. package/radio/Radio.d.ts +0 -4
  186. package/radio/Radio.js +0 -174
  187. package/radio/Radio.stories.tsx +0 -192
  188. package/radio/types.d.ts +0 -54
  189. package/toggle/Toggle.js +0 -186
  190. package/toggle/index.d.ts +0 -21
  191. package/upload/Upload.js +0 -201
  192. package/upload/buttons-upload/ButtonsUpload.js +0 -111
  193. package/upload/buttons-upload/Icons.js +0 -40
  194. package/upload/dragAndDropArea/DragAndDropArea.js +0 -225
  195. package/upload/dragAndDropArea/Icons.js +0 -39
  196. package/upload/file-upload/FileToUpload.js +0 -115
  197. package/upload/file-upload/Icons.js +0 -66
  198. package/upload/files-upload/FilesToUpload.js +0 -109
  199. package/upload/index.d.ts +0 -15
  200. package/upload/transaction/Icons.js +0 -160
  201. package/upload/transaction/Transaction.js +0 -104
  202. package/upload/transactions/Transactions.js +0 -94
@@ -0,0 +1,79 @@
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 _Header = _interopRequireDefault(require("./Header"));
10
+
11
+ describe("Header component tests", function () {
12
+ beforeAll(function () {
13
+ Object.defineProperty(window, "matchMedia", {
14
+ writable: true,
15
+ value: jest.fn().mockImplementation(function () {
16
+ return {
17
+ matches: false
18
+ };
19
+ })
20
+ });
21
+ });
22
+ test("Header renders with default logo", function () {
23
+ var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], null)),
24
+ getByTitle = _render.getByTitle;
25
+
26
+ expect(getByTitle("DXC Logo")).toBeTruthy();
27
+ });
28
+ test("Call correct function on logo click", function () {
29
+ var onClick = jest.fn();
30
+
31
+ var _render2 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
32
+ onClick: onClick
33
+ })),
34
+ getByTitle = _render2.getByTitle;
35
+
36
+ var logo = getByTitle("DXC Logo");
37
+
38
+ _react2.fireEvent.click(logo);
39
+
40
+ expect(onClick).toHaveBeenCalled();
41
+ });
42
+ test("Header renders with correct children", function () {
43
+ // We need to force the offsetWidth value
44
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
45
+ configurable: true,
46
+ value: 1024
47
+ });
48
+
49
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
50
+ content: /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text")
51
+ })),
52
+ getByText = _render3.getByText;
53
+
54
+ expect(getByText("header-child-text")).toBeTruthy();
55
+ });
56
+ test("Header renders menu button in mobile", function () {
57
+ Object.defineProperty(HTMLElement.prototype, "offsetWidth", {
58
+ configurable: true,
59
+ value: 425
60
+ });
61
+ Object.defineProperty(window, "matchMedia", {
62
+ writable: true,
63
+ value: jest.fn().mockImplementation(function () {
64
+ return {
65
+ matches: true
66
+ };
67
+ })
68
+ });
69
+
70
+ var _render4 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Header["default"], {
71
+ responsiveContent: function responsiveContent(closeMenu) {
72
+ return /*#__PURE__*/_react["default"].createElement("p", null, "header-child-text");
73
+ }
74
+ })),
75
+ getByText = _render4.getByText;
76
+
77
+ expect(getByText("Menu")).toBeTruthy();
78
+ });
79
+ });
@@ -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,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 padding: 0px;\n margin: 0px;\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 - 1px)") : 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
+ });
package/inset/Inset.js CHANGED
@@ -36,40 +36,7 @@ function Inset(_ref) {
36
36
  }
37
37
 
38
38
  function getSpacingValue(spacingName) {
39
- switch (spacingName) {
40
- case "none":
41
- return "0rem";
42
-
43
- case "xxxsmall":
44
- return "0.125rem";
45
-
46
- case "xxsmall":
47
- return "0.25rem";
48
-
49
- case "xsmall":
50
- return "0.5rem";
51
-
52
- case "small":
53
- return "1rem";
54
-
55
- case "medium":
56
- return "1.5rem";
57
-
58
- case "large":
59
- return "2rem";
60
-
61
- case "xlarge":
62
- return "3rem";
63
-
64
- case "xxlarge":
65
- return "4rem";
66
-
67
- case "xxxlarge":
68
- return "5rem";
69
-
70
- default:
71
- return "0rem";
72
- }
39
+ return spacingName ? spacingName : "0rem";
73
40
  }
74
41
 
75
42
  var StyledInset = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n ", "\n"])), function (_ref2) {