@dxc-technology/halstack-react 0.0.0-ebb089f → 0.0.0-ebf1ceb

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 (168) hide show
  1. package/README.md +27 -47
  2. package/dist/index.d.mts +6580 -0
  3. package/dist/index.d.ts +6580 -0
  4. package/dist/index.js +14244 -0
  5. package/dist/index.mjs +14187 -0
  6. package/package.json +75 -71
  7. package/babel.config.js +0 -7
  8. package/dist/BackgroundColorContext.js +0 -46
  9. package/dist/ThemeContext.js +0 -250
  10. package/dist/V3Select/V3Select.js +0 -549
  11. package/dist/V3Select/index.d.ts +0 -27
  12. package/dist/V3Textarea/V3Textarea.js +0 -264
  13. package/dist/V3Textarea/index.d.ts +0 -27
  14. package/dist/accordion/Accordion.js +0 -353
  15. package/dist/accordion/index.d.ts +0 -28
  16. package/dist/accordion-group/AccordionGroup.js +0 -186
  17. package/dist/accordion-group/index.d.ts +0 -16
  18. package/dist/alert/Alert.js +0 -403
  19. package/dist/alert/index.d.ts +0 -51
  20. package/dist/badge/Badge.js +0 -63
  21. package/dist/box/Box.js +0 -156
  22. package/dist/box/index.d.ts +0 -25
  23. package/dist/button/Button.js +0 -238
  24. package/dist/button/Button.stories.js +0 -27
  25. package/dist/button/index.d.ts +0 -24
  26. package/dist/card/Card.js +0 -254
  27. package/dist/card/index.d.ts +0 -22
  28. package/dist/checkbox/Checkbox.js +0 -299
  29. package/dist/checkbox/index.d.ts +0 -24
  30. package/dist/chip/Chip.js +0 -265
  31. package/dist/chip/index.d.ts +0 -22
  32. package/dist/common/OpenSans.css +0 -81
  33. package/dist/common/RequiredComponent.js +0 -40
  34. package/dist/common/fonts/OpenSans-Bold.ttf +0 -0
  35. package/dist/common/fonts/OpenSans-BoldItalic.ttf +0 -0
  36. package/dist/common/fonts/OpenSans-ExtraBold.ttf +0 -0
  37. package/dist/common/fonts/OpenSans-ExtraBoldItalic.ttf +0 -0
  38. package/dist/common/fonts/OpenSans-Italic.ttf +0 -0
  39. package/dist/common/fonts/OpenSans-Light.ttf +0 -0
  40. package/dist/common/fonts/OpenSans-LightItalic.ttf +0 -0
  41. package/dist/common/fonts/OpenSans-Regular.ttf +0 -0
  42. package/dist/common/fonts/OpenSans-SemiBold.ttf +0 -0
  43. package/dist/common/fonts/OpenSans-SemiBoldItalic.ttf +0 -0
  44. package/dist/common/utils.js +0 -22
  45. package/dist/common/variables.js +0 -1574
  46. package/dist/date/Date.js +0 -379
  47. package/dist/date/index.d.ts +0 -27
  48. package/dist/date-input/DateInput.js +0 -400
  49. package/dist/date-input/index.d.ts +0 -95
  50. package/dist/dialog/Dialog.js +0 -218
  51. package/dist/dialog/index.d.ts +0 -18
  52. package/dist/dropdown/Dropdown.js +0 -544
  53. package/dist/dropdown/index.d.ts +0 -26
  54. package/dist/file-input/FileInput.js +0 -644
  55. package/dist/file-input/FileItem.js +0 -287
  56. package/dist/file-input/index.d.ts +0 -81
  57. package/dist/footer/Footer.js +0 -421
  58. package/dist/footer/Icons.js +0 -77
  59. package/dist/footer/index.d.ts +0 -25
  60. package/dist/header/Header.js +0 -470
  61. package/dist/header/Icons.js +0 -59
  62. package/dist/header/index.d.ts +0 -25
  63. package/dist/heading/Heading.js +0 -230
  64. package/dist/heading/index.d.ts +0 -17
  65. package/dist/input-text/Icons.js +0 -22
  66. package/dist/input-text/InputText.js +0 -705
  67. package/dist/input-text/index.d.ts +0 -36
  68. package/dist/layout/ApplicationLayout.js +0 -327
  69. package/dist/layout/Icons.js +0 -55
  70. package/dist/link/Link.js +0 -237
  71. package/dist/link/index.d.ts +0 -23
  72. package/dist/main.d.ts +0 -40
  73. package/dist/main.js +0 -359
  74. package/dist/number-input/NumberInput.js +0 -136
  75. package/dist/number-input/NumberInputContext.js +0 -16
  76. package/dist/number-input/index.d.ts +0 -113
  77. package/dist/paginator/Icons.js +0 -66
  78. package/dist/paginator/Paginator.js +0 -305
  79. package/dist/paginator/index.d.ts +0 -20
  80. package/dist/password-input/PasswordInput.js +0 -203
  81. package/dist/password-input/index.d.ts +0 -94
  82. package/dist/progress-bar/ProgressBar.js +0 -242
  83. package/dist/progress-bar/index.d.ts +0 -18
  84. package/dist/radio/Radio.js +0 -209
  85. package/dist/radio/index.d.ts +0 -23
  86. package/dist/resultsetTable/ResultsetTable.js +0 -358
  87. package/dist/resultsetTable/index.d.ts +0 -19
  88. package/dist/select/Select.js +0 -1137
  89. package/dist/select/index.d.ts +0 -131
  90. package/dist/sidenav/Sidenav.js +0 -179
  91. package/dist/sidenav/index.d.ts +0 -13
  92. package/dist/slider/Slider.js +0 -404
  93. package/dist/slider/index.d.ts +0 -29
  94. package/dist/spinner/Spinner.js +0 -381
  95. package/dist/spinner/index.d.ts +0 -17
  96. package/dist/switch/Switch.js +0 -222
  97. package/dist/switch/index.d.ts +0 -24
  98. package/dist/table/Table.js +0 -132
  99. package/dist/table/index.d.ts +0 -13
  100. package/dist/tabs/Tabs.js +0 -343
  101. package/dist/tabs/index.d.ts +0 -19
  102. package/dist/tag/Tag.js +0 -282
  103. package/dist/tag/index.d.ts +0 -24
  104. package/dist/text-input/TextInput.js +0 -974
  105. package/dist/text-input/index.d.ts +0 -135
  106. package/dist/textarea/Textarea.js +0 -369
  107. package/dist/textarea/index.d.ts +0 -117
  108. package/dist/toggle/Toggle.js +0 -220
  109. package/dist/toggle/index.d.ts +0 -21
  110. package/dist/toggle-group/ToggleGroup.js +0 -327
  111. package/dist/toggle-group/index.d.ts +0 -21
  112. package/dist/upload/Upload.js +0 -205
  113. package/dist/upload/buttons-upload/ButtonsUpload.js +0 -135
  114. package/dist/upload/buttons-upload/Icons.js +0 -40
  115. package/dist/upload/dragAndDropArea/DragAndDropArea.js +0 -329
  116. package/dist/upload/dragAndDropArea/Icons.js +0 -39
  117. package/dist/upload/file-upload/FileToUpload.js +0 -189
  118. package/dist/upload/file-upload/Icons.js +0 -66
  119. package/dist/upload/files-upload/FilesToUpload.js +0 -123
  120. package/dist/upload/index.d.ts +0 -15
  121. package/dist/upload/transaction/Icons.js +0 -160
  122. package/dist/upload/transaction/Transaction.js +0 -148
  123. package/dist/upload/transactions/Transactions.js +0 -138
  124. package/dist/useTheme.js +0 -22
  125. package/dist/wizard/Icons.js +0 -65
  126. package/dist/wizard/Wizard.js +0 -405
  127. package/dist/wizard/index.d.ts +0 -18
  128. package/test/Accordion.test.js +0 -33
  129. package/test/AccordionGroup.test.js +0 -125
  130. package/test/Alert.test.js +0 -53
  131. package/test/Box.test.js +0 -10
  132. package/test/Button.test.js +0 -18
  133. package/test/Card.test.js +0 -30
  134. package/test/Checkbox.test.js +0 -45
  135. package/test/Chip.test.js +0 -25
  136. package/test/Date.test.js +0 -395
  137. package/test/DateInput.test.js +0 -242
  138. package/test/Dialog.test.js +0 -23
  139. package/test/Dropdown.test.js +0 -145
  140. package/test/FileInput.test.js +0 -201
  141. package/test/Footer.test.js +0 -94
  142. package/test/Header.test.js +0 -34
  143. package/test/Heading.test.js +0 -83
  144. package/test/InputText.test.js +0 -239
  145. package/test/Link.test.js +0 -43
  146. package/test/NumberInput.test.js +0 -259
  147. package/test/Paginator.test.js +0 -181
  148. package/test/PasswordInput.test.js +0 -83
  149. package/test/ProgressBar.test.js +0 -35
  150. package/test/Radio.test.js +0 -37
  151. package/test/ResultsetTable.test.js +0 -330
  152. package/test/Select.test.js +0 -928
  153. package/test/Sidenav.test.js +0 -45
  154. package/test/Slider.test.js +0 -74
  155. package/test/Spinner.test.js +0 -32
  156. package/test/Switch.test.js +0 -45
  157. package/test/Table.test.js +0 -36
  158. package/test/Tabs.test.js +0 -109
  159. package/test/Tag.test.js +0 -32
  160. package/test/TextInput.test.js +0 -731
  161. package/test/Textarea.test.js +0 -193
  162. package/test/ToggleGroup.test.js +0 -85
  163. package/test/Upload.test.js +0 -60
  164. package/test/V3Select.test.js +0 -212
  165. package/test/V3TextArea.test.js +0 -51
  166. package/test/Wizard.test.js +0 -130
  167. package/test/mocks/pngMock.js +0 -1
  168. package/test/mocks/svgMock.js +0 -1
