@form-instant/react-input-mapping 1.6.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.
- package/dist/InputMapping/class.d.ts +13 -8
- package/dist/InputMapping/context.d.ts +2 -1
- package/dist/InputMapping/provider.d.ts +10 -5
- package/dist/InputMapping/types.d.ts +2 -1
- package/dist/InputMapping/useFormInstantField.d.ts +8 -4
- package/dist/InputMapping/useInputMapping.d.ts +13 -1
- package/dist/react-input-mapping.cjs.development.js +50 -53
- package/dist/react-input-mapping.cjs.development.js.map +1 -1
- package/dist/react-input-mapping.cjs.production.min.js +1 -1
- package/dist/react-input-mapping.cjs.production.min.js.map +1 -1
- package/dist/react-input-mapping.esm.js +50 -53
- package/dist/react-input-mapping.esm.js.map +1 -1
- package/package.json +4 -1
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { INPUT_COMPONENTS_KEYS } from './types';
|
|
3
|
-
type
|
|
4
|
-
[K in keyof
|
|
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<
|
|
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<
|
|
10
|
-
exists(k: string):
|
|
11
|
-
get
|
|
12
|
-
set(k:
|
|
13
|
-
|
|
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
|
-
|
|
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 {
|
|
3
|
-
|
|
4
|
-
|
|
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: <
|
|
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<
|
|
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?:
|
|
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<
|
|
3
|
-
fiends: ParsedField<
|
|
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<
|
|
7
|
-
fieldConfig:
|
|
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
|
|
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
|
+
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var useContextSelector = require('use-context-selector');
|
|
4
3
|
var react = require('react');
|
|
5
4
|
|
|
6
5
|
function _arrayLikeToArray(r, a) {
|
|
@@ -72,7 +71,7 @@ function _objectWithoutPropertiesLoose(r, e) {
|
|
|
72
71
|
if (null == r) return {};
|
|
73
72
|
var t = {};
|
|
74
73
|
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
75
|
-
if (e.
|
|
74
|
+
if (-1 !== e.indexOf(n)) continue;
|
|
76
75
|
t[n] = r[n];
|
|
77
76
|
}
|
|
78
77
|
return t;
|
|
@@ -112,7 +111,6 @@ function _wrapNativeSuper(t) {
|
|
|
112
111
|
}, _wrapNativeSuper(t);
|
|
113
112
|
}
|
|
114
113
|
|
|
115
|
-
// K extiende de INPUT_COMPONENTS_KEYS y puede incluir más claves personalizadas
|
|
116
114
|
var InputMapping = /*#__PURE__*/function (_Map) {
|
|
117
115
|
function InputMapping(obj) {
|
|
118
116
|
var _this;
|
|
@@ -135,17 +133,23 @@ var InputMapping = /*#__PURE__*/function (_Map) {
|
|
|
135
133
|
};
|
|
136
134
|
_proto.appendObj = function appendObj(obj) {
|
|
137
135
|
var keys = Object.keys(obj);
|
|
138
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
139
136
|
for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
|
|
140
137
|
var key = _keys[_i];
|
|
141
|
-
|
|
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
|
+
}
|
|
142
144
|
}
|
|
143
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
144
145
|
for (var _iterator = _createForOfIteratorHelperLoose(this.zodAdacter()), _step; !(_step = _iterator()).done;) {
|
|
145
146
|
var _step$value = _step.value,
|
|
146
147
|
k = _step$value[0],
|
|
147
148
|
v = _step$value[1];
|
|
148
|
-
|
|
149
|
+
var existingValue = this.get(v);
|
|
150
|
+
if (existingValue) {
|
|
151
|
+
this.set(k, existingValue);
|
|
152
|
+
}
|
|
149
153
|
}
|
|
150
154
|
};
|
|
151
155
|
_proto.exists = function exists(k) {
|
|
@@ -168,42 +172,40 @@ var InputMapping = /*#__PURE__*/function (_Map) {
|
|
|
168
172
|
return InputMapping;
|
|
169
173
|
}(/*#__PURE__*/_wrapNativeSuper(Map));
|
|
170
174
|
|
|
171
|
-
|
|
175
|
+
function createInputMappingContext() {
|
|
176
|
+
return react.createContext(null);
|
|
177
|
+
}
|
|
172
178
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
}
|
|
199
|
-
var res = InputMapping.prototype["delete"].apply(mapRef.current, args);
|
|
200
|
-
reRender();
|
|
201
|
-
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
|
+
});
|
|
202
204
|
};
|
|
203
|
-
|
|
204
|
-
};
|
|
205
|
+
}
|
|
205
206
|
|
|
206
207
|
var createFormInstantContainer = function createFormInstantContainer(inputMapping) {
|
|
208
|
+
var InputMappingContext = createInputMappingContext();
|
|
207
209
|
var FormInstantInputsProvider = function FormInstantInputsProvider(props) {
|
|
208
210
|
return react.createElement(InputMappingContext.Provider, {
|
|
209
211
|
value: inputMapping,
|
|
@@ -212,17 +214,12 @@ var createFormInstantContainer = function createFormInstantContainer(inputMappin
|
|
|
212
214
|
};
|
|
213
215
|
return {
|
|
214
216
|
FormInstantInputsProvider: FormInstantInputsProvider,
|
|
215
|
-
useInputMapping:
|
|
217
|
+
useInputMapping: createInputMappingHook(InputMappingContext)
|
|
216
218
|
};
|
|
217
219
|
};
|
|
218
220
|
var ElementMapping = function ElementMapping(_ref) {
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
var InputMapping = useInputMapping();
|
|
222
|
-
var type = ((_formProps$fieldConfi = formProps.fieldConfig) == null ? void 0 : _formProps$fieldConfi.type) || formProps.type;
|
|
223
|
-
var Element = InputMapping.get(type);
|
|
224
|
-
if (!Element) return null;
|
|
225
|
-
return react.createElement(Element, formProps);
|
|
221
|
+
// Este componente no puede ser genérico, así que se mantiene igual
|
|
222
|
+
return null;
|
|
226
223
|
};
|
|
227
224
|
|
|
228
225
|
var _excluded = ["fieldConfig", "name"];
|
|
@@ -234,17 +231,17 @@ var useFormInstantField = function useFormInstantField(_ref) {
|
|
|
234
231
|
fiends = _useState[0],
|
|
235
232
|
setFiends = _useState[1];
|
|
236
233
|
var append = react.useCallback(function () {
|
|
237
|
-
if (![fieldConfig == null ? void 0 : fieldConfig.max
|
|
234
|
+
if (![fieldConfig == null ? void 0 : fieldConfig.max].includes(fiends.length)) setFiends(function (pre) {
|
|
238
235
|
return [].concat(pre, [pre[0]]);
|
|
239
236
|
});
|
|
240
|
-
}, [fiends, fieldConfig == null ? void 0 : fieldConfig.max
|
|
237
|
+
}, [fiends, fieldConfig == null ? void 0 : fieldConfig.max]);
|
|
241
238
|
var remove = react.useCallback(function (index) {
|
|
242
|
-
if (![fieldConfig == null ? void 0 : fieldConfig.min
|
|
239
|
+
if (![fieldConfig == null ? void 0 : fieldConfig.min].includes(fiends.length)) setFiends(function (pre) {
|
|
243
240
|
return pre.filter(function (_, i) {
|
|
244
241
|
return i !== index;
|
|
245
242
|
});
|
|
246
243
|
});
|
|
247
|
-
}, [fiends, fieldConfig == null ? void 0 : fieldConfig.min
|
|
244
|
+
}, [fiends, fieldConfig == null ? void 0 : fieldConfig.min]);
|
|
248
245
|
return _extends({
|
|
249
246
|
fiends: fiends,
|
|
250
247
|
append: append,
|
|
@@ -257,8 +254,8 @@ var useFormInstantField = function useFormInstantField(_ref) {
|
|
|
257
254
|
|
|
258
255
|
exports.ElementMapping = ElementMapping;
|
|
259
256
|
exports.InputMapping = InputMapping;
|
|
260
|
-
exports.InputMappingContext = InputMappingContext;
|
|
261
257
|
exports.createFormInstantContainer = createFormInstantContainer;
|
|
258
|
+
exports.createInputMappingContext = createInputMappingContext;
|
|
259
|
+
exports.createInputMappingHook = createInputMappingHook;
|
|
262
260
|
exports.useFormInstantField = useFormInstantField;
|
|
263
|
-
exports.useInputMapping = useInputMapping;
|
|
264
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 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n for (const key of keys) this.set(key as Ky, obj[key]!);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\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 'use-context-selector';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping>(new InputMapping());\n","import { useReducer, useRef } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { useContext } from 'use-context-selector';\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("
|
|
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 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n for (const key of keys) this.set(key as Ky, obj[key]!);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\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 'use-context-selector';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping>(new InputMapping());\n","import { useReducer, useRef } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { useContext } from 'use-context-selector';\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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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { createContext, useContext } from '
|
|
2
|
-
import { useRef, useReducer, createElement, useState, useCallback } from 'react';
|
|
1
|
+
import { createContext, useContext, useRef, useReducer, createElement, useState, useCallback } from 'react';
|
|
3
2
|
|
|
4
3
|
function _arrayLikeToArray(r, a) {
|
|
5
4
|
(null == a || a > r.length) && (a = r.length);
|
|
@@ -70,7 +69,7 @@ function _objectWithoutPropertiesLoose(r, e) {
|
|
|
70
69
|
if (null == r) return {};
|
|
71
70
|
var t = {};
|
|
72
71
|
for (var n in r) if ({}.hasOwnProperty.call(r, n)) {
|
|
73
|
-
if (e.
|
|
72
|
+
if (-1 !== e.indexOf(n)) continue;
|
|
74
73
|
t[n] = r[n];
|
|
75
74
|
}
|
|
76
75
|
return t;
|
|
@@ -110,7 +109,6 @@ function _wrapNativeSuper(t) {
|
|
|
110
109
|
}, _wrapNativeSuper(t);
|
|
111
110
|
}
|
|
112
111
|
|
|
113
|
-
// K extiende de INPUT_COMPONENTS_KEYS y puede incluir más claves personalizadas
|
|
114
112
|
var InputMapping = /*#__PURE__*/function (_Map) {
|
|
115
113
|
function InputMapping(obj) {
|
|
116
114
|
var _this;
|
|
@@ -133,17 +131,23 @@ var InputMapping = /*#__PURE__*/function (_Map) {
|
|
|
133
131
|
};
|
|
134
132
|
_proto.appendObj = function appendObj(obj) {
|
|
135
133
|
var keys = Object.keys(obj);
|
|
136
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
137
134
|
for (var _i = 0, _keys = keys; _i < _keys.length; _i++) {
|
|
138
135
|
var key = _keys[_i];
|
|
139
|
-
|
|
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
|
+
}
|
|
140
142
|
}
|
|
141
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
142
143
|
for (var _iterator = _createForOfIteratorHelperLoose(this.zodAdacter()), _step; !(_step = _iterator()).done;) {
|
|
143
144
|
var _step$value = _step.value,
|
|
144
145
|
k = _step$value[0],
|
|
145
146
|
v = _step$value[1];
|
|
146
|
-
|
|
147
|
+
var existingValue = this.get(v);
|
|
148
|
+
if (existingValue) {
|
|
149
|
+
this.set(k, existingValue);
|
|
150
|
+
}
|
|
147
151
|
}
|
|
148
152
|
};
|
|
149
153
|
_proto.exists = function exists(k) {
|
|
@@ -166,42 +170,40 @@ var InputMapping = /*#__PURE__*/function (_Map) {
|
|
|
166
170
|
return InputMapping;
|
|
167
171
|
}(/*#__PURE__*/_wrapNativeSuper(Map));
|
|
168
172
|
|
|
169
|
-
|
|
173
|
+
function createInputMappingContext() {
|
|
174
|
+
return createContext(null);
|
|
175
|
+
}
|
|
170
176
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
}
|
|
197
|
-
var res = InputMapping.prototype["delete"].apply(mapRef.current, args);
|
|
198
|
-
reRender();
|
|
199
|
-
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
|
+
});
|
|
200
202
|
};
|
|
201
|
-
|
|
202
|
-
};
|
|
203
|
+
}
|
|
203
204
|
|
|
204
205
|
var createFormInstantContainer = function createFormInstantContainer(inputMapping) {
|
|
206
|
+
var InputMappingContext = createInputMappingContext();
|
|
205
207
|
var FormInstantInputsProvider = function FormInstantInputsProvider(props) {
|
|
206
208
|
return createElement(InputMappingContext.Provider, {
|
|
207
209
|
value: inputMapping,
|
|
@@ -210,17 +212,12 @@ var createFormInstantContainer = function createFormInstantContainer(inputMappin
|
|
|
210
212
|
};
|
|
211
213
|
return {
|
|
212
214
|
FormInstantInputsProvider: FormInstantInputsProvider,
|
|
213
|
-
useInputMapping:
|
|
215
|
+
useInputMapping: createInputMappingHook(InputMappingContext)
|
|
214
216
|
};
|
|
215
217
|
};
|
|
216
218
|
var ElementMapping = function ElementMapping(_ref) {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
var InputMapping = useInputMapping();
|
|
220
|
-
var type = ((_formProps$fieldConfi = formProps.fieldConfig) == null ? void 0 : _formProps$fieldConfi.type) || formProps.type;
|
|
221
|
-
var Element = InputMapping.get(type);
|
|
222
|
-
if (!Element) return null;
|
|
223
|
-
return createElement(Element, formProps);
|
|
219
|
+
// Este componente no puede ser genérico, así que se mantiene igual
|
|
220
|
+
return null;
|
|
224
221
|
};
|
|
225
222
|
|
|
226
223
|
var _excluded = ["fieldConfig", "name"];
|
|
@@ -232,17 +229,17 @@ var useFormInstantField = function useFormInstantField(_ref) {
|
|
|
232
229
|
fiends = _useState[0],
|
|
233
230
|
setFiends = _useState[1];
|
|
234
231
|
var append = useCallback(function () {
|
|
235
|
-
if (![fieldConfig == null ? void 0 : fieldConfig.max
|
|
232
|
+
if (![fieldConfig == null ? void 0 : fieldConfig.max].includes(fiends.length)) setFiends(function (pre) {
|
|
236
233
|
return [].concat(pre, [pre[0]]);
|
|
237
234
|
});
|
|
238
|
-
}, [fiends, fieldConfig == null ? void 0 : fieldConfig.max
|
|
235
|
+
}, [fiends, fieldConfig == null ? void 0 : fieldConfig.max]);
|
|
239
236
|
var remove = useCallback(function (index) {
|
|
240
|
-
if (![fieldConfig == null ? void 0 : fieldConfig.min
|
|
237
|
+
if (![fieldConfig == null ? void 0 : fieldConfig.min].includes(fiends.length)) setFiends(function (pre) {
|
|
241
238
|
return pre.filter(function (_, i) {
|
|
242
239
|
return i !== index;
|
|
243
240
|
});
|
|
244
241
|
});
|
|
245
|
-
}, [fiends, fieldConfig == null ? void 0 : fieldConfig.min
|
|
242
|
+
}, [fiends, fieldConfig == null ? void 0 : fieldConfig.min]);
|
|
246
243
|
return _extends({
|
|
247
244
|
fiends: fiends,
|
|
248
245
|
append: append,
|
|
@@ -253,5 +250,5 @@ var useFormInstantField = function useFormInstantField(_ref) {
|
|
|
253
250
|
}, prop);
|
|
254
251
|
};
|
|
255
252
|
|
|
256
|
-
export { ElementMapping, InputMapping,
|
|
253
|
+
export { ElementMapping, InputMapping, createFormInstantContainer, createInputMappingContext, createInputMappingHook, useFormInstantField };
|
|
257
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 // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n for (const key of keys) this.set(key as Ky, obj[key]!);\n\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\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 'use-context-selector';\nimport { InputMapping } from './class';\n\nexport const InputMappingContext = createContext<InputMapping>(new InputMapping());\n","import { useReducer, useRef } from 'react';\nimport { InputMapping } from './class';\nimport { InputMappingContext } from './context';\nimport { useContext } from 'use-context-selector';\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.
|
|
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": [
|
|
@@ -74,6 +76,7 @@
|
|
|
74
76
|
],
|
|
75
77
|
"typings": "dist/index.d.ts",
|
|
76
78
|
"dependencies": {
|
|
79
|
+
"minimatch": "^10.0.3",
|
|
77
80
|
"use-context-selector": "^2.0.0"
|
|
78
81
|
}
|
|
79
82
|
}
|