@react-fabric/form 1.0.0-beta.56 → 1.0.0-beta.58
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/css/_field.css +2 -1
- package/dist/cjs/form/Form.js +24 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/input/ArrayInput.js +34 -13
- package/dist/cjs/input/AvatarInput.js +17 -10
- package/dist/cjs/input/ColorInput.js +1 -0
- package/dist/cjs/input/Hidden.js +4 -3
- package/dist/cjs/input/Slider.js +2 -2
- package/dist/cjs/input/Textarea.js +1 -1
- package/dist/cjs/select/DualList.js +16 -8
- package/dist/cjs/select/List.js +5 -2
- package/dist/cjs/select/Options.js +49 -42
- package/dist/cjs/select/Select.js +4 -2
- package/dist/cjs/select/useSelect.js +14 -7
- package/dist/esm/form/Form.js +26 -3
- package/dist/esm/index.js +1 -1
- package/dist/esm/input/ArrayInput.js +35 -14
- package/dist/esm/input/AvatarInput.js +17 -10
- package/dist/esm/input/ColorInput.js +1 -0
- package/dist/esm/input/Hidden.js +4 -3
- package/dist/esm/input/Slider.js +2 -2
- package/dist/esm/input/Textarea.js +1 -1
- package/dist/esm/select/DualList.js +16 -8
- package/dist/esm/select/List.js +5 -2
- package/dist/esm/select/Options.js +49 -42
- package/dist/esm/select/Select.js +4 -2
- package/dist/esm/select/useSelect.js +14 -7
- package/dist/types/form/Form.d.ts +11 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/input/ArrayInput.d.ts +5 -8
- package/dist/types/input/AvatarInput.d.ts +6 -1
- package/dist/types/input/Hidden.d.ts +5 -1
- package/dist/types/select/List.d.ts +1 -1
- package/dist/types/select/Options.d.ts +2 -1
- package/dist/types/select/Select.d.ts +1 -1
- package/dist/types/select/useSelect.d.ts +4 -1
- package/dist/types/types/index.d.ts +4 -0
- package/package.json +20 -21
- package/src/form/Form.tsx +34 -2
- package/src/index.ts +1 -1
- package/src/input/ArrayInput.tsx +55 -21
- package/src/input/AvatarInput.tsx +32 -5
- package/src/input/ColorInput.tsx +1 -0
- package/src/input/Hidden.tsx +9 -5
- package/src/input/Slider.tsx +4 -4
- package/src/input/Textarea.tsx +1 -1
- package/src/select/DualList.tsx +4 -8
- package/src/select/List.tsx +3 -0
- package/src/select/Options.tsx +47 -43
- package/src/select/Select.tsx +2 -0
- package/src/select/useSelect.tsx +15 -6
- package/src/types/index.ts +4 -0
package/dist/esm/form/Form.js
CHANGED
|
@@ -9,7 +9,7 @@ import { yupResolver } from '@hookform/resolvers/yup';
|
|
|
9
9
|
import { useDebounce } from '@react-fabric/core';
|
|
10
10
|
import { EMPTY_OBJECT } from '@react-fabric/utilities';
|
|
11
11
|
import { useRef, useTransition, useEffect, useCallback, useImperativeHandle } from 'react';
|
|
12
|
-
import { useForm, FormProvider } from 'react-hook-form';
|
|
12
|
+
import { useForm as useForm$1, FormProvider, useFormContext, useWatch } from 'react-hook-form';
|
|
13
13
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
14
14
|
|
|
15
15
|
var _excluded = ["formRef", "schema", "children", "defaultValues", "onSubmit", "onChange"];
|
|
@@ -61,7 +61,7 @@ var Form = function Form(_ref) {
|
|
|
61
61
|
onChange = _ref.onChange,
|
|
62
62
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
63
63
|
var ref = useRef(null);
|
|
64
|
-
var form = useForm({
|
|
64
|
+
var form = useForm$1({
|
|
65
65
|
shouldFocusError: true,
|
|
66
66
|
resolver: schema && yupResolver(schema),
|
|
67
67
|
defaultValues: defaultValues
|
|
@@ -165,5 +165,28 @@ var Form = function Form(_ref) {
|
|
|
165
165
|
}))
|
|
166
166
|
}));
|
|
167
167
|
};
|
|
168
|
+
var useForm = function useForm() {
|
|
169
|
+
var _useFormContext = useFormContext(),
|
|
170
|
+
formState = _useFormContext.formState,
|
|
171
|
+
getValues = _useFormContext.getValues,
|
|
172
|
+
setValue = _useFormContext.setValue,
|
|
173
|
+
watch = _useFormContext.watch,
|
|
174
|
+
reset = _useFormContext.reset,
|
|
175
|
+
resetField = _useFormContext.resetField,
|
|
176
|
+
setError = _useFormContext.setError,
|
|
177
|
+
setFocus = _useFormContext.setFocus;
|
|
178
|
+
var values = useWatch();
|
|
179
|
+
return {
|
|
180
|
+
values: _objectSpread(_objectSpread({}, values), getValues()),
|
|
181
|
+
formState: formState,
|
|
182
|
+
getValues: getValues,
|
|
183
|
+
setValue: setValue,
|
|
184
|
+
watch: watch,
|
|
185
|
+
reset: reset,
|
|
186
|
+
resetField: resetField,
|
|
187
|
+
setError: setError,
|
|
188
|
+
setFocus: setFocus
|
|
189
|
+
};
|
|
190
|
+
};
|
|
168
191
|
|
|
169
|
-
export { Form };
|
|
192
|
+
export { Form, useForm };
|
package/dist/esm/index.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import './i18n/index.js';
|
|
4
4
|
export { Controller } from './form/Controller.js';
|
|
5
|
-
export { Form } from './form/Form.js';
|
|
5
|
+
export { Form, useForm } from './form/Form.js';
|
|
6
6
|
export { SchemaEditor } from './builder/SchemaEditor.js';
|
|
7
7
|
export { useFileUploader } from './hooks/useFileUploader.js';
|
|
8
8
|
export { useFormBuilder } from './hooks/useFormBuilder.js';
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
4
|
+
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
4
5
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
5
6
|
import { DndContext } from '@dnd-kit/core';
|
|
6
7
|
import { SortableContext, useSortable } from '@dnd-kit/sortable';
|
|
7
8
|
import { Icon, CoreIcons, Tooltip, Button, cloneChildren } from '@react-fabric/core';
|
|
8
9
|
import { isFalse, isString } from '@react-fabric/utilities';
|
|
9
10
|
import classNames from 'classnames';
|
|
10
|
-
import { useMemo, useCallback, useImperativeHandle, cloneElement } from 'react';
|
|
11
|
+
import { useState, useEffect, useMemo, useCallback, useImperativeHandle, cloneElement } from 'react';
|
|
11
12
|
import { useFormContext, useFieldArray } from 'react-hook-form';
|
|
12
13
|
import { useTranslation } from 'react-i18next';
|
|
13
14
|
import { FieldWrapper } from '../internal/FieldWrapper.js';
|
|
@@ -15,7 +16,7 @@ import { restrictToVerticalAxis } from '@dnd-kit/modifiers';
|
|
|
15
16
|
import { CSS } from '@dnd-kit/utilities';
|
|
16
17
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
17
18
|
|
|
18
|
-
var _excluded = ["name", "children", "addLabel", "
|
|
19
|
+
var _excluded = ["name", "children", "addLabel", "focusName", "buttonPosition", "onAdd", "onRemove", "onBeforeRemove", "canRemove", "arrayRef", "enableSorting", "disabled", "readOnly", "minItems", "maxItems"];
|
|
19
20
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
20
21
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
21
22
|
/**
|
|
@@ -61,7 +62,6 @@ var ArrayInput = function ArrayInput(_ref) {
|
|
|
61
62
|
var name = _ref.name,
|
|
62
63
|
children = _ref.children,
|
|
63
64
|
addLabel = _ref.addLabel,
|
|
64
|
-
fixedList = _ref.fixedList,
|
|
65
65
|
_ref$focusName = _ref.focusName,
|
|
66
66
|
focusName = _ref$focusName === void 0 ? "" : _ref$focusName,
|
|
67
67
|
_ref$buttonPosition = _ref.buttonPosition,
|
|
@@ -94,11 +94,35 @@ var ArrayInput = function ArrayInput(_ref) {
|
|
|
94
94
|
append = _useFieldArray.append,
|
|
95
95
|
remove = _useFieldArray.remove,
|
|
96
96
|
move = _useFieldArray.move;
|
|
97
|
+
var _useState = useState([]),
|
|
98
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
99
|
+
initialList = _useState2[0],
|
|
100
|
+
setInitialList = _useState2[1];
|
|
101
|
+
useEffect(function () {
|
|
102
|
+
setInitialList(fields.map(function (f) {
|
|
103
|
+
return f.__ID__;
|
|
104
|
+
}));
|
|
105
|
+
}, []);
|
|
97
106
|
var error = useMemo(function () {
|
|
98
107
|
var _form$formState$error, _form$formState$error2, _form$formState$error3;
|
|
99
108
|
return (_form$formState$error = (_form$formState$error2 = form.formState.errors[name]) === null || _form$formState$error2 === void 0 ? void 0 : _form$formState$error2.message) !== null && _form$formState$error !== void 0 ? _form$formState$error : (_form$formState$error3 = form.formState.errors[name]) === null || _form$formState$error3 === void 0 || (_form$formState$error3 = _form$formState$error3.root) === null || _form$formState$error3 === void 0 ? void 0 : _form$formState$error3.message;
|
|
100
109
|
}, [form.formState.errors]);
|
|
110
|
+
var removeCheck = useCallback(function (item, index) {
|
|
111
|
+
if (canRemove === false) return false;
|
|
112
|
+
if (canRemove === "newonly") {
|
|
113
|
+
return initialList.includes(item.__ID__) ? false : true;
|
|
114
|
+
}
|
|
115
|
+
if (typeof canRemove === "function") {
|
|
116
|
+
return canRemove({
|
|
117
|
+
item: item,
|
|
118
|
+
index: index,
|
|
119
|
+
lastItem: index + 1 === fields.length
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
return true;
|
|
123
|
+
}, [canRemove, initialList, fields]);
|
|
101
124
|
var handleAdd = useCallback(function (item) {
|
|
125
|
+
if (!item) return;
|
|
102
126
|
append(item);
|
|
103
127
|
setTimeout(function () {
|
|
104
128
|
form.setFocus("".concat(name, ".").concat(fields.length).concat(focusName ? "." + focusName : ""));
|
|
@@ -199,18 +223,18 @@ var ArrayInput = function ArrayInput(_ref) {
|
|
|
199
223
|
},
|
|
200
224
|
"data-invalid": !!error,
|
|
201
225
|
disabled: !!disabled || readOnly || fields.length > maxItems,
|
|
202
|
-
className: classNames("fabric-addButton", "me-10"),
|
|
203
|
-
children: addLabel !== null && addLabel !== void 0 ? addLabel : t("addArray")
|
|
226
|
+
className: classNames("fabric-addButton", canRemove !== false && "me-10"),
|
|
227
|
+
children: addLabel !== null && addLabel !== void 0 ? addLabel : t("form:addArray")
|
|
204
228
|
})
|
|
205
229
|
})
|
|
206
230
|
});
|
|
207
|
-
}, [error, fields, handleAdd, disabled, readOnly, addLabel, maxItems]);
|
|
231
|
+
}, [error, fields, handleAdd, canRemove, disabled, readOnly, addLabel, maxItems]);
|
|
208
232
|
return /*#__PURE__*/jsxs("div", {
|
|
209
233
|
className: "fabric-arrayInput",
|
|
210
234
|
children: [/*#__PURE__*/jsx(FieldWrapper, _objectSpread(_objectSpread({}, rest), {}, {
|
|
211
235
|
appendLabel: /*#__PURE__*/jsx("div", {
|
|
212
236
|
className: "-me-2",
|
|
213
|
-
children:
|
|
237
|
+
children: onAdd && buttonPosition !== "bottom" && addButton
|
|
214
238
|
}),
|
|
215
239
|
children: /*#__PURE__*/jsx(Wrapper, {
|
|
216
240
|
children: fields.map(function (item, index) {
|
|
@@ -219,6 +243,7 @@ var ArrayInput = function ArrayInput(_ref) {
|
|
|
219
243
|
className: "flex items-center flex-nowrap gap-2 mb-1",
|
|
220
244
|
children: [typeof children === "function" ? children({
|
|
221
245
|
index: index,
|
|
246
|
+
item: item,
|
|
222
247
|
name: "".concat(name, ".").concat(index)
|
|
223
248
|
}) : cloneChildren(children, function (child) {
|
|
224
249
|
return /*#__PURE__*/cloneElement(child, Object.assign({
|
|
@@ -231,17 +256,13 @@ var ArrayInput = function ArrayInput(_ref) {
|
|
|
231
256
|
required: undefined,
|
|
232
257
|
appendLabel: undefined
|
|
233
258
|
}));
|
|
234
|
-
}),
|
|
259
|
+
}), canRemove !== false && /*#__PURE__*/jsx(Button, {
|
|
235
260
|
"aria-label": "Remove item",
|
|
236
261
|
icon: CoreIcons.remove,
|
|
237
262
|
color: "danger",
|
|
238
263
|
variant: "link",
|
|
239
264
|
className: "self-end",
|
|
240
|
-
disabled: disabled || readOnly || fields.length <= minItems || (
|
|
241
|
-
item: item,
|
|
242
|
-
index: index,
|
|
243
|
-
lastItem: index + 1 === fields.length
|
|
244
|
-
})) !== false,
|
|
265
|
+
disabled: disabled || readOnly || fields.length <= minItems || removeCheck(item, index) === false,
|
|
245
266
|
onClick: function onClick() {
|
|
246
267
|
return handleRemove(item, index);
|
|
247
268
|
}
|
|
@@ -249,7 +270,7 @@ var ArrayInput = function ArrayInput(_ref) {
|
|
|
249
270
|
}, item.__ID__);
|
|
250
271
|
})
|
|
251
272
|
})
|
|
252
|
-
})),
|
|
273
|
+
})), onAdd && buttonPosition !== "top" && addButton]
|
|
253
274
|
});
|
|
254
275
|
};
|
|
255
276
|
|
|
@@ -9,9 +9,10 @@ import { Avatar, Icon, CoreIcons, ProgressBar } from '@react-fabric/core';
|
|
|
9
9
|
import { useState, useEffect } from 'react';
|
|
10
10
|
import { useFileUploader } from '../hooks/useFileUploader.js';
|
|
11
11
|
import { HiddenInput } from './Hidden.js';
|
|
12
|
+
import classNames from 'classnames';
|
|
12
13
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
13
14
|
|
|
14
|
-
var _excluded = ["size", "avatarName", "value", "defaultValue", "fileUrl", "uploadHandler"];
|
|
15
|
+
var _excluded = ["size", "avatarName", "avatarClassName", "value", "rounded", "defaultValue", "fallbackIcon", "variant", "fileUrl", "uploadHandler"];
|
|
15
16
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
17
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
18
|
/**
|
|
@@ -23,12 +24,16 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
23
24
|
* @returns {JSX.Element} - The rendered AvatarInput component.
|
|
24
25
|
*/
|
|
25
26
|
var AvatarInput = function AvatarInput(_ref) {
|
|
26
|
-
var _list
|
|
27
|
+
var _list$;
|
|
27
28
|
var _ref$size = _ref.size,
|
|
28
29
|
size = _ref$size === void 0 ? "6rem" : _ref$size,
|
|
29
30
|
avatarName = _ref.avatarName,
|
|
31
|
+
avatarClassName = _ref.avatarClassName,
|
|
30
32
|
value = _ref.value,
|
|
33
|
+
rounded = _ref.rounded,
|
|
31
34
|
defaultValue = _ref.defaultValue,
|
|
35
|
+
fallbackIcon = _ref.fallbackIcon,
|
|
36
|
+
variant = _ref.variant,
|
|
32
37
|
fileUrl = _ref.fileUrl,
|
|
33
38
|
uploadHandler = _ref.uploadHandler,
|
|
34
39
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -86,13 +91,17 @@ var AvatarInput = function AvatarInput(_ref) {
|
|
|
86
91
|
return /*#__PURE__*/jsxs("div", {
|
|
87
92
|
className: "flex flex-nowrap items-end overflow-hidden",
|
|
88
93
|
children: [/*#__PURE__*/jsxs("div", {
|
|
89
|
-
className: "inline-block leading-none
|
|
94
|
+
className: classNames("inline-block leading-none relative outline overflow-hidden", rounded && "rounded-full", !rounded && "rounded"),
|
|
90
95
|
children: [/*#__PURE__*/jsx(Avatar, {
|
|
91
96
|
name: avatarName !== null && avatarName !== void 0 ? avatarName : "temp",
|
|
92
97
|
size: size,
|
|
93
|
-
avatar: base64
|
|
98
|
+
avatar: base64,
|
|
99
|
+
rounded: rounded,
|
|
100
|
+
variant: variant,
|
|
101
|
+
fallbackIcon: fallbackIcon,
|
|
102
|
+
className: avatarClassName
|
|
94
103
|
}), /*#__PURE__*/jsxs("div", {
|
|
95
|
-
className: "absolute inset-x-0 bottom-0 cursor-pointer bg-black/
|
|
104
|
+
className: "absolute inset-x-0 bottom-0 cursor-pointer opacity-50 bg-black/50 hover:opacity-90 text-white text-xs text-center py-1",
|
|
96
105
|
children: [/*#__PURE__*/jsx("span", {
|
|
97
106
|
children: "Edit"
|
|
98
107
|
}), /*#__PURE__*/jsx("input", {
|
|
@@ -105,16 +114,14 @@ var AvatarInput = function AvatarInput(_ref) {
|
|
|
105
114
|
})]
|
|
106
115
|
})]
|
|
107
116
|
}), /*#__PURE__*/jsx(HiddenInput, _objectSpread({
|
|
108
|
-
hiddenValue:
|
|
117
|
+
hiddenValue: list === null || list === void 0 || (_list$ = list[0]) === null || _list$ === void 0 ? void 0 : _list$.path,
|
|
118
|
+
defaultValue: defaultValue
|
|
109
119
|
}, rest)), files.map(function (file, idx) {
|
|
110
120
|
return /*#__PURE__*/jsxs("div", {
|
|
111
121
|
className: "px-2 py-1 flex-1 overflow-hidden",
|
|
112
122
|
children: [/*#__PURE__*/jsxs("div", {
|
|
113
123
|
className: "flex flex-nowrap gap-1 items-center",
|
|
114
|
-
children: [/*#__PURE__*/jsx("div", {
|
|
115
|
-
className: "flex-initial truncate pe-2",
|
|
116
|
-
children: file.filename
|
|
117
|
-
}), file.error && /*#__PURE__*/jsx("div", {
|
|
124
|
+
children: [file.error && /*#__PURE__*/jsx("div", {
|
|
118
125
|
className: "flex-1 truncate px-2",
|
|
119
126
|
children: /*#__PURE__*/jsx("span", {
|
|
120
127
|
className: "text-danger-600",
|
|
@@ -100,6 +100,7 @@ var ColorInput = function ColorInput(_ref) {
|
|
|
100
100
|
}, rest), {}, {
|
|
101
101
|
children: [/*#__PURE__*/jsx("button", _objectSpread(_objectSpread({
|
|
102
102
|
"data-ref": "button",
|
|
103
|
+
type: "button",
|
|
103
104
|
className: "flex-1 flex items-center",
|
|
104
105
|
ref: refs.setReference
|
|
105
106
|
}, getReferenceProps({
|
package/dist/esm/input/Hidden.js
CHANGED
|
@@ -37,6 +37,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
|
|
|
37
37
|
*/
|
|
38
38
|
var HiddenInput = function HiddenInput(_ref) {
|
|
39
39
|
var hiddenValue = _ref.hiddenValue,
|
|
40
|
+
defaultValue = _ref.defaultValue,
|
|
40
41
|
onChange = _ref.onChange,
|
|
41
42
|
invalid = _ref.invalid,
|
|
42
43
|
error = _ref.error,
|
|
@@ -44,10 +45,10 @@ var HiddenInput = function HiddenInput(_ref) {
|
|
|
44
45
|
value = _ref$value === void 0 ? "" : _ref$value,
|
|
45
46
|
name = _ref.name;
|
|
46
47
|
useEffect(function () {
|
|
47
|
-
|
|
48
|
-
onChange === null || onChange === void 0 || onChange(hiddenValue);
|
|
48
|
+
setTimeout(function () {
|
|
49
|
+
onChange === null || onChange === void 0 || onChange(hiddenValue !== null && hiddenValue !== void 0 ? hiddenValue : defaultValue);
|
|
49
50
|
}, 50);
|
|
50
|
-
}, [hiddenValue]);
|
|
51
|
+
}, [hiddenValue, defaultValue]);
|
|
51
52
|
return /*#__PURE__*/jsxs(Fragment, {
|
|
52
53
|
children: [/*#__PURE__*/jsx("input", {
|
|
53
54
|
type: "hidden",
|
package/dist/esm/input/Slider.js
CHANGED
|
@@ -129,7 +129,7 @@ var Slider = function Slider(_ref) {
|
|
|
129
129
|
},
|
|
130
130
|
children: [showLabels && (vertical ? maxDisplay : minDisplay), /*#__PURE__*/jsxs("div", {
|
|
131
131
|
ref: rangerInstance.trackElRef,
|
|
132
|
-
className: classNames("
|
|
132
|
+
className: classNames("relative flex items-center", vertical ? "my-2 w-8" : "flex-1 mx-2 h-8"),
|
|
133
133
|
style: {
|
|
134
134
|
height: vertical ? height : undefined
|
|
135
135
|
},
|
|
@@ -163,7 +163,7 @@ var Slider = function Slider(_ref) {
|
|
|
163
163
|
}, props), {}, {
|
|
164
164
|
style: styles
|
|
165
165
|
})), displayValue && /*#__PURE__*/jsx("div", {
|
|
166
|
-
className: classNames("bg-invert text-invert py-px px-2 text-xs absolute rounded z-[5] whitespace-nowrap", "before:absolute before:h-1.5 before:w-1.5 before:z-[-1] before:bg-invert before:top-1/2 before:-translate-y-1/2 before:rotate-45", vertical ? "end-0 ltr:translate-x-full rtl:-translate-x-full translate-y-2" : "top-1/2 -translate-y-1/2", !vertical && (percentage > 50 ? "-ms-3 ltr:-translate-x-full rtl:translate-x-full ltr:before:translate-x-[0.125rem] rtl:before:-translate-x-[0.125rem] before:end-0" : "ms-3 ltr:before:-translate-x-[0.125rem] rtl:before:translate-x-[0.125rem] before:start-0")),
|
|
166
|
+
className: classNames("bg-invert text-invert py-px px-2 text-xs absolute rounded z-[5] whitespace-nowrap pointer-events-none", "before:absolute before:h-1.5 before:w-1.5 before:z-[-1] before:bg-invert before:top-1/2 before:-translate-y-1/2 before:rotate-45", vertical ? "end-0 ltr:translate-x-full rtl:-translate-x-full translate-y-2 ltr:before:-translate-x-[0.125rem] rtl:before:translate-x-[0.125rem] before:start-0" : "top-1/2 -translate-y-1/2", !vertical && (percentage > 50 ? "-ms-3 ltr:-translate-x-full rtl:translate-x-full ltr:before:translate-x-[0.125rem] rtl:before:-translate-x-[0.125rem] before:end-0" : "ms-3 ltr:before:-translate-x-[0.125rem] rtl:before:translate-x-[0.125rem] before:start-0")),
|
|
167
167
|
"data-align": percentage > 50 ? "start" : "end",
|
|
168
168
|
style: valueStyles,
|
|
169
169
|
children: value === Infinity || useInfinity && value === max ? maxLabel !== null && maxLabel !== void 0 ? maxLabel : "∞" : Format.number(value, format)
|
|
@@ -87,7 +87,7 @@ var Textarea = function Textarea(_ref) {
|
|
|
87
87
|
textarea: true
|
|
88
88
|
}, rest), {}, {
|
|
89
89
|
children: /*#__PURE__*/jsx("textarea", {
|
|
90
|
-
className: "appearance-none self-stretch bg-transparent py-1 px-2 flex-1 border-none outline-none ring-0 min-h-
|
|
90
|
+
className: "appearance-none self-stretch bg-transparent py-1 px-2 flex-1 border-none outline-none ring-0 min-h-12 resize-none",
|
|
91
91
|
"aria-invalid": invalid,
|
|
92
92
|
"aria-disabled": disabled,
|
|
93
93
|
"aria-readonly": readOnly,
|
|
@@ -190,36 +190,44 @@ var DualList = function DualList(_ref) {
|
|
|
190
190
|
vertical: true,
|
|
191
191
|
className: "outline overflow-hidden bg-base",
|
|
192
192
|
children: [/*#__PURE__*/jsx(Button, {
|
|
193
|
-
rtlFlip: true,
|
|
194
193
|
size: "sm",
|
|
195
194
|
variant: "link",
|
|
196
195
|
"aria-label": "scroll to top",
|
|
197
196
|
onClick: moveAllLeft,
|
|
198
|
-
icon:
|
|
197
|
+
icon: {
|
|
198
|
+
icon: CoreIcons.chevronsLeft,
|
|
199
|
+
rtlFlip: true
|
|
200
|
+
},
|
|
199
201
|
disabled: !rightOptions.length
|
|
200
202
|
}), /*#__PURE__*/jsx(Button, {
|
|
201
|
-
rtlFlip: true,
|
|
202
203
|
size: "sm",
|
|
203
204
|
variant: "link",
|
|
204
205
|
"aria-label": "scroll up",
|
|
205
206
|
onClick: moveRightSelected,
|
|
206
|
-
icon:
|
|
207
|
+
icon: {
|
|
208
|
+
icon: CoreIcons.chevronLeft,
|
|
209
|
+
rtlFlip: true
|
|
210
|
+
},
|
|
207
211
|
disabled: !rightSelected.length
|
|
208
212
|
}), /*#__PURE__*/jsx(Button, {
|
|
209
|
-
rtlFlip: true,
|
|
210
213
|
size: "sm",
|
|
211
214
|
variant: "link",
|
|
212
215
|
"aria-label": "scroll down",
|
|
213
216
|
onClick: moveLeftSelected,
|
|
214
|
-
icon:
|
|
217
|
+
icon: {
|
|
218
|
+
icon: CoreIcons.chevronRight,
|
|
219
|
+
rtlFlip: true
|
|
220
|
+
},
|
|
215
221
|
disabled: !leftSelected.length
|
|
216
222
|
}), /*#__PURE__*/jsx(Button, {
|
|
217
|
-
rtlFlip: true,
|
|
218
223
|
size: "sm",
|
|
219
224
|
variant: "link",
|
|
220
225
|
"aria-label": "scroll to bottom",
|
|
221
226
|
onClick: moveAllRight,
|
|
222
|
-
icon:
|
|
227
|
+
icon: {
|
|
228
|
+
icon: CoreIcons.chevronsRight,
|
|
229
|
+
rtlFlip: true
|
|
230
|
+
},
|
|
223
231
|
disabled: !leftOptions.length
|
|
224
232
|
})]
|
|
225
233
|
})
|
package/dist/esm/select/List.js
CHANGED
|
@@ -13,11 +13,11 @@ import { Options } from './Options.js';
|
|
|
13
13
|
import { useSelect } from './useSelect.js';
|
|
14
14
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
15
15
|
|
|
16
|
-
var _excluded = ["ref", "name", "value", "readOnly", "disabled", "required", "placeholder", "autoFocus", "options", "height", "groupProperty", "labelProperty", "valueProperty", "sortProperty", "multiple", "allowCreate", "searchable", "createOption", "matcher", "renderer", "onQuery", "onChange", "onSelect", "onEnterPressed", "emptyDisplay", "invalid", "error", "allowClear", "decorateStart", "decorateEnd", "data-inner", "data-hide-selected"];
|
|
16
|
+
var _excluded = ["ref", "name", "value", "readOnly", "disabled", "required", "placeholder", "autoFocus", "options", "height", "groupProperty", "labelProperty", "valueProperty", "infoProperty", "sortProperty", "multiple", "allowCreate", "searchable", "createOption", "matcher", "renderer", "onQuery", "onChange", "onSelect", "onEnterPressed", "emptyDisplay", "invalid", "error", "allowClear", "decorateStart", "decorateEnd", "data-inner", "data-hide-selected"];
|
|
17
17
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
18
18
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
19
19
|
var List = function List(_ref) {
|
|
20
|
-
var _state$query;
|
|
20
|
+
var _state$query, _state$activeItem;
|
|
21
21
|
var ref = _ref.ref,
|
|
22
22
|
name = _ref.name,
|
|
23
23
|
value = _ref.value,
|
|
@@ -31,6 +31,7 @@ var List = function List(_ref) {
|
|
|
31
31
|
groupProperty = _ref.groupProperty,
|
|
32
32
|
labelProperty = _ref.labelProperty,
|
|
33
33
|
valueProperty = _ref.valueProperty,
|
|
34
|
+
infoProperty = _ref.infoProperty,
|
|
34
35
|
sortProperty = _ref.sortProperty,
|
|
35
36
|
multiple = _ref.multiple,
|
|
36
37
|
allowCreate = _ref.allowCreate,
|
|
@@ -61,6 +62,7 @@ var List = function List(_ref) {
|
|
|
61
62
|
value: value,
|
|
62
63
|
options: options,
|
|
63
64
|
multiple: multiple,
|
|
65
|
+
alwaysOpen: true,
|
|
64
66
|
groupProperty: groupProperty,
|
|
65
67
|
labelProperty: labelProperty,
|
|
66
68
|
valueProperty: valueProperty,
|
|
@@ -254,6 +256,7 @@ var List = function List(_ref) {
|
|
|
254
256
|
itemRef: setItemRef,
|
|
255
257
|
itemProps: makeItemProps,
|
|
256
258
|
empty: emptyDisplay,
|
|
259
|
+
info: (_state$activeItem = state.activeItem) === null || _state$activeItem === void 0 ? void 0 : _state$activeItem[infoProperty !== null && infoProperty !== void 0 ? infoProperty : "info"],
|
|
257
260
|
children: function children(item, label) {
|
|
258
261
|
var _renderer3;
|
|
259
262
|
return (_renderer3 = renderer === null || renderer === void 0 ? void 0 : renderer(item)) !== null && _renderer3 !== void 0 ? _renderer3 : label;
|
|
@@ -7,7 +7,7 @@ import classNames from 'classnames';
|
|
|
7
7
|
import { Trans } from 'react-i18next';
|
|
8
8
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
9
9
|
|
|
10
|
-
var _excluded = ["ref", "style", "items", "active", "className", "itemRef", "empty", "valueProperty", "labelProperty", "itemProps", "children"];
|
|
10
|
+
var _excluded = ["ref", "style", "items", "active", "className", "itemRef", "empty", "info", "valueProperty", "labelProperty", "itemProps", "children"];
|
|
11
11
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
12
12
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
13
13
|
var Options = function Options(_ref) {
|
|
@@ -17,7 +17,8 @@ var Options = function Options(_ref) {
|
|
|
17
17
|
active = _ref.active,
|
|
18
18
|
className = _ref.className,
|
|
19
19
|
itemRef = _ref.itemRef,
|
|
20
|
-
empty = _ref.empty
|
|
20
|
+
empty = _ref.empty,
|
|
21
|
+
info = _ref.info;
|
|
21
22
|
_ref.valueProperty;
|
|
22
23
|
var _ref$labelProperty = _ref.labelProperty,
|
|
23
24
|
labelProperty = _ref$labelProperty === void 0 ? "label" : _ref$labelProperty,
|
|
@@ -26,49 +27,55 @@ var Options = function Options(_ref) {
|
|
|
26
27
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
27
28
|
return /*#__PURE__*/jsxs("div", _objectSpread(_objectSpread({
|
|
28
29
|
ref: ref,
|
|
29
|
-
className: classNames("bg-base select-none
|
|
30
|
+
className: classNames("bg-base select-none flex flex-col", className),
|
|
30
31
|
style: style
|
|
31
32
|
}, rest), {}, {
|
|
32
|
-
children: [
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
var _item$value, _item$labelProperty;
|
|
38
|
-
if (item.___group___) return /*#__PURE__*/jsx("p", {
|
|
39
|
-
className: "px-2 py-1 text-muted text-xs sticky -top-px z-2 bg-base border-t",
|
|
40
|
-
children: item.label
|
|
41
|
-
}, index);
|
|
42
|
-
if (item.___create___) return /*#__PURE__*/jsx("div", _objectSpread(_objectSpread({
|
|
43
|
-
role: "none",
|
|
44
|
-
tabIndex: active === index ? 0 : -1,
|
|
45
|
-
ref: function ref(el) {
|
|
46
|
-
return itemRef(index, el);
|
|
47
|
-
},
|
|
48
|
-
"data-active": active === index ? true : undefined,
|
|
49
|
-
className: classNames("block text-start truncate px-2 py-1 leading-normal cursor-pointer select-none", "data-[active]:bg-primary-200 data-[selected]:bg-primary-600 data-[selected]:text-white data-[active]:data-[selected]:underline")
|
|
50
|
-
}, itemProps(item)), {}, {
|
|
51
|
-
children: /*#__PURE__*/jsx(Trans, {
|
|
52
|
-
i18nKey: "form:select.createOption",
|
|
53
|
-
values: {
|
|
54
|
-
query: (_item$value = item.value) !== null && _item$value !== void 0 ? _item$value : item
|
|
55
|
-
},
|
|
56
|
-
components: [/*#__PURE__*/jsx("strong", {
|
|
57
|
-
children: "query"
|
|
58
|
-
}, "t0")]
|
|
33
|
+
children: [/*#__PURE__*/jsxs("div", {
|
|
34
|
+
className: classNames("overflow-x-hidden overflow-y-auto flex-1"),
|
|
35
|
+
children: [items.length === 0 && (empty !== null && empty !== void 0 ? empty : /*#__PURE__*/jsx(EmptyContent, {
|
|
36
|
+
message: /*#__PURE__*/jsx(Trans, {
|
|
37
|
+
i18nKey: "form:select.emptyList"
|
|
59
38
|
})
|
|
60
|
-
}), index)
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
39
|
+
})), items.map(function (item, index) {
|
|
40
|
+
var _item$value, _item$labelProperty;
|
|
41
|
+
if (item.___group___) return /*#__PURE__*/jsx("p", {
|
|
42
|
+
className: "px-2 py-1 text-muted text-xs sticky -top-px z-2 bg-base border-t",
|
|
43
|
+
children: item.label
|
|
44
|
+
}, index);
|
|
45
|
+
if (item.___create___) return /*#__PURE__*/jsx("div", _objectSpread(_objectSpread({
|
|
46
|
+
role: "none",
|
|
47
|
+
tabIndex: active === index ? 0 : -1,
|
|
48
|
+
ref: function ref(el) {
|
|
49
|
+
return itemRef(index, el);
|
|
50
|
+
},
|
|
51
|
+
"data-active": active === index ? true : undefined,
|
|
52
|
+
className: classNames("block text-start truncate px-2 py-1 leading-normal cursor-pointer select-none", "data-[active]:bg-primary-200 data-[selected]:bg-primary-600 data-[selected]:text-white data-[active]:data-[selected]:underline")
|
|
53
|
+
}, itemProps(item)), {}, {
|
|
54
|
+
children: /*#__PURE__*/jsx(Trans, {
|
|
55
|
+
i18nKey: "form:select.createOption",
|
|
56
|
+
values: {
|
|
57
|
+
query: (_item$value = item.value) !== null && _item$value !== void 0 ? _item$value : item
|
|
58
|
+
},
|
|
59
|
+
components: [/*#__PURE__*/jsx("strong", {
|
|
60
|
+
children: "query"
|
|
61
|
+
}, "t0")]
|
|
62
|
+
})
|
|
63
|
+
}), index);
|
|
64
|
+
return /*#__PURE__*/jsx("div", _objectSpread(_objectSpread({
|
|
65
|
+
role: "none",
|
|
66
|
+
tabIndex: active === index ? 0 : -1,
|
|
67
|
+
ref: function ref(el) {
|
|
68
|
+
return itemRef(index, el);
|
|
69
|
+
},
|
|
70
|
+
"data-active": active === index ? true : undefined,
|
|
71
|
+
className: classNames("block text-start truncate px-2 py-1 leading-normal cursor-pointer", "data-[active]:bg-primary-200 data-[selected]:bg-primary-600 data-[selected]:text-white data-[active]:data-[selected]:underline")
|
|
72
|
+
}, itemProps(item)), {}, {
|
|
73
|
+
children: children(item, (_item$labelProperty = item[labelProperty]) !== null && _item$labelProperty !== void 0 ? _item$labelProperty : item)
|
|
74
|
+
}), index);
|
|
75
|
+
})]
|
|
76
|
+
}), info && /*#__PURE__*/jsx("div", {
|
|
77
|
+
className: "px-2 py-1 text-sm bg-dimmed text-muted",
|
|
78
|
+
children: info
|
|
72
79
|
})]
|
|
73
80
|
}));
|
|
74
81
|
};
|
|
@@ -12,11 +12,11 @@ import { Options } from './Options.js';
|
|
|
12
12
|
import { useSelect } from './useSelect.js';
|
|
13
13
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
14
14
|
|
|
15
|
-
var _excluded = ["ref", "name", "value", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "error", "options", "defaultOpen", "hideHandle", "groupProperty", "labelProperty", "valueProperty", "sortProperty", "multiple", "searchable", "allowCreate", "emptyDisplay", "createOption", "matcher", "renderer", "onQuery", "onChange", "onSelect", "onEnterPressed"];
|
|
15
|
+
var _excluded = ["ref", "name", "value", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "error", "options", "defaultOpen", "hideHandle", "groupProperty", "labelProperty", "valueProperty", "sortProperty", "infoProperty", "multiple", "searchable", "allowCreate", "emptyDisplay", "createOption", "matcher", "renderer", "onQuery", "onChange", "onSelect", "onEnterPressed"];
|
|
16
16
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
17
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
18
18
|
var Select = function Select(_ref) {
|
|
19
|
-
var _state$query, _refs$reference$curre;
|
|
19
|
+
var _state$query, _refs$reference$curre, _state$activeItem;
|
|
20
20
|
var ref = _ref.ref,
|
|
21
21
|
name = _ref.name,
|
|
22
22
|
value = _ref.value,
|
|
@@ -36,6 +36,7 @@ var Select = function Select(_ref) {
|
|
|
36
36
|
_ref$valueProperty = _ref.valueProperty,
|
|
37
37
|
valueProperty = _ref$valueProperty === void 0 ? "id" : _ref$valueProperty,
|
|
38
38
|
sortProperty = _ref.sortProperty,
|
|
39
|
+
infoProperty = _ref.infoProperty,
|
|
39
40
|
multiple = _ref.multiple,
|
|
40
41
|
searchable = _ref.searchable,
|
|
41
42
|
allowCreate = _ref.allowCreate,
|
|
@@ -280,6 +281,7 @@ var Select = function Select(_ref) {
|
|
|
280
281
|
itemRef: setItemRef,
|
|
281
282
|
itemProps: makeItemProps,
|
|
282
283
|
empty: emptyDisplay,
|
|
284
|
+
info: (_state$activeItem = state.activeItem) === null || _state$activeItem === void 0 ? void 0 : _state$activeItem[infoProperty !== null && infoProperty !== void 0 ? infoProperty : "info"],
|
|
283
285
|
children: function children(item, label) {
|
|
284
286
|
var _renderer3;
|
|
285
287
|
return (_renderer3 = renderer === null || renderer === void 0 ? void 0 : renderer(item)) !== null && _renderer3 !== void 0 ? _renderer3 : label;
|
|
@@ -14,9 +14,11 @@ var useSelect = function useSelect(_ref) {
|
|
|
14
14
|
var _ref$options = _ref.options,
|
|
15
15
|
options = _ref$options === void 0 ? EMPTY_ARRAY : _ref$options,
|
|
16
16
|
value = _ref.value,
|
|
17
|
+
autoComplete = _ref.autoComplete,
|
|
18
|
+
_ref$alwaysOpen = _ref.alwaysOpen,
|
|
19
|
+
alwaysOpen = _ref$alwaysOpen === void 0 ? false : _ref$alwaysOpen,
|
|
17
20
|
_ref$defaultOpen = _ref.defaultOpen,
|
|
18
21
|
defaultOpen = _ref$defaultOpen === void 0 ? false : _ref$defaultOpen,
|
|
19
|
-
autoComplete = _ref.autoComplete,
|
|
20
22
|
_ref$multiple = _ref.multiple,
|
|
21
23
|
multiple = _ref$multiple === void 0 ? false : _ref$multiple,
|
|
22
24
|
_ref$allowCreate = _ref.allowCreate,
|
|
@@ -66,13 +68,16 @@ var useSelect = function useSelect(_ref) {
|
|
|
66
68
|
if (action.type === "close") {
|
|
67
69
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
68
70
|
activeIndex: null,
|
|
71
|
+
activeItem: null,
|
|
69
72
|
open: false
|
|
70
73
|
});
|
|
71
74
|
}
|
|
72
75
|
if (action.type === "active" && state.open) {
|
|
76
|
+
var _action$index;
|
|
73
77
|
if (autoComplete && action.index !== null) state.query = state.items[action.index];
|
|
74
78
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
75
|
-
activeIndex: action.index
|
|
79
|
+
activeIndex: action.index,
|
|
80
|
+
activeItem: state.items[(_action$index = action.index) !== null && _action$index !== void 0 ? _action$index : -1]
|
|
76
81
|
});
|
|
77
82
|
}
|
|
78
83
|
if (action.type === "setValue") {
|
|
@@ -86,6 +91,7 @@ var useSelect = function useSelect(_ref) {
|
|
|
86
91
|
var newState = _objectSpread(_objectSpread({}, state), {}, {
|
|
87
92
|
value: state.emptyValue,
|
|
88
93
|
activeIndex: null,
|
|
94
|
+
activeItem: null,
|
|
89
95
|
selectedIndex: autoComplete ? state.multiple ? (_action$value = action.value) === null || _action$value === void 0 ? void 0 : _action$value.length : 0 : state.items.indexOf(action.value)
|
|
90
96
|
});
|
|
91
97
|
if (action.value !== undefined) {
|
|
@@ -103,16 +109,16 @@ var useSelect = function useSelect(_ref) {
|
|
|
103
109
|
newState.value = action.value;
|
|
104
110
|
}
|
|
105
111
|
}
|
|
106
|
-
if (!state.multiple) newState.open =
|
|
112
|
+
if (!state.multiple) newState.open = alwaysOpen;
|
|
107
113
|
fireChange(newState.value);
|
|
108
114
|
return newState;
|
|
109
115
|
}
|
|
110
116
|
if (action.type === "removeItem") {
|
|
111
117
|
var newValue = state.value;
|
|
112
118
|
if (state.multiple) {
|
|
113
|
-
var _action$
|
|
119
|
+
var _action$index2;
|
|
114
120
|
newValue = _toConsumableArray(newValue);
|
|
115
|
-
newValue.splice((_action$
|
|
121
|
+
newValue.splice((_action$index2 = action.index) !== null && _action$index2 !== void 0 ? _action$index2 : -1, 1);
|
|
116
122
|
} else {
|
|
117
123
|
newValue = "";
|
|
118
124
|
}
|
|
@@ -173,9 +179,10 @@ var useSelect = function useSelect(_ref) {
|
|
|
173
179
|
}, {
|
|
174
180
|
multiple: multiple,
|
|
175
181
|
emptyValue: emptyValue,
|
|
176
|
-
open: defaultOpen,
|
|
182
|
+
open: alwaysOpen || defaultOpen,
|
|
177
183
|
loading: false,
|
|
178
184
|
activeIndex: null,
|
|
185
|
+
activeItem: null,
|
|
179
186
|
selectedIndex: null,
|
|
180
187
|
value: emptyValue,
|
|
181
188
|
// filter
|
|
@@ -320,7 +327,7 @@ var useSelect = function useSelect(_ref) {
|
|
|
320
327
|
});
|
|
321
328
|
}, []);
|
|
322
329
|
var setActiveIndex = useCallback(function (index) {
|
|
323
|
-
dispatch({
|
|
330
|
+
index && index > -1 && dispatch({
|
|
324
331
|
type: "active",
|
|
325
332
|
index: index
|
|
326
333
|
});
|