@sheinx/base 3.5.4-beta.2 → 3.5.4-beta.3
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/cjs/form/form-button.d.ts.map +1 -1
- package/cjs/form/form-button.js +5 -0
- package/cjs/form/form.d.ts.map +1 -1
- package/cjs/form/form.js +16 -1
- package/esm/form/form-button.d.ts.map +1 -1
- package/esm/form/form-button.js +5 -0
- package/esm/form/form.d.ts.map +1 -1
- package/esm/form/form.js +18 -3
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-button.d.ts","sourceRoot":"","sources":["form-button.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,QAAA,MAAM,UAAU,UAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"form-button.d.ts","sourceRoot":"","sources":["form-button.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,QAAA,MAAM,UAAU,UAAW,WAAW,gBAmBrC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/cjs/form/form-button.js
CHANGED
|
@@ -25,6 +25,11 @@ var FormButton = function FormButton(props) {
|
|
|
25
25
|
if (formFunc && props.htmlType === 'button') {
|
|
26
26
|
formFunc.submit();
|
|
27
27
|
}
|
|
28
|
+
if (formFunc && props.htmlType === 'reset') {
|
|
29
|
+
// 阻止默认的form reset,改用formFunc.reset。处理嵌套form的reset问题。
|
|
30
|
+
e.preventDefault();
|
|
31
|
+
formFunc.reset();
|
|
32
|
+
}
|
|
28
33
|
if (props.onClick) {
|
|
29
34
|
props.onClick(e);
|
|
30
35
|
}
|
package/cjs/form/form.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["form.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,QAAA,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["form.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,QAAA,MAAM,IAAI,4DA8GT,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/cjs/form/form.js
CHANGED
|
@@ -104,10 +104,25 @@ var Form = function Form(props) {
|
|
|
104
104
|
handleFormModalInfo();
|
|
105
105
|
}, [props.disabled, props.pending]);
|
|
106
106
|
var rootClass = (0, _classnames.default)([formClasses === null || formClasses === void 0 ? void 0 : formClasses.rootClass, formClasses === null || formClasses === void 0 ? void 0 : formClasses.wrapper, className, props.inline && (formClasses === null || formClasses === void 0 ? void 0 : formClasses.wrapperInline)]);
|
|
107
|
-
|
|
107
|
+
var formProps = getFormProps({
|
|
108
108
|
className: rootClass,
|
|
109
109
|
style: style
|
|
110
|
+
});
|
|
111
|
+
var formElRef = (0, _react.useRef)(null);
|
|
112
|
+
(0, _react.useEffect)(function () {
|
|
113
|
+
if (formElRef.current instanceof HTMLFormElement) {
|
|
114
|
+
formElRef.current.addEventListener('submit', formProps.onSubmit);
|
|
115
|
+
}
|
|
116
|
+
return function () {
|
|
117
|
+
if (formElRef.current instanceof HTMLFormElement) {
|
|
118
|
+
formElRef.current.removeEventListener('submit', formProps.onSubmit);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
}, [formProps.onSubmit]);
|
|
122
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("form", _objectSpread(_objectSpread({}, _hooks.util.removeProps(formProps, {
|
|
123
|
+
onSubmit: true
|
|
110
124
|
})), {}, {
|
|
125
|
+
ref: formElRef,
|
|
111
126
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Provider, _objectSpread(_objectSpread({}, ProviderProps), {}, {
|
|
112
127
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_hooks.FormContext.Provider, {
|
|
113
128
|
value: formRefObj,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-button.d.ts","sourceRoot":"","sources":["form-button.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,QAAA,MAAM,UAAU,UAAW,WAAW,
|
|
1
|
+
{"version":3,"file":"form-button.d.ts","sourceRoot":"","sources":["form-button.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,QAAA,MAAM,UAAU,UAAW,WAAW,gBAmBrC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/esm/form/form-button.js
CHANGED
|
@@ -18,6 +18,11 @@ var FormButton = function FormButton(props) {
|
|
|
18
18
|
if (formFunc && props.htmlType === 'button') {
|
|
19
19
|
formFunc.submit();
|
|
20
20
|
}
|
|
21
|
+
if (formFunc && props.htmlType === 'reset') {
|
|
22
|
+
// 阻止默认的form reset,改用formFunc.reset。处理嵌套form的reset问题。
|
|
23
|
+
e.preventDefault();
|
|
24
|
+
formFunc.reset();
|
|
25
|
+
}
|
|
21
26
|
if (props.onClick) {
|
|
22
27
|
props.onClick(e);
|
|
23
28
|
}
|
package/esm/form/form.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["form.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,QAAA,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"form.d.ts","sourceRoot":"","sources":["form.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,QAAA,MAAM,IAAI,4DA8GT,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/esm/form/form.js
CHANGED
|
@@ -7,10 +7,10 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
|
|
|
7
7
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
8
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
9
9
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
10
|
-
import { FormContext, useForm, useInputAble, useLatestObj, usePersistFn } from '@sheinx/hooks';
|
|
10
|
+
import { FormContext, useForm, useInputAble, useLatestObj, usePersistFn, util } from '@sheinx/hooks';
|
|
11
11
|
import classNames from 'classnames';
|
|
12
12
|
import { useFormFooter } from "./form-footer-context";
|
|
13
|
-
import React, { useEffect } from 'react';
|
|
13
|
+
import React, { useEffect, useRef } from 'react';
|
|
14
14
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
15
15
|
var Form = function Form(props) {
|
|
16
16
|
var _jssStyle$form;
|
|
@@ -95,10 +95,25 @@ var Form = function Form(props) {
|
|
|
95
95
|
handleFormModalInfo();
|
|
96
96
|
}, [props.disabled, props.pending]);
|
|
97
97
|
var rootClass = classNames([formClasses === null || formClasses === void 0 ? void 0 : formClasses.rootClass, formClasses === null || formClasses === void 0 ? void 0 : formClasses.wrapper, className, props.inline && (formClasses === null || formClasses === void 0 ? void 0 : formClasses.wrapperInline)]);
|
|
98
|
-
|
|
98
|
+
var formProps = getFormProps({
|
|
99
99
|
className: rootClass,
|
|
100
100
|
style: style
|
|
101
|
+
});
|
|
102
|
+
var formElRef = useRef(null);
|
|
103
|
+
useEffect(function () {
|
|
104
|
+
if (formElRef.current instanceof HTMLFormElement) {
|
|
105
|
+
formElRef.current.addEventListener('submit', formProps.onSubmit);
|
|
106
|
+
}
|
|
107
|
+
return function () {
|
|
108
|
+
if (formElRef.current instanceof HTMLFormElement) {
|
|
109
|
+
formElRef.current.removeEventListener('submit', formProps.onSubmit);
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
}, [formProps.onSubmit]);
|
|
113
|
+
return /*#__PURE__*/_jsx("form", _objectSpread(_objectSpread({}, util.removeProps(formProps, {
|
|
114
|
+
onSubmit: true
|
|
101
115
|
})), {}, {
|
|
116
|
+
ref: formElRef,
|
|
102
117
|
children: /*#__PURE__*/_jsx(Provider, _objectSpread(_objectSpread({}, ProviderProps), {}, {
|
|
103
118
|
children: /*#__PURE__*/_jsx(FormContext.Provider, {
|
|
104
119
|
value: formRefObj,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sheinx/base",
|
|
3
|
-
"version": "3.5.4-beta.
|
|
3
|
+
"version": "3.5.4-beta.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"license": "MIT",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"module": "./esm/index.js",
|
|
11
11
|
"typings": "./cjs/index.d.ts",
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@sheinx/hooks": "3.5.4-beta.
|
|
13
|
+
"@sheinx/hooks": "3.5.4-beta.3",
|
|
14
14
|
"immer": "^10.0.0",
|
|
15
15
|
"classnames": "^2.0.0",
|
|
16
16
|
"@shined/reactive": "^0.1.3-alpha.0"
|