@@ -53,9 +53,10 @@ const defalutStyle: React.CSSProperties = {
5353
5454type TypeProps = PropsWithChildren<{
5555 keyName: string | number;
56+ keys?: (string | number)[];
5657}>;
5758
58- export const TypeString: FC<TypeProps> = ({ children = '', keyName }) => {
59+ export const TypeString: FC<TypeProps> = ({ children = '', keyName, keys }) => {
5960 const { Str = {}, displayDataTypes } = useTypesStore();
6061 const { shortenTextAfterLength: length = 30, stringEllipsis = '...' } = useStore();
6162 const { as, render, ...reset } = Str;
@@ -82,10 +83,10 @@ export const TypeString: FC<TypeProps> = ({ children = '', keyName }) => {
8283 const text = shorten ? `${childrenStr.slice(0, length)}${stringEllipsis}` : childrenStr;
8384
8485 const isRender = render && typeof render === 'function';
85- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
86+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
8687 const cls = shorten ? 'w-rjv-value w-rjv-value-short' : 'w-rjv-value';
8788 const child =
88- isRender && render({ ...reset, children: text, className: cls }, { type: 'value', value: children, keyName });
89+ isRender && render({ ...reset, children: text, className: cls }, { type: 'value', value: children, keyName, keys });
8990 return (
9091 <Fragment>
9192 {displayDataTypes && (type || <Comp {...reset} style={style} />)}
@@ -104,7 +105,7 @@ export const TypeString: FC<TypeProps> = ({ children = '', keyName }) => {
104105
105106TypeString.displayName = 'JVR.TypeString';
106107
107- export const TypeTrue: FC<TypeProps> = ({ children, keyName }) => {
108+ export const TypeTrue: FC<TypeProps> = ({ children, keyName, keys }) => {
108109 const { True = {}, displayDataTypes } = useTypesStore();
109110 const { as, render, ...reset } = True;
110111 const Comp = as || 'span';
@@ -114,9 +115,10 @@ export const TypeTrue: FC<TypeProps> = ({ children, keyName }) => {
114115 };
115116
116117 const isRender = render && typeof render === 'function';
117- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
118+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
118119 const child =
119- isRender && render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName });
120+ isRender &&
121+ render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName, keys });
120122 return (
121123 <Fragment>
122124 {displayDataTypes && (type || <Comp {...reset} style={style} />)}
@@ -131,7 +133,7 @@ export const TypeTrue: FC<TypeProps> = ({ children, keyName }) => {
131133
132134TypeTrue.displayName = 'JVR.TypeTrue';
133135
134- export const TypeFalse: FC<TypeProps> = ({ children, keyName }) => {
136+ export const TypeFalse: FC<TypeProps> = ({ children, keyName, keys }) => {
135137 const { False = {}, displayDataTypes } = useTypesStore();
136138 const { as, render, ...reset } = False;
137139 const Comp = as || 'span';
@@ -141,9 +143,10 @@ export const TypeFalse: FC<TypeProps> = ({ children, keyName }) => {
141143 };
142144
143145 const isRender = render && typeof render === 'function';
144- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
146+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
145147 const child =
146- isRender && render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName });
148+ isRender &&
149+ render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName, keys });
147150
148151 return (
149152 <Fragment>
@@ -159,7 +162,7 @@ export const TypeFalse: FC<TypeProps> = ({ children, keyName }) => {
159162
160163TypeFalse.displayName = 'JVR.TypeFalse';
161164
162- export const TypeFloat: FC<TypeProps> = ({ children, keyName }) => {
165+ export const TypeFloat: FC<TypeProps> = ({ children, keyName, keys }) => {
163166 const { Float = {}, displayDataTypes } = useTypesStore();
164167 const { as, render, ...reset } = Float;
165168 const Comp = as || 'span';
@@ -169,9 +172,10 @@ export const TypeFloat: FC<TypeProps> = ({ children, keyName }) => {
169172 };
170173
171174 const isRender = render && typeof render === 'function';
172- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
175+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
173176 const child =
174- isRender && render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName });
177+ isRender &&
178+ render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName, keys });
175179
176180 return (
177181 <Fragment>
@@ -187,7 +191,7 @@ export const TypeFloat: FC<TypeProps> = ({ children, keyName }) => {
187191
188192TypeFloat.displayName = 'JVR.TypeFloat';
189193
190- export const TypeInt: FC<TypeProps> = ({ children, keyName }) => {
194+ export const TypeInt: FC<TypeProps> = ({ children, keyName, keys }) => {
191195 const { Int = {}, displayDataTypes } = useTypesStore();
192196 const { as, render, ...reset } = Int;
193197 const Comp = as || 'span';
@@ -197,9 +201,10 @@ export const TypeInt: FC<TypeProps> = ({ children, keyName }) => {
197201 };
198202
199203 const isRender = render && typeof render === 'function';
200- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
204+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
201205 const child =
202- isRender && render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName });
206+ isRender &&
207+ render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName, keys });
203208
204209 return (
205210 <Fragment>
@@ -215,7 +220,7 @@ export const TypeInt: FC<TypeProps> = ({ children, keyName }) => {
215220
216221TypeInt.displayName = 'JVR.TypeInt';
217222
218- export const TypeBigint: FC<{ children?: BigInt } & Omit<TypeProps, 'children'>> = ({ children, keyName }) => {
223+ export const TypeBigint: FC<{ children?: BigInt } & Omit<TypeProps, 'children'>> = ({ children, keyName, keys }) => {
219224 const { Bigint: CompBigint = {}, displayDataTypes } = useTypesStore();
220225 const { as, render, ...reset } = CompBigint;
221226 const Comp = as || 'span';
@@ -225,9 +230,10 @@ export const TypeBigint: FC<{ children?: BigInt } & Omit<TypeProps, 'children'>>
225230 };
226231
227232 const isRender = render && typeof render === 'function';
228- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
233+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
229234 const child =
230- isRender && render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName });
235+ isRender &&
236+ render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName, keys });
231237
232238 return (
233239 <Fragment>
@@ -243,7 +249,7 @@ export const TypeBigint: FC<{ children?: BigInt } & Omit<TypeProps, 'children'>>
243249
244250TypeBigint.displayName = 'JVR.TypeFloat';
245251
246- export const TypeUrl: FC<{ children?: URL } & Omit<TypeProps, 'children'>> = ({ children, keyName }) => {
252+ export const TypeUrl: FC<{ children?: URL } & Omit<TypeProps, 'children'>> = ({ children, keyName, keys }) => {
247253 const { Url = {}, displayDataTypes } = useTypesStore();
248254 const { as, render, ...reset } = Url;
249255 const Comp = as || 'span';
@@ -253,12 +259,12 @@ export const TypeUrl: FC<{ children?: URL } & Omit<TypeProps, 'children'>> = ({
253259 };
254260
255261 const isRender = render && typeof render === 'function';
256- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
262+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
257263 const child =
258264 isRender &&
259265 render(
260266 { ...reset, children: children?.href, className: 'w-rjv-value' },
261- { type: 'value', value: children, keyName },
267+ { type: 'value', value: children, keyName, keys },
262268 );
263269
264270 return (
@@ -277,7 +283,7 @@ export const TypeUrl: FC<{ children?: URL } & Omit<TypeProps, 'children'>> = ({
277283
278284TypeUrl.displayName = 'JVR.TypeUrl';
279285
280- export const TypeDate: FC<{ children?: Date } & Omit<TypeProps, 'children'>> = ({ children, keyName }) => {
286+ export const TypeDate: FC<{ children?: Date } & Omit<TypeProps, 'children'>> = ({ children, keyName, keys }) => {
281287 const { Date: CompData = {}, displayDataTypes } = useTypesStore();
282288 const { as, render, ...reset } = CompData;
283289 const Comp = as || 'span';
@@ -287,11 +293,14 @@ export const TypeDate: FC<{ children?: Date } & Omit<TypeProps, 'children'>> = (
287293 };
288294
289295 const isRender = render && typeof render === 'function';
290- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
296+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
291297 const childStr = children instanceof Date ? children.toLocaleString() : children;
292298 const child =
293299 isRender &&
294- render({ ...reset, children: childStr, className: 'w-rjv-value' }, { type: 'value', value: children, keyName });
300+ render(
301+ { ...reset, children: childStr, className: 'w-rjv-value' },
302+ { type: 'value', value: children, keyName, keys },
303+ );
295304
296305 return (
297306 <Fragment>
@@ -307,7 +316,7 @@ export const TypeDate: FC<{ children?: Date } & Omit<TypeProps, 'children'>> = (
307316
308317TypeDate.displayName = 'JVR.TypeDate';
309318
310- export const TypeUndefined: FC<TypeProps> = ({ children, keyName }) => {
319+ export const TypeUndefined: FC<TypeProps> = ({ children, keyName, keys }) => {
311320 const { Undefined = {}, displayDataTypes } = useTypesStore();
312321 const { as, render, ...reset } = Undefined;
313322 const Comp = as || 'span';
@@ -317,9 +326,10 @@ export const TypeUndefined: FC<TypeProps> = ({ children, keyName }) => {
317326 };
318327
319328 const isRender = render && typeof render === 'function';
320- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
329+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
321330 const child =
322- isRender && render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName });
331+ isRender &&
332+ render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName, keys });
323333
324334 return (
325335 <Fragment>
@@ -331,7 +341,7 @@ export const TypeUndefined: FC<TypeProps> = ({ children, keyName }) => {
331341
332342TypeUndefined.displayName = 'JVR.TypeUndefined';
333343
334- export const TypeNull: FC<TypeProps> = ({ children, keyName }) => {
344+ export const TypeNull: FC<TypeProps> = ({ children, keyName, keys }) => {
335345 const { Null = {}, displayDataTypes } = useTypesStore();
336346 const { as, render, ...reset } = Null;
337347 const Comp = as || 'span';
@@ -341,9 +351,10 @@ export const TypeNull: FC<TypeProps> = ({ children, keyName }) => {
341351 };
342352
343353 const isRender = render && typeof render === 'function';
344- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
354+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
345355 const child =
346- isRender && render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName });
356+ isRender &&
357+ render({ ...reset, children, className: 'w-rjv-value' }, { type: 'value', value: children, keyName, keys });
347358
348359 return (
349360 <Fragment>
@@ -355,7 +366,7 @@ export const TypeNull: FC<TypeProps> = ({ children, keyName }) => {
355366
356367TypeNull.displayName = 'JVR.TypeNull';
357368
358- export const TypeNan: FC<TypeProps> = ({ children, keyName }) => {
369+ export const TypeNan: FC<TypeProps> = ({ children, keyName, keys }) => {
359370 const { Nan = {}, displayDataTypes } = useTypesStore();
360371 const { as, render, ...reset } = Nan;
361372 const Comp = as || 'span';
@@ -365,12 +376,12 @@ export const TypeNan: FC<TypeProps> = ({ children, keyName }) => {
365376 };
366377
367378 const isRender = render && typeof render === 'function';
368- const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName });
379+ const type = isRender && render({ ...reset, style }, { type: 'type', value: children, keyName, keys });
369380 const child =
370381 isRender &&
371382 render(
372383 { ...reset, children: children?.toString(), className: 'w-rjv-value' },
373- { type: 'value', value: children, keyName },
384+ { type: 'value', value: children, keyName, keys },
374385 );
375386
376387 return (
0 commit comments