@react-fabric/form 1.0.0-beta.46 → 1.0.0-beta.48
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/cjs/builder/FormField.js +7 -1
- package/dist/cjs/builder/components/SchemaField.js +2 -1
- package/dist/cjs/input/ArrayInput.js +27 -10
- package/dist/cjs/input/AvatarInput.js +8 -7
- package/dist/cjs/input/DateInput.js +2 -4
- package/dist/cjs/input/File.js +1 -3
- package/dist/cjs/input/Input.js +2 -4
- package/dist/cjs/input/Number.js +1 -3
- package/dist/cjs/input/Password.js +1 -3
- package/dist/cjs/input/Search.js +3 -5
- package/dist/cjs/input/Switch.js +2 -1
- package/dist/cjs/input/Textarea.js +4 -3
- package/dist/cjs/internal/FieldWrapper.js +6 -0
- package/dist/cjs/select/AutoComplete.js +3 -2
- package/dist/cjs/select/List.js +3 -1
- package/dist/cjs/select/Select.js +3 -1
- package/dist/cjs/select/useSelect.js +2 -1
- package/dist/cjs/types/schema.js +1 -0
- package/dist/cjs/utils/eventHandlers.js +11 -5
- package/dist/esm/builder/FormField.js +7 -1
- package/dist/esm/builder/components/SchemaField.js +2 -1
- package/dist/esm/input/ArrayInput.js +24 -7
- package/dist/esm/input/AvatarInput.js +8 -7
- package/dist/esm/input/DateInput.js +3 -5
- package/dist/esm/input/File.js +3 -5
- package/dist/esm/input/Input.js +4 -6
- package/dist/esm/input/Number.js +3 -5
- package/dist/esm/input/Password.js +3 -5
- package/dist/esm/input/Search.js +5 -7
- package/dist/esm/input/Switch.js +2 -1
- package/dist/esm/input/Textarea.js +5 -4
- package/dist/esm/internal/FieldWrapper.js +6 -0
- package/dist/esm/select/AutoComplete.js +3 -2
- package/dist/esm/select/List.js +3 -1
- package/dist/esm/select/Select.js +3 -1
- package/dist/esm/select/useSelect.js +2 -1
- package/dist/esm/types/schema.js +1 -0
- package/dist/esm/utils/eventHandlers.js +11 -5
- package/dist/types/form/Form.d.ts +5 -1
- package/dist/types/input/ArrayInput.d.ts +20 -4
- package/dist/types/input/AvatarInput.d.ts +6 -3
- package/dist/types/internal/FieldWrapper.d.ts +1 -1
- package/dist/types/select/List.d.ts +1 -1
- package/dist/types/select/Select.d.ts +1 -1
- package/dist/types/select/useSelect.d.ts +2 -1
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/schema.d.ts +2 -2
- package/dist/types/utils/eventHandlers.d.ts +1 -1
- package/package.json +9 -9
- package/src/builder/FormField.tsx +8 -1
- package/src/builder/components/SchemaField.tsx +2 -1
- package/src/form/Form.tsx +7 -1
- package/src/input/ArrayInput.tsx +50 -12
- package/src/input/AvatarInput.tsx +11 -7
- package/src/input/DateInput.tsx +3 -6
- package/src/input/File.tsx +2 -6
- package/src/input/Input.tsx +3 -7
- package/src/input/Number.tsx +2 -6
- package/src/input/Password.tsx +2 -6
- package/src/input/Search.tsx +4 -8
- package/src/input/Textarea.tsx +6 -4
- package/src/internal/FieldWrapper.tsx +4 -0
- package/src/select/AutoComplete.tsx +1 -0
- package/src/select/List.tsx +2 -0
- package/src/select/Select.tsx +2 -0
- package/src/select/useSelect.tsx +4 -1
- package/src/types/index.ts +4 -0
- package/src/types/schema.ts +2 -2
- package/src/utils/eventHandlers.ts +9 -3
|
@@ -11,14 +11,15 @@ import { useFileUploader } from '../hooks/useFileUploader.js';
|
|
|
11
11
|
import { HiddenInput } from './Hidden.js';
|
|
12
12
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
13
13
|
|
|
14
|
-
var _excluded = ["
|
|
14
|
+
var _excluded = ["size", "avatarName", "value", "fileUrl", "uploadHandler"];
|
|
15
15
|
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
16
|
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
17
|
var AvatarInput = function AvatarInput(_ref) {
|
|
18
18
|
var _list$;
|
|
19
|
-
var
|
|
20
|
-
_ref$size = _ref.size,
|
|
19
|
+
var _ref$size = _ref.size,
|
|
21
20
|
size = _ref$size === void 0 ? "6rem" : _ref$size,
|
|
21
|
+
avatarName = _ref.avatarName,
|
|
22
|
+
value = _ref.value,
|
|
22
23
|
fileUrl = _ref.fileUrl,
|
|
23
24
|
uploadHandler = _ref.uploadHandler,
|
|
24
25
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -40,7 +41,7 @@ var AvatarInput = function AvatarInput(_ref) {
|
|
|
40
41
|
return function (_x, _x2) {
|
|
41
42
|
return _ref2.apply(this, arguments);
|
|
42
43
|
};
|
|
43
|
-
}(),
|
|
44
|
+
}(), value, false),
|
|
44
45
|
files = _useFileUploader.files,
|
|
45
46
|
list = _useFileUploader.list,
|
|
46
47
|
upload = _useFileUploader.upload,
|
|
@@ -69,14 +70,14 @@ var AvatarInput = function AvatarInput(_ref) {
|
|
|
69
70
|
}, [files, list]);
|
|
70
71
|
useEffect(function () {
|
|
71
72
|
var _fileUrl;
|
|
72
|
-
|
|
73
|
-
}, [
|
|
73
|
+
value && setBase64((_fileUrl = fileUrl === null || fileUrl === void 0 ? void 0 : fileUrl(value)) !== null && _fileUrl !== void 0 ? _fileUrl : value);
|
|
74
|
+
}, [value]);
|
|
74
75
|
return /*#__PURE__*/jsxs("div", {
|
|
75
76
|
className: "flex flex-nowrap items-end",
|
|
76
77
|
children: [/*#__PURE__*/jsxs("div", {
|
|
77
78
|
className: "inline-block leading-none rounded-full relative outline overflow-hidden",
|
|
78
79
|
children: [/*#__PURE__*/jsx(Avatar, {
|
|
79
|
-
name: "temp",
|
|
80
|
+
name: avatarName !== null && avatarName !== void 0 ? avatarName : "temp",
|
|
80
81
|
size: size,
|
|
81
82
|
avatar: base64
|
|
82
83
|
}), /*#__PURE__*/jsxs("div", {
|
|
@@ -6,10 +6,10 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
6
6
|
import { useFloating, autoUpdate, shift, flip, offset, arrow, useFocus, useClick, useDismiss, useInteractions, FloatingArrow } from '@floating-ui/react';
|
|
7
7
|
import { DateUtil, DatePanel } from '@react-fabric/date';
|
|
8
8
|
import { mergeRefs } from '@react-fabric/utilities';
|
|
9
|
+
import classNames from 'classnames';
|
|
9
10
|
import { useState, useDeferredValue, useMemo, useEffect, useCallback, startTransition, useRef } from 'react';
|
|
10
11
|
import { InputWrapper } from '../internal/InputWrapper.js';
|
|
11
|
-
import {
|
|
12
|
-
import classNames from 'classnames';
|
|
12
|
+
import { useHandleEnter } from '../utils/eventHandlers.js';
|
|
13
13
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
14
14
|
|
|
15
15
|
var _excluded = ["ref", "name", "value", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "error", "type", "onBlur", "onFocus", "onChange", "onEnterPressed", "format", "min", "max"];
|
|
@@ -52,9 +52,7 @@ var DateInput = function DateInput(_ref) {
|
|
|
52
52
|
setActualValue(deferred !== null && deferred !== void 0 ? deferred : "");
|
|
53
53
|
setInputValue(deferred ? DateUtil.format(deferred, inputFormat) : "");
|
|
54
54
|
}, [deferred, inputFormat]);
|
|
55
|
-
var handleEnterPressed =
|
|
56
|
-
return handleEnter(onEnterPressed);
|
|
57
|
-
}, [onEnterPressed]);
|
|
55
|
+
var handleEnterPressed = useHandleEnter(onEnterPressed);
|
|
58
56
|
var handleChange = useCallback(function (e) {
|
|
59
57
|
var value = e === null || e === void 0 ? void 0 : e.currentTarget.value;
|
|
60
58
|
if (value) {
|
package/dist/esm/input/File.js
CHANGED
|
@@ -6,9 +6,9 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
6
6
|
import { Icon, CoreIcons } from '@react-fabric/core';
|
|
7
7
|
import { isArray, mergeRefs, isEmpty, FileUtil, Format } from '@react-fabric/utilities';
|
|
8
8
|
import classNames from 'classnames';
|
|
9
|
-
import { useRef, useState, useDeferredValue,
|
|
9
|
+
import { useRef, useState, useDeferredValue, useEffect, useCallback, Fragment } from 'react';
|
|
10
10
|
import { InputWrapper } from '../internal/InputWrapper.js';
|
|
11
|
-
import {
|
|
11
|
+
import { useHandleEnter } from '../utils/eventHandlers.js';
|
|
12
12
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
13
13
|
|
|
14
14
|
var _excluded = ["ref", "value", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "error", "name", "accept", "showList", "multiple", "onChange", "onEnterPressed"];
|
|
@@ -59,9 +59,7 @@ var FileInput = function FileInput(_ref) {
|
|
|
59
59
|
actualValue = _useState6[0],
|
|
60
60
|
setActualValue = _useState6[1];
|
|
61
61
|
var deferred = useDeferredValue(value);
|
|
62
|
-
var handleEnterPressed =
|
|
63
|
-
return handleEnter(onEnterPressed);
|
|
64
|
-
}, [onEnterPressed]);
|
|
62
|
+
var handleEnterPressed = useHandleEnter(onEnterPressed);
|
|
65
63
|
useEffect(function () {
|
|
66
64
|
setActualValue(deferred);
|
|
67
65
|
}, [deferred]);
|
package/dist/esm/input/Input.js
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
4
4
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
5
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
6
|
-
import
|
|
6
|
+
import classNames from 'classnames';
|
|
7
|
+
import { useState, useDeferredValue, useEffect, useCallback } from 'react';
|
|
7
8
|
import { InputWrapper } from '../internal/InputWrapper.js';
|
|
8
|
-
import {
|
|
9
|
+
import { useHandleEnter } from '../utils/eventHandlers.js';
|
|
9
10
|
import '@react-fabric/utilities';
|
|
10
|
-
import classNames from 'classnames';
|
|
11
11
|
import { jsx } from 'react/jsx-runtime';
|
|
12
12
|
|
|
13
13
|
var _excluded = ["ref", "name", "value", "invalid", "readOnly", "disabled", "required", "placeholder", "autoFocus", "error", "monospace", "type", "onBlur", "onFocus", "onChange", "onEnterPressed"];
|
|
@@ -37,9 +37,7 @@ var Input = function Input(_ref) {
|
|
|
37
37
|
actualValue = _useState2[0],
|
|
38
38
|
setActualValue = _useState2[1];
|
|
39
39
|
var deferred = useDeferredValue(value);
|
|
40
|
-
var handleEnterPressed =
|
|
41
|
-
return handleEnter(onEnterPressed);
|
|
42
|
-
}, [onEnterPressed]);
|
|
40
|
+
var handleEnterPressed = useHandleEnter(onEnterPressed);
|
|
43
41
|
useEffect(function () {
|
|
44
42
|
setActualValue(deferred !== null && deferred !== void 0 ? deferred : "");
|
|
45
43
|
}, [deferred]);
|
package/dist/esm/input/Number.js
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
4
4
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
5
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
6
|
-
import { useState, useDeferredValue,
|
|
6
|
+
import { useState, useDeferredValue, useEffect, useCallback } from 'react';
|
|
7
7
|
import { InputWrapper } from '../internal/InputWrapper.js';
|
|
8
|
-
import {
|
|
8
|
+
import { useHandleEnter } from '../utils/eventHandlers.js';
|
|
9
9
|
import '@react-fabric/utilities';
|
|
10
10
|
import { jsx } from 'react/jsx-runtime';
|
|
11
11
|
|
|
@@ -35,9 +35,7 @@ var Number = function Number(_ref) {
|
|
|
35
35
|
actualValue = _useState2[0],
|
|
36
36
|
setActualValue = _useState2[1];
|
|
37
37
|
var deferred = useDeferredValue(value);
|
|
38
|
-
var handleEnterPressed =
|
|
39
|
-
return handleEnter(onEnterPressed);
|
|
40
|
-
}, [onEnterPressed]);
|
|
38
|
+
var handleEnterPressed = useHandleEnter(onEnterPressed);
|
|
41
39
|
useEffect(function () {
|
|
42
40
|
setActualValue(deferred !== null && deferred !== void 0 ? deferred : "");
|
|
43
41
|
}, [deferred]);
|
|
@@ -5,10 +5,10 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
5
5
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
6
6
|
import { Tooltip, Button, CoreIcons } from '@react-fabric/core';
|
|
7
7
|
import classNames from 'classnames';
|
|
8
|
-
import { useState, useDeferredValue,
|
|
8
|
+
import { useState, useDeferredValue, useEffect, useCallback } from 'react';
|
|
9
9
|
import { useTranslation } from 'react-i18next';
|
|
10
10
|
import { InputWrapper } from '../internal/InputWrapper.js';
|
|
11
|
-
import {
|
|
11
|
+
import { useHandleEnter } from '../utils/eventHandlers.js';
|
|
12
12
|
import '@react-fabric/utilities';
|
|
13
13
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
14
14
|
|
|
@@ -43,9 +43,7 @@ var Password = function Password(_ref) {
|
|
|
43
43
|
actualValue = _useState4[0],
|
|
44
44
|
setActualValue = _useState4[1];
|
|
45
45
|
var deferred = useDeferredValue(value);
|
|
46
|
-
var handleEnterPressed =
|
|
47
|
-
return handleEnter(onEnterPressed);
|
|
48
|
-
}, [onEnterPressed]);
|
|
46
|
+
var handleEnterPressed = useHandleEnter(onEnterPressed);
|
|
49
47
|
useEffect(function () {
|
|
50
48
|
setActualValue(deferred !== null && deferred !== void 0 ? deferred : "");
|
|
51
49
|
}, [deferred]);
|
package/dist/esm/input/Search.js
CHANGED
|
@@ -4,9 +4,9 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
4
4
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
5
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
6
6
|
import { useDebounce, Icon, CoreIcons, Button } from '@react-fabric/core';
|
|
7
|
-
import { useState, useDeferredValue, useRef,
|
|
7
|
+
import { useState, useDeferredValue, useRef, useEffect, useCallback, Fragment } from 'react';
|
|
8
8
|
import { InputWrapper } from '../internal/InputWrapper.js';
|
|
9
|
-
import {
|
|
9
|
+
import { useHandleEnter } from '../utils/eventHandlers.js';
|
|
10
10
|
import '@react-fabric/utilities';
|
|
11
11
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
12
12
|
|
|
@@ -44,9 +44,7 @@ var Search = function Search(_ref) {
|
|
|
44
44
|
var handleSearch = useDebounce(function () {
|
|
45
45
|
return onSearch === null || onSearch === void 0 ? void 0 : onSearch(refValue.current);
|
|
46
46
|
}, [onSearch], 250);
|
|
47
|
-
var handleEnterPressed =
|
|
48
|
-
return handleEnter(handleSearch);
|
|
49
|
-
}, [handleSearch]);
|
|
47
|
+
var handleEnterPressed = useHandleEnter(handleSearch);
|
|
50
48
|
useEffect(function () {
|
|
51
49
|
setActualValue(deferred !== null && deferred !== void 0 ? deferred : "");
|
|
52
50
|
}, [deferred]);
|
|
@@ -56,8 +54,8 @@ var Search = function Search(_ref) {
|
|
|
56
54
|
setActualValue(value !== null && value !== void 0 ? value : "");
|
|
57
55
|
onChange === null || onChange === void 0 || onChange(value !== null && value !== void 0 ? value : null);
|
|
58
56
|
|
|
59
|
-
// value was cleared so force fire onSearch
|
|
60
|
-
if (searchOnChange) {
|
|
57
|
+
// when e is undefined value was cleared so force fire onSearch
|
|
58
|
+
if (!e || searchOnChange) {
|
|
61
59
|
handleSearch();
|
|
62
60
|
}
|
|
63
61
|
}, [onChange, searchOnChange, handleSearch]);
|
package/dist/esm/input/Switch.js
CHANGED
|
@@ -6,7 +6,8 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
6
6
|
import classNames from 'classnames';
|
|
7
7
|
import { useState, useDeferredValue, useEffect, useCallback, Fragment } from 'react';
|
|
8
8
|
import { ErrorIcon } from '../internal/ErrorIcon.js';
|
|
9
|
-
import '@
|
|
9
|
+
import '@floating-ui/react';
|
|
10
|
+
import '@react-fabric/core';
|
|
10
11
|
import { getBgClass, getColor, getColorClass } from '../utils/getColor.js';
|
|
11
12
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
12
13
|
|
|
@@ -5,7 +5,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
5
5
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
6
6
|
import { useState, useDeferredValue, useRef, useEffect, useCallback } from 'react';
|
|
7
7
|
import { InputWrapper } from '../internal/InputWrapper.js';
|
|
8
|
-
import {
|
|
8
|
+
import { useHandleEnter } from '../utils/eventHandlers.js';
|
|
9
9
|
import '@react-fabric/utilities';
|
|
10
10
|
import { jsx } from 'react/jsx-runtime';
|
|
11
11
|
|
|
@@ -60,6 +60,9 @@ var Textarea = function Textarea(_ref) {
|
|
|
60
60
|
setFixedRows(rows);
|
|
61
61
|
}
|
|
62
62
|
}, [actualValue, variableRows, rows, maxRows]);
|
|
63
|
+
var handleEnterPressed = useHandleEnter(onEnterPressed, {
|
|
64
|
+
preventDefault: !!onEnterPressed
|
|
65
|
+
});
|
|
63
66
|
return /*#__PURE__*/jsx(InputWrapper, _objectSpread(_objectSpread({
|
|
64
67
|
showClear: !!actualValue && !disabled && !readOnly,
|
|
65
68
|
onClear: handleChange,
|
|
@@ -89,9 +92,7 @@ var Textarea = function Textarea(_ref) {
|
|
|
89
92
|
onBlur: onBlur,
|
|
90
93
|
onFocus: onFocus,
|
|
91
94
|
onChange: handleChange,
|
|
92
|
-
onKeyDown:
|
|
93
|
-
preventDefault: !!onEnterPressed
|
|
94
|
-
})
|
|
95
|
+
onKeyDown: handleEnterPressed
|
|
95
96
|
})
|
|
96
97
|
}));
|
|
97
98
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
3
|
import classNames from 'classnames';
|
|
4
|
+
import { ErrorIcon } from './ErrorIcon.js';
|
|
4
5
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
5
6
|
|
|
6
7
|
/*
|
|
@@ -39,6 +40,8 @@ var FieldWrapper = function FieldWrapper(_ref) {
|
|
|
39
40
|
children = _ref.children,
|
|
40
41
|
listing = _ref.listing,
|
|
41
42
|
className = _ref.className,
|
|
43
|
+
invalid = _ref.invalid,
|
|
44
|
+
error = _ref.error,
|
|
42
45
|
isInner = _ref["data-inner"];
|
|
43
46
|
return /*#__PURE__*/jsxs("div", {
|
|
44
47
|
className: classNames("fabric-fieldWrapper", className, inline ? "flex flex-nowrap gap-1" : "block"),
|
|
@@ -63,6 +66,9 @@ var FieldWrapper = function FieldWrapper(_ref) {
|
|
|
63
66
|
}), required && /*#__PURE__*/jsx("span", {
|
|
64
67
|
className: "text-danger-500 select-none flex-content text-[10px]",
|
|
65
68
|
children: "\u273D"
|
|
69
|
+
}), /*#__PURE__*/jsx(ErrorIcon, {
|
|
70
|
+
invalid: invalid,
|
|
71
|
+
error: error
|
|
66
72
|
}), /*#__PURE__*/jsx("div", {
|
|
67
73
|
className: "flex-1"
|
|
68
74
|
}), appendLabel && /*#__PURE__*/jsx("span", {
|
|
@@ -17,8 +17,8 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
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 AutoComplete = function AutoComplete(_ref) {
|
|
19
19
|
var _refs$reference$curre;
|
|
20
|
-
_ref.ref
|
|
21
|
-
|
|
20
|
+
var ref = _ref.ref,
|
|
21
|
+
name = _ref.name,
|
|
22
22
|
value = _ref.value,
|
|
23
23
|
invalid = _ref.invalid,
|
|
24
24
|
readOnly = _ref.readOnly,
|
|
@@ -220,6 +220,7 @@ var AutoComplete = function AutoComplete(_ref) {
|
|
|
220
220
|
"data-testid": name,
|
|
221
221
|
name: name,
|
|
222
222
|
size: 1,
|
|
223
|
+
ref: ref,
|
|
223
224
|
onInput: onInput,
|
|
224
225
|
autoFocus: autoFocus,
|
|
225
226
|
rows: !multiple && expandOnEdit && state.open ? 5 : 1,
|
package/dist/esm/select/List.js
CHANGED
|
@@ -13,7 +13,7 @@ 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", "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", "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) {
|
|
@@ -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
|
+
sortProperty = _ref.sortProperty,
|
|
34
35
|
multiple = _ref.multiple,
|
|
35
36
|
allowCreate = _ref.allowCreate,
|
|
36
37
|
searchable = _ref.searchable,
|
|
@@ -63,6 +64,7 @@ var List = function List(_ref) {
|
|
|
63
64
|
groupProperty: groupProperty,
|
|
64
65
|
labelProperty: labelProperty,
|
|
65
66
|
valueProperty: valueProperty,
|
|
67
|
+
sortProperty: sortProperty,
|
|
66
68
|
allowCreate: allowCreate,
|
|
67
69
|
createOption: createOption,
|
|
68
70
|
matcher: matcher,
|
|
@@ -12,7 +12,7 @@ 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", "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", "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) {
|
|
@@ -35,6 +35,7 @@ var Select = function Select(_ref) {
|
|
|
35
35
|
labelProperty = _ref$labelProperty === void 0 ? "label" : _ref$labelProperty,
|
|
36
36
|
_ref$valueProperty = _ref.valueProperty,
|
|
37
37
|
valueProperty = _ref$valueProperty === void 0 ? "id" : _ref$valueProperty,
|
|
38
|
+
sortProperty = _ref.sortProperty,
|
|
38
39
|
multiple = _ref.multiple,
|
|
39
40
|
searchable = _ref.searchable,
|
|
40
41
|
allowCreate = _ref.allowCreate,
|
|
@@ -55,6 +56,7 @@ var Select = function Select(_ref) {
|
|
|
55
56
|
groupProperty: groupProperty,
|
|
56
57
|
labelProperty: labelProperty,
|
|
57
58
|
valueProperty: valueProperty,
|
|
59
|
+
sortProperty: sortProperty,
|
|
58
60
|
allowCreate: allowCreate,
|
|
59
61
|
createOption: createOption,
|
|
60
62
|
matcher: matcher,
|
|
@@ -27,6 +27,7 @@ var useSelect = function useSelect(_ref) {
|
|
|
27
27
|
valueProperty = _ref$valueProperty === void 0 ? "id" : _ref$valueProperty,
|
|
28
28
|
_ref$labelProperty = _ref.labelProperty,
|
|
29
29
|
labelProperty = _ref$labelProperty === void 0 ? "label" : _ref$labelProperty,
|
|
30
|
+
sortProperty = _ref.sortProperty,
|
|
30
31
|
_ref$createOption = _ref.createOption,
|
|
31
32
|
createOption = _ref$createOption === void 0 ? makeOption : _ref$createOption,
|
|
32
33
|
matcher = _ref.matcher,
|
|
@@ -135,7 +136,7 @@ var useSelect = function useSelect(_ref) {
|
|
|
135
136
|
if (autoComplete && action.query !== undefined) {
|
|
136
137
|
optionList = dedupe([action.query].concat(_toConsumableArray(optionList)));
|
|
137
138
|
}
|
|
138
|
-
optionList = optionList.sort(compareValues("asc",
|
|
139
|
+
if (sortProperty) optionList = optionList.sort(compareValues("asc", sortProperty));
|
|
139
140
|
var grouped = groupBy(optionList, groupProperty, "");
|
|
140
141
|
if (action.open) _newState.open = true;
|
|
141
142
|
_newState.items = [];
|
package/dist/esm/types/schema.js
CHANGED
|
@@ -28,6 +28,7 @@ var DATA_TYPES = /*#__PURE__*/function (DATA_TYPES) {
|
|
|
28
28
|
DATA_TYPES["COLOR"] = "color";
|
|
29
29
|
DATA_TYPES["BOOL"] = "bool";
|
|
30
30
|
DATA_TYPES["DATE"] = "date";
|
|
31
|
+
DATA_TYPES["DATETIME"] = "datetime";
|
|
31
32
|
DATA_TYPES["STRING"] = "string";
|
|
32
33
|
DATA_TYPES["NUMBER"] = "number";
|
|
33
34
|
DATA_TYPES["RANGE"] = "range";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { useFloatingTree } from '@floating-ui/react';
|
|
4
|
+
import { useDebounce } from '@react-fabric/core';
|
|
4
5
|
|
|
5
6
|
/*
|
|
6
7
|
* React Fabric
|
|
@@ -26,16 +27,21 @@ import { debounce } from '@react-fabric/utilities';
|
|
|
26
27
|
*/
|
|
27
28
|
|
|
28
29
|
/** ***************** common handler for enter press *******************/
|
|
29
|
-
var
|
|
30
|
+
var useHandleEnter = function useHandleEnter(callback) {
|
|
30
31
|
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
31
32
|
_ref$stopPropagation = _ref.stopPropagation,
|
|
32
33
|
stopPropagation = _ref$stopPropagation === void 0 ? false : _ref$stopPropagation,
|
|
33
34
|
_ref$preventDefault = _ref.preventDefault,
|
|
34
35
|
preventDefault = _ref$preventDefault === void 0 ? false : _ref$preventDefault;
|
|
35
|
-
var cbHandle =
|
|
36
|
+
var cbHandle = useDebounce(callback !== null && callback !== void 0 ? callback : function () {
|
|
36
37
|
return undefined;
|
|
37
|
-
}, 100);
|
|
38
|
+
}, [callback], 100);
|
|
39
|
+
var tree = useFloatingTree();
|
|
38
40
|
return function (e) {
|
|
41
|
+
// prevent propagation of event if input within dropdown (work around for floating-ui typeahead)
|
|
42
|
+
if (tree && e.key !== "Escape") {
|
|
43
|
+
e === null || e === void 0 || e.stopPropagation();
|
|
44
|
+
}
|
|
39
45
|
if (!e.shiftKey && !e.altKey && !e.metaKey && e.key === "Enter" && callback) {
|
|
40
46
|
if (stopPropagation) e === null || e === void 0 || e.stopPropagation();
|
|
41
47
|
cbHandle(e);
|
|
@@ -47,4 +53,4 @@ var handleEnter = function handleEnter(callback) {
|
|
|
47
53
|
};
|
|
48
54
|
};
|
|
49
55
|
|
|
50
|
-
export {
|
|
56
|
+
export { useHandleEnter };
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { type yup } from "@react-fabric/utilities";
|
|
2
2
|
import { type PropsWithChildren, type Ref } from "react";
|
|
3
3
|
import { type FormState } from "react-hook-form";
|
|
4
|
+
type NestedKeyOf<T extends object> = {
|
|
5
|
+
[K in keyof T & (string | number)]: T[K] extends object ? `${K}` | `${K}.${NestedKeyOf<T[K]>}` : K;
|
|
6
|
+
}[keyof T & (string | number)];
|
|
4
7
|
export interface FormRef<K extends KeyValue> {
|
|
5
8
|
state: FormState<K>;
|
|
6
9
|
reset: () => void;
|
|
@@ -8,7 +11,7 @@ export interface FormRef<K extends KeyValue> {
|
|
|
8
11
|
submit: () => void;
|
|
9
12
|
validate: () => Promise<boolean>;
|
|
10
13
|
getValues: () => K;
|
|
11
|
-
setValue: (key:
|
|
14
|
+
setValue: (key: NestedKeyOf<K>, value: AnyObject) => void;
|
|
12
15
|
setValues: (values: K) => void;
|
|
13
16
|
}
|
|
14
17
|
export interface FormProps<K extends KeyValue = KeyValue> {
|
|
@@ -31,3 +34,4 @@ export interface FormProps<K extends KeyValue = KeyValue> {
|
|
|
31
34
|
onSubmit?: (values: K) => void;
|
|
32
35
|
}
|
|
33
36
|
export declare const Form: <K extends KeyValue<any>>({ formRef, schema, children, defaultValues, onSubmit, onChange, ...rest }: PropsWithChildren<FormProps<K>>) => import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ReactNode, type Ref } from "react";
|
|
2
|
-
export interface ArrayInputProps {
|
|
2
|
+
export interface ArrayInputProps<T extends AnyObject = string> {
|
|
3
3
|
/**
|
|
4
4
|
* input label
|
|
5
5
|
*/
|
|
@@ -58,13 +58,29 @@ export interface ArrayInputProps {
|
|
|
58
58
|
*/
|
|
59
59
|
fixedList?: boolean;
|
|
60
60
|
arrayRef?: Ref<{
|
|
61
|
-
addItem: (item:
|
|
61
|
+
addItem: (item: T) => void;
|
|
62
62
|
removeItem: (idx: number) => void;
|
|
63
63
|
}>;
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
65
|
+
* add new item
|
|
66
66
|
*/
|
|
67
67
|
onAdd?: () => AnyObject;
|
|
68
|
+
/**
|
|
69
|
+
* on item remove
|
|
70
|
+
*/
|
|
71
|
+
onRemove?: (item: T, idx: number) => void;
|
|
72
|
+
/**
|
|
73
|
+
* before item remove
|
|
74
|
+
*/
|
|
75
|
+
onBeforeRemove?: (item: T, idx: number) => Promise<boolean> | boolean;
|
|
76
|
+
/**
|
|
77
|
+
* can remove item
|
|
78
|
+
*/
|
|
79
|
+
canRemove?: (props: {
|
|
80
|
+
item: T;
|
|
81
|
+
index: number;
|
|
82
|
+
lastItem: boolean;
|
|
83
|
+
}) => boolean;
|
|
68
84
|
/**
|
|
69
85
|
* field width
|
|
70
86
|
*/
|
|
@@ -78,4 +94,4 @@ export interface ArrayInputProps {
|
|
|
78
94
|
*/
|
|
79
95
|
labelWidth?: string;
|
|
80
96
|
}
|
|
81
|
-
export declare const ArrayInput: ({ name, children, addLabel, fixedList, focusName, buttonPosition, onAdd, arrayRef, enableSorting, disabled, readOnly, minItems, maxItems, ...rest }: ArrayInputProps) => import("react/jsx-runtime").JSX.Element;
|
|
97
|
+
export declare const ArrayInput: <T extends unknown = string>({ name, children, addLabel, fixedList, focusName, buttonPosition, onAdd, onRemove, onBeforeRemove, canRemove, arrayRef, enableSorting, disabled, readOnly, minItems, maxItems, ...rest }: ArrayInputProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -10,14 +10,17 @@ export interface Props extends RefProp {
|
|
|
10
10
|
*/
|
|
11
11
|
value?: string;
|
|
12
12
|
/**
|
|
13
|
-
* avatar
|
|
13
|
+
* avatar name
|
|
14
14
|
*/
|
|
15
|
-
|
|
15
|
+
avatarName?: string;
|
|
16
16
|
size?: string | number;
|
|
17
17
|
/**
|
|
18
18
|
* upload handler to store file in temp storage
|
|
19
19
|
*/
|
|
20
20
|
uploadHandler: UploadHandler;
|
|
21
|
+
/**
|
|
22
|
+
* file stream path
|
|
23
|
+
*/
|
|
21
24
|
fileUrl?: (path: string) => string;
|
|
22
25
|
/**
|
|
23
26
|
* change handler
|
|
@@ -28,4 +31,4 @@ export interface Props extends RefProp {
|
|
|
28
31
|
*/
|
|
29
32
|
onChange?: (path: string) => void;
|
|
30
33
|
}
|
|
31
|
-
export declare const AvatarInput: ({
|
|
34
|
+
export declare const AvatarInput: ({ size, avatarName, value, fileUrl, uploadHandler, ...rest }: Props) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const FieldWrapper: ({ label, appendLabel, width, labelWidth, inline, info, disabled, required, children, listing, className, "data-inner": isInner, }: KeyValue) => import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
export declare const FieldWrapper: ({ label, appendLabel, width, labelWidth, inline, info, disabled, required, children, listing, className, invalid, error, "data-inner": isInner, }: KeyValue) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type SelectProps } from "../types";
|
|
2
|
-
export declare const List: <T extends unknown = string>({ ref, name, value, readOnly, disabled, required, placeholder, autoFocus, options, height, groupProperty, labelProperty, valueProperty, multiple, allowCreate, searchable, createOption, matcher, renderer, onQuery, onChange, onSelect, onEnterPressed, emptyDisplay, invalid, error, allowClear, decorateStart, decorateEnd, "data-inner": isInner, "data-hide-selected": hideSelected, ...rest }: Omit<SelectProps<T>, "defaultOpen" | "hideHandle"> & {
|
|
2
|
+
export declare const List: <T extends unknown = string>({ 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": isInner, "data-hide-selected": hideSelected, ...rest }: Omit<SelectProps<T>, "defaultOpen" | "hideHandle"> & {
|
|
3
3
|
height?: string | number;
|
|
4
4
|
}) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { type SelectProps } from "../types";
|
|
2
|
-
export declare const Select: <T extends unknown = string>({ ref, name, value, invalid, readOnly, disabled, required, placeholder, autoFocus, error, options, defaultOpen, hideHandle, groupProperty, labelProperty, valueProperty, multiple, searchable, allowCreate, emptyDisplay, createOption, matcher, renderer, onQuery, onChange, onSelect, onEnterPressed, ...rest }: SelectProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare const Select: <T extends unknown = string>({ 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, ...rest }: SelectProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -10,7 +10,7 @@ interface State {
|
|
|
10
10
|
query?: string;
|
|
11
11
|
items: AnyObject[];
|
|
12
12
|
}
|
|
13
|
-
export declare const useSelect: ({ options, value, defaultOpen, autoComplete, multiple, allowCreate, groupProperty, valueProperty, labelProperty, createOption, matcher, onQuery, onChange, onSelect, }: {
|
|
13
|
+
export declare const useSelect: ({ options, value, defaultOpen, autoComplete, multiple, allowCreate, groupProperty, valueProperty, labelProperty, sortProperty, createOption, matcher, onQuery, onChange, onSelect, }: {
|
|
14
14
|
value?: AnyObject;
|
|
15
15
|
options?: AnyObject[];
|
|
16
16
|
multiple?: boolean;
|
|
@@ -19,6 +19,7 @@ export declare const useSelect: ({ options, value, defaultOpen, autoComplete, mu
|
|
|
19
19
|
groupProperty?: AnyObject;
|
|
20
20
|
valueProperty?: AnyObject;
|
|
21
21
|
labelProperty?: AnyObject;
|
|
22
|
+
sortProperty?: AnyObject;
|
|
22
23
|
autoComplete?: boolean;
|
|
23
24
|
matcher?: (item: AnyObject, query: string) => boolean;
|
|
24
25
|
createOption?: (query: string) => AnyObject;
|
|
@@ -6,6 +6,7 @@ export declare enum DATA_TYPES {
|
|
|
6
6
|
COLOR = "color",
|
|
7
7
|
BOOL = "bool",
|
|
8
8
|
DATE = "date",
|
|
9
|
+
DATETIME = "datetime",
|
|
9
10
|
STRING = "string",
|
|
10
11
|
NUMBER = "number",
|
|
11
12
|
RANGE = "range",
|
|
@@ -51,8 +52,7 @@ export interface RangeSchema extends BaseSchema {
|
|
|
51
52
|
step?: number;
|
|
52
53
|
}
|
|
53
54
|
export interface DateSchema extends BaseSchema {
|
|
54
|
-
datatype: DATA_TYPES.DATE;
|
|
55
|
-
type?: "date" | "datetime";
|
|
55
|
+
datatype: DATA_TYPES.DATE | DATA_TYPES.DATETIME;
|
|
56
56
|
min?: DateLike;
|
|
57
57
|
max?: DateLike;
|
|
58
58
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type KeyboardEvent, type MouseEvent } from "react";
|
|
2
2
|
/** ***************** common handler for enter press *******************/
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const useHandleEnter: (callback?: (e: KeyboardEvent) => void, { stopPropagation, preventDefault, }?: {
|
|
4
4
|
stopPropagation?: boolean;
|
|
5
5
|
preventDefault?: boolean;
|
|
6
6
|
}) => (e: KeyboardEvent) => false | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@react-fabric/form",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.48",
|
|
4
4
|
"description": "RUF: Form package",
|
|
5
5
|
"author": "Adarsh Pastakia <adarshpastakia@outlook.com>",
|
|
6
6
|
"license": "MIT",
|
|
@@ -35,15 +35,15 @@
|
|
|
35
35
|
"watch": "npm-run-all -p watch:rollup watch:dts"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@dnd-kit/core": "^6.1
|
|
39
|
-
"@dnd-kit/modifiers": "^
|
|
40
|
-
"@dnd-kit/sortable": "^
|
|
38
|
+
"@dnd-kit/core": "^6.3.1",
|
|
39
|
+
"@dnd-kit/modifiers": "^9.0.0",
|
|
40
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
41
41
|
"@dnd-kit/utilities": "^3.2.2",
|
|
42
|
-
"@floating-ui/react": "^0.
|
|
42
|
+
"@floating-ui/react": "^0.27.9",
|
|
43
43
|
"@hookform/resolvers": "^3.9.0",
|
|
44
|
-
"@react-fabric/core": "^1.0.0-beta.
|
|
45
|
-
"@react-fabric/date": "^1.0.0-beta.
|
|
46
|
-
"@react-fabric/utilities": "^1.0.0-beta.
|
|
44
|
+
"@react-fabric/core": "^1.0.0-beta.48",
|
|
45
|
+
"@react-fabric/date": "^1.0.0-beta.48",
|
|
46
|
+
"@react-fabric/utilities": "^1.0.0-beta.48",
|
|
47
47
|
"classnames": "^2.5.1",
|
|
48
48
|
"color": "^4.2.3",
|
|
49
49
|
"react-color": "^2.19.3",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"node": ">=18.12.0",
|
|
64
64
|
"npm": ">=8.19.0"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "0b1001b4ae1ee67f8e1817d6395d1f3945321897"
|
|
67
67
|
}
|