eco-vue-js 0.9.22 → 0.9.23

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 (56) hide show
  1. package/dist/components/FieldWrapper/WFieldWrapper.vue.d.ts.map +1 -1
  2. package/dist/components/FieldWrapper/WFieldWrapper.vue.js +5 -4
  3. package/dist/components/FieldWrapper/components/FilterButton.vue.d.ts +4 -2
  4. package/dist/components/FieldWrapper/components/FilterButton.vue.d.ts.map +1 -1
  5. package/dist/components/FieldWrapper/components/FilterButton.vue.js +9 -3
  6. package/dist/components/Form/WForm.vue.d.ts +13 -8
  7. package/dist/components/Form/WForm.vue.d.ts.map +1 -1
  8. package/dist/components/Form/WForm.vue.js +86 -32
  9. package/dist/components/Form/WFormValidator.vue.d.ts +3 -2
  10. package/dist/components/Form/WFormValidator.vue.d.ts.map +1 -1
  11. package/dist/components/Form/WFormValidator.vue.js +4 -0
  12. package/dist/components/Form/models/injection.d.ts +2 -1
  13. package/dist/components/Form/models/injection.d.ts.map +1 -1
  14. package/dist/components/Form/models/utils.d.ts +3 -0
  15. package/dist/components/Form/models/utils.d.ts.map +1 -1
  16. package/dist/components/Form/models/utils.js +1 -6
  17. package/dist/components/Form/use/useFormValueMap.d.ts +7 -0
  18. package/dist/components/Form/use/useFormValueMap.d.ts.map +1 -0
  19. package/dist/components/Form/use/useFormValueMap.js +36 -0
  20. package/dist/components/List/WListCard.vue.d.ts +1 -1
  21. package/dist/components/Modal/WModalStepper.vue.d.ts +761 -471
  22. package/dist/components/Modal/WModalStepper.vue.d.ts.map +1 -1
  23. package/dist/components/Tabs/WTabs.vue.d.ts +567 -45
  24. package/dist/components/Tabs/WTabs.vue.d.ts.map +1 -1
  25. package/dist/components/Tabs/WTabs.vue.js +147 -129
  26. package/dist/components/Tabs/WTabsColumns.vue.d.ts +4 -2
  27. package/dist/components/Tabs/WTabsColumns.vue.d.ts.map +1 -1
  28. package/dist/components/Tabs/WTabsItem.vue.d.ts +2 -18
  29. package/dist/components/Tabs/WTabsItem.vue.d.ts.map +1 -1
  30. package/dist/components/Tabs/components/TabItem.vue.d.ts +51 -43
  31. package/dist/components/Tabs/components/TabItem.vue.d.ts.map +1 -1
  32. package/dist/components/Tabs/components/TabItem.vue.js +2 -15
  33. package/dist/components/Tabs/types.d.ts +10 -0
  34. package/dist/components/Tabs/types.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/dist/components/Form/use/useFormErrorMessageMap.d.ts +0 -8
  37. package/dist/components/Form/use/useFormErrorMessageMap.d.ts.map +0 -1
  38. package/dist/components/Form/use/useFormErrorMessageMap.js +0 -32
  39. package/dist/components/Form/use/useFormHasChangesMap.d.ts +0 -6
  40. package/dist/components/Form/use/useFormHasChangesMap.d.ts.map +0 -1
  41. package/dist/components/Form/use/useFormHasChangesMap.js +0 -27
  42. package/dist/components/Form/use/useFormHasValueMap.d.ts +0 -6
  43. package/dist/components/Form/use/useFormHasValueMap.d.ts.map +0 -1
  44. package/dist/components/Form/use/useFormHasValueMap.js +0 -31
  45. package/dist/components/Form/use/useFormInitModelMap.d.ts +0 -6
  46. package/dist/components/Form/use/useFormInitModelMap.d.ts.map +0 -1
  47. package/dist/components/Form/use/useFormInitModelMap.js +0 -31
  48. package/dist/components/Form/use/useFormInvalidateMap.d.ts +0 -8
  49. package/dist/components/Form/use/useFormInvalidateMap.d.ts.map +0 -1
  50. package/dist/components/Form/use/useFormInvalidateMap.js +0 -32
  51. package/dist/components/Form/use/useFormTitleMap.d.ts +0 -6
  52. package/dist/components/Form/use/useFormTitleMap.d.ts.map +0 -1
  53. package/dist/components/Form/use/useFormTitleMap.js +0 -29
  54. package/dist/components/Form/use/useFormValidateMap.d.ts +0 -9
  55. package/dist/components/Form/use/useFormValidateMap.d.ts.map +0 -1
  56. package/dist/components/Form/use/useFormValidateMap.js +0 -39
