@soft-stech/bootsman-ui-shadcn 1.1.36 → 1.1.38

Sign up to get free protection for your applications and to get access to all the features.
Files changed (384) hide show
  1. package/dist/{BuiAccordion.vue_vue_type_script_setup_true_lang-BfKSXvSH.js → BuiAccordion.vue_vue_type_script_setup_true_lang-D6NZ2Glm.js} +1 -1
  2. package/dist/{BuiAccordionContent.vue_vue_type_script_setup_true_lang-DMO-5Kol.js → BuiAccordionContent.vue_vue_type_script_setup_true_lang-DWgwTZC3.js} +2 -2
  3. package/dist/{BuiAccordionItem.vue_vue_type_script_setup_true_lang-COB23Lf9.js → BuiAccordionItem.vue_vue_type_script_setup_true_lang-VmckedPQ.js} +2 -2
  4. package/dist/{BuiAccordionTrigger.vue_vue_type_script_setup_true_lang-ZzF3Fz_Y.js → BuiAccordionTrigger.vue_vue_type_script_setup_true_lang-CvrPKvEn.js} +3 -3
  5. package/dist/{BuiAlertDescription.vue_vue_type_script_setup_true_lang-5ZuWb3pn.js → BuiAlertDescription.vue_vue_type_script_setup_true_lang-JGl4jOiY.js} +1 -1
  6. package/dist/{BuiAlertDialog.vue_vue_type_script_setup_true_lang-D8w0vAwB.js → BuiAlertDialog.vue_vue_type_script_setup_true_lang-CYOmW_Y5.js} +1 -1
  7. package/dist/{BuiAlertDialogAction.vue_vue_type_script_setup_true_lang-C6QDiZ5j.js → BuiAlertDialogAction.vue_vue_type_script_setup_true_lang-B68AKQif.js} +2 -2
  8. package/dist/{BuiAlertDialogCancel.vue_vue_type_script_setup_true_lang-DOaeRJsL.js → BuiAlertDialogCancel.vue_vue_type_script_setup_true_lang-Dwqlf8oj.js} +2 -2
  9. package/dist/{BuiAlertDialogContent.vue_vue_type_script_setup_true_lang-CaJ0vDGp.js → BuiAlertDialogContent.vue_vue_type_script_setup_true_lang-DQ3MO21t.js} +2 -2
  10. package/dist/{BuiAlertDialogDescription.vue_vue_type_script_setup_true_lang-BG0LYOWF.js → BuiAlertDialogDescription.vue_vue_type_script_setup_true_lang-C0nmsUbU.js} +2 -2
  11. package/dist/{BuiAlertDialogFooter.vue_vue_type_script_setup_true_lang-rfa4iT4K.js → BuiAlertDialogFooter.vue_vue_type_script_setup_true_lang-Bwp16uCV.js} +1 -1
  12. package/dist/{BuiAlertDialogHeader.vue_vue_type_script_setup_true_lang-B9dagYsk.js → BuiAlertDialogHeader.vue_vue_type_script_setup_true_lang-C9SdCMGG.js} +1 -1
  13. package/dist/{BuiAlertDialogTitle.vue_vue_type_script_setup_true_lang-J4_PZbZx.js → BuiAlertDialogTitle.vue_vue_type_script_setup_true_lang-Dnbl9EtZ.js} +2 -2
  14. package/dist/{BuiAlertDialogTrigger.vue_vue_type_script_setup_true_lang-C3jyJvAh.js → BuiAlertDialogTrigger.vue_vue_type_script_setup_true_lang-DALyN6MC.js} +1 -1
  15. package/dist/{BuiAlertTitle.vue_vue_type_script_setup_true_lang-2BvNd5H8.js → BuiAlertTitle.vue_vue_type_script_setup_true_lang-CgpdlY3s.js} +1 -1
  16. package/dist/{BuiAspectRatio.vue_vue_type_script_setup_true_lang-Dtn1AIPx.js → BuiAspectRatio.vue_vue_type_script_setup_true_lang-DfbboEQK.js} +1 -1
  17. package/dist/BuiAutoForm.vue_vue_type_script_setup_true_lang-CKS23plt.js +206 -0
  18. package/dist/BuiAutoFormField.vue_vue_type_script_setup_true_lang-DwgVv_fo.js +3062 -0
  19. package/dist/BuiAutoFormFieldBoolean.vue_vue_type_script_setup_true_lang-BKT85fgx.js +66 -0
  20. package/dist/BuiAutoFormFieldDate.vue_vue_type_script_setup_true_lang-DWyKdzS5.js +223 -0
  21. package/dist/BuiAutoFormFieldEnum.vue_vue_type_script_setup_true_lang-BECJ52JQ.js +120 -0
  22. package/dist/BuiAutoFormFieldFile.vue_vue_type_script_setup_true_lang-BFuZvVOr.js +114 -0
  23. package/dist/BuiAutoFormFieldInput.vue_vue_type_script_setup_true_lang-DGI0ZobZ.js +60 -0
  24. package/dist/BuiAutoFormFieldNumber.vue_vue_type_script_setup_true_lang-DmjImgRr.js +59 -0
  25. package/dist/BuiAutoFormLabel.vue_vue_type_script_setup_true_lang-Cnb5VI3E.js +23 -0
  26. package/dist/{BuiAvatarFallback.vue_vue_type_script_setup_true_lang-BZTk1ZO8.js → BuiAvatarFallback.vue_vue_type_script_setup_true_lang-jsKtoJ8h.js} +1 -1
  27. package/dist/{BuiAvatarImage.vue_vue_type_script_setup_true_lang-TPs2An4d.js → BuiAvatarImage.vue_vue_type_script_setup_true_lang-ZeFLLZLS.js} +1 -1
  28. package/dist/{BuiCalendar.vue_vue_type_style_index_0_lang-BWeH1wsj.js → BuiCalendar.vue_vue_type_style_index_0_lang-D428Q6Nh.js} +1 -1
  29. package/dist/{BuiCard.vue_vue_type_script_setup_true_lang-xR2SJxt7.js → BuiCard.vue_vue_type_script_setup_true_lang-BdNbxFvi.js} +1 -1
  30. package/dist/{BuiCardContent.vue_vue_type_script_setup_true_lang-DXKdGtTu.js → BuiCardContent.vue_vue_type_script_setup_true_lang--U7YuaQv.js} +1 -1
  31. package/dist/{BuiCardDescription.vue_vue_type_script_setup_true_lang-Bhv_Kd_Y.js → BuiCardDescription.vue_vue_type_script_setup_true_lang-CWcDrner.js} +1 -1
  32. package/dist/{BuiCardFooter.vue_vue_type_script_setup_true_lang-CFZpzuqE.js → BuiCardFooter.vue_vue_type_script_setup_true_lang-DTYkTHzY.js} +1 -1
  33. package/dist/{BuiCardHeader.vue_vue_type_script_setup_true_lang-BzGMly20.js → BuiCardHeader.vue_vue_type_script_setup_true_lang-7H4mP92e.js} +1 -1
  34. package/dist/{BuiCardTitle.vue_vue_type_script_setup_true_lang-SbpHUnWp.js → BuiCardTitle.vue_vue_type_script_setup_true_lang-DR6fWGz9.js} +1 -1
  35. package/dist/{BuiCheckbox.vue_vue_type_script_setup_true_lang-DQm4aqAa.js → BuiCheckbox.vue_vue_type_script_setup_true_lang-CyxEbO5t.js} +3 -3
  36. package/dist/{BuiCollapsible.vue_vue_type_script_setup_true_lang-mS4zvM_P.js → BuiCollapsible.vue_vue_type_script_setup_true_lang-x_Glw-gh.js} +1 -1
  37. package/dist/{BuiCollapsibleContent.vue_vue_type_script_setup_true_lang-DbI-Bsc-.js → BuiCollapsibleContent.vue_vue_type_script_setup_true_lang-B72_xwvG.js} +1 -1
  38. package/dist/{BuiCollapsibleTrigger.vue_vue_type_script_setup_true_lang-r01DxQ2Q.js → BuiCollapsibleTrigger.vue_vue_type_script_setup_true_lang-ByrCdFCy.js} +1 -1
  39. package/dist/{BuiCommand.vue_vue_type_script_setup_true_lang-DDXzgSh8.js → BuiCommand.vue_vue_type_script_setup_true_lang-C1O7IDvd.js} +2 -2
  40. package/dist/{BuiCommandDialog.vue_vue_type_script_setup_true_lang-DC9TuOzX.js → BuiCommandDialog.vue_vue_type_script_setup_true_lang-BYYdrUJm.js} +4 -4
  41. package/dist/{BuiCommandEmpty.vue_vue_type_script_setup_true_lang-CvGPEIBT.js → BuiCommandEmpty.vue_vue_type_script_setup_true_lang-dM0MIDwK.js} +2 -2
  42. package/dist/{BuiCommandGroup.vue_vue_type_script_setup_true_lang-B5S1bQZG.js → BuiCommandGroup.vue_vue_type_script_setup_true_lang--JVL30Bq.js} +2 -2
  43. package/dist/{BuiCommandInput.vue_vue_type_script_setup_true_lang-CTtY2BxB.js → BuiCommandInput.vue_vue_type_script_setup_true_lang-td41Iq0J.js} +2 -2
  44. package/dist/{BuiCommandItem.vue_vue_type_script_setup_true_lang-Bf4ys9fX.js → BuiCommandItem.vue_vue_type_script_setup_true_lang-Co-lQQqw.js} +2 -2
  45. package/dist/{BuiCommandList.vue_vue_type_script_setup_true_lang-D7Ivd74a.js → BuiCommandList.vue_vue_type_script_setup_true_lang-Bp0LuoaV.js} +2 -2
  46. package/dist/{BuiCommandSeparator.vue_vue_type_script_setup_true_lang-BpqFifP2.js → BuiCommandSeparator.vue_vue_type_script_setup_true_lang-ClosG8me.js} +2 -2
  47. package/dist/{BuiCommandShortcut.vue_vue_type_script_setup_true_lang-DZpCdJkB.js → BuiCommandShortcut.vue_vue_type_script_setup_true_lang-DGMEA91e.js} +1 -1
  48. package/dist/{BuiContextMenu.vue_vue_type_script_setup_true_lang-PrqR-Z4o.js → BuiContextMenu.vue_vue_type_script_setup_true_lang-Bh8oJUyh.js} +1 -1
  49. package/dist/{BuiContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang-C_1xuj35.js → BuiContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang-BL5Zlqy2.js} +3 -3
  50. package/dist/{BuiContextMenuContent.vue_vue_type_script_setup_true_lang-B25so3b2.js → BuiContextMenuContent.vue_vue_type_script_setup_true_lang-DtIN0awe.js} +2 -2
  51. package/dist/{BuiContextMenuGroup.vue_vue_type_script_setup_true_lang-fvcZ-f6-.js → BuiContextMenuGroup.vue_vue_type_script_setup_true_lang-BUlkesJX.js} +1 -1
  52. package/dist/{BuiContextMenuItem.vue_vue_type_script_setup_true_lang-CAIBesS-.js → BuiContextMenuItem.vue_vue_type_script_setup_true_lang-BbuySkF5.js} +2 -2
  53. package/dist/{BuiContextMenuLabel.vue_vue_type_script_setup_true_lang-BVUmeTOV.js → BuiContextMenuLabel.vue_vue_type_script_setup_true_lang-DQ3a_SwA.js} +2 -2
  54. package/dist/{BuiContextMenuRadioGroup.vue_vue_type_script_setup_true_lang-D3CJCQDQ.js → BuiContextMenuRadioGroup.vue_vue_type_script_setup_true_lang-CucdMx7c.js} +1 -1
  55. package/dist/{BuiContextMenuRadioItem.vue_vue_type_script_setup_true_lang-D7TYGSZc.js → BuiContextMenuRadioItem.vue_vue_type_script_setup_true_lang-aA32tkEA.js} +3 -3
  56. package/dist/{BuiContextMenuSeparator.vue_vue_type_script_setup_true_lang-Bcl97oHG.js → BuiContextMenuSeparator.vue_vue_type_script_setup_true_lang-DNb1vb3q.js} +2 -2
  57. package/dist/{BuiContextMenuShortcut.vue_vue_type_script_setup_true_lang-QrzLdLee.js → BuiContextMenuShortcut.vue_vue_type_script_setup_true_lang-ExJmRXvx.js} +1 -1
  58. package/dist/{BuiContextMenuSub.vue_vue_type_script_setup_true_lang-DJK6Y2q7.js → BuiContextMenuSub.vue_vue_type_script_setup_true_lang-CfEN3NAs.js} +1 -1
  59. package/dist/{BuiContextMenuSubContent.vue_vue_type_script_setup_true_lang-CetJwAAb.js → BuiContextMenuSubContent.vue_vue_type_script_setup_true_lang-BZxR0wIO.js} +2 -2
  60. package/dist/{BuiContextMenuSubTrigger.vue_vue_type_script_setup_true_lang-Ce-TcwZI.js → BuiContextMenuSubTrigger.vue_vue_type_script_setup_true_lang-CFcwqUKs.js} +3 -3
  61. package/dist/{BuiContextMenuTrigger.vue_vue_type_script_setup_true_lang-eoWRCIPI.js → BuiContextMenuTrigger.vue_vue_type_script_setup_true_lang-Bc2IaG-4.js} +1 -1
  62. package/dist/{BuiDataTable.vue_vue_type_script_setup_true_lang-CNVY0FNa.js → BuiDataTable.vue_vue_type_script_setup_true_lang-BWEYe7eA.js} +15 -15
  63. package/dist/{BuiDialog.vue_vue_type_script_setup_true_lang-BWW5P0oc.js → BuiDialog.vue_vue_type_script_setup_true_lang-BCbOviQn.js} +1 -1
  64. package/dist/{BuiDialogClose.vue_vue_type_script_setup_true_lang-Ci6G4VA5.js → BuiDialogClose.vue_vue_type_script_setup_true_lang-Fdp24YHC.js} +1 -1
  65. package/dist/{BuiDialogContent.vue_vue_type_script_setup_true_lang-4XmpNdxa.js → BuiDialogContent.vue_vue_type_script_setup_true_lang-DTS5OB86.js} +3 -3
  66. package/dist/{BuiDialogDescription.vue_vue_type_script_setup_true_lang-CeqcIbfX.js → BuiDialogDescription.vue_vue_type_script_setup_true_lang-CPGwGG27.js} +2 -2
  67. package/dist/{BuiDialogFooter.vue_vue_type_script_setup_true_lang-0x8bjoq2.js → BuiDialogFooter.vue_vue_type_script_setup_true_lang-Blm8xAsp.js} +1 -1
  68. package/dist/{BuiDialogHeader.vue_vue_type_script_setup_true_lang-B-pI07Bn.js → BuiDialogHeader.vue_vue_type_script_setup_true_lang-DIxMSIbx.js} +1 -1
  69. package/dist/{BuiDialogTitle.vue_vue_type_script_setup_true_lang-Czyf05pg.js → BuiDialogTitle.vue_vue_type_script_setup_true_lang-Dw4OSpt_.js} +2 -2
  70. package/dist/{BuiDialogTrigger.vue_vue_type_script_setup_true_lang-CTPbIWJP.js → BuiDialogTrigger.vue_vue_type_script_setup_true_lang-C58hpmhT.js} +1 -1
  71. package/dist/{BuiDropdownMenu.vue_vue_type_script_setup_true_lang-DezLXrmo.js → BuiDropdownMenu.vue_vue_type_script_setup_true_lang-BV70HeIN.js} +1 -1
  72. package/dist/{BuiDropdownMenuCheckboxItem.vue_vue_type_script_setup_true_lang-YcK2gaFu.js → BuiDropdownMenuCheckboxItem.vue_vue_type_script_setup_true_lang-yS6gA48j.js} +3 -3
  73. package/dist/{BuiDropdownMenuContent.vue_vue_type_script_setup_true_lang-B9Fnd8-y.js → BuiDropdownMenuContent.vue_vue_type_script_setup_true_lang-Bb4Q6tSz.js} +2 -2
  74. package/dist/{BuiDropdownMenuGroup.vue_vue_type_script_setup_true_lang-CZDidzDB.js → BuiDropdownMenuGroup.vue_vue_type_script_setup_true_lang-DfNb5nUo.js} +1 -1
  75. package/dist/{BuiDropdownMenuItem.vue_vue_type_script_setup_true_lang-N0KSEtzq.js → BuiDropdownMenuItem.vue_vue_type_script_setup_true_lang--QP6Nby4.js} +2 -2
  76. package/dist/{BuiDropdownMenuLabel.vue_vue_type_script_setup_true_lang-Bu3nte9L.js → BuiDropdownMenuLabel.vue_vue_type_script_setup_true_lang-Dh1TMw9d.js} +2 -2
  77. package/dist/{BuiDropdownMenuRadioGroup.vue_vue_type_script_setup_true_lang-CAWGTQp0.js → BuiDropdownMenuRadioGroup.vue_vue_type_script_setup_true_lang-DTcNorlM.js} +1 -1
  78. package/dist/{BuiDropdownMenuRadioItem.vue_vue_type_script_setup_true_lang-Dm3Q-X5e.js → BuiDropdownMenuRadioItem.vue_vue_type_script_setup_true_lang-ToMKHcEm.js} +3 -3
  79. package/dist/{BuiDropdownMenuSeparator.vue_vue_type_script_setup_true_lang-BQkOcCsm.js → BuiDropdownMenuSeparator.vue_vue_type_script_setup_true_lang-BbepqtDL.js} +1 -1
  80. package/dist/{BuiDropdownMenuShortcut.vue_vue_type_script_setup_true_lang-BTtPHRtE.js → BuiDropdownMenuShortcut.vue_vue_type_script_setup_true_lang-BWgELWFx.js} +1 -1
  81. package/dist/{BuiDropdownMenuSub.vue_vue_type_script_setup_true_lang-C0dWO8aw.js → BuiDropdownMenuSub.vue_vue_type_script_setup_true_lang-Dnqs62GK.js} +1 -1
  82. package/dist/{BuiDropdownMenuSubContent.vue_vue_type_script_setup_true_lang-DM9DrTVw.js → BuiDropdownMenuSubContent.vue_vue_type_script_setup_true_lang-DlTXSDu5.js} +2 -2
  83. package/dist/{BuiDropdownMenuSubTrigger.vue_vue_type_script_setup_true_lang-CMhD2-up.js → BuiDropdownMenuSubTrigger.vue_vue_type_script_setup_true_lang-B_LMNZ3o.js} +3 -3
  84. package/dist/{BuiDropdownMenuTrigger.vue_vue_type_script_setup_true_lang-BS0cV8wr.js → BuiDropdownMenuTrigger.vue_vue_type_script_setup_true_lang-CCSql0mq.js} +1 -1
  85. package/dist/{BuiFormControl.vue_vue_type_script_setup_true_lang-CKUWSJ-E.js → BuiFormControl.vue_vue_type_script_setup_true_lang-DVx9ZDv-.js} +5 -5
  86. package/dist/BuiFormDescription.vue_vue_type_script_setup_true_lang-BPSgWb0t.js +19 -0
  87. package/dist/{BuiFormItem.vue_vue_type_script_setup_true_lang-Wd-UEmxW.js → BuiFormItem.vue_vue_type_script_setup_true_lang-CP1K61n9.js} +2 -2
  88. package/dist/{BuiFormLabel.vue_vue_type_script_setup_true_lang-COCj7thS.js → BuiFormLabel.vue_vue_type_script_setup_true_lang-BpCjAbUu.js} +10 -10
  89. package/dist/BuiFormMessage.vue_vue_type_script_setup_true_lang-CD9in3nQ.js +18 -0
  90. package/dist/{BuiHoverCard.vue_vue_type_script_setup_true_lang-DpR4myB6.js → BuiHoverCard.vue_vue_type_script_setup_true_lang-B4EJAZ1v.js} +1 -1
  91. package/dist/{BuiHoverCardContent.vue_vue_type_script_setup_true_lang-DDVBXn-R.js → BuiHoverCardContent.vue_vue_type_script_setup_true_lang-RFeTYn_w.js} +2 -2
  92. package/dist/{BuiHoverCardTrigger.vue_vue_type_script_setup_true_lang-BQQYYkqh.js → BuiHoverCardTrigger.vue_vue_type_script_setup_true_lang-DRHctQMn.js} +1 -1
  93. package/dist/{BuiLabel.vue_vue_type_script_setup_true_lang-882PczU_.js → BuiLabel.vue_vue_type_script_setup_true_lang-DIgQTfIk.js} +2 -2
  94. package/dist/{BuiPaginationCommon.vue_vue_type_script_setup_true_lang-pftdH49Y.js → BuiPaginationCommon.vue_vue_type_script_setup_true_lang-VNCFXArM.js} +11 -11
  95. package/dist/{BuiPaginationEllipsis.vue_vue_type_script_setup_true_lang-mhq3AoSW.js → BuiPaginationEllipsis.vue_vue_type_script_setup_true_lang-sLLjg6Lo.js} +7 -7
  96. package/dist/{BuiPaginationFirst.vue_vue_type_script_setup_true_lang-Bz0BFegr.js → BuiPaginationFirst.vue_vue_type_script_setup_true_lang-C1v4DiC-.js} +4 -4
  97. package/dist/{BuiPaginationLast.vue_vue_type_script_setup_true_lang-DUMJOl-b.js → BuiPaginationLast.vue_vue_type_script_setup_true_lang-DU5XYLV2.js} +5 -5
  98. package/dist/{BuiPaginationNext.vue_vue_type_script_setup_true_lang-B18CyqDm.js → BuiPaginationNext.vue_vue_type_script_setup_true_lang-vH3Cu1pW.js} +3 -3
  99. package/dist/{BuiPaginationPrev.vue_vue_type_script_setup_true_lang-osilZHq8.js → BuiPaginationPrev.vue_vue_type_script_setup_true_lang-CTNwqcX0.js} +3 -3
  100. package/dist/{BuiPopover.vue_vue_type_script_setup_true_lang-UcSh_GiH.js → BuiPopover.vue_vue_type_script_setup_true_lang-zW4DPswi.js} +1 -1
  101. package/dist/{BuiPopoverContent.vue_vue_type_script_setup_true_lang-BVMemXcV.js → BuiPopoverContent.vue_vue_type_script_setup_true_lang-DmZlmmde.js} +2 -2
  102. package/dist/{BuiPopoverTrigger.vue_vue_type_script_setup_true_lang-Dw8pc308.js → BuiPopoverTrigger.vue_vue_type_script_setup_true_lang-BzLHQJIv.js} +1 -1
  103. package/dist/{BuiRadioGroup.vue_vue_type_script_setup_true_lang-DFNEq9BE.js → BuiRadioGroup.vue_vue_type_script_setup_true_lang-Dyyf8FoV.js} +2 -2
  104. package/dist/{BuiRadioGroupItem.vue_vue_type_script_setup_true_lang-CRmGGyIT.js → BuiRadioGroupItem.vue_vue_type_script_setup_true_lang-CeYEovBc.js} +3 -3
  105. package/dist/{BuiScrollArea.vue_vue_type_script_setup_true_lang-BxFFW-6B.js → BuiScrollArea.vue_vue_type_script_setup_true_lang-C6sBLycG.js} +3 -3
  106. package/dist/{BuiScrollBar.vue_vue_type_script_setup_true_lang-C9Cqj458.js → BuiScrollBar.vue_vue_type_script_setup_true_lang-D2FLjGPC.js} +2 -2
  107. package/dist/{BuiSelect.vue_vue_type_script_setup_true_lang-BRQVqTNO.js → BuiSelect.vue_vue_type_script_setup_true_lang-m2Wvc7wn.js} +1 -1
  108. package/dist/{BuiSelectContent.vue_vue_type_script_setup_true_lang-B1vjFIab.js → BuiSelectContent.vue_vue_type_script_setup_true_lang-D10Iiz4m.js} +2 -2
  109. package/dist/{BuiSelectGroup.vue_vue_type_script_setup_true_lang-Bph0LmsI.js → BuiSelectGroup.vue_vue_type_script_setup_true_lang-D_fNFsNW.js} +2 -2
  110. package/dist/{BuiSelectItem.vue_vue_type_script_setup_true_lang-QatY9QR8.js → BuiSelectItem.vue_vue_type_script_setup_true_lang-DtVOu1-z.js} +3 -3
  111. package/dist/{BuiSelectItemText.vue_vue_type_script_setup_true_lang-D0U9ILtf.js → BuiSelectItemText.vue_vue_type_script_setup_true_lang-DnGPz6Zk.js} +1 -1
  112. package/dist/{BuiSelectLabel.vue_vue_type_script_setup_true_lang-MUM65bvR.js → BuiSelectLabel.vue_vue_type_script_setup_true_lang-DScZZcu2.js} +2 -2
  113. package/dist/{BuiSelectSeparator.vue_vue_type_script_setup_true_lang-DjLn_lp1.js → BuiSelectSeparator.vue_vue_type_script_setup_true_lang-BdOmkbIv.js} +2 -2
  114. package/dist/{BuiSelectTrigger.vue_vue_type_script_setup_true_lang-BJkBJEle.js → BuiSelectTrigger.vue_vue_type_script_setup_true_lang-B3jcBhnj.js} +3 -3
  115. package/dist/{BuiSelectValue.vue_vue_type_script_setup_true_lang-Do2Xen84.js → BuiSelectValue.vue_vue_type_script_setup_true_lang-Dj1zDTaG.js} +1 -1
  116. package/dist/{BuiSeparator.vue_vue_type_script_setup_true_lang-F5dTfJpF.js → BuiSeparator.vue_vue_type_script_setup_true_lang-DdQNHu4h.js} +2 -2
  117. package/dist/{BuiSlider.vue_vue_type_script_setup_true_lang-CjS-drv8.js → BuiSlider.vue_vue_type_script_setup_true_lang-pzAiX1XP.js} +2 -2
  118. package/dist/{BuiSwitch.vue_vue_type_script_setup_true_lang-B-j-MmqM.js → BuiSwitch.vue_vue_type_script_setup_true_lang-C9ShckgE.js} +2 -2
  119. package/dist/{BuiTable.vue_vue_type_script_setup_true_lang-ydsJTL2_.js → BuiTable.vue_vue_type_script_setup_true_lang-DtvBDBVo.js} +3 -3
  120. package/dist/{BuiTableBody.vue_vue_type_script_setup_true_lang-CqSABM4V.js → BuiTableBody.vue_vue_type_script_setup_true_lang-C8xJ4jmB.js} +1 -1
  121. package/dist/{BuiTableCaption.vue_vue_type_script_setup_true_lang-2RgypQsL.js → BuiTableCaption.vue_vue_type_script_setup_true_lang-akgSakue.js} +1 -1
  122. package/dist/{BuiTableCell.vue_vue_type_script_setup_true_lang-CqV-LZXk.js → BuiTableCell.vue_vue_type_script_setup_true_lang-Bg3H27w9.js} +1 -1
  123. package/dist/{BuiTableEmpty.vue_vue_type_script_setup_true_lang-FRYlAJCo.js → BuiTableEmpty.vue_vue_type_script_setup_true_lang-DdNjsCQp.js} +3 -3
  124. package/dist/{BuiTableFooter.vue_vue_type_script_setup_true_lang-CTX5ExjQ.js → BuiTableFooter.vue_vue_type_script_setup_true_lang-BBpzOKn2.js} +1 -1
  125. package/dist/{BuiTableHead.vue_vue_type_script_setup_true_lang-CPErGzH1.js → BuiTableHead.vue_vue_type_script_setup_true_lang-fjU0tzXQ.js} +1 -1
  126. package/dist/{BuiTableHeader.vue_vue_type_script_setup_true_lang-DTmWyQCZ.js → BuiTableHeader.vue_vue_type_script_setup_true_lang-DPm0jnLo.js} +1 -1
  127. package/dist/{BuiTableRow.vue_vue_type_script_setup_true_lang-C1OnvnIn.js → BuiTableRow.vue_vue_type_script_setup_true_lang-BtsefcWm.js} +1 -1
  128. package/dist/{BuiTableRowSubrow.vue_vue_type_script_setup_true_lang-jbdiM4PH.js → BuiTableRowSubrow.vue_vue_type_script_setup_true_lang-o7uq1Evp.js} +4 -4
  129. package/dist/{BuiTabs.vue_vue_type_script_setup_true_lang-DG5EZdGM.js → BuiTabs.vue_vue_type_script_setup_true_lang-Bx9h7mN7.js} +1 -1
  130. package/dist/{BuiTabsContent.vue_vue_type_script_setup_true_lang-BwE1MJdJ.js → BuiTabsContent.vue_vue_type_script_setup_true_lang-fhGgOsCb.js} +2 -2
  131. package/dist/{BuiToastAction.vue_vue_type_script_setup_true_lang-DebhSOF9.js → BuiToastAction.vue_vue_type_script_setup_true_lang-CQdfsCpV.js} +2 -2
  132. package/dist/{BuiToastClose.vue_vue_type_script_setup_true_lang-D3QZI45z.js → BuiToastClose.vue_vue_type_script_setup_true_lang-DKcinPYL.js} +3 -3
  133. package/dist/{BuiToastDescription.vue_vue_type_script_setup_true_lang-DqqLkMh6.js → BuiToastDescription.vue_vue_type_script_setup_true_lang-DilPK4c7.js} +2 -2
  134. package/dist/{BuiToastProvider.vue_vue_type_script_setup_true_lang-CYbeWPdz.js → BuiToastProvider.vue_vue_type_script_setup_true_lang-D6BsFeKl.js} +1 -1
  135. package/dist/{BuiToastTitle.vue_vue_type_script_setup_true_lang-g0n07wF_.js → BuiToastTitle.vue_vue_type_script_setup_true_lang-DKYb0KDP.js} +2 -2
  136. package/dist/{BuiToastViewport.vue_vue_type_script_setup_true_lang-B6cN8Zos.js → BuiToastViewport.vue_vue_type_script_setup_true_lang-CNJXlkVy.js} +2 -2
  137. package/dist/{BuiToggleGroup.vue_vue_type_script_setup_true_lang-BnysnhBH.js → BuiToggleGroup.vue_vue_type_script_setup_true_lang-BVLWma8L.js} +2 -2
  138. package/dist/{BuiToggleGroupItem.vue_vue_type_script_setup_true_lang-BAJFK0sn.js → BuiToggleGroupItem.vue_vue_type_script_setup_true_lang-CxIsZIZP.js} +2 -2
  139. package/dist/{BuiTooltip.vue_vue_type_script_setup_true_lang-C22CLrvM.js → BuiTooltip.vue_vue_type_script_setup_true_lang-BUpZD1YF.js} +1 -1
  140. package/dist/{BuiTooltipContent.vue_vue_type_script_setup_true_lang-DvMKbddv.js → BuiTooltipContent.vue_vue_type_script_setup_true_lang-BlJipdor.js} +2 -2
  141. package/dist/{BuiTooltipProvider.vue_vue_type_script_setup_true_lang-C_LH0pQ_.js → BuiTooltipProvider.vue_vue_type_script_setup_true_lang-BPhsWP8Y.js} +1 -1
  142. package/dist/{BuiTooltipTrigger.vue_vue_type_script_setup_true_lang-C6uB9b0L.js → BuiTooltipTrigger.vue_vue_type_script_setup_true_lang-BQG5Ssoc.js} +1 -1
  143. package/dist/{Skeleton.vue_vue_type_script_setup_true_lang-DHhyJcHN.js → Skeleton.vue_vue_type_script_setup_true_lang-D5EVQxHg.js} +1 -1
  144. package/dist/assets/main.css +1 -1
  145. package/dist/{check-BJyCCkUR.js → check-DKcXJk1r.js} +1 -1
  146. package/dist/{chevron-down-6pQMKeyZ.js → chevron-down-C5w5Vj70.js} +1 -1
  147. package/dist/{chevron-left-BWfYLWcI.js → chevron-left-BqvZOD-Y.js} +1 -1
  148. package/dist/{chevron-right-D1IucVwg.js → chevron-right-ZmwmaSAu.js} +1 -1
  149. package/dist/{circle-DpKO9sPs.js → circle-Da-wgB2G.js} +1 -1
  150. package/dist/components/ui/accordion/BuiAccordion.js +1 -1
  151. package/dist/components/ui/accordion/BuiAccordionContent.js +1 -1
  152. package/dist/components/ui/accordion/BuiAccordionItem.js +1 -1
  153. package/dist/components/ui/accordion/BuiAccordionTrigger.js +1 -1
  154. package/dist/components/ui/accordion/index.js +4 -4
  155. package/dist/components/ui/alert/BuiAlertDescription.js +1 -1
  156. package/dist/components/ui/alert/BuiAlertTitle.js +1 -1
  157. package/dist/components/ui/alert/index.js +3 -3
  158. package/dist/components/ui/alert-dialog/BuiAlertDialog.js +1 -1
  159. package/dist/components/ui/alert-dialog/BuiAlertDialogAction.js +1 -1
  160. package/dist/components/ui/alert-dialog/BuiAlertDialogCancel.js +1 -1
  161. package/dist/components/ui/alert-dialog/BuiAlertDialogContent.js +1 -1
  162. package/dist/components/ui/alert-dialog/BuiAlertDialogDescription.js +1 -1
  163. package/dist/components/ui/alert-dialog/BuiAlertDialogFooter.js +1 -1
  164. package/dist/components/ui/alert-dialog/BuiAlertDialogHeader.js +1 -1
  165. package/dist/components/ui/alert-dialog/BuiAlertDialogTitle.js +1 -1
  166. package/dist/components/ui/alert-dialog/BuiAlertDialogTrigger.js +1 -1
  167. package/dist/components/ui/alert-dialog/index.js +9 -9
  168. package/dist/components/ui/aspect-ratio/BuiAspectRatio.js +1 -1
  169. package/dist/components/ui/aspect-ratio/index.js +1 -1
  170. package/dist/components/ui/auto-form/BuiAutoForm.js +4 -0
  171. package/dist/components/ui/auto-form/BuiAutoForm.vue.d.ts +90 -0
  172. package/dist/components/ui/auto-form/BuiAutoFormField.js +4 -0
  173. package/dist/components/ui/auto-form/BuiAutoFormField.vue.d.ts +43 -0
  174. package/dist/components/ui/auto-form/BuiAutoFormFieldArray.js +4 -0
  175. package/dist/components/ui/auto-form/BuiAutoFormFieldBoolean.js +4 -0
  176. package/dist/components/ui/auto-form/BuiAutoFormFieldBoolean.vue.d.ts +36 -0
  177. package/dist/components/ui/auto-form/BuiAutoFormFieldDate.js +4 -0
  178. package/dist/components/ui/auto-form/BuiAutoFormFieldDate.vue.d.ts +36 -0
  179. package/dist/components/ui/auto-form/BuiAutoFormFieldEnum.js +4 -0
  180. package/dist/components/ui/auto-form/BuiAutoFormFieldEnum.vue.d.ts +40 -0
  181. package/dist/components/ui/auto-form/BuiAutoFormFieldFile.js +4 -0
  182. package/dist/components/ui/auto-form/BuiAutoFormFieldFile.vue.d.ts +36 -0
  183. package/dist/components/ui/auto-form/BuiAutoFormFieldInput.js +4 -0
  184. package/dist/components/ui/auto-form/BuiAutoFormFieldInput.vue.d.ts +36 -0
  185. package/dist/components/ui/auto-form/BuiAutoFormFieldNumber.js +4 -0
  186. package/dist/components/ui/auto-form/BuiAutoFormFieldNumber.vue.d.ts +36 -0
  187. package/dist/components/ui/auto-form/BuiAutoFormFieldObject.js +4 -0
  188. package/dist/components/ui/auto-form/BuiAutoFormLabel.js +4 -0
  189. package/dist/components/ui/auto-form/BuiAutoFormLabel.vue.d.ts +22 -0
  190. package/dist/components/ui/auto-form/constant.js +11 -0
  191. package/dist/components/ui/auto-form/dependencies.d.ts +22 -0
  192. package/dist/components/ui/auto-form/dependencies.js +60 -0
  193. package/dist/components/ui/auto-form/index.d.ts +13 -0
  194. package/dist/components/ui/auto-form/index.js +26 -0
  195. package/dist/components/ui/auto-form/interface.d.ts +55 -0
  196. package/dist/components/ui/auto-form/interface.js +4 -0
  197. package/dist/components/ui/auto-form/utils.d.ts +46 -0
  198. package/dist/components/ui/auto-form/utils.js +74 -0
  199. package/dist/components/ui/avatar/BuiAvatarFallback.js +1 -1
  200. package/dist/components/ui/avatar/BuiAvatarImage.js +1 -1
  201. package/dist/components/ui/avatar/index.js +4 -4
  202. package/dist/components/ui/badge/index.js +2 -2
  203. package/dist/components/ui/button/BuiButton.js +1 -1
  204. package/dist/components/ui/button/index.js +1 -1
  205. package/dist/components/ui/calendar/BuiCalendar.js +1 -1
  206. package/dist/components/ui/calendar/index.js +5 -5
  207. package/dist/components/ui/card/BuiCard.js +1 -1
  208. package/dist/components/ui/card/BuiCardContent.js +1 -1
  209. package/dist/components/ui/card/BuiCardDescription.js +1 -1
  210. package/dist/components/ui/card/BuiCardFooter.js +1 -1
  211. package/dist/components/ui/card/BuiCardHeader.js +1 -1
  212. package/dist/components/ui/card/BuiCardTitle.js +1 -1
  213. package/dist/components/ui/card/index.js +6 -6
  214. package/dist/components/ui/checkbox/BuiCheckbox.js +1 -1
  215. package/dist/components/ui/checkbox/index.js +1 -1
  216. package/dist/components/ui/collapsible/BuiCollapsible.js +1 -1
  217. package/dist/components/ui/collapsible/BuiCollapsibleContent.js +1 -1
  218. package/dist/components/ui/collapsible/BuiCollapsibleTrigger.js +1 -1
  219. package/dist/components/ui/collapsible/index.js +3 -3
  220. package/dist/components/ui/command/BuiCommand.js +1 -1
  221. package/dist/components/ui/command/BuiCommandDialog.js +1 -1
  222. package/dist/components/ui/command/BuiCommandEmpty.js +1 -1
  223. package/dist/components/ui/command/BuiCommandGroup.js +1 -1
  224. package/dist/components/ui/command/BuiCommandInput.js +1 -1
  225. package/dist/components/ui/command/BuiCommandItem.js +1 -1
  226. package/dist/components/ui/command/BuiCommandList.js +1 -1
  227. package/dist/components/ui/command/BuiCommandSeparator.js +1 -1
  228. package/dist/components/ui/command/BuiCommandShortcut.js +1 -1
  229. package/dist/components/ui/command/index.js +9 -9
  230. package/dist/components/ui/context-menu/BuiContextMenu.js +1 -1
  231. package/dist/components/ui/context-menu/BuiContextMenuCheckboxItem.js +1 -1
  232. package/dist/components/ui/context-menu/BuiContextMenuContent.js +1 -1
  233. package/dist/components/ui/context-menu/BuiContextMenuGroup.js +1 -1
  234. package/dist/components/ui/context-menu/BuiContextMenuItem.js +1 -1
  235. package/dist/components/ui/context-menu/BuiContextMenuLabel.js +1 -1
  236. package/dist/components/ui/context-menu/BuiContextMenuPortal.js +1 -1
  237. package/dist/components/ui/context-menu/BuiContextMenuRadioGroup.js +1 -1
  238. package/dist/components/ui/context-menu/BuiContextMenuRadioItem.js +1 -1
  239. package/dist/components/ui/context-menu/BuiContextMenuSeparator.js +1 -1
  240. package/dist/components/ui/context-menu/BuiContextMenuShortcut.js +1 -1
  241. package/dist/components/ui/context-menu/BuiContextMenuSub.js +1 -1
  242. package/dist/components/ui/context-menu/BuiContextMenuSubContent.js +1 -1
  243. package/dist/components/ui/context-menu/BuiContextMenuSubTrigger.js +1 -1
  244. package/dist/components/ui/context-menu/BuiContextMenuTrigger.js +1 -1
  245. package/dist/components/ui/context-menu/index.js +14 -14
  246. package/dist/components/ui/dialog/BuiDialog.js +1 -1
  247. package/dist/components/ui/dialog/BuiDialogClose.js +1 -1
  248. package/dist/components/ui/dialog/BuiDialogContent.js +1 -1
  249. package/dist/components/ui/dialog/BuiDialogDescription.js +1 -1
  250. package/dist/components/ui/dialog/BuiDialogFooter.js +1 -1
  251. package/dist/components/ui/dialog/BuiDialogHeader.js +1 -1
  252. package/dist/components/ui/dialog/BuiDialogTitle.js +1 -1
  253. package/dist/components/ui/dialog/BuiDialogTrigger.js +1 -1
  254. package/dist/components/ui/dialog/index.js +8 -8
  255. package/dist/components/ui/dropdown-menu/BuiDropdownMenu.js +1 -1
  256. package/dist/components/ui/dropdown-menu/BuiDropdownMenuCheckboxItem.js +1 -1
  257. package/dist/components/ui/dropdown-menu/BuiDropdownMenuContent.js +1 -1
  258. package/dist/components/ui/dropdown-menu/BuiDropdownMenuGroup.js +1 -1
  259. package/dist/components/ui/dropdown-menu/BuiDropdownMenuItem.js +1 -1
  260. package/dist/components/ui/dropdown-menu/BuiDropdownMenuLabel.js +1 -1
  261. package/dist/components/ui/dropdown-menu/BuiDropdownMenuRadioGroup.js +1 -1
  262. package/dist/components/ui/dropdown-menu/BuiDropdownMenuRadioItem.js +1 -1
  263. package/dist/components/ui/dropdown-menu/BuiDropdownMenuSeparator.js +1 -1
  264. package/dist/components/ui/dropdown-menu/BuiDropdownMenuShortcut.js +1 -1
  265. package/dist/components/ui/dropdown-menu/BuiDropdownMenuSub.js +1 -1
  266. package/dist/components/ui/dropdown-menu/BuiDropdownMenuSubContent.js +1 -1
  267. package/dist/components/ui/dropdown-menu/BuiDropdownMenuSubTrigger.js +1 -1
  268. package/dist/components/ui/dropdown-menu/BuiDropdownMenuTrigger.js +1 -1
  269. package/dist/components/ui/dropdown-menu/index.js +15 -15
  270. package/dist/components/ui/form/BuiFormControl.js +1 -1
  271. package/dist/components/ui/form/BuiFormDescription.js +1 -1
  272. package/dist/components/ui/form/BuiFormItem.js +2 -2
  273. package/dist/components/ui/form/BuiFormLabel.js +1 -1
  274. package/dist/components/ui/form/BuiFormMessage.js +1 -1
  275. package/dist/components/ui/form/index.js +6 -6
  276. package/dist/components/ui/form/useFormField.js +23 -4
  277. package/dist/components/ui/health/index.js +1 -1
  278. package/dist/components/ui/hover-card/BuiHoverCard.js +1 -1
  279. package/dist/components/ui/hover-card/BuiHoverCardContent.js +1 -1
  280. package/dist/components/ui/hover-card/BuiHoverCardTrigger.js +1 -1
  281. package/dist/components/ui/hover-card/index.js +3 -3
  282. package/dist/components/ui/input/index.js +2 -2
  283. package/dist/components/ui/label/BuiLabel.js +1 -1
  284. package/dist/components/ui/label/index.js +1 -1
  285. package/dist/components/ui/pagination/BuiPaginationCommon.js +1 -1
  286. package/dist/components/ui/pagination/BuiPaginationEllipsis.js +1 -1
  287. package/dist/components/ui/pagination/BuiPaginationFirst.js +1 -1
  288. package/dist/components/ui/pagination/BuiPaginationLast.js +1 -1
  289. package/dist/components/ui/pagination/BuiPaginationNext.js +1 -1
  290. package/dist/components/ui/pagination/BuiPaginationPrev.js +1 -1
  291. package/dist/components/ui/pagination/index.js +7 -7
  292. package/dist/components/ui/popover/BuiPopover.js +1 -1
  293. package/dist/components/ui/popover/BuiPopoverContent.js +1 -1
  294. package/dist/components/ui/popover/BuiPopoverTrigger.js +1 -1
  295. package/dist/components/ui/popover/index.js +3 -3
  296. package/dist/components/ui/progress/index.js +2 -2
  297. package/dist/components/ui/radio-group/BuiRadioGroup.js +1 -1
  298. package/dist/components/ui/radio-group/BuiRadioGroupItem.js +1 -1
  299. package/dist/components/ui/radio-group/index.js +2 -2
  300. package/dist/components/ui/scroll-area/BuiScrollArea.js +1 -1
  301. package/dist/components/ui/scroll-area/BuiScrollBar.js +1 -1
  302. package/dist/components/ui/scroll-area/index.js +2 -2
  303. package/dist/components/ui/select/Bui.js +2 -2
  304. package/dist/components/ui/select/Bui.vue.d.ts +1 -1
  305. package/dist/components/ui/select/BuiSelect.js +1 -1
  306. package/dist/components/ui/select/BuiSelectContent.js +1 -1
  307. package/dist/components/ui/select/BuiSelectContent.vue.d.ts +1 -1
  308. package/dist/components/ui/select/BuiSelectGroup.js +1 -1
  309. package/dist/components/ui/select/BuiSelectItem.js +1 -1
  310. package/dist/components/ui/select/BuiSelectItemText.js +1 -1
  311. package/dist/components/ui/select/BuiSelectLabel.js +1 -1
  312. package/dist/components/ui/select/BuiSelectSeparator.js +1 -1
  313. package/dist/components/ui/select/BuiSelectTrigger.js +1 -1
  314. package/dist/components/ui/select/BuiSelectValue.js +1 -1
  315. package/dist/components/ui/select/index.js +9 -9
  316. package/dist/components/ui/separator/BuiSeparator.js +1 -1
  317. package/dist/components/ui/separator/index.js +1 -1
  318. package/dist/components/ui/skeleton/Skeleton.js +1 -1
  319. package/dist/components/ui/skeleton/index.js +1 -1
  320. package/dist/components/ui/slider/BuiSlider.js +1 -1
  321. package/dist/components/ui/slider/index.js +1 -1
  322. package/dist/components/ui/switch/BuiSwitch.js +1 -1
  323. package/dist/components/ui/switch/index.js +1 -1
  324. package/dist/components/ui/table/BuiDataTable.js +1 -1
  325. package/dist/components/ui/table/BuiTable.js +1 -1
  326. package/dist/components/ui/table/BuiTableBody.js +1 -1
  327. package/dist/components/ui/table/BuiTableCaption.js +1 -1
  328. package/dist/components/ui/table/BuiTableCell.js +1 -1
  329. package/dist/components/ui/table/BuiTableEmpty.js +1 -1
  330. package/dist/components/ui/table/BuiTableFooter.js +1 -1
  331. package/dist/components/ui/table/BuiTableHead.js +1 -1
  332. package/dist/components/ui/table/BuiTableHeader.js +1 -1
  333. package/dist/components/ui/table/BuiTableRow.js +1 -1
  334. package/dist/components/ui/table/BuiTableRowSubrow.js +1 -1
  335. package/dist/components/ui/table/index.js +11 -11
  336. package/dist/components/ui/tabs/BuiTabs.js +1 -1
  337. package/dist/components/ui/tabs/BuiTabsContent.js +1 -1
  338. package/dist/components/ui/tabs/index.js +10 -10
  339. package/dist/components/ui/textarea/index.js +2 -2
  340. package/dist/components/ui/toast/BuiToastAction.js +1 -1
  341. package/dist/components/ui/toast/BuiToastClose.js +1 -1
  342. package/dist/components/ui/toast/BuiToastDescription.js +1 -1
  343. package/dist/components/ui/toast/BuiToastProvider.js +1 -1
  344. package/dist/components/ui/toast/BuiToastTitle.js +1 -1
  345. package/dist/components/ui/toast/BuiToastViewport.js +1 -1
  346. package/dist/components/ui/toast/index.js +12 -12
  347. package/dist/components/ui/toggle/index.js +2 -2
  348. package/dist/components/ui/toggle-group/BuiToggleGroup.js +1 -1
  349. package/dist/components/ui/toggle-group/BuiToggleGroupItem.js +1 -1
  350. package/dist/components/ui/toggle-group/index.js +2 -2
  351. package/dist/components/ui/tooltip/BuiTooltip.js +1 -1
  352. package/dist/components/ui/tooltip/BuiTooltipContent.js +1 -1
  353. package/dist/components/ui/tooltip/BuiTooltipProvider.js +1 -1
  354. package/dist/components/ui/tooltip/BuiTooltipTrigger.js +1 -1
  355. package/dist/components/ui/tooltip/index.js +4 -4
  356. package/dist/{index-D3xpR8yT.js → index-BX_xuhSi.js} +1928 -1910
  357. package/dist/{index-DlKyQJKc.js → index-DBFwX7-c.js} +41 -41
  358. package/dist/index.d.ts +1 -0
  359. package/dist/index.js +257 -233
  360. package/dist/lib/utils.js +1 -1
  361. package/dist/{utils-DsnHoeYK.js → utils-BNc3Bzhq.js} +1 -1
  362. package/dist/{useFormField-BSPc2uBO.js → vee-validate.esm-BSPEJ8Vl.js} +440 -442
  363. package/dist/{x-CQ03t7ul.js → x-qxSNtB0B.js} +1 -1
  364. package/package.json +4 -3
  365. package/src/components/stories/BuiAutoForm.story.vue +98 -0
  366. package/src/components/ui/auto-form/BuiAutoForm.vue +109 -0
  367. package/src/components/ui/auto-form/BuiAutoFormField.vue +45 -0
  368. package/src/components/ui/auto-form/BuiAutoFormFieldArray.vue +105 -0
  369. package/src/components/ui/auto-form/BuiAutoFormFieldBoolean.vue +47 -0
  370. package/src/components/ui/auto-form/BuiAutoFormFieldDate.vue +73 -0
  371. package/src/components/ui/auto-form/BuiAutoFormFieldEnum.vue +75 -0
  372. package/src/components/ui/auto-form/BuiAutoFormFieldFile.vue +87 -0
  373. package/src/components/ui/auto-form/BuiAutoFormFieldInput.vue +42 -0
  374. package/src/components/ui/auto-form/BuiAutoFormFieldNumber.vue +42 -0
  375. package/src/components/ui/auto-form/BuiAutoFormFieldObject.vue +81 -0
  376. package/src/components/ui/auto-form/BuiAutoFormLabel.vue +14 -0
  377. package/src/components/ui/auto-form/constant.ts +39 -0
  378. package/src/components/ui/auto-form/dependencies.ts +95 -0
  379. package/src/components/ui/auto-form/index.ts +15 -0
  380. package/src/components/ui/auto-form/interface.ts +81 -0
  381. package/src/components/ui/auto-form/utils.ts +171 -0
  382. package/src/index.ts +1 -0
  383. package/dist/BuiFormDescription.vue_vue_type_script_setup_true_lang-C8R2LDkW.js +0 -19
  384. package/dist/BuiFormMessage.vue_vue_type_script_setup_true_lang-B3zF0X2U.js +0 -17
