@juantroconisf/lib 3.0.2 → 3.1.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.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { SharedSelection, InputProps, SelectProps } from '@heroui/react';
1
+ import { SelectProps } from '@heroui/react';
2
2
 
3
3
  type StateType = Record<string, any>;
4
4
  type GetNestedValueByKey<O extends StateType> = (obj: O, nestedKey: string) => O[keyof O];
@@ -69,31 +69,34 @@ interface FormChangeState<O extends StateType> {
69
69
  };
70
70
  }
71
71
  type TouchedType<O extends StateType> = Record<keyof O, boolean>;
72
- type ValueChangeFunc<O extends StateType, V extends unknown> = (id: keyof O, value: V) => void;
72
+ type ValueChangeFunc<O extends StateType, K extends keyof O> = (id: K, value: O[K]) => void;
73
73
  type BlurFunc<O extends StateType> = (id: keyof O) => void;
74
74
  interface ComponentInputProps<O extends StateType> {
75
75
  id: keyof O;
76
- onBlur: InputProps["onBlur"];
77
- isInvalid: InputProps["isInvalid"];
78
- errorMessage: InputProps["errorMessage"];
76
+ onBlur: () => void;
77
+ isInvalid: boolean;
78
+ errorMessage: string;
79
79
  }
80
80
  type RegisterHandleFunc<O extends StateType> = (id: keyof O) => ComponentInputProps<O>;
