@form-instant/react-input-mapping 1.5.0 → 1.7.3-rc.1

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,15 +1,20 @@
1
1
  import { FC } from 'react';
2
2
  import { INPUT_COMPONENTS_KEYS } from './types';
3
- type MergeKeys<T, U> = {
4
- [K in keyof T | keyof U]: K extends keyof T ? T[K] : K extends keyof U ? U[K] : never;
3
+ type InputComponentMap<Ob extends Record<string, any>> = {
4
+ [K in keyof Ob]?: FC<Ob[K]>;
5
+ } & {
6
+ [K in INPUT_COMPONENTS_KEYS]?: FC<any>;
5
7
  };
6
- export declare class InputMapping<P = object, K extends string = INPUT_COMPONENTS_KEYS> extends Map<MergeKeys<K, INPUT_COMPONENTS_KEYS>, FC<P>> {
8
+ export declare class InputMapping<Ob extends Record<string, any>> extends Map<keyof Ob | INPUT_COMPONENTS_KEYS, FC<any>> {
7
9
  private zodAdacter;
8
10
  private appendObj;
9
- constructor(obj?: Partial<Record<K | INPUT_COMPONENTS_KEYS, FC<P>>>);
10
- exists(k: string): "fallback" | MergeKeys<K, INPUT_COMPONENTS_KEYS>;
11
- get(k: MergeKeys<K, INPUT_COMPONENTS_KEYS> | string): FC<P> | undefined;
12
- set(k: MergeKeys<K, INPUT_COMPONENTS_KEYS>, v: FC<P>): this;
13
- extends(cb: (mapingp: InputMapping<P, K | INPUT_COMPONENTS_KEYS>) => Record<never, FC<P>>): InputMapping<P, INPUT_COMPONENTS_KEYS | K>;
11
+ constructor(obj?: Partial<InputComponentMap<Ob>>);
12
+ exists(k: string): INPUT_COMPONENTS_KEYS | keyof Ob;
13
+ get<Ky extends keyof Ob | INPUT_COMPONENTS_KEYS>(k: Ky): FC<any> | undefined;
14
+ set<K extends keyof Ob>(k: K, v: FC<Ob[K]>): this;
15
+ set<K extends INPUT_COMPONENTS_KEYS>(k: K, v: FC<any>): this;
16
+ extends<Ext extends Record<string, FC<any>>>(cb: (mapping: InputMapping<Ob & {
17
+ [K in keyof Ext]: any;
18
+ }>) => Ext): InputMapping<Ob & { [K in keyof Ext]: any; }>;
14
19
  }
15
20
  export {};
@@ -1,2 +1,3 @@
1
1
  import { InputMapping } from './class';
2
- export declare const InputMappingContext: import("react").Context<InputMapping<object, import("./types").INPUT_COMPONENTS_KEYS>>;
2
+ import { ObBase } from './types';
3
+ export declare function createInputMappingContext<Ob extends Record<ObBase, any>>(): import("react").Context<InputMapping<Ob> | null>;
@@ -1,11 +1,16 @@
1
+ import { FC, ReactNode } from 'react';
1
2
  import { InputMapping } from './class';
2
- import { INPUT_COMPONENTS_KEYS, ParsedField } from './types';
3
- interface createFormInstantContainerRetuen<P = object, K extends string = INPUT_COMPONENTS_KEYS> {
4
- useInputMapping: () => InputMapping<P, K>;
3
+ import { ParsedField, ObBase } from './types';
4
+ import { createInputMappingHook } from './useInputMapping';
5
+ type FCC = React.FC<{
6
+ children: ReactNode;
7
+ }>;
8
+ interface createFormInstantContainerReturn<Ob extends Record<ObBase, any>> {
9
+ useInputMapping: ReturnType<typeof createInputMappingHook<Ob>>;
5
10
  FormInstantInputsProvider: FCC;
6
11
  }
7
- export declare const createFormInstantContainer: <P = object, K extends string = INPUT_COMPONENTS_KEYS>(inputMapping: InputMapping<P, K>) => createFormInstantContainerRetuen<P, K>;
12
+ export declare const createFormInstantContainer: <Ob extends Record<ObBase, any>>(inputMapping: InputMapping<Ob>) => createFormInstantContainerReturn<Ob>;
8
13
  export declare const ElementMapping: FC<{
9
- formProps: ParsedField<any, string>;
14
+ formProps: ParsedField<unknown, string>;
10
15
  }>;
11
16
  export {};
@@ -6,7 +6,7 @@ export interface ParsedField<AdditionalRenderable, FieldTypes = string> {
6
6
  };
7
7
  type: string;
8
8
  required: boolean;
9
- default?: any;
9
+ default?: unknown;
10
10
  fieldConfig?: FieldConfig<AdditionalRenderable, FieldTypes>;
11
11
  options?: [string, string][];
12
12
  schema?: ParsedField<AdditionalRenderable, FieldTypes>[];
@@ -16,3 +16,4 @@ export type FieldConfig<AdditionalRenderable = object, FieldTypes = string> = {
16
16
  min?: number;
17
17
  max?: number;
18
18
  } & AdditionalRenderable;
19
+ export type ObBase = INPUT_COMPONENTS_KEYS & string;
@@ -1,10 +1,14 @@
1
1
  import { ParsedField } from './types';
2
- export declare const useFormInstantField: <P extends ParsedField<any, string>>({ fieldConfig, name, ...prop }: P) => {
3
- fiends: ParsedField<any, string>[];
2
+ export declare const useFormInstantField: <P extends ParsedField<unknown, string>>({ fieldConfig, name, ...prop }: P) => {
3
+ fiends: ParsedField<unknown, string>[];
4
4
  append: () => void;
5
5
  remove: (index: number) => void;
6
- setFiends: import("react").Dispatch<import("react").SetStateAction<ParsedField<any, string>[]>>;
7
- fieldConfig: any;
6
+ setFiends: import("react").Dispatch<import("react").SetStateAction<ParsedField<unknown, string>[]>>;
7
+ fieldConfig: {
8
+ fieldType?: string | undefined;
9
+ min?: number;
10
+ max?: number;
11
+ } | undefined;
8
12
  name: {
9
13
  current: string;
10
14
  history: string;
@@ -1,2 +1,14 @@
1
1
  import { InputMapping } from './class';
2
- export declare const useInputMapping: () => InputMapping<object, import("./types").INPUT_COMPONENTS_KEYS>;
2
+ export declare function createInputMappingHook<Ob extends Record<string, any>>(InputMappingContext: React.Context<InputMapping<Ob> | null>): () => {
3
+ set: (key: keyof Ob | string, value: React.FC<any>) => InputMapping<Ob>;
4
+ clear: () => void;
5
+ delete: (key: keyof Ob | string) => boolean;
6
+ forEach(callbackfn: (value: import("react").FC<any>, key: import("./types").INPUT_COMPONENTS_KEYS | keyof Ob, map: Map<import("./types").INPUT_COMPONENTS_KEYS | keyof Ob, import("react").FC<any>>) => void, thisArg?: any): void;
7
+ has(key: import("./types").INPUT_COMPONENTS_KEYS | keyof Ob): boolean;
8
+ size: number;
9
+ entries(): MapIterator<[import("./types").INPUT_COMPONENTS_KEYS | keyof Ob, import("react").FC<any>]>;
10
+ keys(): MapIterator<import("./types").INPUT_COMPONENTS_KEYS | keyof Ob>;
11
+ values(): MapIterator<import("react").FC<any>>;
12
+ [Symbol.iterator](): MapIterator<[import("./types").INPUT_COMPONENTS_KEYS | keyof Ob, import("react").FC<any>]>;
13
+ [Symbol.toStringTag]: string;
14
+ };
@@ -71,7 +71,7 @@ function _objectWithoutPropertiesLoose(r, e) {
71
71
  if (null == r) return {};
72
72
  var t = {};
73
73
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
74
- if (e.includes(n)) continue;
74
+ if (-1 !== e.indexOf(n)) continue;
75
75
  t[n] = r[n];
76
76
  }
77
77
  return t;
@@ -111,7 +111,6 @@ function _wrapNativeSuper(t) {
111
111
  }, _wrapNativeSuper(t);
112
112
  }
113
113
 
114
- // K extiende de INPUT_COMPONENTS_KEYS y puede incluir más claves personalizadas
115
114
  var InputMapping = /*#__PURE__*/function (_Map) {
116
115
  function InputMapping(obj) {
117
116
  var _this;
@@ -136,13 +135,21 @@ var InputMapping = /*#__PURE__*/function (_Map) {
136
135
  var keys = Object.keys(obj);
137
136
  for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
138
137
  var key = _keys[_i];
139
- this.set(key, obj[key]);
138
+ var value = obj[key];
139
+ if (value && key in {}) {
140
+ this.set(key, value);
141
+ } else if (value) {
142
+ this.set(key, value);
143
+ }
140
144
  }
141
145
  for (var _iterator = _createForOfIteratorHelperLoose(this.zodAdacter()), _step; !(_step = _iterator()).done;) {
142
146
  var _step$value = _step.value,
143
147
  k = _step$value[0],
144
148
  v = _step$value[1];
145
- this.set(k, this.get(v));
149
+ var existingValue = this.get(v);
150
+ if (existingValue) {
151
+ this.set(k, existingValue);
152
+ }
146
153
  }
147
154
  };
148
155
  _proto.exists = function exists(k) {
@@ -165,42 +172,40 @@ var InputMapping = /*#__PURE__*/function (_Map) {
165
172
  return InputMapping;
166
173
  }(/*#__PURE__*/_wrapNativeSuper(Map));
167
174
 
168
- var InputMappingContext = /*#__PURE__*/react.createContext(/*#__PURE__*/new InputMapping());
175
+ function createInputMappingContext() {
176
+ return react.createContext(null);
177
+ }
169
178
 
170
- var useInputMapping = function useInputMapping() {
171
- var initialState = react.useContext(InputMappingContext);
172
- var mapRef = react.useRef(initialState);
173
- var _useReducer = react.useReducer(function (x) {
174
- return x + 1;
175
- }, 0),
176
- reRender = _useReducer[1];
177
- mapRef.current.set = function () {
178
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
179
- args[_key] = arguments[_key];
180
- }
181
- InputMapping.prototype.set.apply(mapRef.current, args);
182
- reRender();
183
- return mapRef.current;
184
- };
185
- mapRef.current.clear = function () {
186
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
187
- args[_key2] = arguments[_key2];
188
- }
189
- InputMapping.prototype.clear.apply(mapRef.current, args);
190
- reRender();
191
- };
192
- mapRef.current["delete"] = function () {
193
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
194
- args[_key3] = arguments[_key3];
195
- }
196
- var res = InputMapping.prototype["delete"].apply(mapRef.current, args);
197
- reRender();
198
- return res;
179
+ function createInputMappingHook(InputMappingContext) {
180
+ return function useInputMapping() {
181
+ var initialState = react.useContext(InputMappingContext);
182
+ if (!initialState) throw new Error('InputMappingContext not found');
183
+ var mapRef = react.useRef(initialState);
184
+ var _useReducer = react.useReducer(function (x) {
185
+ return x + 1;
186
+ }, 0),
187
+ reRender = _useReducer[1];
188
+ return _extends({}, mapRef.current, {
189
+ set: function set(key, value) {
190
+ var result = mapRef.current.set(key, value);
191
+ reRender();
192
+ return result;
193
+ },
194
+ clear: function clear() {
195
+ mapRef.current.clear();
196
+ reRender();
197
+ },
198
+ "delete": function _delete(key) {
199
+ var result = mapRef.current["delete"](key);
200
+ reRender();
201
+ return result;
202
+ }
203
+ });
199
204
  };
200
- return mapRef.current;
201
- };
205
+ }
202
206
 
203
207
  var createFormInstantContainer = function createFormInstantContainer(inputMapping) {
208
+ var InputMappingContext = createInputMappingContext();
204
209
  var FormInstantInputsProvider = function FormInstantInputsProvider(props) {
205
210
  return react.createElement(InputMappingContext.Provider, {
206
211
  value: inputMapping,
@@ -209,17 +214,12 @@ var createFormInstantContainer = function createFormInstantContainer(inputMappin
209
214
  };
210
215
  return {
211
216
  FormInstantInputsProvider: FormInstantInputsProvider,
212
- useInputMapping: useInputMapping
217
+ useInputMapping: createInputMappingHook(InputMappingContext)
213
218
  };
214
219
  };
215
220
  var ElementMapping = function ElementMapping(_ref) {
216
- var _formProps$fieldConfi;
217
- var formProps = _ref.formProps;
218
- var InputMapping = useInputMapping();
219
- var type = ((_formProps$fieldConfi = formProps.fieldConfig) == null ? void 0 : _formProps$fieldConfi.type) || formProps.type;
220
- var Element = InputMapping.get(type);
221
- if (!Element) return null;
222
- return react.createElement(Element, formProps);
221
+ // Este componente no puede ser genérico, así que se mantiene igual
222
+ return null;
223
223
  };
224
224
 
225
225
  var _excluded = ["fieldConfig", "name"];
@@ -231,17 +231,17 @@ var useFormInstantField = function useFormInstantField(_ref) {
231
231
  fiends = _useState[0],
232
232
  setFiends = _useState[1];
233
233
  var append = react.useCallback(function () {
234
- if (![fieldConfig == null ? void 0 : fieldConfig.max, Number(fieldConfig == null ? void 0 : fieldConfig.maxLength)].includes(fiends.length)) setFiends(function (pre) {
234
+ if (![fieldConfig == null ? void 0 : fieldConfig.max].includes(fiends.length)) setFiends(function (pre) {
235
235
  return [].concat(pre, [pre[0]]);
236
236
  });
237
- }, [fiends, fieldConfig == null ? void 0 : fieldConfig.max, fieldConfig == null ? void 0 : fieldConfig.maxLength]);
237
+ }, [fiends, fieldConfig == null ? void 0 : fieldConfig.max]);
238
238
  var remove = react.useCallback(function (index) {
239
- if (![fieldConfig == null ? void 0 : fieldConfig.min, Number(fieldConfig == null ? void 0 : fieldConfig.minLength)].includes(fiends.length)) setFiends(function (pre) {
239
+ if (![fieldConfig == null ? void 0 : fieldConfig.min].includes(fiends.length)) setFiends(function (pre) {
240
240
  return pre.filter(function (_, i) {
241
241
  return i !== index;
242
242
  });
243
243
  });
244
- }, [fiends, fieldConfig == null ? void 0 : fieldConfig.min, fieldConfig == null ? void 0 : fieldConfig.minLength]);
244
+ }, [fiends, fieldConfig == null ? void 0 : fieldConfig.min]);
245
245
  return _extends({
246
246
  fiends: fiends,
247
247
  append: append,
@@ -254,8 +254,8 @@ var useFormInstantField = function useFormInstantField(_ref) {
254
254
 
255
255
  exports.ElementMapping = ElementMapping;
256
256
  exports.InputMapping = InputMapping;
257
- exports.InputMappingContext = InputMappingContext;
258
257
  exports.createFormInstantContainer = createFormInstantContainer;
258
+ exports.createInputMappingContext = createInputMappingContext;
259
+ exports.createInputMappingHook = createInputMappingHook;
259
260
  exports.useFormInstantField = useFormInstantField;
260
- exports.useInputMapping = useInputMapping;
261
261
  //# sourceMappingURL=react-input-mapping.cjs.development.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-input-mapping.cjs.development.js","sources":["../src/InputMapping/class.ts","../src/InputMapping/context.tsx","../src/InputMapping/useInputMapping.tsx","../src/InputMapping/provider.tsx","../src/InputMapping/useFormInstantField.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS } from './types';\n\ntype MergeKeys<T, U> = {\n [K in keyof T | keyof U]: K extends keyof T ? T[K] : K extends keyof U ? U[K] : never;\n};\n\n// K extiende de INPUT_COMPONENTS_KEYS y puede incluir más claves personalizadas\nexport class InputMapping<P = object, K extends string = INPUT_COMPONENTS_KEYS> extends Map<\n MergeKeys<K, INPUT_COMPONENTS_KEYS>,\n FC<P>\n> {\n private zodAdacter() {\n return Object.entries({\n ZodBoolean: 'checkbox',\n ZodDate: 'date',\n ZodEnum: 'select',\n ZodNativeEnum: 'select',\n ZodNumber: 'number',\n string: 'text',\n });\n }\n\n private appendObj(obj: Partial<Record<K | INPUT_COMPONENTS_KEYS, FC<P>>>) {\n const keys = Object.keys(obj) as Array<K | INPUT_COMPONENTS_KEYS>;\n\n type Ky = MergeKeys<K, INPUT_COMPONENTS_KEYS>;\n\n for (const key of keys) this.set(key as Ky, obj[key]!);\n\n for (const [k, v] of this.zodAdacter()) this.set(k as Ky, this.get(v)!);\n }\n\n constructor(obj?: Partial<Record<K | INPUT_COMPONENTS_KEYS, FC<P>>>) {\n super();\n\n if (!obj) return;\n\n this.appendObj(obj);\n }\n\n exists(k: string) {\n const isHas = super.has(k as MergeKeys<K, INPUT_COMPONENTS_KEYS>);\n\n if (!isHas) return 'fallback';\n\n return k as MergeKeys<K, INPUT_COMPONENTS_KEYS>;\n }\n\n get(k: MergeKeys<K, INPUT_COMPONENTS_KEYS> | string) {\n return super.get(k as MergeKeys<K, INPUT_COMPONENTS_KEYS>);\n }\n\n set(k: MergeKeys<K, INPUT_COMPONENTS_KEYS>, v: FC<P>) {\n if (!super.has(k)) super.set(k, v);\n\n return this;\n }\n\n extends(cb: (mapingp: InputMapping<P, K | INPUT_COMPONENTS_KEYS>) => Record<never, FC<P>>) {\n const obj = Object.fromEntries(super.entries()) as Record<string, FC<P>>;\n\n const extendObj = cb(this as unknown as InputMapping<P, K | INPUT_COMPONENTS_KEYS>);\n\n return new InputMapping<P, K | INPUT_COMPONENTS_KEYS>({\n ...obj,\n ...extendObj,\n } as Record<K | INPUT_COMPONENTS_KEYS, FC<P>>);\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping>(new InputMapping());\n","import { useContext, useReducer, useRef } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\n\nexport const useInputMapping = () => {\n const initialState = useContext(InputMappingContext);\n const mapRef = useRef(initialState);\n const [, reRender] = useReducer((x) => x + 1, 0);\n\n mapRef.current.set = (...args) => {\n InputMapping.prototype.set.apply(mapRef.current, args);\n reRender();\n return mapRef.current;\n };\n\n mapRef.current.clear = (...args) => {\n InputMapping.prototype.clear.apply(mapRef.current, args);\n reRender();\n };\n\n mapRef.current.delete = (...args) => {\n const res = InputMapping.prototype.delete.apply(mapRef.current, args);\n reRender();\n\n return res;\n };\n\n return mapRef.current;\n};\n","import { createElement } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { INPUT_COMPONENTS_KEYS, ParsedField } from './types';\nimport { useInputMapping } from './useInputMapping';\n\ninterface createFormInstantContainerRetuen<P = object, K extends string = INPUT_COMPONENTS_KEYS> {\n useInputMapping: () => InputMapping<P, K>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <P = object, K extends string = INPUT_COMPONENTS_KEYS>(\n inputMapping: InputMapping<P, K>,\n) => {\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping as InputMapping,\n children: props.children,\n });\n\n return {\n FormInstantInputsProvider,\n useInputMapping,\n } as createFormInstantContainerRetuen<P, K>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<any, string> }> = ({ formProps }) => {\n const InputMapping = useInputMapping();\n\n const type = formProps.fieldConfig?.type || formProps.type;\n\n const Element = InputMapping.get(type);\n\n if (!Element) return null;\n\n return createElement(Element, formProps);\n};\n","import { useCallback, useState } from 'react';\nimport { ParsedField } from './types';\n\nexport const useFormInstantField = <P extends ParsedField<any, string>>({\n fieldConfig,\n name,\n ...prop\n}: P) => {\n const [fiends, setFiends] = useState(Object.values(prop.schema || {}));\n\n const append = useCallback(() => {\n if (![fieldConfig?.max, Number(fieldConfig?.maxLength)].includes(fiends.length))\n setFiends((pre) => [...pre, pre[0]]);\n }, [fiends, fieldConfig?.max, fieldConfig?.maxLength]);\n\n const remove = useCallback(\n (index: number) => {\n if (![fieldConfig?.min, Number(fieldConfig?.minLength)].includes(fiends.length))\n setFiends((pre) => pre.filter((_, i) => i !== index));\n },\n [fiends, fieldConfig?.min, fieldConfig?.minLength],\n );\n\n return { fiends, append, remove, setFiends, fieldConfig, name, ...prop };\n};\n"],"names":["InputMapping","_Map","obj","_this","call","_assertThisInitialized","appendObj","_inheritsLoose","_proto","prototype","zodAdacter","Object","entries","ZodBoolean","ZodDate","ZodEnum","ZodNativeEnum","ZodNumber","string","keys","_i","_keys","length","key","set","_iterator","_createForOfIteratorHelperLoose","_step","done","_step$value","value","k","v","get","exists","isHas","has","extends","cb","fromEntries","extendObj","_extends2","_wrapNativeSuper","Map","InputMappingContext","createContext","useInputMapping","initialState","useContext","mapRef","useRef","_useReducer","useReducer","x","reRender","current","_len","arguments","args","Array","_key","apply","clear","_len2","_key2","_len3","_key3","res","createFormInstantContainer","inputMapping","FormInstantInputsProvider","props","createElement","Provider","children","ElementMapping","_ref","_formProps$fieldConfi","formProps","type","fieldConfig","Element","useFormInstantField","name","prop","_objectWithoutPropertiesLoose","_excluded","_useState","useState","values","schema","fiends","setFiends","append","useCallback","max","Number","maxLength","includes","pre","concat","remove","index","min","minLength","filter","_","i","_extends"],"mappings":"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"}
1
+ {"version":3,"file":"react-input-mapping.cjs.development.js","sources":["../src/InputMapping/class.ts","../src/InputMapping/context.tsx","../src/InputMapping/useInputMapping.tsx","../src/InputMapping/provider.tsx","../src/InputMapping/useFormInstantField.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS } from './types';\n\n// Nuevo tipo auxiliar para mapear cada clave a su componente correspondiente\n// Ahora el value depende de la key: si es de Ob, es FC<Ob[K]>; si es de INPUT_COMPONENTS_KEYS, es FC<any>\ntype InputComponentMap<Ob extends Record<string, any>> = {\n [K in keyof Ob]?: FC<Ob[K]>;\n} & {\n [K in INPUT_COMPONENTS_KEYS]?: FC<any>;\n};\n\nexport class InputMapping<Ob extends Record<string, any>> extends Map<\n keyof Ob | INPUT_COMPONENTS_KEYS,\n FC<any>\n> {\n private zodAdacter() {\n return Object.entries({\n ZodBoolean: 'checkbox',\n ZodDate: 'date',\n ZodEnum: 'select',\n ZodNativeEnum: 'select',\n ZodNumber: 'number',\n string: 'text',\n });\n }\n\n private appendObj(obj: Partial<InputComponentMap<Ob>>) {\n const keys = Object.keys(obj) as Array<keyof typeof obj>;\n\n for (const key of keys) {\n const value = obj[key];\n if (value && (key as string) in ({} as Ob)) {\n this.set(key as keyof Ob, value as FC<Ob[keyof Ob]>);\n } else if (value) {\n this.set(key as INPUT_COMPONENTS_KEYS, value as FC<any>);\n }\n }\n\n for (const [k, v] of this.zodAdacter()) {\n const existingValue = this.get(v as INPUT_COMPONENTS_KEYS);\n if (existingValue) {\n this.set(k as INPUT_COMPONENTS_KEYS, existingValue);\n }\n }\n }\n\n constructor(obj?: Partial<InputComponentMap<Ob>>) {\n super();\n if (!obj) return;\n this.appendObj(obj);\n }\n\n exists(k: string) {\n const isHas = super.has(k as keyof Ob | INPUT_COMPONENTS_KEYS);\n if (!isHas) return 'fallback';\n return k as keyof Ob | INPUT_COMPONENTS_KEYS;\n }\n\n get<Ky extends keyof Ob | INPUT_COMPONENTS_KEYS>(k: Ky) {\n return super.get(k);\n }\n\n set<K extends keyof Ob>(k: K, v: FC<Ob[K]>): this;\n set<K extends INPUT_COMPONENTS_KEYS>(k: K, v: FC<any>): this;\n set(k: keyof Ob | INPUT_COMPONENTS_KEYS, v: FC<any>): this {\n if (!super.has(k)) super.set(k, v);\n return this;\n }\n\n extends<Ext extends Record<string, FC<any>>>(\n cb: (mapping: InputMapping<Ob & { [K in keyof Ext]: any }>) => Ext,\n ) {\n const obj = Object.fromEntries(super.entries()) as Record<string, FC<any>>;\n const extendObj = cb(this as InputMapping<Ob & { [K in keyof Ext]: any }>);\n return new InputMapping<Ob & { [K in keyof Ext]: any }>({\n ...obj,\n ...extendObj,\n } as Partial<\n Record<\n keyof (Ob & { [K in keyof Ext]: any }) | INPUT_COMPONENTS_KEYS,\n FC<(Ob & { [K in keyof Ext]: any })[keyof (Ob & { [K in keyof Ext]: any })]>\n >\n >);\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\nimport { ObBase } from './types';\n\nexport function createInputMappingContext<Ob extends Record<ObBase, any>>() {\n return createContext<InputMapping<Ob> | null>(null);\n}\n","import { useReducer, useRef, useContext } from 'react';\nimport { InputMapping } from './class';\n\nexport function createInputMappingHook<Ob extends Record<string, any>>(\n InputMappingContext: React.Context<InputMapping<Ob> | null>,\n) {\n return function useInputMapping() {\n const initialState = useContext(InputMappingContext);\n if (!initialState) throw new Error('InputMappingContext not found');\n const mapRef = useRef(initialState);\n const [, reRender] = useReducer((x) => x + 1, 0);\n\n return {\n ...mapRef.current,\n set: (key: keyof Ob | string, value: React.FC<any>) => {\n const result = mapRef.current.set(key, value);\n reRender();\n return result;\n },\n clear: () => {\n mapRef.current.clear();\n reRender();\n },\n delete: (key: keyof Ob | string) => {\n const result = mapRef.current.delete(key);\n reRender();\n return result;\n },\n };\n };\n}\n","import { createElement, FC, ReactNode, Context } from 'react';\nimport { InputMapping } from './class';\nimport { createInputMappingContext } from './context';\nimport { ParsedField, ObBase } from './types';\nimport { createInputMappingHook } from './useInputMapping';\n\ntype FCC = React.FC<{ children: ReactNode }>;\n\ninterface createFormInstantContainerReturn<Ob extends Record<ObBase, any>> {\n useInputMapping: ReturnType<typeof createInputMappingHook<Ob>>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <Ob extends Record<ObBase, any>>(\n inputMapping: InputMapping<Ob>,\n) => {\n const InputMappingContext: Context<InputMapping<Ob> | null> = createInputMappingContext<Ob>();\n\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping,\n children: props.children,\n });\n\n return {\n FormInstantInputsProvider,\n useInputMapping: createInputMappingHook(InputMappingContext),\n } as createFormInstantContainerReturn<Ob>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<unknown, string> }> = ({\n formProps: _formProps,\n}) => {\n // Este componente no puede ser genérico, así que se mantiene igual\n return null;\n};\n","import { useCallback, useState } from 'react';\nimport { ParsedField } from './types';\n\nexport const useFormInstantField = <P extends ParsedField<unknown, string>>({\n fieldConfig,\n name,\n ...prop\n}: P) => {\n const [fiends, setFiends] = useState(Object.values((prop.schema as P['schema']) || {}));\n\n const append = useCallback(() => {\n if (![fieldConfig?.max].includes(fiends.length)) setFiends((pre) => [...pre, pre[0]]);\n }, [fiends, fieldConfig?.max]);\n\n const remove = useCallback(\n (index: number) => {\n if (![fieldConfig?.min].includes(fiends.length))\n setFiends((pre) => pre.filter((_, i) => i !== index));\n },\n [fiends, fieldConfig?.min],\n );\n\n return { fiends, append, remove, setFiends, fieldConfig, name, ...prop };\n};\n"],"names":["InputMapping","_Map","obj","_this","call","_assertThisInitialized","appendObj","_inheritsLoose","_proto","prototype","zodAdacter","Object","entries","ZodBoolean","ZodDate","ZodEnum","ZodNativeEnum","ZodNumber","string","keys","_i","_keys","length","key","value","set","_iterator","_createForOfIteratorHelperLoose","_step","done","_step$value","k","v","existingValue","get","exists","isHas","has","extends","cb","fromEntries","extendObj","_extends2","_wrapNativeSuper","Map","createInputMappingContext","createContext","createInputMappingHook","InputMappingContext","useInputMapping","initialState","useContext","Error","mapRef","useRef","_useReducer","useReducer","x","reRender","_extends","current","result","clear","delete","createFormInstantContainer","inputMapping","FormInstantInputsProvider","props","createElement","Provider","children","ElementMapping","_ref","useFormInstantField","fieldConfig","name","prop","_objectWithoutPropertiesLoose","_excluded","_useState","useState","values","schema","fiends","setFiends","append","useCallback","max","includes","pre","concat","remove","index","min","filter","_","i"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";var t=require("react");function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},n.apply(null,arguments)}function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(o=function(){return!!t})()}function u(t,e){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},u(t,e)}function i(t){var e="function"==typeof Map?new Map:void 0;return i=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(o())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&u(i,n.prototype),i}(t,arguments,r(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),u(n,t)},i(t)}var a=function(t){function r(e){var n;return n=t.call(this)||this,e?(n.appendObj(e),n):function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n)}var o,i;i=t,(o=r).prototype=Object.create(i.prototype),o.prototype.constructor=o,u(o,i);var a=r.prototype;return a.zodAdacter=function(){return Object.entries({ZodBoolean:"checkbox",ZodDate:"date",ZodEnum:"select",ZodNativeEnum:"select",ZodNumber:"number",string:"text"})},a.appendObj=function(t){for(var n=0,r=Object.keys(t);n<r.length;n++){var o=r[n];this.set(o,t[o])}for(var u,i=function(t){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,n){if(t){if("string"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}(t))){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(this.zodAdacter());!(u=i()).done;){var a=u.value;this.set(a[0],this.get(a[1]))}},a.exists=function(e){return t.prototype.has.call(this,e)?e:"fallback"},a.get=function(e){return t.prototype.get.call(this,e)},a.set=function(e,n){return t.prototype.has.call(this,e)||t.prototype.set.call(this,e,n),this},a.extends=function(e){return new r(n({},Object.fromEntries(t.prototype.entries.call(this)),e(this)))},r}(i(Map)),c=t.createContext(new a),l=function(){var e=t.useContext(c),n=t.useRef(e),r=t.useReducer((function(t){return t+1}),0)[1];return n.current.set=function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];return a.prototype.set.apply(n.current,e),r(),n.current},n.current.clear=function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];a.prototype.clear.apply(n.current,e),r()},n.current.delete=function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];var u=a.prototype.delete.apply(n.current,e);return r(),u},n.current},p=["fieldConfig","name"];exports.ElementMapping=function(e){var n,r=e.formProps,o=l(),u=(null==(n=r.fieldConfig)?void 0:n.type)||r.type,i=o.get(u);return i?t.createElement(i,r):null},exports.InputMapping=a,exports.InputMappingContext=c,exports.createFormInstantContainer=function(e){return{FormInstantInputsProvider:function(n){return t.createElement(c.Provider,{value:e,children:n.children})},useInputMapping:l}},exports.useFormInstantField=function(e){var r=e.fieldConfig,o=e.name,u=function(t,e){if(null==t)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(e.includes(r))continue;n[r]=t[r]}return n}(e,p),i=t.useState(Object.values(u.schema||{})),a=i[0],c=i[1],l=t.useCallback((function(){[null==r?void 0:r.max,Number(null==r?void 0:r.maxLength)].includes(a.length)||c((function(t){return[].concat(t,[t[0]])}))}),[a,null==r?void 0:r.max,null==r?void 0:r.maxLength]),f=t.useCallback((function(t){[null==r?void 0:r.min,Number(null==r?void 0:r.minLength)].includes(a.length)||c((function(e){return e.filter((function(e,n){return n!==t}))}))}),[a,null==r?void 0:r.min,null==r?void 0:r.minLength]);return n({fiends:a,append:l,remove:f,setFiends:c,fieldConfig:r,name:o},u)},exports.useInputMapping=l;
1
+ "use strict";var t=require("react");function e(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n<e;n++)r[n]=t[n];return r}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},n.apply(null,arguments)}function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function u(t,e){return u=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},u(t,e)}function i(t){var e="function"==typeof Map?new Map:void 0;return i=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(o())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var i=new(t.bind.apply(t,r));return n&&u(i,n.prototype),i}(t,arguments,r(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),u(n,t)},i(t)}var a=function(t){function r(e){var n;return n=t.call(this)||this,e?(n.appendObj(e),n):function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(n)}var o,i;i=t,(o=r).prototype=Object.create(i.prototype),o.prototype.constructor=o,u(o,i);var a=r.prototype;return a.zodAdacter=function(){return Object.entries({ZodBoolean:"checkbox",ZodDate:"date",ZodEnum:"select",ZodNativeEnum:"select",ZodNumber:"number",string:"text"})},a.appendObj=function(t){for(var n=0,r=Object.keys(t);n<r.length;n++){var o=r[n],u=t[o];(u&&o in{}||u)&&this.set(o,u)}for(var i,a=function(t){var n="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(n)return(n=n.call(t)).next.bind(n);if(Array.isArray(t)||(n=function(t,n){if(t){if("string"==typeof t)return e(t,n);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?e(t,n):void 0}}(t))){n&&(t=n);var r=0;return function(){return r>=t.length?{done:!0}:{done:!1,value:t[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(this.zodAdacter());!(i=a()).done;){var c=i.value,l=c[0],f=this.get(c[1]);f&&this.set(l,f)}},a.exists=function(e){return t.prototype.has.call(this,e)?e:"fallback"},a.get=function(e){return t.prototype.get.call(this,e)},a.set=function(e,n){return t.prototype.has.call(this,e)||t.prototype.set.call(this,e,n),this},a.extends=function(e){return new r(n({},Object.fromEntries(t.prototype.entries.call(this)),e(this)))},r}(i(Map));function c(){return t.createContext(null)}function l(e){return function(){var r=t.useContext(e);if(!r)throw new Error("InputMappingContext not found");var o=t.useRef(r),u=t.useReducer(function(t){return t+1},0)[1];return n({},o.current,{set:function(t,e){var n=o.current.set(t,e);return u(),n},clear:function(){o.current.clear(),u()},delete:function(t){var e=o.current.delete(t);return u(),e}})}}var f=["fieldConfig","name"];exports.ElementMapping=function(t){return null},exports.InputMapping=a,exports.createFormInstantContainer=function(e){var n=c();return{FormInstantInputsProvider:function(r){return t.createElement(n.Provider,{value:e,children:r.children})},useInputMapping:l(n)}},exports.createInputMappingContext=c,exports.createInputMappingHook=l,exports.useFormInstantField=function(e){var r=e.fieldConfig,o=e.name,u=function(t,e){if(null==t)return{};var n={};for(var r in t)if({}.hasOwnProperty.call(t,r)){if(-1!==e.indexOf(r))continue;n[r]=t[r]}return n}(e,f),i=t.useState(Object.values(u.schema||{})),a=i[0],c=i[1],l=t.useCallback(function(){[null==r?void 0:r.max].includes(a.length)||c(function(t){return[].concat(t,[t[0]])})},[a,null==r?void 0:r.max]),s=t.useCallback(function(t){[null==r?void 0:r.min].includes(a.length)||c(function(e){return e.filter(function(e,n){return n!==t})})},[a,null==r?void 0:r.min]);return n({fiends:a,append:l,remove:s,setFiends:c,fieldConfig:r,name:o},u)};
2
2
  //# sourceMappingURL=react-input-mapping.cjs.production.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-input-mapping.cjs.production.min.js","sources":["../src/InputMapping/class.ts","../src/InputMapping/context.tsx","../src/InputMapping/useInputMapping.tsx","../src/InputMapping/provider.tsx","../src/InputMapping/useFormInstantField.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS } from './types';\n\ntype MergeKeys<T, U> = {\n [K in keyof T | keyof U]: K extends keyof T ? T[K] : K extends keyof U ? U[K] : never;\n};\n\n// K extiende de INPUT_COMPONENTS_KEYS y puede incluir más claves personalizadas\nexport class InputMapping<P = object, K extends string = INPUT_COMPONENTS_KEYS> extends Map<\n MergeKeys<K, INPUT_COMPONENTS_KEYS>,\n FC<P>\n> {\n private zodAdacter() {\n return Object.entries({\n ZodBoolean: 'checkbox',\n ZodDate: 'date',\n ZodEnum: 'select',\n ZodNativeEnum: 'select',\n ZodNumber: 'number',\n string: 'text',\n });\n }\n\n private appendObj(obj: Partial<Record<K | INPUT_COMPONENTS_KEYS, FC<P>>>) {\n const keys = Object.keys(obj) as Array<K | INPUT_COMPONENTS_KEYS>;\n\n type Ky = MergeKeys<K, INPUT_COMPONENTS_KEYS>;\n\n for (const key of keys) this.set(key as Ky, obj[key]!);\n\n for (const [k, v] of this.zodAdacter()) this.set(k as Ky, this.get(v)!);\n }\n\n constructor(obj?: Partial<Record<K | INPUT_COMPONENTS_KEYS, FC<P>>>) {\n super();\n\n if (!obj) return;\n\n this.appendObj(obj);\n }\n\n exists(k: string) {\n const isHas = super.has(k as MergeKeys<K, INPUT_COMPONENTS_KEYS>);\n\n if (!isHas) return 'fallback';\n\n return k as MergeKeys<K, INPUT_COMPONENTS_KEYS>;\n }\n\n get(k: MergeKeys<K, INPUT_COMPONENTS_KEYS> | string) {\n return super.get(k as MergeKeys<K, INPUT_COMPONENTS_KEYS>);\n }\n\n set(k: MergeKeys<K, INPUT_COMPONENTS_KEYS>, v: FC<P>) {\n if (!super.has(k)) super.set(k, v);\n\n return this;\n }\n\n extends(cb: (mapingp: InputMapping<P, K | INPUT_COMPONENTS_KEYS>) => Record<never, FC<P>>) {\n const obj = Object.fromEntries(super.entries()) as Record<string, FC<P>>;\n\n const extendObj = cb(this as unknown as InputMapping<P, K | INPUT_COMPONENTS_KEYS>);\n\n return new InputMapping<P, K | INPUT_COMPONENTS_KEYS>({\n ...obj,\n ...extendObj,\n } as Record<K | INPUT_COMPONENTS_KEYS, FC<P>>);\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping>(new InputMapping());\n","import { useContext, useReducer, useRef } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\n\nexport const useInputMapping = () => {\n const initialState = useContext(InputMappingContext);\n const mapRef = useRef(initialState);\n const [, reRender] = useReducer((x) => x + 1, 0);\n\n mapRef.current.set = (...args) => {\n InputMapping.prototype.set.apply(mapRef.current, args);\n reRender();\n return mapRef.current;\n };\n\n mapRef.current.clear = (...args) => {\n InputMapping.prototype.clear.apply(mapRef.current, args);\n reRender();\n };\n\n mapRef.current.delete = (...args) => {\n const res = InputMapping.prototype.delete.apply(mapRef.current, args);\n reRender();\n\n return res;\n };\n\n return mapRef.current;\n};\n","import { createElement } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { INPUT_COMPONENTS_KEYS, ParsedField } from './types';\nimport { useInputMapping } from './useInputMapping';\n\ninterface createFormInstantContainerRetuen<P = object, K extends string = INPUT_COMPONENTS_KEYS> {\n useInputMapping: () => InputMapping<P, K>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <P = object, K extends string = INPUT_COMPONENTS_KEYS>(\n inputMapping: InputMapping<P, K>,\n) => {\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping as InputMapping,\n children: props.children,\n });\n\n return {\n FormInstantInputsProvider,\n useInputMapping,\n } as createFormInstantContainerRetuen<P, K>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<any, string> }> = ({ formProps }) => {\n const InputMapping = useInputMapping();\n\n const type = formProps.fieldConfig?.type || formProps.type;\n\n const Element = InputMapping.get(type);\n\n if (!Element) return null;\n\n return createElement(Element, formProps);\n};\n","import { useCallback, useState } from 'react';\nimport { ParsedField } from './types';\n\nexport const useFormInstantField = <P extends ParsedField<any, string>>({\n fieldConfig,\n name,\n ...prop\n}: P) => {\n const [fiends, setFiends] = useState(Object.values(prop.schema || {}));\n\n const append = useCallback(() => {\n if (![fieldConfig?.max, Number(fieldConfig?.maxLength)].includes(fiends.length))\n setFiends((pre) => [...pre, pre[0]]);\n }, [fiends, fieldConfig?.max, fieldConfig?.maxLength]);\n\n const remove = useCallback(\n (index: number) => {\n if (![fieldConfig?.min, Number(fieldConfig?.minLength)].includes(fiends.length))\n setFiends((pre) => pre.filter((_, i) => i !== index));\n },\n [fiends, fieldConfig?.min, fieldConfig?.minLength],\n );\n\n return { fiends, append, remove, setFiends, fieldConfig, name, ...prop };\n};\n"],"names":["InputMapping","_Map","obj","_this","call","this","appendObj","_assertThisInitialized","_proto","prototype","zodAdacter","Object","entries","ZodBoolean","ZodDate","ZodEnum","ZodNativeEnum","ZodNumber","string","_i","_keys","keys","length","key","set","_step","_iterator","_createForOfIteratorHelperLoose","done","_step$value","value","get","exists","k","has","v","cb","_extends2","fromEntries","_wrapNativeSuper","Map","InputMappingContext","createContext","useInputMapping","initialState","useContext","mapRef","useRef","reRender","useReducer","x","current","_len","arguments","args","Array","_key","apply","clear","_len2","_key2","_len3","_key3","res","_ref","_formProps$fieldConfi","formProps","type","fieldConfig","Element","createElement","inputMapping","FormInstantInputsProvider","props","Provider","children","name","prop","_objectWithoutPropertiesLoose","_excluded","_useState","useState","values","schema","fiends","setFiends","append","useCallback","max","Number","maxLength","includes","pre","concat","remove","index","min","minLength","filter","_","i","_extends"],"mappings":"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"}
1
+ {"version":3,"file":"react-input-mapping.cjs.production.min.js","sources":["../src/InputMapping/class.ts","../src/InputMapping/context.tsx","../src/InputMapping/useInputMapping.tsx","../src/InputMapping/provider.tsx","../src/InputMapping/useFormInstantField.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS } from './types';\n\n// Nuevo tipo auxiliar para mapear cada clave a su componente correspondiente\n// Ahora el value depende de la key: si es de Ob, es FC<Ob[K]>; si es de INPUT_COMPONENTS_KEYS, es FC<any>\ntype InputComponentMap<Ob extends Record<string, any>> = {\n [K in keyof Ob]?: FC<Ob[K]>;\n} & {\n [K in INPUT_COMPONENTS_KEYS]?: FC<any>;\n};\n\nexport class InputMapping<Ob extends Record<string, any>> extends Map<\n keyof Ob | INPUT_COMPONENTS_KEYS,\n FC<any>\n> {\n private zodAdacter() {\n return Object.entries({\n ZodBoolean: 'checkbox',\n ZodDate: 'date',\n ZodEnum: 'select',\n ZodNativeEnum: 'select',\n ZodNumber: 'number',\n string: 'text',\n });\n }\n\n private appendObj(obj: Partial<InputComponentMap<Ob>>) {\n const keys = Object.keys(obj) as Array<keyof typeof obj>;\n\n for (const key of keys) {\n const value = obj[key];\n if (value && (key as string) in ({} as Ob)) {\n this.set(key as keyof Ob, value as FC<Ob[keyof Ob]>);\n } else if (value) {\n this.set(key as INPUT_COMPONENTS_KEYS, value as FC<any>);\n }\n }\n\n for (const [k, v] of this.zodAdacter()) {\n const existingValue = this.get(v as INPUT_COMPONENTS_KEYS);\n if (existingValue) {\n this.set(k as INPUT_COMPONENTS_KEYS, existingValue);\n }\n }\n }\n\n constructor(obj?: Partial<InputComponentMap<Ob>>) {\n super();\n if (!obj) return;\n this.appendObj(obj);\n }\n\n exists(k: string) {\n const isHas = super.has(k as keyof Ob | INPUT_COMPONENTS_KEYS);\n if (!isHas) return 'fallback';\n return k as keyof Ob | INPUT_COMPONENTS_KEYS;\n }\n\n get<Ky extends keyof Ob | INPUT_COMPONENTS_KEYS>(k: Ky) {\n return super.get(k);\n }\n\n set<K extends keyof Ob>(k: K, v: FC<Ob[K]>): this;\n set<K extends INPUT_COMPONENTS_KEYS>(k: K, v: FC<any>): this;\n set(k: keyof Ob | INPUT_COMPONENTS_KEYS, v: FC<any>): this {\n if (!super.has(k)) super.set(k, v);\n return this;\n }\n\n extends<Ext extends Record<string, FC<any>>>(\n cb: (mapping: InputMapping<Ob & { [K in keyof Ext]: any }>) => Ext,\n ) {\n const obj = Object.fromEntries(super.entries()) as Record<string, FC<any>>;\n const extendObj = cb(this as InputMapping<Ob & { [K in keyof Ext]: any }>);\n return new InputMapping<Ob & { [K in keyof Ext]: any }>({\n ...obj,\n ...extendObj,\n } as Partial<\n Record<\n keyof (Ob & { [K in keyof Ext]: any }) | INPUT_COMPONENTS_KEYS,\n FC<(Ob & { [K in keyof Ext]: any })[keyof (Ob & { [K in keyof Ext]: any })]>\n >\n >);\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\nimport { ObBase } from './types';\n\nexport function createInputMappingContext<Ob extends Record<ObBase, any>>() {\n return createContext<InputMapping<Ob> | null>(null);\n}\n","import { useReducer, useRef, useContext } from 'react';\nimport { InputMapping } from './class';\n\nexport function createInputMappingHook<Ob extends Record<string, any>>(\n InputMappingContext: React.Context<InputMapping<Ob> | null>,\n) {\n return function useInputMapping() {\n const initialState = useContext(InputMappingContext);\n if (!initialState) throw new Error('InputMappingContext not found');\n const mapRef = useRef(initialState);\n const [, reRender] = useReducer((x) => x + 1, 0);\n\n return {\n ...mapRef.current,\n set: (key: keyof Ob | string, value: React.FC<any>) => {\n const result = mapRef.current.set(key, value);\n reRender();\n return result;\n },\n clear: () => {\n mapRef.current.clear();\n reRender();\n },\n delete: (key: keyof Ob | string) => {\n const result = mapRef.current.delete(key);\n reRender();\n return result;\n },\n };\n };\n}\n","import { createElement, FC, ReactNode, Context } from 'react';\nimport { InputMapping } from './class';\nimport { createInputMappingContext } from './context';\nimport { ParsedField, ObBase } from './types';\nimport { createInputMappingHook } from './useInputMapping';\n\ntype FCC = React.FC<{ children: ReactNode }>;\n\ninterface createFormInstantContainerReturn<Ob extends Record<ObBase, any>> {\n useInputMapping: ReturnType<typeof createInputMappingHook<Ob>>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <Ob extends Record<ObBase, any>>(\n inputMapping: InputMapping<Ob>,\n) => {\n const InputMappingContext: Context<InputMapping<Ob> | null> = createInputMappingContext<Ob>();\n\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping,\n children: props.children,\n });\n\n return {\n FormInstantInputsProvider,\n useInputMapping: createInputMappingHook(InputMappingContext),\n } as createFormInstantContainerReturn<Ob>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<unknown, string> }> = ({\n formProps: _formProps,\n}) => {\n // Este componente no puede ser genérico, así que se mantiene igual\n return null;\n};\n","import { useCallback, useState } from 'react';\nimport { ParsedField } from './types';\n\nexport const useFormInstantField = <P extends ParsedField<unknown, string>>({\n fieldConfig,\n name,\n ...prop\n}: P) => {\n const [fiends, setFiends] = useState(Object.values((prop.schema as P['schema']) || {}));\n\n const append = useCallback(() => {\n if (![fieldConfig?.max].includes(fiends.length)) setFiends((pre) => [...pre, pre[0]]);\n }, [fiends, fieldConfig?.max]);\n\n const remove = useCallback(\n (index: number) => {\n if (![fieldConfig?.min].includes(fiends.length))\n setFiends((pre) => pre.filter((_, i) => i !== index));\n },\n [fiends, fieldConfig?.min],\n );\n\n return { fiends, append, remove, setFiends, fieldConfig, name, ...prop };\n};\n"],"names":["InputMapping","_Map","obj","_this","call","this","appendObj","_assertThisInitialized","_proto","prototype","zodAdacter","Object","entries","ZodBoolean","ZodDate","ZodEnum","ZodNativeEnum","ZodNumber","string","_i","_keys","keys","length","key","value","set","_step","_iterator","_createForOfIteratorHelperLoose","done","_step$value","k","existingValue","get","exists","has","v","cb","_extends2","fromEntries","_wrapNativeSuper","Map","createInputMappingContext","createContext","createInputMappingHook","InputMappingContext","initialState","useContext","Error","mapRef","useRef","reRender","useReducer","x","_extends","current","result","clear","delete","_ref","inputMapping","FormInstantInputsProvider","props","createElement","Provider","children","useInputMapping","fieldConfig","name","prop","_objectWithoutPropertiesLoose","_excluded","_useState","useState","values","schema","fiends","setFiends","append","useCallback","max","includes","pre","concat","remove","index","min","filter","_","i"],"mappings":"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"}
@@ -69,7 +69,7 @@ function _objectWithoutPropertiesLoose(r, e) {
69
69
  if (null == r) return {};
70
70
  var t = {};
71
71
  for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
72
- if (e.includes(n)) continue;
72
+ if (-1 !== e.indexOf(n)) continue;
73
73
  t[n] = r[n];
74
74
  }
75
75
  return t;
@@ -109,7 +109,6 @@ function _wrapNativeSuper(t) {
109
109
  }, _wrapNativeSuper(t);
110
110
  }
111
111
 
112
- // K extiende de INPUT_COMPONENTS_KEYS y puede incluir más claves personalizadas
113
112
  var InputMapping = /*#__PURE__*/function (_Map) {
114
113
  function InputMapping(obj) {
115
114
  var _this;
@@ -134,13 +133,21 @@ var InputMapping = /*#__PURE__*/function (_Map) {
134
133
  var keys = Object.keys(obj);
135
134
  for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
136
135
  var key = _keys[_i];
137
- this.set(key, obj[key]);
136
+ var value = obj[key];
137
+ if (value && key in {}) {
138
+ this.set(key, value);
139
+ } else if (value) {
140
+ this.set(key, value);
141
+ }
138
142
  }
139
143
  for (var _iterator = _createForOfIteratorHelperLoose(this.zodAdacter()), _step; !(_step = _iterator()).done;) {
140
144
  var _step$value = _step.value,
141
145
  k = _step$value[0],
142
146
  v = _step$value[1];
143
- this.set(k, this.get(v));
147
+ var existingValue = this.get(v);
148
+ if (existingValue) {
149
+ this.set(k, existingValue);
150
+ }
144
151
  }
145
152
  };
146
153
  _proto.exists = function exists(k) {
@@ -163,42 +170,40 @@ var InputMapping = /*#__PURE__*/function (_Map) {
163
170
  return InputMapping;
164
171
  }(/*#__PURE__*/_wrapNativeSuper(Map));
165
172
 
166
- var InputMappingContext = /*#__PURE__*/createContext(/*#__PURE__*/new InputMapping());
173
+ function createInputMappingContext() {
174
+ return createContext(null);
175
+ }
167
176
 
168
- var useInputMapping = function useInputMapping() {
169
- var initialState = useContext(InputMappingContext);
170
- var mapRef = useRef(initialState);
171
- var _useReducer = useReducer(function (x) {
172
- return x + 1;
173
- }, 0),
174
- reRender = _useReducer[1];
175
- mapRef.current.set = function () {
176
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
177
- args[_key] = arguments[_key];
178
- }
179
- InputMapping.prototype.set.apply(mapRef.current, args);
180
- reRender();
181
- return mapRef.current;
182
- };
183
- mapRef.current.clear = function () {
184
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
185
- args[_key2] = arguments[_key2];
186
- }
187
- InputMapping.prototype.clear.apply(mapRef.current, args);
188
- reRender();
189
- };
190
- mapRef.current["delete"] = function () {
191
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
192
- args[_key3] = arguments[_key3];
193
- }
194
- var res = InputMapping.prototype["delete"].apply(mapRef.current, args);
195
- reRender();
196
- return res;
177
+ function createInputMappingHook(InputMappingContext) {
178
+ return function useInputMapping() {
179
+ var initialState = useContext(InputMappingContext);
180
+ if (!initialState) throw new Error('InputMappingContext not found');
181
+ var mapRef = useRef(initialState);
182
+ var _useReducer = useReducer(function (x) {
183
+ return x + 1;
184
+ }, 0),
185
+ reRender = _useReducer[1];
186
+ return _extends({}, mapRef.current, {
187
+ set: function set(key, value) {
188
+ var result = mapRef.current.set(key, value);
189
+ reRender();
190
+ return result;
191
+ },
192
+ clear: function clear() {
193
+ mapRef.current.clear();
194
+ reRender();
195
+ },
196
+ "delete": function _delete(key) {
197
+ var result = mapRef.current["delete"](key);
198
+ reRender();
199
+ return result;
200
+ }
201
+ });
197
202
  };
198
- return mapRef.current;
199
- };
203
+ }
200
204
 
201
205
  var createFormInstantContainer = function createFormInstantContainer(inputMapping) {
206
+ var InputMappingContext = createInputMappingContext();
202
207
  var FormInstantInputsProvider = function FormInstantInputsProvider(props) {
203
208
  return createElement(InputMappingContext.Provider, {
204
209
  value: inputMapping,
@@ -207,17 +212,12 @@ var createFormInstantContainer = function createFormInstantContainer(inputMappin
207
212
  };
208
213
  return {
209
214
  FormInstantInputsProvider: FormInstantInputsProvider,
210
- useInputMapping: useInputMapping
215
+ useInputMapping: createInputMappingHook(InputMappingContext)
211
216
  };
212
217
  };
213
218
  var ElementMapping = function ElementMapping(_ref) {
214
- var _formProps$fieldConfi;
215
- var formProps = _ref.formProps;
216
- var InputMapping = useInputMapping();
217
- var type = ((_formProps$fieldConfi = formProps.fieldConfig) == null ? void 0 : _formProps$fieldConfi.type) || formProps.type;
218
- var Element = InputMapping.get(type);
219
- if (!Element) return null;
220
- return createElement(Element, formProps);
219
+ // Este componente no puede ser genérico, así que se mantiene igual
220
+ return null;
221
221
  };
222
222
 
223
223
  var _excluded = ["fieldConfig", "name"];
@@ -229,17 +229,17 @@ var useFormInstantField = function useFormInstantField(_ref) {
229
229
  fiends = _useState[0],
230
230
  setFiends = _useState[1];
231
231
  var append = useCallback(function () {
232
- if (![fieldConfig == null ? void 0 : fieldConfig.max, Number(fieldConfig == null ? void 0 : fieldConfig.maxLength)].includes(fiends.length)) setFiends(function (pre) {
232
+ if (![fieldConfig == null ? void 0 : fieldConfig.max].includes(fiends.length)) setFiends(function (pre) {
233
233
  return [].concat(pre, [pre[0]]);
234
234
  });
235
- }, [fiends, fieldConfig == null ? void 0 : fieldConfig.max, fieldConfig == null ? void 0 : fieldConfig.maxLength]);
235
+ }, [fiends, fieldConfig == null ? void 0 : fieldConfig.max]);
236
236
  var remove = useCallback(function (index) {
237
- if (![fieldConfig == null ? void 0 : fieldConfig.min, Number(fieldConfig == null ? void 0 : fieldConfig.minLength)].includes(fiends.length)) setFiends(function (pre) {
237
+ if (![fieldConfig == null ? void 0 : fieldConfig.min].includes(fiends.length)) setFiends(function (pre) {
238
238
  return pre.filter(function (_, i) {
239
239
  return i !== index;
240
240
  });
241
241
  });
242
- }, [fiends, fieldConfig == null ? void 0 : fieldConfig.min, fieldConfig == null ? void 0 : fieldConfig.minLength]);
242
+ }, [fiends, fieldConfig == null ? void 0 : fieldConfig.min]);
243
243
  return _extends({
244
244
  fiends: fiends,
245
245
  append: append,
@@ -250,5 +250,5 @@ var useFormInstantField = function useFormInstantField(_ref) {
250
250
  }, prop);
251
251
  };
252
252
 
253
- export { ElementMapping, InputMapping, InputMappingContext, createFormInstantContainer, useFormInstantField, useInputMapping };
253
+ export { ElementMapping, InputMapping, createFormInstantContainer, createInputMappingContext, createInputMappingHook, useFormInstantField };
254
254
  //# sourceMappingURL=react-input-mapping.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-input-mapping.esm.js","sources":["../src/InputMapping/class.ts","../src/InputMapping/context.tsx","../src/InputMapping/useInputMapping.tsx","../src/InputMapping/provider.tsx","../src/InputMapping/useFormInstantField.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS } from './types';\n\ntype MergeKeys<T, U> = {\n [K in keyof T | keyof U]: K extends keyof T ? T[K] : K extends keyof U ? U[K] : never;\n};\n\n// K extiende de INPUT_COMPONENTS_KEYS y puede incluir más claves personalizadas\nexport class InputMapping<P = object, K extends string = INPUT_COMPONENTS_KEYS> extends Map<\n MergeKeys<K, INPUT_COMPONENTS_KEYS>,\n FC<P>\n> {\n private zodAdacter() {\n return Object.entries({\n ZodBoolean: 'checkbox',\n ZodDate: 'date',\n ZodEnum: 'select',\n ZodNativeEnum: 'select',\n ZodNumber: 'number',\n string: 'text',\n });\n }\n\n private appendObj(obj: Partial<Record<K | INPUT_COMPONENTS_KEYS, FC<P>>>) {\n const keys = Object.keys(obj) as Array<K | INPUT_COMPONENTS_KEYS>;\n\n type Ky = MergeKeys<K, INPUT_COMPONENTS_KEYS>;\n\n for (const key of keys) this.set(key as Ky, obj[key]!);\n\n for (const [k, v] of this.zodAdacter()) this.set(k as Ky, this.get(v)!);\n }\n\n constructor(obj?: Partial<Record<K | INPUT_COMPONENTS_KEYS, FC<P>>>) {\n super();\n\n if (!obj) return;\n\n this.appendObj(obj);\n }\n\n exists(k: string) {\n const isHas = super.has(k as MergeKeys<K, INPUT_COMPONENTS_KEYS>);\n\n if (!isHas) return 'fallback';\n\n return k as MergeKeys<K, INPUT_COMPONENTS_KEYS>;\n }\n\n get(k: MergeKeys<K, INPUT_COMPONENTS_KEYS> | string) {\n return super.get(k as MergeKeys<K, INPUT_COMPONENTS_KEYS>);\n }\n\n set(k: MergeKeys<K, INPUT_COMPONENTS_KEYS>, v: FC<P>) {\n if (!super.has(k)) super.set(k, v);\n\n return this;\n }\n\n extends(cb: (mapingp: InputMapping<P, K | INPUT_COMPONENTS_KEYS>) => Record<never, FC<P>>) {\n const obj = Object.fromEntries(super.entries()) as Record<string, FC<P>>;\n\n const extendObj = cb(this as unknown as InputMapping<P, K | INPUT_COMPONENTS_KEYS>);\n\n return new InputMapping<P, K | INPUT_COMPONENTS_KEYS>({\n ...obj,\n ...extendObj,\n } as Record<K | INPUT_COMPONENTS_KEYS, FC<P>>);\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping>(new InputMapping());\n","import { useContext, useReducer, useRef } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\n\nexport const useInputMapping = () => {\n const initialState = useContext(InputMappingContext);\n const mapRef = useRef(initialState);\n const [, reRender] = useReducer((x) => x + 1, 0);\n\n mapRef.current.set = (...args) => {\n InputMapping.prototype.set.apply(mapRef.current, args);\n reRender();\n return mapRef.current;\n };\n\n mapRef.current.clear = (...args) => {\n InputMapping.prototype.clear.apply(mapRef.current, args);\n reRender();\n };\n\n mapRef.current.delete = (...args) => {\n const res = InputMapping.prototype.delete.apply(mapRef.current, args);\n reRender();\n\n return res;\n };\n\n return mapRef.current;\n};\n","import { createElement } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { INPUT_COMPONENTS_KEYS, ParsedField } from './types';\nimport { useInputMapping } from './useInputMapping';\n\ninterface createFormInstantContainerRetuen<P = object, K extends string = INPUT_COMPONENTS_KEYS> {\n useInputMapping: () => InputMapping<P, K>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <P = object, K extends string = INPUT_COMPONENTS_KEYS>(\n inputMapping: InputMapping<P, K>,\n) => {\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping as InputMapping,\n children: props.children,\n });\n\n return {\n FormInstantInputsProvider,\n useInputMapping,\n } as createFormInstantContainerRetuen<P, K>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<any, string> }> = ({ formProps }) => {\n const InputMapping = useInputMapping();\n\n const type = formProps.fieldConfig?.type || formProps.type;\n\n const Element = InputMapping.get(type);\n\n if (!Element) return null;\n\n return createElement(Element, formProps);\n};\n","import { useCallback, useState } from 'react';\nimport { ParsedField } from './types';\n\nexport const useFormInstantField = <P extends ParsedField<any, string>>({\n fieldConfig,\n name,\n ...prop\n}: P) => {\n const [fiends, setFiends] = useState(Object.values(prop.schema || {}));\n\n const append = useCallback(() => {\n if (![fieldConfig?.max, Number(fieldConfig?.maxLength)].includes(fiends.length))\n setFiends((pre) => [...pre, pre[0]]);\n }, [fiends, fieldConfig?.max, fieldConfig?.maxLength]);\n\n const remove = useCallback(\n (index: number) => {\n if (![fieldConfig?.min, Number(fieldConfig?.minLength)].includes(fiends.length))\n setFiends((pre) => pre.filter((_, i) => i !== index));\n },\n [fiends, fieldConfig?.min, fieldConfig?.minLength],\n );\n\n return { fiends, append, remove, setFiends, fieldConfig, name, ...prop };\n};\n"],"names":["InputMapping","_Map","obj","_this","call","_assertThisInitialized","appendObj","_inheritsLoose","_proto","prototype","zodAdacter","Object","entries","ZodBoolean","ZodDate","ZodEnum","ZodNativeEnum","ZodNumber","string","keys","_i","_keys","length","key","set","_iterator","_createForOfIteratorHelperLoose","_step","done","_step$value","value","k","v","get","exists","isHas","has","extends","cb","fromEntries","extendObj","_extends2","_wrapNativeSuper","Map","InputMappingContext","createContext","useInputMapping","initialState","useContext","mapRef","useRef","_useReducer","useReducer","x","reRender","current","_len","arguments","args","Array","_key","apply","clear","_len2","_key2","_len3","_key3","res","createFormInstantContainer","inputMapping","FormInstantInputsProvider","props","createElement","Provider","children","ElementMapping","_ref","_formProps$fieldConfi","formProps","type","fieldConfig","Element","useFormInstantField","name","prop","_objectWithoutPropertiesLoose","_excluded","_useState","useState","values","schema","fiends","setFiends","append","useCallback","max","Number","maxLength","includes","pre","concat","remove","index","min","minLength","filter","_","i","_extends"],"mappings":"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"}
1
+ {"version":3,"file":"react-input-mapping.esm.js","sources":["../src/InputMapping/class.ts","../src/InputMapping/context.tsx","../src/InputMapping/useInputMapping.tsx","../src/InputMapping/provider.tsx","../src/InputMapping/useFormInstantField.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS } from './types';\n\n// Nuevo tipo auxiliar para mapear cada clave a su componente correspondiente\n// Ahora el value depende de la key: si es de Ob, es FC<Ob[K]>; si es de INPUT_COMPONENTS_KEYS, es FC<any>\ntype InputComponentMap<Ob extends Record<string, any>> = {\n [K in keyof Ob]?: FC<Ob[K]>;\n} & {\n [K in INPUT_COMPONENTS_KEYS]?: FC<any>;\n};\n\nexport class InputMapping<Ob extends Record<string, any>> extends Map<\n keyof Ob | INPUT_COMPONENTS_KEYS,\n FC<any>\n> {\n private zodAdacter() {\n return Object.entries({\n ZodBoolean: 'checkbox',\n ZodDate: 'date',\n ZodEnum: 'select',\n ZodNativeEnum: 'select',\n ZodNumber: 'number',\n string: 'text',\n });\n }\n\n private appendObj(obj: Partial<InputComponentMap<Ob>>) {\n const keys = Object.keys(obj) as Array<keyof typeof obj>;\n\n for (const key of keys) {\n const value = obj[key];\n if (value && (key as string) in ({} as Ob)) {\n this.set(key as keyof Ob, value as FC<Ob[keyof Ob]>);\n } else if (value) {\n this.set(key as INPUT_COMPONENTS_KEYS, value as FC<any>);\n }\n }\n\n for (const [k, v] of this.zodAdacter()) {\n const existingValue = this.get(v as INPUT_COMPONENTS_KEYS);\n if (existingValue) {\n this.set(k as INPUT_COMPONENTS_KEYS, existingValue);\n }\n }\n }\n\n constructor(obj?: Partial<InputComponentMap<Ob>>) {\n super();\n if (!obj) return;\n this.appendObj(obj);\n }\n\n exists(k: string) {\n const isHas = super.has(k as keyof Ob | INPUT_COMPONENTS_KEYS);\n if (!isHas) return 'fallback';\n return k as keyof Ob | INPUT_COMPONENTS_KEYS;\n }\n\n get<Ky extends keyof Ob | INPUT_COMPONENTS_KEYS>(k: Ky) {\n return super.get(k);\n }\n\n set<K extends keyof Ob>(k: K, v: FC<Ob[K]>): this;\n set<K extends INPUT_COMPONENTS_KEYS>(k: K, v: FC<any>): this;\n set(k: keyof Ob | INPUT_COMPONENTS_KEYS, v: FC<any>): this {\n if (!super.has(k)) super.set(k, v);\n return this;\n }\n\n extends<Ext extends Record<string, FC<any>>>(\n cb: (mapping: InputMapping<Ob & { [K in keyof Ext]: any }>) => Ext,\n ) {\n const obj = Object.fromEntries(super.entries()) as Record<string, FC<any>>;\n const extendObj = cb(this as InputMapping<Ob & { [K in keyof Ext]: any }>);\n return new InputMapping<Ob & { [K in keyof Ext]: any }>({\n ...obj,\n ...extendObj,\n } as Partial<\n Record<\n keyof (Ob & { [K in keyof Ext]: any }) | INPUT_COMPONENTS_KEYS,\n FC<(Ob & { [K in keyof Ext]: any })[keyof (Ob & { [K in keyof Ext]: any })]>\n >\n >);\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\nimport { ObBase } from './types';\n\nexport function createInputMappingContext<Ob extends Record<ObBase, any>>() {\n return createContext<InputMapping<Ob> | null>(null);\n}\n","import { useReducer, useRef, useContext } from 'react';\nimport { InputMapping } from './class';\n\nexport function createInputMappingHook<Ob extends Record<string, any>>(\n InputMappingContext: React.Context<InputMapping<Ob> | null>,\n) {\n return function useInputMapping() {\n const initialState = useContext(InputMappingContext);\n if (!initialState) throw new Error('InputMappingContext not found');\n const mapRef = useRef(initialState);\n const [, reRender] = useReducer((x) => x + 1, 0);\n\n return {\n ...mapRef.current,\n set: (key: keyof Ob | string, value: React.FC<any>) => {\n const result = mapRef.current.set(key, value);\n reRender();\n return result;\n },\n clear: () => {\n mapRef.current.clear();\n reRender();\n },\n delete: (key: keyof Ob | string) => {\n const result = mapRef.current.delete(key);\n reRender();\n return result;\n },\n };\n };\n}\n","import { createElement, FC, ReactNode, Context } from 'react';\nimport { InputMapping } from './class';\nimport { createInputMappingContext } from './context';\nimport { ParsedField, ObBase } from './types';\nimport { createInputMappingHook } from './useInputMapping';\n\ntype FCC = React.FC<{ children: ReactNode }>;\n\ninterface createFormInstantContainerReturn<Ob extends Record<ObBase, any>> {\n useInputMapping: ReturnType<typeof createInputMappingHook<Ob>>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <Ob extends Record<ObBase, any>>(\n inputMapping: InputMapping<Ob>,\n) => {\n const InputMappingContext: Context<InputMapping<Ob> | null> = createInputMappingContext<Ob>();\n\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping,\n children: props.children,\n });\n\n return {\n FormInstantInputsProvider,\n useInputMapping: createInputMappingHook(InputMappingContext),\n } as createFormInstantContainerReturn<Ob>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<unknown, string> }> = ({\n formProps: _formProps,\n}) => {\n // Este componente no puede ser genérico, así que se mantiene igual\n return null;\n};\n","import { useCallback, useState } from 'react';\nimport { ParsedField } from './types';\n\nexport const useFormInstantField = <P extends ParsedField<unknown, string>>({\n fieldConfig,\n name,\n ...prop\n}: P) => {\n const [fiends, setFiends] = useState(Object.values((prop.schema as P['schema']) || {}));\n\n const append = useCallback(() => {\n if (![fieldConfig?.max].includes(fiends.length)) setFiends((pre) => [...pre, pre[0]]);\n }, [fiends, fieldConfig?.max]);\n\n const remove = useCallback(\n (index: number) => {\n if (![fieldConfig?.min].includes(fiends.length))\n setFiends((pre) => pre.filter((_, i) => i !== index));\n },\n [fiends, fieldConfig?.min],\n );\n\n return { fiends, append, remove, setFiends, fieldConfig, name, ...prop };\n};\n"],"names":["InputMapping","_Map","obj","_this","call","_assertThisInitialized","appendObj","_inheritsLoose","_proto","prototype","zodAdacter","Object","entries","ZodBoolean","ZodDate","ZodEnum","ZodNativeEnum","ZodNumber","string","keys","_i","_keys","length","key","value","set","_iterator","_createForOfIteratorHelperLoose","_step","done","_step$value","k","v","existingValue","get","exists","isHas","has","extends","cb","fromEntries","extendObj","_extends2","_wrapNativeSuper","Map","createInputMappingContext","createContext","createInputMappingHook","InputMappingContext","useInputMapping","initialState","useContext","Error","mapRef","useRef","_useReducer","useReducer","x","reRender","_extends","current","result","clear","delete","createFormInstantContainer","inputMapping","FormInstantInputsProvider","props","createElement","Provider","children","ElementMapping","_ref","useFormInstantField","fieldConfig","name","prop","_objectWithoutPropertiesLoose","_excluded","_useState","useState","values","schema","fiends","setFiends","append","useCallback","max","includes","pre","concat","remove","index","min","filter","_","i"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@form-instant/react-input-mapping",
3
- "version": "1.5.0",
3
+ "version": "1.7.3-rc.1",
4
4
  "author": {
5
5
  "name": "leomerida15",
6
6
  "email": "dimasmerida15@gmail.com",
@@ -17,6 +17,7 @@
17
17
  "@tsconfig/recommended": "^1.0.7",
18
18
  "@tsconfig/vite-react": "^3.0.2",
19
19
  "@types/bun": "^1.1.8",
20
+ "@types/minimatch": "^5.1.2",
20
21
  "@types/react": "^18.3.12",
21
22
  "dts-cli": "^2.0.5",
22
23
  "eslint-plugin-prettier": "^5.2.1",
@@ -60,6 +61,7 @@
60
61
  "start": "dts watch",
61
62
  "test": "dts test --passWithNoTests",
62
63
  "Up": "npm publish --access public",
64
+ "Up:rc": "npm publish --access public --tag rc",
63
65
  "doc:build": "bun nodemon --config docs/nodemon.json"
64
66
  },
65
67
  "size-limit": [
@@ -72,5 +74,9 @@
72
74
  "limit": "10 KB"
73
75
  }
74
76
  ],
75
- "typings": "dist/index.d.ts"
77
+ "typings": "dist/index.d.ts",
78
+ "dependencies": {
79
+ "minimatch": "^10.0.3",
80
+ "use-context-selector": "^2.0.0"
81
+ }
76
82
  }