@@ -0,0 +1,42 @@
1
+ <script setup lang="ts">
2
+ import { computed } from 'vue'
3
+ import AutoFormLabel from './BuiAutoFormLabel.vue'
4
+ import { beautifyObjectName } from './utils'
5
+ import type { FieldProps } from './interface'
6
+ import {
7
+ BuiFormControl as FormControl,
8
+ BuiFormDescription as FormDescription,
9
+ BuiFormField as FormField,
10
+ BuiFormItem as FormItem,
11
+ BuiFormMessage as FormMessage
12
+ } from '@/components/ui/form'
13
+ import { BuiInput as Input } from '@/components/ui/input'
14
+ import { BuiTextarea as Textarea } from '@/components/ui/textarea'
15
+
16
+ const props = defineProps<FieldProps>()
17
+ const inputComponent = computed(() => (props.config?.component === 'textarea' ? Textarea : Input))
18
+ </script>
19
+
20
+ <template>
21
+ <FormField v-slot="slotProps" :name="fieldName">
22
+ <FormItem v-bind="$attrs">
23
+ <AutoFormLabel v-if="!config?.hideLabel" :required="required">
24
+ {{ config?.label || beautifyObjectName(label ?? fieldName) }}
25
+ </AutoFormLabel>
26
+ <FormControl>
27
+ <slot v-bind="slotProps">
28
+ <component
29
+ :is="inputComponent"
30
+ type="text"
31
+ v-bind="{ ...slotProps.componentField, ...config?.inputProps }"
32
+ :disabled="disabled"
33
+ />
34
+ </slot>
35
+ </FormControl>
36
+ <FormDescription v-if="config?.description">
37
+ {{ config.description }}
38
+ </FormDescription>
39
+ <FormMessage />
40
+ </FormItem>
41
+ </FormField>
42
+ </template>
@@ -0,0 +1,42 @@
1
+ <script setup lang="ts">
2
+ import AutoFormLabel from './BuiAutoFormLabel.vue'
3
+ import { beautifyObjectName } from './utils'
4
+ import type { FieldProps } from './interface'
5
+ import {
6
+ BuiFormControl as FormControl,
7
+ BuiFormDescription as FormDescription,
8
+ BuiFormField as FormField,
9
+ BuiFormItem as FormItem,
10
+ BuiFormMessage as FormMessage
11
+ } from '@/components/ui/form'
12
+ import { BuiInput as Input } from '@/components/ui/input'
13
+
14
+ defineOptions({
15
+ inheritAttrs: false
16
+ })
17
+
18
+ defineProps<FieldProps>()
19
+ </script>
20
+
21
+ <template>
22
+ <FormField v-slot="slotProps" :name="fieldName">
23
+ <FormItem>
24
+ <AutoFormLabel v-if="!config?.hideLabel" :required="required">
25
+ {{ config?.label || beautifyObjectName(label ?? fieldName) }}
26
+ </AutoFormLabel>
27
+ <FormControl>
28
+ <slot v-bind="slotProps">
29
+ <Input
30
+ type="number"
31
+ v-bind="{ ...slotProps.componentField, ...config?.inputProps }"
32
+ :disabled="disabled"
33
+ />
34
+ </slot>
35
+ </FormControl>
36
+ <FormDescription v-if="config?.description">
37
+ {{ config.description }}
38
+ </FormDescription>
39
+ <FormMessage />
40
+ </FormItem>
41
+ </FormField>
42
+ </template>
@@ -0,0 +1,81 @@
1
+ <script setup lang="ts" generic="T extends ZodRawShape">
2
+ import type { ZodAny, ZodObject, ZodRawShape } from 'zod'
3
+ import { computed, provide } from 'vue'
4
+ import { FieldContextKey, useField } from 'vee-validate'
5
+ import AutoFormField from './BuiAutoFormField.vue'
6
+ import type { Config, ConfigItem, Shape } from './interface'
7
+ import { beautifyObjectName, getBaseSchema, getBaseType, getDefaultValueInZodStack } from './utils'
8
+ import AutoFormLabel from './BuiAutoFormLabel.vue'
9
+ import {
10
+ BuiAccordion as Accordion,
11
+ BuiAccordionContent as AccordionContent,
12
+ BuiAccordionItem as AccordionItem,
13
+ BuiAccordionTrigger as AccordionTrigger
14
+ } from '@/components/ui/accordion'
15
+ import { BuiFormItem as FormItem } from '@/components/ui/form'
16
+
17
+ const props = defineProps<{
18
+ fieldName: string
19
+ required?: boolean
20
+ config?: Config<T>
21
+ schema?: ZodObject<T>
22
+ disabled?: boolean
23
+ }>()
24
+
25
+ const shapes = computed(() => {
26
+ // @ts-expect-error ignore {} not assignable to object
27
+ const val: { [key in keyof T]: Shape } = {}
28
+
29
+ if (!props.schema) return
30
+ const shape = getBaseSchema(props.schema)?.shape
31
+ if (!shape) return
32
+ Object.keys(shape).forEach((name) => {
33
+ const item = shape[name] as ZodAny
34
+ const baseItem = getBaseSchema(item) as ZodAny
35
+ let options =
36
+ baseItem && 'values' in baseItem._def ? (baseItem._def.values as string[]) : undefined
37
+ if (!Array.isArray(options) && typeof options === 'object') options = Object.values(options)
38
+
39
+ val[name as keyof T] = {
40
+ type: getBaseType(item),
41
+ default: getDefaultValueInZodStack(item),
42
+ options,
43
+ required: !['ZodOptional', 'ZodNullable'].includes(item._def.typeName),
44
+ schema: item
45
+ }
46
+ })
47
+ return val
48
+ })
49
+
50
+ const fieldContext = useField(props.fieldName)
51
+ // @ts-expect-error ignore missing `id`
52
+ provide(FieldContextKey, fieldContext)
53
+ </script>
54
+
55
+ <template>
56
+ <section>
57
+ <slot v-bind="props">
58
+ <Accordion type="single" as-child class="w-full" collapsible :disabled="disabled">
59
+ <FormItem>
60
+ <AccordionItem :value="fieldName" class="border-none">
61
+ <AccordionTrigger>
62
+ <AutoFormLabel class="text-base" :required="required">
63
+ {{ schema?.description || beautifyObjectName(fieldName) }}
64
+ </AutoFormLabel>
65
+ </AccordionTrigger>
66
+ <AccordionContent class="space-y-5 p-1">
67
+ <template v-for="(shape, key) in shapes" :key="key">
68
+ <AutoFormField
69
+ :config="config?.[key as keyof typeof config] as ConfigItem"
70
+ :field-name="`${fieldName}.${key.toString()}`"
71
+ :label="key.toString()"
72
+ :shape="shape"
73
+ />
74
+ </template>
75
+ </AccordionContent>
76
+ </AccordionItem>
77
+ </FormItem>
78
+ </Accordion>
79
+ </slot>
80
+ </section>
81
+ </template>
@@ -0,0 +1,14 @@
1
+ <script setup lang="ts">
2
+ import { BuiFormLabel as FormLabel } from '@/components/ui/form'
3
+
4
+ defineProps<{
5
+ required?: boolean
6
+ }>()
7
+ </script>
8
+
9
+ <template>
10
+ <FormLabel>
11
+ <slot />
12
+ <span v-if="required" class="text-destructive"> *</span>
13
+ </FormLabel>
14
+ </template>
@@ -0,0 +1,39 @@
1
+ import BuiAutoFormFieldArray from './BuiAutoFormFieldArray.vue'
2
+ import BuiAutoFormFieldBoolean from './BuiAutoFormFieldBoolean.vue'
3
+ import BuiAutoFormFieldDate from './BuiAutoFormFieldDate.vue'
4
+ import BuiAutoFormFieldEnum from './BuiAutoFormFieldEnum.vue'
5
+ import BuiAutoFormFieldFile from './BuiAutoFormFieldFile.vue'
6
+ import BuiAutoFormFieldInput from './BuiAutoFormFieldInput.vue'
7
+ import BuiAutoFormFieldNumber from './BuiAutoFormFieldNumber.vue'
8
+ import BuiAutoFormFieldObject from './BuiAutoFormFieldObject.vue'
9
+
10
+ export const INPUT_COMPONENTS = {
11
+ date: BuiAutoFormFieldDate,
12
+ select: BuiAutoFormFieldEnum,
13
+ radio: BuiAutoFormFieldEnum,
14
+ checkbox: BuiAutoFormFieldBoolean,
15
+ switch: BuiAutoFormFieldBoolean,
16
+ textarea: BuiAutoFormFieldInput,
17
+ number: BuiAutoFormFieldNumber,
18
+ string: BuiAutoFormFieldInput,
19
+ file: BuiAutoFormFieldFile,
20
+ array: BuiAutoFormFieldArray,
21
+ object: BuiAutoFormFieldObject
22
+ }
23
+
24
+ /**
25
+ * Define handlers for specific Zod types.
26
+ * You can expand this object to support more types.
27
+ */
28
+ export const DEFAULT_ZOD_HANDLERS: {
29
+ [key: string]: keyof typeof INPUT_COMPONENTS
30
+ } = {
31
+ ZodString: 'string',
32
+ ZodBoolean: 'checkbox',
33
+ ZodDate: 'date',
34
+ ZodEnum: 'select',
35
+ ZodNativeEnum: 'select',
36
+ ZodNumber: 'number',
37
+ ZodArray: 'array',
38
+ ZodObject: 'object'
39
+ }
@@ -0,0 +1,95 @@
1
+ import type * as z from 'zod'
2
+ import type { Ref } from 'vue'
3
+ import { computed, ref, watch } from 'vue'
4
+ import { useFieldValue, useFormValues } from 'vee-validate'
5
+ import { createContext } from 'radix-vue'
6
+ import { type Dependency, DependencyType, type EnumValues } from './interface'
7
+ import { getFromPath, getIndexIfArray } from './utils'
8
+
9
+ export const [injectDependencies, provideDependencies] =
10
+ createContext<Ref<Dependency<z.infer<z.ZodObject<any>>>[] | undefined>>('AutoFormDependencies')
11
+
12
+ export default function useDependencies(fieldName: string) {
13
+ const form = useFormValues()
14
+ // parsed test[0].age => test.age
15
+ const currentFieldName = fieldName.replace(/\[\d+\]/g, '')
16
+ const currentFieldValue = useFieldValue<any>(fieldName)
17
+
18
+ if (!form) throw new Error('useDependencies should be used within <AutoForm>')
19
+
20
+ const dependencies = injectDependencies()
21
+ const isDisabled = ref(false)
22
+ const isHidden = ref(false)
23
+ const isRequired = ref(false)
24
+ const overrideOptions = ref<EnumValues | undefined>()
25
+
26
+ const currentFieldDependencies = computed(() =>
27
+ dependencies.value?.filter((dependency) => dependency.targetField === currentFieldName)
28
+ )
29
+
30
+ function getSourceValue(dep: Dependency<any>) {
31
+ const source = dep.sourceField as string
32
+ const index = getIndexIfArray(fieldName) ?? -1
33
+ //@ts-ignore
34
+ const [sourceLast, ...sourceInitial] = source.split('.').toReversed()
35
+ //@ts-ignore
36
+ const [_targetLast, ...targetInitial] = (dep.targetField as string).split('.').toReversed()
37
+
38
+ if (index >= 0 && sourceInitial.join(',') === targetInitial.join(',')) {
39
+ //@ts-ignore
40
+ const [_currentLast, ...currentInitial] = fieldName.split('.').toReversed()
41
+ return getFromPath(form.value, currentInitial.join('.') + sourceLast)
42
+ }
43
+
44
+ return getFromPath(form.value, source)
45
+ }
46
+
47
+ const sourceFieldValues = computed(() =>
48
+ currentFieldDependencies.value?.map((dep) => getSourceValue(dep))
49
+ )
50
+
51
+ const resetConditionState = () => {
52
+ isDisabled.value = false
53
+ isHidden.value = false
54
+ isRequired.value = false
55
+ overrideOptions.value = undefined
56
+ }
57
+
58
+ watch(
59
+ [sourceFieldValues, dependencies],
60
+ () => {
61
+ resetConditionState()
62
+ currentFieldDependencies.value?.forEach((dep) => {
63
+ const sourceValue = getSourceValue(dep)
64
+ const conditionMet = dep.when(sourceValue, currentFieldValue.value)
65
+
66
+ switch (dep.type) {
67
+ case DependencyType.DISABLES:
68
+ if (conditionMet) isDisabled.value = true
69
+
70
+ break
71
+ case DependencyType.REQUIRES:
72
+ if (conditionMet) isRequired.value = true
73
+
74
+ break
75
+ case DependencyType.HIDES:
76
+ if (conditionMet) isHidden.value = true
77
+
78
+ break
79
+ case DependencyType.SETS_OPTIONS:
80
+ if (conditionMet) overrideOptions.value = dep.options
81
+
82
+ break
83
+ }
84
+ })
85
+ },
86
+ { immediate: true, deep: true }
87
+ )
88
+
89
+ return {
90
+ isDisabled,
91
+ isHidden,
92
+ isRequired,
93
+ overrideOptions
94
+ }
95
+ }
@@ -0,0 +1,15 @@
1
+ export { getObjectFormSchema, getBaseSchema, getBaseType } from './utils'
2
+ export type { Config, ConfigItem, FieldProps } from './interface'
3
+
4
+ export { default as BuiAutoForm } from './BuiAutoForm.vue'
5
+ export { default as BuiAutoFormField } from './BuiAutoFormField.vue'
6
+ export { default as BuiAutoFormLabel } from './BuiAutoFormLabel.vue'
7
+
8
+ export { default as BuiAutoFormFieldArray } from './BuiAutoFormFieldArray.vue'
9
+ export { default as BuiAutoFormFieldBoolean } from './BuiAutoFormFieldBoolean.vue'
10
+ export { default as BuiAutoFormFieldDate } from './BuiAutoFormFieldDate.vue'
11
+ export { default as BuiAutoFormFieldEnum } from './BuiAutoFormFieldEnum.vue'
12
+ export { default as BuiAutoFormFieldFile } from './BuiAutoFormFieldFile.vue'
13
+ export { default as BuiAutoFormFieldInput } from './BuiAutoFormFieldInput.vue'
14
+ export { default as BuiAutoFormFieldNumber } from './BuiAutoFormFieldNumber.vue'
15
+ export { default as BuiAutoFormFieldObject } from './BuiAutoFormFieldObject.vue'
@@ -0,0 +1,81 @@
1
+ import type { Component, InputHTMLAttributes } from 'vue'
2
+ import type { ZodAny, z } from 'zod'
3
+ import type { INPUT_COMPONENTS } from './constant'
4
+
5
+ export interface FieldProps {
6
+ fieldName: string
7
+ label?: string
8
+ required?: boolean
9
+ config?: ConfigItem
10
+ disabled?: boolean
11
+ }
12
+
13
+ export interface Shape {
14
+ type: string
15
+ default?: any
16
+ required?: boolean
17
+ options?: string[]
18
+ schema?: ZodAny
19
+ }
20
+
21
+ export interface ConfigItem {
22
+ /** Value for the `FormLabel` */
23
+ label?: string
24
+ /** Value for the `FormDescription` */
25
+ description?: string
26
+ /** Pick which component to be rendered. */
27
+ component?: keyof typeof INPUT_COMPONENTS | Component
28
+ /** Hide `FormLabel`. */
29
+ hideLabel?: boolean
30
+ inputProps?: InputHTMLAttributes
31
+ }
32
+
33
+ // Define a type to unwrap an array
34
+ type UnwrapArray<T> = T extends (infer U)[] ? U : never
35
+
36
+ export type Config<SchemaType extends object> = {
37
+ // If SchemaType.key is an object, create a nested Config, otherwise ConfigItem
38
+ [Key in keyof SchemaType]?:
39
+ SchemaType[Key] extends any[]
40
+ ? UnwrapArray<Config<SchemaType[Key]>>
41
+ : SchemaType[Key] extends object
42
+ ? Config<SchemaType[Key]>
43
+ : ConfigItem;
44
+ }
45
+
46
+ export enum DependencyType {
47
+ DISABLES,
48
+ REQUIRES,
49
+ HIDES,
50
+ SETS_OPTIONS,
51
+ }
52
+
53
+ interface BaseDependency<SchemaType extends z.infer<z.ZodObject<any, any>>> {
54
+ sourceField: keyof SchemaType
55
+ type: DependencyType
56
+ targetField: keyof SchemaType
57
+ when: (sourceFieldValue: any, targetFieldValue: any) => boolean
58
+ }
59
+
60
+ export type ValueDependency<SchemaType extends z.infer<z.ZodObject<any, any>>> =
61
+ BaseDependency<SchemaType> & {
62
+ type:
63
+ | DependencyType.DISABLES
64
+ | DependencyType.REQUIRES
65
+ | DependencyType.HIDES
66
+ }
67
+
68
+ export type EnumValues = readonly [string, ...string[]]
69
+
70
+ export type OptionsDependency<
71
+ SchemaType extends z.infer<z.ZodObject<any, any>>,
72
+ > = BaseDependency<SchemaType> & {
73
+ type: DependencyType.SETS_OPTIONS
74
+
75
+ // Partial array of values from sourceField that will trigger the dependency
76
+ options: EnumValues
77
+ }
78
+
79
+ export type Dependency<SchemaType extends z.infer<z.ZodObject<any, any>>> =
80
+ | ValueDependency<SchemaType>
81
+ | OptionsDependency<SchemaType>
@@ -0,0 +1,171 @@
1
+ import type { z } from 'zod'
2
+
3
+ // TODO: This should support recursive ZodEffects but TypeScript doesn't allow circular type definitions.
4
+ export type ZodObjectOrWrapped =
5
+ | z.ZodObject<any, any>
6
+ | z.ZodEffects<z.ZodObject<any, any>>
7
+
8
+ /**
9
+ * Beautify a camelCase string.
10
+ * e.g. "myString" -> "My String"
11
+ */
12
+ export function beautifyObjectName(string: string) {
13
+ // Remove bracketed indices
14
+ // if numbers only return the string
15
+ let output = string.replace(/\[\d+\]/g, '').replace(/([A-Z])/g, ' $1')
16
+ output = output.charAt(0).toUpperCase() + output.slice(1)
17
+ return output
18
+ }
19
+
20
+ /**
21
+ * Parse string and extract the index
22
+ * @param string
23
+ * @returns index or undefined
24
+ */
25
+ export function getIndexIfArray(string: string) {
26
+ const indexRegex = /\[(\d+)\]/
27
+ // Match the index
28
+ const match = string.match(indexRegex)
29
+ // Extract the index (number)
30
+ const index = match ? Number.parseInt(match[1]) : undefined
31
+ return index
32
+ }
33
+
34
+ /**
35
+ * Get the lowest level Zod type.
36
+ * This will unpack optionals, refinements, etc.
37
+ */
38
+ export function getBaseSchema<
39
+ ChildType extends z.ZodAny | z.AnyZodObject = z.ZodAny,
40
+ >(schema: ChildType | z.ZodEffects<ChildType>): ChildType | null {
41
+ if (!schema)
42
+ return null
43
+ if ('innerType' in schema._def)
44
+ return getBaseSchema(schema._def.innerType as ChildType)
45
+
46
+ if ('schema' in schema._def)
47
+ return getBaseSchema(schema._def.schema as ChildType)
48
+
49
+ return schema as ChildType
50
+ }
51
+
52
+ /**
53
+ * Get the type name of the lowest level Zod type.
54
+ * This will unpack optionals, refinements, etc.
55
+ */
56
+ export function getBaseType(schema: z.ZodAny) {
57
+ const baseSchema = getBaseSchema(schema)
58
+ return baseSchema ? baseSchema._def.typeName : ''
59
+ }
60
+
61
+ /**
62
+ * Search for a "ZodDefault" in the Zod stack and return its value.
63
+ */
64
+ export function getDefaultValueInZodStack(schema: z.ZodAny): any {
65
+ const typedSchema = schema as unknown as z.ZodDefault<
66
+ z.ZodNumber | z.ZodString
67
+ >
68
+
69
+ if (typedSchema._def.typeName === 'ZodDefault')
70
+ return typedSchema._def.defaultValue()
71
+
72
+ if ('innerType' in typedSchema._def) {
73
+ return getDefaultValueInZodStack(
74
+ typedSchema._def.innerType as unknown as z.ZodAny,
75
+ )
76
+ }
77
+ if ('schema' in typedSchema._def) {
78
+ return getDefaultValueInZodStack(
79
+ (typedSchema._def as any).schema as z.ZodAny,
80
+ )
81
+ }
82
+
83
+ return undefined
84
+ }
85
+
86
+ export function getObjectFormSchema(
87
+ schema: ZodObjectOrWrapped,
88
+ ): z.ZodObject<any, any> {
89
+ if (schema?._def.typeName === 'ZodEffects') {
90
+ const typedSchema = schema as z.ZodEffects<z.ZodObject<any, any>>
91
+ return getObjectFormSchema(typedSchema._def.schema)
92
+ }
93
+ return schema as z.ZodObject<any, any>
94
+ }
95
+
96
+ function isIndex(value: unknown): value is number {
97
+ return Number(value) >= 0
98
+ }
99
+ /**
100
+ * Constructs a path with dot paths for arrays to use brackets to be compatible with vee-validate path syntax
101
+ */
102
+ export function normalizeFormPath(path: string): string {
103
+ const pathArr = path.split('.')
104
+ if (!pathArr.length)
105
+ return ''
106
+
107
+ let fullPath = String(pathArr[0])
108
+ for (let i = 1; i < pathArr.length; i++) {
109
+ if (isIndex(pathArr[i])) {
110
+ fullPath += `[${pathArr[i]}]`
111
+ continue
112
+ }
113
+
114
+ fullPath += `.${pathArr[i]}`
115
+ }
116
+
117
+ return fullPath
118
+ }
119
+
120
+ type NestedRecord = Record<string, unknown> | { [k: string]: NestedRecord }
121
+ /**
122
+ * Checks if the path opted out of nested fields using `[fieldName]` syntax
123
+ */
124
+ export function isNotNestedPath(path: string) {
125
+ return /^\[.+\]$/.test(path)
126
+ }
127
+ function isObject(obj: unknown): obj is Record<string, unknown> {
128
+ return obj !== null && !!obj && typeof obj === 'object' && !Array.isArray(obj)
129
+ }
130
+ function isContainerValue(value: unknown): value is Record<string, unknown> {
131
+ return isObject(value) || Array.isArray(value)
132
+ }
133
+ function cleanupNonNestedPath(path: string) {
134
+ if (isNotNestedPath(path))
135
+ return path.replace(/\[|\]/g, '')
136
+
137
+ return path
138
+ }
139
+
140
+ /**
141
+ * Gets a nested property value from an object
142
+ */
143
+ export function getFromPath<TValue = unknown>(object: NestedRecord | undefined, path: string): TValue | undefined
144
+ export function getFromPath<TValue = unknown, TFallback = TValue>(
145
+ object: NestedRecord | undefined,
146
+ path: string,
147
+ fallback?: TFallback,
148
+ ): TValue | TFallback
149
+ export function getFromPath<TValue = unknown, TFallback = TValue>(
150
+ object: NestedRecord | undefined,
151
+ path: string,
152
+ fallback?: TFallback,
153
+ ): TValue | TFallback | undefined {
154
+ if (!object)
155
+ return fallback
156
+
157
+ if (isNotNestedPath(path))
158
+ return object[cleanupNonNestedPath(path)] as TValue | undefined
159
+
160
+ const resolvedValue = (path || '')
161
+ .split(/\.|\[(\d+)\]/)
162
+ .filter(Boolean)
163
+ .reduce((acc, propKey) => {
164
+ if (isContainerValue(acc) && propKey in acc)
165
+ return acc[propKey]
166
+
167
+ return fallback
168
+ }, object as unknown)
169
+
170
+ return resolvedValue as TValue | undefined
171
+ }
package/src/index.ts CHANGED
@@ -37,6 +37,7 @@ export * from './components/ui/slider/index'
37
37
  export * from './components/ui/skeleton/index'
