@crediblemark/build 0.22.2 → 0.22.7

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.
Files changed (51) hide show
  1. package/README.md +1 -5
  2. package/dist/ArrayField-EPM4TV3J.mjs +538 -0
  3. package/dist/ArrayField-ZD5UTLNU.css +1216 -0
  4. package/dist/{Editor-XZF6CWVW.css → Editor-E7FALXHL.css} +7 -7
  5. package/dist/{Editor-ZC67OU2A.mjs → Editor-L674TD7T.mjs} +16 -18
  6. package/dist/ObjectField-MW3SSNKI.mjs +87 -0
  7. package/dist/ObjectField-SQKROKJM.css +1216 -0
  8. package/dist/{Render-WCX4AXOX.css → Render-JDXVKZXN.css} +1 -1
  9. package/dist/{Render-JBFI6HYN.mjs → Render-WP5OOTBB.mjs} +4 -7
  10. package/dist/chunk-2JUMF5G3.mjs +1145 -0
  11. package/dist/{chunk-VGDMWS44.mjs → chunk-4PJ4QMWI.mjs} +4 -25
  12. package/dist/{chunk-3AJBFQU4.mjs → chunk-64A37UUC.mjs} +19 -53
  13. package/dist/{chunk-QF3GD5WQ.mjs → chunk-67TMLSKM.mjs} +1 -5
  14. package/dist/{chunk-GUJDGRSM.mjs → chunk-7LXZOPYT.mjs} +5 -29
  15. package/dist/chunk-AEKBE267.mjs +19 -0
  16. package/dist/chunk-AFVEAZTD.mjs +2 -0
  17. package/dist/{chunk-IJHL7BIR.mjs → chunk-AL77I3BV.mjs} +1 -6
  18. package/dist/chunk-BFHV72KK.mjs +31 -0
  19. package/dist/{chunk-PHGC6QYB.mjs → chunk-DEUK76GN.mjs} +0 -5
  20. package/dist/{chunk-4SQOX3ZQ.mjs → chunk-DVK7K7D6.mjs} +5 -27
  21. package/dist/{chunk-VKBVSWU3.mjs → chunk-JNHQNNGW.mjs} +3672 -5905
  22. package/dist/{chunk-HHBUU7WF.mjs → chunk-JNMMY5D7.mjs} +1 -5
  23. package/dist/chunk-K27LFPQL.mjs +339 -0
  24. package/dist/{chunk-VFD76OD5.mjs → chunk-NYBWAKLT.mjs} +1 -5
  25. package/dist/chunk-RDTXKOE7.mjs +60 -0
  26. package/dist/{chunk-CDMESQDA.mjs → chunk-SMAWAXVX.mjs} +1 -10
  27. package/dist/{chunk-DSXRK4QJ.mjs → chunk-T6RT6PV4.mjs} +13 -62
  28. package/dist/{chunk-U2NVBXAC.mjs → chunk-ZY24NW7X.mjs} +246 -358
  29. package/dist/{full-ABQQRJAO.css → full-MY4DABK6.css} +6 -6
  30. package/dist/{full-LJRK5736.mjs → full-SGY5HNVB.mjs} +10 -14
  31. package/dist/index.css +588 -294
  32. package/dist/index.d.mts +5 -8
  33. package/dist/index.d.ts +5 -8
  34. package/dist/index.js +5985 -5656
  35. package/dist/index.mjs +23 -25
  36. package/dist/internal.mjs +3 -8
  37. package/dist/{loaded-NE2PIHUQ.mjs → loaded-2GLOBOVP.mjs} +7 -10
  38. package/dist/{loaded-N7VXUR4O.mjs → loaded-AH3CPHD2.mjs} +7 -10
  39. package/dist/{loaded-DWCENJKQ.mjs → loaded-ARSKBJWP.mjs} +7 -10
  40. package/dist/{loaded-SMEIWWHS.css → loaded-E7C36OKZ.css} +1 -1
  41. package/dist/no-external.css +299 -294
  42. package/dist/no-external.d.mts +1 -1
  43. package/dist/no-external.d.ts +1 -1
  44. package/dist/no-external.js +5985 -5656
  45. package/dist/no-external.mjs +23 -25
  46. package/dist/rsc.css +1 -1
  47. package/dist/rsc.js +5 -79
  48. package/dist/rsc.mjs +6 -12
  49. package/package.json +41 -36
  50. package/dist/chunk-B4BOBGYB.mjs +0 -42
  51. package/dist/chunk-YH7AXYKP.mjs +0 -109
