@fairys/taro-valtio-form-basic 0.0.12 → 0.0.13

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/esm/form.d.ts CHANGED
@@ -1,18 +1,26 @@
1
1
  import { FairysTaroValtioFormItem, FairysTaroValtioFormHideItem, FairysTaroValtioFormItemBase } from './form.item';
2
2
  import { useFairysValtioFormInstance, useFairysValtioFormInstanceContext, useFairysValtioFormInstanceContextState, useFairysValtioFormInstanceContextHideState } from '@fairys/valtio-form-basic';
3
- import type { FairysValtioFormAttrsProps, MObject } from '@fairys/valtio-form-basic';
3
+ import type { FairysValtioFormAttrsProps, FairysValtioFormInstance, MObject } from '@fairys/valtio-form-basic';
4
+ import React from 'react';
4
5
  export * from '@fairys/valtio-form-basic';
5
6
  export * from './form.item';
6
7
  export * from './layout';
7
8
  export interface FairysTaroValtioFormProps<T extends MObject<T> = object> extends FairysValtioFormAttrsProps<T> {
8
9
  }
9
- export declare function FairysTaroValtioForm<T extends MObject<T> = object>(props: FairysTaroValtioFormProps<T>): import("react/jsx-runtime").JSX.Element;
10
- export declare namespace FairysTaroValtioForm {
11
- var useForm: typeof useFairysValtioFormInstance;
12
- var useFormState: typeof useFairysValtioFormInstanceContextState;
13
- var useFormHideState: typeof useFairysValtioFormInstanceContextHideState;
14
- var useFormInstance: typeof useFairysValtioFormInstanceContext;
15
- var FormItemBase: typeof FairysTaroValtioFormItemBase;
16
- var FormItem: typeof FairysTaroValtioFormItem;
17
- var FormHideItem: typeof FairysTaroValtioFormHideItem;
18
- }
10
+ declare function FairysTaroValtioFormBase<T extends MObject<T> = object>(props: FairysTaroValtioFormProps<T>, ref: React.Ref<FairysValtioFormInstance<T>>): import("react/jsx-runtime").JSX.Element;
11
+ export declare const FairysTaroValtioForm: typeof FairysTaroValtioFormBase & {
12
+ /**初始化实例*/
13
+ useForm: typeof useFairysValtioFormInstance;
14
+ /**获取状态*/
15
+ useFormState: typeof useFairysValtioFormInstanceContextState;
16
+ /**获取隐藏状态*/
17
+ useFormHideState: typeof useFairysValtioFormInstanceContextHideState;
18
+ /**获取上下文实例*/
19
+ useFormInstance: typeof useFairysValtioFormInstanceContext;
20
+ /**表单项基础组件*/
21
+ FormItemBase: typeof FairysTaroValtioFormItemBase;
22
+ /**表单项组件*/
23
+ FormItem: typeof FairysTaroValtioFormItem;
24
+ /**隐藏表单项组件*/
25
+ FormHideItem: typeof FairysTaroValtioFormHideItem;
26
+ };
package/esm/form.js CHANGED
@@ -2,11 +2,12 @@ import { jsx } from "react/jsx-runtime";
2
2
  import { FairysTaroValtioFormLayout } from "./layout.js";
3
3
  import { FairysTaroValtioFormHideItem, FairysTaroValtioFormItem, FairysTaroValtioFormItemBase } from "./form.item.js";
4
4
  import { FairysValtioFormInstanceContext, useFairysValtioForm, useFairysValtioFormInstance, useFairysValtioFormInstanceContext, useFairysValtioFormInstanceContextHideState, useFairysValtioFormInstanceContextState } from "@fairys/valtio-form-basic";
5
+ import react from "react";
5
6
  export * from "@fairys/valtio-form-basic";
6
7
  export * from "./form.item.js";
7
8
  export * from "./layout.js";