38
38
  export * from './components/ui/scroll-area/index'
39
39
  export * from './components/ui/collapsible/index'
40
+ export * from './components/ui/auto-form/index'
40
41
 
41
42
  export * from './lib/utils'
42
43
  export { default as tailwind } from './tailwind-preset'
@@ -1,19 +0,0 @@
1
- import { defineComponent as n, useAttrs as c, openBlock as m, createElementBlock as i, mergeProps as a, unref as e, renderSlot as p } from "vue";
2
- import { e as l } from "./useFormField-BSPc2uBO.js";
3
- import { c as d } from "./utils-DsnHoeYK.js";
4
- const f = ["id"], F = /* @__PURE__ */ n({
5
- inheritAttrs: !1,
6
- __name: "BuiFormDescription",
7
- setup(u) {
8
- const { formDescriptionId: t } = l(), { class: r, ...s } = c();
9
- return (o, _) => (m(), i("p", a({
10
- id: e(t),
11
- class: e(d)("text-sm text-muted-foreground", e(r) ?? "")
12
- }, s), [
13
- p(o.$slots, "default")
14
- ], 16, f));
15
- }
16
- });
17
- export {
18
- F as _
19
- };
@@ -1,17 +0,0 @@
1
- import { defineComponent as s, openBlock as t, createBlock as n, unref as e, toValue as a } from "vue";
2
- import { e as m, E as c } from "./useFormField-BSPc2uBO.js";
3
- const f = /* @__PURE__ */ s({
4
- __name: "BuiFormMessage",
5
- setup(u) {
6
- const { name: o, formMessageId: r } = m();
7
- return (i, p) => (t(), n(e(c), {
8
- id: e(r),
9
- as: "p",
10
- name: a(e(o)),
11
- class: "text-sm font-medium text-destructive-foreground"
12
- }, null, 8, ["id", "name"]));
13
- }
14
- });
15
- export {
16
- f as _
17
- };