@form-instant/react-input-mapping 1.7.7-rc.1 → 1.8.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.
@@ -4,15 +4,15 @@ export interface ParsedField<AdditionalRenderable, FieldTypes = string> {
4
4
  current: string;
5
5
  history: string;
6
6
  };
7
- type: string;
7
+ fieldType: string;
8
8
  required: boolean;
9
9
  default?: unknown;
10
- fieldConfig?: FieldConfig<AdditionalRenderable, FieldTypes>;
10
+ fieldConfig?: FieldConfig<AdditionalRenderable>;
11
11
  options?: [string, string][];
12
12
  schema?: ParsedField<AdditionalRenderable, FieldTypes>[];
13
13
  }
14
- export type FieldConfig<AdditionalRenderable = object, FieldTypes = string> = {
15
- fieldType?: FieldTypes;
14
+ export type FieldConfig<AdditionalRenderable = object> = {
15
+ type?: string;
16
16
  min?: number;
17
17
  max?: number;
18
18
  } & AdditionalRenderable;
@@ -5,7 +5,7 @@ export declare const useFormInstantField: <P extends ParsedField<unknown, string
5
5
  remove: (index: number) => void;
6
6
  setFiends: import("react").Dispatch<import("react").SetStateAction<ParsedField<unknown, string>[]>>;
7
7
  fieldConfig: {
8
- fieldType?: string | undefined;
8
+ type?: string;
9
9
  min?: number;
10
10
  max?: number;
11
11
  } | undefined;
@@ -190,11 +190,9 @@ var createFormInstantContainer = function createFormInstantContainer(inputMappin
190
190
  };
191
191
  };