81
- interface InputRegisterProps<O extends StateType> extends ComponentInputProps<O> {
82
- onValueChange: InputProps["onValueChange"];
83
- value: InputProps["value"];
81
+ interface InputRegisterProps<O extends StateType, K extends keyof O, V extends unknown = string> extends ComponentInputProps<O> {
82
+ onValueChange: (value: O[K]) => void;
83
+ value: V;
84
84
  }
85
85
  interface SelectRegisterProps<O extends StateType> extends ComponentInputProps<O> {
86
86
  onSelectionChange: SelectProps["onSelectionChange"];
87
87
  selectedKeys: SelectProps["selectedKeys"];
88
88
  }
89
89
  interface RegisterFunc<O extends StateType> {
90
- input: (id: keyof O) => InputRegisterProps<O>;
90
+ input: {
91
+ <K extends keyof O = keyof O>(id: K): InputRegisterProps<O, K, O[K]>;
92
+ <V, K extends keyof O = keyof O>(id: K): InputRegisterProps<O, K, V>;
93
+ };
91
94
  select: (id: keyof O) => SelectRegisterProps<O>;
92
95
  }
93
96
  interface UseFormChangeResponse<O extends StateType> {
94
97
  onBlur: BlurFunc<O>;
95
98
  onValueChange: ValueChangeFunc<O, keyof O>;
96
- onSelectionChange: ValueChangeFunc<O, SharedSelection>;
99
+ onSelectionChange: ValueChangeFunc<O, keyof O>;
97
100
  state: O;
98
101
  setState: React.Dispatch<React.SetStateAction<O>>;
99
102
  register: RegisterFunc<O>;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { SharedSelection, InputProps, SelectProps } from '@heroui/react';
1
+ import { SelectProps } from '@heroui/react';
2
2
 
3
3
  type StateType = Record<string, any>;
4
4
  type GetNestedValueByKey<O extends StateType> = (obj: O, nestedKey: string) => O[keyof O];
@@ -69,31 +69,34 @@ interface FormChangeState<O extends StateType> {
69
69
  };
70
70
  }
71
71
  type TouchedType<O extends StateType> = Record<keyof O, boolean>;
72
- type ValueChangeFunc<O extends StateType, V extends unknown> = (id: keyof O, value: V) => void;
72
+ type ValueChangeFunc<O extends StateType, K extends keyof O> = (id: K, value: O[K]) => void;
73
73
  type BlurFunc<O extends StateType> = (id: keyof O) => void;
74
74
  interface ComponentInputProps<O extends StateType> {
75
75
  id: keyof O;
76
- onBlur: InputProps["onBlur"];
77
- isInvalid: InputProps["isInvalid"];
78
- errorMessage: InputProps["errorMessage"];
76
+ onBlur: () => void;
77
+ isInvalid: boolean;
78
+ errorMessage: string;
79
79
  }
80
80
  type RegisterHandleFunc<O extends StateType> = (id: keyof O) => ComponentInputProps<O>;
81
- interface InputRegisterProps<O extends StateType> extends ComponentInputProps<O> {
82
- onValueChange: InputProps["onValueChange"];
83
- value: InputProps["value"];
81
+ interface InputRegisterProps<O extends StateType, K extends keyof O, V extends unknown = string> extends ComponentInputProps<O> {
82
+ onValueChange: (value: O[K]) => void;
83
+ value: V;
84
84
  }
85
85
  interface SelectRegisterProps<O extends StateType> extends ComponentInputProps<O> {
86
86
  onSelectionChange: SelectProps["onSelectionChange"];
87
87
  selectedKeys: SelectProps["selectedKeys"];
88
88
  }
89
89
  interface RegisterFunc<O extends StateType> {
90
- input: (id: keyof O) => InputRegisterProps<O>;
90
+ input: {
91
+ <K extends keyof O = keyof O>(id: K): InputRegisterProps<O, K, O[K]>;
92
+ <V, K extends keyof O = keyof O>(id: K): InputRegisterProps<O, K, V>;
93
+ };
91
94
  select: (id: keyof O) => SelectRegisterProps<O>;
92
95
  }
93
96
  interface UseFormChangeResponse<O extends StateType> {
94
97
  onBlur: BlurFunc<O>;
95
98
  onValueChange: ValueChangeFunc<O, keyof O>;
96
- onSelectionChange: ValueChangeFunc<O, SharedSelection>;
99
+ onSelectionChange: ValueChangeFunc<O, keyof O>;
97
100
  state: O;
98
101
  setState: React.Dispatch<React.SetStateAction<O>>;
99
102
  register: RegisterFunc<O>;
package/dist/index.js CHANGED
@@ -210,7 +210,6 @@ function useFormChange({
210
210
  });
211
211
  return {
212
212
  id,
213
- value,
214
213
  onBlur: () => onBlur(id),
215
214
  isInvalid: hasValidations ? !inputValidations.isValid : false,
216
215
  errorMessage: hasValidations ? inputValidations.validationProps.errorMessage : ""
@@ -237,7 +236,7 @@ function useFormChange({
237
236
  selectedKeys: state[id]
238
237
  })
239
238
  }),
240
- [registerHandle]
239
+ [state, registerHandle]
241
240
  ),
242
241
  hasInvalidValues: () => {
243
242
  setTouched(allToValue(touched, true));
@@ -250,20 +249,6 @@ function useFormChange({
250
249
  }
251
250
  };
252
251
  }
253
- var { register } = useFormChange({
254
- state: {
255
- first_name: "Juan",
256
- last_name: ""
257
- },
258
- validations: {
259
- first_name: {
260
- required: true
261
- },
262
- last_name: {
263
- required: true
264
- }
265
- }
266
- });
267
252
  // Annotate the CommonJS export names for ESM import in node:
268
253
  0 && (module.exports = {
269
254
  NextUIError,
package/dist/index.mjs CHANGED
@@ -191,7 +191,6 @@ function useFormChange({
191
191
  });
192
192
  return {
193
193
  id,
194
- value,
195
194
  onBlur: () => onBlur(id),
196
195
  isInvalid: hasValidations ? !inputValidations.isValid : false,
197
196
  errorMessage: hasValidations ? inputValidations.validationProps.errorMessage : ""
@@ -218,7 +217,7 @@ function useFormChange({
218
217
  selectedKeys: state[id]
219
218
  })
220
219
  }),
221
- [registerHandle]
220
+ [state, registerHandle]
222
221
  ),
223
222
  hasInvalidValues: () => {
224
223
  setTouched(allToValue(touched, true));
@@ -231,20 +230,6 @@ function useFormChange({
231
230
  }
232
231
  };
233
232
  }
234
- var { register } = useFormChange({
235
- state: {
236
- first_name: "Juan",
237
- last_name: ""
238
- },
239
- validations: {
240
- first_name: {
241
- required: true
242
- },
243
- last_name: {
244
- required: true
245
- }
246
- }
247
- });
248
233
  export {
249
234
  NextUIError,
250
235
  useFormChange
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juantroconisf/lib",
3
- "version": "3.0.2",
3
+ "version": "3.1.0",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",