@dxc-technology/halstack-react 0.0.0-e2d44ba → 0.0.0-e2fae80

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 (180) hide show
  1. package/README.md +27 -47
  2. package/dist/index.d.mts +6734 -0
  3. package/dist/index.d.ts +6734 -0
  4. package/dist/index.js +14243 -0
  5. package/dist/index.mjs +14154 -0
  6. package/package.json +76 -67
  7. package/babel.config.js +0 -8
  8. package/dist/BackgroundColorContext.js +0 -46
  9. package/dist/ThemeContext.js +0 -240
  10. package/dist/accordion/Accordion.js +0 -353
  11. package/dist/accordion-group/AccordionGroup.js +0 -186
  12. package/dist/alert/Alert.js +0 -403
  13. package/dist/badge/Badge.js +0 -63
  14. package/dist/box/Box.js +0 -156
  15. package/dist/button/Button.js +0 -238
  16. package/dist/card/Card.js +0 -254
  17. package/dist/checkbox/Checkbox.js +0 -300
  18. package/dist/checkbox/Checkbox.stories.js +0 -144
  19. package/dist/checkbox/readme.md +0 -116
  20. package/dist/chip/Chip.js +0 -265
  21. package/dist/common/OpenSans.css +0 -81
  22. package/dist/common/RequiredComponent.js +0 -40
  23. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  24. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  25. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  26. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  27. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  28. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  29. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  30. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  31. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  32. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  33. package/dist/common/utils.js +0 -22
  34. package/dist/common/variables.js +0 -1365
  35. package/dist/date/Date.js +0 -381
  36. package/dist/date/Date.stories.js +0 -205
  37. package/dist/date/readme.md +0 -73
  38. package/dist/dialog/Dialog.js +0 -218
  39. package/dist/dropdown/Dropdown.js +0 -544
  40. package/dist/footer/Footer.js +0 -395
  41. package/dist/footer/Footer.stories.js +0 -94
  42. package/dist/footer/dxc_logo.svg +0 -15
  43. package/dist/footer/readme.md +0 -41
  44. package/dist/header/Header.js +0 -403
  45. package/dist/header/Header.stories.js +0 -176
  46. package/dist/header/close_icon.svg +0 -1
  47. package/dist/header/dxc_logo_black.svg +0 -8
  48. package/dist/header/hamb_menu_black.svg +0 -1
  49. package/dist/header/hamb_menu_white.svg +0 -1
  50. package/dist/header/readme.md +0 -33
  51. package/dist/heading/Heading.js +0 -218
  52. package/dist/input-text/InputText.js +0 -707
  53. package/dist/input-text/InputText.stories.js +0 -209
  54. package/dist/input-text/error.svg +0 -1
  55. package/dist/input-text/readme.md +0 -91
  56. package/dist/layout/ApplicationLayout.js +0 -331
  57. package/dist/layout/facebook.svg +0 -45
  58. package/dist/layout/linkedin.svg +0 -50
  59. package/dist/layout/twitter.svg +0 -53
  60. package/dist/link/Link.js +0 -241
  61. package/dist/link/readme.md +0 -51
  62. package/dist/main.js +0 -351
  63. package/dist/new-date/NewDate.js +0 -403
  64. package/dist/new-input-text/NewInputText.js +0 -961
  65. package/dist/new-textarea/NewTextarea.js +0 -346
  66. package/dist/number/Number.js +0 -138
  67. package/dist/number/NumberContext.js +0 -16
  68. package/dist/paginator/Paginator.js +0 -289
  69. package/dist/paginator/images/next.svg +0 -3
  70. package/dist/paginator/images/nextPage.svg +0 -3
  71. package/dist/paginator/images/previous.svg +0 -3
  72. package/dist/paginator/images/previousPage.svg +0 -3
  73. package/dist/paginator/readme.md +0 -50
  74. package/dist/password/Password.js +0 -200
  75. package/dist/password/styles.css +0 -3
  76. package/dist/progress-bar/ProgressBar.js +0 -242
  77. package/dist/progress-bar/ProgressBar.stories.js +0 -280
  78. package/dist/progress-bar/readme.md +0 -63
  79. package/dist/radio/Radio.js +0 -209
  80. package/dist/radio/Radio.stories.js +0 -166
  81. package/dist/radio/readme.md +0 -70
  82. package/dist/resultsetTable/ResultsetTable.js +0 -358
  83. package/dist/resultsetTable/arrow_downward-24px_wht.svg +0 -1
  84. package/dist/resultsetTable/arrow_upward-24px_wht.svg +0 -1
  85. package/dist/resultsetTable/unfold_more-24px_wht.svg +0 -1
  86. package/dist/select/Select.js +0 -549
  87. package/dist/sidenav/Sidenav.js +0 -177
  88. package/dist/slider/Slider.js +0 -319
  89. package/dist/slider/Slider.stories.js +0 -241
  90. package/dist/slider/readme.md +0 -64
  91. package/dist/spinner/Spinner.js +0 -381
  92. package/dist/spinner/Spinner.stories.js +0 -183
  93. package/dist/spinner/readme.md +0 -65
  94. package/dist/switch/Switch.js +0 -222
  95. package/dist/switch/Switch.stories.js +0 -134
  96. package/dist/switch/readme.md +0 -133
  97. package/dist/table/Table.js +0 -132
  98. package/dist/tabs/Tabs.js +0 -343
  99. package/dist/tabs/Tabs.stories.js +0 -130
  100. package/dist/tabs/readme.md +0 -78
  101. package/dist/tabs-for-sections/TabsForSections.js +0 -92
  102. package/dist/tabs-for-sections/readme.md +0 -78
  103. package/dist/tag/Tag.js +0 -288
  104. package/dist/textarea/Textarea.js +0 -264
  105. package/dist/toggle/Toggle.js +0 -220
  106. package/dist/toggle/Toggle.stories.js +0 -297
  107. package/dist/toggle/readme.md +0 -80
  108. package/dist/toggle-group/ToggleGroup.js +0 -223
  109. package/dist/upload/Upload.js +0 -205
  110. package/dist/upload/Upload.stories.js +0 -72
  111. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -139
  112. package/dist/upload/buttons-upload/drag-drop-icon.svg +0 -4
  113. package/dist/upload/buttons-upload/upload-button.svg +0 -1
  114. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  115. package/dist/upload/dragAndDropArea/upload_drop.svg +0 -4
  116. package/dist/upload/dragAndDropArea/upload_file.svg +0 -4
  117. package/dist/upload/file-upload/FileToUpload.js +0 -184
  118. package/dist/upload/file-upload/audio-icon.svg +0 -4
  119. package/dist/upload/file-upload/close.svg +0 -4
  120. package/dist/upload/file-upload/file-icon.svg +0 -4
  121. package/dist/upload/file-upload/video-icon.svg +0 -4
  122. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  123. package/dist/upload/readme.md +0 -37
  124. package/dist/upload/transaction/Transaction.js +0 -175
  125. package/dist/upload/transaction/audio-icon-err.svg +0 -4
  126. package/dist/upload/transaction/audio-icon.svg +0 -4
  127. package/dist/upload/transaction/error-icon.svg +0 -4
  128. package/dist/upload/transaction/file-icon-err.svg +0 -4
  129. package/dist/upload/transaction/file-icon.svg +0 -4
  130. package/dist/upload/transaction/image-icon-err.svg +0 -4
  131. package/dist/upload/transaction/image-icon.svg +0 -4
  132. package/dist/upload/transaction/success-icon.svg +0 -4
  133. package/dist/upload/transaction/video-icon-err.svg +0 -4
  134. package/dist/upload/transaction/video-icon.svg +0 -4
  135. package/dist/upload/transactions/Transactions.js +0 -138
  136. package/dist/useTheme.js +0 -22
  137. package/dist/wizard/Wizard.js +0 -411
  138. package/dist/wizard/invalid_icon.svg +0 -5
  139. package/dist/wizard/valid_icon.svg +0 -5
  140. package/dist/wizard/validation-wrong.svg +0 -6
  141. package/test/Accordion.test.js +0 -33
  142. package/test/AccordionGroup.test.js +0 -125
  143. package/test/Alert.test.js +0 -53
  144. package/test/Box.test.js +0 -10
  145. package/test/Button.test.js +0 -18
  146. package/test/Card.test.js +0 -30
  147. package/test/Checkbox.test.js +0 -45
  148. package/test/Chip.test.js +0 -25
  149. package/test/Date.test.js +0 -393
  150. package/test/Dialog.test.js +0 -23
  151. package/test/Dropdown.test.js +0 -145
  152. package/test/Footer.test.js +0 -99
  153. package/test/Header.test.js +0 -39
  154. package/test/Heading.test.js +0 -35
  155. package/test/InputText.test.js +0 -240
  156. package/test/Link.test.js +0 -43
  157. package/test/NewDate.test.js +0 -203
  158. package/test/NewInputText.test.js +0 -817
  159. package/test/NewTextarea.test.js +0 -201
  160. package/test/Number.test.js +0 -241
  161. package/test/Paginator.test.js +0 -177
  162. package/test/Password.test.js +0 -76
  163. package/test/ProgressBar.test.js +0 -35
  164. package/test/Radio.test.js +0 -37
  165. package/test/ResultsetTable.test.js +0 -329
  166. package/test/Select.test.js +0 -212
  167. package/test/Sidenav.test.js +0 -45
  168. package/test/Slider.test.js +0 -82
  169. package/test/Spinner.test.js +0 -32
  170. package/test/Switch.test.js +0 -45
  171. package/test/Table.test.js +0 -36
  172. package/test/Tabs.test.js +0 -109
  173. package/test/TabsForSections.test.js +0 -34
  174. package/test/Tag.test.js +0 -32
  175. package/test/TextArea.test.js +0 -52
  176. package/test/ToggleGroup.test.js +0 -81
  177. package/test/Upload.test.js +0 -60
  178. package/test/Wizard.test.js +0 -130
  179. package/test/mocks/pngMock.js +0 -1
  180. package/test/mocks/svgMock.js +0 -1