192
192
  var ElementMapping = function ElementMapping(_ref) {
193
- var _formProps$fieldConfi;
194
193
  var formProps = _ref.formProps;
195
- if (!InputMappingContext) return null;
196
194
  var InputMapping = react.useContext(InputMappingContext);
197
- var type = ((_formProps$fieldConfi = formProps.fieldConfig) == null ? void 0 : _formProps$fieldConfi.type) || formProps.type;
195
+ var type = formProps.fieldType;
198
196
  var Element = InputMapping.get(type);
199
197
  if (!Element) return null;
200
198
  return react.createElement(Element, formProps);
@@ -1 +1 @@
1
- {"version":3,"file":"react-input-mapping.cjs.development.js","sources":["../src/InputMapping/class.ts","../src/InputMapping/context.tsx","../src/InputMapping/provider.tsx","../src/InputMapping/useFormInstantField.tsx","../src/InputMapping/useInputMapping.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS, ParsedField } 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<ParsedField<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 Partial<InputComponentMap<Ob>>;\n const extendObj = cb(this as InputMapping<Ob & { [K in keyof Ext]: any }>) as Partial<\n InputComponentMap<{ [K in keyof Ext]: any }>\n >;\n return new InputMapping<Ob & { [K in keyof Ext]: any }>({\n ...(obj as Partial<InputComponentMap<Ob & { [K in keyof Ext]: any }>>),\n ...(extendObj as Partial<InputComponentMap<Ob & { [K in keyof Ext]: any }>>),\n });\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping<any> | null>(null) as React.Context<\n InputMapping<any>\n>;\n","import { Context, createElement, FC, ReactNode, useContext } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { ObBase, ParsedField } from './types';\n\ntype FCC = React.FC<{ children: ReactNode }>;\n\ninterface createFormInstantContainerReturn<Ob extends Record<ObBase, any>> {\n useInputMapping: Context<InputMapping<Ob>>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <Ob extends Record<any, any>>(\n inputMapping: InputMapping<Ob>\n) => {\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping,\n children: props.children,\n });\n\n const useInputMapping = () => useContext(InputMappingContext);\n\n return {\n FormInstantInputsProvider,\n useInputMapping,\n } as unknown as createFormInstantContainerReturn<Ob>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<any, string> }> = ({ formProps }) => {\n if (!InputMappingContext) return null;\n\n const InputMapping = useContext(InputMappingContext);\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<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","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"],"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","InputMappingContext","createContext","createFormInstantContainer","inputMapping","FormInstantInputsProvider","props","createElement","Provider","children","useInputMapping","useContext","ElementMapping","_ref","_formProps$fieldConfi","formProps","type","fieldConfig","Element","useFormInstantField","name","prop","_objectWithoutPropertiesLoose","_excluded","_useState","useState","values","schema","fiends","setFiends","append","useCallback","max","includes","pre","concat","remove","index","min","filter","_","i","_extends","createInputMappingHook","initialState","Error","mapRef","useRef","_useReducer","useReducer","x","reRender","current","result","clear","delete"],"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/provider.tsx","../src/InputMapping/useFormInstantField.tsx","../src/InputMapping/useInputMapping.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS, ParsedField } 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<ParsedField<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 Partial<\n InputComponentMap<Ob & { [K in keyof Ext]: any }>\n >;\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 });\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping<any> | null>(null) as React.Context<\n InputMapping<any>\n>;\n","import { Context, createElement, FC, ReactNode, useContext } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { ObBase, ParsedField } from './types';\n\ntype FCC = React.FC<{ children: ReactNode }>;\n\ninterface createFormInstantContainerReturn<Ob extends Record<ObBase, any>> {\n useInputMapping: Context<InputMapping<Ob>>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <Ob extends Record<any, any>>(\n inputMapping: InputMapping<Ob>,\n) => {\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping,\n children: props.children,\n });\n\n const useInputMapping = () => useContext(InputMappingContext);\n\n return {\n FormInstantInputsProvider,\n useInputMapping,\n } as unknown as createFormInstantContainerReturn<Ob>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<any, string> }> = ({ formProps }) => {\n const InputMapping = useContext(InputMappingContext);\n\n const type = formProps.fieldType;\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<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","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"],"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","InputMappingContext","createContext","createFormInstantContainer","inputMapping","FormInstantInputsProvider","props","createElement","Provider","children","useInputMapping","useContext","ElementMapping","_ref","formProps","type","fieldType","Element","useFormInstantField","fieldConfig","name","prop","_objectWithoutPropertiesLoose","_excluded","_useState","useState","values","schema","fiends","setFiends","append","useCallback","max","includes","pre","concat","remove","index","min","filter","_","i","_extends","createInputMappingHook","initialState","Error","mapRef","useRef","_useReducer","useReducer","x","reRender","current","result","clear","delete"],"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],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)),c=t.createContext(null),l=["fieldConfig","name"];exports.ElementMapping=function(e){var n,r=e.formProps;if(!c)return null;var o=t.useContext(c),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:function(){return t.useContext(c)}}},exports.createInputMappingHook=function(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}})}},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,l),i=t.useState(Object.values(u.schema||{})),a=i[0],c=i[1],f=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:f,remove:s,setFiends:c,fieldConfig:r,name:o},u)};
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)),c=t.createContext(null),l=["fieldConfig","name"];exports.ElementMapping=function(e){var n=e.formProps,r=t.useContext(c).get(n.fieldType);return r?t.createElement(r,n):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:function(){return t.useContext(c)}}},exports.createInputMappingHook=function(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}})}},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,l),i=t.useState(Object.values(u.schema||{})),a=i[0],c=i[1],f=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:f,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/provider.tsx","../src/InputMapping/useInputMapping.tsx","../src/InputMapping/useFormInstantField.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS, ParsedField } 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<ParsedField<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 Partial<InputComponentMap<Ob>>;\n const extendObj = cb(this as InputMapping<Ob & { [K in keyof Ext]: any }>) as Partial<\n InputComponentMap<{ [K in keyof Ext]: any }>\n >;\n return new InputMapping<Ob & { [K in keyof Ext]: any }>({\n ...(obj as Partial<InputComponentMap<Ob & { [K in keyof Ext]: any }>>),\n ...(extendObj as Partial<InputComponentMap<Ob & { [K in keyof Ext]: any }>>),\n });\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping<any> | null>(null) as React.Context<\n InputMapping<any>\n>;\n","import { Context, createElement, FC, ReactNode, useContext } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { ObBase, ParsedField } from './types';\n\ntype FCC = React.FC<{ children: ReactNode }>;\n\ninterface createFormInstantContainerReturn<Ob extends Record<ObBase, any>> {\n useInputMapping: Context<InputMapping<Ob>>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <Ob extends Record<any, any>>(\n inputMapping: InputMapping<Ob>\n) => {\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping,\n children: props.children,\n });\n\n const useInputMapping = () => useContext(InputMappingContext);\n\n return {\n FormInstantInputsProvider,\n useInputMapping,\n } as unknown as createFormInstantContainerReturn<Ob>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<any, string> }> = ({ formProps }) => {\n if (!InputMappingContext) return null;\n\n const InputMapping = useContext(InputMappingContext);\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 { 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 { 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","InputMappingContext","createContext","_ref","_formProps$fieldConfi","formProps","useContext","type","fieldConfig","Element","createElement","inputMapping","FormInstantInputsProvider","props","Provider","children","useInputMapping","initialState","Error","mapRef","useRef","reRender","useReducer","x","_extends","current","result","clear","delete","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
+ {"version":3,"file":"react-input-mapping.cjs.production.min.js","sources":["../src/InputMapping/class.ts","../src/InputMapping/context.tsx","../src/InputMapping/provider.tsx","../src/InputMapping/useInputMapping.tsx","../src/InputMapping/useFormInstantField.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS, ParsedField } 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<ParsedField<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 Partial<\n InputComponentMap<Ob & { [K in keyof Ext]: any }>\n >;\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 });\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping<any> | null>(null) as React.Context<\n InputMapping<any>\n>;\n","import { Context, createElement, FC, ReactNode, useContext } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { ObBase, ParsedField } from './types';\n\ntype FCC = React.FC<{ children: ReactNode }>;\n\ninterface createFormInstantContainerReturn<Ob extends Record<ObBase, any>> {\n useInputMapping: Context<InputMapping<Ob>>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <Ob extends Record<any, any>>(\n inputMapping: InputMapping<Ob>,\n) => {\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping,\n children: props.children,\n });\n\n const useInputMapping = () => useContext(InputMappingContext);\n\n return {\n FormInstantInputsProvider,\n useInputMapping,\n } as unknown as createFormInstantContainerReturn<Ob>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<any, string> }> = ({ formProps }) => {\n const InputMapping = useContext(InputMappingContext);\n\n const type = formProps.fieldType;\n\n const Element = InputMapping.get(type);\n\n if (!Element) return null;\n\n return createElement(Element, formProps);\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 { 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","InputMappingContext","createContext","_ref","formProps","Element","useContext","fieldType","createElement","inputMapping","FormInstantInputsProvider","props","Provider","children","useInputMapping","initialState","Error","mapRef","useRef","reRender","useReducer","x","_extends","current","result","clear","delete","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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"}
@@ -188,11 +188,9 @@ var createFormInstantContainer = function createFormInstantContainer(inputMappin
188
188
  };
189
189
  };
190
190
  var ElementMapping = function ElementMapping(_ref) {
191
- var _formProps$fieldConfi;
192
191
  var formProps = _ref.formProps;
193
- if (!InputMappingContext) return null;
194
192
  var InputMapping = useContext(InputMappingContext);
195
- var type = ((_formProps$fieldConfi = formProps.fieldConfig) == null ? void 0 : _formProps$fieldConfi.type) || formProps.type;
193
+ var type = formProps.fieldType;
196
194
  var Element = InputMapping.get(type);
197
195
  if (!Element) return null;
198
196
  return createElement(Element, formProps);
@@ -1 +1 @@
1
- {"version":3,"file":"react-input-mapping.esm.js","sources":["../src/InputMapping/class.ts","../src/InputMapping/context.tsx","../src/InputMapping/provider.tsx","../src/InputMapping/useFormInstantField.tsx","../src/InputMapping/useInputMapping.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS, ParsedField } 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<ParsedField<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 Partial<InputComponentMap<Ob>>;\n const extendObj = cb(this as InputMapping<Ob & { [K in keyof Ext]: any }>) as Partial<\n InputComponentMap<{ [K in keyof Ext]: any }>\n >;\n return new InputMapping<Ob & { [K in keyof Ext]: any }>({\n ...(obj as Partial<InputComponentMap<Ob & { [K in keyof Ext]: any }>>),\n ...(extendObj as Partial<InputComponentMap<Ob & { [K in keyof Ext]: any }>>),\n });\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping<any> | null>(null) as React.Context<\n InputMapping<any>\n>;\n","import { Context, createElement, FC, ReactNode, useContext } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { ObBase, ParsedField } from './types';\n\ntype FCC = React.FC<{ children: ReactNode }>;\n\ninterface createFormInstantContainerReturn<Ob extends Record<ObBase, any>> {\n useInputMapping: Context<InputMapping<Ob>>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <Ob extends Record<any, any>>(\n inputMapping: InputMapping<Ob>\n) => {\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping,\n children: props.children,\n });\n\n const useInputMapping = () => useContext(InputMappingContext);\n\n return {\n FormInstantInputsProvider,\n useInputMapping,\n } as unknown as createFormInstantContainerReturn<Ob>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<any, string> }> = ({ formProps }) => {\n if (!InputMappingContext) return null;\n\n const InputMapping = useContext(InputMappingContext);\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<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","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"],"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","InputMappingContext","createContext","createFormInstantContainer","inputMapping","FormInstantInputsProvider","props","createElement","Provider","children","useInputMapping","useContext","ElementMapping","_ref","_formProps$fieldConfi","formProps","type","fieldConfig","Element","useFormInstantField","name","prop","_objectWithoutPropertiesLoose","_excluded","_useState","useState","values","schema","fiends","setFiends","append","useCallback","max","includes","pre","concat","remove","index","min","filter","_","i","_extends","createInputMappingHook","initialState","Error","mapRef","useRef","_useReducer","useReducer","x","reRender","current","result","clear","delete"],"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/provider.tsx","../src/InputMapping/useFormInstantField.tsx","../src/InputMapping/useInputMapping.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { INPUT_COMPONENTS_KEYS, ParsedField } 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<ParsedField<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 Partial<\n InputComponentMap<Ob & { [K in keyof Ext]: any }>\n >;\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 });\n }\n}\n","import { createContext } from 'react';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping<any> | null>(null) as React.Context<\n InputMapping<any>\n>;\n","import { Context, createElement, FC, ReactNode, useContext } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { ObBase, ParsedField } from './types';\n\ntype FCC = React.FC<{ children: ReactNode }>;\n\ninterface createFormInstantContainerReturn<Ob extends Record<ObBase, any>> {\n useInputMapping: Context<InputMapping<Ob>>;\n FormInstantInputsProvider: FCC;\n}\n\nexport const createFormInstantContainer = <Ob extends Record<any, any>>(\n inputMapping: InputMapping<Ob>,\n) => {\n const FormInstantInputsProvider: FCC = (props) =>\n createElement(InputMappingContext.Provider, {\n value: inputMapping,\n children: props.children,\n });\n\n const useInputMapping = () => useContext(InputMappingContext);\n\n return {\n FormInstantInputsProvider,\n useInputMapping,\n } as unknown as createFormInstantContainerReturn<Ob>;\n};\n\nexport const ElementMapping: FC<{ formProps: ParsedField<any, string> }> = ({ formProps }) => {\n const InputMapping = useContext(InputMappingContext);\n\n const type = formProps.fieldType;\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<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","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"],"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","InputMappingContext","createContext","createFormInstantContainer","inputMapping","FormInstantInputsProvider","props","createElement","Provider","children","useInputMapping","useContext","ElementMapping","_ref","formProps","type","fieldType","Element","useFormInstantField","fieldConfig","name","prop","_objectWithoutPropertiesLoose","_excluded","_useState","useState","values","schema","fiends","setFiends","append","useCallback","max","includes","pre","concat","remove","index","min","filter","_","i","_extends","createInputMappingHook","initialState","Error","mapRef","useRef","_useReducer","useReducer","x","reRender","current","result","clear","delete"],"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.7.7-rc.1",
3
+ "version": "1.8.0",
4
4
  "author": {
5
5
  "name": "leomerida15",
6
6
  "email": "dimasmerida15@gmail.com",