8
- function FairysTaroValtioForm(props) {
9
- const { formInstance, children, ...rest } = useFairysValtioForm(props);
9
+ function FairysTaroValtioFormBase(props, ref) {
10
+ const { formInstance, children, ...rest } = useFairysValtioForm(props, ref);
10
11
  return /*#__PURE__*/ jsx(FairysValtioFormInstanceContext.Provider, {
11
12
  value: formInstance,
12
13
  children: /*#__PURE__*/ jsx(FairysTaroValtioFormLayout, {
@@ -15,6 +16,7 @@ function FairysTaroValtioForm(props) {
15
16
  })
16
17
  });
17
18
  }
19
+ const FairysTaroValtioForm = /*#__PURE__*/ react.forwardRef(FairysTaroValtioFormBase);
18
20
  FairysTaroValtioForm.useForm = useFairysValtioFormInstance;
19
21
  FairysTaroValtioForm.useFormState = useFairysValtioFormInstanceContextState;
20
22
  FairysTaroValtioForm.useFormHideState = useFairysValtioFormInstanceContextHideState;
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "author": "SunLxy <1011771396@qq.com>",
4
4
  "description": "taro表单框架组件",
5
5
  "homepage": "https://github.com/autumn-fairy-tales/valtio-form-basic",
6
- "version": "0.0.12",
6
+ "version": "0.0.13",
7
7
  "main": "lib/index.js",
8
8
  "types": "esm/index.d.ts",
9
9
  "module": "esm/index.js",
@@ -25,10 +25,10 @@
25
25
  "esm"
26
26
  ],
27
27
  "dependencies": {
28
- "@fairys/valtio-form-basic": "^0.0.12"
28
+ "@fairys/valtio-form-basic": "^0.0.13"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/react": "~18.2.21",
32
32
  "react": "^18.0.0"
33
33
  }
34
- }
34
+ }
package/src/form.tsx CHANGED
@@ -8,20 +8,43 @@ import {
8
8
  useFairysValtioFormInstanceContextState,
9
9
  useFairysValtioFormInstanceContextHideState,
10
10
  } from '@fairys/valtio-form-basic';
11
- import type { FairysValtioFormAttrsProps, MObject } from '@fairys/valtio-form-basic';
11
+ import type { FairysValtioFormAttrsProps, FairysValtioFormInstance, MObject } from '@fairys/valtio-form-basic';
12
+ import React from 'react';
12
13
  export * from '@fairys/valtio-form-basic';
13
14
  export * from './form.item';
14
15
  export * from './layout';
15
- export interface FairysTaroValtioFormProps<T extends MObject<T> = object> extends FairysValtioFormAttrsProps<T> { }
16
+ export interface FairysTaroValtioFormProps<T extends MObject<T> = object> extends FairysValtioFormAttrsProps<T> {}
16
17
 
17
- export function FairysTaroValtioForm<T extends MObject<T> = object>(props: FairysTaroValtioFormProps<T>) {
18
- const { formInstance, children, ...rest } = useFairysValtioForm(props);
18
+ function FairysTaroValtioFormBase<T extends MObject<T> = object>(
19
+ props: FairysTaroValtioFormProps<T>,
20
+ ref: React.Ref<FairysValtioFormInstance<T>>,
21
+ ) {
22
+ const { formInstance, children, ...rest } = useFairysValtioForm(props, ref);
19
23
  return (
20
24
  <FairysValtioFormInstanceContext.Provider value={formInstance}>
21
25
  <FairysTaroValtioFormLayout {...rest}>{children}</FairysTaroValtioFormLayout>
22
26
  </FairysValtioFormInstanceContext.Provider>
23
27
  );
24
28
  }
29
+
30
+ export const FairysTaroValtioForm = React.forwardRef(
31
+ FairysTaroValtioFormBase,
32
+ ) as unknown as typeof FairysTaroValtioFormBase & {
33
+ /**初始化实例*/
34
+ useForm: typeof useFairysValtioFormInstance;
35
+ /**获取状态*/
36
+ useFormState: typeof useFairysValtioFormInstanceContextState;
37
+ /**获取隐藏状态*/
38
+ useFormHideState: typeof useFairysValtioFormInstanceContextHideState;
39
+ /**获取上下文实例*/
40
+ useFormInstance: typeof useFairysValtioFormInstanceContext;
41
+ /**表单项基础组件*/
42
+ FormItemBase: typeof FairysTaroValtioFormItemBase;
43
+ /**表单项组件*/
44
+ FormItem: typeof FairysTaroValtioFormItem;
45
+ /**隐藏表单项组件*/
46
+ FormHideItem: typeof FairysTaroValtioFormHideItem;
47
+ };
25
48
  /**初始化实例*/
26
49
  FairysTaroValtioForm.useForm = useFairysValtioFormInstance;
27
50
  /**获取状态*/
@@ -34,5 +57,5 @@ FairysTaroValtioForm.useFormInstance = useFairysValtioFormInstanceContext;
34
57
  FairysTaroValtioForm.FormItemBase = FairysTaroValtioFormItemBase;
35
58
  /**表单项*/
36
59
  FairysTaroValtioForm.FormItem = FairysTaroValtioFormItem;
37
- /**隐藏表单想*/
60
+ /**隐藏表单项组件*/
38
61
  FairysTaroValtioForm.FormHideItem = FairysTaroValtioFormHideItem;