@soft-stech/bootsman-ui-shadcn 1.1.35 → 1.1.37

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-BbhnWn3N.js → BuiAccordionContent.vue_vue_type_script_setup_true_lang-DWgwTZC3.js} +2 -2
  3. package/dist/{BuiAccordionItem.vue_vue_type_script_setup_true_lang-DxH0uB8i.js → BuiAccordionItem.vue_vue_type_script_setup_true_lang-VmckedPQ.js} +2 -2
  4. package/dist/{BuiAccordionTrigger.vue_vue_type_script_setup_true_lang-Brr7tYY4.js → BuiAccordionTrigger.vue_vue_type_script_setup_true_lang-CvrPKvEn.js} +3 -3
  5. package/dist/{BuiAlertDescription.vue_vue_type_script_setup_true_lang--5lclQDt.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-CiyEUlrT.js → BuiAlertDialogAction.vue_vue_type_script_setup_true_lang-B68AKQif.js} +2 -2
  8. package/dist/{BuiAlertDialogCancel.vue_vue_type_script_setup_true_lang-DGOF3es1.js → BuiAlertDialogCancel.vue_vue_type_script_setup_true_lang-Dwqlf8oj.js} +2 -2
  9. package/dist/{BuiAlertDialogContent.vue_vue_type_script_setup_true_lang-BbmS5S_E.js → BuiAlertDialogContent.vue_vue_type_script_setup_true_lang-DQ3MO21t.js} +2 -2
  10. package/dist/{BuiAlertDialogDescription.vue_vue_type_script_setup_true_lang-CH61yTmR.js → BuiAlertDialogDescription.vue_vue_type_script_setup_true_lang-C0nmsUbU.js} +2 -2
  11. package/dist/{BuiAlertDialogFooter.vue_vue_type_script_setup_true_lang-iuAyMnVQ.js → BuiAlertDialogFooter.vue_vue_type_script_setup_true_lang-Bwp16uCV.js} +1 -1
  12. package/dist/{BuiAlertDialogHeader.vue_vue_type_script_setup_true_lang-D0DhqzGI.js → BuiAlertDialogHeader.vue_vue_type_script_setup_true_lang-C9SdCMGG.js} +1 -1
  13. package/dist/{BuiAlertDialogTitle.vue_vue_type_script_setup_true_lang-JzKWF3os.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-Ds0SdqSj.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-BMW80jD9.js → BuiCard.vue_vue_type_script_setup_true_lang-BdNbxFvi.js} +1 -1
  30. package/dist/{BuiCardContent.vue_vue_type_script_setup_true_lang-DKxhoB3d.js → BuiCardContent.vue_vue_type_script_setup_true_lang--U7YuaQv.js} +1 -1
  31. package/dist/{BuiCardDescription.vue_vue_type_script_setup_true_lang-D_7eKbkg.js → BuiCardDescription.vue_vue_type_script_setup_true_lang-CWcDrner.js} +1 -1
  32. package/dist/{BuiCardFooter.vue_vue_type_script_setup_true_lang-BY-01BUB.js → BuiCardFooter.vue_vue_type_script_setup_true_lang-DTYkTHzY.js} +1 -1
  33. package/dist/{BuiCardHeader.vue_vue_type_script_setup_true_lang-1Mhatm4p.js → BuiCardHeader.vue_vue_type_script_setup_true_lang-7H4mP92e.js} +1 -1
  34. package/dist/{BuiCardTitle.vue_vue_type_script_setup_true_lang-B_Y19N7R.js → BuiCardTitle.vue_vue_type_script_setup_true_lang-DR6fWGz9.js} +1 -1
  35. package/dist/{BuiCheckbox.vue_vue_type_script_setup_true_lang-DVGDSThf.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-vCZthg7w.js → BuiCommand.vue_vue_type_script_setup_true_lang-C1O7IDvd.js} +2 -2
  40. package/dist/{BuiCommandDialog.vue_vue_type_script_setup_true_lang-DCThty8N.js → BuiCommandDialog.vue_vue_type_script_setup_true_lang-BYYdrUJm.js} +4 -4
  41. package/dist/{BuiCommandEmpty.vue_vue_type_script_setup_true_lang-CLQ-baFY.js → BuiCommandEmpty.vue_vue_type_script_setup_true_lang-dM0MIDwK.js} +2 -2
  42. package/dist/{BuiCommandGroup.vue_vue_type_script_setup_true_lang-lLiGoA_4.js → BuiCommandGroup.vue_vue_type_script_setup_true_lang--JVL30Bq.js} +2 -2
  43. package/dist/{BuiCommandInput.vue_vue_type_script_setup_true_lang-CLrBYVpQ.js → BuiCommandInput.vue_vue_type_script_setup_true_lang-td41Iq0J.js} +2 -2
  44. package/dist/{BuiCommandItem.vue_vue_type_script_setup_true_lang-CnebUcLW.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-CibMa0o2.js → BuiCommandList.vue_vue_type_script_setup_true_lang-Bp0LuoaV.js} +2 -2
  46. package/dist/{BuiCommandSeparator.vue_vue_type_script_setup_true_lang-BzrpvBvu.js → BuiCommandSeparator.vue_vue_type_script_setup_true_lang-ClosG8me.js} +2 -2
  47. package/dist/{BuiCommandShortcut.vue_vue_type_script_setup_true_lang-BaVBsojk.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-B0Q6XLM9.js → BuiContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang-BL5Zlqy2.js} +3 -3
  50. package/dist/{BuiContextMenuContent.vue_vue_type_script_setup_true_lang-CNzFm5sV.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-BpbecxMw.js → BuiContextMenuItem.vue_vue_type_script_setup_true_lang-BbuySkF5.js} +2 -2
  53. package/dist/{BuiContextMenuLabel.vue_vue_type_script_setup_true_lang-Ba0zgmX1.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-xJBxOtef.js → BuiContextMenuRadioItem.vue_vue_type_script_setup_true_lang-aA32tkEA.js} +3 -3
  56. package/dist/{BuiContextMenuSeparator.vue_vue_type_script_setup_true_lang-Da9k9Xjv.js → BuiContextMenuSeparator.vue_vue_type_script_setup_true_lang-DNb1vb3q.js} +2 -2
  57. package/dist/{BuiContextMenuShortcut.vue_vue_type_script_setup_true_lang-taRHZa-r.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-C_w8SnYz.js → BuiContextMenuSubContent.vue_vue_type_script_setup_true_lang-BZxR0wIO.js} +2 -2
  60. package/dist/{BuiContextMenuSubTrigger.vue_vue_type_script_setup_true_lang-F5AWjMF3.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-Re8FHMAA.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-CLUgaeYF.js → BuiDialogContent.vue_vue_type_script_setup_true_lang-DTS5OB86.js} +3 -3
  66. package/dist/{BuiDialogDescription.vue_vue_type_script_setup_true_lang-Dr-dU1PB.js → BuiDialogDescription.vue_vue_type_script_setup_true_lang-CPGwGG27.js} +2 -2
  67. package/dist/{BuiDialogFooter.vue_vue_type_script_setup_true_lang-Bv3lHEiX.js → BuiDialogFooter.vue_vue_type_script_setup_true_lang-Blm8xAsp.js} +1 -1
  68. package/dist/{BuiDialogHeader.vue_vue_type_script_setup_true_lang-D_9wEIjp.js → BuiDialogHeader.vue_vue_type_script_setup_true_lang-DIxMSIbx.js} +1 -1
  69. package/dist/{BuiDialogTitle.vue_vue_type_script_setup_true_lang-CBuggL21.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-B3n4HvKD.js → BuiDropdownMenuCheckboxItem.vue_vue_type_script_setup_true_lang-yS6gA48j.js} +3 -3
  73. package/dist/{BuiDropdownMenuContent.vue_vue_type_script_setup_true_lang-DZ_M0Jkq.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-DdB_o2Eh.js → BuiDropdownMenuItem.vue_vue_type_script_setup_true_lang--QP6Nby4.js} +2 -2
  76. package/dist/{BuiDropdownMenuLabel.vue_vue_type_script_setup_true_lang-CVo9G-zN.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-Cim9HybM.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-Dz8Ikto7.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-1QJ2MRDh.js → BuiDropdownMenuSubContent.vue_vue_type_script_setup_true_lang-DlTXSDu5.js} +2 -2
  83. package/dist/{BuiDropdownMenuSubTrigger.vue_vue_type_script_setup_true_lang-AiLl3Pzs.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-BkvrIzuO.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-DQtpoiOP.js → BuiFormItem.vue_vue_type_script_setup_true_lang-CP1K61n9.js} +2 -2
  88. package/dist/{BuiFormLabel.vue_vue_type_script_setup_true_lang-C6Rzvbdb.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-CN3tuOjB.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-1HYZx0Dk.js → BuiLabel.vue_vue_type_script_setup_true_lang-DIgQTfIk.js} +2 -2
  94. package/dist/{BuiPaginationCommon.vue_vue_type_script_setup_true_lang-BF-zRWuU.js → BuiPaginationCommon.vue_vue_type_script_setup_true_lang-VNCFXArM.js} +11 -11
  95. package/dist/{BuiPaginationEllipsis.vue_vue_type_script_setup_true_lang-C6Vso03Z.js → BuiPaginationEllipsis.vue_vue_type_script_setup_true_lang-sLLjg6Lo.js} +7 -7
  96. package/dist/{BuiPaginationFirst.vue_vue_type_script_setup_true_lang-DMZ4CAsc.js → BuiPaginationFirst.vue_vue_type_script_setup_true_lang-C1v4DiC-.js} +4 -4
  97. package/dist/{BuiPaginationLast.vue_vue_type_script_setup_true_lang-Bcz8UoI9.js → BuiPaginationLast.vue_vue_type_script_setup_true_lang-DU5XYLV2.js} +5 -5
  98. package/dist/{BuiPaginationNext.vue_vue_type_script_setup_true_lang-C4e2l3-p.js → BuiPaginationNext.vue_vue_type_script_setup_true_lang-vH3Cu1pW.js} +3 -3
  99. package/dist/{BuiPaginationPrev.vue_vue_type_script_setup_true_lang-hw27m8cJ.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-Bn6LAyum.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-_Hvn6kqs.js → BuiRadioGroup.vue_vue_type_script_setup_true_lang-Dyyf8FoV.js} +2 -2
  104. package/dist/{BuiRadioGroupItem.vue_vue_type_script_setup_true_lang-DEHQlTTt.js → BuiRadioGroupItem.vue_vue_type_script_setup_true_lang-CeYEovBc.js} +3 -3
  105. package/dist/{BuiScrollArea.vue_vue_type_script_setup_true_lang-CYaScauh.js → BuiScrollArea.vue_vue_type_script_setup_true_lang-C6sBLycG.js} +3 -3
  106. package/dist/{BuiScrollBar.vue_vue_type_script_setup_true_lang-upk9Vx_2.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-DIAEg4c7.js → BuiSelectContent.vue_vue_type_script_setup_true_lang-D10Iiz4m.js} +2 -2
  109. package/dist/{BuiSelectGroup.vue_vue_type_script_setup_true_lang-BzqDI83c.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-CcUNDMwy.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-nFBlYqoq.js → BuiSelectLabel.vue_vue_type_script_setup_true_lang-DScZZcu2.js} +2 -2
  113. package/dist/{BuiSelectSeparator.vue_vue_type_script_setup_true_lang-l0ZLnMbK.js → BuiSelectSeparator.vue_vue_type_script_setup_true_lang-BdOmkbIv.js} +2 -2
  114. package/dist/{BuiSelectTrigger.vue_vue_type_script_setup_true_lang-bVw81gmB.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-BOWDo0Nu.js → BuiSeparator.vue_vue_type_script_setup_true_lang-DdQNHu4h.js} +2 -2
  117. package/dist/{BuiSlider.vue_vue_type_script_setup_true_lang-DezjEUdU.js → BuiSlider.vue_vue_type_script_setup_true_lang-pzAiX1XP.js} +2 -2
  118. package/dist/{BuiSwitch.vue_vue_type_script_setup_true_lang-DDm9OTdj.js → BuiSwitch.vue_vue_type_script_setup_true_lang-C9ShckgE.js} +2 -2
  119. package/dist/{BuiTable.vue_vue_type_script_setup_true_lang-E1m-B1AB.js → BuiTable.vue_vue_type_script_setup_true_lang-DtvBDBVo.js} +3 -3
  120. package/dist/{BuiTableBody.vue_vue_type_script_setup_true_lang-063mcE3N.js → BuiTableBody.vue_vue_type_script_setup_true_lang-C8xJ4jmB.js} +1 -1
  121. package/dist/{BuiTableCaption.vue_vue_type_script_setup_true_lang-D0ip6gs5.js → BuiTableCaption.vue_vue_type_script_setup_true_lang-akgSakue.js} +1 -1
  122. package/dist/{BuiTableCell.vue_vue_type_script_setup_true_lang-BHXAudzN.js → BuiTableCell.vue_vue_type_script_setup_true_lang-Bg3H27w9.js} +1 -1
  123. package/dist/{BuiTableEmpty.vue_vue_type_script_setup_true_lang-BR_xIv44.js → BuiTableEmpty.vue_vue_type_script_setup_true_lang-DdNjsCQp.js} +3 -3
  124. package/dist/{BuiTableFooter.vue_vue_type_script_setup_true_lang-BmdXpa_A.js → BuiTableFooter.vue_vue_type_script_setup_true_lang-BBpzOKn2.js} +1 -1
  125. package/dist/{BuiTableHead.vue_vue_type_script_setup_true_lang-D6Im2R68.js → BuiTableHead.vue_vue_type_script_setup_true_lang-fjU0tzXQ.js} +1 -1
  126. package/dist/{BuiTableHeader.vue_vue_type_script_setup_true_lang-DDh2V0u_.js → BuiTableHeader.vue_vue_type_script_setup_true_lang-DPm0jnLo.js} +1 -1
  127. package/dist/{BuiTableRow.vue_vue_type_script_setup_true_lang-BmBGYRXt.js → BuiTableRow.vue_vue_type_script_setup_true_lang-BtsefcWm.js} +1 -1
  128. package/dist/{BuiTableRowSubrow.vue_vue_type_script_setup_true_lang-DgWwCXx7.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-c2XxFeZy.js → BuiTabsContent.vue_vue_type_script_setup_true_lang-fhGgOsCb.js} +2 -2
  131. package/dist/{BuiToastAction.vue_vue_type_script_setup_true_lang-B6RTCAOj.js → BuiToastAction.vue_vue_type_script_setup_true_lang-CQdfsCpV.js} +2 -2
  132. package/dist/{BuiToastClose.vue_vue_type_script_setup_true_lang-DhZPWmS-.js → BuiToastClose.vue_vue_type_script_setup_true_lang-DKcinPYL.js} +3 -3
  133. package/dist/{BuiToastDescription.vue_vue_type_script_setup_true_lang-BM2gWJdK.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-DqCHgJnz.js → BuiToastTitle.vue_vue_type_script_setup_true_lang-DKYb0KDP.js} +2 -2
  136. package/dist/{BuiToastViewport.vue_vue_type_script_setup_true_lang-ClgIsZyT.js → BuiToastViewport.vue_vue_type_script_setup_true_lang-CNJXlkVy.js} +2 -2
  137. package/dist/{BuiToggleGroup.vue_vue_type_script_setup_true_lang-CKqhaBlv.js → BuiToggleGroup.vue_vue_type_script_setup_true_lang-BVLWma8L.js} +2 -2
  138. package/dist/{BuiToggleGroupItem.vue_vue_type_script_setup_true_lang-CSKN2QRX.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-HvNHYj5F.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-FYrckmcu.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-DU1dhTDR.js → check-DKcXJk1r.js} +1 -1
  146. package/dist/{chevron-down-AGPTmzx5.js → chevron-down-C5w5Vj70.js} +1 -1
  147. package/dist/{chevron-left-Dv6tDY3b.js → chevron-left-BqvZOD-Y.js} +1 -1
  148. package/dist/{chevron-right-BccHqh0e.js → chevron-right-ZmwmaSAu.js} +1 -1
  149. package/dist/{circle-BzFWsvRX.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/BuiButton.vue.d.ts +4 -0
  205. package/dist/components/ui/button/index.js +1 -1
  206. package/dist/components/ui/calendar/BuiCalendar.js +1 -1
  207. package/dist/components/ui/calendar/index.js +5 -5
  208. package/dist/components/ui/card/BuiCard.js +1 -1
  209. package/dist/components/ui/card/BuiCardContent.js +1 -1
  210. package/dist/components/ui/card/BuiCardDescription.js +1 -1
  211. package/dist/components/ui/card/BuiCardFooter.js +1 -1
  212. package/dist/components/ui/card/BuiCardHeader.js +1 -1
  213. package/dist/components/ui/card/BuiCardTitle.js +1 -1
  214. package/dist/components/ui/card/index.js +6 -6
  215. package/dist/components/ui/checkbox/BuiCheckbox.js +1 -1
  216. package/dist/components/ui/checkbox/index.js +1 -1
  217. package/dist/components/ui/collapsible/BuiCollapsible.js +1 -1
  218. package/dist/components/ui/collapsible/BuiCollapsibleContent.js +1 -1
  219. package/dist/components/ui/collapsible/BuiCollapsibleTrigger.js +1 -1
  220. package/dist/components/ui/collapsible/index.js +3 -3
  221. package/dist/components/ui/command/BuiCommand.js +1 -1
  222. package/dist/components/ui/command/BuiCommandDialog.js +1 -1
  223. package/dist/components/ui/command/BuiCommandEmpty.js +1 -1
  224. package/dist/components/ui/command/BuiCommandGroup.js +1 -1
  225. package/dist/components/ui/command/BuiCommandInput.js +1 -1
  226. package/dist/components/ui/command/BuiCommandItem.js +1 -1
  227. package/dist/components/ui/command/BuiCommandList.js +1 -1
  228. package/dist/components/ui/command/BuiCommandSeparator.js +1 -1
  229. package/dist/components/ui/command/BuiCommandShortcut.js +1 -1
  230. package/dist/components/ui/command/index.js +9 -9
  231. package/dist/components/ui/context-menu/BuiContextMenu.js +1 -1
  232. package/dist/components/ui/context-menu/BuiContextMenuCheckboxItem.js +1 -1
  233. package/dist/components/ui/context-menu/BuiContextMenuContent.js +1 -1
  234. package/dist/components/ui/context-menu/BuiContextMenuGroup.js +1 -1
  235. package/dist/components/ui/context-menu/BuiContextMenuItem.js +1 -1
  236. package/dist/components/ui/context-menu/BuiContextMenuLabel.js +1 -1
  237. package/dist/components/ui/context-menu/BuiContextMenuPortal.js +1 -1
  238. package/dist/components/ui/context-menu/BuiContextMenuRadioGroup.js +1 -1
  239. package/dist/components/ui/context-menu/BuiContextMenuRadioItem.js +1 -1
  240. package/dist/components/ui/context-menu/BuiContextMenuSeparator.js +1 -1
  241. package/dist/components/ui/context-menu/BuiContextMenuShortcut.js +1 -1
  242. package/dist/components/ui/context-menu/BuiContextMenuSub.js +1 -1
  243. package/dist/components/ui/context-menu/BuiContextMenuSubContent.js +1 -1
  244. package/dist/components/ui/context-menu/BuiContextMenuSubTrigger.js +1 -1
  245. package/dist/components/ui/context-menu/BuiContextMenuTrigger.js +1 -1
  246. package/dist/components/ui/context-menu/index.js +14 -14
  247. package/dist/components/ui/dialog/BuiDialog.js +1 -1
  248. package/dist/components/ui/dialog/BuiDialogClose.js +1 -1
  249. package/dist/components/ui/dialog/BuiDialogContent.js +1 -1
  250. package/dist/components/ui/dialog/BuiDialogDescription.js +1 -1
  251. package/dist/components/ui/dialog/BuiDialogFooter.js +1 -1
  252. package/dist/components/ui/dialog/BuiDialogHeader.js +1 -1
  253. package/dist/components/ui/dialog/BuiDialogTitle.js +1 -1
  254. package/dist/components/ui/dialog/BuiDialogTrigger.js +1 -1
  255. package/dist/components/ui/dialog/index.js +8 -8
  256. package/dist/components/ui/dropdown-menu/BuiDropdownMenu.js +1 -1
  257. package/dist/components/ui/dropdown-menu/BuiDropdownMenuCheckboxItem.js +1 -1
  258. package/dist/components/ui/dropdown-menu/BuiDropdownMenuContent.js +1 -1
  259. package/dist/components/ui/dropdown-menu/BuiDropdownMenuGroup.js +1 -1
  260. package/dist/components/ui/dropdown-menu/BuiDropdownMenuItem.js +1 -1
  261. package/dist/components/ui/dropdown-menu/BuiDropdownMenuLabel.js +1 -1
  262. package/dist/components/ui/dropdown-menu/BuiDropdownMenuRadioGroup.js +1 -1
  263. package/dist/components/ui/dropdown-menu/BuiDropdownMenuRadioItem.js +1 -1
  264. package/dist/components/ui/dropdown-menu/BuiDropdownMenuSeparator.js +1 -1
  265. package/dist/components/ui/dropdown-menu/BuiDropdownMenuShortcut.js +1 -1
  266. package/dist/components/ui/dropdown-menu/BuiDropdownMenuSub.js +1 -1
  267. package/dist/components/ui/dropdown-menu/BuiDropdownMenuSubContent.js +1 -1
  268. package/dist/components/ui/dropdown-menu/BuiDropdownMenuSubTrigger.js +1 -1
  269. package/dist/components/ui/dropdown-menu/BuiDropdownMenuTrigger.js +1 -1
  270. package/dist/components/ui/dropdown-menu/index.js +15 -15
  271. package/dist/components/ui/form/BuiFormControl.js +1 -1
  272. package/dist/components/ui/form/BuiFormDescription.js +1 -1
  273. package/dist/components/ui/form/BuiFormItem.js +2 -2
  274. package/dist/components/ui/form/BuiFormLabel.js +1 -1
  275. package/dist/components/ui/form/BuiFormMessage.js +1 -1
  276. package/dist/components/ui/form/index.js +6 -6
  277. package/dist/components/ui/form/useFormField.js +23 -4
  278. package/dist/components/ui/health/index.js +1 -1
  279. package/dist/components/ui/hover-card/BuiHoverCard.js +1 -1
  280. package/dist/components/ui/hover-card/BuiHoverCardContent.js +1 -1
  281. package/dist/components/ui/hover-card/BuiHoverCardTrigger.js +1 -1
  282. package/dist/components/ui/hover-card/index.js +3 -3
  283. package/dist/components/ui/input/index.js +2 -2
  284. package/dist/components/ui/label/BuiLabel.js +1 -1
  285. package/dist/components/ui/label/index.js +1 -1
  286. package/dist/components/ui/pagination/BuiPaginationCommon.js +1 -1
  287. package/dist/components/ui/pagination/BuiPaginationEllipsis.js +1 -1
  288. package/dist/components/ui/pagination/BuiPaginationFirst.js +1 -1
  289. package/dist/components/ui/pagination/BuiPaginationLast.js +1 -1
  290. package/dist/components/ui/pagination/BuiPaginationNext.js +1 -1
  291. package/dist/components/ui/pagination/BuiPaginationPrev.js +1 -1
  292. package/dist/components/ui/pagination/index.js +7 -7
  293. package/dist/components/ui/popover/BuiPopover.js +1 -1
  294. package/dist/components/ui/popover/BuiPopoverContent.js +1 -1
  295. package/dist/components/ui/popover/BuiPopoverTrigger.js +1 -1
  296. package/dist/components/ui/popover/index.js +3 -3
  297. package/dist/components/ui/progress/index.js +2 -2
  298. package/dist/components/ui/radio-group/BuiRadioGroup.js +1 -1
  299. package/dist/components/ui/radio-group/BuiRadioGroupItem.js +1 -1
  300. package/dist/components/ui/radio-group/index.js +2 -2
  301. package/dist/components/ui/scroll-area/BuiScrollArea.js +1 -1
  302. package/dist/components/ui/scroll-area/BuiScrollBar.js +1 -1
  303. package/dist/components/ui/scroll-area/index.js +2 -2
  304. package/dist/components/ui/select/Bui.js +2 -2
  305. package/dist/components/ui/select/Bui.vue.d.ts +1 -1
  306. package/dist/components/ui/select/BuiSelect.js +1 -1
  307. package/dist/components/ui/select/BuiSelectContent.js +1 -1
  308. package/dist/components/ui/select/BuiSelectContent.vue.d.ts +1 -1
  309. package/dist/components/ui/select/BuiSelectGroup.js +1 -1
  310. package/dist/components/ui/select/BuiSelectItem.js +1 -1
  311. package/dist/components/ui/select/BuiSelectItemText.js +1 -1
  312. package/dist/components/ui/select/BuiSelectLabel.js +1 -1
  313. package/dist/components/ui/select/BuiSelectSeparator.js +1 -1
  314. package/dist/components/ui/select/BuiSelectTrigger.js +1 -1
  315. package/dist/components/ui/select/BuiSelectValue.js +1 -1
  316. package/dist/components/ui/select/index.js +9 -9
  317. package/dist/components/ui/separator/BuiSeparator.js +1 -1
  318. package/dist/components/ui/separator/index.js +1 -1
  319. package/dist/components/ui/skeleton/Skeleton.js +1 -1
  320. package/dist/components/ui/skeleton/index.js +1 -1
  321. package/dist/components/ui/slider/BuiSlider.js +1 -1
  322. package/dist/components/ui/slider/index.js +1 -1
  323. package/dist/components/ui/switch/BuiSwitch.js +1 -1
  324. package/dist/components/ui/switch/index.js +1 -1
  325. package/dist/components/ui/table/BuiDataTable.js +1 -1
  326. package/dist/components/ui/table/BuiTable.js +1 -1
  327. package/dist/components/ui/table/BuiTableBody.js +1 -1
  328. package/dist/components/ui/table/BuiTableCaption.js +1 -1
  329. package/dist/components/ui/table/BuiTableCell.js +1 -1
  330. package/dist/components/ui/table/BuiTableEmpty.js +1 -1
  331. package/dist/components/ui/table/BuiTableFooter.js +1 -1
  332. package/dist/components/ui/table/BuiTableHead.js +1 -1
  333. package/dist/components/ui/table/BuiTableHeader.js +1 -1
  334. package/dist/components/ui/table/BuiTableRow.js +1 -1
  335. package/dist/components/ui/table/BuiTableRowSubrow.js +1 -1
  336. package/dist/components/ui/table/index.js +11 -11
  337. package/dist/components/ui/tabs/BuiTabs.js +1 -1
  338. package/dist/components/ui/tabs/BuiTabsContent.js +1 -1
  339. package/dist/components/ui/tabs/index.js +10 -10
  340. package/dist/components/ui/textarea/index.js +2 -2
  341. package/dist/components/ui/toast/BuiToastAction.js +1 -1
  342. package/dist/components/ui/toast/BuiToastClose.js +1 -1
  343. package/dist/components/ui/toast/BuiToastDescription.js +1 -1
  344. package/dist/components/ui/toast/BuiToastProvider.js +1 -1
  345. package/dist/components/ui/toast/BuiToastTitle.js +1 -1
  346. package/dist/components/ui/toast/BuiToastViewport.js +1 -1
  347. package/dist/components/ui/toast/index.js +12 -12
  348. package/dist/components/ui/toggle/index.js +2 -2
  349. package/dist/components/ui/toggle-group/BuiToggleGroup.js +1 -1
  350. package/dist/components/ui/toggle-group/BuiToggleGroupItem.js +1 -1
  351. package/dist/components/ui/toggle-group/index.js +2 -2
  352. package/dist/components/ui/tooltip/BuiTooltip.js +1 -1
  353. package/dist/components/ui/tooltip/BuiTooltipContent.js +1 -1
  354. package/dist/components/ui/tooltip/BuiTooltipProvider.js +1 -1
  355. package/dist/components/ui/tooltip/BuiTooltipTrigger.js +1 -1
  356. package/dist/components/ui/tooltip/index.js +4 -4
  357. package/dist/{index-D3xpR8yT.js → index-BX_xuhSi.js} +1928 -1910
  358. package/dist/{index-DlKyQJKc.js → index-DBFwX7-c.js} +41 -41
  359. package/dist/index.js +137 -137
  360. package/dist/lib/utils.js +1 -1
  361. package/dist/{utils-C9G8Xvqo.js → utils-BNc3Bzhq.js} +15 -13
  362. package/dist/{useFormField-DauRmNq-.js → vee-validate.esm-BSPEJ8Vl.js} +440 -442
  363. package/dist/{x-tjPysJ-8.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/components/ui/button/BuiButton.vue +3 -0
  383. package/dist/BuiFormDescription.vue_vue_type_script_setup_true_lang-B6rDOqQf.js +0 -19
  384. package/dist/BuiFormMessage.vue_vue_type_script_setup_true_lang-CHvvMerX.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
+ }
@@ -7,10 +7,12 @@ interface Props extends PrimitiveProps {
7
7
  variant?: NonNullable<Parameters<typeof buttonVariants>[0]>['variant']
8
8
  size?: NonNullable<Parameters<typeof buttonVariants>[0]>['size']
9
9
  as?: string
10
+ type?: string
10
11
  }
11
12
 
12
13
  withDefaults(defineProps<Props>(), {
13
14
  as: 'button',
15
+ type: 'button'
14
16
  })
15
17
  </script>
16
18
 
@@ -19,6 +21,7 @@ withDefaults(defineProps<Props>(), {
19
21
  :as="as"
20
22
  :as-child="asChild"
21
23
  :class="cn(buttonVariants({ variant, size }), $attrs.class ?? '')"
24
+ :type="type"
22
25
  >
23
26
  <slot />
24
27
  </Primitive>
@@ -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-DauRmNq-.js";
3
- import { c as d } from "./utils-C9G8Xvqo.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-DauRmNq-.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
- };