@@ -1,1137 +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 _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
15
-
16
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
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 _useTheme = _interopRequireDefault(require("../useTheme.js"));
25
-
26
- var _variables = require("../common/variables.js");
27
-
28
- var _uuid = require("uuid");
29
-
30
- var _utils = require("../common/utils.js");
31
-
32
- var _Checkbox = _interopRequireDefault(require("../checkbox/Checkbox"));
33
-
34
- function _templateObject28() {
35
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n height: 16px;\n width: 16px;\n margin-left: 4px;\n color: ", ";\n"]);
36
-
37
- _templateObject28 = function _templateObject28() {
38
- return data;
39
- };
40
-
41
- return data;
42
- }
43
-
44
- function _templateObject27() {
45
- var data = (0, _taggedTemplateLiteral2["default"])(["\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n"]);
46
-
47
- _templateObject27 = function _templateObject27() {
48
- return data;
49
- };
50
-
51
- return data;
52
- }
53
-
54
- function _templateObject26() {
55
- var data = (0, _taggedTemplateLiteral2["default"])(["\n width: 16px;\n height: 16px;\n"]);
56
-
57
- _templateObject26 = function _templateObject26() {
58
- return data;
59
- };
60
-
61
- return data;
62
- }
63
-
64
- function _templateObject25() {
65
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n ", "\n color: ", ";\n"]);
66
-
67
- _templateObject25 = function _templateObject25() {
68
- return data;
69
- };
70
-
71
- return data;
72
- }
73
-
74
- function _templateObject24() {
75
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n justify-content: space-between;\n width: 100%;\n overflow: hidden;\n ", "\n"]);
76
-
77
- _templateObject24 = function _templateObject24() {
78
- return data;
79
- };
80
-
81
- return data;
82
- }
83
-
84
- function _templateObject23() {
85
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 8px 3px 0;\n min-height: 24px;\n ", "\n ", ";\n"]);
86
-
87
- _templateObject23 = function _templateObject23() {
88
- return data;
89
- };
90
-
91
- return data;
92
- }
93
-
94
- function _templateObject22() {
95
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0 8px;\n box-shadow: inset 0 0 0 2px transparent;\n ", "\n ", ";\n line-height: 1.715em;\n cursor: pointer;\n\n &:hover {\n ", ";\n }\n &:active {\n ", ";\n }\n"]);
96
-
97
- _templateObject22 = function _templateObject22() {
98
- return data;
99
- };
100
-
101
- return data;
102
- }
103
-
104
- function _templateObject21() {
105
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 4px 16px;\n font-weight: ", ";\n line-height: 1.715em;\n"]);
106
-
107
- _templateObject21 = function _templateObject21() {
108
- return data;
109
- };
110
-
111
- return data;
112
- }
113
-
114
- function _templateObject20() {
115
- var data = (0, _taggedTemplateLiteral2["default"])(["\n padding: 0;\n"]);
116
-
117
- _templateObject20 = function _templateObject20() {
118
- return data;
119
- };
120
-
121
- return data;
122
- }
123
-
124
- function _templateObject19() {
125
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-right: calc(1rem * 0.25);\n"]);
126
-
127
- _templateObject19 = function _templateObject19() {
128
- return data;
129
- };
130
-
131
- return data;
132
- }
133
-
134
- function _templateObject18() {
135
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n padding: 4px 16px;\n color: ", ";\n font-size: 0.875rem;\n line-height: 1.715em;\n"]);
136
-
137
- _templateObject18 = function _templateObject18() {
138
- return data;
139
- };
140
-
141
- return data;
142
- }
143
-
144
- function _templateObject17() {
145
- var data = (0, _taggedTemplateLiteral2["default"])(["\n position: absolute;\n z-index: 1;\n max-height: 304px;\n overflow-x: auto;\n top: calc(100% + 4px);\n left: 0;\n margin: 0;\n padding: 4px 0;\n width: 100%;\n box-sizing: border-box;\n background-color: ", ";\n border: 1px solid ", ";\n border-radius: 4px;\n box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n cursor: default;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n"]);
146
-
147
- _templateObject17 = function _templateObject17() {
148
- return data;
149
- };
150
-
151
- return data;
152
- }
153
-
154
- function _templateObject16() {
155
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n border-radius: 2px;\n padding: 3px;\n margin-left: calc(1rem * 0.25);\n ", "\n background-color: ", ";\n color: ", ";\n\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
156
-
157
- _templateObject16 = function _templateObject16() {
158
- return data;
159
- };
160
-
161
- return data;
162
- }
163
-
164
- function _templateObject15() {
165
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 16px;\n width: 16px;\n padding: 4px;\n margin-left: calc(1rem * 0.25);\n color: ", ";\n"]);
166
-
167
- _templateObject15 = function _templateObject15() {
168
- return data;
169
- };
170
-
171
- return data;
172
- }
173
-
174
- function _templateObject14() {
175
- var data = (0, _taggedTemplateLiteral2["default"])(["\n min-height: 1.5em;\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
176
-
177
- _templateObject14 = function _templateObject14() {
178
- return data;
179
- };
180
-
181
- return data;
182
- }
183
-
184
- function _templateObject13() {
185
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n padding: 3px;\n height: 18px;\n width: 18px;\n margin-left: calc(1rem * 0.25);\n pointer-events: none;\n color: ", ";\n\n svg {\n line-height: 18px;\n font-size: 1.25rem;\n }\n"]);
186
-
187
- _templateObject13 = function _templateObject13() {
188
- return data;
189
- };
190
-
191
- return data;
192
- }
193
-
194
- function _templateObject12() {
195
- var data = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n background: none;\n border: none;\n outline: none;\n padding: 0 calc(1rem * 0.5);\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"]);
196
-
197
- _templateObject12 = function _templateObject12() {
198
- return data;
199
- };
200
-
201
- return data;
202
- }
203
-
204
- function _templateObject11() {
205
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: none;\n"]);
206
-
207
- _templateObject11 = function _templateObject11() {
208
- return data;
209
- };
210
-
211
- return data;
212
- }
213
-
214
- function _templateObject10() {
215
- var data = (0, _taggedTemplateLiteral2["default"])(["\n grid-area: 1 / 1 / 1 / 1;\n display: inline-flex;\n align-items: center;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n padding: 0 calc(1rem * 0.5);\n user-select: none;\n overflow: hidden;\n\n color: ", ";\n\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: 1.5em;\n"]);
216
-
217
- _templateObject10 = function _templateObject10() {
218
- return data;
219
- };
220
-
221
- return data;
222
- }
223
-
224
- function _templateObject9() {
225
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n width: 100%;\n"]);
226
-
227
- _templateObject9 = function _templateObject9() {
228
- return data;
229
- };
230
-
231
- return data;
232
- }
233
-
234
- function _templateObject8() {
235
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-wrap: wrap;\n align-content: center;\n height: 24px;\n width: 24px;\n font-size: 1rem;\n font-family: ", ";\n border: 1px solid transparent;\n padding: 3px;\n ", "\n background-color: ", ";\n color: ", ";\n\n :focus-visible {\n outline: none;\n }\n ", "\n\n svg {\n line-height: 18px;\n }\n"]);
236
-
237
- _templateObject8 = function _templateObject8() {
238
- return data;
239
- };
240
-
241
- return data;
242
- }
243
-
244
- function _templateObject7() {
245
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n user-select: none;\n background-color: ", ";\n border-right: 1px solid ", ";\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n ", "\n"]);
246
-
247
- _templateObject7 = function _templateObject7() {
248
- return data;
249
- };
250
-
251
- return data;
252
- }
253
-
254
- function _templateObject6() {
255
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n border: 1px solid ", ";\n border-radius: 2px;\n width: 48px;\n"]);
256
-
257
- _templateObject6 = function _templateObject6() {
258
- return data;
259
- };
260
-
261
- return data;
262
- }
263
-
264
- function _templateObject5() {
265
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n position: relative;\n align-items: center;\n height: calc(calc(1rem * 2.5) - calc(1px * 2));\n margin: calc(1rem * 0.25) 0;\n padding: 0 calc(1rem * 0.5);\n outline: none;\n box-shadow: 0 0 0 2px transparent;\n border-radius: 4px;\n border: 1px solid\n ", ";\n ", "\n ", ";\n\n ", ";\n"]);
266
-
267
- _templateObject5 = function _templateObject5() {
268
- return data;
269
- };
270
-
271
- return data;
272
- }
273
-
274
- function _templateObject4() {
275
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n"]);
276
-
277
- _templateObject4 = function _templateObject4() {
278
- return data;
279
- };
280
-
281
- return data;
282
- }
283
-
284
- function _templateObject3() {
285
- var data = (0, _taggedTemplateLiteral2["default"])(["\n font-weight: ", ";\n"]);
286
-
287
- _templateObject3 = function _templateObject3() {
288
- return data;
289
- };
290
-
291
- return data;
292
- }
293
-
294
- function _templateObject2() {
295
- var data = (0, _taggedTemplateLiteral2["default"])(["\n color: ", ";\n font-family: ", ";\n font-size: ", ";\n font-style: ", ";\n font-weight: ", ";\n line-height: ", ";\n cursor: default;\n"]);
296
-
297
- _templateObject2 = function _templateObject2() {
298
- return data;
299
- };
300
-
301
- return data;
302
- }
303
-
304
- function _templateObject() {
305
- var data = (0, _taggedTemplateLiteral2["default"])(["\n display: flex;\n flex-direction: column;\n\n width: ", ";\n margin: ", ";\n margin-top: ", ";\n margin-right: ", ";\n margin-bottom: ", ";\n margin-left: ", ";\n"]);
306
-
307
- _templateObject = function _templateObject() {
308
- return data;
309
- };
310
-
311
- return data;
312
- }
313
-
314
- var selectIcons = {
315
- error: _react["default"].createElement("svg", {
316
- role: "img",
317
- xmlns: "http://www.w3.org/2000/svg",
318
- height: "24px",
319
- viewBox: "0 0 24 24",
320
- width: "24px",
321
- fill: "currentColor"
322
- }, _react["default"].createElement("path", {
323
- d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"
324
- })),
325
- arrowUp: _react["default"].createElement("svg", {
326
- role: "img",
327
- xmlns: "http://www.w3.org/2000/svg",
328
- height: "24px",
329
- viewBox: "0 0 24 24",
330
- width: "24px",
331
- fill: "currentColor"
332
- }, _react["default"].createElement("path", {
333
- d: "M0 0h24v24H0V0z",
334
- fill: "none"
335
- }), _react["default"].createElement("path", {
336
- d: "M7.41 15.41L12 10.83l4.59 4.58L18 14l-6-6-6 6 1.41 1.41z"
337
- })),
338
- arrowDown: _react["default"].createElement("svg", {
339
- role: "img",
340
- xmlns: "http://www.w3.org/2000/svg",
341
- height: "24px",
342
- viewBox: "0 0 24 24",
343
- width: "24px",
344
- fill: "currentColor"
345
- }, _react["default"].createElement("path", {
346
- d: "M0 0h24v24H0V0z",
347
- fill: "none"
348
- }), _react["default"].createElement("path", {
349
- d: "M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"
350
- })),
351
- clear: _react["default"].createElement("svg", {
352
- role: "img",
353
- xmlns: "http://www.w3.org/2000/svg",
354
- width: "24",
355
- height: "24",
356
- viewBox: "0 0 24 24",
357
- fill: "currentColor"
358
- }, _react["default"].createElement("path", {
359
- d: "M0 0h24v24H0V0z",
360
- fill: "none"
361
- }), _react["default"].createElement("path", {
362
- d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"
363
- })),
364
- selected: _react["default"].createElement("svg", {
365
- role: "img",
366
- xmlns: "http://www.w3.org/2000/svg",
367
- height: "24px",
368
- viewBox: "0 0 24 24",
369
- width: "24px",
370
- fill: "currentColor"
371
- }, _react["default"].createElement("path", {
372
- d: "M0 0h24v24H0z",
373
- fill: "none"
374
- }), _react["default"].createElement("path", {
375
- d: "M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"
376
- })),
377
- searchOff: _react["default"].createElement("svg", {
378
- role: "img",
379
- xmlns: "http://www.w3.org/2000/svg",
380
- height: "24px",
381
- viewBox: "0 0 24 24",
382
- width: "24px",
383
- fill: "currentColor"
384
- }, _react["default"].createElement("g", null, _react["default"].createElement("rect", {
385
- fill: "none",
386
- height: "24",
387
- width: "24"
388
- })), _react["default"].createElement("g", null, _react["default"].createElement("g", null, _react["default"].createElement("path", {
389
- d: "M15.5,14h-0.79l-0.28-0.27C15.41,12.59,16,11.11,16,9.5C16,5.91,13.09,3,9.5,3C6.08,3,3.28,5.64,3.03,9h2.02 C5.3,6.75,7.18,5,9.5,5C11.99,5,14,7.01,14,9.5S11.99,14,9.5,14c-0.17,0-0.33-0.03-0.5-0.05v2.02C9.17,15.99,9.33,16,9.5,16 c1.61,0,3.09-0.59,4.23-1.57L14,14.71v0.79l5,4.99L20.49,19L15.5,14z"
390
- }), _react["default"].createElement("polygon", {
391
- points: "6.47,10.82 4,13.29 1.53,10.82 0.82,11.53 3.29,14 0.82,16.47 1.53,17.18 4,14.71 6.47,17.18 7.18,16.47 4.71,14 7.18,11.53"
392
- }))))
393
- };
394
-
395
- var getNotOptionalErrorMessage = function getNotOptionalErrorMessage() {
396
- return "This field is required. Please, enter a value.";
397
- };
398
-
399
- var filterOptionsBySearchValue = function filterOptionsBySearchValue(options, searchValue) {
400
- if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
401
- if (options[0].options) return options.map(function (optionGroup) {
402
- var group = {
403
- label: optionGroup.label,
404
- options: optionGroup.options.filter(function (option) {
405
- return option.label.toUpperCase().includes(searchValue.toUpperCase());
406
- })
407
- };
408
- return group;
409
- });else return options.filter(function (option) {
410
- return option.label.toUpperCase().includes(searchValue.toUpperCase());
411
- });
412
- }
413
- };
414
-
415
- var DxcSelect = _react["default"].forwardRef(function (_ref, ref) {
416
- var _ref3;
417
-
418
- var _ref$label = _ref.label,
419
- label = _ref$label === void 0 ? "" : _ref$label,
420
- _ref$name = _ref.name,
421
- name = _ref$name === void 0 ? "" : _ref$name,
422
- value = _ref.value,
423
- options = _ref.options,
424
- _ref$helperText = _ref.helperText,
425
- helperText = _ref$helperText === void 0 ? "" : _ref$helperText,
426
- _ref$placeholder = _ref.placeholder,
427
- placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
428
- _ref$disabled = _ref.disabled,
429
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
430
- _ref$optional = _ref.optional,
431
- optional = _ref$optional === void 0 ? false : _ref$optional,
432
- _ref$searchable = _ref.searchable,
433
- searchable = _ref$searchable === void 0 ? false : _ref$searchable,
434
- _ref$multiple = _ref.multiple,
435
- multiple = _ref$multiple === void 0 ? false : _ref$multiple,
436
- onChange = _ref.onChange,
437
- onBlur = _ref.onBlur,
438
- _ref$error = _ref.error,
439
- error = _ref$error === void 0 ? "" : _ref$error,
440
- margin = _ref.margin,
441
- _ref$size = _ref.size,
442
- size = _ref$size === void 0 ? "medium" : _ref$size,
443
- _ref$tabIndex = _ref.tabIndex,
444
- tabIndex = _ref$tabIndex === void 0 ? 0 : _ref$tabIndex;
445
-
446
- var _useState = (0, _react.useState)("select-".concat((0, _uuid.v4)())),
447
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
448
- selectId = _useState2[0];
449
-
450
- var selectLabelId = "label-".concat(selectId);
451
- var optionsListId = "".concat(selectId, "-listbox");
452
-
453
- var _useState3 = (0, _react.useState)(multiple ? [] : ""),
454
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
455
- innerValue = _useState4[0],
456
- setInnerValue = _useState4[1];
457
-
458
- var _useState5 = (0, _react.useState)(""),
459
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
460
- searchValue = _useState6[0],
461
- setSearchValue = _useState6[1];
462
-
463
- var _useState7 = (0, _react.useState)(-1),
464
- _useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
465
- visualFocusIndex = _useState8[0],
466
- changeVisualFocusIndex = _useState8[1];
467
-
468
- var _useState9 = (0, _react.useState)(false),
469
- _useState10 = (0, _slicedToArray2["default"])(_useState9, 2),
470
- isOpen = _useState10[0],
471
- changeIsOpen = _useState10[1];
472
-
473
- var selectContainerRef = (0, _react.useRef)(null);
474
- var selectSearchInputRef = (0, _react.useRef)(null);
475
- var selectOptionsListRef = (0, _react.useRef)(null);
476
- var colorsTheme = (0, _useTheme["default"])();
477
- var optionalEmptyOption = {
478
- label: placeholder,
479
- value: ""
480
- };
481
- var filteredOptions = (0, _react.useMemo)(function () {
482
- return filterOptionsBySearchValue(options, searchValue);
483
- }, [options, searchValue]);
484
-
485
- var getLastOptionIndex = function getLastOptionIndex() {
486
- var last = 0;
487
-
488
- var reducer = function reducer(acc, current) {
489
- var _current$options;
490
-
491
- return acc + ((_current$options = current.options) === null || _current$options === void 0 ? void 0 : _current$options.length);
492
- };
493
-
494
- if (searchable && filteredOptions.length > 0) filteredOptions[0].options ? last = filteredOptions.reduce(reducer, 0) - 1 : last = filteredOptions.length - 1;else if ((options === null || options === void 0 ? void 0 : options.length) > 0) options[0].options ? last = options.reduce(reducer, 0) - 1 : last = options.length - 1;
495
- return optional && !multiple ? last + 1 : last;
496
- };
497
-
498
- var lastOptionIndex = (0, _react.useMemo)(function () {
499
- return getLastOptionIndex();
500
- }, [searchable, optional, multiple, filteredOptions, options]);
501
-
502
- var getSelectedOption = function getSelectedOption() {
503
- var val = value !== null && value !== void 0 ? value : innerValue;
504
- var selectedOption = multiple ? [] : "";
505
- var singleSelectionIndex;
506
-
507
- if (multiple) {
508
- if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
509
- options.forEach(function (option) {
510
- if (option.options) {
511
- option.options.forEach(function (singleOption) {
512
- if (val.includes(singleOption.value)) selectedOption.push(singleOption);
513
- });
514
- } else if (val.includes(option.value)) selectedOption.push(option);
515
- });
516
- }
517
- } else {
518
- if (optional && val === "") {
519
- selectedOption = optionalEmptyOption;
520
- singleSelectionIndex = 0;
521
- } else if ((options === null || options === void 0 ? void 0 : options.length) > 0) {
522
- var group_index = 0;
523
- options.some(function (option, index) {
524
- if (option.options) {
525
- option.options.some(function (singleOption) {
526
- if (singleOption.value === val) {
527
- selectedOption = singleOption;
528
- singleSelectionIndex = optional ? group_index + 1 : group_index;
529
- return true;
530
- }
531
-
532
- group_index++;
533
- });
534
- } else if (option.value === val) {
535
- selectedOption = option;
536
- singleSelectionIndex = optional ? index + 1 : index;
537
- return true;
538
- }
539
- });
540
- }
541
- }
542
-
543
- return {
544
- selectedOption: selectedOption,
545
- singleSelectionIndex: singleSelectionIndex
546
- };
547
- };
548
-
549
- var _useMemo = (0, _react.useMemo)(function () {
550
- return getSelectedOption();
551
- }, [options, multiple, value, innerValue]),
552
- selectedOption = _useMemo.selectedOption,
553
- singleSelectionIndex = _useMemo.singleSelectionIndex;
554
-
555
- var notOptionalCheck = function notOptionalCheck(value) {
556
- return value === "" && !optional;
557
- };
558
-
559
- var notOptionalMultipleCheck = function notOptionalMultipleCheck() {
560
- return (value !== null && value !== void 0 ? value : innerValue).length === 0 && !optional;
561
- };
562
-
563
- var canBeOpenOptions = function canBeOpenOptions() {
564
- return !disabled && (options === null || options === void 0 ? void 0 : options.length) > 0 && groupsHaveOptions();
565
- };
566
-
567
- var groupsHaveOptions = function groupsHaveOptions() {
568
- return options[0].hasOwnProperty("options") ? options[0].options ? options.some(function (groupOption) {
569
- return groupOption.options.length > 0;
570
- }) : false : true;
571
- };
572
-
573
- var filteredGroupsHaveOptions = function filteredGroupsHaveOptions() {
574
- return filteredOptions !== null && filteredOptions !== void 0 && filteredOptions[0].options ? filteredOptions.some(function (groupOption) {
575
- var _groupOption$options;
576
-
577
- return ((_groupOption$options = groupOption.options) === null || _groupOption$options === void 0 ? void 0 : _groupOption$options.length) > 0;
578
- }) : true;
579
- };
580
-
581
- var openOptions = function openOptions() {
582
- if (!isOpen && canBeOpenOptions()) changeIsOpen(true);
583
- };
584
-
585
- var closeOptions = function closeOptions() {
586
- if (isOpen) {
587
- changeIsOpen(false);
588
- changeVisualFocusIndex(-1);
589
- }
590
- };
591
-
592
- var handleSelectChangeValue = function handleSelectChangeValue(newOption) {
593
- if (multiple) {
594
- var _res, _res2;
595
-
596
- var res;
597
- if ((value !== null && value !== void 0 ? value : innerValue).includes(newOption.value)) value ? res = value.filter(function (optionVal) {
598
- return optionVal !== newOption.value;
599
- }) : setInnerValue(function (previous) {
600
- return previous.filter(function (optionVal) {
601
- return optionVal !== newOption.value;
602
- });
603
- });else value ? res = [].concat((0, _toConsumableArray2["default"])(value), [newOption.value]) : setInnerValue(function (previous) {
604
- return [].concat((0, _toConsumableArray2["default"])(previous), [newOption.value]);
605
- });
606
- if (notOptionalMultipleCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
607
- value: (_res = res) !== null && _res !== void 0 ? _res : innerValue,
608
- error: getNotOptionalErrorMessage()
609
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
610
- value: (_res2 = res) !== null && _res2 !== void 0 ? _res2 : innerValue,
611
- error: null
612
- });
613
- } else {
614
- value !== null && value !== void 0 ? value : setInnerValue(newOption.value);
615
- if (notOptionalCheck(newOption.value)) onChange === null || onChange === void 0 ? void 0 : onChange({
616
- value: newOption.value,
617
- error: getNotOptionalErrorMessage()
618
- });else onChange === null || onChange === void 0 ? void 0 : onChange({
619
- value: newOption.value,
620
- error: null
621
- });
622
- }
623
- };
624
-
625
- var handleSelectOnClick = function handleSelectOnClick() {
626
- searchable && selectSearchInputRef.current.focus();
627
-
628
- if (isOpen) {
629
- closeOptions();
630
- setSearchValue("");
631
- } else openOptions();
632
- };
633
-
634
- var handleSelectOnFocus = function handleSelectOnFocus(event) {
635
- if (!event.currentTarget.contains(event.relatedTarget)) searchable && selectSearchInputRef.current.focus();
636
- };
637
-
638
- var handleSelectOnBlur = function handleSelectOnBlur(event) {
639
- // focus leaves container (outside, not to childs)
640
- if (!event.currentTarget.contains(event.relatedTarget)) {
641
- closeOptions();
642
- setSearchValue("");
643
- if (notOptionalCheck(value !== null && value !== void 0 ? value : innerValue)) onBlur === null || onBlur === void 0 ? void 0 : onBlur({
644
- value: value !== null && value !== void 0 ? value : innerValue,
645
- error: getNotOptionalErrorMessage()
646
- });else onBlur === null || onBlur === void 0 ? void 0 : onBlur({
647
- value: value !== null && value !== void 0 ? value : innerValue,
648
- error: null
649
- });
650
- }
651
- };
652
-
653
- var handleSelectOnKeyDown = function handleSelectOnKeyDown(event) {
654
- switch (event.keyCode) {
655
- case 40:
656
- // Arrow Down
657
- event.preventDefault();
658
- singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
659
- if (visualFocusIndex < lastOptionIndex) return visualFocusIndex + 1;else if (visualFocusIndex === lastOptionIndex) return 0;
660
- });
661
- openOptions();
662
- break;
663
-
664
- case 38:
665
- // Arrow Up
666
- event.preventDefault();
667
- singleSelectionIndex !== undefined && (!isOpen || visualFocusIndex === -1 && singleSelectionIndex > -1 && singleSelectionIndex <= lastOptionIndex) ? changeVisualFocusIndex(singleSelectionIndex) : changeVisualFocusIndex(function (visualFocusIndex) {
668
- return visualFocusIndex === 0 || visualFocusIndex === -1 ? lastOptionIndex : visualFocusIndex - 1;
669
- });
670
- openOptions();
671
- break;
672
-
673
- case 27:
674
- // Esc
675
- event.preventDefault();
676
- closeOptions();
677
- setSearchValue("");
678
- break;
679
-
680
- case 13:
681
- // Enter
682
- if (isOpen && visualFocusIndex >= 0) {
683
- var accLength = optional && !multiple ? 1 : 0;
684
-
685
- if (searchable) {
686
- if (filteredOptions.length > 0) {
687
- if (optional && !multiple && visualFocusIndex === 0 && filteredGroupsHaveOptions()) handleSelectChangeValue(optionalEmptyOption);else filteredOptions[0].options ? filteredGroupsHaveOptions() && filteredOptions.some(function (groupOption) {
688
- var groupLength = accLength + groupOption.options.length;
689
- groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
690
- accLength = groupLength;
691
- return groupLength > visualFocusIndex;
692
- }) : handleSelectChangeValue(filteredOptions[visualFocusIndex - accLength]);
693
- }
694
- } else {
695
- if (optional && !multiple && visualFocusIndex === 0) handleSelectChangeValue(optionalEmptyOption);else options[0].options ? options.some(function (groupOption) {
696
- var groupLength = accLength + groupOption.options.length;
697
- groupLength > visualFocusIndex && handleSelectChangeValue(groupOption.options[visualFocusIndex - accLength]);
698
- accLength = groupLength;
699
- return groupLength > visualFocusIndex;
700
- }) : handleSelectChangeValue(options[visualFocusIndex - accLength]);
701
- }
702
-
703
- !multiple && closeOptions();
704
- setSearchValue("");
705
- }
706
-
707
- break;
708
- }
709
- };
710
-
711
- var handleSearchIOnChange = function handleSearchIOnChange(event) {
712
- setSearchValue(event.target.value);
713
- changeVisualFocusIndex(-1);
714
- openOptions();
715
- };
716
-
717
- var handleClearOptionsActionOnClick = function handleClearOptionsActionOnClick(event) {
718
- event.stopPropagation();
719
- value !== null && value !== void 0 ? value : setInnerValue([]);
720
- onChange === null || onChange === void 0 ? void 0 : onChange({
721
- value: [],
722
- error: getNotOptionalErrorMessage()
723
- });
724
- };
725
-
726
- var handleClearSearchActionOnClick = function handleClearSearchActionOnClick(event) {
727
- event.stopPropagation();
728
- setSearchValue("");
729
- };
730
-
731
- (0, _react.useLayoutEffect)(function () {
732
- if (isOpen && singleSelectionIndex) {
733
- var _listEl$scrollTo;
734
-
735
- var listEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : selectOptionsListRef.current;
736
- var selectedListOptionEl = listEl === null || listEl === void 0 ? void 0 : listEl.querySelector("[aria-selected='true']");
737
- listEl === null || listEl === void 0 ? void 0 : (_listEl$scrollTo = listEl.scrollTo) === null || _listEl$scrollTo === void 0 ? void 0 : _listEl$scrollTo.call(listEl, {
738
- top: (selectedListOptionEl === null || selectedListOptionEl === void 0 ? void 0 : selectedListOptionEl.offsetTop) - (listEl === null || listEl === void 0 ? void 0 : listEl.clientHeight) / 2
739
- });
740
- }
741
- }, [isOpen]);
742
- (0, _react.useLayoutEffect)(function () {
743
- var _selectOptionsListRef, _visualFocusedOptionE;
744
-
745
- var visualFocusedOptionEl = selectOptionsListRef === null || selectOptionsListRef === void 0 ? void 0 : (_selectOptionsListRef = selectOptionsListRef.current) === null || _selectOptionsListRef === void 0 ? void 0 : _selectOptionsListRef.querySelectorAll("[role='option']")[visualFocusIndex];
746
- visualFocusedOptionEl === null || visualFocusedOptionEl === void 0 ? void 0 : (_visualFocusedOptionE = visualFocusedOptionEl.scrollIntoView) === null || _visualFocusedOptionE === void 0 ? void 0 : _visualFocusedOptionE.call(visualFocusedOptionEl, {
747
- block: "nearest",
748
- inline: "start"
749
- });
750
- }, [visualFocusIndex]);
751
-
752
- var Option = function Option(_ref2) {
753
- var option = _ref2.option,
754
- index = _ref2.index,
755
- _ref2$isGroupedOption = _ref2.isGroupedOption,
756
- isGroupedOption = _ref2$isGroupedOption === void 0 ? false : _ref2$isGroupedOption;
757
- var isSelected = multiple ? (value !== null && value !== void 0 ? value : innerValue).includes(option.value) : (value !== null && value !== void 0 ? value : innerValue) === option.value;
758
- var isLastOption = index === lastOptionIndex;
759
- return _react["default"].createElement(OptionItem, {
760
- id: "option-".concat(index),
761
- onClick: function onClick() {
762
- // left mouse button only
763
- handleSelectChangeValue(option);
764
- !multiple && closeOptions();
765
- setSearchValue("");
766
- },
767
- visualFocused: visualFocusIndex === index,
768
- selected: isSelected,
769
- role: "option",
770
- "aria-selected": isSelected && "true"
771
- }, _react["default"].createElement(StyledOption, {
772
- visualFocused: visualFocusIndex === index,
773
- selected: isSelected,
774
- last: isLastOption,
775
- grouped: isGroupedOption,
776
- multiple: multiple
777
- }, multiple && _react["default"].createElement(_Checkbox["default"], {
778
- tabIndex: -1,
779
- checked: isSelected
780
- }), option.icon && _react["default"].createElement(OptionIcon, {
781
- grouped: isGroupedOption,
782
- multiple: multiple,
783
- role: !(typeof option.icon === "string") && "img"
784
- }, typeof option.icon === "string" ? _react["default"].createElement(OptionIconImg, {
785
- src: option.icon
786
- }) : option.icon), _react["default"].createElement(OptionContent, {
787
- grouped: isGroupedOption,
788
- hasIcon: option.icon,
789
- multiple: multiple
790
- }, _react["default"].createElement(OptionLabel, null, option.label), !multiple && isSelected && _react["default"].createElement(OptionSelectedIndicator, null, selectIcons.selected))));
791
- };
792
-
793
- var global_index = optional && !multiple ? 0 : -1; // index for options, starting from 0 to options.length -1
794
-
795
- var mapOptionFunc = function mapOptionFunc(option) {
796
- if (option.options) {
797
- return option.options.length > 0 && _react["default"].createElement("li", null, _react["default"].createElement(GroupList, {
798
- role: "group"
799
- }, _react["default"].createElement(GroupLabel, {
800
- role: "presentation"
801
- }, option.label), option.options.map(function (singleOption) {
802
- global_index++;
803
- return _react["default"].createElement(Option, {
804
- option: singleOption,
805
- index: global_index,
806
- isGroupedOption: true
807
- });
808
- })));
809
- } else {
810
- global_index++;
811
- return _react["default"].createElement(Option, {
812
- option: option,
813
- index: global_index
814
- });
815
- }
816
- };
817
-
818
- return _react["default"].createElement(_styledComponents.ThemeProvider, {
819
- theme: colorsTheme.select
820
- }, _react["default"].createElement(SelectContainer, {
821
- margin: margin,
822
- size: size,
823
- ref: ref
824
- }, _react["default"].createElement(Label, {
825
- id: selectLabelId,
826
- disabled: disabled,
827
- onClick: function onClick() {
828
- selectContainerRef.current.focus();
829
- }
830
- }, label, " ", optional && _react["default"].createElement(OptionalLabel, null, "(Optional)")), _react["default"].createElement(HelperText, {
831
- disabled: disabled
832
- }, helperText), _react["default"].createElement(Select, {
833
- id: selectId,
834
- disabled: disabled,
835
- error: error,
836
- onBlur: handleSelectOnBlur,
837
- onClick: handleSelectOnClick,
838
- onFocus: handleSelectOnFocus,
839
- onKeyDown: handleSelectOnKeyDown,
840
- ref: selectContainerRef,
841
- tabIndex: tabIndex,
842
- role: "combobox",
843
- "aria-controls": optionsListId,
844
- "aria-expanded": isOpen ? "true" : "false",
845
- "aria-haspopup": "listbox",
846
- "aria-labelledby": selectLabelId,
847
- "aria-activedescendant": visualFocusIndex >= 0 ? "option-".concat(visualFocusIndex) : undefined,
848
- "aria-invalid": error ? "true" : "false",
849
- "aria-required": optional ? "false" : "true"
850
- }, multiple && selectedOption.length > 0 && _react["default"].createElement(SelectionIndicator, null, _react["default"].createElement(SelectionNumber, {
851
- disabled: disabled
852
- }, selectedOption.length, " "), _react["default"].createElement(ClearOptionsAction, {
853
- disabled: disabled,
854
- onMouseDown: function onMouseDown(event) {
855
- // Avoid input to lose focus when pressed
856
- event.preventDefault();
857
- },
858
- onClick: handleClearOptionsActionOnClick,
859
- tabIndex: -1,
860
- title: "Clear selected options",
861
- "aria-label": "Clear selected options"
862
- }, selectIcons.clear)), _react["default"].createElement(SearchableValueContainer, null, _react["default"].createElement(ValueInput, {
863
- name: name,
864
- value: multiple ? (value !== null && value !== void 0 ? value : innerValue).join(", ") : value !== null && value !== void 0 ? value : innerValue,
865
- readOnly: true,
866
- "aria-hidden": "true"
867
- }), searchable && _react["default"].createElement(SearchInput, {
868
- value: searchValue,
869
- disabled: disabled,
870
- onChange: handleSearchIOnChange,
871
- ref: selectSearchInputRef,
872
- autoComplete: "off",
873
- autoCorrect: "off"
874
- }), (!searchable || searchValue === "") && (multiple ? _react["default"].createElement(SelectedOption, {
875
- disabled: disabled,
876
- atBackground: (value !== null && value !== void 0 ? value : innerValue).length === 0 || isOpen
877
- }, _react["default"].createElement(OptionLabel, null, selectedOption.map(function (option) {
878
- return option.label;
879
- }).join(", ")), selectedOption.length === 0 && placeholder) : _react["default"].createElement(SelectedOption, {
880
- disabled: disabled,
881
- atBackground: !(value !== null && value !== void 0 ? value : innerValue) || isOpen
882
- }, _react["default"].createElement(OptionLabel, null, (_ref3 = selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.label) !== null && _ref3 !== void 0 ? _ref3 : placeholder)))), !disabled && error && _react["default"].createElement(ErrorIcon, null, selectIcons.error), searchable && searchValue.length > 0 && _react["default"].createElement(ClearSearchAction, {
883
- onMouseDown: function onMouseDown(event) {
884
- // Avoid input to lose focus
885
- event.preventDefault();
886
- },
887
- onClick: handleClearSearchActionOnClick,
888
- tabIndex: -1,
889
- title: "Clear search text",
890
- "aria-label": "Clear search text"
891
- }, selectIcons.clear), _react["default"].createElement(CollapseIndicator, {
892
- disabled: disabled
893
- }, isOpen ? selectIcons.arrowUp : selectIcons.arrowDown), isOpen && _react["default"].createElement(OptionsList, {
894
- id: optionsListId,
895
- onClick: function onClick(event) {
896
- event.stopPropagation();
897
- },
898
- onMouseDown: function onMouseDown(event) {
899
- event.preventDefault();
900
- },
901
- ref: selectOptionsListRef,
902
- role: "listbox",
903
- "aria-labelledby": selectLabelId,
904
- "aria-multiselectable": multiple ? "true" : "false"
905
- }, searchable && (filteredOptions.length === 0 || !filteredGroupsHaveOptions()) ? _react["default"].createElement(OptionsSystemMessage, null, _react["default"].createElement(NoMatchesFoundIcon, null, selectIcons.searchOff), "No matches found") : optional && !multiple && _react["default"].createElement(Option, {
906
- option: optionalEmptyOption,
907
- index: 0
908
- }), searchable ? filteredOptions.map(mapOptionFunc) : options.map(mapOptionFunc))), !disabled && _react["default"].createElement(Error, null, error)));
909
- });
910
-
911
- var sizes = {
912
- small: "240px",
913
- medium: "360px",
914
- large: "480px",
915
- fillParent: "100%"
916
- };
917
-
918
- var calculateWidth = function calculateWidth(margin, size) {
919
- return size === "fillParent" ? "calc(".concat(sizes[size], " - ").concat((0, _utils.getMargin)(margin, "left"), " - ").concat((0, _utils.getMargin)(margin, "right"), ")") : sizes[size];
920
- };
921
-
922
- var SelectContainer = _styledComponents["default"].div(_templateObject(), function (props) {
923
- return calculateWidth(props.margin, props.size);
924
- }, function (props) {
925
- return props.margin && (0, _typeof2["default"])(props.margin) !== "object" ? _variables.spaces[props.margin] : "0px";
926
- }, function (props) {
927
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.top ? _variables.spaces[props.margin.top] : "";
928
- }, function (props) {
929
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.right ? _variables.spaces[props.margin.right] : "";
930
- }, function (props) {
931
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.bottom ? _variables.spaces[props.margin.bottom] : "";
932
- }, function (props) {
933
- return props.margin && (0, _typeof2["default"])(props.margin) === "object" && props.margin.left ? _variables.spaces[props.margin.left] : "";
934
- });
935
-
936
- var Label = _styledComponents["default"].span(_templateObject2(), function (props) {
937
- return props.disabled ? props.theme.disabledColor : props.theme.labelFontColor;
938
- }, function (props) {
939
- return props.theme.fontFamily;
940
- }, function (props) {
941
- return props.theme.labelFontSize;
942
- }, function (props) {
943
- return props.theme.labelFontStyle;
944
- }, function (props) {
945
- return props.theme.labelFontWeight;
946
- }, function (props) {
947
- return props.theme.labelLineHeight;
948
- });
949
-
950
- var OptionalLabel = _styledComponents["default"].span(_templateObject3(), function (props) {
951
- return props.theme.optionalLabelFontWeight;
952
- });
953
-
954
- var HelperText = _styledComponents["default"].span(_templateObject4(), function (props) {
955
- return props.disabled ? props.theme.disabledColor : props.theme.helperTextFontColor;
956
- }, function (props) {
957
- return props.theme.fontFamily;
958
- }, function (props) {
959
- return props.theme.helperTextFontSize;
960
- }, function (props) {
961
- return props.theme.helperTextFontStyle;
962
- }, function (props) {
963
- return props.theme.helperTextFontWeight;
964
- }, function (props) {
965
- return props.theme.helperTextLineHeight;
966
- });
967
-
968
- var Select = _styledComponents["default"].div(_templateObject5(), function (props) {
969
- return props.disabled ? props.theme.disabledInputBorderColor : props.theme.enabledInputBorderColor;
970
- }, function (props) {
971
- return props.error && !props.disabled && "border-color: transparent;\n box-shadow: 0 0 0 2px ".concat(props.theme.errorInputBorderColor, ";\n ");
972
- }, function (props) {
973
- return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
974
- }, function (props) {
975
- return !props.disabled && "\n &:hover {\n border-color: ".concat(props.error ? "transparent" : props.theme.hoverInputBorderColor, ";\n ").concat(props.error && "box-shadow: 0 0 0 2px ".concat(props.theme.hoverInputErrorBorderColor, ";"), "\n }\n &:focus-within {\n border-color: transparent;\n box-shadow: 0 0 0 2px ").concat(props.theme.focusInputBorderColor, ";\n }\n ");
976
- });
977
-
978
- var SelectionIndicator = _styledComponents["default"].span(_templateObject6(), function (props) {
979
- return props.theme.selectionIndicatorBorderColor;
980
- });
981
-
982
- var SelectionNumber = _styledComponents["default"].span(_templateObject7(), function (props) {
983
- return props.theme.selectionIndicatorBackgroundColor;
984
- }, function (props) {
985
- return props.theme.selectionIndicatorBorderColor;
986
- }, function (props) {
987
- return props.disabled ? props.theme.disabledColor : props.theme.selectionIndicatorFontColor;
988
- }, function (props) {
989
- return props.theme.fontFamily;
990
- }, function (props) {
991
- return props.theme.selectionIndicatorFontSize;
992
- }, function (props) {
993
- return props.theme.selectionIndicatorFontStyle;
994
- }, function (props) {
995
- return props.theme.selectionIndicatorFontWeight;
996
- }, function (props) {
997
- return props.disabled ? "cursor: not-allowed;" : "cursor: default;";
998
- });
999
-
1000
- var ClearOptionsAction = _styledComponents["default"].button(_templateObject8(), function (props) {
1001
- return props.theme.fontFamily;
1002
- }, function (props) {
1003
- return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
1004
- }, function (props) {
1005
- return props.theme.enabledSelectionIndicatorActionBackgroundColor;
1006
- }, function (props) {
1007
- return props.disabled ? props.theme.disabledColor : props.theme.enabledSelectionIndicatorActionIconColor;
1008
- }, function (props) {
1009
- return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.hoverSelectionIndicatorActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeSelectionIndicatorActionBackgroundColor, ";\n color: ").concat(props.theme.activeSelectionIndicatorActionIconColor, ";\n }\n ");
1010
- });
1011
-
1012
- var SearchableValueContainer = _styledComponents["default"].div(_templateObject9());
1013
-
1014
- var SelectedOption = _styledComponents["default"].span(_templateObject10(), function (props) {
1015
- if (props.disabled) return props.theme.disabledColor;else if (props.atBackground) return props.theme.placeholderFontColor;else return props.theme.valueFontColor;
1016
- }, function (props) {
1017
- return props.theme.fontFamily;
1018
- }, function (props) {
1019
- return props.theme.valueFontSize;
1020
- }, function (props) {
1021
- return props.theme.valueFontStyle;
1022
- }, function (props) {
1023
- return props.theme.valueFontWeight;
1024
- });
1025
-
1026
- var ValueInput = _styledComponents["default"].input(_templateObject11());
1027
-
1028
- var SearchInput = _styledComponents["default"].input(_templateObject12(), function (props) {
1029
- return props.disabled ? props.theme.disabledColor : props.theme.valueFontColor;
1030
- }, function (props) {
1031
- return props.theme.fontFamily;
1032
- }, function (props) {
1033
- return props.theme.valueFontSize;
1034
- }, function (props) {
1035
- return props.theme.valueFontStyle;
1036
- }, function (props) {
1037
- return props.theme.valueFontWeight;
1038
- });
1039
-
1040
- var ErrorIcon = _styledComponents["default"].span(_templateObject13(), function (props) {
1041
- return props.theme.errorColor;
1042
- });
1043
-
1044
- var Error = _styledComponents["default"].span(_templateObject14(), function (props) {
1045
- return props.theme.errorColor;
1046
- }, function (props) {
1047
- return props.theme.fontFamily;
1048
- }, function (props) {
1049
- return props.theme.errorMessageFontSize;
1050
- }, function (props) {
1051
- return props.theme.errorMessagetFontStyle;
1052
- }, function (props) {
1053
- return props.theme.errorMessageFontWeight;
1054
- }, function (props) {
1055
- return props.theme.errorMessagetLineHeight;
1056
- });
1057
-
1058
- var CollapseIndicator = _styledComponents["default"].span(_templateObject15(), function (props) {
1059
- return props.disabled ? props.theme.disabledColor : props.theme.collapseIndicatorColor;
1060
- });
1061
-
1062
- var ClearSearchAction = _styledComponents["default"].button(_templateObject16(), function (props) {
1063
- return props.theme.fontFamily;
1064
- }, function (props) {
1065
- return props.disabled ? "cursor: not-allowed;" : "cursor: pointer;";
1066
- }, function (props) {
1067
- return props.disabled ? props.theme.disabledActionBackgroundColor : props.theme.actionBackgroundColor;
1068
- }, function (props) {
1069
- return props.disabled ? props.theme.disabledColor : props.theme.actionIconColor;
1070
- }, function (props) {
1071
- return !props.disabled && "\n &:hover {\n background-color: ".concat(props.theme.hoverActionBackgroundColor, ";\n color: ").concat(props.theme.hoverActionIconColor, ";\n }\n &:active {\n background-color: ").concat(props.theme.activeActionBackgroundColor, ";\n color: ").concat(props.theme.activeActionIconColor, ";\n }\n ");
1072
- });
1073
-
1074
- var OptionsList = _styledComponents["default"].ul(_templateObject17(), function (props) {
1075
- return props.theme.itemListBackgroundColor;
1076
- }, function (props) {
1077
- return props.theme.itemListBorderColor;
1078
- }, function (props) {
1079
- return props.theme.listItemFontColor;
1080
- }, function (props) {
1081
- return props.theme.fontFamily;
1082
- }, function (props) {
1083
- return props.theme.listItemFontSize;
1084
- }, function (props) {
1085
- return props.theme.listItemFontStyle;
1086
- }, function (props) {
1087
- return props.theme.listItemFontWeight;
1088
- });
1089
-
1090
- var OptionsSystemMessage = _styledComponents["default"].span(_templateObject18(), function (props) {
1091
- return props.theme.systemMessageFontColor;
1092
- });
1093
-
1094
- var NoMatchesFoundIcon = _styledComponents["default"].span(_templateObject19());
1095
-
1096
- var GroupList = _styledComponents["default"].ul(_templateObject20());
1097
-
1098
- var GroupLabel = _styledComponents["default"].li(_templateObject21(), function (props) {
1099
- return props.theme.listGroupItemFontWeight;
1100
- });
1101
-
1102
- var OptionItem = _styledComponents["default"].li(_templateObject22(), function (props) {
1103
- return props.visualFocused && "box-shadow: inset 0 0 0 2px ".concat(props.theme.focusListItemBorderColor, ";");
1104
- }, function (props) {
1105
- return props.selected && "background-color: ".concat(props.theme.selectedListItemBackgroundColor);
1106
- }, function (props) {
1107
- return props.selected ? "background-color: ".concat(props.theme.selectedHoverListItemBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedHoverListItemBackgroundColor, ";");
1108
- }, function (props) {
1109
- return props.selected ? "background-color: ".concat(props.theme.selectedActiveListItemBackgroundColor, ";") : "background-color: ".concat(props.theme.unselectedActiveListItemBackgroundColor, ";");
1110
- });
1111
-
1112
- var StyledOption = _styledComponents["default"].span(_templateObject23(), function (props) {
1113
- return props.grouped && props.multiple && "padding-left: 16px;";
1114
- }, function (props) {
1115
- return props.last || props.visualFocused || props.selected ? "border-bottom: 1px solid transparent" : "border-bottom: 1px solid ".concat(props.theme.listItemDividerColor);
1116
- });
1117
-
1118
- var OptionContent = _styledComponents["default"].span(_templateObject24(), function (props) {
1119
- return props.grouped && !props.multiple && !props.hasIcon ? "padding-left: 16px;" : "padding-left: 8px;";
1120
- });
1121
-
1122
- var OptionIcon = _styledComponents["default"].span(_templateObject25(), function (props) {
1123
- return props.grouped && !props.multiple ? "padding-left: 16px;" : "padding-left: 8px;";
1124
- }, function (props) {
1125
- return props.theme.listItemIconColor;
1126
- });
1127
-
1128
- var OptionIconImg = _styledComponents["default"].img(_templateObject26());
1129
-
1130
- var OptionLabel = _styledComponents["default"].span(_templateObject27());
1131
-
1132
- var OptionSelectedIndicator = _styledComponents["default"].span(_templateObject28(), function (props) {
1133
- return props.theme.selectedListItemIconColor;
1134
- });
1135
-
1136
- var _default = DxcSelect;
1137
- exports["default"] = _default;