@carefrees/form-utils-vue-hooks 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.
Files changed (152) hide show
  1. package/README.md +7 -0
  2. package/esm/hooks/attr/attr.FormItem.d.ts +94 -0
  3. package/esm/hooks/attr/attr.FormItem.js +104 -0
  4. package/esm/hooks/index.d.ts +13 -0
  5. package/esm/hooks/index.js +13 -0
  6. package/esm/hooks/register/register.FormHideItem.d.ts +9 -0
  7. package/esm/hooks/register/register.FormHideItem.js +26 -0
  8. package/esm/hooks/register/register.FormItem.d.ts +24 -0
  9. package/esm/hooks/register/register.FormItem.js +67 -0
  10. package/esm/hooks/register/register.FormList.d.ts +9 -0
  11. package/esm/hooks/register/register.FormList.js +42 -0
  12. package/esm/hooks/register/register.form.d.ts +4 -0
  13. package/esm/hooks/register/register.form.js +10 -0
  14. package/esm/hooks/useAttrs.d.ts +25 -0
  15. package/esm/hooks/useAttrs.js +26 -0
  16. package/esm/hooks/useEffect.d.ts +2 -0
  17. package/esm/hooks/useEffect.js +12 -0
  18. package/esm/hooks/useForm.d.ts +8 -0
  19. package/esm/hooks/useForm.js +21 -0
  20. package/esm/hooks/useFormItem.d.ts +8 -0
  21. package/esm/hooks/useFormItem.js +21 -0
  22. package/esm/hooks/useFormItemParentName.d.ts +18 -0
  23. package/esm/hooks/useFormItemParentName.js +47 -0
  24. package/esm/hooks/useFormList.d.ts +8 -0
  25. package/esm/hooks/useFormList.js +21 -0
  26. package/esm/hooks/useHtmlFor.d.ts +2 -0
  27. package/esm/hooks/useHtmlFor.js +7 -0
  28. package/esm/hooks/useMultipleForm.d.ts +8 -0
  29. package/esm/hooks/useMultipleForm.js +21 -0
  30. package/esm/hooks/useRule.d.ts +4 -0
  31. package/esm/hooks/useRule.js +12 -0
  32. package/esm/index.d.ts +4 -0
  33. package/esm/index.js +4 -0
  34. package/esm/instance/formInstance.d.ts +58 -0
  35. package/esm/instance/formInstance.js +132 -0
  36. package/esm/instance/formItemBaseInstance.d.ts +23 -0
  37. package/esm/instance/formItemBaseInstance.js +6 -0
  38. package/esm/instance/formItemInstance.d.ts +18 -0
  39. package/esm/instance/formItemInstance.js +11 -0
  40. package/esm/instance/formListInstance.d.ts +43 -0
  41. package/esm/instance/formListInstance.js +95 -0
  42. package/esm/instance/index.d.ts +5 -0
  43. package/esm/instance/index.js +5 -0
  44. package/esm/instance/multipleInstance.d.ts +32 -0
  45. package/esm/instance/multipleInstance.js +77 -0
  46. package/esm/instance/ruleIntsnace.d.ts +45 -0
  47. package/esm/instance/ruleIntsnace.js +52 -0
  48. package/esm/interface/index.d.ts +31 -0
  49. package/esm/interface/index.js +0 -0
  50. package/esm/utils/cloneByNamePathList.d.ts +3 -0
  51. package/esm/utils/cloneByNamePathList.js +11 -0
  52. package/esm/utils/get.d.ts +26 -0
  53. package/esm/utils/get.js +13 -0
  54. package/esm/utils/index.d.ts +4 -0
  55. package/esm/utils/index.js +4 -0
  56. package/esm/utils/interface.d.ts +3 -0
  57. package/esm/utils/interface.js +0 -0
  58. package/esm/utils/set.d.ts +32 -0
  59. package/esm/utils/set.js +29 -0
  60. package/esm/utils/utils.d.ts +172 -0
  61. package/esm/utils/utils.js +131 -0
  62. package/lib/hooks/attr/attr.FormItem.d.ts +94 -0
  63. package/lib/hooks/attr/attr.FormItem.js +138 -0
  64. package/lib/hooks/index.d.ts +13 -0
  65. package/lib/hooks/index.js +168 -0
  66. package/lib/hooks/register/register.FormHideItem.d.ts +9 -0
  67. package/lib/hooks/register/register.FormHideItem.js +60 -0
  68. package/lib/hooks/register/register.FormItem.d.ts +24 -0
  69. package/lib/hooks/register/register.FormItem.js +101 -0
  70. package/lib/hooks/register/register.FormList.d.ts +9 -0
  71. package/lib/hooks/register/register.FormList.js +76 -0
  72. package/lib/hooks/register/register.form.d.ts +4 -0
  73. package/lib/hooks/register/register.form.js +44 -0
  74. package/lib/hooks/useAttrs.d.ts +25 -0
  75. package/lib/hooks/useAttrs.js +63 -0
  76. package/lib/hooks/useEffect.d.ts +2 -0
  77. package/lib/hooks/useEffect.js +46 -0
  78. package/lib/hooks/useForm.d.ts +8 -0
  79. package/lib/hooks/useForm.js +61 -0
  80. package/lib/hooks/useFormItem.d.ts +8 -0
  81. package/lib/hooks/useFormItem.js +61 -0
  82. package/lib/hooks/useFormItemParentName.d.ts +18 -0
  83. package/lib/hooks/useFormItemParentName.js +84 -0
  84. package/lib/hooks/useFormList.d.ts +8 -0
  85. package/lib/hooks/useFormList.js +61 -0
  86. package/lib/hooks/useHtmlFor.d.ts +2 -0
  87. package/lib/hooks/useHtmlFor.js +41 -0
  88. package/lib/hooks/useMultipleForm.d.ts +8 -0
  89. package/lib/hooks/useMultipleForm.js +61 -0
  90. package/lib/hooks/useRule.d.ts +4 -0
  91. package/lib/hooks/useRule.js +46 -0
  92. package/lib/index.d.ts +4 -0
  93. package/lib/index.js +87 -0
  94. package/lib/instance/formInstance.d.ts +58 -0
  95. package/lib/instance/formInstance.js +166 -0
  96. package/lib/instance/formItemBaseInstance.d.ts +23 -0
  97. package/lib/instance/formItemBaseInstance.js +40 -0
  98. package/lib/instance/formItemInstance.d.ts +18 -0
  99. package/lib/instance/formItemInstance.js +45 -0
  100. package/lib/instance/formListInstance.d.ts +43 -0
  101. package/lib/instance/formListInstance.js +129 -0
  102. package/lib/instance/index.d.ts +5 -0
  103. package/lib/instance/index.js +96 -0
  104. package/lib/instance/multipleInstance.d.ts +32 -0
  105. package/lib/instance/multipleInstance.js +111 -0
  106. package/lib/instance/ruleIntsnace.d.ts +45 -0
  107. package/lib/instance/ruleIntsnace.js +96 -0
  108. package/lib/interface/index.d.ts +31 -0
  109. package/lib/interface/index.js +18 -0
  110. package/lib/utils/cloneByNamePathList.d.ts +3 -0
  111. package/lib/utils/cloneByNamePathList.js +45 -0
  112. package/lib/utils/get.d.ts +26 -0
  113. package/lib/utils/get.js +47 -0
  114. package/lib/utils/index.d.ts +4 -0
  115. package/lib/utils/index.js +87 -0
  116. package/lib/utils/interface.d.ts +3 -0
  117. package/lib/utils/interface.js +18 -0
  118. package/lib/utils/set.d.ts +32 -0
  119. package/lib/utils/set.js +63 -0
  120. package/lib/utils/utils.d.ts +172 -0
  121. package/lib/utils/utils.js +198 -0
  122. package/package.json +30 -0
  123. package/src/hooks/attr/attr.FormItem.tsx +185 -0
  124. package/src/hooks/index.ts +13 -0
  125. package/src/hooks/register/register.FormHideItem.ts +28 -0
  126. package/src/hooks/register/register.FormItem.ts +93 -0
  127. package/src/hooks/register/register.FormList.ts +49 -0
  128. package/src/hooks/register/register.form.ts +13 -0
  129. package/src/hooks/useAttrs.ts +64 -0
  130. package/src/hooks/useEffect.ts +13 -0
  131. package/src/hooks/useForm.ts +34 -0
  132. package/src/hooks/useFormItem.ts +33 -0
  133. package/src/hooks/useFormItemParentName.ts +49 -0
  134. package/src/hooks/useFormList.ts +33 -0
  135. package/src/hooks/useHtmlFor.ts +9 -0
  136. package/src/hooks/useMultipleForm.ts +30 -0
  137. package/src/hooks/useRule.ts +16 -0
  138. package/src/index.ts +4 -0
  139. package/src/instance/formInstance.ts +220 -0
  140. package/src/instance/formItemBaseInstance.ts +23 -0
  141. package/src/instance/formItemInstance.ts +23 -0
  142. package/src/instance/formListInstance.ts +108 -0
  143. package/src/instance/index.ts +5 -0
  144. package/src/instance/multipleInstance.ts +109 -0
  145. package/src/instance/ruleIntsnace.ts +89 -0
  146. package/src/interface/index.ts +38 -0
  147. package/src/utils/cloneByNamePathList.ts +13 -0
  148. package/src/utils/get.ts +53 -0
  149. package/src/utils/index.ts +4 -0
  150. package/src/utils/interface.ts +4 -0
  151. package/src/utils/set.ts +85 -0
  152. package/src/utils/utils.ts +504 -0
