@stephenchenorg/astro 8.5.0 → 8.6.0

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.
@@ -1,4 +1,4 @@
1
- import * as graphql2 from "graphql";
1
+ import * as graphql0 from "graphql";
2
2
 
3
3
  //#region src/company-setting/types.d.ts
4
4
  interface DataCompanySetting {
@@ -42,6 +42,6 @@ declare function createCompanySetting(companySetting: Partial<CompanySetting>):
42
42
  };
43
43
  //#endregion
44
44
  //#region src/company-setting/fragments.d.ts
45
- declare const companySettingFields: graphql2.DocumentNode;
45
+ declare const companySettingFields: graphql0.DocumentNode;
46
46
  //#endregion
47
47
  export { CompanySetting, DataCompanySetting, companySettingFields, createCompanySetting };
@@ -9,19 +9,6 @@ interface FormRule<T = any> {
9
9
  when?: (value: T, form: Record<string, any>) => boolean;
10
10
  }
11
11
  //#endregion
12
- //#region src/form-validator/FormValidator.d.ts
13
- declare class FormValidator {
14
- rules: Record<string, FormRule[]>;
15
- errors: FormErrors;
16
- errorsUpdatedCallbacks: ((errors: FormErrors) => void)[];
17
- validate(data: Record<string, any>): boolean;
18
- prependRules(field: string, rules: FormRule | FormRule[]): void;
19
- appendRules(field: string, rules: FormRule | FormRule[]): void;
20
- setErrors(errors: FormErrors): void;
21
- resetErrors(): void;
22
- onErrorsUpdated(callback: (errors: FormErrors) => void): void;
23
- }
24
- //#endregion
25
12
  //#region src/form-validator/components/FormField.d.ts