@@ -1,5 +1,6 @@
1
1
  import { VNode } from 'vue';
2
2
  export interface TabsProps {
3
+ name?: string;
3
4
  customSlots?: VNode[];
4
5
  lessTransitions?: boolean;
5
6
  initTab?: string;
@@ -17,4 +18,13 @@ export type TabsItemScopedProps = {
17
18
  hasChanges: boolean;
18
19
  hasValue: boolean;
19
20
  };
21
+ export type TabsItemProps = {
22
+ title: string;
23
+ name: string;
24
+ icon?: SVGComponent;
25
+ disabled?: boolean;
26
+ removable?: boolean;
27
+ divided?: boolean;
28
+ init?: boolean;
29
+ };
20
30
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,KAAK,CAAA;AAE9B,MAAM,WAAW,SAAS;IACxB,WAAW,CAAC,EAAE,KAAK,EAAE,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/components/Tabs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAC,MAAM,KAAK,CAAA;AAE9B,MAAM,WAAW,SAAS;IACxB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,KAAK,EAAE,CAAA;IACrB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,YAAY,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAA"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "type": "git",
5
5
  "url": "https://github.com/rsmple/eco-vue-js.git"
6
6
  },
7
- "version": "0.9.22",
7
+ "version": "0.9.23",
8
8
  "scripts": {
9
9
  "build": "run-p type-check \"build-only {@}\" --",
10
10
  "preview": "vite preview",
@@ -1,8 +0,0 @@
1
- import { Ref } from 'vue';
2
- export declare const useFormErrorMessageMap: (name: Ref<string | undefined>, titleGetter: (key: string) => string) => {
3
- errorMessageMapUnlistener: (key: string) => void;
4
- isValid: import('vue').ComputedRef<boolean>;
5
- errorMessage: import('vue').ComputedRef<string>;
6
- errorMessageMap: Ref<Record<string, string>, Record<string, string>>;
7
- };
8
- //# sourceMappingURL=useFormErrorMessageMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFormErrorMessageMap.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/use/useFormErrorMessageMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAwC,MAAM,KAAK,CAAA;AAKnE,eAAO,MAAM,sBAAsB,SAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM;qCAQhE,MAAM;;;;CAwB/C,CAAA"}
@@ -1,32 +0,0 @@
1
- import { ref, computed, provide, inject, watch } from 'vue';
2
- import { wFormErrorMessageUpdater } from '../models/injection.js';
3
- import { compileMessage, removeKey } from '../models/utils.js';
4
-
5
- const useFormErrorMessageMap = (name, titleGetter) => {
6
- const errorMessageMap = ref({});
7
- const isValid = computed(() => !Object.values(errorMessageMap.value).some((item) => item));
8
- const errorMessageMapUpdater = (key, value) => {
9
- errorMessageMap.value = !value ? removeKey(errorMessageMap.value, key) : { ...errorMessageMap.value, [key]: value };
10
- };
11
- const errorMessageMapUnlistener = (key) => {
12
- errorMessageMap.value = removeKey(errorMessageMap.value, key);
13
- };
14
- const errorMessage = computed(() => {
15
- return Object.keys(errorMessageMap.value).map((key) => compileMessage(titleGetter(key), errorMessageMap.value[key])).filter((item) => item).join("\n");
16
- });
17
- provide(wFormErrorMessageUpdater, errorMessageMapUpdater);
18
- const errorMessageUpdaterInjected = inject(wFormErrorMessageUpdater, void 0);
19
- watch(errorMessage, (value) => {
20
- if (name.value) {
21
- errorMessageUpdaterInjected?.(name.value, value);
22
- }
23
- });
24
- return {
25
- errorMessageMapUnlistener,
26
- isValid,
27
- errorMessage,
28
- errorMessageMap
29
- };
30
- };
31
-
32
- export { useFormErrorMessageMap };
@@ -1,6 +0,0 @@
1
- import { Ref } from 'vue';
2
- export declare const useFormHasChangesMap: (name: Ref<string | undefined>) => {
3
- hasChangesMapUnlistener: (key: string) => void;
4
- hasChanges: import('vue').ComputedRef<boolean>;
5
- };
6
- //# sourceMappingURL=useFormHasChangesMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFormHasChangesMap.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/use/useFormHasChangesMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAwC,MAAM,KAAK,CAAA;AAKnE,eAAO,MAAM,oBAAoB,SAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;mCAQ1B,MAAM;;CAkB7C,CAAA"}
@@ -1,27 +0,0 @@
1
- import { ref, computed, provide, inject, watch } from 'vue';
2
- import { wFormHasChangesUpdater } from '../models/injection.js';
3
- import { removeKey } from '../models/utils.js';
4
-
5
- const useFormHasChangesMap = (name) => {
6
- const hasChangesMap = ref({});
7
- const hasChanges = computed(() => Object.keys(hasChangesMap.value).length !== 0);
8
- const hasChangesMapUpdater = (key, value) => {
9
- hasChangesMap.value = !value ? removeKey(hasChangesMap.value, key) : { ...hasChangesMap.value, [key]: value };
10
- };
11
- const hasChangesMapUnlistener = (key) => {
12
- hasChangesMap.value = removeKey(hasChangesMap.value, key);
13
- };
14
- provide(wFormHasChangesUpdater, hasChangesMapUpdater);
15
- const hasChangesUpdaterInjected = inject(wFormHasChangesUpdater, void 0);
16
- watch(hasChanges, (value) => {
17
- if (name.value) {
18
- hasChangesUpdaterInjected?.(name.value, value);
19
- }
20
- });
21
- return {
22
- hasChangesMapUnlistener,
23
- hasChanges
24
- };
25
- };
26
-
27
- export { useFormHasChangesMap };
@@ -1,6 +0,0 @@
1
- import { Ref } from 'vue';
2
- export declare const useFormHasValueMap: (name: Ref<string | undefined>) => {
3
- hasValueMapUnlistener: (key: string) => void;
4
- hasValue: import('vue').ComputedRef<boolean | null>;
5
- };
6
- //# sourceMappingURL=useFormHasValueMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFormHasValueMap.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/use/useFormHasValueMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAwC,MAAM,KAAK,CAAA;AAInE,eAAO,MAAM,kBAAkB,SAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;iCAe1B,MAAM;;CAkB3C,CAAA"}
@@ -1,31 +0,0 @@
1
- import { ref, computed, provide, inject, watch } from 'vue';
2
- import { wFormHasValueUpdater } from '../models/injection.js';
3
-
4
- const useFormHasValueMap = (name) => {
5
- const hasValueMap = ref({});
6
- const hasValue = computed(() => {
7
- const items = Object.values(hasValueMap.value);
8
- if (items.length === 0) return null;
9
- return items.length !== 0 && items.every((value) => value);
10
- });
11
- const hasValueMapUpdater = (key, value) => {
12
- if (value === null) hasValueMapUnlistener(key);
13
- else hasValueMap.value[key] = value;
14
- };
15
- const hasValueMapUnlistener = (key) => {
16
- if (key in hasValueMap.value) delete hasValueMap.value[key];
17
- };
18
- provide(wFormHasValueUpdater, hasValueMapUpdater);
19
- const hasValueUpdaterInjected = inject(wFormHasValueUpdater, void 0);
20
- watch(hasValue, (value) => {
21
- if (name.value) {
22
- hasValueUpdaterInjected?.(name.value, value);
23
- }
24
- }, { immediate: true });
25
- return {
26
- hasValueMapUnlistener,
27
- hasValue
28
- };
29
- };
30
-
31
- export { useFormHasValueMap };
@@ -1,6 +0,0 @@
1
- import { Ref } from 'vue';
2
- export declare const useFormInitModelMap: (name: Ref<string | undefined>) => {
3
- initModelMapUnlistener: (key: string) => void;
4
- initModel: () => void;
5
- };
6
- //# sourceMappingURL=useFormInitModelMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFormInitModelMap.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/use/useFormInitModelMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAsC,MAAM,KAAK,CAAA;AAKjE,eAAO,MAAM,mBAAmB,SAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;kCAO1B,MAAM;qBAIrB,IAAI;CAoB3B,CAAA"}
@@ -1,31 +0,0 @@
1
- import { ref, provide, inject, onBeforeMount } from 'vue';
2
- import { wFormInitModelUpdater } from '../models/injection.js';
3
- import { removeKey } from '../models/utils.js';
4
-
5
- const useFormInitModelMap = (name) => {
6
- const initModelMap = ref({});
7
- const initModelMapUpdater = (key, value) => {
8
- initModelMap.value = { ...initModelMap.value, [key]: value };
9
- };
10
- const initModelMapUnlistener = (key) => {
11
- initModelMap.value = removeKey(initModelMap.value, key);
12
- };
13
- const initModel = () => {
14
- Object.keys(initModelMap.value).forEach((key) => {
15
- initModelMap.value[key]?.();
16
- });
17
- };
18
- provide(wFormInitModelUpdater, initModelMapUpdater);
19
- const initModelInjected = inject(wFormInitModelUpdater, void 0);
20
- onBeforeMount(() => {
21
- if (name.value) {
22
- initModelInjected?.(name.value, initModel);
23
- }
24
- });
25
- return {
26
- initModelMapUnlistener,
27
- initModel
28
- };
29
- };
30
-
31
- export { useFormInitModelMap };
@@ -1,8 +0,0 @@
1
- import { Ref } from 'vue';
2
- type InvalidatePayload = Record<string, string | string[] | undefined>;
3
- export declare const useFormInvalidateMap: (name: Ref<string | undefined>) => {
4
- invalidateMapUnlistener: (key: string) => void;
5
- invalidate: (payload: InvalidatePayload) => void;
6
- };
7
- export {};
8
- //# sourceMappingURL=useFormInvalidateMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFormInvalidateMap.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/use/useFormInvalidateMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAsC,MAAM,KAAK,CAAA;AAKjE,KAAK,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;AAEtE,eAAO,MAAM,oBAAoB,SAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;mCAO1B,MAAM;0BAIf,iBAAiB,KAAG,IAAI;CAsBtD,CAAA"}
@@ -1,32 +0,0 @@
1
- import { ref, provide, inject, onBeforeMount } from 'vue';
2
- import { wFormInvalidateUpdater } from '../models/injection.js';
3
- import { removeKey } from '../models/utils.js';
4
-
5
- const useFormInvalidateMap = (name) => {
6
- const invalidateMap = ref({});
7
- const invalidateMapUpdater = (key, value) => {
8
- invalidateMap.value = { ...invalidateMap.value, [key]: value };
9
- };
10
- const invalidateMapUnlistener = (key) => {
11
- invalidateMap.value = removeKey(invalidateMap.value, key);
12
- };
13
- const invalidate = (payload) => {
14
- const value = name.value ? payload[name.value] ?? payload : payload;
15
- Object.keys(invalidateMap.value).forEach((key) => {
16
- invalidateMap.value[key]?.(value);
17
- });
18
- };
19
- provide(wFormInvalidateUpdater, invalidateMapUpdater);
20
- const invalidateUpdaterInjected = inject(wFormInvalidateUpdater, void 0);
21
- onBeforeMount(() => {
22
- if (name.value) {
23
- invalidateUpdaterInjected?.(name.value, invalidate);
24
- }
25
- });
26
- return {
27
- invalidateMapUnlistener,
28
- invalidate
29
- };
30
- };
31
-
32
- export { useFormInvalidateMap };
@@ -1,6 +0,0 @@
1
- import { Ref } from 'vue';
2
- export declare const useFormTitleMap: (name: Ref<string | undefined>, title: Ref<string | undefined>) => {
3
- titleGetter: (key: string) => string;
4
- titleMapUnlistener: (key: string) => void;
5
- };
6
- //# sourceMappingURL=useFormTitleMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFormTitleMap.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/use/useFormTitleMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAA8B,MAAM,KAAK,CAAA;AAKzD,eAAO,MAAM,eAAe,SAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC;uBAWjE,MAAM;8BAJC,MAAM;CAsBxC,CAAA"}
@@ -1,29 +0,0 @@
1
- import { ref, provide, inject, watch } from 'vue';
2
- import { wFormTitleUpdater } from '../models/injection.js';
3
- import { removeKey } from '../models/utils.js';
4
-
5
- const useFormTitleMap = (name, title) => {
6
- const titleMap = ref({});
7
- const titleMapUpdater = (key, value) => {
8
- titleMap.value = !value ? removeKey(titleMap.value, key) : { ...titleMap.value, [key]: value };
9
- };
10
- const titleMapUnlistener = (key) => {
11
- titleMap.value = removeKey(titleMap.value, key);
12
- };
13
- const titleGetter = (key) => {
14
- return titleMap.value[key];
15
- };
16
- provide(wFormTitleUpdater, titleMapUpdater);
17
- const titleUpdaterInjected = inject(wFormTitleUpdater, void 0);
18
- watch(title, (value) => {
19
- if (name.value) {
20
- titleUpdaterInjected?.(name.value, value);
21
- }
22
- }, { immediate: true });
23
- return {
24
- titleGetter,
25
- titleMapUnlistener
26
- };
27
- };
28
-
29
- export { useFormTitleMap };
@@ -1,9 +0,0 @@
1
- import { Ref } from 'vue';
2
- export type ValidatePath = {
3
- [Key in string]: boolean | ValidatePath;
4
- };
5
- export declare const useFormValidateMap: (name: Ref<string | undefined>, titleGetter: (key: string) => string, emitIsValid: (value: boolean) => void) => {
6
- validateMapUnlistener: (key: string) => void;
7
- validate: (silent?: boolean, path?: ValidatePath) => string | undefined;
8
- };
9
- //# sourceMappingURL=useFormValidateMap.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useFormValidateMap.d.ts","sourceRoot":"","sources":["../../../../src/components/Form/use/useFormValidateMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,GAAG,EAAsC,MAAM,KAAK,CAAA;AAKjE,MAAM,MAAM,YAAY,GAAG;KACxB,GAAG,IAAI,MAAM,GAAG,OAAO,GAAG,YAAY;CACxC,CAAA;AAED,eAAO,MAAM,kBAAkB,SAAU,GAAG,CAAC,MAAM,GAAG,SAAS,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,eAAe,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;iCAOvG,MAAM;wBAIf,OAAO,SAAS,YAAY,KAAG,MAAM,GAAG,SAAS;CAoC7E,CAAA"}
@@ -1,39 +0,0 @@
1
- import { ref, provide, inject, onBeforeMount } from 'vue';
2
- import { wFormValidateUpdater } from '../models/injection.js';
3
- import { removeKey, compileMessage } from '../models/utils.js';
4
-
5
- const useFormValidateMap = (name, titleGetter, emitIsValid) => {
6
- const validateMap = ref({});
7
- const validateMapUpdater = (key, value) => {
8
- validateMap.value = { ...validateMap.value, [key]: value };
9
- };
10
- const validateMapUnlistener = (key) => {
11
- validateMap.value = removeKey(validateMap.value, key);
12
- };
13
- const validate = (silent, path) => {
14
- const messages = Object.keys(validateMap.value).map((key) => {
15
- return compileMessage(
16
- titleGetter(key),
17
- validateMap.value[key](
18
- silent,
19
- path?.[key] instanceof Object ? path[key] : path?.[key] === true ? void 0 : path
20
- )
21
- );
22
- }).filter((item) => item);
23
- if (!silent) emitIsValid(messages.length === 0);
24
- return messages.length === 0 ? void 0 : messages.join("\n");
25
- };
26
- provide(wFormValidateUpdater, validateMapUpdater);
27
- const validateUpdaterInjected = inject(wFormValidateUpdater, void 0);
28
- onBeforeMount(() => {
29
- if (name.value) {
30
- validateUpdaterInjected?.(name.value, validate);
31
- }
32
- });
33
- return {
34
- validateMapUnlistener,
35
- validate
36
- };
37
- };
38
-
39
- export { useFormValidateMap };