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