@juantroconisf/lib 3.3.0 → 3.5.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,5 @@
1
- import { SelectProps } from '@heroui/react';
1
+ import { SelectProps, AutocompleteProps } from '@heroui/react';
2
+ import { SingleSelection } from '@react-types/shared/src/selection';
2
3
 
3
4
  type StateType = Record<string, any>;
4
5
  type GetNestedValueByKey<O extends StateType> = (obj: O, nestedKey: string) => O[keyof O];
@@ -86,12 +87,17 @@ interface SelectRegisterProps<O extends StateType> extends ComponentInputProps<O
86
87
  onSelectionChange: SelectProps["onSelectionChange"];
87
88
  selectedKeys: Iterable<string | number>;
88
89
  }
90
+ interface AutocompleteRegisterProps<O extends StateType> extends ComponentInputProps<O> {
91
+ onSelectionChange: AutocompleteProps["onSelectionChange"];
92
+ selectedKey: SingleSelection["selectedKey"];
93
+ }
89
94
  interface RegisterFunc<O extends StateType> {
90
95
  input: {
91
96
  <K extends keyof O = keyof O>(id: K): InputRegisterProps<O, K, O[K]>;
92
97
  <V, K extends keyof O = keyof O>(id: K): InputRegisterProps<O, K, V>;
93
98
  };
94
99
  select: (id: keyof O) => SelectRegisterProps<O>;
100
+ autocomplete: (id: keyof O) => AutocompleteRegisterProps<O>;
95
101
  }
96
102
  type PreservedKeys<O extends StateType> = keyof O;
97
103
  interface UseFormChangeResponse<O extends StateType> {
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- import { SelectProps } from '@heroui/react';
1
+ import { SelectProps, AutocompleteProps } from '@heroui/react';
2
+ import { SingleSelection } from '@react-types/shared/src/selection';
2
3
 
3
4
  type StateType = Record<string, any>;
4
5
  type GetNestedValueByKey<O extends StateType> = (obj: O, nestedKey: string) => O[keyof O];
@@ -86,12 +87,17 @@ interface SelectRegisterProps<O extends StateType> extends ComponentInputProps<O
86
87
  onSelectionChange: SelectProps["onSelectionChange"];
87
88
  selectedKeys: Iterable<string | number>;
88
89
  }
90
+ interface AutocompleteRegisterProps<O extends StateType> extends ComponentInputProps<O> {
91
+ onSelectionChange: AutocompleteProps["onSelectionChange"];
92
+ selectedKey: SingleSelection["selectedKey"];
93
+ }
89
94
  interface RegisterFunc<O extends StateType> {
90
95
  input: {
91
96
  <K extends keyof O = keyof O>(id: K): InputRegisterProps<O, K, O[K]>;
92
97
  <V, K extends keyof O = keyof O>(id: K): InputRegisterProps<O, K, V>;
93
98
  };
94
99
  select: (id: keyof O) => SelectRegisterProps<O>;
100
+ autocomplete: (id: keyof O) => AutocompleteRegisterProps<O>;
95
101
  }
96
102
  type PreservedKeys<O extends StateType> = keyof O;
97
103
  interface UseFormChangeResponse<O extends StateType> {
package/dist/index.js CHANGED
@@ -254,7 +254,12 @@ function useFormChange({
254
254
  ),
255
255
  selectedKeys: state[id] === null ? [] : isString ? [state[id]] : state[id]
256
256
  };
257
- }
257
+ },
258
+ autocomplete: (id) => ({
259
+ ...registerHandle(id),
260
+ onSelectionChange: (v) => onSelectionChange(id, v),
261
+ selectedKey: state[id]
262
+ })
258
263
  }),
259
264
  [registerHandle]
260
265
  ),
@@ -268,12 +273,12 @@ function useFormChange({
268
273
  setTouched(val);
269
274
  errors2.current = val;
270
275
  setState(
271
- preservedKeys === void 0 ? initialState : initialState.reduce(
276
+ preservedKeys === void 0 ? initialState : preservedKeys.reduce(
272
277
  (acc, key) => ({
273
278
  ...acc,
274
- [key]: preservedKeys.includes(key) ? state[key] : initialState[key]
279
+ [key]: state[key]
275
280
  }),
276
- {}
281
+ initialState
277
282
  )
278
283
  );
279
284
  },
package/dist/index.mjs CHANGED
@@ -235,7 +235,12 @@ function useFormChange({
235
235
  ),
236
236
  selectedKeys: state[id] === null ? [] : isString ? [state[id]] : state[id]
237
237
  };
238
- }
238
+ },
239
+ autocomplete: (id) => ({
240
+ ...registerHandle(id),
241
+ onSelectionChange: (v) => onSelectionChange(id, v),
242
+ selectedKey: state[id]
243
+ })
239
244
  }),
240
245
  [registerHandle]
241
246
  ),
@@ -249,12 +254,12 @@ function useFormChange({
249
254
  setTouched(val);
250
255
  errors2.current = val;
251
256
  setState(
252
- preservedKeys === void 0 ? initialState : initialState.reduce(
257
+ preservedKeys === void 0 ? initialState : preservedKeys.reduce(
253
258
  (acc, key) => ({
254
259
  ...acc,
255
- [key]: preservedKeys.includes(key) ? state[key] : initialState[key]
260
+ [key]: state[key]
256
261
  }),
257
- {}
262
+ initialState
258
263
  )
259
264
  );
260
265
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juantroconisf/lib",
3
- "version": "3.3.0",
3
+ "version": "3.5.0",
4
4
  "description": "A state and validation library for HeroUI.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",