@soft-stech/bootsman-ui-shadcn 1.3.9 → 1.3.10
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/{BuiAutoForm.vue_vue_type_script_setup_true_lang-DyG1WRf2.js → BuiAutoForm.vue_vue_type_script_setup_true_lang--BfJ5eim.js} +1 -1
- package/dist/BuiAutoFormField.vue_vue_type_script_setup_true_lang-BEazRmdY.js +265 -0
- package/dist/BuiAutoFormFieldArray.vue_vue_type_script_setup_true_lang-BoFRtjoQ.js +142 -0
- package/dist/{BuiAutoFormFieldObject.vue_vue_type_script_setup_true_lang-C7URAPKt.js → BuiAutoFormFieldObject.vue_vue_type_script_setup_true_lang-CWpAoZW6.js} +1 -1
- package/dist/components/ui/auto-form/BuiAutoForm.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormField.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldArray.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldArrayCard.js +4 -0
- package/dist/components/ui/auto-form/BuiAutoFormFieldObject.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldObjectCard.js +1 -1
- package/dist/components/ui/auto-form/constant.js +6 -5
- package/dist/components/ui/auto-form/index.d.ts +2 -0
- package/dist/components/ui/auto-form/index.js +23 -20
- package/dist/index.js +75 -72
- package/package.json +1 -1
- package/src/components/stories/BuiAutoForm.story.vue +7 -1
- package/src/components/ui/auto-form/BuiAutoFormFieldArrayCard.vue +97 -0
- package/src/components/ui/auto-form/BuiAutoFormFieldObjectCard.vue +4 -1
- package/src/components/ui/auto-form/constant.ts +3 -2
- package/src/components/ui/auto-form/index.ts +2 -0
- package/dist/BuiAutoFormField.vue_vue_type_script_setup_true_lang-D0xFhEmy.js +0 -284
package/dist/index.js
CHANGED
@@ -8,7 +8,7 @@ import { _ as l } from "./BuiAlertDialogTrigger.vue_vue_type_script_setup_true_l
|
|
8
8
|
import { _ as g } from "./BuiAlertDialogContent.vue_vue_type_script_setup_true_lang-DFUbXcoh.js";
|
9
9
|
import { _ as T } from "./BuiAlertDialogHeader.vue_vue_type_script_setup_true_lang-7Dx74gxo.js";
|
10
10
|
import { _ as c } from "./BuiAlertDialogTitle.vue_vue_type_script_setup_true_lang-CLxf_ipo.js";
|
11
|
-
import { _ as
|
11
|
+
import { _ as A } from "./BuiAlertDialogDescription.vue_vue_type_script_setup_true_lang-BNFeSGFa.js";
|
12
12
|
import { _ as S } from "./BuiAlertDialogFooter.vue_vue_type_script_setup_true_lang-kJr2Plgw.js";
|
13
13
|
import { _ as w } from "./BuiAlertDialogAction.vue_vue_type_script_setup_true_lang-evBkU3SL.js";
|
14
14
|
import { _ as P } from "./BuiAlertDialogCancel.vue_vue_type_script_setup_true_lang-ZNOYeYWA.js";
|
@@ -16,7 +16,7 @@ import { BuiAlert as v, alertVariants as h } from "./components/ui/alert/index.j
|
|
16
16
|
import { _ as y } from "./BuiAspectRatio.vue_vue_type_script_setup_true_lang-DDkhBEEl.js";
|
17
17
|
import { BuiAvatar as H, avatarVariant as R } from "./components/ui/avatar/index.js";
|
18
18
|
import { BuiBadge as E, badgeVariants as j } from "./components/ui/badge/index.js";
|
19
|
-
import { _ as
|
19
|
+
import { _ as N, b as U, c as q, t as z, v as J } from "./utils-DPuEjrVV.js";
|
20
20
|
import { BuiCalendar as Q, isVCalendarSlot as W } from "./components/ui/calendar/index.js";
|
21
21
|
import { _ as Y } from "./BuiCard.vue_vue_type_script_setup_true_lang-CN_UnmV6.js";
|
22
22
|
import { _ as $ } from "./BuiCardHeader.vue_vue_type_script_setup_true_lang-D9miAvuh.js";
|
@@ -31,7 +31,7 @@ import { _ as lo } from "./BuiCommandEmpty.vue_vue_type_script_setup_true_lang--
|
|
31
31
|
import { _ as Co } from "./BuiCommandGroup.vue_vue_type_script_setup_true_lang-oAo3VvXV.js";
|
32
32
|
import { _ as Fo } from "./BuiCommandInput.vue_vue_type_script_setup_true_lang-BEhdQsvD.js";
|
33
33
|
import { _ as bo } from "./BuiCommandItem.vue_vue_type_script_setup_true_lang-uxCefFTc.js";
|
34
|
-
import { _ as
|
34
|
+
import { _ as Do } from "./BuiCommandList.vue_vue_type_script_setup_true_lang-bwZcHGfM.js";
|
35
35
|
import { _ as Mo } from "./BuiCommandSeparator.vue_vue_type_script_setup_true_lang-DbZAlodh.js";
|
36
36
|
import { _ as Io } from "./BuiCommandShortcut.vue_vue_type_script_setup_true_lang-DBIJCtZe.js";
|
37
37
|
import { _ as Vo } from "./BuiContextMenu.vue_vue_type_script_setup_true_lang-DygiiuXp.js";
|
@@ -40,7 +40,7 @@ import { _ as yo } from "./BuiContextMenuContent.vue_vue_type_script_setup_true_
|
|
40
40
|
import { _ as Ho } from "./BuiContextMenuGroup.vue_vue_type_script_setup_true_lang-jMxHU3w0.js";
|
41
41
|
import { _ as ko } from "./BuiContextMenuRadioGroup.vue_vue_type_script_setup_true_lang-C5R9N60e.js";
|
42
42
|
import { _ as jo } from "./BuiContextMenuItem.vue_vue_type_script_setup_true_lang-D8vfxO74.js";
|
43
|
-
import { _ as
|
43
|
+
import { _ as No } from "./BuiContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang-D0miFbPB.js";
|
44
44
|
import { _ as qo } from "./BuiContextMenuRadioItem.vue_vue_type_script_setup_true_lang-CVenpxL9.js";
|
45
45
|
import { _ as Jo } from "./BuiContextMenuShortcut.vue_vue_type_script_setup_true_lang-DPh99A_h.js";
|
46
46
|
import { _ as Qo } from "./BuiContextMenuSeparator.vue_vue_type_script_setup_true_lang-CKN8RXqL.js";
|
@@ -56,7 +56,7 @@ import { _ as fr } from "./BuiDialogTitle.vue_vue_type_script_setup_true_lang-D4
|
|
56
56
|
import { _ as _r } from "./BuiDialogDescription.vue_vue_type_script_setup_true_lang-B6RlWji2.js";
|
57
57
|
import { _ as dr } from "./BuiDialogContent.vue_vue_type_script_setup_true_lang-3DBhO_IA.js";
|
58
58
|
import { _ as Cr } from "./BuiDialogFooter.vue_vue_type_script_setup_true_lang-B89so9mg.js";
|
59
|
-
import { a as Fr, f as cr, y as br, g as
|
59
|
+
import { a as Fr, f as cr, y as br, g as Ar } from "./index-uA4l4INt.js";
|
60
60
|
import { _ as Sr } from "./BuiDropdownMenu.vue_vue_type_script_setup_true_lang-BCrmrPva.js";
|
61
61
|
import { _ as wr } from "./BuiDropdownMenuTrigger.vue_vue_type_script_setup_true_lang-cfi8tQ0K.js";
|
62
62
|
import { _ as Pr } from "./BuiDropdownMenuContent.vue_vue_type_script_setup_true_lang-6K_84IX2.js";
|
@@ -65,7 +65,7 @@ import { _ as Lr } from "./BuiDropdownMenuRadioGroup.vue_vue_type_script_setup_t
|
|
65
65
|
import { _ as Gr } from "./BuiDropdownMenuItem.vue_vue_type_script_setup_true_lang-CU4I3eC4.js";
|
66
66
|
import { _ as Rr } from "./BuiDropdownMenuCheckboxItem.vue_vue_type_script_setup_true_lang-8u8u19G1.js";
|
67
67
|
import { _ as Er } from "./BuiDropdownMenuRadioItem.vue_vue_type_script_setup_true_lang-CxyoF0q7.js";
|
68
|
-
import { _ as
|
68
|
+
import { _ as Or } from "./BuiDropdownMenuShortcut.vue_vue_type_script_setup_true_lang-FqWOStNT.js";
|
69
69
|
import { _ as Ur } from "./BuiDropdownMenuSeparator.vue_vue_type_script_setup_true_lang-QPaZoZKA.js";
|
70
70
|
import { _ as zr } from "./BuiDropdownMenuLabel.vue_vue_type_script_setup_true_lang-BPGNHYh4.js";
|
71
71
|
import { _ as Kr } from "./BuiDropdownMenuSub.vue_vue_type_script_setup_true_lang-CLi87_1u.js";
|
@@ -80,7 +80,7 @@ import { _ as _e } from "./BuiFormDescription.vue_vue_type_script_setup_true_lan
|
|
80
80
|
import { _ as de } from "./BuiHoverCard.vue_vue_type_script_setup_true_lang-UvgUvVQh.js";
|
81
81
|
import { _ as Ce } from "./BuiHoverCardTrigger.vue_vue_type_script_setup_true_lang-Cw-9ABpN.js";
|
82
82
|
import { _ as Fe } from "./BuiHoverCardContent.vue_vue_type_script_setup_true_lang-DsSfafrp.js";
|
83
|
-
import { BuiBadgedInput as be, BuiInput as
|
83
|
+
import { BuiBadgedInput as be, BuiInput as Ae, BuiPasswordInput as De, inputVariants as Se } from "./components/ui/input/index.js";
|
84
84
|
import { _ as we } from "./BuiLabel.vue_vue_type_script_setup_true_lang-DQH-AF9N.js";
|
85
85
|
import { _ as Pe } from "./BuiPaginationCommon.vue_vue_type_script_setup_true_lang-DjLAqoa-.js";
|
86
86
|
import { _ as ve } from "./BuiPaginationFirst.vue_vue_type_script_setup_true_lang-CvMVo3wC.js";
|
@@ -88,7 +88,7 @@ import { _ as Le } from "./BuiPaginationLast.vue_vue_type_script_setup_true_lang
|
|
88
88
|
import { _ as Ge } from "./BuiPaginationNext.vue_vue_type_script_setup_true_lang-DcwRaAYo.js";
|
89
89
|
import { _ as Re } from "./BuiPaginationPrev.vue_vue_type_script_setup_true_lang-DkK8mnKY.js";
|
90
90
|
import { _ as Ee } from "./BuiPaginationEllipsis.vue_vue_type_script_setup_true_lang-2v3zIYpf.js";
|
91
|
-
import { _ as
|
91
|
+
import { _ as Oe } from "./BuiPopover.vue_vue_type_script_setup_true_lang-Ujd6aP3K.js";
|
92
92
|
import { _ as Ue } from "./BuiPopoverTrigger.vue_vue_type_script_setup_true_lang-Cr_ofPA6.js";
|
93
93
|
import { _ as ze } from "./BuiPopoverContent.vue_vue_type_script_setup_true_lang-R7bk_E6m.js";
|
94
94
|
import { BuiProgress as Ke, capVariants as Qe, indicatorVariants as We, progressVariants as Xe } from "./components/ui/progress/index.js";
|
@@ -104,7 +104,7 @@ import { _ as dt } from "./BuiSelectItem.vue_vue_type_script_setup_true_lang-DsW
|
|
104
104
|
import { _ as Ct } from "./BuiSelectItemText.vue_vue_type_script_setup_true_lang-CMBf17fE.js";
|
105
105
|
import { _ as Ft } from "./BuiSelectLabel.vue_vue_type_script_setup_true_lang-Cif3hoiO.js";
|
106
106
|
import { _ as bt } from "./BuiSelectSeparator.vue_vue_type_script_setup_true_lang-Bkm9mitz.js";
|
107
|
-
import { _ as
|
107
|
+
import { _ as Dt } from "./BuiSeparator.vue_vue_type_script_setup_true_lang-DbN8eyHh.js";
|
108
108
|
import { _ as Mt } from "./BuiSwitch.vue_vue_type_script_setup_true_lang-VtywyEjw.js";
|
109
109
|
import { _ as It } from "./BuiTable.vue_vue_type_script_setup_true_lang-CUPSwE5z.js";
|
110
110
|
import { _ as Vt } from "./BuiTableBody.vue_vue_type_script_setup_true_lang-CWT4u-Ma.js";
|
@@ -113,7 +113,7 @@ import { _ as yt } from "./BuiTableHead.vue_vue_type_script_setup_true_lang-CCXO
|
|
113
113
|
import { _ as Ht } from "./BuiTableHeader.vue_vue_type_script_setup_true_lang-DZOqi3dp.js";
|
114
114
|
import { _ as kt } from "./BuiTableRow.vue_vue_type_script_setup_true_lang-CpEilJsW.js";
|
115
115
|
import { _ as jt } from "./BuiTableRowSubrow.vue_vue_type_script_setup_true_lang-Ch5gemw2.js";
|
116
|
-
import { _ as
|
116
|
+
import { _ as Nt } from "./BuiTableCaption.vue_vue_type_script_setup_true_lang-053YvtXp.js";
|
117
117
|
import { _ as qt } from "./BuiTableEmpty.vue_vue_type_script_setup_true_lang-BJDYHpRG.js";
|
118
118
|
import { _ as Jt } from "./BuiTableFooter.vue_vue_type_script_setup_true_lang-Cfxlxsbh.js";
|
119
119
|
import { _ as Qt } from "./BuiDataTable.vue_vue_type_script_setup_true_lang-Bzw8CawP.js";
|
@@ -127,7 +127,7 @@ import { _ as _a } from "./BuiTooltipProvider.vue_vue_type_script_setup_true_lan
|
|
127
127
|
import { BuiToggle as da, toggleVariants as ga } from "./components/ui/toggle/index.js";
|
128
128
|
import { _ as Ta } from "./BuiToggleGroup.vue_vue_type_script_setup_true_lang-D4bAsz99.js";
|
129
129
|
import { _ as ca } from "./BuiToggleGroupItem.vue_vue_type_script_setup_true_lang-BoEvQmPy.js";
|
130
|
-
import { _ as
|
130
|
+
import { _ as Aa } from "./BuiSlider.vue_vue_type_script_setup_true_lang-BrTF_gnp.js";
|
131
131
|
import { _ as Sa } from "./Skeleton.vue_vue_type_script_setup_true_lang-BA2fwC6Z.js";
|
132
132
|
import { _ as wa } from "./BuiScrollArea.vue_vue_type_script_setup_true_lang-DN5hbjJX.js";
|
133
133
|
import { _ as Pa } from "./BuiScrollBar.vue_vue_type_script_setup_true_lang-CnsvRIhs.js";
|
@@ -135,67 +135,70 @@ import { _ as va } from "./BuiCollapsible.vue_vue_type_script_setup_true_lang-Bf
|
|
135
135
|
import { _ as La } from "./BuiCollapsibleTrigger.vue_vue_type_script_setup_true_lang-DJ8YMCCp.js";
|
136
136
|
import { _ as Ga } from "./BuiCollapsibleContent.vue_vue_type_script_setup_true_lang-eieHE5yV.js";
|
137
137
|
import { getBaseSchema as Ra, getBaseType as ka, getObjectFormSchema as Ea } from "./components/ui/auto-form/utils.js";
|
138
|
-
import { _ as
|
139
|
-
import { _ as Ua,
|
140
|
-
import { _ as
|
141
|
-
import { _ as
|
142
|
-
import { _ as
|
143
|
-
import { _ as
|
144
|
-
import { _ as
|
145
|
-
import { _ as
|
146
|
-
import { _ as
|
147
|
-
import { _ as
|
148
|
-
import {
|
138
|
+
import { _ as Oa } from "./BuiAutoForm.vue_vue_type_script_setup_true_lang--BfJ5eim.js";
|
139
|
+
import { _ as Ua, b as qa, a as za } from "./BuiAutoFormField.vue_vue_type_script_setup_true_lang-BEazRmdY.js";
|
140
|
+
import { _ as Ka } from "./BuiAutoFormLabel.vue_vue_type_script_setup_true_lang-DzpWjTLE.js";
|
141
|
+
import { _ as Wa } from "./BuiAutoFormFieldArray.vue_vue_type_script_setup_true_lang-BoFRtjoQ.js";
|
142
|
+
import { _ as Ya } from "./BuiAutoFormFieldBoolean.vue_vue_type_script_setup_true_lang-tuxavlOe.js";
|
143
|
+
import { _ as $a } from "./BuiAutoFormFieldDate.vue_vue_type_script_setup_true_lang-Bzg1m-ii.js";
|
144
|
+
import { _ as ri } from "./BuiAutoFormFieldEnum.vue_vue_type_script_setup_true_lang-Bqe8Rt85.js";
|
145
|
+
import { _ as ti } from "./BuiAutoFormFieldFile.vue_vue_type_script_setup_true_lang-DrJwn66q.js";
|
146
|
+
import { _ as ii } from "./BuiAutoFormFieldInput.vue_vue_type_script_setup_true_lang-DtBFfiOK.js";
|
147
|
+
import { _ as mi } from "./BuiAutoFormFieldNumber.vue_vue_type_script_setup_true_lang-ClLqHM1Y.js";
|
148
|
+
import { _ as pi } from "./BuiAutoFormFieldObject.vue_vue_type_script_setup_true_lang-CWpAoZW6.js";
|
149
|
+
import { default as Bi } from "./tailwind-preset.js";
|
149
150
|
/* empty css */
|
150
|
-
import { _ as
|
151
|
-
import { _ as
|
152
|
-
import { _ as
|
153
|
-
import { _ as
|
151
|
+
import { _ as ni } from "./BuiAlertTitle.vue_vue_type_script_setup_true_lang-BvU1UhRc.js";
|
152
|
+
import { _ as li } from "./BuiAlertDescription.vue_vue_type_script_setup_true_lang-CVBdwmJq.js";
|
153
|
+
import { _ as gi } from "./BuiAvatarImage.vue_vue_type_script_setup_true_lang-CpDtlLee.js";
|
154
|
+
import { _ as Ti } from "./BuiAvatarFallback.vue_vue_type_script_setup_true_lang-DM4kyiXi.js";
|
154
155
|
import "./BuiCalendar.vue_vue_type_style_index_0_lang-DK4yUiXC.js";
|
155
|
-
import { _ as
|
156
|
-
import { _ as
|
157
|
-
import { _ as
|
158
|
-
import { _ as
|
159
|
-
import { _ as
|
160
|
-
import { _ as
|
161
|
-
import { _ as
|
162
|
-
import { _ as
|
163
|
-
import { toast as
|
156
|
+
import { _ as ci } from "./BuiTabs.vue_vue_type_script_setup_true_lang-DZavy0KI.js";
|
157
|
+
import { _ as Ai } from "./BuiTabsContent.vue_vue_type_script_setup_true_lang-BGARj0PN.js";
|
158
|
+
import { _ as Si } from "./BuiToastAction.vue_vue_type_script_setup_true_lang-BnduHxHU.js";
|
159
|
+
import { _ as wi } from "./BuiToastViewport.vue_vue_type_script_setup_true_lang-DGcOPCBU.js";
|
160
|
+
import { _ as Pi } from "./BuiToastClose.vue_vue_type_script_setup_true_lang-D8a4DIAU.js";
|
161
|
+
import { _ as vi } from "./BuiToastTitle.vue_vue_type_script_setup_true_lang-BTPprH2k.js";
|
162
|
+
import { _ as Li } from "./BuiToastDescription.vue_vue_type_script_setup_true_lang-DttuuxON.js";
|
163
|
+
import { _ as Gi } from "./BuiToastProvider.vue_vue_type_script_setup_true_lang-V09S1Ros.js";
|
164
|
+
import { toast as Ri, useToast as ki } from "./components/ui/toast/use-toast.js";
|
164
165
|
export {
|
165
166
|
i as BuiAccordion,
|
166
167
|
m as BuiAccordionContent,
|
167
168
|
p as BuiAccordionItem,
|
168
169
|
B as BuiAccordionTrigger,
|
169
170
|
v as BuiAlert,
|
170
|
-
|
171
|
+
li as BuiAlertDescription,
|
171
172
|
n as BuiAlertDialog,
|
172
173
|
w as BuiAlertDialogAction,
|
173
174
|
P as BuiAlertDialogCancel,
|
174
175
|
g as BuiAlertDialogContent,
|
175
|
-
|
176
|
+
A as BuiAlertDialogDescription,
|
176
177
|
S as BuiAlertDialogFooter,
|
177
178
|
T as BuiAlertDialogHeader,
|
178
179
|
c as BuiAlertDialogTitle,
|
179
180
|
l as BuiAlertDialogTrigger,
|
180
|
-
|
181
|
+
ni as BuiAlertTitle,
|
181
182
|
y as BuiAspectRatio,
|
182
|
-
|
183
|
+
Oa as BuiAutoForm,
|
183
184
|
Ua as BuiAutoFormField,
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
185
|
+
Wa as BuiAutoFormFieldArray,
|
186
|
+
qa as BuiAutoFormFieldArrayCard,
|
187
|
+
Ya as BuiAutoFormFieldBoolean,
|
188
|
+
$a as BuiAutoFormFieldDate,
|
189
|
+
ri as BuiAutoFormFieldEnum,
|
190
|
+
ti as BuiAutoFormFieldFile,
|
191
|
+
ii as BuiAutoFormFieldInput,
|
192
|
+
mi as BuiAutoFormFieldNumber,
|
193
|
+
pi as BuiAutoFormFieldObject,
|
194
|
+
za as BuiAutoFormFieldObjectCard,
|
195
|
+
Ka as BuiAutoFormLabel,
|
193
196
|
H as BuiAvatar,
|
194
|
-
|
195
|
-
|
197
|
+
Ti as BuiAvatarFallback,
|
198
|
+
gi as BuiAvatarImage,
|
196
199
|
E as BuiBadge,
|
197
200
|
be as BuiBadgedInput,
|
198
|
-
|
201
|
+
N as BuiButton,
|
199
202
|
Q as BuiCalendar,
|
200
203
|
Y as BuiCard,
|
201
204
|
io as BuiCardContent,
|
@@ -213,11 +216,11 @@ export {
|
|
213
216
|
Co as BuiCommandGroup,
|
214
217
|
Fo as BuiCommandInput,
|
215
218
|
bo as BuiCommandItem,
|
216
|
-
|
219
|
+
Do as BuiCommandList,
|
217
220
|
Mo as BuiCommandSeparator,
|
218
221
|
Io as BuiCommandShortcut,
|
219
222
|
Vo as BuiContextMenu,
|
220
|
-
|
223
|
+
No as BuiContextMenuCheckboxItem,
|
221
224
|
yo as BuiContextMenuContent,
|
222
225
|
Ho as BuiContextMenuGroup,
|
223
226
|
jo as BuiContextMenuItem,
|
@@ -249,7 +252,7 @@ export {
|
|
249
252
|
Lr as BuiDropdownMenuRadioGroup,
|
250
253
|
Er as BuiDropdownMenuRadioItem,
|
251
254
|
Ur as BuiDropdownMenuSeparator,
|
252
|
-
|
255
|
+
Or as BuiDropdownMenuShortcut,
|
253
256
|
Kr as BuiDropdownMenuSub,
|
254
257
|
Yr as BuiDropdownMenuSubContent,
|
255
258
|
Wr as BuiDropdownMenuSubTrigger,
|
@@ -266,7 +269,7 @@ export {
|
|
266
269
|
de as BuiHoverCard,
|
267
270
|
Fe as BuiHoverCardContent,
|
268
271
|
Ce as BuiHoverCardTrigger,
|
269
|
-
|
272
|
+
Ae as BuiInput,
|
270
273
|
we as BuiLabel,
|
271
274
|
cr as BuiPagination,
|
272
275
|
Pe as BuiPaginationCommon,
|
@@ -274,11 +277,11 @@ export {
|
|
274
277
|
ve as BuiPaginationFirst,
|
275
278
|
Le as BuiPaginationLast,
|
276
279
|
br as BuiPaginationList,
|
277
|
-
|
280
|
+
Ar as BuiPaginationListItem,
|
278
281
|
Ge as BuiPaginationNext,
|
279
282
|
Re as BuiPaginationPrev,
|
280
|
-
|
281
|
-
|
283
|
+
De as BuiPasswordInput,
|
284
|
+
Oe as BuiPopover,
|
282
285
|
ze as BuiPopoverContent,
|
283
286
|
Ue as BuiPopoverTrigger,
|
284
287
|
Ke as BuiProgress,
|
@@ -295,12 +298,12 @@ export {
|
|
295
298
|
bt as BuiSelectSeparator,
|
296
299
|
xt as BuiSelectTrigger,
|
297
300
|
st as BuiSelectValue,
|
298
|
-
|
299
|
-
|
301
|
+
Dt as BuiSeparator,
|
302
|
+
Aa as BuiSlider,
|
300
303
|
Mt as BuiSwitch,
|
301
304
|
It as BuiTable,
|
302
305
|
Vt as BuiTableBody,
|
303
|
-
|
306
|
+
Nt as BuiTableCaption,
|
304
307
|
ht as BuiTableCell,
|
305
308
|
qt as BuiTableEmpty,
|
306
309
|
Jt as BuiTableFooter,
|
@@ -308,18 +311,18 @@ export {
|
|
308
311
|
Ht as BuiTableHeader,
|
309
312
|
kt as BuiTableRow,
|
310
313
|
jt as BuiTableRowSubrow,
|
311
|
-
|
312
|
-
|
314
|
+
ci as BuiTabs,
|
315
|
+
Ai as BuiTabsContent,
|
313
316
|
Xt as BuiTabsList,
|
314
317
|
Yt as BuiTabsTrigger,
|
315
318
|
ra as BuiTextarea,
|
316
319
|
aa as BuiToast,
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
320
|
+
Si as BuiToastAction,
|
321
|
+
Pi as BuiToastClose,
|
322
|
+
Li as BuiToastDescription,
|
323
|
+
Gi as BuiToastProvider,
|
324
|
+
vi as BuiToastTitle,
|
325
|
+
wi as BuiToastViewport,
|
323
326
|
ia as BuiToaster,
|
324
327
|
da as BuiToggle,
|
325
328
|
Ta as BuiToggleGroup,
|
@@ -347,14 +350,14 @@ export {
|
|
347
350
|
z as tableColumnSortCommon,
|
348
351
|
Zt as tabsListVariants,
|
349
352
|
$t as tabsTriggerVariants,
|
350
|
-
|
353
|
+
Bi as tailwind,
|
351
354
|
ea as textareaVariants,
|
352
|
-
|
355
|
+
Ri as toast,
|
353
356
|
ua as toastVariants,
|
354
357
|
ga as toggleVariants,
|
355
358
|
ee as useBuiField,
|
356
359
|
te as useBuiFieldArray,
|
357
360
|
ae as useBuiForm,
|
358
|
-
|
361
|
+
ki as useToast,
|
359
362
|
J as valueUpdater
|
360
363
|
};
|
package/package.json
CHANGED
@@ -28,7 +28,13 @@ const schema = z.object({
|
|
28
28
|
level2: z.object({
|
29
29
|
level3: z.object({
|
30
30
|
test: z.string().min(1),
|
31
|
-
something: z.boolean()
|
31
|
+
something: z.boolean(),
|
32
|
+
array: z
|
33
|
+
.object({
|
34
|
+
field1: z.string().min(1),
|
35
|
+
field2: z.string().min(1)
|
36
|
+
})
|
37
|
+
.array()
|
32
38
|
})
|
33
39
|
})
|
34
40
|
})
|
@@ -0,0 +1,97 @@
|
|
1
|
+
<script setup lang="ts" generic="T extends z.ZodAny">
|
2
|
+
import * as z from 'zod'
|
3
|
+
import { computed, provide } from 'vue'
|
4
|
+
import { PlusIcon, TrashIcon } from 'lucide-vue-next'
|
5
|
+
import { FieldArray, FieldContextKey, useField } from 'vee-validate'
|
6
|
+
import type { Config, ConfigItem } from './interface'
|
7
|
+
import { beautifyObjectName, getBaseType } from './utils'
|
8
|
+
import AutoFormField from './BuiAutoFormField.vue'
|
9
|
+
import { BuiButton as Button } from '@/components/ui/button'
|
10
|
+
import { BuiSeparator as Separator } from '@/components/ui/separator'
|
11
|
+
import { BuiFormItem as FormItem, BuiFormMessage as FormMessage } from '@/components/ui/form'
|
12
|
+
import { BuiCard, BuiCardContent, BuiCardHeader, BuiCardTitle } from '@/components/ui/card'
|
13
|
+
|
14
|
+
const props = defineProps<{
|
15
|
+
fieldName: string
|
16
|
+
required?: boolean
|
17
|
+
config?: Config<T>
|
18
|
+
schema?: z.ZodArray<T>
|
19
|
+
disabled?: boolean
|
20
|
+
}>()
|
21
|
+
|
22
|
+
function isZodArray(item: z.ZodArray<any> | z.ZodDefault<any>): item is z.ZodArray<any> {
|
23
|
+
return item instanceof z.ZodArray
|
24
|
+
}
|
25
|
+
|
26
|
+
function isZodDefault(item: z.ZodArray<any> | z.ZodDefault<any>): item is z.ZodDefault<any> {
|
27
|
+
return item instanceof z.ZodDefault
|
28
|
+
}
|
29
|
+
|
30
|
+
const itemShape = computed(() => {
|
31
|
+
if (!props.schema) return
|
32
|
+
|
33
|
+
const schema: z.ZodAny = isZodArray(props.schema)
|
34
|
+
? props.schema._def.type
|
35
|
+
: isZodDefault(props.schema)
|
36
|
+
? // @ts-expect-error missing schema
|
37
|
+
props.schema._def.innerType._def.type
|
38
|
+
: null
|
39
|
+
|
40
|
+
return {
|
41
|
+
type: getBaseType(schema),
|
42
|
+
schema
|
43
|
+
}
|
44
|
+
})
|
45
|
+
|
46
|
+
const fieldContext = useField(props.fieldName)
|
47
|
+
// @ts-expect-error ignore missing `id`
|
48
|
+
provide(FieldContextKey, fieldContext)
|
49
|
+
</script>
|
50
|
+
|
51
|
+
<template>
|
52
|
+
<FieldArray v-slot="{ fields, remove, push }" as="section" :name="fieldName">
|
53
|
+
<slot v-bind="props">
|
54
|
+
<BuiCard as-child class="w-full border-0 shadow-none">
|
55
|
+
<FormItem>
|
56
|
+
<BuiCardHeader class="border-b-[1px] border-b-border/[0.16] py-1">
|
57
|
+
<BuiCardTitle class="py-0 text-base">
|
58
|
+
{{
|
59
|
+
schema?.description ||
|
60
|
+
beautifyObjectName(fieldName.split('.')[fieldName.split('.').length - 1])
|
61
|
+
}}
|
62
|
+
</BuiCardTitle>
|
63
|
+
</BuiCardHeader>
|
64
|
+
<BuiCardContent class="flex flex-col gap-5 pb-0 pr-0">
|
65
|
+
<template v-for="(field, index) of fields" :key="field.key">
|
66
|
+
<div class="mb-4 p-1">
|
67
|
+
<AutoFormField
|
68
|
+
:field-name="`${fieldName}[${index}]`"
|
69
|
+
:label="fieldName"
|
70
|
+
:shape="itemShape!"
|
71
|
+
:config="config as ConfigItem"
|
72
|
+
/>
|
73
|
+
|
74
|
+
<div class="!my-4 flex justify-end">
|
75
|
+
<Button type="button" size="icon" variant="secondary" @click="remove(index)">
|
76
|
+
<TrashIcon :size="16" />
|
77
|
+
</Button>
|
78
|
+
</div>
|
79
|
+
<Separator v-if="!field.isLast" />
|
80
|
+
</div>
|
81
|
+
</template>
|
82
|
+
|
83
|
+
<Button
|
84
|
+
type="button"
|
85
|
+
variant="secondary"
|
86
|
+
class="mt-4 flex items-center"
|
87
|
+
@click="push(null)"
|
88
|
+
>
|
89
|
+
<PlusIcon class="mr-2" :size="16" />
|
90
|
+
</Button>
|
91
|
+
<FormMessage />
|
92
|
+
</BuiCardContent>
|
93
|
+
</FormItem>
|
94
|
+
</BuiCard>
|
95
|
+
</slot>
|
96
|
+
</FieldArray>
|
97
|
+
</template>
|
@@ -53,7 +53,10 @@ provide(FieldContextKey, fieldContext)
|
|
53
53
|
<FormItem>
|
54
54
|
<BuiCardHeader class="border-b-[1px] border-b-border/[0.16] py-1">
|
55
55
|
<BuiCardTitle class="py-0 text-base">
|
56
|
-
{{
|
56
|
+
{{
|
57
|
+
schema?.description ||
|
58
|
+
beautifyObjectName(fieldName.split('.')[fieldName.split('.').length - 1])
|
59
|
+
}}
|
57
60
|
</BuiCardTitle>
|
58
61
|
</BuiCardHeader>
|
59
62
|
<BuiCardContent class="flex flex-col gap-5 pb-0 pr-0">
|
@@ -6,7 +6,8 @@ import BuiAutoFormFieldFile from './BuiAutoFormFieldFile.vue'
|
|
6
6
|
import BuiAutoFormFieldInput from './BuiAutoFormFieldInput.vue'
|
7
7
|
import BuiAutoFormFieldNumber from './BuiAutoFormFieldNumber.vue'
|
8
8
|
import BuiAutoFormFieldObject from './BuiAutoFormFieldObject.vue'
|
9
|
-
import BuiAutoFormFieldObjectCard from '
|
9
|
+
import BuiAutoFormFieldObjectCard from './BuiAutoFormFieldObjectCard.vue'
|
10
|
+
import BuiAutoFormFieldArrayCard from './BuiAutoFormFieldArrayCard.vue'
|
10
11
|
|
11
12
|
export const INPUT_COMPONENTS = {
|
12
13
|
date: BuiAutoFormFieldDate,
|
@@ -18,7 +19,7 @@ export const INPUT_COMPONENTS = {
|
|
18
19
|
number: BuiAutoFormFieldNumber,
|
19
20
|
string: BuiAutoFormFieldInput,
|
20
21
|
file: BuiAutoFormFieldFile,
|
21
|
-
array:
|
22
|
+
array: BuiAutoFormFieldArrayCard,
|
22
23
|
object: BuiAutoFormFieldObjectCard
|
23
24
|
}
|
24
25
|
|
@@ -13,3 +13,5 @@ export { default as BuiAutoFormFieldFile } from './BuiAutoFormFieldFile.vue'
|
|
13
13
|
export { default as BuiAutoFormFieldInput } from './BuiAutoFormFieldInput.vue'
|
14
14
|
export { default as BuiAutoFormFieldNumber } from './BuiAutoFormFieldNumber.vue'
|
15
15
|
export { default as BuiAutoFormFieldObject } from './BuiAutoFormFieldObject.vue'
|
16
|
+
export { default as BuiAutoFormFieldObjectCard } from './BuiAutoFormFieldObjectCard.vue'
|
17
|
+
export { default as BuiAutoFormFieldArrayCard } from './BuiAutoFormFieldArrayCard.vue'
|