@sheinx/hooks 3.5.2 → 3.5.3-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/common/use-list-select/use-list-select-multiple.js +1 -1
- package/cjs/components/use-datepicker/use-datepicker-format.d.ts +1 -1
- package/cjs/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-datepicker-format.js +6 -3
- package/cjs/components/use-datepicker/use-datepicker-range.d.ts +2 -0
- package/cjs/components/use-datepicker/use-datepicker-range.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-datepicker-range.js +15 -0
- package/cjs/components/use-datepicker/use-time.d.ts +1 -1
- package/cjs/components/use-datepicker/use-time.d.ts.map +1 -1
- package/cjs/components/use-datepicker/use-time.js +20 -4
- package/cjs/components/use-datepicker/use-time.type.d.ts +2 -0
- package/cjs/components/use-datepicker/use-time.type.d.ts.map +1 -1
- package/cjs/components/use-datepicker/util.d.ts.map +1 -1
- package/cjs/components/use-datepicker/util.js +5 -2
- package/cjs/components/use-form/form-func-context.d.ts +2 -2
- package/cjs/components/use-form/form-func-context.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-context.type.d.ts +12 -2
- package/cjs/components/use-form/use-form-context.type.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-control/use-form-control.js +6 -6
- package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts +4 -0
- package/cjs/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-fieldset/use-form-fieldset.d.ts.map +1 -1
- package/cjs/components/use-form/use-form-fieldset/use-form-fieldset.js +2 -1
- package/cjs/components/use-form/use-form.d.ts +5 -3
- package/cjs/components/use-form/use-form.d.ts.map +1 -1
- package/cjs/components/use-form/use-form.js +109 -38
- package/cjs/components/use-form/use-form.type.d.ts +27 -7
- package/cjs/components/use-form/use-form.type.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-expand.d.ts.map +1 -1
- package/cjs/components/use-table/use-table-expand.js +3 -2
- package/cjs/components/use-tabs/context.d.ts +3 -3
- package/cjs/components/use-tabs/context.d.ts.map +1 -1
- package/cjs/components/use-tabs/context.js +4 -1
- package/cjs/components/use-tabs/context.type.d.ts +15 -3
- package/cjs/components/use-tabs/context.type.d.ts.map +1 -1
- package/cjs/components/use-tabs/use-tabs.d.ts +4 -2
- package/cjs/components/use-tabs/use-tabs.d.ts.map +1 -1
- package/cjs/components/use-tabs/use-tabs.js +6 -0
- package/cjs/components/use-tree/use-tree.d.ts.map +1 -1
- package/cjs/components/use-tree/use-tree.js +2 -1
- package/cjs/components/use-upload/xhr.d.ts.map +1 -1
- package/cjs/components/use-upload/xhr.js +2 -1
- package/cjs/utils/dom/element.d.ts +1 -0
- package/cjs/utils/dom/element.d.ts.map +1 -1
- package/cjs/utils/dom/element.js +5 -0
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.d.ts.map +1 -1
- package/cjs/utils/index.js +12 -0
- package/cjs/utils/lazyload.d.ts.map +1 -1
- package/cjs/utils/lazyload.js +4 -1
- package/cjs/utils/number.d.ts.map +1 -1
- package/cjs/utils/number.js +2 -1
- package/cjs/utils/render.d.ts.map +1 -1
- package/cjs/utils/render.js +2 -1
- package/cjs/utils/rule/length.d.ts.map +1 -1
- package/cjs/utils/rule/length.js +2 -1
- package/cjs/utils/rule/regexp.d.ts.map +1 -1
- package/cjs/utils/rule/regexp.js +2 -1
- package/cjs/utils/rule/rule.d.ts.map +1 -1
- package/cjs/utils/rule/rule.js +3 -2
- package/cjs/utils/validate/get-rule.js +1 -1
- package/cjs/utils/validate/type.d.ts.map +1 -1
- package/cjs/utils/validate/type.js +2 -1
- package/cjs/utils/warning.d.ts +8 -0
- package/cjs/utils/warning.d.ts.map +1 -0
- package/cjs/utils/warning.js +36 -0
- package/esm/common/use-list-select/use-list-select-multiple.js +1 -1
- package/esm/components/use-datepicker/use-datepicker-format.d.ts +1 -1
- package/esm/components/use-datepicker/use-datepicker-format.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-datepicker-format.js +6 -3
- package/esm/components/use-datepicker/use-datepicker-range.d.ts +2 -0
- package/esm/components/use-datepicker/use-datepicker-range.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-datepicker-range.js +15 -0
- package/esm/components/use-datepicker/use-time.d.ts +1 -1
- package/esm/components/use-datepicker/use-time.d.ts.map +1 -1
- package/esm/components/use-datepicker/use-time.js +20 -4
- package/esm/components/use-datepicker/use-time.type.d.ts +2 -0
- package/esm/components/use-datepicker/use-time.type.d.ts.map +1 -1
- package/esm/components/use-datepicker/util.d.ts.map +1 -1
- package/esm/components/use-datepicker/util.js +4 -2
- package/esm/components/use-form/form-func-context.d.ts +2 -2
- package/esm/components/use-form/form-func-context.d.ts.map +1 -1
- package/esm/components/use-form/use-form-context.type.d.ts +12 -2
- package/esm/components/use-form/use-form-context.type.d.ts.map +1 -1
- package/esm/components/use-form/use-form-control/use-form-control.d.ts.map +1 -1
- package/esm/components/use-form/use-form-control/use-form-control.js +6 -6
- package/esm/components/use-form/use-form-control/use-form-control.type.d.ts +4 -0
- package/esm/components/use-form/use-form-control/use-form-control.type.d.ts.map +1 -1
- package/esm/components/use-form/use-form-fieldset/use-form-fieldset.d.ts.map +1 -1
- package/esm/components/use-form/use-form-fieldset/use-form-fieldset.js +2 -1
- package/esm/components/use-form/use-form.d.ts +5 -3
- package/esm/components/use-form/use-form.d.ts.map +1 -1
- package/esm/components/use-form/use-form.js +109 -38
- package/esm/components/use-form/use-form.type.d.ts +27 -7
- package/esm/components/use-form/use-form.type.d.ts.map +1 -1
- package/esm/components/use-table/use-table-expand.d.ts.map +1 -1
- package/esm/components/use-table/use-table-expand.js +3 -2
- package/esm/components/use-tabs/context.d.ts +3 -3
- package/esm/components/use-tabs/context.d.ts.map +1 -1
- package/esm/components/use-tabs/context.js +4 -1
- package/esm/components/use-tabs/context.type.d.ts +15 -3
- package/esm/components/use-tabs/context.type.d.ts.map +1 -1
- package/esm/components/use-tabs/use-tabs.d.ts +4 -2
- package/esm/components/use-tabs/use-tabs.d.ts.map +1 -1
- package/esm/components/use-tabs/use-tabs.js +6 -0
- package/esm/components/use-tree/use-tree.d.ts.map +1 -1
- package/esm/components/use-tree/use-tree.js +2 -1
- package/esm/components/use-upload/xhr.d.ts.map +1 -1
- package/esm/components/use-upload/xhr.js +2 -1
- package/esm/utils/dom/element.d.ts +1 -0
- package/esm/utils/dom/element.d.ts.map +1 -1
- package/esm/utils/dom/element.js +4 -0
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.d.ts.map +1 -1
- package/esm/utils/index.js +1 -0
- package/esm/utils/lazyload.d.ts.map +1 -1
- package/esm/utils/lazyload.js +5 -2
- package/esm/utils/number.d.ts.map +1 -1
- package/esm/utils/number.js +2 -1
- package/esm/utils/render.d.ts.map +1 -1
- package/esm/utils/render.js +2 -1
- package/esm/utils/rule/length.d.ts.map +1 -1
- package/esm/utils/rule/length.js +2 -1
- package/esm/utils/rule/regexp.d.ts.map +1 -1
- package/esm/utils/rule/regexp.js +2 -1
- package/esm/utils/rule/rule.d.ts.map +1 -1
- package/esm/utils/rule/rule.js +3 -2
- package/esm/utils/validate/get-rule.js +1 -1
- package/esm/utils/validate/type.d.ts.map +1 -1
- package/esm/utils/validate/type.js +2 -1
- package/esm/utils/warning.d.ts +8 -0
- package/esm/utils/warning.d.ts.map +1 -0
- package/esm/utils/warning.js +30 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-form-control.type.d.ts","sourceRoot":"","sources":["use-form-control.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC;CAClD"}
|
|
1
|
+
{"version":3,"file":"use-form-control.type.d.ts","sourceRoot":"","sources":["use-form-control.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC5D;;;OAGG;IACH,WAAW,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC;;;;OAIG;IACH,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IACnC;;OAEG;IACH,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1D;;;OAGG;IACH,IAAI,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC3B;;OAEG;IACH,gBAAgB,EAAE,CAAC,MAAM,UAAU,CAAC,GAAG,SAAS,CAAC;CAClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-form-fieldset.d.ts","sourceRoot":"","sources":["use-form-fieldset.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"use-form-fieldset.d.ts","sourceRoot":"","sources":["use-form-fieldset.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAMjE,eAAO,MAAM,eAAe;;;;;;;;;;;;;CA4B3B,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import FieldsetContext from "./fieldset-context";
|
|
2
2
|
import { useFormControl } from "../use-form-control";
|
|
3
|
+
import { devUseWarning } from "../../../utils";
|
|
3
4
|
var emptyFunc = function emptyFunc() {};
|
|
4
5
|
var emptyArr = [];
|
|
5
6
|
export var useFormFieldSet = function useFormFieldSet(props) {
|
|
@@ -19,7 +20,7 @@ export var useFormFieldSet = function useFormFieldSet(props) {
|
|
|
19
20
|
onChange = _useFormControl.onChange,
|
|
20
21
|
name = _useFormControl.name;
|
|
21
22
|
if (!inForm) {
|
|
22
|
-
|
|
23
|
+
devUseWarning.error('[FieldSet] should render in Form');
|
|
23
24
|
}
|
|
24
25
|
var ProviderValue = {
|
|
25
26
|
path: name,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ProviderProps, UseFormProps, UseFormSlotProps } from './use-form.type';
|
|
2
|
+
import { ProviderProps, UseFormProps, UseFormSlotProps, ValidateFnConfig } from './use-form.type';
|
|
3
3
|
import { ObjectType } from '../../common/type';
|
|
4
4
|
declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
5
5
|
getFormProps: <TOther extends ObjectType = ObjectType>(externalProps?: TOther) => UseFormSlotProps<TOther>;
|
|
@@ -20,10 +20,11 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
|
20
20
|
setError: (name: string, e: Error | undefined) => void;
|
|
21
21
|
getErrors: () => ObjectType<Error | undefined>;
|
|
22
22
|
clearValidate: (names?: string[]) => void;
|
|
23
|
-
validateFields: (fields?: string | string[], config?:
|
|
23
|
+
validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<T>;
|
|
24
24
|
validateFieldset: (name: string) => void;
|
|
25
25
|
insertError: (name: string, index: number, error?: Error) => void;
|
|
26
26
|
spliceError: (name: string, index: number) => void;
|
|
27
|
+
scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
|
|
27
28
|
};
|
|
28
29
|
};
|
|
29
30
|
formFunc: {
|
|
@@ -39,10 +40,11 @@ declare const useForm: <T extends ObjectType>(props: UseFormProps<T>) => {
|
|
|
39
40
|
setError: (name: string, e: Error | undefined) => void;
|
|
40
41
|
getErrors: () => ObjectType<Error | undefined>;
|
|
41
42
|
clearValidate: (names?: string[]) => void;
|
|
42
|
-
validateFields: (fields?: string | string[], config?:
|
|
43
|
+
validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<T>;
|
|
43
44
|
validateFieldset: (name: string) => void;
|
|
44
45
|
insertError: (name: string, index: number, error?: Error) => void;
|
|
45
46
|
spliceError: (name: string, index: number) => void;
|
|
47
|
+
scrollToField: (name: string, scrollIntoViewOptions?: ScrollIntoViewOptions) => void;
|
|
46
48
|
};
|
|
47
49
|
};
|
|
48
50
|
export default useForm;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"use-form.d.ts","sourceRoot":"","sources":["use-form.ts"],"names":[],"mappings":";AA8BA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAGhB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAe,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI5D,QAAA,MAAM,OAAO;;;;;;;;;wBAuPC;gBAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;aAAE;8BApId,MAAM;oCA4LD,OAAO;;6BAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;oCAdrB,MAAM,EAAE;sCAvJxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;qCAqNvB,MAAM;gCA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;gCAKpC,MAAM,SAAS,MAAM;kCA9GpD,MAAM,0BAAyB,qBAAqB;;;;;;oBA2DjD;YAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;SAAE;0BApId,MAAM;gCA4LD,OAAO;;yBAfb,MAAM,KAAK,KAAK,GAAG,SAAS;;gCAdrB,MAAM,EAAE;kCAvJxC,MAAM,GAAG,MAAM,EAAE,WAAU,gBAAgB;iCAqNvB,MAAM;4BA3CE,MAAM,SAAS,MAAM,UAAU,KAAK;4BAKpC,MAAM,SAAS,MAAM;8BA9GpD,MAAM,0BAAyB,qBAAqB;;CA8X9D,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
3
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
4
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
2
5
|
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; }
|
|
3
6
|
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; }
|
|
4
7
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
8
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
9
|
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); }
|
|
7
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
|
|
8
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
9
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
10
10
|
import * as React from 'react';
|
|
11
11
|
import { Provider } from "./Provider";
|
|
12
12
|
import useLatestObj from "../../common/use-latest-obj";
|
|
@@ -16,7 +16,7 @@ import { insertValue, spliceValue } from "../../utils/flat";
|
|
|
16
16
|
import { usePrevious } from "../../common/use-default-value";
|
|
17
17
|
var globalKey = '__global__&&@@';
|
|
18
18
|
import { current, produce } from "../../utils/immer";
|
|
19
|
-
import { deepGet, deepRemove, deepSet, docScroll, extractEventHandlers, isArray, isObject, shallowEqual, wrapFormError, deepClone, getAllKeyPaths } from "../../utils";
|
|
19
|
+
import { deepGet, deepRemove, deepSet, docScroll, extractEventHandlers, isArray, isObject, shallowEqual, wrapFormError, deepClone, getAllKeyPaths, devUseWarning, getFieldId, getClosestScrollContainer } from "../../utils";
|
|
20
20
|
var emptyObj = {};
|
|
21
21
|
var useForm = function useForm(props) {
|
|
22
22
|
var _props$defaultValue = props.defaultValue,
|
|
@@ -36,6 +36,7 @@ var useForm = function useForm(props) {
|
|
|
36
36
|
_props$throttle = props.throttle,
|
|
37
37
|
throttle = _props$throttle === void 0 ? 1000 : _props$throttle,
|
|
38
38
|
size = props.size,
|
|
39
|
+
formName = props.name,
|
|
39
40
|
reserveAble = props.reserveAble,
|
|
40
41
|
scrollParent = props.scrollParent;
|
|
41
42
|
var deepSetOptions = {
|
|
@@ -43,7 +44,7 @@ var useForm = function useForm(props) {
|
|
|
43
44
|
forceSet: true
|
|
44
45
|
};
|
|
45
46
|
var preValue = usePrevious(props.value);
|
|
46
|
-
var
|
|
47
|
+
var formDomRef = React.useRef();
|
|
47
48
|
var _React$useRef = React.useRef({
|
|
48
49
|
defaultValues: {},
|
|
49
50
|
validateMap: {},
|
|
@@ -105,9 +106,9 @@ var useForm = function useForm(props) {
|
|
|
105
106
|
onError === null || onError === void 0 || onError(err);
|
|
106
107
|
if (!props.scrollToError) return;
|
|
107
108
|
setTimeout(function () {
|
|
108
|
-
var
|
|
109
|
+
var _formDomRef$current;
|
|
109
110
|
var selector = "[".concat(getDataAttributeName('status'), "=\"error\"]");
|
|
110
|
-
var el = (
|
|
111
|
+
var el = (_formDomRef$current = formDomRef.current) === null || _formDomRef$current === void 0 ? void 0 : _formDomRef$current.querySelector(selector);
|
|
111
112
|
if (el) {
|
|
112
113
|
el.scrollIntoView();
|
|
113
114
|
var focusableSelectors = 'textarea, input,[tabindex]:not([tabindex="-1"])';
|
|
@@ -130,32 +131,106 @@ var useForm = function useForm(props) {
|
|
|
130
131
|
context.value = newValue;
|
|
131
132
|
(_props$onChange = props.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props, context.value);
|
|
132
133
|
});
|
|
134
|
+
var getValue = usePersistFn(function (name) {
|
|
135
|
+
if (name) {
|
|
136
|
+
return deepGet(context.value, name);
|
|
137
|
+
}
|
|
138
|
+
return context.value;
|
|
139
|
+
});
|
|
133
140
|
var validateFields = usePersistFn(function (fields) {
|
|
134
141
|
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
135
142
|
return new Promise(function (resolve, reject) {
|
|
136
|
-
var
|
|
143
|
+
var finalFields = fields ? (isArray(fields) ? fields : [fields]).filter(function (key) {
|
|
137
144
|
return context.validateMap[key];
|
|
138
145
|
}) : Object.keys(context.validateMap);
|
|
139
|
-
var validates =
|
|
146
|
+
var validates = finalFields.map(function (key) {
|
|
140
147
|
var validateField = context.validateMap[key];
|
|
141
148
|
return Array.from(validateField).map(function (validate) {
|
|
142
149
|
return validate(key, deepGet(context.value, key), context.value, config);
|
|
143
150
|
});
|
|
144
151
|
});
|
|
145
|
-
|
|
146
|
-
var
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
resolve(true);
|
|
152
|
+
if (config.type === 'withValue') {
|
|
153
|
+
var validatorValue = context.value;
|
|
154
|
+
if (fields) {
|
|
155
|
+
var fieldArray = isArray(fields) ? fields : [fields];
|
|
156
|
+
validatorValue = fieldArray.reduce(function (prev, cur) {
|
|
157
|
+
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, cur, getValue(cur)));
|
|
158
|
+
}, {});
|
|
153
159
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
160
|
+
Promise.all(validates.flat()).then(function (results) {
|
|
161
|
+
var errors = results.filter(function (n) {
|
|
162
|
+
return n !== true;
|
|
163
|
+
});
|
|
164
|
+
if (errors.length > 0) {
|
|
165
|
+
var errorFields = [];
|
|
166
|
+
for (var _key in context.errors) {
|
|
167
|
+
if (context.errors[_key]) {
|
|
168
|
+
var _context$errors$_key;
|
|
169
|
+
errorFields.push({
|
|
170
|
+
name: _key,
|
|
171
|
+
errors: [((_context$errors$_key = context.errors[_key]) === null || _context$errors$_key === void 0 ? void 0 : _context$errors$_key.message) || '']
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
reject({
|
|
176
|
+
values: validatorValue,
|
|
177
|
+
errorFields: errorFields
|
|
178
|
+
});
|
|
179
|
+
} else {
|
|
180
|
+
resolve(validatorValue);
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
} else {
|
|
184
|
+
Promise.all(validates.flat()).then(function (results) {
|
|
185
|
+
var error = results.find(function (n) {
|
|
186
|
+
return n !== true;
|
|
187
|
+
});
|
|
188
|
+
if (error !== undefined) {
|
|
189
|
+
reject(error);
|
|
190
|
+
} else {
|
|
191
|
+
resolve(true);
|
|
192
|
+
}
|
|
193
|
+
}).catch(function (e) {
|
|
194
|
+
reject(wrapFormError(e));
|
|
195
|
+
});
|
|
196
|
+
}
|
|
157
197
|
});
|
|
158
198
|
});
|
|
199
|
+
var scrollToField = usePersistFn(function (name) {
|
|
200
|
+
var _document;
|
|
201
|
+
var scrollIntoViewOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
202
|
+
if (!name) return;
|
|
203
|
+
var fieldId = getFieldId(name, formName);
|
|
204
|
+
if (!fieldId) return;
|
|
205
|
+
var element = (_document = document) === null || _document === void 0 ? void 0 : _document.getElementById(fieldId);
|
|
206
|
+
if (element) {
|
|
207
|
+
// 查找可滚动的父元素
|
|
208
|
+
var parentEl = getClosestScrollContainer(element);
|
|
209
|
+
if (parentEl) {
|
|
210
|
+
var parentRect = parentEl.getBoundingClientRect();
|
|
211
|
+
var elementRect = element.getBoundingClientRect();
|
|
212
|
+
|
|
213
|
+
// 判断父元素是否在可见范围内
|
|
214
|
+
var isVisibleY = elementRect.top >= parentRect.top && elementRect.bottom <= parentRect.bottom;
|
|
215
|
+
var isVisibleX = elementRect.left >= parentRect.left && elementRect.right <= parentRect.right;
|
|
216
|
+
if (!isVisibleY || !isVisibleX) {
|
|
217
|
+
// 计算元素相对于父元素的偏移量
|
|
218
|
+
var offsetTop = element.offsetTop - parentEl.offsetTop;
|
|
219
|
+
var offsetLeft = element.offsetLeft - parentEl.offsetLeft;
|
|
220
|
+
parentEl.scrollTop = offsetTop;
|
|
221
|
+
parentEl.scrollLeft = offsetLeft;
|
|
222
|
+
}
|
|
223
|
+
} else {
|
|
224
|
+
// 如果没有找到可滚动的父元素,使用默认行为
|
|
225
|
+
element.scrollIntoView(_objectSpread({
|
|
226
|
+
behavior: 'smooth'
|
|
227
|
+
}, scrollIntoViewOptions));
|
|
228
|
+
}
|
|
229
|
+
} else {
|
|
230
|
+
// todo: 统一警告|错误信息(by Tom)
|
|
231
|
+
console.warn("[shineout] fieldId: ".concat(fieldId, " not found"));
|
|
232
|
+
}
|
|
233
|
+
});
|
|
159
234
|
var remove = function remove() {
|
|
160
235
|
if (!context.removeArr.size) return;
|
|
161
236
|
if (context.unmounted) return;
|
|
@@ -173,12 +248,6 @@ var useForm = function useForm(props) {
|
|
|
173
248
|
}
|
|
174
249
|
context.removeTimer = setTimeout(remove);
|
|
175
250
|
};
|
|
176
|
-
var getValue = usePersistFn(function (name) {
|
|
177
|
-
if (name) {
|
|
178
|
-
return deepGet(context.value, name);
|
|
179
|
-
}
|
|
180
|
-
return context.value;
|
|
181
|
-
});
|
|
182
251
|
var setValue = usePersistFn(function (vals) {
|
|
183
252
|
var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
184
253
|
validate: false
|
|
@@ -247,7 +316,7 @@ var useForm = function useForm(props) {
|
|
|
247
316
|
context.submitLock = false;
|
|
248
317
|
}, throttle);
|
|
249
318
|
_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
250
|
-
var _props$onSubmit,
|
|
319
|
+
var _props$onSubmit, _context$value, result, _props$onSubmit2, _context$value2;
|
|
251
320
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
252
321
|
while (1) switch (_context.prev = _context.next) {
|
|
253
322
|
case 0:
|
|
@@ -255,7 +324,7 @@ var useForm = function useForm(props) {
|
|
|
255
324
|
_context.next = 3;
|
|
256
325
|
break;
|
|
257
326
|
}
|
|
258
|
-
(_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 || _props$onSubmit.call(props, (
|
|
327
|
+
(_props$onSubmit = props.onSubmit) === null || _props$onSubmit === void 0 || _props$onSubmit.call(props, (_context$value = context.value) !== null && _context$value !== void 0 ? _context$value : {});
|
|
259
328
|
return _context.abrupt("return");
|
|
260
329
|
case 3:
|
|
261
330
|
_context.next = 5;
|
|
@@ -270,7 +339,7 @@ var useForm = function useForm(props) {
|
|
|
270
339
|
_context.next = 10;
|
|
271
340
|
break;
|
|
272
341
|
}
|
|
273
|
-
(_props$onSubmit2 = props.onSubmit) === null || _props$onSubmit2 === void 0 || _props$onSubmit2.call(props, (
|
|
342
|
+
(_props$onSubmit2 = props.onSubmit) === null || _props$onSubmit2 === void 0 || _props$onSubmit2.call(props, (_context$value2 = context.value) !== null && _context$value2 !== void 0 ? _context$value2 : {});
|
|
274
343
|
_context.next = 12;
|
|
275
344
|
break;
|
|
276
345
|
case 10:
|
|
@@ -329,7 +398,7 @@ var useForm = function useForm(props) {
|
|
|
329
398
|
var externalProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
330
399
|
var externalEventHandlers = extractEventHandlers(externalProps);
|
|
331
400
|
return _objectSpread(_objectSpread(_objectSpread({}, externalProps), externalEventHandlers), {}, {
|
|
332
|
-
ref:
|
|
401
|
+
ref: formDomRef,
|
|
333
402
|
disabled: !!disabled,
|
|
334
403
|
onSubmit: handleSubmit(externalEventHandlers),
|
|
335
404
|
onReset: handleReset(externalEventHandlers)
|
|
@@ -340,8 +409,8 @@ var useForm = function useForm(props) {
|
|
|
340
409
|
});
|
|
341
410
|
var controlFunc = useLatestObj({
|
|
342
411
|
bind: function bind(n, df, validate, updateFn) {
|
|
343
|
-
if (context.names.has(n)) {
|
|
344
|
-
|
|
412
|
+
if (process.env.NODE_ENV !== 'production' && context.names.has(n)) {
|
|
413
|
+
devUseWarning.warn("name \"".concat(n, "\" already exist in Form component"));
|
|
345
414
|
}
|
|
346
415
|
context.names.add(n);
|
|
347
416
|
if (!context.validateMap[n]) {
|
|
@@ -363,10 +432,10 @@ var useForm = function useForm(props) {
|
|
|
363
432
|
});
|
|
364
433
|
}
|
|
365
434
|
},
|
|
366
|
-
unbind: function unbind(n, reserveAble,
|
|
435
|
+
unbind: function unbind(n, reserveAble, validateField, update) {
|
|
367
436
|
var validateFieldSet = context.validateMap[n];
|
|
368
|
-
if (
|
|
369
|
-
validateFieldSet.delete(
|
|
437
|
+
if (validateField && validateFieldSet.has(validateField)) {
|
|
438
|
+
validateFieldSet.delete(validateField);
|
|
370
439
|
}
|
|
371
440
|
var updateFieldSet = context.updateMap[n];
|
|
372
441
|
if (update && updateFieldSet.has(update)) {
|
|
@@ -427,7 +496,8 @@ var useForm = function useForm(props) {
|
|
|
427
496
|
validateFields: validateFields,
|
|
428
497
|
validateFieldset: validateFieldset,
|
|
429
498
|
insertError: insertError,
|
|
430
|
-
spliceError: spliceError
|
|
499
|
+
spliceError: spliceError,
|
|
500
|
+
scrollToField: scrollToField
|
|
431
501
|
});
|
|
432
502
|
var formConfig = React.useMemo(function () {
|
|
433
503
|
return {
|
|
@@ -438,9 +508,10 @@ var useForm = function useForm(props) {
|
|
|
438
508
|
inline: inline,
|
|
439
509
|
disabled: disabled,
|
|
440
510
|
size: size,
|
|
441
|
-
reserveAble: reserveAble
|
|
511
|
+
reserveAble: reserveAble,
|
|
512
|
+
formName: formName
|
|
442
513
|
};
|
|
443
|
-
}, [labelWidth, labelAlign, labelVerticalAlign, keepErrorHeight, inline, disabled, size, reserveAble]);
|
|
514
|
+
}, [labelWidth, labelAlign, labelVerticalAlign, keepErrorHeight, inline, disabled, size, reserveAble, formName]);
|
|
444
515
|
var updateValue = function updateValue() {
|
|
445
516
|
if (props.value !== context.lastValue && props.value !== context.value) {
|
|
446
517
|
context.value = deepClone(props.value) || emptyObj;
|
|
@@ -3,9 +3,19 @@ import { ReactNode } from 'react';
|
|
|
3
3
|
import { AddNoProps, ObjectType } from '../../common/type';
|
|
4
4
|
import { FormItemRule } from '../../utils/rule/rule.type';
|
|
5
5
|
import { FormError } from '../../utils';
|
|
6
|
-
export type
|
|
6
|
+
export type KeyType = string | number | symbol;
|
|
7
|
+
export interface ValidationError<T> {
|
|
8
|
+
values: T;
|
|
9
|
+
errorFields: {
|
|
10
|
+
name: string;
|
|
11
|
+
errors: string[];
|
|
12
|
+
}[];
|
|
13
|
+
}
|
|
14
|
+
export type ValidateFnConfig = {
|
|
15
|
+
type?: 'forcePass' | 'withValue';
|
|
7
16
|
ignoreBind?: boolean;
|
|
8
|
-
}
|
|
17
|
+
};
|
|
18
|
+
export type ValidateFn = (name: string, value: any, formData: ObjectType, config?: ValidateFnConfig) => Promise<true | FormError>;
|
|
9
19
|
export type UpdateFn = (formValue: ObjectType, errors: ObjectType<Error | undefined>, serverErrors: ObjectType<Error | undefined>) => void;
|
|
10
20
|
export interface FormContextValueType {
|
|
11
21
|
func?: {
|
|
@@ -74,8 +84,14 @@ export interface FormCommonConfig extends FormLabelConfig {
|
|
|
74
84
|
* @version 3.5.0
|
|
75
85
|
*/
|
|
76
86
|
reserveAble?: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* @en The name of the form, will be used as the prefix of the form field id, and can enable the <label for="id" /> function after setting
|
|
89
|
+
* @cn 表单名称,会作为表单字段 id 的前缀,设置后可开启 <label for="id" /> 功能
|
|
90
|
+
* @version 3.5.2
|
|
91
|
+
*/
|
|
92
|
+
formName?: string;
|
|
77
93
|
}
|
|
78
|
-
export interface FormFunc {
|
|
94
|
+
export interface FormFunc<T = any> {
|
|
79
95
|
setValue: (vals: {
|
|
80
96
|
[key: string]: any;
|
|
81
97
|
}, option?: {
|
|
@@ -87,9 +103,7 @@ export interface FormFunc {
|
|
|
87
103
|
setError: (name: string, e: Error | undefined) => void;
|
|
88
104
|
getErrors: () => ObjectType<Error | undefined>;
|
|
89
105
|
clearValidate: (names?: string[]) => void;
|
|
90
|
-
validateFields: (fields?: string | string[], config?:
|
|
91
|
-
ignoreBind?: boolean;
|
|
92
|
-
}) => Promise<true>;
|
|
106
|
+
validateFields: (fields?: string | string[], config?: ValidateFnConfig) => Promise<Partial<T>>;
|
|
93
107
|
validateFieldset: (name: string) => void;
|
|
94
108
|
insertError: (name: string, index: number, error?: Error) => void;
|
|
95
109
|
spliceError: (name: string, index: number) => void;
|
|
@@ -155,13 +169,19 @@ export interface BaseFormProps<T> extends FormCommonConfig {
|
|
|
155
169
|
* @private 内部属性
|
|
156
170
|
*/
|
|
157
171
|
error?: ObjectType<string | Error>;
|
|
172
|
+
/**
|
|
173
|
+
* @en The name of the form, will be used as the prefix of the form field id, and can enable the <label for="id" /> function after setting
|
|
174
|
+
* @cn 表单名称,会作为表单字段 id 的前缀,设置后可使用 formRef 的 scrollToField 方法
|
|
175
|
+
* @version 3.5.3
|
|
176
|
+
*/
|
|
177
|
+
name?: string;
|
|
158
178
|
}
|
|
159
179
|
export type UseFormProps<T> = BaseFormProps<T>;
|
|
160
180
|
export type FormContext = {
|
|
161
181
|
defaultValues: ObjectType;
|
|
162
182
|
validateMap: ObjectType<Set<(name: string, v: any, formValue: ObjectType, config?: {
|
|
163
183
|
ignoreBind?: boolean;
|
|
164
|
-
}) => Promise<
|
|
184
|
+
}) => Promise<true | FormError>>>;
|
|
165
185
|
removeArr: Set<string>;
|
|
166
186
|
removeTimer?: number | NodeJS.Timeout;
|
|
167
187
|
names: Set<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"use-form.type.d.ts","sourceRoot":"","sources":["use-form.type.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-table-expand.d.ts","sourceRoot":"","sources":["use-table-expand.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-table-expand.d.ts","sourceRoot":"","sources":["use-table-expand.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKrE,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC7F,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC;CACnC;AAED,eAAO,MAAM,cAAc,UAAW,mBAAmB;6BAa/C,kBAAkB,GAAG,CAAC,QAAQ,GAAG,SAAS,MAAM;wBAThB,GAAG,SAAS,MAAM;CA2C3D,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -10,7 +10,8 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
|
|
|
10
10
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
11
11
|
import React, { useEffect } from 'react';
|
|
12
12
|
import usePersistFn from "../../common/use-persist-fn";
|
|
13
|
-
import { getKey } from "
|
|
13
|
+
import { getKey } from "../../utils/render";
|
|
14
|
+
import { devUseWarning } from "../../utils";
|
|
14
15
|
export var useTableExpand = function useTableExpand(props) {
|
|
15
16
|
var columns = props.columns,
|
|
16
17
|
expandKeys = props.expandKeys;
|
|
@@ -52,7 +53,7 @@ export var useTableExpand = function useTableExpand(props) {
|
|
|
52
53
|
return col.type === 'expand' || col.type === 'row-expand';
|
|
53
54
|
}).length;
|
|
54
55
|
if (expandNum > 1) {
|
|
55
|
-
|
|
56
|
+
devUseWarning.error('columns should not have more than one expand column');
|
|
56
57
|
}
|
|
57
58
|
});
|
|
58
59
|
return {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TabsProviderProps, TabsContextProps } from './context.type';
|
|
3
|
-
export declare const TabsContext: React.Context<TabsContextProps
|
|
4
|
-
export declare const Provider: (props: TabsProviderProps) => JSX.Element;
|
|
5
|
-
export declare const useTabsContext: () => TabsContextProps
|
|
3
|
+
export declare const TabsContext: React.Context<TabsContextProps<any>>;
|
|
4
|
+
export declare const Provider: <TabData>(props: TabsProviderProps<TabData>) => JSX.Element;
|
|
5
|
+
export declare const useTabsContext: <TabData>() => TabsContextProps<TabData>;
|
|
6
6
|
//# sourceMappingURL=context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAErE,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAErE,eAAO,MAAM,WAAW,sCAA8E,CAAC;AAEvG,eAAO,MAAM,QAAQ,6DAGpB,CAAC;AAEF,eAAO,MAAM,cAAc,0CAA8E,CAAC"}
|
|
@@ -2,7 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
|
-
export var TabsContext = /*#__PURE__*/React.createContext({
|
|
5
|
+
export var TabsContext = /*#__PURE__*/React.createContext({
|
|
6
|
+
tabs: [],
|
|
7
|
+
setTabs: function setTabs() {}
|
|
8
|
+
});
|
|
6
9
|
export var Provider = function Provider(props) {
|
|
7
10
|
var children = props.children,
|
|
8
11
|
value = props.value;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { TabsShapeType } from './use-tabs.type';
|
|
3
|
-
export interface TabsContextProps {
|
|
3
|
+
export interface TabsContextProps<TabData = any> {
|
|
4
4
|
/**
|
|
5
5
|
* @private 内部属性
|
|
6
6
|
*/
|
|
@@ -34,9 +34,21 @@ export interface TabsContextProps {
|
|
|
34
34
|
* @private 内部属性
|
|
35
35
|
*/
|
|
36
36
|
onCollapsible?: () => void;
|
|
37
|
+
/**
|
|
38
|
+
* @private 内部属性
|
|
39
|
+
*/
|
|
40
|
+
tabs: TabData[];
|
|
41
|
+
/**
|
|
42
|
+
* @private 内部属性
|
|
43
|
+
*/
|
|
44
|
+
setTabs: React.Dispatch<React.SetStateAction<TabData[]>>;
|
|
45
|
+
/**
|
|
46
|
+
* @private 内部属性
|
|
47
|
+
*/
|
|
48
|
+
color?: string;
|
|
37
49
|
}
|
|
38
|
-
export interface TabsProviderProps {
|
|
39
|
-
value: TabsContextProps
|
|
50
|
+
export interface TabsProviderProps<TabData> {
|
|
51
|
+
value: TabsContextProps<TabData>;
|
|
40
52
|
children?: React.ReactNode;
|
|
41
53
|
}
|
|
42
54
|
//# sourceMappingURL=context.type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.type.d.ts","sourceRoot":"","sources":["context.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,gBAAgB;
|
|
1
|
+
{"version":3,"file":"context.type.d.ts","sourceRoot":"","sources":["context.type.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,gBAAgB,CAAC,OAAO,GAAG,GAAG;IAC7C;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB;;OAEG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC1C;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;IACxD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB,CAAC,OAAO;IACxC,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { BaseTabsProps } from './use-tabs.type';
|
|
3
|
-
declare const useTabs: (props: BaseTabsProps) => {
|
|
3
|
+
declare const useTabs: <TabData = any>(props: BaseTabsProps) => {
|
|
4
4
|
active: string | number | undefined;
|
|
5
5
|
onChange: (key: string | number) => void;
|
|
6
|
-
|
|
6
|
+
tabs: TabData[];
|
|
7
|
+
setTabs: import("react").Dispatch<import("react").SetStateAction<TabData[]>>;
|
|
8
|
+
Provider: <TabData_1>(props: import("./context.type").TabsProviderProps<TabData_1>) => JSX.Element;
|
|
7
9
|
};
|
|
8
10
|
export default useTabs;
|
|
9
11
|
//# sourceMappingURL=use-tabs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-tabs.d.ts","sourceRoot":"","sources":["use-tabs.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,QAAA,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"use-tabs.d.ts","sourceRoot":"","sources":["use-tabs.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,QAAA,MAAM,OAAO,yBAA0B,aAAa;;oBAYvB,MAAM,GAAG,MAAM;;;;CAY3C,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -15,6 +15,10 @@ var useTabs = function useTabs(props) {
|
|
|
15
15
|
_useState2 = _slicedToArray(_useState, 2),
|
|
16
16
|
activeTabs = _useState2[0],
|
|
17
17
|
setActiveTabs = _useState2[1];
|
|
18
|
+
var _useState3 = useState([]),
|
|
19
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
20
|
+
tabs = _useState4[0],
|
|
21
|
+
setTabs = _useState4[1];
|
|
18
22
|
var getActive = function getActive() {
|
|
19
23
|
if (props.active === undefined) {
|
|
20
24
|
return activeTabs;
|
|
@@ -28,6 +32,8 @@ var useTabs = function useTabs(props) {
|
|
|
28
32
|
return {
|
|
29
33
|
active: getActive(),
|
|
30
34
|
onChange: handleChange,
|
|
35
|
+
tabs: tabs,
|
|
36
|
+
setTabs: setTabs,
|
|
31
37
|
Provider: Provider
|
|
32
38
|
};
|
|
33
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"use-tree.d.ts","sourceRoot":"","sources":["use-tree.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,aAAa,EAKb,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAUjD,eAAO,MAAM,IAAI;IACf;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;CAEJ,CAAC;AAEF,QAAA,MAAM,OAAO;;;;;CA4bZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
|