@xsolla/xui-multi-select 0.216.0 → 0.217.0
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 +82 -3
- package/native/index.d.mts +43 -2
- package/native/index.d.ts +43 -2
- package/native/index.js +179 -757
- package/native/index.js.map +1 -1
- package/native/index.mjs +143 -721
- package/native/index.mjs.map +1 -1
- package/package.json +7 -6
- package/web/index.d.mts +43 -2
- package/web/index.d.ts +43 -2
- package/web/index.js +180 -758
- package/web/index.js.map +1 -1
- package/web/index.mjs +141 -719
- package/web/index.mjs.map +1 -1
package/web/index.d.mts
CHANGED
|
@@ -11,6 +11,19 @@ interface MultiSelectOption {
|
|
|
11
11
|
label: ReactNode;
|
|
12
12
|
value: string | number;
|
|
13
13
|
disabled?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* When `false`, this option is **locked**: once selected it cannot be
|
|
16
|
+
* removed. Its tag renders without a remove button, clicking the tag does
|
|
17
|
+
* nothing, toggling the option off in the dropdown is a no-op, the
|
|
18
|
+
* `extraClear` clear-all button leaves it in place, and select-all /
|
|
19
|
+
* deselect-all skips it.
|
|
20
|
+
*
|
|
21
|
+
* Unlike `disabled`, a locked option is **not** greyed out — use it for a
|
|
22
|
+
* required, default-selected value (e.g. a base language that must always
|
|
23
|
+
* stay selected) that should still look like a normal selection.
|
|
24
|
+
* @default true
|
|
25
|
+
*/
|
|
26
|
+
removable?: boolean;
|
|
14
27
|
}
|
|
15
28
|
interface MultiSelectProps extends ThemeOverrideProps {
|
|
16
29
|
/**
|
|
@@ -70,12 +83,14 @@ interface MultiSelectProps extends ThemeOverrideProps {
|
|
|
70
83
|
*/
|
|
71
84
|
flexible?: boolean;
|
|
72
85
|
/**
|
|
73
|
-
* Switch on displaying a remove button in each tag.
|
|
86
|
+
* Switch on displaying a remove button in each tag. This is the
|
|
87
|
+
* component-wide default; an individual option can opt out with
|
|
88
|
+
* `MultiSelectOption.removable: false`.
|
|
74
89
|
* @default true
|
|
75
90
|
*/
|
|
76
91
|
removeTagsButtons?: boolean;
|
|
77
92
|
/**
|
|
78
|
-
* Add clear all button.
|
|
93
|
+
* Add clear all button. Options with `removable: false` are kept.
|
|
79
94
|
* @default false
|
|
80
95
|
*/
|
|
81
96
|
extraClear?: boolean;
|
|
@@ -113,6 +128,32 @@ interface MultiSelectProps extends ThemeOverrideProps {
|
|
|
113
128
|
* @default "No results"
|
|
114
129
|
*/
|
|
115
130
|
noOptionsMessage?: string;
|
|
131
|
+
/**
|
|
132
|
+
* When true, shows a select-all / deselect-all row at the top of the
|
|
133
|
+
* built-in dropdown (below the search input when `searchable`).
|
|
134
|
+
*
|
|
135
|
+
* Scope is **the options currently listed**: with `searchable` active and a
|
|
136
|
+
* search query typed, it applies only to the filtered options, matching what
|
|
137
|
+
* the user can see. Options with `disabled: true` are skipped, and options
|
|
138
|
+
* with `removable: false` are never deselected. The row flips to
|
|
139
|
+
* deselect-all once every selectable listed option is selected.
|
|
140
|
+
*
|
|
141
|
+
* Ignored when `dropdownMenu` is false.
|
|
142
|
+
* @default false
|
|
143
|
+
*/
|
|
144
|
+
selectAll?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Label of the select-all row. Only used when `selectAll` is true.
|
|
147
|
+
* @default "Select all"
|
|
148
|
+
*/
|
|
149
|
+
selectAllLabel?: string;
|
|
150
|
+
/**
|
|
151
|
+
* Label of the select-all row once everything listed is selected, at which
|
|
152
|
+
* point activating it clears the listed selection. Only used when
|
|
153
|
+
* `selectAll` is true.
|
|
154
|
+
* @default "Deselect all"
|
|
155
|
+
*/
|
|
156
|
+
deselectAllLabel?: string;
|
|
116
157
|
/**
|
|
117
158
|
* When false, the built-in options list and backdrop are not shown and the control
|
|
118
159
|
* does not open on click. Use with an external picker (e.g. grouped select) wired
|
package/web/index.d.ts
CHANGED
|
@@ -11,6 +11,19 @@ interface MultiSelectOption {
|
|
|
11
11
|
label: ReactNode;
|
|
12
12
|
value: string | number;
|
|
13
13
|
disabled?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* When `false`, this option is **locked**: once selected it cannot be
|
|
16
|
+
* removed. Its tag renders without a remove button, clicking the tag does
|
|
17
|
+
* nothing, toggling the option off in the dropdown is a no-op, the
|
|
18
|
+
* `extraClear` clear-all button leaves it in place, and select-all /
|
|
19
|
+
* deselect-all skips it.
|
|
20
|
+
*
|
|
21
|
+
* Unlike `disabled`, a locked option is **not** greyed out — use it for a
|
|
22
|
+
* required, default-selected value (e.g. a base language that must always
|
|
23
|
+
* stay selected) that should still look like a normal selection.
|
|
24
|
+
* @default true
|
|
25
|
+
*/
|
|
26
|
+
removable?: boolean;
|
|
14
27
|
}
|
|
15
28
|
interface MultiSelectProps extends ThemeOverrideProps {
|
|
16
29
|
/**
|
|
@@ -70,12 +83,14 @@ interface MultiSelectProps extends ThemeOverrideProps {
|
|
|
70
83
|
*/
|
|
71
84
|
flexible?: boolean;
|
|
72
85
|
/**
|
|
73
|
-
* Switch on displaying a remove button in each tag.
|
|
86
|
+
* Switch on displaying a remove button in each tag. This is the
|
|
87
|
+
* component-wide default; an individual option can opt out with
|
|
88
|
+
* `MultiSelectOption.removable: false`.
|
|
74
89
|
* @default true
|
|
75
90
|
*/
|
|
76
91
|
removeTagsButtons?: boolean;
|
|
77
92
|
/**
|
|
78
|
-
* Add clear all button.
|
|
93
|
+
* Add clear all button. Options with `removable: false` are kept.
|
|
79
94
|
* @default false
|
|
80
95
|
*/
|
|
81
96
|
extraClear?: boolean;
|
|
@@ -113,6 +128,32 @@ interface MultiSelectProps extends ThemeOverrideProps {
|
|
|
113
128
|
* @default "No results"
|
|
114
129
|
*/
|
|
115
130
|
noOptionsMessage?: string;
|
|
131
|
+
/**
|
|
132
|
+
* When true, shows a select-all / deselect-all row at the top of the
|
|
133
|
+
* built-in dropdown (below the search input when `searchable`).
|
|
134
|
+
*
|
|
135
|
+
* Scope is **the options currently listed**: with `searchable` active and a
|
|
136
|
+
* search query typed, it applies only to the filtered options, matching what
|
|
137
|
+
* the user can see. Options with `disabled: true` are skipped, and options
|
|
138
|
+
* with `removable: false` are never deselected. The row flips to
|
|
139
|
+
* deselect-all once every selectable listed option is selected.
|
|
140
|
+
*
|
|
141
|
+
* Ignored when `dropdownMenu` is false.
|
|
142
|
+
* @default false
|
|
143
|
+
*/
|
|
144
|
+
selectAll?: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Label of the select-all row. Only used when `selectAll` is true.
|
|
147
|
+
* @default "Select all"
|
|
148
|
+
*/
|
|
149
|
+
selectAllLabel?: string;
|
|
150
|
+
/**
|
|
151
|
+
* Label of the select-all row once everything listed is selected, at which
|
|
152
|
+
* point activating it clears the listed selection. Only used when
|
|
153
|
+
* `selectAll` is true.
|
|
154
|
+
* @default "Deselect all"
|
|
155
|
+
*/
|
|
156
|
+
deselectAllLabel?: string;
|
|
116
157
|
/**
|
|
117
158
|
* When false, the built-in options list and backdrop are not shown and the control
|
|
118
159
|
* does not open on click. Use with an external picker (e.g. grouped select) wired
|