@soft-stech/bootsman-ui-shadcn 1.4.37 → 1.4.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BuiAccordion.vue_vue_type_script_setup_true_lang-Bga9YJNb.js → BuiAccordion.vue_vue_type_script_setup_true_lang-BLEAcKBo.js} +1 -1
- package/dist/{BuiAccordionContent.vue_vue_type_script_setup_true_lang-Bg2UJYf9.js → BuiAccordionContent.vue_vue_type_script_setup_true_lang-BldlPWCI.js} +2 -2
- package/dist/{BuiAccordionItem.vue_vue_type_script_setup_true_lang-CiFbAf_1.js → BuiAccordionItem.vue_vue_type_script_setup_true_lang-CRUQzvln.js} +2 -2
- package/dist/{BuiAccordionTrigger.vue_vue_type_script_setup_true_lang-aFFJ3tuo.js → BuiAccordionTrigger.vue_vue_type_script_setup_true_lang-Cm0FBaWl.js} +3 -3
- package/dist/{BuiAdvancedAccordionTrigger.vue_vue_type_script_setup_true_lang-BG9umQaz.js → BuiAdvancedAccordionTrigger.vue_vue_type_script_setup_true_lang-ScVVN3bv.js} +3 -3
- package/dist/{BuiAlertDescription.vue_vue_type_script_setup_true_lang-D2aRMrjC.js → BuiAlertDescription.vue_vue_type_script_setup_true_lang-BbPINpRG.js} +1 -1
- package/dist/{BuiAlertDialog.vue_vue_type_script_setup_true_lang-Dul30BC6.js → BuiAlertDialog.vue_vue_type_script_setup_true_lang-CfaX71Xc.js} +1 -1
- package/dist/{BuiAlertDialogAction.vue_vue_type_script_setup_true_lang-DBbjw0lw.js → BuiAlertDialogAction.vue_vue_type_script_setup_true_lang-Bf0mXkre.js} +2 -2
- package/dist/{BuiAlertDialogCancel.vue_vue_type_script_setup_true_lang-DE9DbnHa.js → BuiAlertDialogCancel.vue_vue_type_script_setup_true_lang-BpdVy1qs.js} +2 -2
- package/dist/{BuiAlertDialogContent.vue_vue_type_script_setup_true_lang-B9P6SIUv.js → BuiAlertDialogContent.vue_vue_type_script_setup_true_lang-DgfCzorw.js} +2 -2
- package/dist/{BuiAlertDialogDescription.vue_vue_type_script_setup_true_lang-CxE38rlt.js → BuiAlertDialogDescription.vue_vue_type_script_setup_true_lang-C5yxrSPc.js} +2 -2
- package/dist/{BuiAlertDialogFooter.vue_vue_type_script_setup_true_lang-Dol_uqw5.js → BuiAlertDialogFooter.vue_vue_type_script_setup_true_lang-Ej087faI.js} +1 -1
- package/dist/{BuiAlertDialogHeader.vue_vue_type_script_setup_true_lang-fI7StmUp.js → BuiAlertDialogHeader.vue_vue_type_script_setup_true_lang-BQKKzeVf.js} +1 -1
- package/dist/{BuiAlertDialogTitle.vue_vue_type_script_setup_true_lang-Dd_d1Dd7.js → BuiAlertDialogTitle.vue_vue_type_script_setup_true_lang-BPhECYX2.js} +2 -2
- package/dist/{BuiAlertDialogTrigger.vue_vue_type_script_setup_true_lang-CPFDF5F6.js → BuiAlertDialogTrigger.vue_vue_type_script_setup_true_lang-CBy4OSSY.js} +1 -1
- package/dist/{BuiAlertTitle.vue_vue_type_script_setup_true_lang-DoUWBb9E.js → BuiAlertTitle.vue_vue_type_script_setup_true_lang-C5LJBA-Y.js} +1 -1
- package/dist/{BuiAspectRatio.vue_vue_type_script_setup_true_lang-YRUJc58r.js → BuiAspectRatio.vue_vue_type_script_setup_true_lang-lfdBK85u.js} +1 -1
- package/dist/{BuiAutoForm.vue_vue_type_script_setup_true_lang-ndXR7BaI.js → BuiAutoForm.vue_vue_type_script_setup_true_lang-NgH9DwLC.js} +1 -1
- package/dist/{BuiAutoFormField.vue_vue_type_script_setup_true_lang-K954j-e6.js → BuiAutoFormField.vue_vue_type_script_setup_true_lang-sQMSYv4x.js} +12 -12
- package/dist/{BuiAutoFormFieldArray.vue_vue_type_script_setup_true_lang-Qt_aDHEi.js → BuiAutoFormFieldArray.vue_vue_type_script_setup_true_lang-Ca127sig.js} +9 -9
- package/dist/{BuiAutoFormFieldBoolean.vue_vue_type_script_setup_true_lang-B_e0vuhI.js → BuiAutoFormFieldBoolean.vue_vue_type_script_setup_true_lang-BTEIebnv.js} +4 -4
- package/dist/{BuiAutoFormFieldDate.vue_vue_type_script_setup_true_lang-iaXvL6_3.js → BuiAutoFormFieldDate.vue_vue_type_script_setup_true_lang-Dw_hNSai.js} +5 -5
- package/dist/{BuiAutoFormFieldEnum.vue_vue_type_script_setup_true_lang-B8Os94cq.js → BuiAutoFormFieldEnum.vue_vue_type_script_setup_true_lang-DCYnQdGU.js} +10 -10
- package/dist/{BuiAutoFormFieldFile.vue_vue_type_script_setup_true_lang-_tNiMC5y.js → BuiAutoFormFieldFile.vue_vue_type_script_setup_true_lang-CF2OEO3g.js} +45 -36
- package/dist/BuiAutoFormFieldInput.vue_vue_type_script_setup_true_lang-DJLIoCbs.js +67 -0
- package/dist/BuiAutoFormFieldNumber.vue_vue_type_script_setup_true_lang-CkG97QVf.js +66 -0
- package/dist/{BuiAutoFormFieldObject.vue_vue_type_script_setup_true_lang-DtIuWqJR.js → BuiAutoFormFieldObject.vue_vue_type_script_setup_true_lang-D46XtQz6.js} +7 -7
- package/dist/{BuiAutoFormLabel.vue_vue_type_script_setup_true_lang-NhOJHYJA.js → BuiAutoFormLabel.vue_vue_type_script_setup_true_lang-uIlCGBKL.js} +1 -1
- package/dist/{BuiAvatarFallback.vue_vue_type_script_setup_true_lang-B1ncuXZ0.js → BuiAvatarFallback.vue_vue_type_script_setup_true_lang-g14aRUjN.js} +1 -1
- package/dist/{BuiAvatarImage.vue_vue_type_script_setup_true_lang-DELf2i8H.js → BuiAvatarImage.vue_vue_type_script_setup_true_lang-DYb6srge.js} +1 -1
- package/dist/{BuiCard.vue_vue_type_script_setup_true_lang-CkC8lrvx.js → BuiCard.vue_vue_type_script_setup_true_lang-C-NC5FnP.js} +1 -1
- package/dist/{BuiCardContent.vue_vue_type_script_setup_true_lang-CRBn-mRv.js → BuiCardContent.vue_vue_type_script_setup_true_lang-DGCThPoW.js} +1 -1
- package/dist/{BuiCardDescription.vue_vue_type_script_setup_true_lang-wKx4DSsC.js → BuiCardDescription.vue_vue_type_script_setup_true_lang-5SKfKpRo.js} +1 -1
- package/dist/{BuiCardFooter.vue_vue_type_script_setup_true_lang-84LmO9Ee.js → BuiCardFooter.vue_vue_type_script_setup_true_lang-Bo4HiivM.js} +1 -1
- package/dist/{BuiCardHeader.vue_vue_type_script_setup_true_lang-Cpd-7BZn.js → BuiCardHeader.vue_vue_type_script_setup_true_lang-CSALfpK1.js} +1 -1
- package/dist/{BuiCardTitle.vue_vue_type_script_setup_true_lang-DgFhKXA_.js → BuiCardTitle.vue_vue_type_script_setup_true_lang-BxJh7xYB.js} +1 -1
- package/dist/{BuiCheckbox.vue_vue_type_script_setup_true_lang-_VPumFYO.js → BuiCheckbox.vue_vue_type_script_setup_true_lang-CwWzuDlS.js} +3 -3
- package/dist/{BuiCollapsible.vue_vue_type_script_setup_true_lang-DjuQBjGZ.js → BuiCollapsible.vue_vue_type_script_setup_true_lang-GUBvaqXL.js} +1 -1
- package/dist/{BuiCollapsibleContent.vue_vue_type_script_setup_true_lang-BiD89zzH.js → BuiCollapsibleContent.vue_vue_type_script_setup_true_lang-CLcdIcH8.js} +1 -1
- package/dist/{BuiCollapsibleTrigger.vue_vue_type_script_setup_true_lang-l-nmwAwq.js → BuiCollapsibleTrigger.vue_vue_type_script_setup_true_lang-vXX5X3aX.js} +1 -1
- package/dist/{BuiCommand.vue_vue_type_script_setup_true_lang-C8UkqTiX.js → BuiCommand.vue_vue_type_script_setup_true_lang-0R3Mg1Vm.js} +2 -2
- package/dist/{BuiCommandDialog.vue_vue_type_script_setup_true_lang-BOewkM56.js → BuiCommandDialog.vue_vue_type_script_setup_true_lang-CbO9pczK.js} +4 -4
- package/dist/{BuiCommandEmpty.vue_vue_type_script_setup_true_lang-CSwCtbz1.js → BuiCommandEmpty.vue_vue_type_script_setup_true_lang-6eCvzOuB.js} +2 -2
- package/dist/{BuiCommandGroup.vue_vue_type_script_setup_true_lang-BGdSDDso.js → BuiCommandGroup.vue_vue_type_script_setup_true_lang-CU6eJehW.js} +2 -2
- package/dist/{BuiCommandInput.vue_vue_type_script_setup_true_lang-3c9TjWnY.js → BuiCommandInput.vue_vue_type_script_setup_true_lang-DMgDCk3Z.js} +2 -2
- package/dist/{BuiCommandItem.vue_vue_type_script_setup_true_lang-BdkpK55i.js → BuiCommandItem.vue_vue_type_script_setup_true_lang-BhlMWNxj.js} +2 -2
- package/dist/{BuiCommandList.vue_vue_type_script_setup_true_lang-C77MBwCW.js → BuiCommandList.vue_vue_type_script_setup_true_lang-B7dvoeeu.js} +2 -2
- package/dist/{BuiCommandSeparator.vue_vue_type_script_setup_true_lang-CemQWp-m.js → BuiCommandSeparator.vue_vue_type_script_setup_true_lang-Bfedew-C.js} +2 -2
- package/dist/{BuiCommandShortcut.vue_vue_type_script_setup_true_lang-C8jdlkgh.js → BuiCommandShortcut.vue_vue_type_script_setup_true_lang-BQ5oVZCO.js} +1 -1
- package/dist/{BuiContextMenu.vue_vue_type_script_setup_true_lang-CQSZ3Xgr.js → BuiContextMenu.vue_vue_type_script_setup_true_lang-BHEOJokN.js} +1 -1
- package/dist/{BuiContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang-DzNtry8B.js → BuiContextMenuCheckboxItem.vue_vue_type_script_setup_true_lang-CQf2wvKs.js} +3 -3
- package/dist/{BuiContextMenuContent.vue_vue_type_script_setup_true_lang-BNauHWov.js → BuiContextMenuContent.vue_vue_type_script_setup_true_lang-D2Jy0d8l.js} +2 -2
- package/dist/{BuiContextMenuGroup.vue_vue_type_script_setup_true_lang-2FAxkxhs.js → BuiContextMenuGroup.vue_vue_type_script_setup_true_lang-BxkX1T2H.js} +1 -1
- package/dist/{BuiContextMenuItem.vue_vue_type_script_setup_true_lang-DXWkF81C.js → BuiContextMenuItem.vue_vue_type_script_setup_true_lang-Bg6SyQYg.js} +2 -2
- package/dist/{BuiContextMenuLabel.vue_vue_type_script_setup_true_lang-B6GiPS1D.js → BuiContextMenuLabel.vue_vue_type_script_setup_true_lang-Ba21QBGl.js} +2 -2
- package/dist/{BuiContextMenuRadioGroup.vue_vue_type_script_setup_true_lang-Bho33BlA.js → BuiContextMenuRadioGroup.vue_vue_type_script_setup_true_lang-B1vQZgiu.js} +1 -1
- package/dist/{BuiContextMenuRadioItem.vue_vue_type_script_setup_true_lang-D5sqVpvN.js → BuiContextMenuRadioItem.vue_vue_type_script_setup_true_lang-_BCptaO2.js} +3 -3
- package/dist/{BuiContextMenuSeparator.vue_vue_type_script_setup_true_lang-CHoJ3KU6.js → BuiContextMenuSeparator.vue_vue_type_script_setup_true_lang-BZV5rOeE.js} +2 -2
- package/dist/{BuiContextMenuShortcut.vue_vue_type_script_setup_true_lang-yH0VcLKG.js → BuiContextMenuShortcut.vue_vue_type_script_setup_true_lang-Dd4h7LNZ.js} +1 -1
- package/dist/{BuiContextMenuSub.vue_vue_type_script_setup_true_lang-C5aJ4x6u.js → BuiContextMenuSub.vue_vue_type_script_setup_true_lang-C5C0CTx9.js} +1 -1
- package/dist/{BuiContextMenuSubContent.vue_vue_type_script_setup_true_lang-B8VKgMrH.js → BuiContextMenuSubContent.vue_vue_type_script_setup_true_lang-ClL2CXxN.js} +2 -2
- package/dist/{BuiContextMenuSubTrigger.vue_vue_type_script_setup_true_lang-uLf_ZAR-.js → BuiContextMenuSubTrigger.vue_vue_type_script_setup_true_lang-BjKc7g6B.js} +3 -3
- package/dist/{BuiContextMenuTrigger.vue_vue_type_script_setup_true_lang-ZkJmsdNR.js → BuiContextMenuTrigger.vue_vue_type_script_setup_true_lang-BlVoDozF.js} +1 -1
- package/dist/{BuiDataTableColumnList.vue_vue_type_script_setup_true_lang-Dof0WsTF.js → BuiDataTableColumnList.vue_vue_type_script_setup_true_lang-CGkGNd8n.js} +2 -2
- package/dist/{BuiDialog.vue_vue_type_script_setup_true_lang-C0gpUi9x.js → BuiDialog.vue_vue_type_script_setup_true_lang-CJJVDYCE.js} +1 -1
- package/dist/{BuiDialogClose.vue_vue_type_script_setup_true_lang-C3HmqVNq.js → BuiDialogClose.vue_vue_type_script_setup_true_lang-DOxxXvFQ.js} +1 -1
- package/dist/{BuiDialogContent.vue_vue_type_script_setup_true_lang-jRVT38WW.js → BuiDialogContent.vue_vue_type_script_setup_true_lang-Cqcid_YW.js} +3 -3
- package/dist/{BuiDialogDescription.vue_vue_type_script_setup_true_lang-NEx7XT06.js → BuiDialogDescription.vue_vue_type_script_setup_true_lang-B38yBITg.js} +2 -2
- package/dist/{BuiDialogFooter.vue_vue_type_script_setup_true_lang-DxEV03yz.js → BuiDialogFooter.vue_vue_type_script_setup_true_lang-DPEuULOy.js} +1 -1
- package/dist/{BuiDialogHeader.vue_vue_type_script_setup_true_lang-BHkrgEzv.js → BuiDialogHeader.vue_vue_type_script_setup_true_lang-IBlxCtbz.js} +1 -1
- package/dist/{BuiDialogTitle.vue_vue_type_script_setup_true_lang-UrHtBmeC.js → BuiDialogTitle.vue_vue_type_script_setup_true_lang-DLEgWeL0.js} +2 -2
- package/dist/{BuiDialogTrigger.vue_vue_type_script_setup_true_lang-k6NUSYQE.js → BuiDialogTrigger.vue_vue_type_script_setup_true_lang-Buv7JnRO.js} +1 -1
- package/dist/{BuiDropdownMenu.vue_vue_type_script_setup_true_lang-B49IHHTX.js → BuiDropdownMenu.vue_vue_type_script_setup_true_lang-wpyH5buy.js} +1 -1
- package/dist/{BuiDropdownMenuCheckboxItem.vue_vue_type_script_setup_true_lang-C-7pTJQN.js → BuiDropdownMenuCheckboxItem.vue_vue_type_script_setup_true_lang-B2cSMw-D.js} +3 -3
- package/dist/{BuiDropdownMenuContent.vue_vue_type_script_setup_true_lang-CQF24scG.js → BuiDropdownMenuContent.vue_vue_type_script_setup_true_lang-D-Ze2xZO.js} +2 -2
- package/dist/{BuiDropdownMenuGroup.vue_vue_type_script_setup_true_lang-DXpaKYVo.js → BuiDropdownMenuGroup.vue_vue_type_script_setup_true_lang-Dr838upo.js} +1 -1
- package/dist/{BuiDropdownMenuItem.vue_vue_type_script_setup_true_lang-DSiuZJTA.js → BuiDropdownMenuItem.vue_vue_type_script_setup_true_lang-76Q_2WwU.js} +2 -2
- package/dist/{BuiDropdownMenuLabel.vue_vue_type_script_setup_true_lang-Bo-j_hpy.js → BuiDropdownMenuLabel.vue_vue_type_script_setup_true_lang-4wD26pmn.js} +2 -2
- package/dist/{BuiDropdownMenuRadioGroup.vue_vue_type_script_setup_true_lang-CCHHYM9w.js → BuiDropdownMenuRadioGroup.vue_vue_type_script_setup_true_lang-hXdpiaP9.js} +1 -1
- package/dist/{BuiDropdownMenuRadioItem.vue_vue_type_script_setup_true_lang-C9pplVtc.js → BuiDropdownMenuRadioItem.vue_vue_type_script_setup_true_lang-CEACxTnN.js} +3 -3
- package/dist/{BuiDropdownMenuSeparator.vue_vue_type_script_setup_true_lang-DOltiP6i.js → BuiDropdownMenuSeparator.vue_vue_type_script_setup_true_lang-BgHzxV6A.js} +1 -1
- package/dist/{BuiDropdownMenuShortcut.vue_vue_type_script_setup_true_lang-suBUkaYq.js → BuiDropdownMenuShortcut.vue_vue_type_script_setup_true_lang-BCJJ1vsm.js} +1 -1
- package/dist/{BuiDropdownMenuSub.vue_vue_type_script_setup_true_lang-DPSBU6W_.js → BuiDropdownMenuSub.vue_vue_type_script_setup_true_lang-Cb6VQMiR.js} +1 -1
- package/dist/{BuiDropdownMenuSubContent.vue_vue_type_script_setup_true_lang-C_aQh-88.js → BuiDropdownMenuSubContent.vue_vue_type_script_setup_true_lang-Bxp9a15Q.js} +2 -2
- package/dist/{BuiDropdownMenuSubTrigger.vue_vue_type_script_setup_true_lang-CiUQhfg1.js → BuiDropdownMenuSubTrigger.vue_vue_type_script_setup_true_lang-BJjtJkji.js} +3 -3
- package/dist/{BuiDropdownMenuTrigger.vue_vue_type_script_setup_true_lang-BMYtK5S3.js → BuiDropdownMenuTrigger.vue_vue_type_script_setup_true_lang-x3lb2Yn0.js} +1 -1
- package/dist/{BuiHoverCard.vue_vue_type_script_setup_true_lang-DxzXiXRP.js → BuiHoverCard.vue_vue_type_script_setup_true_lang-C9CMI-qF.js} +1 -1
- package/dist/{BuiHoverCardContent.vue_vue_type_script_setup_true_lang-Cg24xBED.js → BuiHoverCardContent.vue_vue_type_script_setup_true_lang-D9sIqiC7.js} +2 -2
- package/dist/{BuiHoverCardTrigger.vue_vue_type_script_setup_true_lang-eQB7XEG9.js → BuiHoverCardTrigger.vue_vue_type_script_setup_true_lang-DoYcpFwj.js} +1 -1
- package/dist/{BuiLabel.vue_vue_type_script_setup_true_lang-Sma4vbSS.js → BuiLabel.vue_vue_type_script_setup_true_lang-DzHXKk00.js} +2 -2
- package/dist/{variables-4ez0MWno.js → BuiPaginationCommon.vue_vue_type_script_setup_true_lang-D1L6JoMY.js} +27 -25
- package/dist/{BuiPaginationEllipsis.vue_vue_type_script_setup_true_lang-B-z2JZSt.js → BuiPaginationEllipsis.vue_vue_type_script_setup_true_lang-D5Ycxgjy.js} +2 -2
- package/dist/{BuiPaginationFirst.vue_vue_type_script_setup_true_lang-Cldzpica.js → BuiPaginationFirst.vue_vue_type_script_setup_true_lang-CHelKqv_.js} +2 -2
- package/dist/{BuiPaginationLast.vue_vue_type_script_setup_true_lang-DAMRrI27.js → BuiPaginationLast.vue_vue_type_script_setup_true_lang-rql1-Zd3.js} +2 -2
- package/dist/{BuiPaginationNext.vue_vue_type_script_setup_true_lang-CQ0gejml.js → BuiPaginationNext.vue_vue_type_script_setup_true_lang-DC70ZlaP.js} +3 -3
- package/dist/{BuiPaginationPrev.vue_vue_type_script_setup_true_lang-DuI0BC1U.js → BuiPaginationPrev.vue_vue_type_script_setup_true_lang-jyVlL9j2.js} +3 -3
- package/dist/{BuiPopover.vue_vue_type_script_setup_true_lang-CGkz30K2.js → BuiPopover.vue_vue_type_script_setup_true_lang-DXPGjQrK.js} +1 -1
- package/dist/{BuiPopoverContent.vue_vue_type_script_setup_true_lang-CEFHTgEu.js → BuiPopoverContent.vue_vue_type_script_setup_true_lang-DzIsHB39.js} +2 -2
- package/dist/{BuiPopoverTrigger.vue_vue_type_script_setup_true_lang-Du2ZN56l.js → BuiPopoverTrigger.vue_vue_type_script_setup_true_lang-CdjF4hNu.js} +1 -1
- package/dist/{BuiRadioGroup.vue_vue_type_script_setup_true_lang-CynC3r6y.js → BuiRadioGroup.vue_vue_type_script_setup_true_lang-BwmCEH6i.js} +2 -2
- package/dist/{BuiRadioGroupItem.vue_vue_type_script_setup_true_lang-CpV7MqXa.js → BuiRadioGroupItem.vue_vue_type_script_setup_true_lang-D-K5wOr2.js} +3 -3
- package/dist/{BuiScrollArea.vue_vue_type_script_setup_true_lang-BNcd3g6x.js → BuiScrollArea.vue_vue_type_script_setup_true_lang-D65DkxX6.js} +3 -3
- package/dist/{BuiScrollBar.vue_vue_type_script_setup_true_lang-DQzqNxV2.js → BuiScrollBar.vue_vue_type_script_setup_true_lang-phzlPbQ4.js} +2 -2
- package/dist/{BuiSelect.vue_vue_type_script_setup_true_lang-CFmk7_AN.js → BuiSelect.vue_vue_type_script_setup_true_lang-oyJut_cr.js} +2 -2
- package/dist/{BuiSelectContent.vue_vue_type_script_setup_true_lang-C191NkOr.js → BuiSelectContent.vue_vue_type_script_setup_true_lang-DNcVLPpU.js} +2 -2
- package/dist/{BuiSelectGroup.vue_vue_type_script_setup_true_lang-C_rwHrji.js → BuiSelectGroup.vue_vue_type_script_setup_true_lang-CIAH9LZN.js} +2 -2
- package/dist/{BuiSelectItem.vue_vue_type_script_setup_true_lang-CLHtKjGO.js → BuiSelectItem.vue_vue_type_script_setup_true_lang-BiU7FbGO.js} +3 -3
- package/dist/{BuiSelectItemText.vue_vue_type_script_setup_true_lang-C2GNX_B1.js → BuiSelectItemText.vue_vue_type_script_setup_true_lang-B6WH4e84.js} +1 -1
- package/dist/{BuiSelectLabel.vue_vue_type_script_setup_true_lang-CbZI5whs.js → BuiSelectLabel.vue_vue_type_script_setup_true_lang-XpwsZc80.js} +2 -2
- package/dist/{BuiSelectSeparator.vue_vue_type_script_setup_true_lang-qOpsZuYc.js → BuiSelectSeparator.vue_vue_type_script_setup_true_lang-tLcazDyd.js} +2 -2
- package/dist/{BuiSelectTrigger.vue_vue_type_script_setup_true_lang-BPAHSkB4.js → BuiSelectTrigger.vue_vue_type_script_setup_true_lang-dLg5MNQu.js} +3 -3
- package/dist/{BuiSelectValue.vue_vue_type_script_setup_true_lang-BNN6bEtZ.js → BuiSelectValue.vue_vue_type_script_setup_true_lang-DF1vCT-w.js} +1 -1
- package/dist/{BuiSeparator.vue_vue_type_script_setup_true_lang-5hWFGBxJ.js → BuiSeparator.vue_vue_type_script_setup_true_lang-CemFspqw.js} +2 -2
- package/dist/{BuiSheet.vue_vue_type_script_setup_true_lang-BskbnSm5.js → BuiSheet.vue_vue_type_script_setup_true_lang-C5hlNduO.js} +1 -1
- package/dist/{BuiSheetClose.vue_vue_type_script_setup_true_lang-BYXhp7zs.js → BuiSheetClose.vue_vue_type_script_setup_true_lang-BWjGy1Jz.js} +1 -1
- package/dist/{BuiSheetDescription.vue_vue_type_script_setup_true_lang-C_Nel6rW.js → BuiSheetDescription.vue_vue_type_script_setup_true_lang-DKxj7UHE.js} +2 -2
- package/dist/{BuiSheetFooter.vue_vue_type_script_setup_true_lang-DvNSpoj6.js → BuiSheetFooter.vue_vue_type_script_setup_true_lang-6AyhlY6p.js} +1 -1
- package/dist/{BuiSheetHeader.vue_vue_type_script_setup_true_lang-BV7JBZ6e.js → BuiSheetHeader.vue_vue_type_script_setup_true_lang-CkAwcvYa.js} +1 -1
- package/dist/{BuiSheetTitle.vue_vue_type_script_setup_true_lang-DWRSvHfG.js → BuiSheetTitle.vue_vue_type_script_setup_true_lang-C5-FbS3P.js} +2 -2
- package/dist/{BuiSheetTrigger.vue_vue_type_script_setup_true_lang-Bo3F1V-i.js → BuiSheetTrigger.vue_vue_type_script_setup_true_lang-BJ9LPDdb.js} +1 -1
- package/dist/{BuiSlider.vue_vue_type_script_setup_true_lang-DueApe2a.js → BuiSlider.vue_vue_type_script_setup_true_lang-B8wGel7J.js} +2 -2
- package/dist/{BuiStepper.vue_vue_type_script_setup_true_lang-CZ1jkRxs.js → BuiStepper.vue_vue_type_script_setup_true_lang-DXDEcxPs.js} +2 -2
- package/dist/{BuiStepperDescription.vue_vue_type_script_setup_true_lang-NL_1yflc.js → BuiStepperDescription.vue_vue_type_script_setup_true_lang-BgrvqIfS.js} +2 -2
- package/dist/{BuiStepperIndicator.vue_vue_type_script_setup_true_lang-4suJBD-d.js → BuiStepperIndicator.vue_vue_type_script_setup_true_lang-BaWaZloG.js} +2 -2
- package/dist/{BuiStepperItem.vue_vue_type_script_setup_true_lang-Br89cNz8.js → BuiStepperItem.vue_vue_type_script_setup_true_lang-BifgtMsp.js} +2 -2
- package/dist/{BuiStepperSeparator.vue_vue_type_script_setup_true_lang-CEqzYqhs.js → BuiStepperSeparator.vue_vue_type_script_setup_true_lang-CJEPLjNt.js} +2 -2
- package/dist/{BuiStepperTitle.vue_vue_type_script_setup_true_lang-CXeu0Wwu.js → BuiStepperTitle.vue_vue_type_script_setup_true_lang-Ci-7h-Nu.js} +2 -2
- package/dist/{BuiStepperTrigger.vue_vue_type_script_setup_true_lang-B_YjAeAX.js → BuiStepperTrigger.vue_vue_type_script_setup_true_lang-BkKjTzdd.js} +2 -2
- package/dist/{BuiSwitch.vue_vue_type_script_setup_true_lang-C0UTTrRZ.js → BuiSwitch.vue_vue_type_script_setup_true_lang-aYfKXtwg.js} +2 -2
- package/dist/{BuiTable.vue_vue_type_script_setup_true_lang-Z45MrzQA.js → BuiTable.vue_vue_type_script_setup_true_lang-DI9xOLmn.js} +3 -3
- package/dist/{BuiTableBody.vue_vue_type_script_setup_true_lang-BGWE-WLM.js → BuiTableBody.vue_vue_type_script_setup_true_lang-B-3x1Qq7.js} +1 -1
- package/dist/{BuiTableCaption.vue_vue_type_script_setup_true_lang-C9PP4Fcx.js → BuiTableCaption.vue_vue_type_script_setup_true_lang-xqs_Oz8_.js} +1 -1
- package/dist/{BuiTableCell.vue_vue_type_script_setup_true_lang-BMPBnL81.js → BuiTableCell.vue_vue_type_script_setup_true_lang-BqQC1ZW3.js} +1 -1
- package/dist/{BuiTableEmpty.vue_vue_type_script_setup_true_lang-BxUialLd.js → BuiTableEmpty.vue_vue_type_script_setup_true_lang-Dsuc3SUK.js} +3 -3
- package/dist/{BuiTableFooter.vue_vue_type_script_setup_true_lang-k053xTES.js → BuiTableFooter.vue_vue_type_script_setup_true_lang-CM3A5YV0.js} +1 -1
- package/dist/{BuiTableHead.vue_vue_type_script_setup_true_lang-JNDLoSoG.js → BuiTableHead.vue_vue_type_script_setup_true_lang-7Lueg0eT.js} +1 -1
- package/dist/{BuiTableHeader.vue_vue_type_script_setup_true_lang-18MBtNeo.js → BuiTableHeader.vue_vue_type_script_setup_true_lang-CuFM-eKt.js} +1 -1
- package/dist/{BuiTableRow.vue_vue_type_script_setup_true_lang-f1ZCSbzt.js → BuiTableRow.vue_vue_type_script_setup_true_lang-B7mv21Nn.js} +3 -3
- package/dist/{BuiTabs.vue_vue_type_script_setup_true_lang-Bp869I4W.js → BuiTabs.vue_vue_type_script_setup_true_lang-DOMi5Ruu.js} +1 -1
- package/dist/{BuiTabsContent.vue_vue_type_script_setup_true_lang-BpaSDCqQ.js → BuiTabsContent.vue_vue_type_script_setup_true_lang-w1_jLAJo.js} +2 -2
- package/dist/{BuiToastAction.vue_vue_type_script_setup_true_lang-Dk8A0zz2.js → BuiToastAction.vue_vue_type_script_setup_true_lang-DjtvDYVA.js} +2 -2
- package/dist/{BuiToastClose.vue_vue_type_script_setup_true_lang-B3oilMCp.js → BuiToastClose.vue_vue_type_script_setup_true_lang-BXy_GTOb.js} +3 -3
- package/dist/{BuiToastDescription.vue_vue_type_script_setup_true_lang-BrSg0VRX.js → BuiToastDescription.vue_vue_type_script_setup_true_lang-Bv9rABPq.js} +2 -2
- package/dist/{BuiToastProvider.vue_vue_type_script_setup_true_lang-ZXzJkgBD.js → BuiToastProvider.vue_vue_type_script_setup_true_lang-BW4gPE11.js} +1 -1
- package/dist/{BuiToastTitle.vue_vue_type_script_setup_true_lang-Cqz61UTY.js → BuiToastTitle.vue_vue_type_script_setup_true_lang-VfdJTEOM.js} +2 -2
- package/dist/{BuiToastViewport.vue_vue_type_script_setup_true_lang-bfIyhbsq.js → BuiToastViewport.vue_vue_type_script_setup_true_lang-Bg4rKMJe.js} +2 -2
- package/dist/{BuiToggleGroup.vue_vue_type_script_setup_true_lang-BUIfYPz8.js → BuiToggleGroup.vue_vue_type_script_setup_true_lang-YC1aSpLX.js} +2 -2
- package/dist/{BuiToggleGroupItem.vue_vue_type_script_setup_true_lang-Fkd-GbM8.js → BuiToggleGroupItem.vue_vue_type_script_setup_true_lang-99EnNOQy.js} +2 -2
- package/dist/{BuiTooltip.vue_vue_type_script_setup_true_lang-Cas1FHjM.js → BuiTooltip.vue_vue_type_script_setup_true_lang-OsjAtJQg.js} +1 -1
- package/dist/{BuiTooltipContent.vue_vue_type_script_setup_true_lang-DMaUr0Py.js → BuiTooltipContent.vue_vue_type_script_setup_true_lang-BrV2UqB6.js} +2 -2
- package/dist/{BuiTooltipProvider.vue_vue_type_script_setup_true_lang-CCOYEiUg.js → BuiTooltipProvider.vue_vue_type_script_setup_true_lang-C0f8Ccsa.js} +1 -1
- package/dist/{BuiTooltipTrigger.vue_vue_type_script_setup_true_lang-CnGv207Y.js → BuiTooltipTrigger.vue_vue_type_script_setup_true_lang-g1qQh676.js} +1 -1
- package/dist/{Skeleton.vue_vue_type_script_setup_true_lang-DxJwlH68.js → Skeleton.vue_vue_type_script_setup_true_lang-D__3e-bn.js} +1 -1
- package/dist/assets/main.css +1 -1
- package/dist/{check-Udt21v9L.js → check-CkPugLmW.js} +1 -1
- package/dist/{chevron-down-DWtY5lSf.js → chevron-down-CHlNoqz_.js} +1 -1
- package/dist/{chevron-left-OASNjVKd.js → chevron-left-AaaNigbW.js} +1 -1
- package/dist/{chevron-right-C8C-EeB3.js → chevron-right-BTrPAYy6.js} +1 -1
- package/dist/{circle-iHvJKCQ5.js → circle-BgXC6iSS.js} +1 -1
- package/dist/colorUtils-DLz-Bcdu.js +1189 -0
- package/dist/components/ui/accordion/BuiAccordion.js +1 -1
- package/dist/components/ui/accordion/BuiAccordionContent.js +1 -1
- package/dist/components/ui/accordion/BuiAccordionItem.js +1 -1
- package/dist/components/ui/accordion/BuiAccordionTrigger.js +1 -1
- package/dist/components/ui/accordion/BuiAdvancedAccordionTrigger.js +1 -1
- package/dist/components/ui/accordion/index.js +5 -5
- package/dist/components/ui/alert/BuiAlertDescription.js +1 -1
- package/dist/components/ui/alert/BuiAlertTitle.js +1 -1
- package/dist/components/ui/alert/index.js +3 -3
- package/dist/components/ui/alert-dialog/BuiAlertDialog.js +1 -1
- package/dist/components/ui/alert-dialog/BuiAlertDialogAction.js +1 -1
- package/dist/components/ui/alert-dialog/BuiAlertDialogCancel.js +1 -1
- package/dist/components/ui/alert-dialog/BuiAlertDialogContent.js +1 -1
- package/dist/components/ui/alert-dialog/BuiAlertDialogDescription.js +1 -1
- package/dist/components/ui/alert-dialog/BuiAlertDialogFooter.js +1 -1
- package/dist/components/ui/alert-dialog/BuiAlertDialogHeader.js +1 -1
- package/dist/components/ui/alert-dialog/BuiAlertDialogTitle.js +1 -1
- package/dist/components/ui/alert-dialog/BuiAlertDialogTrigger.js +1 -1
- package/dist/components/ui/alert-dialog/index.js +9 -9
- package/dist/components/ui/aspect-ratio/BuiAspectRatio.js +1 -1
- package/dist/components/ui/aspect-ratio/index.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoForm.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormField.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldArray.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldArrayCard.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldBoolean.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldDate.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldEnum.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldFile.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldInput.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldNumber.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldObject.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormFieldObjectCard.js +1 -1
- package/dist/components/ui/auto-form/BuiAutoFormLabel.js +1 -1
- package/dist/components/ui/auto-form/constant.js +7 -7
- package/dist/components/ui/auto-form/dependencies.js +1 -1
- package/dist/components/ui/auto-form/index.js +11 -11
- package/dist/components/ui/avatar/BuiAvatarFallback.js +1 -1
- package/dist/components/ui/avatar/BuiAvatarImage.js +1 -1
- package/dist/components/ui/avatar/index.js +4 -4
- package/dist/components/ui/badge/index.js +2 -2
- package/dist/components/ui/button/BuiButton.js +1 -1
- package/dist/components/ui/button/index.js +1 -1
- package/dist/components/ui/calendar/index.js +3 -3
- package/dist/components/ui/card/BuiCard.js +1 -1
- package/dist/components/ui/card/BuiCardContent.js +1 -1
- package/dist/components/ui/card/BuiCardDescription.js +1 -1
- package/dist/components/ui/card/BuiCardFooter.js +1 -1
- package/dist/components/ui/card/BuiCardHeader.js +1 -1
- package/dist/components/ui/card/BuiCardTitle.js +1 -1
- package/dist/components/ui/card/index.js +6 -6
- package/dist/components/ui/checkbox/BuiCheckbox.js +1 -1
- package/dist/components/ui/checkbox/index.js +1 -1
- package/dist/components/ui/collapsible/BuiCollapsible.js +1 -1
- package/dist/components/ui/collapsible/BuiCollapsibleContent.js +1 -1
- package/dist/components/ui/collapsible/BuiCollapsibleTrigger.js +1 -1
- package/dist/components/ui/collapsible/index.js +3 -3
- package/dist/components/ui/color-picker/BuiColorPicker.js +4 -0
- package/dist/components/ui/color-picker/BuiColorPicker.vue.d.ts +27 -0
- package/dist/components/ui/color-picker/index.d.ts +7 -0
- package/dist/components/ui/color-picker/index.js +201 -0
- package/dist/components/ui/command/BuiCommand.js +1 -1
- package/dist/components/ui/command/BuiCommandDialog.js +1 -1
- package/dist/components/ui/command/BuiCommandEmpty.js +1 -1
- package/dist/components/ui/command/BuiCommandGroup.js +1 -1
- package/dist/components/ui/command/BuiCommandInput.js +1 -1
- package/dist/components/ui/command/BuiCommandItem.js +1 -1
- package/dist/components/ui/command/BuiCommandList.js +1 -1
- package/dist/components/ui/command/BuiCommandSeparator.js +1 -1
- package/dist/components/ui/command/BuiCommandShortcut.js +1 -1
- package/dist/components/ui/command/index.js +9 -9
- package/dist/components/ui/context-menu/BuiContextMenu.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuCheckboxItem.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuContent.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuGroup.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuItem.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuLabel.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuPortal.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuRadioGroup.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuRadioItem.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuSeparator.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuShortcut.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuSub.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuSubContent.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuSubTrigger.js +1 -1
- package/dist/components/ui/context-menu/BuiContextMenuTrigger.js +1 -1
- package/dist/components/ui/context-menu/index.js +14 -14
- package/dist/components/ui/dialog/BuiDialog.js +1 -1
- package/dist/components/ui/dialog/BuiDialogClose.js +1 -1
- package/dist/components/ui/dialog/BuiDialogContent.js +1 -1
- package/dist/components/ui/dialog/BuiDialogDescription.js +1 -1
- package/dist/components/ui/dialog/BuiDialogFooter.js +1 -1
- package/dist/components/ui/dialog/BuiDialogHeader.js +1 -1
- package/dist/components/ui/dialog/BuiDialogTitle.js +1 -1
- package/dist/components/ui/dialog/BuiDialogTrigger.js +1 -1
- package/dist/components/ui/dialog/index.js +8 -8
- package/dist/components/ui/dropdown-menu/BuiDropdownMenu.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuCheckboxItem.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuContent.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuGroup.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuItem.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuLabel.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuRadioGroup.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuRadioItem.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuSeparator.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuShortcut.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuSub.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuSubContent.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuSubTrigger.js +1 -1
- package/dist/components/ui/dropdown-menu/BuiDropdownMenuTrigger.js +1 -1
- package/dist/components/ui/dropdown-menu/index.js +15 -15
- package/dist/components/ui/form/BuiFormControl.js +1 -1
- package/dist/components/ui/form/BuiFormDescription.js +1 -1
- package/dist/components/ui/form/BuiFormItem.js +2 -2
- package/dist/components/ui/form/BuiFormLabel.js +1 -1
- package/dist/components/ui/form/BuiFormMessage.js +1 -1
- package/dist/components/ui/form/index.js +1 -1
- package/dist/components/ui/form/useFormField.js +1 -1
- package/dist/components/ui/health/index.js +1 -1
- package/dist/components/ui/hover-card/BuiHoverCard.js +1 -1
- package/dist/components/ui/hover-card/BuiHoverCardContent.js +1 -1
- package/dist/components/ui/hover-card/BuiHoverCardTrigger.js +1 -1
- package/dist/components/ui/hover-card/index.js +3 -3
- package/dist/components/ui/input/BuiColorInput.js +4 -0
- package/dist/components/ui/input/BuiColorInput.vue.d.ts +21 -0
- package/dist/components/ui/input/index.d.ts +1 -0
- package/dist/components/ui/input/index.js +148 -50
- package/dist/components/ui/label/BuiLabel.js +1 -1
- package/dist/components/ui/label/index.js +1 -1
- package/dist/components/ui/pagination/BuiPaginationCommon.js +1 -1
- package/dist/components/ui/pagination/BuiPaginationCommon.vue.d.ts +2 -2
- package/dist/components/ui/pagination/BuiPaginationEllipsis.js +1 -1
- package/dist/components/ui/pagination/BuiPaginationFirst.js +1 -1
- package/dist/components/ui/pagination/BuiPaginationLast.js +1 -1
- package/dist/components/ui/pagination/BuiPaginationNext.js +1 -1
- package/dist/components/ui/pagination/BuiPaginationPrev.js +1 -1
- package/dist/components/ui/pagination/index.js +7 -7
- package/dist/components/ui/popover/BuiPopover.js +1 -1
- package/dist/components/ui/popover/BuiPopoverContent.js +1 -1
- package/dist/components/ui/popover/BuiPopoverTrigger.js +1 -1
- package/dist/components/ui/popover/index.js +3 -3
- package/dist/components/ui/progress/BuiProgress.vue.d.ts +1 -1
- package/dist/components/ui/progress/index.d.ts +1 -1
- package/dist/components/ui/progress/index.js +2 -2
- package/dist/components/ui/radio-group/BuiRadioGroup.js +1 -1
- package/dist/components/ui/radio-group/BuiRadioGroupItem.js +1 -1
- package/dist/components/ui/radio-group/index.js +2 -2
- package/dist/components/ui/scroll-area/BuiScrollArea.js +1 -1
- package/dist/components/ui/scroll-area/BuiScrollBar.js +1 -1
- package/dist/components/ui/scroll-area/index.js +2 -2
- package/dist/components/ui/select/Bui.js +2 -2
- package/dist/components/ui/select/BuiSelect.js +1 -1
- package/dist/components/ui/select/BuiSelectContent.js +1 -1
- package/dist/components/ui/select/BuiSelectGroup.js +1 -1
- package/dist/components/ui/select/BuiSelectItem.js +1 -1
- package/dist/components/ui/select/BuiSelectItemText.js +1 -1
- package/dist/components/ui/select/BuiSelectLabel.js +1 -1
- package/dist/components/ui/select/BuiSelectSeparator.js +1 -1
- package/dist/components/ui/select/BuiSelectTrigger.js +1 -1
- package/dist/components/ui/select/BuiSelectValue.js +1 -1
- package/dist/components/ui/select/index.js +9 -9
- package/dist/components/ui/separator/BuiSeparator.js +1 -1
- package/dist/components/ui/separator/index.js +1 -1
- package/dist/components/ui/sheet/BuiSheet.js +1 -1
- package/dist/components/ui/sheet/BuiSheetClose.js +1 -1
- package/dist/components/ui/sheet/BuiSheetDescription.js +1 -1
- package/dist/components/ui/sheet/BuiSheetFooter.js +1 -1
- package/dist/components/ui/sheet/BuiSheetHeader.js +1 -1
- package/dist/components/ui/sheet/BuiSheetTitle.js +1 -1
- package/dist/components/ui/sheet/BuiSheetTrigger.js +1 -1
- package/dist/components/ui/sheet/index.js +10 -10
- package/dist/components/ui/skeleton/Skeleton.js +1 -1
- package/dist/components/ui/skeleton/index.js +1 -1
- package/dist/components/ui/slider/BuiSlider.js +1 -1
- package/dist/components/ui/slider/index.js +1 -1
- package/dist/components/ui/stepper/BuiStepper.js +1 -1
- package/dist/components/ui/stepper/BuiStepperDescription.js +1 -1
- package/dist/components/ui/stepper/BuiStepperIndicator.js +1 -1
- package/dist/components/ui/stepper/BuiStepperItem.js +1 -1
- package/dist/components/ui/stepper/BuiStepperSeparator.js +1 -1
- package/dist/components/ui/stepper/BuiStepperTitle.js +1 -1
- package/dist/components/ui/stepper/BuiStepperTrigger.js +1 -1
- package/dist/components/ui/stepper/index.js +7 -7
- package/dist/components/ui/switch/BuiSwitch.js +1 -1
- package/dist/components/ui/switch/index.js +1 -1
- package/dist/components/ui/table/BuiDataTableColumnList.js +1 -1
- package/dist/components/ui/table/BuiTable.js +1 -1
- package/dist/components/ui/table/BuiTableBody.js +1 -1
- package/dist/components/ui/table/BuiTableCaption.js +1 -1
- package/dist/components/ui/table/BuiTableCell.js +1 -1
- package/dist/components/ui/table/BuiTableEmpty.js +1 -1
- package/dist/components/ui/table/BuiTableFooter.js +1 -1
- package/dist/components/ui/table/BuiTableHead.js +1 -1
- package/dist/components/ui/table/BuiTableHeader.js +1 -1
- package/dist/components/ui/table/BuiTableRow.js +1 -1
- package/dist/components/ui/table/index.js +24 -24
- package/dist/components/ui/tabs/BuiTabs.js +1 -1
- package/dist/components/ui/tabs/BuiTabsContent.js +1 -1
- package/dist/components/ui/tabs/index.js +4 -4
- package/dist/components/ui/textarea/index.js +1 -1
- package/dist/components/ui/toast/BuiToastAction.js +1 -1
- package/dist/components/ui/toast/BuiToastClose.js +1 -1
- package/dist/components/ui/toast/BuiToastDescription.js +1 -1
- package/dist/components/ui/toast/BuiToastProvider.js +1 -1
- package/dist/components/ui/toast/BuiToastTitle.js +1 -1
- package/dist/components/ui/toast/BuiToastViewport.js +1 -1
- package/dist/components/ui/toast/index.js +8 -8
- package/dist/components/ui/toggle/index.js +2 -2
- package/dist/components/ui/toggle-group/BuiToggleGroup.js +1 -1
- package/dist/components/ui/toggle-group/BuiToggleGroupItem.js +1 -1
- package/dist/components/ui/toggle-group/index.js +2 -2
- package/dist/components/ui/tooltip/BuiTooltip.js +1 -1
- package/dist/components/ui/tooltip/BuiTooltipContent.js +1 -1
- package/dist/components/ui/tooltip/BuiTooltipProvider.js +1 -1
- package/dist/components/ui/tooltip/BuiTooltipTrigger.js +1 -1
- package/dist/components/ui/tooltip/index.js +4 -4
- package/dist/{index-DKlaqzM0.js → index-0I6LZbPQ.js} +3 -3
- package/dist/index.css +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +303 -298
- package/dist/lib/colorUtils.d.ts +12 -0
- package/dist/lib/colorUtils.js +9 -0
- package/dist/lib/useColorDraggable.d.ts +16 -0
- package/dist/lib/useColorDraggable.js +31 -0
- package/dist/lib/utils.js +1 -1
- package/dist/{utils-C11OfLQK.js → utils-Dn2Y7TRK.js} +1 -1
- package/dist/{x-BCuyj3Zc.js → x-Cujd6KIO.js} +1 -1
- package/package.json +2 -1
- package/src/components/stories/BuiColorPicker.story.vue +107 -0
- package/src/components/stories/BuiInput.story.vue +10 -0
- package/src/components/ui/color-picker/BuiColorPicker.vue +215 -0
- package/src/components/ui/color-picker/index.ts +33 -0
- package/src/components/ui/input/BuiColorInput.vue +86 -0
- package/src/components/ui/input/index.ts +1 -0
- package/src/index.ts +1 -0
- package/src/lib/colorUtils.ts +43 -0
- package/src/lib/useColorDraggable.ts +75 -0
- package/dist/BuiAutoFormFieldInput.vue_vue_type_script_setup_true_lang-D4RSWQ2a.js +0 -58
- package/dist/BuiAutoFormFieldNumber.vue_vue_type_script_setup_true_lang-Db9bTqM3.js +0 -57
- /package/dist/{variables.css → index2.css} +0 -0
@@ -0,0 +1,12 @@
|
|
1
|
+
import { HSLObject } from 'colortranslator';
|
2
|
+
export declare const HEX_REGEXP: RegExp;
|
3
|
+
export declare const HEX_REGEXP_NO_POUND: RegExp;
|
4
|
+
export type HSVColor = {
|
5
|
+
h: number;
|
6
|
+
s: number;
|
7
|
+
v: number;
|
8
|
+
};
|
9
|
+
export declare function HSLtoHSV(hsl: HSLObject): HSVColor;
|
10
|
+
export declare function HSVtoHSL(hsv: HSVColor): HSLObject;
|
11
|
+
export declare function normalizeHue(hue: number, dir?: 'left' | 'right'): number;
|
12
|
+
export declare function normalizeBrightness(brightness: number): number;
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { MaybeRefOrGetter } from 'vue';
|
2
|
+
export declare function useColorDraggable(targetElement: MaybeRefOrGetter<HTMLElement | null>, containerElement: MaybeRefOrGetter<HTMLElement | null>, axis?: 'x' | 'y' | 'both', initialPosition?: {
|
3
|
+
x: number;
|
4
|
+
y: number;
|
5
|
+
}, disabled?: MaybeRefOrGetter<boolean | undefined>): {
|
6
|
+
position: import('vue').Ref<{
|
7
|
+
x: number;
|
8
|
+
y: number;
|
9
|
+
}, {
|
10
|
+
x: number;
|
11
|
+
y: number;
|
12
|
+
} | {
|
13
|
+
x: number;
|
14
|
+
y: number;
|
15
|
+
}>;
|
16
|
+
};
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { ref as f } from "vue";
|
2
|
+
import { isClient as g, useEventListener as u, toValue as c, useElementBounding as p } from "@vueuse/core";
|
3
|
+
function M(h, i, r = "both", v = { x: 0, y: 0 }, d) {
|
4
|
+
const a = f(v), e = f(), m = (t) => {
|
5
|
+
if (c(d)) return t.preventDefault();
|
6
|
+
const o = c(i), l = p(h), n = p(i);
|
7
|
+
e.value = {
|
8
|
+
x: t.clientX - (o ? t.clientX - n.left.value + o.scrollLeft : l.left.value),
|
9
|
+
y: t.clientY - (o ? t.clientY - n.top.value + o.scrollTop : l.top.value)
|
10
|
+
}, s(t);
|
11
|
+
}, s = (t) => {
|
12
|
+
if (!e.value) return;
|
13
|
+
const o = c(i);
|
14
|
+
let { x: l, y: n } = a.value;
|
15
|
+
o && (r === "x" || r === "both") && (l = Math.min(
|
16
|
+
Math.max(0, (t.clientX - e.value.x) / o.scrollWidth * 100),
|
17
|
+
100
|
18
|
+
)), o && (r === "y" || r === "both") && (n = Math.min(
|
19
|
+
Math.max(0, (t.clientY - e.value.y) / o.scrollHeight * 100),
|
20
|
+
100
|
21
|
+
)), a.value = { x: l, y: n };
|
22
|
+
}, w = () => {
|
23
|
+
e.value && (e.value = void 0);
|
24
|
+
};
|
25
|
+
return g && (u(i, "pointerdown", m), u(window, "pointermove", s), u(window, "pointerup", w)), {
|
26
|
+
position: a
|
27
|
+
};
|
28
|
+
}
|
29
|
+
export {
|
30
|
+
M as useColorDraggable
|
31
|
+
};
|
package/dist/lib/utils.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { defineComponent as N, provide as Ce, useAttrs as H, openBlock as $, createElementBlock as fe, mergeProps as Q, unref as f, renderSlot as F, inject as X, createBlock as O, withCtx as ee, toValue as _e, toRef as Ie, normalizeClass as ze, h as S } from "vue";
|
2
2
|
import { FieldContextKey as Ae, useIsFieldValid as Se, useIsFieldDirty as Me, useIsFieldTouched as Ne, useFieldError as $e, ErrorMessage as Re } from "vee-validate";
|
3
|
-
import {
|
3
|
+
import { bt as je, bu as Ee, av as Ge, bs as Pe } from "./index-0I6LZbPQ.js";
|
4
4
|
function ge(e) {
|
5
5
|
var t, r, o = "";
|
6
6
|
if (typeof e == "string" || typeof e == "number") o += e;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@soft-stech/bootsman-ui-shadcn",
|
3
|
-
"version": "1.4.
|
3
|
+
"version": "1.4.38",
|
4
4
|
"type": "module",
|
5
5
|
"files": [
|
6
6
|
"dist",
|
@@ -27,6 +27,7 @@
|
|
27
27
|
"@vueuse/integrations": "^13.0.0",
|
28
28
|
"class-variance-authority": "0.7.0",
|
29
29
|
"clsx": "2.1.1",
|
30
|
+
"colortranslator": "^5.0.0",
|
30
31
|
"lodash-es": "^4.17.21",
|
31
32
|
"lucide-vue-next": "0.441.0",
|
32
33
|
"radix-vue": "1.9.8",
|
@@ -0,0 +1,107 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import BuiColorPicker from '@/components/ui/color-picker/BuiColorPicker.vue'
|
3
|
+
import {
|
4
|
+
BuiButton,
|
5
|
+
BuiPopover,
|
6
|
+
BuiPopoverTrigger,
|
7
|
+
BuiPopoverContent,
|
8
|
+
BuiSelect,
|
9
|
+
BuiSelectContent,
|
10
|
+
BuiSelectGroup,
|
11
|
+
BuiSelectItem,
|
12
|
+
BuiSelectTrigger,
|
13
|
+
BuiSelectValue
|
14
|
+
} from '@/index'
|
15
|
+
import { ref } from 'vue'
|
16
|
+
|
17
|
+
const sizes: {
|
18
|
+
name: string
|
19
|
+
value: 'lg' | 'sm' | 'xs' | 'md' | 'xl'
|
20
|
+
}[] = [
|
21
|
+
{
|
22
|
+
name: 'Extra Small',
|
23
|
+
value: 'xs'
|
24
|
+
},
|
25
|
+
{
|
26
|
+
name: 'Small',
|
27
|
+
value: 'sm'
|
28
|
+
},
|
29
|
+
{
|
30
|
+
name: 'Medium',
|
31
|
+
value: 'md'
|
32
|
+
},
|
33
|
+
{
|
34
|
+
name: 'Large',
|
35
|
+
value: 'lg'
|
36
|
+
},
|
37
|
+
{
|
38
|
+
name: 'Extra Large',
|
39
|
+
value: 'xl'
|
40
|
+
}
|
41
|
+
]
|
42
|
+
|
43
|
+
const pickedColor = ref<string>('#29CCFF')
|
44
|
+
const currentSize = ref<'lg' | 'sm' | 'xs' | 'md' | 'xl' | undefined>(undefined)
|
45
|
+
</script>
|
46
|
+
|
47
|
+
<template>
|
48
|
+
<Story title="BuiColorPicker" autoPropsDisabled :layout="{ type: 'grid', width: '33%' }">
|
49
|
+
<Variant key="basic" title="Basic">
|
50
|
+
<div class="flex flex-col gap-4 p-4">
|
51
|
+
<BuiColorPicker />
|
52
|
+
</div>
|
53
|
+
</Variant>
|
54
|
+
|
55
|
+
<Variant key="defaultColor" title="Default color">
|
56
|
+
<div class="flex flex-col gap-4 p-4">
|
57
|
+
<BuiColorPicker :defaultValue="'#29CCFF'" />
|
58
|
+
</div>
|
59
|
+
</Variant>
|
60
|
+
|
61
|
+
<Variant key="disabled" title="Disabled">
|
62
|
+
<div class="flex flex-col gap-4 p-4">
|
63
|
+
<BuiColorPicker disabled />
|
64
|
+
</div>
|
65
|
+
</Variant>
|
66
|
+
|
67
|
+
<Variant key="sizes" title="Available sizes">
|
68
|
+
<div class="flex flex-col gap-4 p-4">
|
69
|
+
<BuiSelect v-model="currentSize">
|
70
|
+
<BuiSelectTrigger class="w-[180px]">
|
71
|
+
<BuiSelectValue placeholder="Select size" />
|
72
|
+
</BuiSelectTrigger>
|
73
|
+
<BuiSelectContent>
|
74
|
+
<BuiSelectGroup>
|
75
|
+
<BuiSelectItem v-for="size in sizes" :key="size.value" :value="size.value">
|
76
|
+
{{ size.name }}
|
77
|
+
</BuiSelectItem>
|
78
|
+
</BuiSelectGroup>
|
79
|
+
</BuiSelectContent>
|
80
|
+
</BuiSelect>
|
81
|
+
|
82
|
+
<BuiColorPicker :size="currentSize" :defaultValue="'#008422'" />
|
83
|
+
</div>
|
84
|
+
</Variant>
|
85
|
+
<Variant key="withPopover" title="With Popover">
|
86
|
+
<div class="flex w-full flex-row justify-center pt-4">
|
87
|
+
<BuiPopover>
|
88
|
+
<BuiPopoverTrigger>
|
89
|
+
<BuiButton
|
90
|
+
variant="outline"
|
91
|
+
class="flex flex-row gap-2 text-sm"
|
92
|
+
:style="{ color: pickedColor, borderColor: pickedColor }"
|
93
|
+
>
|
94
|
+
<span :style="{ backgroundColor: pickedColor }" class="size-3 rounded-full" />
|
95
|
+
<span>Pick a color</span>
|
96
|
+
</BuiButton>
|
97
|
+
</BuiPopoverTrigger>
|
98
|
+
<BuiPopoverContent class="w-80">
|
99
|
+
<div class="flex flex-col gap-4 p-4">
|
100
|
+
<BuiColorPicker v-model="pickedColor" />
|
101
|
+
</div>
|
102
|
+
</BuiPopoverContent>
|
103
|
+
</BuiPopover>
|
104
|
+
</div>
|
105
|
+
</Variant>
|
106
|
+
</Story>
|
107
|
+
</template>
|
@@ -3,6 +3,7 @@ import BuiInput from '@/components/ui/input/BuiInput.vue'
|
|
3
3
|
import BuiLabel from '@/components/ui/label/BuiLabel.vue'
|
4
4
|
import { BuiPasswordInput } from '@/components/ui/input'
|
5
5
|
import { BuiBadgedInput } from '@/components/ui/input'
|
6
|
+
import { BuiColorInput } from '@/components/ui/input'
|
6
7
|
</script>
|
7
8
|
|
8
9
|
<template>
|
@@ -81,5 +82,14 @@ import { BuiBadgedInput } from '@/components/ui/input'
|
|
81
82
|
</div>
|
82
83
|
</div>
|
83
84
|
</Variant>
|
85
|
+
|
86
|
+
<Variant title="Color picker">
|
87
|
+
<div class="flex items-center space-x-2 p-1">
|
88
|
+
<div class="grid w-full max-w-sm items-center gap-1.5">
|
89
|
+
<BuiLabel for="colorPicker">Color</BuiLabel>
|
90
|
+
<BuiColorInput id="colorPicker" :defaultValue="'#E05FA3'" />
|
91
|
+
</div>
|
92
|
+
</div>
|
93
|
+
</Variant>
|
84
94
|
</Story>
|
85
95
|
</template>
|
@@ -0,0 +1,215 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import { ref, computed, nextTick } from 'vue'
|
3
|
+
import { watchThrottled, watchPausable } from '@vueuse/core'
|
4
|
+
import { Primitive } from 'radix-vue'
|
5
|
+
import { ColorTranslator } from 'colortranslator'
|
6
|
+
import { colorPickerSelectorVariants, colorPickerTrackVariants } from '.'
|
7
|
+
import {
|
8
|
+
type HSVColor,
|
9
|
+
HSLtoHSV,
|
10
|
+
HSVtoHSL,
|
11
|
+
normalizeBrightness,
|
12
|
+
normalizeHue
|
13
|
+
} from '@/lib/colorUtils'
|
14
|
+
import { useColorDraggable } from '@/lib/useColorDraggable'
|
15
|
+
import { cn } from '@/lib/utils'
|
16
|
+
|
17
|
+
const props = withDefaults(
|
18
|
+
defineProps<{
|
19
|
+
as?: string
|
20
|
+
disabled?: boolean
|
21
|
+
size?: NonNullable<Parameters<typeof colorPickerSelectorVariants>[0]>['size']
|
22
|
+
defaultValue?: string
|
23
|
+
format?: 'hex' | 'rgb' | 'hsl' | 'cmyk' | 'lab'
|
24
|
+
throttle?: number
|
25
|
+
ui?: {
|
26
|
+
selectorClass?: string
|
27
|
+
trackClass?: string
|
28
|
+
}
|
29
|
+
}>(),
|
30
|
+
{
|
31
|
+
as: 'div',
|
32
|
+
format: 'hex',
|
33
|
+
defaultValue: '#FFFFFF',
|
34
|
+
throttle: 50
|
35
|
+
}
|
36
|
+
)
|
37
|
+
|
38
|
+
const modelValue = defineModel<string>(undefined)
|
39
|
+
|
40
|
+
const pickedColor = computed<HSVColor>({
|
41
|
+
get() {
|
42
|
+
try {
|
43
|
+
const color = new ColorTranslator(modelValue.value || props.defaultValue)
|
44
|
+
|
45
|
+
return HSLtoHSV(color.HSLObject)
|
46
|
+
} catch (_) {
|
47
|
+
return { h: 0, s: 0, v: 100 }
|
48
|
+
}
|
49
|
+
},
|
50
|
+
|
51
|
+
set(value) {
|
52
|
+
const color = new ColorTranslator(HSVtoHSL(value), {
|
53
|
+
labUnit: 'percent',
|
54
|
+
cmykUnit: 'percent',
|
55
|
+
cmykFunction: 'cmyk'
|
56
|
+
})
|
57
|
+
|
58
|
+
switch (props.format) {
|
59
|
+
case 'rgb':
|
60
|
+
modelValue.value = color.RGB
|
61
|
+
break
|
62
|
+
case 'hsl':
|
63
|
+
modelValue.value = color.HSL
|
64
|
+
break
|
65
|
+
case 'cmyk':
|
66
|
+
modelValue.value = color.CMYK
|
67
|
+
break
|
68
|
+
case 'lab':
|
69
|
+
modelValue.value = color.CIELab
|
70
|
+
break
|
71
|
+
case 'hex':
|
72
|
+
default:
|
73
|
+
modelValue.value = color.HEX
|
74
|
+
}
|
75
|
+
}
|
76
|
+
})
|
77
|
+
|
78
|
+
const selectorRef = ref<HTMLDivElement | null>(null)
|
79
|
+
const selectorThumbRef = ref<HTMLDivElement | null>(null)
|
80
|
+
const trackRef = ref<HTMLDivElement | null>(null)
|
81
|
+
const trackThumbRef = ref<HTMLDivElement | null>(null)
|
82
|
+
|
83
|
+
const { position: selectorThumbPosition } = useColorDraggable(
|
84
|
+
selectorThumbRef,
|
85
|
+
selectorRef,
|
86
|
+
'both',
|
87
|
+
{
|
88
|
+
x: pickedColor.value.s,
|
89
|
+
y: normalizeBrightness(pickedColor.value.v)
|
90
|
+
},
|
91
|
+
props.disabled
|
92
|
+
)
|
93
|
+
|
94
|
+
const { position: trackThumbPosition } = useColorDraggable(
|
95
|
+
trackThumbRef,
|
96
|
+
trackRef,
|
97
|
+
'y',
|
98
|
+
{
|
99
|
+
x: 0,
|
100
|
+
y: normalizeHue(pickedColor.value.h, 'right')
|
101
|
+
},
|
102
|
+
props.disabled
|
103
|
+
)
|
104
|
+
|
105
|
+
const trackThumbColor = computed(
|
106
|
+
() =>
|
107
|
+
new ColorTranslator(
|
108
|
+
HSVtoHSL({
|
109
|
+
h: normalizeHue(trackThumbPosition.value.y),
|
110
|
+
s: 100,
|
111
|
+
v: 100
|
112
|
+
})
|
113
|
+
).HEX
|
114
|
+
)
|
115
|
+
|
116
|
+
const selectorStyle = computed(() => ({
|
117
|
+
backgroundColor: trackThumbColor.value
|
118
|
+
}))
|
119
|
+
|
120
|
+
const selectorThumbStyle = computed(() => ({
|
121
|
+
backgroundColor: new ColorTranslator(modelValue.value || props.defaultValue).HEX,
|
122
|
+
left: `${selectorThumbPosition.value.x}%`,
|
123
|
+
top: `${selectorThumbPosition.value.y}%`
|
124
|
+
}))
|
125
|
+
|
126
|
+
const trackThumbStyle = computed(() => ({
|
127
|
+
backgroundColor: trackThumbColor.value,
|
128
|
+
top: `${trackThumbPosition.value.y}%`
|
129
|
+
}))
|
130
|
+
|
131
|
+
const { pause: pauseWatchColor, resume: resumeWatchColor } = watchPausable(pickedColor, (hsv) => {
|
132
|
+
selectorThumbPosition.value = {
|
133
|
+
x: hsv.s,
|
134
|
+
y: normalizeBrightness(hsv.v)
|
135
|
+
}
|
136
|
+
trackThumbPosition.value = {
|
137
|
+
x: 0,
|
138
|
+
y: normalizeHue(hsv.h, 'right')
|
139
|
+
}
|
140
|
+
})
|
141
|
+
|
142
|
+
watchThrottled(
|
143
|
+
[selectorThumbPosition, trackThumbPosition],
|
144
|
+
() => {
|
145
|
+
pauseWatchColor()
|
146
|
+
|
147
|
+
pickedColor.value = {
|
148
|
+
h: normalizeHue(trackThumbPosition.value.y),
|
149
|
+
s: selectorThumbPosition.value.x,
|
150
|
+
v: normalizeBrightness(selectorThumbPosition.value.y)
|
151
|
+
}
|
152
|
+
|
153
|
+
nextTick(resumeWatchColor)
|
154
|
+
},
|
155
|
+
{ throttle: () => props.throttle }
|
156
|
+
)
|
157
|
+
</script>
|
158
|
+
<template>
|
159
|
+
<Primitive
|
160
|
+
:as="as"
|
161
|
+
class="data-[disabled]:opacity-75"
|
162
|
+
:data-disabled="disabled ? true : undefined"
|
163
|
+
>
|
164
|
+
<div class="flex gap-4">
|
165
|
+
<div ref="selectorRef" :class="colorPickerSelectorVariants({ size })" :style="selectorStyle">
|
166
|
+
<div class="relative h-full w-full rounded-md" data-color-picker-background>
|
167
|
+
<div
|
168
|
+
ref="selectorThumbRef"
|
169
|
+
:class="
|
170
|
+
cn(
|
171
|
+
'absolute size-4 -translate-x-1/2 -translate-y-1/2 cursor-pointer rounded-full ring-2 ring-background data-[disabled]:cursor-not-allowed',
|
172
|
+
ui?.selectorClass
|
173
|
+
)
|
174
|
+
"
|
175
|
+
:style="selectorThumbStyle"
|
176
|
+
:data-disabled="disabled ? true : undefined"
|
177
|
+
></div>
|
178
|
+
</div>
|
179
|
+
</div>
|
180
|
+
<div ref="trackRef" :class="colorPickerTrackVariants({ size })" data-color-picker-track>
|
181
|
+
<div
|
182
|
+
ref="trackThumbRef"
|
183
|
+
:class="
|
184
|
+
cn(
|
185
|
+
'absolute size-4 -translate-x-[4px] -translate-y-1/2 transform cursor-pointer rounded-full ring-2 ring-background data-[disabled]:cursor-not-allowed rtl:translate-x-[4px]',
|
186
|
+
ui?.trackClass
|
187
|
+
)
|
188
|
+
"
|
189
|
+
:style="trackThumbStyle"
|
190
|
+
:data-disabled="disabled ? true : undefined"
|
191
|
+
></div>
|
192
|
+
</div>
|
193
|
+
</div>
|
194
|
+
</Primitive>
|
195
|
+
</template>
|
196
|
+
|
197
|
+
<style scoped>
|
198
|
+
[data-color-picker-background] {
|
199
|
+
background-image: linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0) 100%),
|
200
|
+
linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%);
|
201
|
+
}
|
202
|
+
|
203
|
+
[data-color-picker-track] {
|
204
|
+
background-image: linear-gradient(
|
205
|
+
0deg,
|
206
|
+
red 0,
|
207
|
+
#f0f 17%,
|
208
|
+
#00f 33%,
|
209
|
+
#0ff 50%,
|
210
|
+
#0f0 67%,
|
211
|
+
#ff0 83%,
|
212
|
+
red
|
213
|
+
);
|
214
|
+
}
|
215
|
+
</style>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
import { cva } from 'class-variance-authority'
|
2
|
+
|
3
|
+
export { default as BuiColorPicker } from './BuiColorPicker.vue'
|
4
|
+
|
5
|
+
export const colorPickerSelectorVariants = cva('touch-none rounded-md', {
|
6
|
+
variants: {
|
7
|
+
size: {
|
8
|
+
xs: 'w-32 h-32',
|
9
|
+
sm: 'w-36 h-36',
|
10
|
+
md: 'w-40 h-40',
|
11
|
+
lg: 'w-44 h-44',
|
12
|
+
xl: 'w-48 h-48'
|
13
|
+
}
|
14
|
+
},
|
15
|
+
defaultVariants: {
|
16
|
+
size: 'md'
|
17
|
+
}
|
18
|
+
})
|
19
|
+
|
20
|
+
export const colorPickerTrackVariants = cva('relative w-[8px] touch-none rounded-md', {
|
21
|
+
variants: {
|
22
|
+
size: {
|
23
|
+
xs: 'h-32',
|
24
|
+
sm: 'h-36',
|
25
|
+
md: 'h-40',
|
26
|
+
lg: 'h-44',
|
27
|
+
xl: 'h-48'
|
28
|
+
}
|
29
|
+
},
|
30
|
+
defaultVariants: {
|
31
|
+
size: 'md'
|
32
|
+
}
|
33
|
+
})
|
@@ -0,0 +1,86 @@
|
|
1
|
+
<script setup lang="ts">
|
2
|
+
import { BuiInput, BuiPopover, BuiPopoverTrigger, BuiPopoverContent } from '@/index'
|
3
|
+
import { useElementBounding } from '@vueuse/core'
|
4
|
+
import { ref, watch } from 'vue'
|
5
|
+
import { Palette as PaletteIcon } from 'lucide-vue-next'
|
6
|
+
import BuiColorPicker from '../color-picker/BuiColorPicker.vue'
|
7
|
+
import { HEX_REGEXP, HEX_REGEXP_NO_POUND } from '@/lib/colorUtils'
|
8
|
+
import { cn } from '@/lib/utils'
|
9
|
+
|
10
|
+
const props = withDefaults(
|
11
|
+
defineProps<{
|
12
|
+
id?: string
|
13
|
+
defaultValue?: string
|
14
|
+
disabled?: boolean
|
15
|
+
ui?: {
|
16
|
+
badgeClass?: string
|
17
|
+
inputClass?: string
|
18
|
+
}
|
19
|
+
}>(),
|
20
|
+
{
|
21
|
+
defaultValue: '#FFFFFF',
|
22
|
+
disabled: false
|
23
|
+
}
|
24
|
+
)
|
25
|
+
|
26
|
+
const modelValue = defineModel<string>(undefined)
|
27
|
+
|
28
|
+
const paletteBadge = ref<HTMLDivElement | null>(null)
|
29
|
+
const { width } = useElementBounding(paletteBadge)
|
30
|
+
const MAGIC_NUMBER = 12 // 8 (right-2) + 4 (just some offset)
|
31
|
+
|
32
|
+
const validatedDefaultValue = () => {
|
33
|
+
if (modelValue.value && HEX_REGEXP.test(modelValue.value)) return modelValue.value
|
34
|
+
|
35
|
+
if (props.defaultValue && HEX_REGEXP.test(props.defaultValue)) return props.defaultValue
|
36
|
+
|
37
|
+
return '#FFFFFF'
|
38
|
+
}
|
39
|
+
|
40
|
+
const writtenColor = ref<string>(validatedDefaultValue().substring(1))
|
41
|
+
const pickedColor = ref<string>(validatedDefaultValue())
|
42
|
+
|
43
|
+
watch(writtenColor, () => {
|
44
|
+
if (HEX_REGEXP_NO_POUND.test(writtenColor.value)) {
|
45
|
+
modelValue.value = `#${writtenColor.value}`
|
46
|
+
pickedColor.value = `#${writtenColor.value}`
|
47
|
+
}
|
48
|
+
})
|
49
|
+
|
50
|
+
watch(pickedColor, () => {
|
51
|
+
modelValue.value = pickedColor.value
|
52
|
+
writtenColor.value = pickedColor.value.substring(1)
|
53
|
+
})
|
54
|
+
</script>
|
55
|
+
|
56
|
+
<template>
|
57
|
+
<BuiPopover>
|
58
|
+
<BuiPopoverTrigger>
|
59
|
+
<div class="nowrap relative flex w-32 flex-row font-medium uppercase text-foreground">
|
60
|
+
<div
|
61
|
+
ref="paletteBadge"
|
62
|
+
:class="cn('absolute left-2 top-1.5 flex flex-row items-center gap-1', ui?.badgeClass)"
|
63
|
+
>
|
64
|
+
<PaletteIcon class="h-4 w-4 shrink-0" />
|
65
|
+
<div class="h-4 w-4 rounded" :style="{ backgroundColor: pickedColor }"></div>
|
66
|
+
<div class="font-bold text-foreground/[.56]">#</div>
|
67
|
+
</div>
|
68
|
+
<BuiInput
|
69
|
+
v-model="writtenColor"
|
70
|
+
:id="id"
|
71
|
+
:style="{ paddingLeft: width + MAGIC_NUMBER + 'px' }"
|
72
|
+
:disabled="disabled"
|
73
|
+
:class="ui?.inputClass"
|
74
|
+
/>
|
75
|
+
</div>
|
76
|
+
</BuiPopoverTrigger>
|
77
|
+
<BuiPopoverContent class="w-fit" align="start">
|
78
|
+
<BuiColorPicker
|
79
|
+
v-model="pickedColor"
|
80
|
+
format="hex"
|
81
|
+
:disabled="disabled"
|
82
|
+
:ui="{ selectorClass: 'ring-popover', trackClass: 'ring-popover' }"
|
83
|
+
/>
|
84
|
+
</BuiPopoverContent>
|
85
|
+
</BuiPopover>
|
86
|
+
</template>
|
@@ -3,6 +3,7 @@ import { cva } from 'class-variance-authority'
|
|
3
3
|
export { default as BuiInput } from './BuiInput.vue'
|
4
4
|
export { default as BuiPasswordInput } from './BuiPasswordInput.vue'
|
5
5
|
export { default as BuiBadgedInput } from './BuiBadgedInput.vue'
|
6
|
+
export { default as BuiColorInput } from './BuiColorInput.vue'
|
6
7
|
|
7
8
|
export const inputVariants = cva(
|
8
9
|
'flex h-8 w-full rounded bg-background border px-2 py-1 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-30 dark:disabled:opacity-55 read-only:opacity-30 dark:read-only:opacity-55 aria-[invalid=true]:border-destructive-foreground',
|
package/src/index.ts
CHANGED
@@ -40,6 +40,7 @@ export * from './components/ui/scroll-area/index'
|
|
40
40
|
export * from './components/ui/collapsible/index'
|
41
41
|
export * from './components/ui/auto-form/index'
|
42
42
|
export * from './components/ui/sheet/index'
|
43
|
+
export * from './components/ui/color-picker/index'
|
43
44
|
|
44
45
|
export * from './lib/utils'
|
45
46
|
export { default as tailwind } from './tailwind-preset'
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { type HSLObject } from 'colortranslator'
|
2
|
+
|
3
|
+
export const HEX_REGEXP = /^#(?:(?:[\da-f]{3}){1,2}|(?:[\da-f]{4}){1,2})$/i
|
4
|
+
export const HEX_REGEXP_NO_POUND = /^(?:(?:[\da-f]{3}){1,2}|(?:[\da-f]{4}){1,2})$/i
|
5
|
+
|
6
|
+
export type HSVColor = {
|
7
|
+
h: number
|
8
|
+
s: number
|
9
|
+
v: number
|
10
|
+
}
|
11
|
+
|
12
|
+
export function HSLtoHSV(hsl: HSLObject): HSVColor {
|
13
|
+
const x = hsl.S * (hsl.L < 50 ? hsl.L : 100 - hsl.L)
|
14
|
+
const v = hsl.L + x / 100
|
15
|
+
|
16
|
+
return {
|
17
|
+
h: hsl.H,
|
18
|
+
s: hsl.L === 0 ? hsl.S : (2 * x) / v,
|
19
|
+
v
|
20
|
+
}
|
21
|
+
}
|
22
|
+
|
23
|
+
export function HSVtoHSL(hsv: HSVColor): HSLObject {
|
24
|
+
const x = ((200 - hsv.s) * hsv.v) / 100
|
25
|
+
|
26
|
+
return {
|
27
|
+
H: hsv.h,
|
28
|
+
S: x === 0 || x === 200 ? 0 : Math.round((hsv.s * hsv.v) / (x <= 100 ? x : 200 - x)),
|
29
|
+
L: x / 2
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
export function normalizeHue(hue: number, dir: 'left' | 'right' = 'left'): number {
|
34
|
+
if (dir === 'right') {
|
35
|
+
return (hue * 100) / 360
|
36
|
+
}
|
37
|
+
|
38
|
+
return (hue / 100) * 360
|
39
|
+
}
|
40
|
+
|
41
|
+
export function normalizeBrightness(brightness: number): number {
|
42
|
+
return 100 - brightness
|
43
|
+
}
|