@@ -0,0 +1,25 @@
1
+ /**公共属性*/
2
+ import { StyleValue, ComputedRef } from 'vue';
3
+ import { ComputedRefBase } from '../interface';
4
+ export type AttrsOptions = {
5
+ /**列数据*/
6
+ colCount?: ComputedRefBase<number | undefined>;
7
+ /**规则校验失败错误提示位置*/
8
+ errorLayout?: ComputedRefBase<'left-bottom' | 'right-bottom' | 'top-right' | 'top-left' | undefined>;
9
+ /**label显示模式*/
10
+ labelMode?: ComputedRefBase<'left' | 'top' | 'hide' | undefined>;
11
+ /**是否显示label后的冒号*/
12
+ showColon?: ComputedRefBase<boolean | undefined>;
13
+ /**表单项 className*/
14
+ formItemClass?: ComputedRefBase<string | undefined>;
15
+ /**表单项 style*/
16
+ formItemStyle?: ComputedRefBase<StyleValue | undefined>;
17
+ /**表单项 label className*/
18
+ formItemLabelClass?: ComputedRefBase<string | undefined>;
19
+ /**表单项 label style*/
20
+ formItemLabelStyle?: ComputedRefBase<StyleValue | undefined>;
21
+ };
22
+ /**公共属性 Context */
23
+ export declare function useAttrsProvide(options: AttrsOptions): void;
24
+ /**子项中获取公共属性*/
25
+ export declare function useAttrsInject(): ComputedRef<AttrsOptions>;
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useAttrsProvide: ()=>useAttrsProvide,
28
+ useAttrsInject: ()=>useAttrsInject
29
+ });
30
+ const external_vue_namespaceObject = require("vue");
31
+ const attrsProvideSymbol = Symbol('carefrees-attrs');
32
+ function useAttrsProvide(options) {
33
+ const { colCount = (0, external_vue_namespaceObject.ref)(4), errorLayout = (0, external_vue_namespaceObject.ref)('left-bottom'), labelMode = (0, external_vue_namespaceObject.ref)('top'), showColon = (0, external_vue_namespaceObject.ref)(true), formItemClass, formItemStyle, formItemLabelClass, formItemLabelStyle } = options;
34
+ const data = (0, external_vue_namespaceObject.computed)(()=>({
35
+ colCount,
36
+ errorLayout,
37
+ labelMode,
38
+ showColon,
39
+ formItemClass,
40
+ formItemStyle,
41
+ formItemLabelClass,
42
+ formItemLabelStyle
43
+ }));
44
+ (0, external_vue_namespaceObject.provide)(attrsProvideSymbol, (0, external_vue_namespaceObject.reactive)(data));
45
+ }
46
+ function useAttrsInject() {
47
+ const attrs = (0, external_vue_namespaceObject.inject)(attrsProvideSymbol, (0, external_vue_namespaceObject.computed)(()=>({
48
+ colCount: (0, external_vue_namespaceObject.ref)(4),
49
+ errorLayout: (0, external_vue_namespaceObject.ref)('left-bottom'),
50
+ labelMode: (0, external_vue_namespaceObject.ref)('top'),
51
+ showColon: (0, external_vue_namespaceObject.ref)(true)
52
+ })));
53
+ return attrs;
54
+ }
55
+ exports.useAttrsInject = __webpack_exports__.useAttrsInject;
56
+ exports.useAttrsProvide = __webpack_exports__.useAttrsProvide;
57
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
58
+ "useAttrsInject",
59
+ "useAttrsProvide"
60
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
61
+ Object.defineProperty(exports, '__esModule', {
62
+ value: true
63
+ });
@@ -0,0 +1,2 @@
1
+ /**挂载卸载*/
2
+ export declare const useEffect: (fun: () => Function | undefined) => void;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useEffect: ()=>useEffect
28
+ });
29
+ const external_vue_namespaceObject = require("vue");
30
+ const useEffect = (fun)=>{
31
+ const unRegisterRef = (0, external_vue_namespaceObject.ref)();
32
+ (0, external_vue_namespaceObject.onMounted)(()=>{
33
+ unRegisterRef.value = fun();
34
+ });
35
+ (0, external_vue_namespaceObject.onUnmounted)(()=>{
36
+ 'function' == typeof unRegisterRef.value && unRegisterRef.value();
37
+ unRegisterRef.value = void 0;
38
+ });
39
+ };
40
+ exports.useEffect = __webpack_exports__.useEffect;
41
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
42
+ "useEffect"
43
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
44
+ Object.defineProperty(exports, '__esModule', {
45
+ value: true
46
+ });
@@ -0,0 +1,8 @@
1
+ import { FormInstanceBase } from '../instance/formInstance';
2
+ import { Ref } from 'vue';
3
+ /**表单实例 Context */
4
+ export declare function useFormProvide<T = any>(form: Ref<FormInstanceBase<T>> | FormInstanceBase<T>): void;
5
+ /**子项中获取表单实例*/
6
+ export declare function useFormInject<T = any>(): Ref<FormInstanceBase<T>, FormInstanceBase<T>>;
7
+ /**初始化表单实例*/
8
+ export declare function useForm<T = any>(form?: Ref<FormInstanceBase<T>> | FormInstanceBase<T>): Ref<FormInstanceBase<T>>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useFormProvide: ()=>useFormProvide,
28
+ useForm: ()=>useForm,
29
+ useFormInject: ()=>useFormInject
30
+ });
31
+ const formInstance_js_namespaceObject = require("../instance/formInstance.js");
32
+ const external_vue_namespaceObject = require("vue");
33
+ const formProvideSymbol = Symbol('carefrees-form');
34
+ function useFormProvide(form) {
35
+ const newForm = useForm(form);
36
+ (0, external_vue_namespaceObject.provide)(formProvideSymbol, newForm);
37
+ }
38
+ function useFormInject() {
39
+ const form = (0, external_vue_namespaceObject.inject)(formProvideSymbol, (0, external_vue_namespaceObject.ref)(new formInstance_js_namespaceObject.FormInstanceBase()));
40
+ return form;
41
+ }
42
+ function useForm(form) {
43
+ const refForm = (0, external_vue_namespaceObject.ref)();
44
+ if (!refForm.value) {
45
+ const value = (0, external_vue_namespaceObject.toValue)(form);
46
+ if (value) refForm.value = value;
47
+ else refForm.value = new formInstance_js_namespaceObject.FormInstanceBase();
48
+ }
49
+ return refForm;
50
+ }
51
+ exports.useForm = __webpack_exports__.useForm;
52
+ exports.useFormInject = __webpack_exports__.useFormInject;
53
+ exports.useFormProvide = __webpack_exports__.useFormProvide;
54
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
55
+ "useForm",
56
+ "useFormInject",
57
+ "useFormProvide"
58
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
59
+ Object.defineProperty(exports, '__esModule', {
60
+ value: true
61
+ });
@@ -0,0 +1,8 @@
1
+ import { FormItemInstanceBase } from '../instance/formItemInstance';
2
+ import { Ref } from 'vue';
3
+ /**表单项实例 Context */
4
+ export declare function useFormItemProvide(formItem: Ref<FormItemInstanceBase> | FormItemInstanceBase): void;
5
+ /**子项中获取表单项实例*/
6
+ export declare function useFormItemInject(): Ref<FormItemInstanceBase, FormItemInstanceBase>;
7
+ /** 初始化 表单项实例*/
8
+ export declare function useFormItem(formItem?: Ref<FormItemInstanceBase> | FormItemInstanceBase): Ref<FormItemInstanceBase>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useFormItemProvide: ()=>useFormItemProvide,
28
+ useFormItem: ()=>useFormItem,
29
+ useFormItemInject: ()=>useFormItemInject
30
+ });
31
+ const formItemInstance_js_namespaceObject = require("../instance/formItemInstance.js");
32
+ const external_vue_namespaceObject = require("vue");
33
+ const formItemProvideSymbol = Symbol('carefrees-form-item');
34
+ function useFormItemProvide(formItem) {
35
+ const newFormItem = useFormItem(formItem);
36
+ (0, external_vue_namespaceObject.provide)(formItemProvideSymbol, newFormItem);
37
+ }
38
+ function useFormItemInject() {
39
+ const formItem = (0, external_vue_namespaceObject.inject)(formItemProvideSymbol, (0, external_vue_namespaceObject.ref)(new formItemInstance_js_namespaceObject.FormItemInstanceBase()));
40
+ return formItem;
41
+ }
42
+ function useFormItem(formItem) {
43
+ const refForm = (0, external_vue_namespaceObject.ref)();
44
+ if (!refForm.value) {
45
+ const value = (0, external_vue_namespaceObject.toValue)(formItem);
46
+ if (value) refForm.value = value;
47
+ else refForm.value = new formItemInstance_js_namespaceObject.FormItemInstanceBase();
48
+ }
49
+ return refForm;
50
+ }
51
+ exports.useFormItem = __webpack_exports__.useFormItem;
52
+ exports.useFormItemInject = __webpack_exports__.useFormItemInject;
53
+ exports.useFormItemProvide = __webpack_exports__.useFormItemProvide;
54
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
55
+ "useFormItem",
56
+ "useFormItemInject",
57
+ "useFormItemProvide"
58
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
59
+ Object.defineProperty(exports, '__esModule', {
60
+ value: true
61
+ });
@@ -0,0 +1,18 @@
1
+ import { ComputedRef } from 'vue';
2
+ import { PartialComputedRefs } from '../interface';
3
+ export interface FormItemParentNamOptions {
4
+ /**字段*/
5
+ name: string;
6
+ /**排序*/
7
+ sort?: string;
8
+ /**是否拼接父级字段*/
9
+ isJoinParentField?: boolean;
10
+ }
11
+ export type FormItemParentNameProviderProps = PartialComputedRefs<Omit<FormItemParentNamOptions, 'isJoinParentField'>>;
12
+ export declare const useFormItemParentNameProvide: (props: FormItemParentNameProviderProps) => void;
13
+ /**表单项获取父级字段*/
14
+ export declare const useFormItemParentNameInject: (options: FormItemParentNamOptions) => {
15
+ newName: ComputedRef<string>;
16
+ newSort: ComputedRef<string>;
17
+ parentItem: ComputedRef<PartialComputedRefs<Omit<FormItemParentNamOptions, "isJoinParentField">>>;
18
+ };
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useFormItemParentNameInject: ()=>useFormItemParentNameInject,
28
+ useFormItemParentNameProvide: ()=>useFormItemParentNameProvide
29
+ });
30
+ const external_vue_namespaceObject = require("vue");
31
+ const parentNameProvideSymbol = Symbol('carefrees-parent-name');
32
+ const useFormItemParentNameProvide = (props)=>{
33
+ const { name, sort } = props;
34
+ (0, external_vue_namespaceObject.provide)(parentNameProvideSymbol, (0, external_vue_namespaceObject.computed)(()=>({
35
+ name,
36
+ sort
37
+ })));
38
+ };
39
+ const useFormItemParentNameInject = (options)=>{
40
+ const { isJoinParentField = true, sort, name } = options;
41
+ const parentItem = (0, external_vue_namespaceObject.inject)(parentNameProvideSymbol, (0, external_vue_namespaceObject.computed)(()=>({
42
+ name: (0, external_vue_namespaceObject.ref)(''),
43
+ sort: (0, external_vue_namespaceObject.ref)('')
44
+ })));
45
+ const newName = (0, external_vue_namespaceObject.computed)(()=>{
46
+ const _name = (0, external_vue_namespaceObject.toValue)(parentItem.value.name);
47
+ if (_name && isJoinParentField) {
48
+ if (/^\./.test(`${name}`)) ;
49
+ else if (name) return [
50
+ _name,
51
+ '.',
52
+ name
53
+ ].filter(Boolean).join('');
54
+ return [
55
+ _name,
56
+ name
57
+ ].filter(Boolean).join('');
58
+ }
59
+ return [
60
+ name
61
+ ].filter(Boolean).join('');
62
+ });
63
+ const newSort = (0, external_vue_namespaceObject.computed)(()=>{
64
+ const _sort = (0, external_vue_namespaceObject.toValue)(parentItem.value.sort);
65
+ return [
66
+ isJoinParentField ? _sort : '',
67
+ sort
68
+ ].filter(Boolean).join('-');
69
+ });
70
+ return {
71
+ newName,
72
+ newSort,
73
+ parentItem
74
+ };
75
+ };
76
+ exports.useFormItemParentNameInject = __webpack_exports__.useFormItemParentNameInject;
77
+ exports.useFormItemParentNameProvide = __webpack_exports__.useFormItemParentNameProvide;
78
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
79
+ "useFormItemParentNameInject",
80
+ "useFormItemParentNameProvide"
81
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
82
+ Object.defineProperty(exports, '__esModule', {
83
+ value: true
84
+ });
@@ -0,0 +1,8 @@
1
+ import { FormListInstanceBase } from '../instance/formListInstance';
2
+ import { Ref } from 'vue';
3
+ /**表单List实例 Context */
4
+ export declare function useFormListProvide(formList: Ref<FormListInstanceBase> | FormListInstanceBase): void;
5
+ /**子项中获取表单List实例*/
6
+ export declare function useFormListInject(): Ref<FormListInstanceBase, FormListInstanceBase>;
7
+ /**初始化 表单List实例*/
8
+ export declare function useFormList(formList?: Ref<FormListInstanceBase> | FormListInstanceBase): Ref<FormListInstanceBase>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useFormList: ()=>useFormList,
28
+ useFormListInject: ()=>useFormListInject,
29
+ useFormListProvide: ()=>useFormListProvide
30
+ });
31
+ const formListInstance_js_namespaceObject = require("../instance/formListInstance.js");
32
+ const external_vue_namespaceObject = require("vue");
33
+ const formListProvideSymbol = Symbol('carefrees-form-list');
34
+ function useFormListProvide(formList) {
35
+ const newFormList = useFormList(formList);
36
+ (0, external_vue_namespaceObject.provide)(formListProvideSymbol, newFormList);
37
+ }
38
+ function useFormListInject() {
39
+ const formList = (0, external_vue_namespaceObject.inject)(formListProvideSymbol, (0, external_vue_namespaceObject.ref)(new formListInstance_js_namespaceObject.FormListInstanceBase()));
40
+ return formList;
41
+ }
42
+ function useFormList(formList) {
43
+ const refForm = (0, external_vue_namespaceObject.ref)();
44
+ if (!refForm.value) {
45
+ const value = (0, external_vue_namespaceObject.toValue)(formList);
46
+ if (value) refForm.value = value;
47
+ else refForm.value = new formListInstance_js_namespaceObject.FormListInstanceBase();
48
+ }
49
+ return refForm;
50
+ }
51
+ exports.useFormList = __webpack_exports__.useFormList;
52
+ exports.useFormListInject = __webpack_exports__.useFormListInject;
53
+ exports.useFormListProvide = __webpack_exports__.useFormListProvide;
54
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
55
+ "useFormList",
56
+ "useFormListInject",
57
+ "useFormListProvide"
58
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
59
+ Object.defineProperty(exports, '__esModule', {
60
+ value: true
61
+ });
@@ -0,0 +1,2 @@
1
+ import { Ref } from 'vue';
2
+ export declare const useHtmlFor: (suffix: Ref<string>) => import("vue").ComputedRef<string>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useHtmlFor: ()=>useHtmlFor
28
+ });
29
+ const external_vue_namespaceObject = require("vue");
30
+ let localId = 0;
31
+ const useHtmlFor = (suffix)=>{
32
+ const count = (0, external_vue_namespaceObject.ref)(localId++);
33
+ return (0, external_vue_namespaceObject.computed)(()=>`carefree-vue-form-item_${count.value.toString(32)}_${suffix.value}`);
34
+ };
35
+ exports.useHtmlFor = __webpack_exports__.useHtmlFor;
36
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
37
+ "useHtmlFor"
38
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
39
+ Object.defineProperty(exports, '__esModule', {
40
+ value: true
41
+ });
@@ -0,0 +1,8 @@
1
+ import { MultipleInstanceBase } from '../instance/multipleInstance';
2
+ import { Ref } from 'vue';
3
+ /**多表单收集 Context */
4
+ export declare function useMultipleFormProvide(multipleForm?: Ref<MultipleInstanceBase> | MultipleInstanceBase): void;
5
+ /**子项中获取 多表单收集 实例*/
6
+ export declare function useMultipleFormInject(): Ref<MultipleInstanceBase, MultipleInstanceBase>;
7
+ /**初始化 多表单收集 实例*/
8
+ export declare function useMultipleForm(multipleForm?: Ref<MultipleInstanceBase> | MultipleInstanceBase): Ref<MultipleInstanceBase | undefined, MultipleInstanceBase | undefined>;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useMultipleFormProvide: ()=>useMultipleFormProvide,
28
+ useMultipleForm: ()=>useMultipleForm,
29
+ useMultipleFormInject: ()=>useMultipleFormInject
30
+ });
31
+ const multipleInstance_js_namespaceObject = require("../instance/multipleInstance.js");
32
+ const external_vue_namespaceObject = require("vue");
33
+ const multipleFormProvideSymbol = Symbol('carefrees-multiple-form');
34
+ function useMultipleFormProvide(multipleForm) {
35
+ const newMultipleForm = useMultipleForm(multipleForm);
36
+ (0, external_vue_namespaceObject.provide)(multipleFormProvideSymbol, newMultipleForm);
37
+ }
38
+ function useMultipleFormInject() {
39
+ const multipleForm = (0, external_vue_namespaceObject.inject)(multipleFormProvideSymbol, (0, external_vue_namespaceObject.ref)(new multipleInstance_js_namespaceObject.MultipleInstanceBase()));
40
+ return multipleForm;
41
+ }
42
+ function useMultipleForm(multipleForm) {
43
+ const refForm = (0, external_vue_namespaceObject.ref)();
44
+ if (!refForm.value) {
45
+ const value = (0, external_vue_namespaceObject.toValue)(multipleForm);
46
+ if (value) refForm.value = value;
47
+ else refForm.value = new multipleInstance_js_namespaceObject.MultipleInstanceBase();
48
+ }
49
+ return refForm;
50
+ }
51
+ exports.useMultipleForm = __webpack_exports__.useMultipleForm;
52
+ exports.useMultipleFormInject = __webpack_exports__.useMultipleFormInject;
53
+ exports.useMultipleFormProvide = __webpack_exports__.useMultipleFormProvide;
54
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
55
+ "useMultipleForm",
56
+ "useMultipleFormInject",
57
+ "useMultipleFormProvide"
58
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
59
+ Object.defineProperty(exports, '__esModule', {
60
+ value: true
61
+ });
@@ -0,0 +1,4 @@
1
+ import { RuleInstanceBase } from '../instance/ruleIntsnace';
2
+ import { Ref } from 'vue';
3
+ /** 初始化 规则实例*/
4
+ export declare function useRules(rules?: Ref<RuleInstanceBase> | RuleInstanceBase): Ref<RuleInstanceBase>;
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ useRules: ()=>useRules
28
+ });
29
+ const ruleIntsnace_js_namespaceObject = require("../instance/ruleIntsnace.js");
30
+ const external_vue_namespaceObject = require("vue");
31
+ function useRules(rules) {
32
+ const refRules = (0, external_vue_namespaceObject.ref)();
33
+ if (!refRules.value) {
34
+ const value = (0, external_vue_namespaceObject.toValue)(rules);
35
+ if (value) refRules.value = value;
36
+ else refRules.value = new ruleIntsnace_js_namespaceObject.RuleInstanceBase();
37
+ }
38
+ return refRules;
39
+ }
40
+ exports.useRules = __webpack_exports__.useRules;
41
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
42
+ "useRules"
43
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
44
+ Object.defineProperty(exports, '__esModule', {
45
+ value: true
46
+ });
package/lib/index.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export * from './interface';
2
+ export * from './hooks/index';
3
+ export * from './utils';
4
+ export * from './instance';