@ultraviolet/ui 3.4.0 → 3.5.1
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/dist/components/Alert/index.js +1 -1
- package/dist/components/Alert/styles.css.d.ts +8 -8
- package/dist/components/Alert/styles.css.js +1 -1
- package/dist/components/Avatar/styles.css.d.ts +36 -36
- package/dist/components/Avatar/styles.css.js +4 -4
- package/dist/components/Badge/styles.css.d.ts +28 -28
- package/dist/components/Badge/styles.css.js +1 -1
- package/dist/components/Banner/index.js +1 -1
- package/dist/components/Banner/styles.css.d.ts +2 -2
- package/dist/components/Banner/styles.css.js +2 -2
- package/dist/components/BarStack/styles.css.d.ts +7 -7
- package/dist/components/BarStack/styles.css.js +1 -1
- package/dist/components/Bullet/styles.css.d.ts +13 -13
- package/dist/components/Bullet/styles.css.js +1 -1
- package/dist/components/Button/index.d.ts +2 -2
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/styles.css.d.ts +39 -39
- package/dist/components/Button/styles.css.js +1 -1
- package/dist/components/Checkbox/index.js +4 -4
- package/dist/components/Chip/ChipIcon.d.ts.map +1 -1
- package/dist/components/Chip/ChipIcon.js +4 -1
- package/dist/components/Chip/index.d.ts +1 -1
- package/dist/components/CopyButton/index.js +1 -1
- package/dist/components/DateInput/components/CalendarContent.js +7 -7
- package/dist/components/DateInput/components/CalendarDaily.js +1 -1
- package/dist/components/DateInput/components/CalendarMonthly.d.ts.map +1 -1
- package/dist/components/DateInput/components/CalendarMonthly.js +1 -1
- package/dist/components/DateInput/helpers.d.ts.map +1 -1
- package/dist/components/Dialog/components/Buttons.js +1 -1
- package/dist/components/Dialog/index.d.ts +2 -2
- package/dist/components/Drawer/styles.css.js +1 -1
- package/dist/components/EmptyState/styles.css.d.ts +11 -11
- package/dist/components/EmptyState/styles.css.js +2 -2
- package/dist/components/Expandable/index.js +1 -1
- package/dist/components/ExpandableCard/styles.css.d.ts.map +1 -1
- package/dist/components/FileInput/index.js +1 -1
- package/dist/components/FileInput/styles.css.d.ts +11 -11
- package/dist/components/FileInput/styles.css.js +5 -5
- package/dist/components/GlobalAlert/styles.css.js +1 -1
- package/dist/components/Key/styles.css.d.ts +12 -12
- package/dist/components/Key/styles.css.js +1 -1
- package/dist/components/Label/index.d.ts.map +1 -1
- package/dist/components/Label/index.js +41 -28
- package/dist/components/Label/styles.css.js +1 -1
- package/dist/components/Link/styles.css.d.ts.map +1 -1
- package/dist/components/List/ListContext.d.ts +2 -2
- package/dist/components/List/ListContext.d.ts.map +1 -1
- package/dist/components/List/Row.d.ts +1 -1
- package/dist/components/List/Row.d.ts.map +1 -1
- package/dist/components/List/SelectBar.d.ts +1 -1
- package/dist/components/List/SelectBar.d.ts.map +1 -1
- package/dist/components/List/SkeletonRows.d.ts.map +1 -1
- package/dist/components/List/index.d.ts +2 -5
- package/dist/components/List/index.d.ts.map +1 -1
- package/dist/components/List/styles.css.d.ts +3 -3
- package/dist/components/List/styles.css.js +1 -1
- package/dist/components/Menu/styles.css.js +1 -1
- package/dist/components/Modal/ModalContent.d.ts.map +1 -1
- package/dist/components/Modal/components/Dialog.d.ts.map +1 -1
- package/dist/components/Modal/components/Dialog.js +1 -1
- package/dist/components/Modal/index.js +3 -3
- package/dist/components/Modal/styles.css.d.ts +17 -17
- package/dist/components/Modal/styles.css.js +1 -1
- package/dist/components/NumberInput/index.d.ts +1 -1
- package/dist/components/NumberInput/index.js +2 -2
- package/dist/components/NumberInput/styles.css.d.ts +48 -48
- package/dist/components/NumberInput/styles.css.d.ts.map +1 -1
- package/dist/components/NumberInput/styles.css.js +4 -4
- package/dist/components/Pagination/getPageNumbers.d.ts +1 -1
- package/dist/components/Pagination/styles.css.js +2 -2
- package/dist/components/PieChart/index.js +3 -3
- package/dist/components/PieChart/styles.css.d.ts +7 -7
- package/dist/components/PieChart/styles.css.js +3 -3
- package/dist/components/Popover/index.js +1 -1
- package/dist/components/Popover/styles.css.d.ts +3 -3
- package/dist/components/Popup/helpers.js +2 -2
- package/dist/components/Popup/index.js +19 -19
- package/dist/components/Popup/styles.css.d.ts +6 -6
- package/dist/components/Popup/styles.css.js +1 -1
- package/dist/components/Radio/index.d.ts.map +1 -1
- package/dist/components/Radio/index.js +14 -11
- package/dist/components/RadioGroup/index.js +1 -1
- package/dist/components/Row/styles.css.d.ts +19 -19
- package/dist/components/Row/styles.css.d.ts.map +1 -1
- package/dist/components/Row/styles.css.js +2 -2
- package/dist/components/Row/variables.css.d.ts +1 -1
- package/dist/components/Row/variables.css.d.ts.map +1 -1
- package/dist/components/Row/variables.css.js +2 -2
- package/dist/components/SelectInput/components/Dropdown.d.ts +14 -1
- package/dist/components/SelectInput/components/Dropdown.d.ts.map +1 -1
- package/dist/components/SelectInput/components/Dropdown.js +398 -222
- package/dist/components/SelectInput/components/SearchBarDropdown.d.ts.map +1 -1
- package/dist/components/SelectInput/components/SearchBarDropdown.js +25 -19
- package/dist/components/SelectInput/components/SelectBar.d.ts.map +1 -1
- package/dist/components/SelectInput/components/SelectBar.js +8 -11
- package/dist/components/SelectInput/components/dropdown.css.d.ts +2 -0
- package/dist/components/SelectInput/components/dropdown.css.d.ts.map +1 -1
- package/dist/components/SelectInput/components/dropdown.css.js +13 -9
- package/dist/components/SelectInput/components/selectBar.css.d.ts +43 -43
- package/dist/components/SelectInput/components/selectBar.css.d.ts.map +1 -1
- package/dist/components/SelectInput/components/selectBar.css.js +2 -2
- package/dist/components/SelectInput/constants.d.ts +13 -0
- package/dist/components/SelectInput/constants.d.ts.map +1 -0
- package/dist/components/SelectInput/constants.js +18 -0
- package/dist/components/SelectInput/findOptionInOptions.js +3 -3
- package/dist/components/SelectInput/index.d.ts +11 -5
- package/dist/components/SelectInput/index.d.ts.map +1 -1
- package/dist/components/SelectInput/index.js +8 -2
- package/dist/components/SelectInput/types.d.ts +0 -5
- package/dist/components/SelectInput/types.d.ts.map +1 -1
- package/dist/components/SelectableCard/index.d.ts.map +1 -1
- package/dist/components/SelectableCard/index.js +8 -5
- package/dist/components/SelectableCard/styles.css.d.ts +9 -9
- package/dist/components/SelectableCard/styles.css.js +3 -2
- package/dist/components/SelectableCard/variables.css.js +0 -1
- package/dist/components/Separator/index.d.ts.map +1 -1
- package/dist/components/Separator/index.js +33 -31
- package/dist/components/Skeleton/Block.d.ts.map +1 -1
- package/dist/components/Skeleton/Block.js +7 -4
- package/dist/components/Skeleton/Blocks.d.ts.map +1 -1
- package/dist/components/Skeleton/Blocks.js +7 -4
- package/dist/components/Skeleton/BoxWithIcon.d.ts.map +1 -1
- package/dist/components/Skeleton/BoxWithIcon.js +7 -4
- package/dist/components/Skeleton/List.d.ts.map +1 -1
- package/dist/components/Skeleton/List.js +8 -2
- package/dist/components/Skeleton/Slider.d.ts.map +1 -1
- package/dist/components/Skeleton/Slider.js +4 -1
- package/dist/components/Skeleton/index.d.ts.map +1 -1
- package/dist/components/Skeleton/index.js +17 -14
- package/dist/components/Slider/components/DoubleSlider.d.ts +1 -1
- package/dist/components/Slider/components/DoubleSlider.d.ts.map +1 -1
- package/dist/components/Slider/components/DoubleSlider.js +24 -20
- package/dist/components/Slider/components/SingleSlider.d.ts +1 -1
- package/dist/components/Slider/components/SingleSlider.d.ts.map +1 -1
- package/dist/components/Slider/components/SingleSlider.js +9 -3
- package/dist/components/Slider/index.d.ts +1 -1
- package/dist/components/Slider/index.d.ts.map +1 -1
- package/dist/components/Slider/index.js +3 -0
- package/dist/components/Slider/styles.css.d.ts +47 -43
- package/dist/components/Slider/styles.css.d.ts.map +1 -1
- package/dist/components/Slider/styles.css.js +5 -5
- package/dist/components/Slider/types.d.ts +5 -0
- package/dist/components/Slider/types.d.ts.map +1 -1
- package/dist/components/Snippet/index.js +1 -1
- package/dist/components/Snippet/styles.css.d.ts +12 -12
- package/dist/components/Snippet/styles.css.js +7 -7
- package/dist/components/Stack/index.d.ts +2 -3
- package/dist/components/Stack/index.d.ts.map +1 -1
- package/dist/components/Stack/index.js +67 -65
- package/dist/components/Stack/styles.css.d.ts +87 -87
- package/dist/components/Stack/styles.css.js +4 -4
- package/dist/components/Status/styles.css.d.ts +1 -1
- package/dist/components/StepList/styles.css.d.ts +7 -7
- package/dist/components/StepList/styles.css.js +2 -2
- package/dist/components/Stepper/index.d.ts.map +1 -1
- package/dist/components/Stepper/index.js +13 -10
- package/dist/components/Stepper/styles.css.d.ts +45 -45
- package/dist/components/Stepper/styles.css.js +6 -6
- package/dist/components/SwitchButton/index.js +3 -3
- package/dist/components/SwitchButton/styles.css.js +3 -3
- package/dist/components/Table/HeaderRow.d.ts.map +1 -1
- package/dist/components/Table/HeaderRow.js +25 -22
- package/dist/components/Table/Row.d.ts +1 -1
- package/dist/components/Table/Row.d.ts.map +1 -1
- package/dist/components/Table/SelectBar.d.ts +1 -1
- package/dist/components/Table/SelectBar.d.ts.map +1 -1
- package/dist/components/Table/SkeletonRows.d.ts.map +1 -1
- package/dist/components/Table/index.d.ts +4 -4
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/Table/styles.css.d.ts +21 -21
- package/dist/components/Table/styles.css.js +2 -2
- package/dist/components/Tabs/Tab.js +1 -1
- package/dist/components/Tabs/index.d.ts +1 -1
- package/dist/components/Tabs/styles.css.js +1 -1
- package/dist/components/Tag/styles.css.d.ts +10 -10
- package/dist/components/Tag/styles.css.js +1 -1
- package/dist/components/TagInput/index.js +5 -5
- package/dist/components/TagInput/styles.css.d.ts +4 -4
- package/dist/components/TagInput/styles.css.js +1 -1
- package/dist/components/TagList/index.d.ts.map +1 -1
- package/dist/components/TagList/index.js +1 -1
- package/dist/components/Text/style.css.d.ts +26 -26
- package/dist/components/Text/style.css.d.ts.map +1 -1
- package/dist/components/Text/style.css.js +1 -1
- package/dist/components/TextArea/index.d.ts.map +1 -1
- package/dist/components/TextArea/index.js +14 -7
- package/dist/components/TextArea/styles.css.d.ts +2 -2
- package/dist/components/TextArea/styles.css.js +1 -1
- package/dist/components/TextInput/index.d.ts +1 -1
- package/dist/components/TextInput/index.js +2 -2
- package/dist/components/TimeInput/helpers.d.ts.map +1 -1
- package/dist/components/TimeInput/helpers.js +2 -1
- package/dist/components/TimeInput/index.js +4 -4
- package/dist/components/TimeInput/styles.css.d.ts +22 -22
- package/dist/components/TimeInput/styles.css.js +1 -1
- package/dist/components/Toaster/constants.d.ts.map +1 -1
- package/dist/components/Toggle/styles.css.d.ts +53 -53
- package/dist/components/Toggle/styles.css.js +2 -2
- package/dist/components/Tooltip/index.d.ts +1 -1
- package/dist/components/TreeMapChart/index.d.ts +1 -1
- package/dist/components/TreeMapChart/index.d.ts.map +1 -1
- package/dist/components/TreeMapChart/index.js +39 -42
- package/dist/components/TreeMapChart/styles.css.d.ts +1 -1
- package/dist/components/TreeMapChart/styles.css.d.ts.map +1 -1
- package/dist/components/TreeMapChart/styles.css.js +2 -2
- package/dist/components/UnitInput/index.js +1 -1
- package/dist/components/UnitInput/styles.css.js +3 -3
- package/dist/components/VerificationCode/index.d.ts.map +1 -1
- package/dist/components/VerificationCode/index.js +2 -2
- package/dist/components/VerificationCode/styles.css.js +1 -1
- package/dist/components/compositions/OptionSelector/index.d.ts.map +1 -1
- package/dist/components/compositions/OptionSelector/index.js +91 -59
- package/dist/components/compositions/OptionSelector/styles.css.d.ts +2 -0
- package/dist/components/compositions/OptionSelector/styles.css.d.ts.map +1 -1
- package/dist/components/compositions/OptionSelector/styles.css.js +4 -0
- package/dist/helpers/treeMap.d.ts +4 -5
- package/dist/helpers/treeMap.d.ts.map +1 -1
- package/dist/helpers/treeMap.js +7 -5
- package/dist/theme/ThemeProvider.d.ts +33 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -1
- package/dist/theme/index.d.ts +33 -0
- package/dist/theme/index.d.ts.map +1 -1
- package/dist/ui.css +1 -1
- package/package.json +6 -6
- package/dist/components/SelectInput/types.js +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchBarDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectInput/components/SearchBarDropdown.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"SearchBarDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectInput/components/SearchBarDropdown.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAiB,cAAc,EAAE,MAAM,OAAO,CAAA;AAKpE,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,UAAU,CAAA;AAGpD,KAAK,cAAc,GAAG;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,QAAQ,CAAA;IAC1B,kBAAkB,EAAE,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAA;CACtD,CAAA;AAqED,eAAO,MAAM,iBAAiB,GAAI,wDAI/B,cAAc,4CA6GhB,CAAA"}
|
|
@@ -4,6 +4,7 @@ import { isFuzzyMatch, normalizeString } from "@scaleway/fuzzy-search";
|
|
|
4
4
|
import { SearchIcon } from "@ultraviolet/icons";
|
|
5
5
|
import { useRef, useEffect } from "react";
|
|
6
6
|
import { TextInput } from "../../TextInput/index.js";
|
|
7
|
+
import { OPTION_SELECTOR } from "../constants.js";
|
|
7
8
|
import { useSelectInput } from "../SelectInputProvider.js";
|
|
8
9
|
import { searchBar } from "./dropdown.css.js";
|
|
9
10
|
const getReferenceText = (option) => {
|
|
@@ -22,7 +23,12 @@ const searchRegex = (data, query) => data.filter((option) => {
|
|
|
22
23
|
});
|
|
23
24
|
const findClosestOption = (options, searchInput) => {
|
|
24
25
|
if (searchInput) {
|
|
25
|
-
if (
|
|
26
|
+
if (Array.isArray(options)) {
|
|
27
|
+
const possibleOption = [...options].find((option) => !option.disabled);
|
|
28
|
+
if (possibleOption) {
|
|
29
|
+
return possibleOption;
|
|
30
|
+
}
|
|
31
|
+
} else {
|
|
26
32
|
const possibleOptions = { ...options };
|
|
27
33
|
Object.keys(possibleOptions).map((group) => {
|
|
28
34
|
possibleOptions[group] = possibleOptions[group].filter(
|
|
@@ -36,11 +42,6 @@ const findClosestOption = (options, searchInput) => {
|
|
|
36
42
|
const firstFit = Object.keys(possibleOptions).map((group) => possibleOptions[group][0]).find((value) => !!value);
|
|
37
43
|
return firstFit;
|
|
38
44
|
}
|
|
39
|
-
} else {
|
|
40
|
-
const possibleOption = [...options].find((option) => !option.disabled);
|
|
41
|
-
if (possibleOption) {
|
|
42
|
-
return possibleOption;
|
|
43
|
-
}
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
return null;
|
|
@@ -64,7 +65,13 @@ const SearchBarDropdown = ({
|
|
|
64
65
|
} = useSelectInput();
|
|
65
66
|
const handleChange = (search) => {
|
|
66
67
|
if (search.length > 0) {
|
|
67
|
-
if (
|
|
68
|
+
if (Array.isArray(options)) {
|
|
69
|
+
const filteredOptions = searchRegex(
|
|
70
|
+
[...options],
|
|
71
|
+
escapeRegExp(search.toString())
|
|
72
|
+
);
|
|
73
|
+
onSearch(filteredOptions);
|
|
74
|
+
} else {
|
|
68
75
|
const filteredOptions = { ...options };
|
|
69
76
|
Object.keys(filteredOptions).map((group) => {
|
|
70
77
|
filteredOptions[group] = searchRegex(
|
|
@@ -74,28 +81,23 @@ const SearchBarDropdown = ({
|
|
|
74
81
|
return null;
|
|
75
82
|
});
|
|
76
83
|
onSearch(filteredOptions);
|
|
77
|
-
} else {
|
|
78
|
-
const filteredOptions = searchRegex(
|
|
79
|
-
[...options],
|
|
80
|
-
escapeRegExp(search.toString())
|
|
81
|
-
);
|
|
82
|
-
onSearch(filteredOptions);
|
|
83
84
|
}
|
|
84
85
|
} else {
|
|
85
86
|
onSearch(options);
|
|
86
87
|
}
|
|
87
88
|
setSearchInput(search);
|
|
88
89
|
};
|
|
89
|
-
const handleKeyDown = (
|
|
90
|
+
const handleKeyDown = (event, search) => {
|
|
91
|
+
const { key } = event;
|
|
90
92
|
if (key === "Enter") {
|
|
91
93
|
const closestOption = findClosestOption(displayedOptions, search);
|
|
92
94
|
if (closestOption) {
|
|
93
95
|
if (multiselect) {
|
|
94
96
|
setSelectedData({
|
|
95
97
|
clickedOption: closestOption,
|
|
96
|
-
group:
|
|
98
|
+
group: Array.isArray(options) ? void 0 : Object.keys(options).find(
|
|
97
99
|
(group) => options[group].includes(closestOption)
|
|
98
|
-
)
|
|
100
|
+
),
|
|
99
101
|
type: "selectOption"
|
|
100
102
|
});
|
|
101
103
|
onChange?.(
|
|
@@ -109,8 +111,12 @@ const SearchBarDropdown = ({
|
|
|
109
111
|
onChange?.(selectedData.selectedValues[0] ?? "");
|
|
110
112
|
}
|
|
111
113
|
}
|
|
112
|
-
} else if (key === "Tab") {
|
|
113
|
-
|
|
114
|
+
} else if (key === "Tab" || key === "ArrowDown") {
|
|
115
|
+
event?.preventDefault();
|
|
116
|
+
const optionsDropdown = document.querySelectorAll(OPTION_SELECTOR);
|
|
117
|
+
if (optionsDropdown && optionsDropdown.length > 0) {
|
|
118
|
+
optionsDropdown[0].focus();
|
|
119
|
+
}
|
|
114
120
|
}
|
|
115
121
|
};
|
|
116
122
|
useEffect(() => {
|
|
@@ -132,7 +138,7 @@ const SearchBarDropdown = ({
|
|
|
132
138
|
onBlur: () => setSearchBarActive(false),
|
|
133
139
|
onChange: (event) => handleChange(event.target.value),
|
|
134
140
|
onFocus: () => setSearchBarActive(true),
|
|
135
|
-
onKeyDown: (event) => handleKeyDown(event
|
|
141
|
+
onKeyDown: (event) => handleKeyDown(event, searchInput),
|
|
136
142
|
placeholder,
|
|
137
143
|
prefix: /* @__PURE__ */ jsx(SearchIcon, { sentiment: "neutral", size: "small" }),
|
|
138
144
|
ref: searchInputRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectBar.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectInput/components/SelectBar.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"SelectBar.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectInput/components/SelectBar.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,OAAO,CAAA;AA8BjD,KAAK,cAAc,GAAG;IACpB,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAA;IAClC,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAA;IAC1C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB,CAAA;AAmID,QAAA,MAAM,SAAS,GAAI,uJAehB,cAAc,4CA8UhB,CAAA;AAED,OAAO,EAAE,SAAS,EAAE,CAAA"}
|
|
@@ -9,13 +9,10 @@ import { Stack } from "../../Stack/index.js";
|
|
|
9
9
|
import { Tag } from "../../Tag/index.js";
|
|
10
10
|
import { Text } from "../../Text/index.js";
|
|
11
11
|
import { Tooltip } from "../../Tooltip/index.js";
|
|
12
|
+
import { SIZES_TAG } from "../constants.js";
|
|
12
13
|
import { findOptionInOptions } from "../findOptionInOptions.js";
|
|
13
14
|
import { useSelectInput } from "../SelectInputProvider.js";
|
|
14
15
|
import { selectBar, selectinputPlaceholder, selectbarState, multiselectStack, selectBarTags, maxWidthTag, minWidthTag, plusTag, selectedValues } from "./selectBar.css.js";
|
|
15
|
-
const SIZES_TAG = {
|
|
16
|
-
gap: 8,
|
|
17
|
-
paddings: 16
|
|
18
|
-
};
|
|
19
16
|
const DisplayValues = ({
|
|
20
17
|
refTag,
|
|
21
18
|
nonOverflowedValues,
|
|
@@ -67,7 +64,7 @@ const DisplayValues = ({
|
|
|
67
64
|
className: selectBarTags.visible,
|
|
68
65
|
"data-testid": "selected-options-tags",
|
|
69
66
|
disabled,
|
|
70
|
-
onClose:
|
|
67
|
+
onClose: readOnly ? void 0 : (event) => {
|
|
71
68
|
event.stopPropagation();
|
|
72
69
|
setSelectedData({
|
|
73
70
|
clickedOption: option,
|
|
@@ -77,7 +74,7 @@ const DisplayValues = ({
|
|
|
77
74
|
(val) => val !== option.value
|
|
78
75
|
);
|
|
79
76
|
onChange?.(newSelectedValues);
|
|
80
|
-
}
|
|
77
|
+
},
|
|
81
78
|
sentiment: "neutral",
|
|
82
79
|
style: index === nonOverflowedValues.length - 1 && overflow ? assignInlineVars({
|
|
83
80
|
[minWidthTag]: "auto",
|
|
@@ -208,10 +205,10 @@ const SelectBar = ({
|
|
|
208
205
|
const newAccumulatedWidth = accumulator.accumulatedWidth + elementWidth + SIZES_TAG.gap;
|
|
209
206
|
const canBeVisible = newAccumulatedWidth <= innerWidth;
|
|
210
207
|
return {
|
|
211
|
-
accumulatedWidth:
|
|
208
|
+
accumulatedWidth: canBeVisible ? newAccumulatedWidth : accumulator.accumulatedWidth,
|
|
212
209
|
lastVisibleElementWidth: canBeVisible ? elementWidth : accumulator.lastVisibleElementWidth,
|
|
213
210
|
lastVisibleLabel: canBeVisible ? potentiallyNonOverflowedValues[index].label : accumulator.lastVisibleLabel,
|
|
214
|
-
measuredHiddenTags: accumulator.measuredHiddenTags + (
|
|
211
|
+
measuredHiddenTags: accumulator.measuredHiddenTags + (canBeVisible ? 0 : 1),
|
|
215
212
|
measuredVisibleTags: [
|
|
216
213
|
...accumulator.measuredVisibleTags,
|
|
217
214
|
canBeVisible && potentiallyNonOverflowedValues[index]
|
|
@@ -300,10 +297,10 @@ const SelectBar = ({
|
|
|
300
297
|
onClick: openable ? () => setIsDropdownVisible(!isDropdownVisible) : void 0,
|
|
301
298
|
onKeyDown: (event) => {
|
|
302
299
|
if (event.key === "ArrowDown") {
|
|
303
|
-
if (
|
|
304
|
-
|
|
300
|
+
if (isDropdownVisible) {
|
|
301
|
+
document.getElementById("option-0")?.focus();
|
|
305
302
|
} else {
|
|
306
|
-
|
|
303
|
+
setIsDropdownVisible(true);
|
|
307
304
|
}
|
|
308
305
|
}
|
|
309
306
|
if (event.key === " ") {
|
|
@@ -5,6 +5,7 @@ export declare const dropdownContainerUnGrouped: string;
|
|
|
5
5
|
export declare const dropdownGroup: string;
|
|
6
6
|
export declare const dropdownGroupSelectable: string;
|
|
7
7
|
export declare const dropdownGroupWrapper: string;
|
|
8
|
+
export declare const emptyStateGroupStyle: string;
|
|
8
9
|
export declare const dropdownItemBase: string;
|
|
9
10
|
export declare const dropdownItem: import("@vanilla-extract/recipes").RuntimeFn<{
|
|
10
11
|
selected: {
|
|
@@ -35,4 +36,5 @@ export declare const dropdownInfo: string;
|
|
|
35
36
|
export declare const dropdownInfoTextItem: string;
|
|
36
37
|
export declare const dropdownInfoContainer: string;
|
|
37
38
|
export declare const searchBar: string;
|
|
39
|
+
export declare const comboboxCreate: string;
|
|
38
40
|
//# sourceMappingURL=dropdown.css.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown.css.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectInput/components/dropdown.css.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,oBAAc,CAAA;AAExC,eAAO,MAAM,QAAQ,QASnB,CAAA;AAEF,eAAO,MAAM,iBAAiB,QAK5B,CAAA;AAEF,eAAO,MAAM,0BAA0B,QAErC,CAAA;AAEF,eAAO,MAAM,aAAa,QAmBxB,CAAA;AAEF,eAAO,MAAM,uBAAuB,QAQlC,CAAA;AAEF,eAAO,MAAM,oBAAoB,QAG/B,CAAA;AAEF,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"dropdown.css.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectInput/components/dropdown.css.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,aAAa,oBAAc,CAAA;AAExC,eAAO,MAAM,QAAQ,QASnB,CAAA;AAEF,eAAO,MAAM,iBAAiB,QAK5B,CAAA;AAEF,eAAO,MAAM,0BAA0B,QAErC,CAAA;AAEF,eAAO,MAAM,aAAa,QAmBxB,CAAA;AAEF,eAAO,MAAM,uBAAuB,QAQlC,CAAA;AAEF,eAAO,MAAM,oBAAoB,QAG/B,CAAA;AAEF,eAAO,MAAM,oBAAoB,QAO/B,CAAA;AAEF,eAAO,MAAM,gBAAgB,QAK3B,CAAA;AAEF,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;EAsCvB,CAAA;AAEF,eAAO,MAAM,MAAM,QAKjB,CAAA;AAEF,eAAO,MAAM,gBAAgB,QAM3B,CAAA;AAEF,eAAO,MAAM,kBAAkB,QAAqC,CAAA;AAEpE,eAAO,MAAM,gBAAgB,QAAyC,CAAA;AAEtE,eAAO,MAAM,YAAY,QAEvB,CAAA;AAEF,eAAO,MAAM,oBAAoB,QAM/B,CAAA;AAEF,eAAO,MAAM,qBAAqB,QAAgC,CAAA;AAElE,eAAO,MAAM,SAAS,QAGpB,CAAA;AAEF,eAAO,MAAM,cAAc,QAWzB,CAAA"}
|
|
@@ -7,16 +7,19 @@ var dropdownContainerUnGrouped = "uv_5kpm8k3";
|
|
|
7
7
|
var dropdownGroup = "uv_5kpm8k4";
|
|
8
8
|
var dropdownGroupSelectable = "uv_5kpm8k5";
|
|
9
9
|
var dropdownGroupWrapper = "uv_5kpm8k6";
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var
|
|
10
|
+
var emptyStateGroupStyle = "uv_5kpm8k7";
|
|
11
|
+
var dropdownItem = createRuntimeFn({ defaultClassName: "uv_5kpm8k9 uv_5kpm8k8 uv_5kpm8k7", variantClassNames: { selected: { true: "uv_5kpm8ka" }, disabled: { true: "uv_5kpm8kb" } }, defaultVariants: { disabled: false, selected: false }, compoundVariants: [] });
|
|
12
|
+
var footer = "uv_5kpm8kc";
|
|
13
|
+
var dropdownCheckbox = "uv_5kpm8kd";
|
|
14
|
+
var dropdownEmptyState = "uv_5kpm8ke";
|
|
15
|
+
var dropdownLoadMore = "uv_5kpm8kf";
|
|
16
|
+
var dropdownInfo = "uv_5kpm8kg";
|
|
17
|
+
var dropdownInfoTextItem = "uv_5kpm8kh";
|
|
18
|
+
var dropdownInfoContainer = "uv_5kpm8ki";
|
|
19
|
+
var searchBar = "uv_5kpm8kj";
|
|
20
|
+
var comboboxCreate = "uv_5kpm8kk uv_5kpm8k8 uv_5kpm8k7";
|
|
19
21
|
export {
|
|
22
|
+
comboboxCreate,
|
|
20
23
|
dropdown,
|
|
21
24
|
dropdownCheckbox,
|
|
22
25
|
dropdownContainer,
|
|
@@ -31,6 +34,7 @@ export {
|
|
|
31
34
|
dropdownItem,
|
|
32
35
|
dropdownLoadMore,
|
|
33
36
|
dropdownWidth,
|
|
37
|
+
emptyStateGroupStyle,
|
|
34
38
|
footer,
|
|
35
39
|
searchBar
|
|
36
40
|
};
|
|
@@ -4,23 +4,52 @@ export declare const selectbarState: Record<"large" | "small", string>;
|
|
|
4
4
|
export declare const selectinputPlaceholder: string;
|
|
5
5
|
export declare const selectBarBase: string;
|
|
6
6
|
export declare const selectBar: import("@vanilla-extract/recipes").RuntimeFn<{
|
|
7
|
+
disabled: {
|
|
8
|
+
true: {
|
|
9
|
+
background: `var(--${string})`;
|
|
10
|
+
borderColor: `var(--${string})`;
|
|
11
|
+
cursor: "not-allowed";
|
|
12
|
+
selectors: {
|
|
13
|
+
'&:hover': {
|
|
14
|
+
borderColor: `var(--${string})`;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
dropdownVisible: {
|
|
20
|
+
true: {
|
|
21
|
+
borderColor: `var(--${string})`;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
readOnly: {
|
|
25
|
+
true: {
|
|
26
|
+
background: `var(--${string})`;
|
|
27
|
+
borderColor: `var(--${string})`;
|
|
28
|
+
cursor: "default";
|
|
29
|
+
selectors: {
|
|
30
|
+
'&:hover': {
|
|
31
|
+
borderColor: `var(--${string})`;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
7
36
|
size: {
|
|
8
|
-
|
|
37
|
+
large: {
|
|
9
38
|
height: `var(--${string})`;
|
|
10
|
-
padding: number;
|
|
11
39
|
paddingInline: `var(--${string})`;
|
|
12
40
|
};
|
|
13
41
|
medium: {
|
|
14
42
|
height: `var(--${string})`;
|
|
15
43
|
paddingInline: `var(--${string})`;
|
|
16
44
|
};
|
|
17
|
-
|
|
45
|
+
small: {
|
|
18
46
|
height: `var(--${string})`;
|
|
47
|
+
padding: number;
|
|
19
48
|
paddingInline: `var(--${string})`;
|
|
20
49
|
};
|
|
21
50
|
};
|
|
22
51
|
state: {
|
|
23
|
-
|
|
52
|
+
danger: {
|
|
24
53
|
selectors: {
|
|
25
54
|
'&:not([data-disabled="true"])': {
|
|
26
55
|
border: string;
|
|
@@ -29,16 +58,16 @@ export declare const selectBar: import("@vanilla-extract/recipes").RuntimeFn<{
|
|
|
29
58
|
borderColor: `var(--${string})`;
|
|
30
59
|
boxShadow: string;
|
|
31
60
|
};
|
|
32
|
-
'&:not([data-disabled="true"]):not([data-readonly="true"]):
|
|
33
|
-
borderColor: `var(--${string})`;
|
|
61
|
+
'&:not([data-disabled="true"]):not([data-readonly="true"]):focus-visible': {
|
|
34
62
|
outline: string;
|
|
35
63
|
};
|
|
36
|
-
'&:not([data-disabled="true"]):not([data-readonly="true"]):
|
|
64
|
+
'&:not([data-disabled="true"]):not([data-readonly="true"]):hover': {
|
|
65
|
+
borderColor: `var(--${string})`;
|
|
37
66
|
outline: string;
|
|
38
67
|
};
|
|
39
68
|
};
|
|
40
69
|
};
|
|
41
|
-
|
|
70
|
+
neutral: {
|
|
42
71
|
selectors: {
|
|
43
72
|
'&:not([data-disabled="true"])': {
|
|
44
73
|
border: string;
|
|
@@ -47,16 +76,16 @@ export declare const selectBar: import("@vanilla-extract/recipes").RuntimeFn<{
|
|
|
47
76
|
borderColor: `var(--${string})`;
|
|
48
77
|
boxShadow: string;
|
|
49
78
|
};
|
|
50
|
-
'&:not([data-disabled="true"]):not([data-readonly="true"]):
|
|
51
|
-
borderColor: `var(--${string})`;
|
|
79
|
+
'&:not([data-disabled="true"]):not([data-readonly="true"]):focus-visible': {
|
|
52
80
|
outline: string;
|
|
53
81
|
};
|
|
54
|
-
'&:not([data-disabled="true"]):not([data-readonly="true"]):
|
|
82
|
+
'&:not([data-disabled="true"]):not([data-readonly="true"]):hover': {
|
|
83
|
+
borderColor: `var(--${string})`;
|
|
55
84
|
outline: string;
|
|
56
85
|
};
|
|
57
86
|
};
|
|
58
87
|
};
|
|
59
|
-
|
|
88
|
+
success: {
|
|
60
89
|
selectors: {
|
|
61
90
|
'&:not([data-disabled="true"])': {
|
|
62
91
|
border: string;
|
|
@@ -65,41 +94,12 @@ export declare const selectBar: import("@vanilla-extract/recipes").RuntimeFn<{
|
|
|
65
94
|
borderColor: `var(--${string})`;
|
|
66
95
|
boxShadow: string;
|
|
67
96
|
};
|
|
68
|
-
'&:not([data-disabled="true"]):not([data-readonly="true"]):hover': {
|
|
69
|
-
borderColor: `var(--${string})`;
|
|
70
|
-
outline: string;
|
|
71
|
-
};
|
|
72
97
|
'&:not([data-disabled="true"]):not([data-readonly="true"]):focus-visible': {
|
|
73
98
|
outline: string;
|
|
74
99
|
};
|
|
75
|
-
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
dropdownVisible: {
|
|
79
|
-
true: {
|
|
80
|
-
borderColor: `var(--${string})`;
|
|
81
|
-
};
|
|
82
|
-
};
|
|
83
|
-
readOnly: {
|
|
84
|
-
true: {
|
|
85
|
-
background: `var(--${string})`;
|
|
86
|
-
borderColor: `var(--${string})`;
|
|
87
|
-
cursor: "default";
|
|
88
|
-
selectors: {
|
|
89
|
-
'&:hover': {
|
|
90
|
-
borderColor: `var(--${string})`;
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
};
|
|
94
|
-
};
|
|
95
|
-
disabled: {
|
|
96
|
-
true: {
|
|
97
|
-
background: `var(--${string})`;
|
|
98
|
-
borderColor: `var(--${string})`;
|
|
99
|
-
cursor: "not-allowed";
|
|
100
|
-
selectors: {
|
|
101
|
-
'&:hover': {
|
|
100
|
+
'&:not([data-disabled="true"]):not([data-readonly="true"]):hover': {
|
|
102
101
|
borderColor: `var(--${string})`;
|
|
102
|
+
outline: string;
|
|
103
103
|
};
|
|
104
104
|
};
|
|
105
105
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectBar.css.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectInput/components/selectBar.css.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,oBAItB,CAAA;AACF,eAAO,MAAM,WAAW,oBAItB,CAAA;AAEF,eAAO,MAAM,cAAc,mCASzB,CAAA;AAEF,eAAO,MAAM,sBAAsB,QAGjC,CAAA;AAgCF,eAAO,MAAM,aAAa,QAaxB,CAAA;AAEF,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"selectBar.css.d.ts","sourceRoot":"","sources":["../../../../src/components/SelectInput/components/selectBar.css.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,oBAItB,CAAA;AACF,eAAO,MAAM,WAAW,oBAItB,CAAA;AAEF,eAAO,MAAM,cAAc,mCASzB,CAAA;AAEF,eAAO,MAAM,sBAAsB,QAGjC,CAAA;AAgCF,eAAO,MAAM,aAAa,QAaxB,CAAA;AAEF,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA9BT,MAAM;;;;;;;;;;;;;;;;;;+BAAN,MAAM;;;;;;;;;;;;;;;;;;+BAAN,MAAM;;;;;;;;;;;;EA2HjB,CAAA;AASF,eAAO,MAAM,aAAa,sCAMxB,CAAA;AAEF,eAAO,MAAM,cAAc,QAKzB,CAAA;AAEF,eAAO,MAAM,OAAO,QAAsC,CAAA;AAE1D,eAAO,MAAM,gBAAgB,QAI3B,CAAA"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
|
|
3
3
|
var maxWidthTag = "var(--uv_1ba7knd0)";
|
|
4
4
|
var minWidthTag = "var(--uv_1ba7knd1)";
|
|
5
|
-
var selectbarState = {
|
|
5
|
+
var selectbarState = { large: "uv_1ba7knd2", small: "uv_1ba7knd3" };
|
|
6
6
|
var selectinputPlaceholder = "uv_1ba7knd4";
|
|
7
|
-
var selectBar = createRuntimeFn({ defaultClassName: "uv_1ba7knd6 uv_1ba7knd5", variantClassNames: {
|
|
7
|
+
var selectBar = createRuntimeFn({ defaultClassName: "uv_1ba7knd6 uv_1ba7knd5", variantClassNames: { disabled: { true: "uv_1ba7knd7" }, dropdownVisible: { true: "uv_1ba7knd8" }, readOnly: { true: "uv_1ba7knd9" }, size: { large: "uv_1ba7knda", medium: "uv_1ba7kndb", small: "uv_1ba7kndc" }, state: { danger: "uv_1ba7kndd", neutral: "uv_1ba7knde", success: "uv_1ba7kndf" } }, defaultVariants: { disabled: false, dropdownVisible: false, readOnly: false, size: "large", state: "neutral" }, compoundVariants: [[{ dropdownVisible: true, state: "neutral" }, "uv_1ba7kndg"], [{ dropdownVisible: true, state: "success" }, "uv_1ba7kndh"], [{ dropdownVisible: true, state: "danger" }, "uv_1ba7kndi"]] });
|
|
8
8
|
var selectBarTags = { hidden: "uv_1ba7kndk uv_1ba7kndj", visible: "uv_1ba7kndl uv_1ba7kndj" };
|
|
9
9
|
var selectedValues = "uv_1ba7kndm";
|
|
10
10
|
var plusTag = "uv_1ba7kndn";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const DROPDOWN_MAX_HEIGHT = 256;
|
|
2
|
+
export declare const OPTION_SELECTOR = "#items > div[role=\"option\"]:not([aria-disabled=\"true\"]), #add-option";
|
|
3
|
+
export declare const SIZES_TAG: {
|
|
4
|
+
gap: number;
|
|
5
|
+
paddings: number;
|
|
6
|
+
plusTag: number;
|
|
7
|
+
};
|
|
8
|
+
export declare const INPUT_SIZE_HEIGHT: {
|
|
9
|
+
readonly large: "600";
|
|
10
|
+
readonly medium: "500";
|
|
11
|
+
readonly small: "400";
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/components/SelectInput/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,MAAM,CAAA;AAGtC,eAAO,MAAM,eAAe,6EAC4C,CAAA;AAExE,eAAO,MAAM,SAAS;;;;CAIrB,CAAA;AAED,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const DROPDOWN_MAX_HEIGHT = 256;
|
|
2
|
+
const OPTION_SELECTOR = '#items > div[role="option"]:not([aria-disabled="true"]), #add-option';
|
|
3
|
+
const SIZES_TAG = {
|
|
4
|
+
gap: 8,
|
|
5
|
+
paddings: 16
|
|
6
|
+
};
|
|
7
|
+
const INPUT_SIZE_HEIGHT = {
|
|
8
|
+
large: "600",
|
|
9
|
+
medium: "500",
|
|
10
|
+
small: "400"
|
|
11
|
+
// sizing theme tokens key
|
|
12
|
+
};
|
|
13
|
+
export {
|
|
14
|
+
DROPDOWN_MAX_HEIGHT,
|
|
15
|
+
INPUT_SIZE_HEIGHT,
|
|
16
|
+
OPTION_SELECTOR,
|
|
17
|
+
SIZES_TAG
|
|
18
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
const findOptionInOptions = (options, optionValue) => {
|
|
2
2
|
let flatOptions = [];
|
|
3
|
-
if (
|
|
4
|
-
flatOptions = Object.keys(options).flatMap((group) => options[group]);
|
|
5
|
-
} else {
|
|
3
|
+
if (Array.isArray(options)) {
|
|
6
4
|
flatOptions = options;
|
|
5
|
+
} else {
|
|
6
|
+
flatOptions = Object.keys(options).flatMap((group) => options[group]);
|
|
7
7
|
}
|
|
8
8
|
return flatOptions.find((option) => option.value === optionValue);
|
|
9
9
|
};
|
|
@@ -30,10 +30,6 @@ type SelectInputProps<IsMulti extends undefined | boolean = false> = {
|
|
|
30
30
|
* Message to show when no option available
|
|
31
31
|
*/
|
|
32
32
|
emptyState?: ReactNode;
|
|
33
|
-
/**
|
|
34
|
-
* Whether it is possible to search through the input
|
|
35
|
-
*/
|
|
36
|
-
searchable?: boolean;
|
|
37
33
|
/**
|
|
38
34
|
* Whether the component in disabled
|
|
39
35
|
*/
|
|
@@ -74,6 +70,14 @@ type SelectInputProps<IsMulti extends undefined | boolean = false> = {
|
|
|
74
70
|
* Display an error message under the select bar
|
|
75
71
|
*/
|
|
76
72
|
error?: string | boolean;
|
|
73
|
+
searchable?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* When searchable, set a combobox to dynamically add an option
|
|
76
|
+
*/
|
|
77
|
+
addOption?: {
|
|
78
|
+
text: string;
|
|
79
|
+
onClick: (searchText: string) => void;
|
|
80
|
+
};
|
|
77
81
|
/**
|
|
78
82
|
* Display a success message under the select bar
|
|
79
83
|
*/
|
|
@@ -123,10 +127,12 @@ type SelectInputProps<IsMulti extends undefined | boolean = false> = {
|
|
|
123
127
|
* Please wrap that definition in useCallback
|
|
124
128
|
*/
|
|
125
129
|
onOpen?: () => void;
|
|
130
|
+
groupError?: Record<string, ReactNode>;
|
|
131
|
+
groupEmptyState?: Record<string, ReactNode>;
|
|
126
132
|
} & Pick<HTMLAttributes<HTMLDivElement>, 'id' | 'onBlur' | 'onFocus' | 'aria-label' | 'className' | 'style'>;
|
|
127
133
|
/**
|
|
128
134
|
* SelectInput component is used to select one or many elements from a selection.
|
|
129
135
|
*/
|
|
130
|
-
export declare const SelectInput: <IsMulti extends undefined | boolean>({ name, id, onBlur, onFocus, onChange, "aria-label": ariaLabel, value, label, helper, options, size, emptyState, descriptionDirection, success, error, "data-testid": dataTestId, className, tooltip, footer, placeholderSearch, placeholder, searchable, disabled, readOnly, clearable, multiselect, required, labelDescription, autofocus, loadMore, optionalInfoPlacement, isLoading, selectAll, selectAllGroup, dropdownAlign, portalTarget, onOpen, style, }: SelectInputProps<IsMulti>) => import("react/jsx-runtime").JSX.Element;
|
|
136
|
+
export declare const SelectInput: <IsMulti extends undefined | boolean>({ name, id, onBlur, onFocus, onChange, "aria-label": ariaLabel, value, label, helper, options, size, emptyState, descriptionDirection, success, error, "data-testid": dataTestId, className, tooltip, footer, placeholderSearch, placeholder, searchable, disabled, readOnly, clearable, multiselect, required, labelDescription, autofocus, loadMore, optionalInfoPlacement, isLoading, selectAll, selectAllGroup, dropdownAlign, portalTarget, onOpen, groupEmptyState, groupError, style, addOption, }: SelectInputProps<IsMulti>) => import("react/jsx-runtime").JSX.Element;
|
|
131
137
|
export {};
|
|
132
138
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SelectInput/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SelectInput/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -47,7 +47,10 @@ const SelectInput = ({
|
|
|
47
47
|
dropdownAlign,
|
|
48
48
|
portalTarget,
|
|
49
49
|
onOpen,
|
|
50
|
-
|
|
50
|
+
groupEmptyState,
|
|
51
|
+
groupError,
|
|
52
|
+
style,
|
|
53
|
+
addOption
|
|
51
54
|
}) => {
|
|
52
55
|
const localId = useId();
|
|
53
56
|
const finalId = id ?? localId;
|
|
@@ -82,10 +85,13 @@ const SelectInput = ({
|
|
|
82
85
|
/* @__PURE__ */ jsx(
|
|
83
86
|
Dropdown,
|
|
84
87
|
{
|
|
88
|
+
addOption,
|
|
85
89
|
descriptionDirection,
|
|
86
90
|
dropdownAlign,
|
|
87
91
|
emptyState,
|
|
88
92
|
footer,
|
|
93
|
+
groupEmptyState,
|
|
94
|
+
groupError,
|
|
89
95
|
id: dropdownId,
|
|
90
96
|
isLoading,
|
|
91
97
|
loadMore,
|
|
@@ -128,7 +134,7 @@ const SelectInput = ({
|
|
|
128
134
|
] })
|
|
129
135
|
}
|
|
130
136
|
),
|
|
131
|
-
!error
|
|
137
|
+
!(error || success) && helper ? /* @__PURE__ */ jsx(
|
|
132
138
|
Text,
|
|
133
139
|
{
|
|
134
140
|
as: "p",
|
|
@@ -36,9 +36,4 @@ export type ReducerAction = {
|
|
|
36
36
|
selectedValues: ReducerState['selectedValues'];
|
|
37
37
|
selectedGroups: ReducerState['selectedGroups'];
|
|
38
38
|
};
|
|
39
|
-
export declare const INPUT_SIZE_HEIGHT: {
|
|
40
|
-
readonly large: "600";
|
|
41
|
-
readonly medium: "500";
|
|
42
|
-
readonly small: "400";
|
|
43
|
-
};
|
|
44
39
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/SelectInput/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,CACA;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACtC;IACE,KAAK,EAAE,SAAS,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB,CACJ,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAAA;AAElE,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9C;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,aAAa,EAAE,UAAU,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GACD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IACE,IAAI,EAAE,OAAO,CAAA;IACb,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAA;IAC9C,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAA;CAC/C,CAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/SelectInput/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,CACA;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GACtC;IACE,KAAK,EAAE,SAAS,CAAA;IAChB,UAAU,EAAE,MAAM,CAAA;CACnB,CACJ,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,GAAG,UAAU,EAAE,CAAA;AAElE,MAAM,MAAM,YAAY,GAAG;IACzB,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,WAAW,EAAE,OAAO,CAAA;IACpB,cAAc,EAAE,MAAM,EAAE,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,aAAa,GACrB;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC9C;IACE,IAAI,EAAE,cAAc,CAAA;IACpB,aAAa,EAAE,UAAU,CAAA;IACzB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,GACD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IACE,IAAI,EAAE,OAAO,CAAA;IACb,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAA;IAC9C,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,CAAA;CAC/C,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SelectableCard/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAA;AAIzD,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAIjB,SAAS,EACV,MAAM,OAAO,CAAA;AASd,OAAO,KAAK,EAAE,SAAS,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAA;AAiB5E,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EACL,CAAC,CAAC,EACA,QAAQ,EACR,OAAO,GACR,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,UAAU,CAAC,KAAK,SAAS,CAAC,GACnE,SAAS,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,QAAQ,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;IAC7C,MAAM,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,CACA;IACE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,KAAK,CAAA;CACpB,GACD;IACE,WAAW,CAAC,EAAE,8BAA8B,CAC1C,MAAM,OAAO,WAAW,EACxB,aAAa,CACd,CAAA;IACD,YAAY,CAAC,EAAE,KAAK,CAAA;CACrB,CACJ,GACC,SAAS,CAAA;AAEX;;;GAGG;AACH,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SelectableCard/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,WAAW,MAAM,4BAA4B,CAAA;AAIzD,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EAIjB,SAAS,EACV,MAAM,OAAO,CAAA;AASd,OAAO,KAAK,EAAE,SAAS,EAAE,8BAA8B,EAAE,MAAM,aAAa,CAAA;AAiB5E,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EACL,CAAC,CAAC,EACA,QAAQ,EACR,OAAO,GACR,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,UAAU,CAAC,KAAK,SAAS,CAAC,GACnE,SAAS,CAAA;IACb,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IACtB,QAAQ,EAAE,kBAAkB,CAAC,gBAAgB,CAAC,CAAA;IAC9C,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAA;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,OAAO,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;IAC7C,MAAM,CAAC,EAAE,iBAAiB,CAAC,gBAAgB,CAAC,CAAA;IAC5C,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,KAAK,CAAC,EAAE,aAAa,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,GAAG,CACA;IACE,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,KAAK,CAAA;CACpB,GACD;IACE,WAAW,CAAC,EAAE,8BAA8B,CAC1C,MAAM,OAAO,WAAW,EACxB,aAAa,CACd,CAAA;IACD,YAAY,CAAC,EAAE,KAAK,CAAA;CACrB,CACJ,GACC,SAAS,CAAA;AAEX;;;GAGG;AACH,eAAO,MAAM,cAAc,gHAgR1B,CAAA"}
|
|
@@ -59,7 +59,10 @@ const SelectableCard = forwardRef(
|
|
|
59
59
|
}).catch(() => null);
|
|
60
60
|
}
|
|
61
61
|
});
|
|
62
|
-
const ProductIconUsed = productIcon ?
|
|
62
|
+
const ProductIconUsed = productIcon ? (
|
|
63
|
+
// biome-ignore lint/performance/noDynamicNamespaceImportAccess: to fix
|
|
64
|
+
ProductIcon[`${productIcon.charAt(0).toUpperCase() + productIcon.slice(1)}ProductIcon`]
|
|
65
|
+
) : null;
|
|
63
66
|
const ParentContainer = useCallback(
|
|
64
67
|
({ children: subChildren }) => {
|
|
65
68
|
if (tooltip) {
|
|
@@ -126,7 +129,7 @@ const SelectableCard = forwardRef(
|
|
|
126
129
|
`label[for="${inputElement.id}"]`
|
|
127
130
|
);
|
|
128
131
|
const targetNode = event.target;
|
|
129
|
-
if (!inputElement.contains(targetNode)
|
|
132
|
+
if (!(inputElement.contains(targetNode) || labelElement?.contains(targetNode))) {
|
|
130
133
|
inputElement.click();
|
|
131
134
|
}
|
|
132
135
|
}
|
|
@@ -136,7 +139,7 @@ const SelectableCard = forwardRef(
|
|
|
136
139
|
return /* @__PURE__ */ jsx(ParentContainer, { children: /* @__PURE__ */ jsx(
|
|
137
140
|
Stack,
|
|
138
141
|
{
|
|
139
|
-
alignItems: "start",
|
|
142
|
+
alignItems: "flex-start",
|
|
140
143
|
className: cn(
|
|
141
144
|
className,
|
|
142
145
|
containerSelectableCard({
|
|
@@ -159,8 +162,8 @@ const SelectableCard = forwardRef(
|
|
|
159
162
|
role: "button",
|
|
160
163
|
style: {
|
|
161
164
|
...assignInlineVars({
|
|
162
|
-
[inputDisplay]:
|
|
163
|
-
[labelDisplay]:
|
|
165
|
+
[inputDisplay]: showTick ? "inline" : "none",
|
|
166
|
+
[labelDisplay]: showTick || label ? "inline" : "none",
|
|
164
167
|
[widthSelectable]: label ? "100%" : "auto"
|
|
165
168
|
}),
|
|
166
169
|
...style
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
export declare const containerSelectableCard: import("@vanilla-extract/recipes").RuntimeFn<{
|
|
2
|
+
cursor: {
|
|
3
|
+
custom: {
|
|
4
|
+
cursor: "pointer";
|
|
5
|
+
};
|
|
6
|
+
default: {
|
|
7
|
+
cursor: "default";
|
|
8
|
+
};
|
|
9
|
+
};
|
|
2
10
|
image: {
|
|
3
|
-
none: {};
|
|
4
11
|
icon: {
|
|
5
12
|
padding: `var(--${string})`;
|
|
6
13
|
paddingRight: `var(--${string})`;
|
|
@@ -8,14 +15,7 @@ export declare const containerSelectableCard: import("@vanilla-extract/recipes")
|
|
|
8
15
|
illustration: {
|
|
9
16
|
padding: `var(--${string})`;
|
|
10
17
|
};
|
|
11
|
-
|
|
12
|
-
cursor: {
|
|
13
|
-
default: {
|
|
14
|
-
cursor: "default";
|
|
15
|
-
};
|
|
16
|
-
custom: {
|
|
17
|
-
cursor: "pointer";
|
|
18
|
-
};
|
|
18
|
+
none: {};
|
|
19
19
|
};
|
|
20
20
|
}>;
|
|
21
21
|
export declare const labelContainerSelectableCard: Record<"label" | "noLabel", string>;
|