@soft-stech/bootsman-ui-shadcn 1.3.9 → 1.3.10
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/{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'
|