@stephenchenorg/astro 9.0.0 → 10.0.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.
@@ -53,10 +53,11 @@ declare class FormValidator {
53
53
  }
54
54
  //#endregion
55
55
  //#region src/form-validator/components/FormValidatorProvider.d.ts
56
- interface FormValidatorProviderExposed {
57
- formValidator: () => FormValidator;
58
- }
59
56
  declare const FormValidatorProvider: vue15.DefineComponent<vue15.ExtractPropTypes<{
57
+ formValidator: {
58
+ type: PropType<FormValidator>;
59
+ required: true;
60
+ };
60
61
  errors: {
61
62
  type: PropType<FormErrors>;
62
63
  default: () => {};
@@ -64,6 +65,10 @@ declare const FormValidatorProvider: vue15.DefineComponent<vue15.ExtractPropType
64
65
  }>, () => vue15.VNode<vue15.RendererNode, vue15.RendererElement, {
65
66
  [key: string]: any;
66
67
  }>[], {}, {}, {}, vue15.ComponentOptionsMixin, vue15.ComponentOptionsMixin, {}, string, vue15.PublicProps, Readonly<vue15.ExtractPropTypes<{
68
+ formValidator: {
69
+ type: PropType<FormValidator>;
70
+ required: true;
71
+ };
67
72
  errors: {
68
73
  type: PropType<FormErrors>;
69
74
  default: () => {};
@@ -77,7 +82,10 @@ declare const FormValidatorProvider: vue15.DefineComponent<vue15.ExtractPropType
77
82
  };
78
83
  }>, {}, {}, string, vue15.ComponentProvideOptions, true, {}, any>;
79
84
  //#endregion
85
+ //#region src/form-validator/createFormValidator.d.ts
86
+ declare function createFormValidator(): FormValidator;
87
+ //#endregion
80
88
  //#region src/form-validator/useFormValidator.d.ts
81
89
  declare function useFormValidator(): FormValidator;
82
90
  //#endregion
83
- export { FormErrors, FormField, FormRule, FormValidator, FormValidatorProvider, FormValidatorProviderExposed, useFormValidator };
91
+ export { FormErrors, FormField, FormRule, FormValidator, FormValidatorProvider, createFormValidator, useFormValidator };
@@ -44,6 +44,44 @@ const FormField = defineComponent({
44
44
  });
45
45
  var FormField_default = FormField;
46
46
 
47
+ //#endregion
48
+ //#region src/form-validator/components/FormValidatorProvider.ts
49
+ const FormValidatorProvider = defineComponent({
50
+ name: "FormValidatorProvider",
51
+ props: {
52
+ formValidator: {
53
+ type: Object,
54
+ required: true
55
+ },
56
+ errors: {
57
+ type: Object,
58
+ default: () => ({})
59
+ }
60
+ },
61
+ slots: Object,
62
+ setup(props, { slots }) {
63
+ const formValidator = props.formValidator;
64
+ const errors = shallowRef({});
65
+ const hasErrors = ref(false);
66
+ provide(formValidatorInjectionKey, formValidator);
67
+ formValidator.onErrorsUpdated((_errors) => {
68
+ hasErrors.value = Object.keys(_errors).length > 0;
69
+ errors.value = structuredClone(_errors);
70
+ });
71
+ onMounted(() => {
72
+ formValidator.setErrors(props.errors);
73
+ });
74
+ watch(() => props.errors, () => {
75
+ formValidator.setErrors(props.errors);
76
+ }, { deep: true });
77
+ return () => slots.default?.({
78
+ errors: errors.value,
79
+ hasErrors: hasErrors.value
80
+ });
81
+ }
82
+ });
83
+ var FormValidatorProvider_default = FormValidatorProvider;
84
+
47
85
  //#endregion
48
86
  //#region src/form-validator/FormValidator.ts
49
87
  var FormValidator = class {
@@ -93,37 +131,10 @@ var FormValidator = class {
93
131
  };
94
132
 
95
133
  //#endregion
96
- //#region src/form-validator/components/FormValidatorProvider.ts
97
- const FormValidatorProvider = defineComponent({
98
- name: "FormValidatorProvider",
99
- props: { errors: {
100
- type: Object,
101
- default: () => ({})
102
- } },
103
- slots: Object,
104
- setup(props, { slots, expose }) {
105
- const formValidator = new FormValidator();
106
- const errors = shallowRef({});
107
- const hasErrors = ref(false);
108
- provide(formValidatorInjectionKey, formValidator);
109
- formValidator.onErrorsUpdated((_errors) => {
110
- hasErrors.value = Object.keys(_errors).length > 0;
111
- errors.value = structuredClone(_errors);
112
- });
113
- onMounted(() => {
114
- formValidator.setErrors(props.errors);
115
- });
116
- watch(() => props.errors, () => {
117
- formValidator.setErrors(props.errors);
118
- }, { deep: true });
119
- expose({ formValidator: () => formValidator });
120
- return () => slots.default?.({
121
- errors: errors.value,
122
- hasErrors: hasErrors.value
123
- });
124
- }
125
- });
126
- var FormValidatorProvider_default = FormValidatorProvider;
134
+ //#region src/form-validator/createFormValidator.ts
135
+ function createFormValidator() {
136
+ return new FormValidator();
137
+ }
127
138
 
128
139
  //#endregion
129
- export { FormField_default as FormField, FormValidator, FormValidatorProvider_default as FormValidatorProvider, useFormValidator };
140
+ export { FormField_default as FormField, FormValidator, FormValidatorProvider_default as FormValidatorProvider, createFormValidator, useFormValidator };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@stephenchenorg/astro",
3
3
  "type": "module",
4
- "version": "9.0.0",
4
+ "version": "10.0.0",
5
5
  "description": "Stephenchenorg Astro 前端通用套件",
6
6
  "license": "MIT",
7
7
  "homepage": "https://stephenchenorg-astro.netlify.app",
@@ -48,7 +48,7 @@
48
48
  "types": "./dist/query-params/index.d.ts",
49
49
  "import": "./dist/query-params/index.js"
50
50
  },
51
- "./query-params/components/ProvideUrlConfig.astro": "./dist/query-params/components/ProvideUrlConfig.astro"
51
+ "./query-params/components/*": "./dist/query-params/components/*"
52
52
  },
53
53
  "typesVersions": {
54
54
  "*": {