@@ -1,297 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
-
9
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
-
11
- var _objectDestructuringEmpty2 = _interopRequireDefault(require("@babel/runtime/helpers/objectDestructuringEmpty"));
12
-
13
- var _react = _interopRequireWildcard(require("react"));
14
-
15
- var _react2 = require("@storybook/react");
16
-
17
- var _addonActions = require("@storybook/addon-actions");
18
-
19
- var _addonKnobs = require("@storybook/addon-knobs");
20
-
21
- var _amazon = _interopRequireDefault(require("../../.storybook/public/amazon.svg"));
22
-
23
- var _Toggle = _interopRequireDefault(require("./Toggle.jsx"));
24
-
25
- var _readme = _interopRequireDefault(require("./readme.md"));
26
-
27
- var onClick = (0, _addonActions.action)("onClick");
28
-
29
- onClick.toString = function () {
30
- return "onClickHandler";
31
- };
32
-
33
- (0, _react2.storiesOf)("Form Components|Toggle", module).add("Types", function () {
34
- var ControlledStory = function ControlledStory(_ref) {
35
- (0, _objectDestructuringEmpty2["default"])(_ref);
36
-
37
- var _useState = (0, _react.useState)(false),
38
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
39
- selected = _useState2[0],
40
- setSelected = _useState2[1];
41
-
42
- var _useState3 = (0, _react.useState)(false),
43
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
44
- selected1 = _useState4[0],
45
- setselected1 = _useState4[1];
46
-
47
- var _useState5 = (0, _react.useState)(false),
48
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
49
- selected2 = _useState6[0],
50
- setselected2 = _useState6[1];
51
-
52
- var _useState7 = (0, _react.useState)(false),
53
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
54
- selected3 = _useState8[0],
55
- setselected3 = _useState8[1];
56
-
57
- var _useState9 = (0, _react.useState)(false),
58
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
59
- selected4 = _useState10[0],
60
- setselected4 = _useState10[1];
61
-
62
- var _useState11 = (0, _react.useState)(false),
63
- _useState12 = (0, _slicedToArray2["default"])(_useState11, 2),
64
- selected5 = _useState12[0],
65
- setselected5 = _useState12[1];
66
-
67
- var _useState13 = (0, _react.useState)(false),
68
- _useState14 = (0, _slicedToArray2["default"])(_useState13, 2),
69
- selected6 = _useState14[0],
70
- setSelected6 = _useState14[1];
71
-
72
- var _useState15 = (0, _react.useState)(false),
73
- _useState16 = (0, _slicedToArray2["default"])(_useState15, 2),
74
- selected7 = _useState16[0],
75
- setselected7 = _useState16[1];
76
-
77
- var _useState17 = (0, _react.useState)(false),
78
- _useState18 = (0, _slicedToArray2["default"])(_useState17, 2),
79
- selected8 = _useState18[0],
80
- setselected8 = _useState18[1];
81
-
82
- var _useState19 = (0, _react.useState)(false),
83
- _useState20 = (0, _slicedToArray2["default"])(_useState19, 2),
84
- selected9 = _useState20[0],
85
- setselected9 = _useState20[1];
86
-
87
- var _useState21 = (0, _react.useState)(false),
88
- _useState22 = (0, _slicedToArray2["default"])(_useState21, 2),
89
- selected10 = _useState22[0],
90
- setselected10 = _useState22[1];
91
-
92
- var _useState23 = (0, _react.useState)(false),
93
- _useState24 = (0, _slicedToArray2["default"])(_useState23, 2),
94
- selected11 = _useState24[0],
95
- setselected11 = _useState24[1];
96
-
97
- var click = function click(value) {
98
- setSelected(!value);
99
- };
100
-
101
- var click1 = function click1(value) {
102
- setselected1(!value);
103
- };
104
-
105
- var click2 = function click2(value) {
106
- setselected2(!value);
107
- };
108
-
109
- var click3 = function click3(value) {
110
- setselected3(!value);
111
- };
112
-
113
- var click4 = function click4(value) {
114
- setselected4(!value);
115
- };
116
-
117
- var click5 = function click5(value) {
118
- setselected5(!value);
119
- };
120
-
121
- var click6 = function click6(value) {
122
- setSelected6(!value);
123
- };
124
-
125
- var click7 = function click7(value) {
126
- setselected7(!value);
127
- };
128
-
129
- var click8 = function click8(value) {
130
- setselected8(!value);
131
- };
132
-
133
- var click9 = function click9(value) {
134
- setselected9(!value);
135
- };
136
-
137
- var click10 = function click10(value) {
138
- setselected10(!value);
139
- };
140
-
141
- var click11 = function click11(value) {
142
- setselected11(!value);
143
- };
144
-
145
- return _react["default"].createElement("div", null, _react["default"].createElement("h3", null, "Light"), _react["default"].createElement("div", {
146
- style: {
147
- width: "100%",
148
- display: "inline-flex",
149
- alignItems: "center"
150
- }
151
- }, _react["default"].createElement(_Toggle["default"], {
152
- iconSrc: _amazon["default"],
153
- label: "Toggle 1",
154
- selected: selected,
155
- onClick: click
156
- }), _react["default"].createElement(_Toggle["default"], {
157
- label: "Toggle 2",
158
- selected: true,
159
- disabled: true
160
- }), _react["default"].createElement(_Toggle["default"], {
161
- iconSrc: _amazon["default"],
162
- selected: selected1,
163
- onClick: click1
164
- }), _react["default"].createElement(_Toggle["default"], {
165
- label: "Disabled Ripple",
166
- disableRipple: true,
167
- iconSrc: _amazon["default"],
168
- selected: selected2,
169
- onClick: click2
170
- }), _react["default"].createElement(_Toggle["default"], {
171
- iconSrc: _amazon["default"],
172
- label: "Toggle 1",
173
- mode: "outlined",
174
- selected: false,
175
- disabled: true
176
- }), _react["default"].createElement(_Toggle["default"], {
177
- label: "Toggle 2",
178
- mode: "outlined",
179
- selected: selected3,
180
- onClick: click3
181
- }), _react["default"].createElement(_Toggle["default"], {
182
- iconSrc: _amazon["default"],
183
- mode: "outlined",
184
- selected: selected4,
185
- onClick: click4
186
- }), _react["default"].createElement(_Toggle["default"], {
187
- label: "Disabled Ripple",
188
- disableRipple: true,
189
- iconSrc: _amazon["default"],
190
- mode: "outlined",
191
- selected: selected5,
192
- onClick: click5
193
- })), _react["default"].createElement("h3", null, "Dark"), _react["default"].createElement("div", {
194
- style: {
195
- width: "100%",
196
- display: "inline-flex",
197
- background: "black",
198
- alignItems: "center"
199
- }
200
- }, _react["default"].createElement(_Toggle["default"], {
201
- theme: "dark",
202
- iconSrc: _amazon["default"],
203
- label: "Toggle 1",
204
- selected: selected6,
205
- onClick: click6
206
- }), _react["default"].createElement(_Toggle["default"], {
207
- theme: "dark",
208
- label: "Toggle 2",
209
- selected: false,
210
- disabled: true
211
- }), _react["default"].createElement(_Toggle["default"], {
212
- theme: "dark",
213
- iconSrc: _amazon["default"],
214
- selected: selected7,
215
- onClick: click7
216
- }), _react["default"].createElement(_Toggle["default"], {
217
- label: "Disabled Ripple",
218
- disableRipple: true,
219
- theme: "dark",
220
- iconSrc: _amazon["default"],
221
- selected: selected8,
222
- onClick: click8
223
- }), _react["default"].createElement(_Toggle["default"], {
224
- theme: "dark",
225
- iconSrc: _amazon["default"],
226
- label: "Toggle 1",
227
- mode: "outlined",
228
- selected: true,
229
- disabled: true
230
- }), _react["default"].createElement(_Toggle["default"], {
231
- theme: "dark",
232
- label: "Toggle 2",
233
- mode: "outlined",
234
- selected: selected9,
235
- onClick: click9
236
- }), _react["default"].createElement(_Toggle["default"], {
237
- theme: "dark",
238
- iconSrc: _amazon["default"],
239
- mode: "outlined",
240
- selected: selected10,
241
- onClick: click10
242
- }), _react["default"].createElement(_Toggle["default"], {
243
- label: "Disabled Ripple",
244
- disableRipple: true,
245
- theme: "dark",
246
- iconSrc: _amazon["default"],
247
- mode: "outlined",
248
- selected: selected11,
249
- onClick: click11
250
- })));
251
- };
252
-
253
- return _react["default"].createElement(ControlledStory, null);
254
- }, {
255
- notes: {
256
- markdown: _readme["default"]
257
- }
258
- });
259
-
260
- var knobProps = function knobProps() {
261
- return {
262
- theme: (0, _addonKnobs.select)("Theme", {
263
- light: "light",
264
- dark: "dark"
265
- }, "light"),
266
- iconPosition: (0, _addonKnobs.select)("Icon Position", {
267
- after: "after",
268
- before: "before"
269
- }, "before"),
270
- mode: (0, _addonKnobs.select)("Mode", {
271
- "default": "basic",
272
- alternative: "outlined"
273
- }, "basic"),
274
- disabled: (0, _addonKnobs["boolean"])("Disabled", false),
275
- disableRipple: (0, _addonKnobs["boolean"])("Disable ripple", false),
276
- selected: (0, _addonKnobs["boolean"])("Selected", false),
277
- label: (0, _addonKnobs.text)("Label", "label")
278
- };
279
- };
280
-
281
- (0, _react2.storiesOf)("Form Components|Toggle", module).add("Knobs example", function () {
282
- var props = knobProps();
283
- return _react["default"].createElement("div", {
284
- style: {
285
- background: props.theme === "dark" && "black" || "transparent",
286
- display: "flex",
287
- alignItems: "center",
288
- flexWrap: "wrap"
289
- }
290
- }, _react["default"].createElement(_Toggle["default"], (0, _extends2["default"])({}, props, {
291
- iconSrc: _amazon["default"]
292
- })));
293
- }, {
294
- notes: {
295
- markdown: _readme["default"]
296
- }
297
- });
@@ -1,80 +0,0 @@
1
- # DXC Toggle Component
2
-
3
- ## Usage
4
-
5
- ```js
6
- import { DxcToggle } from "@dxc-technology/halstack-react";
7
-
8
- <DxcToggle onClick={handleClick} label="Test Button" />;
9
- ```
10
-
11
- ## Props
12
-
13
- <table>
14
- <tr style="background-color: grey">
15
- <td>Name</td>
16
- <td>Default</td>
17
- <td>Description</td>
18
- </tr>
19
- <tr>
20
- <td>selected: boolean</td>
21
- <td><code>false</code></td>
22
- <td>If true, the component is selected.</td>
23
- </tr>
24
- <tr>
25
- <td>mode: 'basic' | 'outlined'</td>
26
- <td><code>'basic'</code></td>
27
- <td>Uses on of the available toggle modes.</td>
28
- </tr>
29
- <tr>
30
- <td>iconPosition: 'before' | 'after'</td>
31
- <td><code>'before'</code></td>
32
- <td>Changes the position of the icon.</td>
33
- </tr>
34
- <tr>
35
- <td>theme: 'light' |'dark'</td>
36
- <td><code>'light'</code></td>
37
- <td>Uses one of the available component themes.</td>
38
- </tr>
39
- <tr>
40
- <td>label: string</td>
41
- <td><code>'basic'</code></td>
42
- <td>Text to be placed on the toggle.</td>
43
- </tr>
44
- <tr>
45
- <td>iconSrc: string</td>
46
- <td></td>
47
- <td>URL of the icon that will be placed on the toggle.</td>
48
- </tr>
49
- <tr>
50
- <td>disabled: boolean</td>
51
- <td><code>false</code></td>
52
- <td>If true, the component will be disabled.</td>
53
- </tr>
54
- <tr>
55
- <td>disableRipple: boolean</td>
56
- <td><code>false</code></td>
57
- <td>If true, the ripple effect will be disabled.</td>
58
- </tr>
59
- <tr>
60
- <td>onClick: function</td>
61
- <td></td>
62
- <td>This function will be called when the user clicks the button. The new state will be passed as a parameter.</td>
63
- </tr>
64
-
65
- </table>
66
-
67
- ## Examples
68
-
69
- ```js
70
- import { DxcToggle } from "@dxc-technology/halstack-react";
71
- <DxcToggle
72
- label="Disabled Ripple"
73
- disableRipple={true}
74
- theme="dark"
75
- iconSrc={amazon}
76
- mode="outlined"
77
- selected={selected}
78
- onClick={click}
79
- ></DxcToggle>;
80
- ```
@@ -1,223 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = void 0;
11
-
12
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
13
-
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
17
-
18
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
19
-
20
- var _react = _interopRequireWildcard(require("react"));
21
-
22
- var _styledComponents = _interopRequireWildcard(require("styled-components"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- var _useTheme = _interopRequireDefault(require("../useTheme.js"));
29
-
30
- function _templateObject5() {
31
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n overflow: hidden;\n display: flex;\n img,\n svg {\n height: 100%;\n width: 100%;\n }\n"]);
32
-
33
- _templateObject5 = function _templateObject5() {
34
- return data;
35
- };
36
-
37
- return data;
38
- }
39
-
40
- function _templateObject4() {
41
- var data = (0, _taggedTemplateLiteral2["default"])(["\n height: ", ";\n width: ", ";\n"]);
42
-
43
- _templateObject4 = function _templateObject4() {
44
- return data;
45
- };
46
-
47
- return data;
48
- }
49
-
50
- function _templateObject3() {
51
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
52
-
53
- _templateObject3 = function _templateObject3() {
54
- return data;
55
- };
56
-
57
- return data;
58
- }
59
-
60
- function _templateObject2() {
61
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n\n ", "\n"]);
62
-
63
- _templateObject2 = function _templateObject2() {
64
- return data;
65
- };
66
-
67
- return data;
68
- }
69
-
70
- function _templateObject() {
71
- var data = (0, _taggedTemplateLiteral2["default"])(["\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n\n display: flex;\n flex-direction: row;\n opacity: 1;\n min-height: 40px;\n"]);
72
-
73
- _templateObject = function _templateObject() {
74
- return data;
75
- };
76
-
77
- return data;
78
- }
79
-
80
- var DxcToggleGroup = function DxcToggleGroup(_ref) {
81
- var value = _ref.value,
82
- onChange = _ref.onChange,
83
- _ref$disabled = _ref.disabled,
84
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
85
- _ref$options = _ref.options,
86
- options = _ref$options === void 0 ? [] : _ref$options,
87
- margin = _ref.margin,
88
- _ref$multiple = _ref.multiple,
89
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
90
- _ref$tabIndex = _ref.tabIndex,
91
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
92
- var colorsTheme = (0, _useTheme["default"])();
93
-
94
- var _useState = (0, _react.useState)(multiple ? [] : null),
95
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
96
- selectedValue = _useState2[0],
97
- setSelectedValue = _useState2[1];
98
-
99
- var handleToggleChange = function handleToggleChange(selectedOption) {
100
- var newSelectedOptions;
101
-
102
- if (value == null) {
103
- if (multiple) {
104
- newSelectedOptions = selectedValue.map(function (value) {
105
- return value;
106
- });
107
-
108
- if (newSelectedOptions.includes(selectedOption)) {
109
- var index = newSelectedOptions.indexOf(selectedOption);
110
- newSelectedOptions.splice(index, 1);
111
- } else {
112
- newSelectedOptions.push(selectedOption);
113
- }
114
-
115
- setSelectedValue(newSelectedOptions);
116
- } else setSelectedValue(selectedOption === selectedValue ? null : selectedOption);
117
- } else if (multiple) {
118
- newSelectedOptions = value.map(function (v) {
119
- return v;
120
- });
121
-
122
- if (newSelectedOptions.includes(selectedOption)) {
123
- var _index = newSelectedOptions.indexOf(selectedOption);
124
-
125
- newSelectedOptions.splice(_index, 1);
126
- } else newSelectedOptions.push(selectedOption);
127
- }
128
-
129
- typeof onChange === "function" && onChange(multiple ? newSelectedOptions : selectedOption);
130
- };
131
-
132
- var handleKeyPress = function handleKeyPress(event, optionValue) {
133
- event.preventDefault();
134
- if (!disabled && (event.nativeEvent.code === "Enter" || event.nativeEvent.code === "Space")) handleToggleChange(optionValue);
135
- };
136
-
137
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
138
- theme: colorsTheme.toggleGroup
139
- }, _react["default"].createElement(ToggleGroup, {
140
- margin: margin,
141
- disabled: disabled
142
- }, options.map(function (option, i) {
143
- return _react["default"].createElement(ToggleContainer, {
144
- selected: multiple ? value ? value.includes(option.value) : selectedValue.includes(option.value) : value ? option.value === value : option.value === selectedValue,
145
- tabIndex: !disabled ? tabIndex : -1,
146
- onClick: function onClick() {
147
- return !disabled && handleToggleChange(option.value);
148
- },
149
- isFirst: i === 0,
150
- isLast: i === options.length - 1,
151
- isIcon: option.iconSrc || option.icon,
152
- disabled: disabled,
153
- onKeyPress: function onKeyPress(event) {
154
- handleKeyPress(event, option.value);
155
- },
156
- key: "toggle-".concat(i, "-").concat(option.label)
157
- }, option.icon ? _react["default"].createElement(IconContainer, null, (0, _typeof2["default"])(option.icon) === "object" ? option.icon : _react["default"].createElement(option.icon)) : option.iconSrc ? _react["default"].createElement(Icon, {
158
- src: option.iconSrc
159
- }) : _react["default"].createElement(LabelContainer, {
160
- disabled: disabled
161
- }, option.label));
162
- })));
163
- };
164
-
165
- var ToggleGroup = _styledComponents["default"].div(_templateObject(), function (props) {
166
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
167
- }, function (props) {
168
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
169
- }, function (props) {
170
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
171
- }, function (props) {
172
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
173
- }, function (props) {
174
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
175
- });
176
-
177
- var ToggleContainer = _styledComponents["default"].div(_templateObject2(), function (props) {
178
- return "\n background-color: ".concat(props.selected ? props.disabled ? props.theme.selectedDisabledBackgroundColor : props.theme.selectedBackgroundColor : props.disabled ? props.theme.unselectedDisabledBackgroundColor : props.theme.unselectedBackgroundColor, ";\n border-radius: ").concat(props.isFirst ? "4px 0 0 4px" : props.isLast ? "0 4px 4px 0" : "0", ";\n color: ").concat(props.selected ? props.theme.selectedFontColor : props.theme.unselectedFontColor, ";\n padding: ").concat(props.isIcon ? "".concat(props.theme.iconPaddingTop, " ").concat(props.theme.iconPaddingRight, " ").concat(props.theme.iconPaddingBottom, " ").concat(props.theme.iconPaddingLeft) : "".concat(props.theme.labelPaddingTop, " ").concat(props.theme.labelPaddingRight, " ").concat(props.theme.labelPaddingBottom, " ").concat(props.theme.labelPaddingLeft), ";\n \n ").concat(!props.disabled ? ":hover {\n background-color: ".concat(props.selected ? props.theme.selectedHoverBackgroundColor : props.theme.unselectedHoverBackgroundColor, ";\n }\n :active {\n background-color: ").concat(props.selected ? props.theme.selectedActiveBackgroundColor : props.theme.unselectedActiveBackgroundColor, ";\n color: #ffffff;\n } \n :focus {\n outline: ").concat(props.theme.focusColor, " solid 2px;\n outline-offset: -2px;\n }\n cursor: pointer;") : "color: ".concat(props.selected ? props.theme.selectedDisabledFontColor : props.theme.unselectedDisabledFontColor, " !important;\n cursor: not-allowed;"), "\n ");
179
- });
180
-
181
- var LabelContainer = _styledComponents["default"].span(_templateObject3(), function (props) {
182
- return props.theme.fontFamily;
183
- }, function (props) {
184
- return props.theme.fontSize;
185
- }, function (props) {
186
- return props.theme.fontStyle;
187
- }, function (props) {
188
- return props.theme.fontWeight;
189
- });
190
-
191
- var Icon = _styledComponents["default"].img(_templateObject4(), function (props) {
192
- return props.theme.iconSize;
193
- }, function (props) {
194
- return props.theme.iconSize;
195
- });
196
-
197
- var IconContainer = _styledComponents["default"].div(_templateObject5(), function (props) {
198
- return props.theme.iconSize;
199
- }, function (props) {
200
- return props.theme.iconSize;
201
- });
202
-
203
- DxcToggleGroup.propTypes = {
204
- value: _propTypes["default"].any,
205
- onChange: _propTypes["default"].func,
206
- disabled: _propTypes["default"].bool,
207
- multiple: _propTypes["default"].bool,
208
- options: _propTypes["default"].arrayOf(_propTypes["default"].shape({
209
- value: _propTypes["default"].any.isRequired,
210
- label: _propTypes["default"].string,
211
- icon: _propTypes["default"].oneOfType([_propTypes["default"].element, _propTypes["default"].func]),
212
- iconSrc: _propTypes["default"].string
213
- })),
214
- margin: _propTypes["default"].oneOfType([_propTypes["default"].shape({
215
- top: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
216
- bottom: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
217
- left: _propTypes["default"].oneOf(Object.keys(_variables.spaces)),
218
- right: _propTypes["default"].oneOf(Object.keys(_variables.spaces))
219
- }), _propTypes["default"].oneOf((0, _toConsumableArray2["default"])(Object.keys(_variables.spaces)))]),
220
- tabIndex: _propTypes["default"].number
221
- };
222
- var _default = DxcToggleGroup;
223
- exports["default"] = _default;