26
13
  declare const FormField: vue15.DefineComponent<vue15.ExtractPropTypes<{
27
14
  id: {
@@ -51,6 +38,20 @@ declare const FormField: vue15.DefineComponent<vue15.ExtractPropTypes<{
51
38
  };
52
39
  }>, {}, {}, string, vue15.ComponentProvideOptions, true, {}, any>;
53
40
  //#endregion
41
+ //#region src/form-validator/FormValidator.d.ts
42
+ declare class FormValidator {
43
+ rules: Record<string, FormRule[]>;
44
+ errors: FormErrors;
45
+ errorsUpdatedCallbacks: ((errors: FormErrors) => void)[];
46
+ validate(data: Record<string, any>): boolean;
47
+ prependRules(field: string, rules: FormRule | FormRule[]): void;
48
+ appendRules(field: string, rules: FormRule | FormRule[]): void;
49
+ removeRules(field: string): void;
50
+ setErrors(errors: FormErrors): void;
51
+ resetErrors(): void;
52
+ onErrorsUpdated(callback: (errors: FormErrors) => void): void;
53
+ }
54
+ //#endregion
54
55
  //#region src/form-validator/components/FormValidatorProvider.d.ts
55
56
  interface FormValidatorProviderExposed {
56
57
  formValidator: () => FormValidator;
@@ -1,4 +1,4 @@
1
- import { defineComponent, inject, onMounted, provide, ref, shallowRef, toRaw, watch } from "vue";
1
+ import { defineComponent, inject, onBeforeUnmount, onMounted, provide, ref, shallowRef, toRaw, watch } from "vue";
2
2
 
3
3
  //#region src/form-validator/injectionKey.ts
4
4
  const formValidatorInjectionKey = Symbol("");
@@ -33,6 +33,12 @@ const FormField = defineComponent({
33
33
  formValidator.onErrorsUpdated((errors) => {
34
34
  error.value = errors[props.id]?.[0] || null;
35
35
  });
36
+ onBeforeUnmount(() => {
37
+ formValidator.removeRules(props.id);
38
+ const currentErrors = { ...formValidator.errors };
39
+ delete currentErrors[props.id];
40
+ formValidator.setErrors(currentErrors);
41
+ });
36
42
  return () => slots.default?.({ error: error.value });
37
43
  }
38
44
  });
@@ -71,6 +77,9 @@ var FormValidator = class {
71
77
  if (!this.rules[field]) this.rules[field] = [];
72
78
  this.rules[field].push(...Array.isArray(rules) ? rules : [rules]);
73
79
  }
80
+ removeRules(field) {
81
+ delete this.rules[field];
82
+ }
74
83
  setErrors(errors) {
75
84
  this.errors = structuredClone(toRaw(errors));
76
85
  this.errorsUpdatedCallbacks.forEach((callback) => callback(this.errors));
@@ -1,4 +1,4 @@
1
- import * as vue0 from "vue";
1
+ import * as vue9 from "vue";
2
2
  import { MaybeRefOrGetter } from "vue";
3
3
 
4
4
  //#region src/pagination-vue-client-side/types.d.ts
@@ -16,12 +16,12 @@ declare function usePagination(options: {
16
16
  visiblePages?: MaybeRefOrGetter<number | undefined>;
17
17
  onChange?: (page: number) => void;
18
18
  }): {
19
- items: vue0.ComputedRef<number[]>;
20
- showPagination: vue0.ComputedRef<boolean>;
21
- canFirst: vue0.ComputedRef<boolean>;
22
- canPrev: vue0.ComputedRef<boolean>;
23
- canNext: vue0.ComputedRef<boolean>;
24
- canLast: vue0.ComputedRef<boolean>;
19
+ items: vue9.ComputedRef<number[]>;
20
+ showPagination: vue9.ComputedRef<boolean>;
21
+ canFirst: vue9.ComputedRef<boolean>;
22
+ canPrev: vue9.ComputedRef<boolean>;
23
+ canNext: vue9.ComputedRef<boolean>;
24
+ canLast: vue9.ComputedRef<boolean>;
25
25
  gotoFirst: () => void;
26
26
  gotoPrev: () => void;
27
27
  gotoNext: () => void;
@@ -1,4 +1,4 @@
1
- import * as vue5 from "vue";
1
+ import * as vue0 from "vue";
2
2
  import { MaybeRefOrGetter } from "vue";
3
3
 
4
4
  //#region src/pagination-vue-server-side/types.d.ts
@@ -16,16 +16,16 @@ declare function usePagination(options: {
16
16
  perPage?: MaybeRefOrGetter<number | undefined>;
17
17
  visiblePages?: MaybeRefOrGetter<number | undefined>;
18
18
  }): {
19
- items: vue5.ComputedRef<number[]>;
20
- showPagination: vue5.ComputedRef<boolean>;
21
- canFirst: vue5.ComputedRef<boolean>;
22
- canPrev: vue5.ComputedRef<boolean>;
23
- canNext: vue5.ComputedRef<boolean>;
24
- canLast: vue5.ComputedRef<boolean>;
25
- firstUrl: vue5.ComputedRef<string>;
26
- prevUrl: vue5.ComputedRef<string>;
27
- nextUrl: vue5.ComputedRef<string>;
28
- lastUrl: vue5.ComputedRef<string>;
19
+ items: vue0.ComputedRef<number[]>;
20
+ showPagination: vue0.ComputedRef<boolean>;
21
+ canFirst: vue0.ComputedRef<boolean>;
22
+ canPrev: vue0.ComputedRef<boolean>;
23
+ canNext: vue0.ComputedRef<boolean>;
24
+ canLast: vue0.ComputedRef<boolean>;
25
+ firstUrl: vue0.ComputedRef<string>;
26
+ prevUrl: vue0.ComputedRef<string>;
27
+ nextUrl: vue0.ComputedRef<string>;
28
+ lastUrl: vue0.ComputedRef<string>;
29
29
  getUrl: (page: number) => string;
30
30
  };
31
31
  //#endregion
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stephenchenorg/astro",
3
3
  "type": "module",
4
- "version": "8.5.0",
4
+ "version": "8.6.0",
5
5
  "description": "Stephenchenorg Astro 前端通用套件",
6
6
  "license": "MIT",
7
7
  "homepage": "https://stephenchenorg-astro.netlify.app",
@@ -98,21 +98,21 @@
98
98
  "awesome-graphql-client": "^2.1.0",
99
99
  "graphql": "^16.12.0",
100
100
  "graphql-tag": "^2.12.6",
101
- "nanostores": "^1.0.1",
101
+ "nanostores": "^1.1.0",
102
102
  "query-string": "^9.3.1"
103
103
  },
104
104
  "devDependencies": {
105
- "@astrojs/check": "^0.9.5",
105
+ "@astrojs/check": "^0.9.6",
106
106
  "@astrojs/vue": "^5.1.3",
107
107
  "@ycs77/eslint-config": "^6.1.0",
108
- "astro": "^5.15.9",
109
- "bumpp": "^10.3.1",
108
+ "astro": "^5.16.4",
109
+ "bumpp": "^10.3.2",
110
110
  "eslint": "^9.39.1",
111
111
  "eslint-plugin-astro": "^1.5.0",
112
112
  "eslint-plugin-astro-explicit-wrapper": "^1.0.5",
113
- "tsdown": "^0.16.5",
113
+ "tsdown": "^0.17.2",
114
114
  "typescript": "^5.9.3",
115
- "vitest": "^4.0.10",
116
- "vue": "^3.5.24"
115
+ "vitest": "^4.0.15",
116
+ "vue": "^3.5.25"
117
117
  }
118
118
  }