package/README.md CHANGED
@@ -17,11 +17,7 @@ The open-source visual editor for React. Build complex, high-performance page bu
17
17
  ## Installation
18
18
 
19
19
  ```bash
20
- npm install @crediblemark/build
21
- # or
22
- yarn add @crediblemark/build
23
- # or
24
- pnpm add @crediblemark/build
20
+ bun add @crediblemark/build
25
21
  ```
26
22
 
27
23
  ## Quick Start
@@ -0,0 +1,538 @@
1
+ import {
2
+ SubField
3
+ } from "./chunk-RDTXKOE7.mjs";
4
+ import {
5
+ DragIcon,
6
+ createDynamicCollisionDetector,
7
+ setDeep,
8
+ useSensors
9
+ } from "./chunk-K27LFPQL.mjs";
10
+ import {
11
+ getDeep,
12
+ useFieldStore,
13
+ useFieldStoreApi,
14
+ useNestedFieldContext
15
+ } from "./chunk-2JUMF5G3.mjs";
16
+ import "./chunk-4PJ4QMWI.mjs";
17
+ import "./chunk-AL77I3BV.mjs";
18
+ import {
19
+ IconButton
20
+ } from "./chunk-T6RT6PV4.mjs";
21
+ import "./chunk-NYBWAKLT.mjs";
22
+ import "./chunk-67TMLSKM.mjs";
23
+ import "./chunk-JNMMY5D7.mjs";
24
+ import {
25
+ Copy,
26
+ List,
27
+ Plus,
28
+ Trash,
29
+ reorder,
30
+ replace,
31
+ useAppStore,
32
+ useAppStoreApi
33
+ } from "./chunk-ZY24NW7X.mjs";
34
+ import {
35
+ populateIds
36
+ } from "./chunk-64A37UUC.mjs";
37
+ import "./chunk-SMAWAXVX.mjs";
38
+ import {
39
+ get_class_name_factory_default
40
+ } from "./chunk-BFHV72KK.mjs";
41
+ import {
42
+ defaultSlots,
43
+ walkField
44
+ } from "./chunk-7LXZOPYT.mjs";
45
+ import "./chunk-AFVEAZTD.mjs";
46
+
47
+ // css-module:/home/crediblemark/Project/Credibuild/components/AutoField/fields/ArrayField/styles.module.css#css-module
48
+ var styles_module_default = { "ArrayField": "_ArrayField_1q029_5", "ArrayField--isDraggingFrom": "_ArrayField--isDraggingFrom_1q029_13", "ArrayField-addButton": "_ArrayField-addButton_1q029_18", "ArrayField--hasItems": "_ArrayField--hasItems_1q029_33", "ArrayField-inner": "_ArrayField-inner_1q029_59", "ArrayFieldItem": "_ArrayFieldItem_1q029_67", "ArrayFieldItem--isDragging": "_ArrayFieldItem--isDragging_1q029_78", "ArrayFieldItem--isExpanded": "_ArrayFieldItem--isExpanded_1q029_82", "ArrayFieldItem-summary": "_ArrayFieldItem-summary_1q029_97", "ArrayFieldItem--noFields": "_ArrayFieldItem--noFields_1q029_122", "ArrayField--addDisabled": "_ArrayField--addDisabled_1q029_131", "ArrayFieldItem-body": "_ArrayFieldItem-body_1q029_170", "ArrayFieldItem-fieldset": "_ArrayFieldItem-fieldset_1q029_179", "ArrayFieldItem-rhs": "_ArrayFieldItem-rhs_1q029_187", "ArrayFieldItem-actions": "_ArrayFieldItem-actions_1q029_193" };
49
+
50
+ // components/AutoField/fields/ArrayField/index.tsx
51
+ import {
52
+ memo,
53
+ useCallback,
54
+ useEffect,
55
+ useMemo,
56
+ useRef,
57
+ useState
58
+ } from "react";
59
+
60
+ // components/Sortable/index.tsx
61
+ import { DragDropProvider } from "@dnd-kit/react";
62
+ import { useSortable } from "@dnd-kit/react/sortable";
63
+ import { jsx } from "react/jsx-runtime";
64
+ var SortableProvider = ({
65
+ children,
66
+ onDragStart,
67
+ onDragEnd,
68
+ onMove
69
+ }) => {
70
+ const sensors = useSensors({
71
+ mouse: { distance: { value: 5 } }
72
+ });
73
+ return /* @__PURE__ */ jsx(
74
+ DragDropProvider,
75
+ {
76
+ sensors,
77
+ onDragStart: (event) => onDragStart(event.operation.source?.id.toString() ?? ""),
78
+ onDragOver: (event, manager) => {
79
+ event.preventDefault();
80
+ const { operation } = event;
81
+ const { source, target } = operation;
82
+ if (!source || !target) return;
83
+ let sourceIndex = source.data.index;
84
+ let targetIndex = target.data.index;
85
+ const collisionData = manager.collisionObserver.collisions[0]?.data;
86
+ if (sourceIndex !== targetIndex && source.id !== target.id) {
87
+ const collisionPosition = collisionData?.direction === "up" ? "before" : "after";
88
+ if (targetIndex >= sourceIndex) {
89
+ targetIndex = targetIndex - 1;
90
+ }
91
+ if (collisionPosition === "after") {
92
+ targetIndex = targetIndex + 1;
93
+ }
94
+ onMove({
95
+ source: sourceIndex,
96
+ target: targetIndex
97
+ });
98
+ }
99
+ },
100
+ onDragEnd: () => {
101
+ setTimeout(() => {
102
+ onDragEnd();
103
+ }, 250);
104
+ },
105
+ children
106
+ }
107
+ );
108
+ };
109
+ var Sortable = ({
110
+ id,
111
+ index,
112
+ disabled,
113
+ children,
114
+ type = "item"
115
+ }) => {
116
+ const {
117
+ ref: sortableRef,
118
+ isDragging,
119
+ isDropping,
120
+ handleRef
121
+ } = useSortable({
122
+ id,
123
+ type,
124
+ index,
125
+ disabled,
126
+ data: { index },
127
+ collisionDetector: createDynamicCollisionDetector("y")
128
+ });
129
+ return children({ isDragging, isDropping, ref: sortableRef, handleRef });
130
+ };
131
+
132
+ // components/AutoField/fields/ArrayField/index.tsx
133
+ import { Fragment, jsx as jsx2, jsxs } from "react/jsx-runtime";
134
+ var getClassName = get_class_name_factory_default("ArrayField", styles_module_default);
135
+ var getClassNameItem = get_class_name_factory_default("ArrayFieldItem", styles_module_default);
136
+ var ItemSummaryInner = ({
137
+ index,
138
+ originalIndex,
139
+ field,
140
+ name
141
+ }) => {
142
+ const data = useFieldStore((s) => {
143
+ const path = `${[name]}[${index}]`;
144
+ return getDeep(s, path);
145
+ });
146
+ const itemSummary = useMemo(() => {
147
+ if (data && field.getItemSummary) {
148
+ return field.getItemSummary(data, index);
149
+ }
150
+ return `Item #${originalIndex}`;
151
+ }, [data, field, originalIndex, index]);
152
+ return itemSummary;
153
+ };
154
+ var ItemSummary = memo(ItemSummaryInner);
155
+ var ArrayFieldItemInternal = ({
156
+ id,
157
+ arrayId,
158
+ index,
159
+ dragIndex,
160
+ originalIndex,
161
+ field,
162
+ onChange,
163
+ onToggleExpand,
164
+ readOnly,
165
+ actions,
166
+ name,
167
+ localName
168
+ }) => {
169
+ const isExpanded = useAppStore((s) => {
170
+ return s.state.ui.arrayState[arrayId]?.openId === id;
171
+ });
172
+ const canEdit = useAppStore(
173
+ (s) => s.permissions.getPermissions({ item: s.selectedItem }).edit
174
+ );
175
+ const hasVisibleFields = useMemo(() => {
176
+ if (!field.arrayFields) {
177
+ return false;
178
+ }
179
+ return Object.values(field.arrayFields).some(
180
+ (subField) => subField.type !== "slot" && subField.visible !== false
181
+ );
182
+ }, [field.arrayFields]);
183
+ return /* @__PURE__ */ jsx2(Sortable, { id, index: dragIndex, disabled: readOnly, children: ({ isDragging, ref, handleRef }) => /* @__PURE__ */ jsxs(
184
+ "div",
185
+ {
186
+ ref,
187
+ className: getClassNameItem({
188
+ isExpanded: isExpanded && hasVisibleFields,
189
+ isDragging,
190
+ noFields: !hasVisibleFields
191
+ }),
192
+ children: [
193
+ /* @__PURE__ */ jsxs(
194
+ "div",
195
+ {
196
+ ref: handleRef,
197
+ onClick: (e) => {
198
+ if (isDragging) return;
199
+ e.preventDefault();
200
+ e.stopPropagation();
201
+ if (!hasVisibleFields) return;
202
+ onToggleExpand(id, isExpanded);
203
+ },
204
+ className: getClassNameItem("summary"),
205
+ children: [
206
+ /* @__PURE__ */ jsx2(
207
+ ItemSummary,
208
+ {
209
+ index,
210
+ originalIndex,
211
+ field,
212
+ name
213
+ }
214
+ ),
215
+ /* @__PURE__ */ jsxs("div", { className: getClassNameItem("rhs"), children: [
216
+ !readOnly && /* @__PURE__ */ jsx2("div", { className: getClassNameItem("actions"), children: actions }),
217
+ /* @__PURE__ */ jsx2("div", { children: /* @__PURE__ */ jsx2(DragIcon, {}) })
218
+ ] })
219
+ ]
220
+ }
221
+ ),
222
+ /* @__PURE__ */ jsx2("div", { className: getClassNameItem("body"), children: isExpanded && hasVisibleFields && /* @__PURE__ */ jsx2("fieldset", { className: getClassNameItem("fieldset"), children: Object.keys(field.arrayFields).map((subName) => {
223
+ const subField = field.arrayFields[subName];
224
+ return /* @__PURE__ */ jsx2(
225
+ SubField,
226
+ {
227
+ id: `${id}_${subName}`,
228
+ name,
229
+ index,
230
+ subName,
231
+ localName,
232
+ field: subField,
233
+ onChange,
234
+ forceReadOnly: !canEdit
235
+ },
236
+ `${id}_${subName}_${index}`
237
+ );
238
+ }) }) })
239
+ ]
240
+ }
241
+ ) });
242
+ };
243
+ var ArrayFieldItem = memo(ArrayFieldItemInternal);
244
+ var ArrayField = ({
245
+ field,
246
+ onChange,
247
+ id,
248
+ name = id,
249
+ label,
250
+ labelIcon,
251
+ readOnly,
252
+ Label = (props) => /* @__PURE__ */ jsx2("div", { ...props })
253
+ }) => {
254
+ const setUi = useAppStore((s) => s.setUi);
255
+ const appStoreApi = useAppStoreApi();
256
+ const fieldStore = useFieldStoreApi();
257
+ const { localName = name } = useNestedFieldContext();
258
+ const getValue = useCallback(() => getDeep(fieldStore.getState(), name) ?? [], [fieldStore, name]);
259
+ const getArrayState = useCallback(() => {
260
+ const { state } = appStoreApi.getState();
261
+ const thisState = state.ui.arrayState[id];
262
+ if (thisState?.items?.length) return thisState;
263
+ const value = getValue();
264
+ return {
265
+ items: Array.from(value || []).map((item, idx) => {
266
+ return {
267
+ _originalIndex: idx,
268
+ _currentIndex: idx,
269
+ _arrayId: `${id}-${idx}`
270
+ };
271
+ }),
272
+ openId: ""
273
+ };
274
+ }, [appStoreApi, id, getValue]);
275
+ const numItems = useFieldStore(() => {
276
+ return getValue().length;
277
+ });
278
+ const defaultArrayState = useMemo(getArrayState, [getArrayState]);
279
+ const mirror = useAppStore((s) => {
280
+ const thisArrayState = s.state.ui.arrayState[id];
281
+ return thisArrayState ?? defaultArrayState;
282
+ });
283
+ const appStore = useAppStoreApi();
284
+ const mapArrayStateToUi = useCallback(
285
+ (partialArrayState) => {
286
+ const state = appStore.getState().state;
287
+ return {
288
+ arrayState: {
289
+ ...state.ui.arrayState,
290
+ [id]: { ...getArrayState(), ...partialArrayState }
291
+ }
292
+ };
293
+ },
294
+ [appStore, id, getArrayState]
295
+ );
296
+ const getHighestIndex = useCallback(() => {
297
+ return getArrayState().items.reduce(
298
+ (acc, item) => item._originalIndex > acc ? item._originalIndex : acc,
299
+ -1
300
+ );
301
+ }, [getArrayState]);
302
+ const regenerateArrayState = useCallback((value) => {
303
+ let highestIndex = getHighestIndex();
304
+ const arrayState = getArrayState();
305
+ const newItems = Array.from(value || []).map((item, idx) => {
306
+ const arrayStateItem = arrayState.items[idx];
307
+ const newItem = {
308
+ _originalIndex: arrayStateItem?._originalIndex ?? highestIndex + 1,
309
+ _currentIndex: arrayStateItem?._currentIndex ?? idx,
310
+ _arrayId: arrayState.items[idx]?._arrayId || `${id}-${highestIndex + 1}`
311
+ };
312
+ if (newItem._originalIndex > highestIndex) {
313
+ highestIndex = newItem._originalIndex;
314
+ }
315
+ return newItem;
316
+ });
317
+ return { ...arrayState, items: newItems };
318
+ }, [getArrayState, getHighestIndex, id]);
319
+ const [draggedItem, setDraggedItem] = useState("");
320
+ const isDraggingAny = !!draggedItem;
321
+ const valueRef = useRef([]);
322
+ useEffect(() => {
323
+ valueRef.current = getValue();
324
+ }, [getValue]);
325
+ const uniqifyItem = useCallback(
326
+ (val) => {
327
+ if (field.type !== "array" || !field.arrayFields) return;
328
+ const config = appStore.getState().config;
329
+ return walkField({
330
+ value: val,
331
+ fields: field.arrayFields,
332
+ mappers: {
333
+ slot: ({ value }) => {
334
+ const content = value;
335
+ return content.map((item) => populateIds(item, config, true));
336
+ }
337
+ },
338
+ config
339
+ });
340
+ },
341
+ [appStore, field]
342
+ );
343
+ const syncCurrentIndexes = useCallback(() => {
344
+ const arrayState = getArrayState();
345
+ const newArrayStateItems = arrayState.items.map((item, index) => ({
346
+ ...item,
347
+ _currentIndex: index
348
+ }));
349
+ const state = appStore.getState().state;
350
+ const newUi = {
351
+ arrayState: {
352
+ ...state.ui.arrayState,
353
+ [id]: { ...arrayState, items: newArrayStateItems }
354
+ }
355
+ };
356
+ setUi(newUi, false);
357
+ }, [appStore, id, getArrayState, setUi]);
358
+ const updateValue = useCallback(
359
+ (newValue) => {
360
+ const newArrayState = regenerateArrayState(newValue);
361
+ setUi(mapArrayStateToUi(newArrayState), false);
362
+ onChange(newValue);
363
+ },
364
+ [regenerateArrayState, setUi, mapArrayStateToUi, onChange]
365
+ );
366
+ useEffect(() => {
367
+ const newArrayState = regenerateArrayState(getValue());
368
+ setUi(mapArrayStateToUi(newArrayState), false);
369
+ }, [numItems, getValue, mapArrayStateToUi, regenerateArrayState, setUi]);
370
+ if (field.type !== "array" || !field.arrayFields) {
371
+ return null;
372
+ }
373
+ const addDisabled = field.max !== void 0 && mirror?.items.length >= field.max || readOnly;
374
+ return /* @__PURE__ */ jsx2(
375
+ Label,
376
+ {
377
+ label: label || name,
378
+ icon: labelIcon || /* @__PURE__ */ jsx2(List, { size: 16 }),
379
+ el: "div",
380
+ readOnly,
381
+ children: /* @__PURE__ */ jsx2(
382
+ SortableProvider,
383
+ {
384
+ onDragStart: (id2) => {
385
+ valueRef.current = getValue();
386
+ setDraggedItem(id2);
387
+ syncCurrentIndexes();
388
+ },
389
+ onDragEnd: () => {
390
+ setDraggedItem("");
391
+ onChange(valueRef.current);
392
+ const currentFieldVal = fieldStore.getState();
393
+ fieldStore.setState(setDeep(currentFieldVal, name, valueRef.current));
394
+ syncCurrentIndexes();
395
+ },
396
+ onMove: (move) => {
397
+ const arrayState = getArrayState();
398
+ if (arrayState.items[move.source]._arrayId !== draggedItem) {
399
+ return;
400
+ }
401
+ const newValue = reorder(valueRef.current, move.source, move.target);
402
+ const newArrayStateItems = reorder(
403
+ arrayState.items,
404
+ move.source,
405
+ move.target
406
+ );
407
+ const state = appStore.getState().state;
408
+ const newUi = {
409
+ arrayState: {
410
+ ...state.ui.arrayState,
411
+ [id]: { ...arrayState, items: newArrayStateItems }
412
+ }
413
+ };
414
+ setUi(newUi, false);
415
+ valueRef.current = newValue;
416
+ },
417
+ children: /* @__PURE__ */ jsxs(
418
+ "div",
419
+ {
420
+ className: getClassName({
421
+ hasItems: numItems > 0,
422
+ addDisabled
423
+ }),
424
+ children: [
425
+ mirror.items.length > 0 && /* @__PURE__ */ jsx2("div", { className: getClassName("inner"), "data-dnd-container": true, children: mirror.items.map((item, index) => {
426
+ const {
427
+ _arrayId = `${id}-${index}`,
428
+ _originalIndex = index,
429
+ _currentIndex = index
430
+ } = item;
431
+ return /* @__PURE__ */ jsx2(
432
+ ArrayFieldItem,
433
+ {
434
+ index: _currentIndex,
435
+ dragIndex: index,
436
+ originalIndex: _originalIndex,
437
+ arrayId: id,
438
+ id: _arrayId,
439
+ readOnly,
440
+ field,
441
+ name,
442
+ localName,
443
+ onChange: (val, ui, subName) => {
444
+ const value = getValue();
445
+ const data = Array.from(value || [])[index] || {};
446
+ onChange(
447
+ replace(value, index, {
448
+ ...data,
449
+ [subName]: val
450
+ }),
451
+ ui
452
+ );
453
+ },
454
+ onToggleExpand: (id2, isExpanded) => {
455
+ if (isExpanded) {
456
+ setUi(
457
+ mapArrayStateToUi({
458
+ openId: ""
459
+ })
460
+ );
461
+ } else {
462
+ setUi(
463
+ mapArrayStateToUi({
464
+ openId: id2
465
+ })
466
+ );
467
+ }
468
+ },
469
+ actions: /* @__PURE__ */ jsxs(Fragment, { children: [
470
+ /* @__PURE__ */ jsx2("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ jsx2(
471
+ IconButton,
472
+ {
473
+ type: "button",
474
+ disabled: !!addDisabled,
475
+ onClick: (e) => {
476
+ e.stopPropagation();
477
+ const value = getValue();
478
+ const existingValue = [...value || []];
479
+ const newItem = uniqifyItem(existingValue[index]);
480
+ existingValue.splice(index, 0, newItem);
481
+ updateValue(existingValue);
482
+ },
483
+ title: "Duplicate",
484
+ children: /* @__PURE__ */ jsx2(Copy, { size: 16 })
485
+ }
486
+ ) }),
487
+ /* @__PURE__ */ jsx2("div", { className: getClassNameItem("action"), children: /* @__PURE__ */ jsx2(
488
+ IconButton,
489
+ {
490
+ type: "button",
491
+ disabled: field.min !== void 0 && field.min >= mirror.items.length,
492
+ onClick: (e) => {
493
+ e.stopPropagation();
494
+ const value = getValue();
495
+ const existingValue = [...value || []];
496
+ existingValue.splice(index, 1);
497
+ updateValue(existingValue);
498
+ },
499
+ title: "Delete",
500
+ children: /* @__PURE__ */ jsx2(Trash, { size: 16 })
501
+ }
502
+ ) })
503
+ ] })
504
+ },
505
+ _arrayId
506
+ );
507
+ }) }),
508
+ !addDisabled && /* @__PURE__ */ jsx2(
509
+ "button",
510
+ {
511
+ type: "button",
512
+ className: getClassName("addButton"),
513
+ onClick: () => {
514
+ if (isDraggingAny) return;
515
+ const value = getValue();
516
+ const existingValue = value || [];
517
+ const defaultProps = typeof field.defaultItemProps === "function" ? field.defaultItemProps(existingValue.length) : field.defaultItemProps ?? {};
518
+ const newItem = defaultSlots(
519
+ uniqifyItem(defaultProps),
520
+ field.arrayFields
521
+ );
522
+ const newValue = [...existingValue, newItem];
523
+ updateValue(newValue);
524
+ },
525
+ children: /* @__PURE__ */ jsx2(Plus, { size: 21 })
526
+ }
527
+ )
528
+ ]
529
+ }
530
+ )
531
+ }
532
+ )
533
+ }
534
+ );
535
+ };
536
+ export {
537
+ ArrayField
538
+ };