@feugene/granularity 0.10.0 → 0.12.0
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/README.md +44 -45
- package/dist/GrButtonGroup.css +1 -1
- package/dist/GrFormFile.css +1 -1
- package/dist/GrIcon.css +1 -1
- package/dist/GrLoading.css +1 -1
- package/dist/GrSkeleton.css +1 -1
- package/dist/GrToaster.css +1 -0
- package/dist/GrTree.css +1 -1
- package/dist/chunks/{adapter-BqqjEZGU.js.map → adapter-CAOxmn2G.js.map} +1 -1
- package/dist/chunks/arrow-up-C_G4jg8M.js.map +1 -0
- package/dist/chunks/{classTokens-BPeBXNzu.js.map → classTokens-BzazaERD.js.map} +1 -1
- package/dist/chunks/{config-A-iei0Ux.js → config-1uSYl98Y2.js} +5 -5
- package/dist/chunks/config-1uSYl98Y2.js.map +1 -0
- package/dist/chunks/{config-DZrlovR42.js.map → config-8Pcutu1j2.js.map} +1 -1
- package/dist/chunks/{config-VJuoznpH.js.map → config-B0qIpo8m.js.map} +1 -1
- package/dist/chunks/{config-C8MM2Dg0.js → config-B7IIWGt_2.js} +3 -3
- package/dist/chunks/config-B7IIWGt_2.js.map +1 -0
- package/dist/chunks/{config-DbghHyY_.js.map → config-BEegFP74.js.map} +1 -1
- package/dist/chunks/{config-D_Pafsjq2.js → config-BIRO0vDJ.js} +6 -6
- package/dist/chunks/config-BIRO0vDJ.js.map +1 -0
- package/dist/chunks/{config-BeBsN0c12.js.map → config-BLHqZhy-2.js.map} +1 -1
- package/dist/chunks/{config-BV4vBzdm.js.map → config-BNu8lFQB.js.map} +1 -1
- package/dist/chunks/config-BOlr7qw7.js +106 -0
- package/dist/chunks/config-BOlr7qw7.js.map +1 -0
- package/dist/chunks/{config-DhQc1TRY.js.map → config-BUHuGBik.js.map} +1 -1
- package/dist/chunks/{config-CPSdAjUi.js.map → config-BWGGp7uV.js.map} +1 -1
- package/dist/chunks/config-BWiPnygb.js +5 -0
- package/dist/chunks/config-BWiPnygb.js.map +1 -0
- package/dist/chunks/config-BX1JTrkV2.js +14 -0
- package/dist/chunks/config-BX1JTrkV2.js.map +1 -0
- package/dist/chunks/config-BXtAmU3s2.js.map +1 -0
- package/dist/chunks/{config-CzgNEHKi.js.map → config-Bah4oHwL.js.map} +1 -1
- package/dist/chunks/{config-C_egzT_K.js → config-C49QUoJL.js} +3 -3
- package/dist/chunks/{config-C_egzT_K.js.map → config-C49QUoJL.js.map} +1 -1
- package/dist/chunks/{config-3I3vqDW4.js → config-C4snOIXg.js} +1 -1
- package/dist/chunks/{config-3I3vqDW4.js.map → config-C4snOIXg.js.map} +1 -1
- package/dist/chunks/{config-DvDNney3.js → config-C7NpDrfO.js} +5 -5
- package/dist/chunks/{config-DvDNney3.js.map → config-C7NpDrfO.js.map} +1 -1
- package/dist/chunks/{config-lMDE_8A5.js.map → config-C86UzUYf.js.map} +1 -1
- package/dist/chunks/{config-BgBWt9-A.js.map → config-C9AcVDkv.js.map} +1 -1
- package/dist/chunks/config-CGHLoBlH.js.map +1 -0
- package/dist/chunks/{config-ChQxl75m.js.map → config-CThzliFi.js.map} +1 -1
- package/dist/chunks/{config-DDwBSoc_.js.map → config-Cb2PAlSD.js.map} +1 -1
- package/dist/chunks/{config-XspHtPsU.js → config-ClhKPJvg.js} +5 -5
- package/dist/chunks/{config-XspHtPsU.js.map → config-ClhKPJvg.js.map} +1 -1
- package/dist/chunks/{config-58Mj2rGH.js → config-Cpi9Mh2J.js} +3 -3
- package/dist/chunks/{config-58Mj2rGH.js.map → config-Cpi9Mh2J.js.map} +1 -1
- package/dist/chunks/{config-nrOj9p6I.js → config-CrG1XiE72.js} +4 -4
- package/dist/chunks/config-CrG1XiE72.js.map +1 -0
- package/dist/chunks/{config-DRpkoSvq.js → config-CziwTDDL.js} +3 -3
- package/dist/chunks/{config-DRpkoSvq.js.map → config-CziwTDDL.js.map} +1 -1
- package/dist/chunks/{config-C5-ujXCI.js.map → config-D7GZO-Dx.js.map} +1 -1
- package/dist/chunks/{config-CUwF4E4R.js.map → config-DBmdgoVf.js.map} +1 -1
- package/dist/chunks/{config-C9MblwGq.js.map → config-DICOd-2X.js.map} +1 -1
- package/dist/chunks/{config-C6zT56Jc2.js → config-DUcu1D682.js} +3 -3
- package/dist/chunks/{config-C6zT56Jc2.js.map → config-DUcu1D682.js.map} +1 -1
- package/dist/chunks/{config-8f8624RN.js → config-D_R56_gT.js} +5 -5
- package/dist/chunks/{config-8f8624RN.js.map → config-D_R56_gT.js.map} +1 -1
- package/dist/chunks/{config-RjfJFv1Y.js → config-DezDih8_.js} +4 -4
- package/dist/chunks/config-DezDih8_.js.map +1 -0
- package/dist/chunks/config-Dlm49Jp5.js +5 -0
- package/dist/chunks/config-Dlm49Jp5.js.map +1 -0
- package/dist/chunks/{config-B0uUCaJW.js → config-DnvPqu4g2.js} +3 -3
- package/dist/chunks/config-DnvPqu4g2.js.map +1 -0
- package/dist/chunks/config-DpqOnJiz.js.map +1 -0
- package/dist/chunks/{config-V3LF-b_F.js.map → config-Dxuwwepq.js.map} +1 -1
- package/dist/chunks/{config-Doa_gU40.js.map → config-HZto2PVy.js.map} +1 -1
- package/dist/chunks/{config-Dl5aZ5VR.js.map → config-JOtB4mzs.js.map} +1 -1
- package/dist/chunks/config-JpHA4Xx02.js.map +1 -0
- package/dist/chunks/{config-DkeLkzxj2.js → config-LGrZIdaZ.js} +1 -1
- package/dist/chunks/config-LGrZIdaZ.js.map +1 -0
- package/dist/chunks/{config-B3dn-gdC.js.map → config-PFg39mYo.js.map} +1 -1
- package/dist/chunks/{config-CU_CBd0k.js → config-QYGvEBu5.js} +2 -2
- package/dist/chunks/{config-CU_CBd0k.js.map → config-QYGvEBu5.js.map} +1 -1
- package/dist/chunks/{config-Bh4NWWsQ.js.map → config-QaIc_gRa.js.map} +1 -1
- package/dist/chunks/{config-vcDVCYXo.js.map → config-U4m9PSql.js.map} +1 -1
- package/dist/chunks/{config-C_q_4FrU.js.map → config-ZiXWIRBX.js.map} +1 -1
- package/dist/chunks/config-eXB87DOi2.js +9 -0
- package/dist/chunks/config-eXB87DOi2.js.map +1 -0
- package/dist/chunks/{config-hSlCXHoG.js → config-eYLZYOUS2.js} +63 -63
- package/dist/chunks/config-eYLZYOUS2.js.map +1 -0
- package/dist/chunks/{config-DDUPnue12.js.map → config-ipvU0lzP2.js.map} +1 -1
- package/dist/chunks/{config-B61cX08u.js → config-jBp9wVv-.js} +4 -4
- package/dist/chunks/{config-B61cX08u.js.map → config-jBp9wVv-.js.map} +1 -1
- package/dist/chunks/{config-D5ek7VSi.js.map → config-xR4XVmcy.js.map} +1 -1
- package/dist/chunks/context-DdNIxa1w.js +9 -0
- package/dist/chunks/context-DdNIxa1w.js.map +1 -0
- package/dist/chunks/{dialogShared-BtXUk6Zc.js.map → dialogShared-CxW62PQE.js.map} +1 -1
- package/dist/chunks/en-CfkDa4GX.js +144 -0
- package/dist/chunks/en-CfkDa4GX.js.map +1 -0
- package/dist/chunks/{es-CISK11Nv.js → es-CgaLnFYx.js} +3 -3
- package/dist/chunks/{es-CISK11Nv.js.map → es-CgaLnFYx.js.map} +1 -1
- package/dist/chunks/es-FkgECuCm.js +144 -0
- package/dist/chunks/es-FkgECuCm.js.map +1 -0
- package/dist/chunks/{fileValidation-c_iBg74s.js → fileValidation-C3WFaWU2.js} +2 -1
- package/dist/chunks/{fileValidation-c_iBg74s.js.map → fileValidation-C3WFaWU2.js.map} +1 -1
- package/dist/chunks/{grBadgeStyles-Cq0hH2Ls.js → grBadgeStyles-DrycBuKT.js} +13 -13
- package/dist/chunks/grBadgeStyles-DrycBuKT.js.map +1 -0
- package/dist/chunks/grButtonStyles-C7Yga_Q1.js +191 -0
- package/dist/chunks/grButtonStyles-C7Yga_Q1.js.map +1 -0
- package/dist/chunks/{grDropdownStyles-Bqx9hOzU.js → grDropdownStyles-B_-DKytw.js} +2 -2
- package/dist/chunks/{grDropdownStyles-Bqx9hOzU.js.map → grDropdownStyles-B_-DKytw.js.map} +1 -1
- package/dist/chunks/{grLoadingStyles-DmI-SJ3i.js.map → grLoadingStyles-R5sreH__.js.map} +1 -1
- package/dist/chunks/grModalEscStack-BXk-9mv7.js +43 -0
- package/dist/chunks/grModalEscStack-BXk-9mv7.js.map +1 -0
- package/dist/chunks/{grModalStyles-FgaKqx50.js → grModalStyles-DWd3i05Q.js} +6 -6
- package/dist/chunks/{grModalStyles-FgaKqx50.js.map → grModalStyles-DWd3i05Q.js.map} +1 -1
- package/dist/chunks/{grSelectStyles-AjWWl007.js → grSelectStyles-CLK5hRd3.js} +3 -3
- package/dist/chunks/grSelectStyles-CLK5hRd3.js.map +1 -0
- package/dist/chunks/{grStyle-D-gPHdyW.js → grStyle-Blc9otAx.js} +6 -6
- package/dist/chunks/grStyle-Blc9otAx.js.map +1 -0
- package/dist/chunks/{granularityI18n-D_7jowK2.js → granularityI18n-DoV7Ca2m.js} +1 -1
- package/dist/chunks/{granularityI18n-D_7jowK2.js.map → granularityI18n-DoV7Ca2m.js.map} +1 -1
- package/dist/chunks/info-Be2OccTu.js.map +1 -0
- package/dist/chunks/loader-circle-CfVLz7lb.js.map +1 -0
- package/dist/chunks/ru-Bl8CxpEa.js +144 -0
- package/dist/chunks/ru-Bl8CxpEa.js.map +1 -0
- package/dist/chunks/{safelist-_UVzJrgE2.js → safelist-CkF4v7DC.js} +3 -3
- package/dist/chunks/safelist-CkF4v7DC.js.map +1 -0
- package/dist/chunks/{safelist-DccvJqCE.js → safelist-Do2RtzLB.js} +3 -3
- package/dist/chunks/{safelist-DccvJqCE.js.map → safelist-Do2RtzLB.js.map} +1 -1
- package/dist/chunks/shared-B6Ay2081.js +174 -0
- package/dist/chunks/shared-B6Ay2081.js.map +1 -0
- package/dist/chunks/useAddonMeasurement-DM0akF4C.js +65 -0
- package/dist/chunks/useAddonMeasurement-DM0akF4C.js.map +1 -0
- package/dist/chunks/useEscapeToClose-C2t_S1gh.js +27 -0
- package/dist/chunks/useEscapeToClose-C2t_S1gh.js.map +1 -0
- package/dist/chunks/{useFloating-CLtbU7eD.js → useFloating-DtM6TyE4.js} +19 -4
- package/dist/chunks/{useFloating-CLtbU7eD.js.map → useFloating-DtM6TyE4.js.map} +1 -1
- package/dist/chunks/{transition-mJ3PZCHH.js → useScrollLock-K7kaP2Ud.js} +78 -13
- package/dist/chunks/useScrollLock-K7kaP2Ud.js.map +1 -0
- package/dist/chunks/x-2KXnqxiD.js.map +1 -0
- package/dist/chunks/x-circle-BCBURwyX.js.map +1 -0
- package/dist/components/GrAlert/chunks/{GrAlert-HyCjYJeL.js → GrAlert-DPJSU_fG.js} +40 -37
- package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js.map +1 -0
- package/dist/components/GrAlert/index.js +2 -2
- package/dist/components/GrAvatar/chunks/{GrAvatar-BjnPKNAL.js → GrAvatar-96CpTCq5.js} +2 -2
- package/dist/components/GrAvatar/chunks/{GrAvatar-BjnPKNAL.js.map → GrAvatar-96CpTCq5.js.map} +1 -1
- package/dist/components/GrAvatar/index.js +2 -2
- package/dist/components/GrBadge/chunks/{GrBadge-Cs_cVfuO.js → GrBadge-B77XlaqE.js} +3 -3
- package/dist/components/GrBadge/chunks/{GrBadge-Cs_cVfuO.js.map → GrBadge-B77XlaqE.js.map} +1 -1
- package/dist/components/GrBadge/index.js +2 -2
- package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-BEnE9DyJ.js → GrBadgeWrap-CcktMOdg.js} +2 -2
- package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-BEnE9DyJ.js.map → GrBadgeWrap-CcktMOdg.js.map} +1 -1
- package/dist/components/GrBadgeWrap/index.js +2 -2
- package/dist/components/GrBottomNav/chunks/{GrBottomNav-XPHwd7UQ.js.map → GrBottomNav-usuMgG8_.js.map} +1 -1
- package/dist/components/GrBottomNav/index.js +2 -2
- package/dist/components/GrButton/chunks/GrButton-BlffdeJr.js +124 -0
- package/dist/components/GrButton/chunks/GrButton-BlffdeJr.js.map +1 -0
- package/dist/components/GrButton/index.js +4 -4
- package/dist/components/GrButtonGroup/chunks/{GrButtonGroup-CPOH6V-P.js → GrButtonGroup-Bs9dEKfA.js} +1 -1
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-Bs9dEKfA.js.map +1 -0
- package/dist/components/GrButtonGroup/index.js +2 -2
- package/dist/components/GrCard/chunks/{GrCard-6yk1RRAQ.js → GrCard-DUNMkuHW.js} +3 -3
- package/dist/components/GrCard/chunks/GrCard-DUNMkuHW.js.map +1 -0
- package/dist/components/GrCard/index.js +2 -2
- package/dist/components/GrCheckbox/chunks/{GrCheckbox-Bt3d7ckE.js → GrCheckbox-DJhzZZdO.js} +66 -18
- package/dist/components/GrCheckbox/chunks/GrCheckbox-DJhzZZdO.js.map +1 -0
- package/dist/components/GrCheckbox/index.js +2 -2
- package/dist/components/GrCollapse/chunks/{GrCollapse-CU94BTAR.js → GrCollapse-CPPLh_xU.js} +12 -12
- package/dist/components/GrCollapse/chunks/{GrCollapse-CU94BTAR.js.map → GrCollapse-CPPLh_xU.js.map} +1 -1
- package/dist/components/GrCollapse/index.js +2 -2
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-Bi2KLumL.js → GrConfirmDialog-D8CkOtqv.js} +20 -14
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-D8CkOtqv.js.map +1 -0
- package/dist/components/GrConfirmDialog/index.js +2 -2
- package/dist/components/GrDataTable/chunks/{GrDataTable-ClcYiyc8.js → GrDataTable-Ds5OeGat.js} +49 -23
- package/dist/components/GrDataTable/chunks/GrDataTable-Ds5OeGat.js.map +1 -0
- package/dist/components/GrDataTable/index.js +2 -2
- package/dist/components/GrDialog/chunks/{GrDialog-CxK4Lj4F.js → GrDialog-Ctucxju9.js} +14 -12
- package/dist/components/GrDialog/chunks/GrDialog-Ctucxju9.js.map +1 -0
- package/dist/components/GrDialog/index.js +3 -3
- package/dist/components/GrDialogService/chunks/GrDialogService-CU1Fbonc.js +425 -0
- package/dist/components/GrDialogService/chunks/GrDialogService-CU1Fbonc.js.map +1 -0
- package/dist/components/GrDialogService/index.js +3 -0
- package/dist/components/GrDivider/chunks/GrDivider-5bcE-BB4.js +54 -0
- package/dist/components/GrDivider/chunks/GrDivider-5bcE-BB4.js.map +1 -0
- package/dist/components/GrDivider/index.js +3 -0
- package/dist/components/GrDrawer/chunks/{GrDrawer-BW3wtI7h.js → GrDrawer-SLGKCY2A.js} +54 -26
- package/dist/components/GrDrawer/chunks/GrDrawer-SLGKCY2A.js.map +1 -0
- package/dist/components/GrDrawer/index.js +2 -2
- package/dist/components/GrDropdown/chunks/GrDropdown-BnDMYP8v.js +181 -0
- package/dist/components/GrDropdown/chunks/GrDropdown-BnDMYP8v.js.map +1 -0
- package/dist/components/GrDropdown/index.js +2 -2
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-CJom_-c2.js → GrDropdownMenu--g9Vofcq.js} +10 -10
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-CJom_-c2.js.map → GrDropdownMenu--g9Vofcq.js.map} +1 -1
- package/dist/components/GrDropdownMenu/index.js +2 -2
- package/dist/components/GrEmptyState/chunks/{GrEmptyState-yOuZW7-t.js → GrEmptyState-CA3BiTV7.js} +3 -3
- package/dist/components/GrEmptyState/chunks/{GrEmptyState-yOuZW7-t.js.map → GrEmptyState-CA3BiTV7.js.map} +1 -1
- package/dist/components/GrEmptyState/index.js +2 -2
- package/dist/components/GrFileUpload/chunks/{GrFileUpload-CBKK3dgC.js → GrFileUpload-DvWPpiJS.js} +26 -23
- package/dist/components/GrFileUpload/chunks/GrFileUpload-DvWPpiJS.js.map +1 -0
- package/dist/components/GrFileUpload/index.js +3 -3
- package/dist/components/GrFormField/chunks/GrFormField-DnfMHx_U.js +73 -0
- package/dist/components/GrFormField/chunks/GrFormField-DnfMHx_U.js.map +1 -0
- package/dist/components/GrFormField/index.js +4 -3
- package/dist/components/GrFormFile/chunks/{GrFormFile-CkR6cYqf.js → GrFormFile-CXcqqdvV.js} +38 -31
- package/dist/components/GrFormFile/chunks/GrFormFile-CXcqqdvV.js.map +1 -0
- package/dist/components/GrFormFile/index.js +2 -2
- package/dist/components/GrFormSection/chunks/{GrFormSection-dbyzqxYk.js → GrFormSection-Ce21jcgo.js} +1 -1
- package/dist/components/GrFormSection/chunks/{GrFormSection-dbyzqxYk.js.map → GrFormSection-Ce21jcgo.js.map} +1 -1
- package/dist/components/GrFormSection/index.js +2 -2
- package/dist/components/GrIcon/chunks/{GrIcon-BV7RBU_0.js → GrIcon-D9AWQLk2.js} +3 -3
- package/dist/components/GrIcon/chunks/{GrIcon-BV7RBU_0.js.map → GrIcon-D9AWQLk2.js.map} +1 -1
- package/dist/components/GrIcon/index.js +2 -2
- package/dist/components/GrImageViewer/chunks/GrImageViewer-Dla9IBkd.js +650 -0
- package/dist/components/GrImageViewer/chunks/GrImageViewer-Dla9IBkd.js.map +1 -0
- package/dist/components/GrImageViewer/index.js +2 -2
- package/dist/components/GrInput/chunks/GrInput-B8dd3JaA.js +334 -0
- package/dist/components/GrInput/chunks/GrInput-B8dd3JaA.js.map +1 -0
- package/dist/components/GrInput/index.js +2 -2
- package/dist/components/GrInputTag/chunks/{GrInputTag-g-KdUI_Z.js → GrInputTag-zMgFqp2g.js} +27 -24
- package/dist/components/GrInputTag/chunks/GrInputTag-zMgFqp2g.js.map +1 -0
- package/dist/components/GrInputTag/index.js +2 -2
- package/dist/components/GrKbd/chunks/GrKbd-BEoYxWhE.js +22 -0
- package/dist/components/GrKbd/chunks/GrKbd-BEoYxWhE.js.map +1 -0
- package/dist/components/GrKbd/index.js +3 -0
- package/dist/components/GrLink/chunks/{GrLink-KSTmk9Yq.js → GrLink-CYUe-Q8k.js} +14 -7
- package/dist/components/GrLink/chunks/GrLink-CYUe-Q8k.js.map +1 -0
- package/dist/components/GrLink/index.js +2 -2
- package/dist/components/GrList/chunks/{GrList-CUW2sRm_.js → GrList-Dx772Ns4.js} +1 -1
- package/dist/components/GrList/chunks/{GrList-CUW2sRm_.js.map → GrList-Dx772Ns4.js.map} +1 -1
- package/dist/components/GrList/index.js +2 -2
- package/dist/components/GrLoading/chunks/{GrLoading-mfyfghxs.js → GrLoading--X_7rdbb.js} +7 -7
- package/dist/components/GrLoading/chunks/{GrLoading-mfyfghxs.js.map → GrLoading--X_7rdbb.js.map} +1 -1
- package/dist/components/GrLoading/index.js +2 -2
- package/dist/components/GrModal/chunks/{GrModal-CSOL3fHQ.js → GrModal-C0GZrHN3.js} +9 -62
- package/dist/components/GrModal/chunks/GrModal-C0GZrHN3.js.map +1 -0
- package/dist/components/GrModal/index.js +3 -3
- package/dist/components/GrNavbar/chunks/{GrNavbar-CHxwtFIR.js → GrNavbar-DW3MiIIf.js} +6 -6
- package/dist/components/GrNavbar/chunks/{GrNavbar-CHxwtFIR.js.map → GrNavbar-DW3MiIIf.js.map} +1 -1
- package/dist/components/GrNavbar/index.js +2 -2
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-ClPBwkxx.js → GrNumberInput-DxCEvL7V.js} +144 -72
- package/dist/components/GrNumberInput/chunks/GrNumberInput-DxCEvL7V.js.map +1 -0
- package/dist/components/GrNumberInput/index.js +2 -2
- package/dist/components/GrPagination/chunks/{GrPagination-D2GS0ShQ.js → GrPagination-mlyfLjQY.js} +76 -25
- package/dist/components/GrPagination/chunks/GrPagination-mlyfLjQY.js.map +1 -0
- package/dist/components/GrPagination/index.js +2 -2
- package/dist/components/GrProgressBar/chunks/{GrProgressBar-BBSFpVEq.js → GrProgressBar-CC3z-Zqp.js} +3 -3
- package/dist/components/GrProgressBar/chunks/{GrProgressBar-BBSFpVEq.js.map → GrProgressBar-CC3z-Zqp.js.map} +1 -1
- package/dist/components/GrProgressBar/index.js +2 -2
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-D_TFqKsF.js → GrPromptDialog-C-_BMNuY.js} +31 -23
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-C-_BMNuY.js.map +1 -0
- package/dist/components/GrPromptDialog/index.js +2 -2
- package/dist/components/GrRadio/chunks/{GrRadio-CSbTnrom.js → GrRadio-Dr-pvs_9.js} +6 -6
- package/dist/components/GrRadio/chunks/{GrRadio-CSbTnrom.js.map → GrRadio-Dr-pvs_9.js.map} +1 -1
- package/dist/components/GrRadio/index.js +2 -2
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-DsrnTygR.js → GrRadioGroup-nOdvfV_g.js} +3 -3
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-DsrnTygR.js.map → GrRadioGroup-nOdvfV_g.js.map} +1 -1
- package/dist/components/GrRadioGroup/index.js +2 -2
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-K1uZ1mYD.js → GrResponseErrorBanner-BWJNe2gr.js} +21 -18
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-BWJNe2gr.js.map +1 -0
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-bM8FC_Bw.js → GrResponseErrorBanner-Cdu9ekK9.js} +5 -5
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-bM8FC_Bw.js.map → GrResponseErrorBanner-Cdu9ekK9.js.map} +1 -1
- package/dist/components/GrResponseErrorBanner/index.js +2 -2
- package/dist/components/GrSegmented/chunks/{GrSegmented-DpZGs4VX.js → GrSegmented-C1y0UXpQ.js} +5 -5
- package/dist/components/GrSegmented/chunks/{GrSegmented-DpZGs4VX.js.map → GrSegmented-C1y0UXpQ.js.map} +1 -1
- package/dist/components/GrSegmented/index.js +2 -2
- package/dist/components/GrSelect/chunks/{GrSelect-DSz7jvUb.js → GrSelect-BVCmitqa.js} +227 -87
- package/dist/components/GrSelect/chunks/GrSelect-BVCmitqa.js.map +1 -0
- package/dist/components/GrSelect/index.js +2 -2
- package/dist/components/GrSidebar/chunks/GrSidebar-DkWozzwA.js +238 -0
- package/dist/components/GrSidebar/chunks/GrSidebar-DkWozzwA.js.map +1 -0
- package/dist/components/GrSidebar/index.js +3 -3
- package/dist/components/GrSkeleton/chunks/{GrSkeleton-B05K0QKh.js → GrSkeleton-DsN-_CDZ.js} +1 -1
- package/dist/components/GrSkeleton/chunks/{GrSkeleton-B05K0QKh.js.map → GrSkeleton-DsN-_CDZ.js.map} +1 -1
- package/dist/components/GrSkeleton/index.js +2 -2
- package/dist/components/GrSwitch/chunks/{GrSwitch-CSRtcN5-.js → GrSwitch-DAioyccZ.js} +10 -10
- package/dist/components/GrSwitch/chunks/{GrSwitch-CSRtcN5-.js.map → GrSwitch-DAioyccZ.js.map} +1 -1
- package/dist/components/GrSwitch/index.js +2 -2
- package/dist/components/GrTabPanels/chunks/GrTabPanels-DbKybwe-.js +68 -0
- package/dist/components/GrTabPanels/chunks/GrTabPanels-DbKybwe-.js.map +1 -0
- package/dist/components/GrTabPanels/index.js +3 -0
- package/dist/components/GrTable/chunks/{GrTable-dTWUxzRm.js → GrTable-Db3hRnKA.js} +3 -3
- package/dist/components/GrTable/chunks/{GrTable-dTWUxzRm.js.map → GrTable-Db3hRnKA.js.map} +1 -1
- package/dist/components/GrTable/index.js +2 -2
- package/dist/components/GrTabs/chunks/{GrTabs-BfeVNMFJ.js → GrTabs-DsLwWoRz.js} +9 -4
- package/dist/components/GrTabs/chunks/GrTabs-DsLwWoRz.js.map +1 -0
- package/dist/components/GrTabs/index.js +2 -2
- package/dist/components/GrTextarea/chunks/{GrTextarea-CBBzpF2S.js → GrTextarea-CKukGlNl.js} +17 -7
- package/dist/components/GrTextarea/chunks/GrTextarea-CKukGlNl.js.map +1 -0
- package/dist/components/GrTextarea/index.js +2 -2
- package/dist/components/GrToaster/chunks/GrToaster-L2cu6cSR.js +189 -0
- package/dist/components/GrToaster/chunks/GrToaster-L2cu6cSR.js.map +1 -0
- package/dist/components/GrToaster/index.js +2 -2
- package/dist/components/GrTooltip/chunks/{GrTooltip-BC-40SA5.js → GrTooltip-BeyZ8ssR.js} +10 -10
- package/dist/components/GrTooltip/chunks/{GrTooltip-BC-40SA5.js.map → GrTooltip-BeyZ8ssR.js.map} +1 -1
- package/dist/components/GrTooltip/index.js +2 -2
- package/dist/components/GrTree/chunks/{GrTree-uZr5SyQI.js → GrTree-B2_yW6g1.js} +145 -41
- package/dist/components/GrTree/chunks/GrTree-B2_yW6g1.js.map +1 -0
- package/dist/components/GrTree/index.js +2 -2
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-CytivcCa.js → GrTreeSelect-0aM62xyu.js} +16 -16
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-CytivcCa.js.map → GrTreeSelect-0aM62xyu.js.map} +1 -1
- package/dist/components/GrTreeSelect/index.js +2 -2
- package/dist/composables/useTheme.js +48 -8
- package/dist/composables/useTheme.js.map +1 -1
- package/dist/composables/useToast.js +88 -26
- package/dist/composables/useToast.js.map +1 -1
- package/dist/directives/autofocus.js.map +1 -1
- package/dist/directives/autosize.js.map +1 -1
- package/dist/directives/clickOutside.js.map +1 -1
- package/dist/directives/dropzone.js +6 -5
- package/dist/directives/dropzone.js.map +1 -1
- package/dist/directives/hotkey.js +24 -7
- package/dist/directives/hotkey.js.map +1 -1
- package/dist/directives/loading.js +2 -2
- package/dist/directives/loading.js.map +1 -1
- package/dist/fileValidation/index.js +1 -1
- package/dist/granular-provider-node.js +7 -7
- package/dist/granular-provider-node.js.map +1 -1
- package/dist/granular-provider.js +1 -1
- package/dist/granular-provider.js.map +1 -1
- package/dist/i18n/all.js +1 -1
- package/dist/i18n/all.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/index.js +116 -534
- package/dist/index.js.map +1 -1
- package/dist/styles/base.css +54 -0
- package/dist/styles/index.css +15 -0
- package/dist/styles/preflight.css +33 -0
- package/dist/styles/themes/dark.css +107 -0
- package/dist/styles/themes/light.css +98 -0
- package/dist/styles/tokens.css +135 -0
- package/dist/types/src/components/GrButton/GrButton.vue.d.ts +25 -2
- package/dist/types/src/components/GrCheckbox/GrCheckbox.vue.d.ts +7 -2
- package/dist/types/src/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +8 -8
- package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +29 -5
- package/dist/types/src/components/GrDialog/GrDialog.vue.d.ts +2 -2
- package/dist/types/src/components/GrDialog/GrDialogHeader.vue.d.ts +2 -2
- package/dist/types/src/components/GrDivider/GrDivider.vue.d.ts +58 -0
- package/dist/types/src/components/GrDivider/config.d.ts +1 -0
- package/dist/types/src/components/GrDivider/index.d.ts +4 -0
- package/dist/types/src/components/GrDrawer/GrDrawer.vue.d.ts +6 -6
- package/dist/types/src/components/GrDropdown/GrDropdown.vue.d.ts +7 -0
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +6 -0
- package/dist/types/src/components/GrFileUpload/GrFileUpload.vue.d.ts +4 -4
- package/dist/types/src/components/GrFormField/GrFormField.vue.d.ts +15 -2
- package/dist/types/src/components/GrFormField/context.d.ts +20 -0
- package/dist/types/src/components/GrFormField/index.d.ts +1 -0
- package/dist/types/src/components/GrFormFile/GrFormFile.vue.d.ts +11 -11
- package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +22 -18
- package/dist/types/src/components/GrImageViewer/composables/useViewerKeyboard.d.ts +20 -0
- package/dist/types/src/components/GrImageViewer/composables/useWheelGesture.d.ts +16 -0
- package/dist/types/src/components/GrImageViewer/composables/useZoomPan.d.ts +50 -0
- package/dist/types/src/components/GrInput/GrInput.vue.d.ts +55 -2
- package/dist/types/src/components/GrInput/grInputStyles.d.ts +3 -3
- package/dist/types/src/components/GrInputTag/GrInputTag.vue.d.ts +2 -2
- package/dist/types/src/components/GrKbd/GrKbd.vue.d.ts +46 -0
- package/dist/types/src/components/GrKbd/config.d.ts +1 -0
- package/dist/types/src/components/GrKbd/index.d.ts +4 -0
- package/dist/types/src/components/GrLink/GrLink.vue.d.ts +12 -6
- package/dist/types/src/components/GrLink/grLinkStyles.d.ts +31 -3
- package/dist/types/src/components/GrLink/index.d.ts +1 -1
- package/dist/types/src/components/GrLoading/GrLoading.vue.d.ts +1 -1
- package/dist/types/src/components/GrModal/grModalStyles.d.ts +1 -1
- package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +33 -4
- package/dist/types/src/components/GrPagination/GrPagination.vue.d.ts +13 -1
- package/dist/types/src/components/GrPromptDialog/GrPromptDialog.vue.d.ts +12 -12
- package/dist/types/src/components/GrSegmented/GrSegmented.vue.d.ts +1 -1
- package/dist/types/src/components/GrSegmented/grSegmentedStyles.d.ts +5 -5
- package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +3 -3
- package/dist/types/src/components/GrSelect/grSelectStyles.d.ts +2 -1
- package/dist/types/src/components/GrSidebar/GrSidebar.vue.d.ts +33 -10
- package/dist/types/src/components/GrSidebar/GrSidebarItem.vue.d.ts +64 -0
- package/dist/types/src/components/GrSidebar/index.d.ts +1 -0
- package/dist/types/src/components/GrSidebar/sidebarContext.d.ts +9 -0
- package/dist/types/src/components/GrSwitch/GrSwitch.vue.d.ts +1 -1
- package/dist/types/src/components/GrSwitch/grSwitchStyles.d.ts +2 -2
- package/dist/types/src/components/GrTabPanels/GrTabPanel.vue.d.ts +46 -0
- package/dist/types/src/components/GrTabPanels/GrTabPanels.vue.d.ts +51 -0
- package/dist/types/src/components/GrTabPanels/config.d.ts +5 -0
- package/dist/types/src/components/GrTabPanels/context.d.ts +9 -0
- package/dist/types/src/components/GrTabPanels/index.d.ts +6 -0
- package/dist/types/src/components/GrTabs/GrTabs.vue.d.ts +6 -0
- package/dist/types/src/components/GrToaster/GrToaster.vue.d.ts +9 -4
- package/dist/types/src/components/GrTree/GrTree.vue.d.ts +1 -1
- package/dist/types/src/components/GrTree/grTreeInteractionContext.d.ts +2 -0
- package/dist/types/src/components/GrTreeSelect/GrTreeSelect.vue.d.ts +2 -2
- package/dist/types/src/components/GrTreeSelect/grTreeSelectStyles.d.ts +1 -1
- package/dist/types/src/components/GrTreeSelect/grTreeSelectTypes.d.ts +1 -1
- package/dist/types/src/composables/internal/useAddonMeasurement.d.ts +18 -0
- package/dist/types/src/composables/internal/useEscapeToClose.d.ts +11 -0
- package/dist/types/src/composables/internal/useScrollLock.d.ts +24 -0
- package/dist/types/src/composables/useTheme.d.ts +5 -2
- package/dist/types/src/composables/useToast.d.ts +33 -1
- package/dist/types/src/directives/hotkey.d.ts +14 -0
- package/dist/types/src/granular-provider/shared.d.ts +4 -3
- package/dist/types/src/i18n/messages/en.d.ts +130 -0
- package/dist/types/src/i18n/messages/es.d.ts +130 -0
- package/dist/types/src/i18n/messages/ru.d.ts +130 -0
- package/dist/types/src/index.d.ts +5 -2
- package/dist/vue/index.js.map +1 -1
- package/dist/web-types.json +4922 -0
- package/package.json +38 -20
- package/dist/chunks/arrow-up-DZdIrpaF.js.map +0 -1
- package/dist/chunks/config-A-iei0Ux.js.map +0 -1
- package/dist/chunks/config-B0uUCaJW.js.map +0 -1
- package/dist/chunks/config-BLa1TEGm2.js.map +0 -1
- package/dist/chunks/config-BduXEXjt.js.map +0 -1
- package/dist/chunks/config-BuoIngj32.js.map +0 -1
- package/dist/chunks/config-C8MM2Dg0.js.map +0 -1
- package/dist/chunks/config-CWTfyPNI.js.map +0 -1
- package/dist/chunks/config-D_Pafsjq2.js.map +0 -1
- package/dist/chunks/config-DkeLkzxj2.js.map +0 -1
- package/dist/chunks/config-NkbzVFZo.js +0 -59
- package/dist/chunks/config-NkbzVFZo.js.map +0 -1
- package/dist/chunks/config-RjfJFv1Y.js.map +0 -1
- package/dist/chunks/config-hSlCXHoG.js.map +0 -1
- package/dist/chunks/config-nrOj9p6I.js.map +0 -1
- package/dist/chunks/en-B_fSdoTi.js +0 -72
- package/dist/chunks/en-B_fSdoTi.js.map +0 -1
- package/dist/chunks/es-DKP6fLir.js +0 -72
- package/dist/chunks/es-DKP6fLir.js.map +0 -1
- package/dist/chunks/grBadgeStyles-Cq0hH2Ls.js.map +0 -1
- package/dist/chunks/grButtonStyles-DKuXUemw.js +0 -191
- package/dist/chunks/grButtonStyles-DKuXUemw.js.map +0 -1
- package/dist/chunks/grSelectStyles-AjWWl007.js.map +0 -1
- package/dist/chunks/grStyle-D-gPHdyW.js.map +0 -1
- package/dist/chunks/info-C0bHmdZq.js.map +0 -1
- package/dist/chunks/loader-circle-BUntgosj.js.map +0 -1
- package/dist/chunks/ru-S6VlnurJ.js +0 -72
- package/dist/chunks/ru-S6VlnurJ.js.map +0 -1
- package/dist/chunks/safelist-_UVzJrgE2.js.map +0 -1
- package/dist/chunks/shared-DpjTvFno.js +0 -169
- package/dist/chunks/shared-DpjTvFno.js.map +0 -1
- package/dist/chunks/transition-mJ3PZCHH.js.map +0 -1
- package/dist/chunks/x-Pa6C2hwi.js.map +0 -1
- package/dist/chunks/x-circle-DQSlBLmX.js.map +0 -1
- package/dist/components/GrAlert/chunks/GrAlert-HyCjYJeL.js.map +0 -1
- package/dist/components/GrButton/chunks/GrButton-CPDKonoB.js +0 -83
- package/dist/components/GrButton/chunks/GrButton-CPDKonoB.js.map +0 -1
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CPOH6V-P.js.map +0 -1
- package/dist/components/GrCard/chunks/GrCard-6yk1RRAQ.js.map +0 -1
- package/dist/components/GrCheckbox/chunks/GrCheckbox-Bt3d7ckE.js.map +0 -1
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-Bi2KLumL.js.map +0 -1
- package/dist/components/GrDataTable/chunks/GrDataTable-ClcYiyc8.js.map +0 -1
- package/dist/components/GrDialog/chunks/GrDialog-CxK4Lj4F.js.map +0 -1
- package/dist/components/GrDrawer/chunks/GrDrawer-BW3wtI7h.js.map +0 -1
- package/dist/components/GrDropdown/chunks/GrDropdown-BGKeEfZ1.js +0 -105
- package/dist/components/GrDropdown/chunks/GrDropdown-BGKeEfZ1.js.map +0 -1
- package/dist/components/GrFileUpload/chunks/GrFileUpload-CBKK3dgC.js.map +0 -1
- package/dist/components/GrFormField/chunks/GrFormField-U7c_aDPJ.js +0 -35
- package/dist/components/GrFormField/chunks/GrFormField-U7c_aDPJ.js.map +0 -1
- package/dist/components/GrFormFile/chunks/GrFormFile-CkR6cYqf.js.map +0 -1
- package/dist/components/GrImageViewer/chunks/GrImageViewer-BG40DsHa.js +0 -550
- package/dist/components/GrImageViewer/chunks/GrImageViewer-BG40DsHa.js.map +0 -1
- package/dist/components/GrInput/chunks/GrInput-gwFQ1sk4.js +0 -211
- package/dist/components/GrInput/chunks/GrInput-gwFQ1sk4.js.map +0 -1
- package/dist/components/GrInputTag/chunks/GrInputTag-g-KdUI_Z.js.map +0 -1
- package/dist/components/GrLink/chunks/GrLink-KSTmk9Yq.js.map +0 -1
- package/dist/components/GrModal/chunks/GrModal-CSOL3fHQ.js.map +0 -1
- package/dist/components/GrNumberInput/chunks/GrNumberInput-ClPBwkxx.js.map +0 -1
- package/dist/components/GrPagination/chunks/GrPagination-D2GS0ShQ.js.map +0 -1
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-D_TFqKsF.js.map +0 -1
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-K1uZ1mYD.js.map +0 -1
- package/dist/components/GrSelect/chunks/GrSelect-DSz7jvUb.js.map +0 -1
- package/dist/components/GrSidebar/chunks/GrSidebar-BW8LRMZ-.js +0 -44
- package/dist/components/GrSidebar/chunks/GrSidebar-BW8LRMZ-.js.map +0 -1
- package/dist/components/GrTabs/chunks/GrTabs-BfeVNMFJ.js.map +0 -1
- package/dist/components/GrTextarea/chunks/GrTextarea-CBBzpF2S.js.map +0 -1
- package/dist/components/GrToaster/chunks/GrToaster-C6_iHk2J.js +0 -172
- package/dist/components/GrToaster/chunks/GrToaster-C6_iHk2J.js.map +0 -1
- package/dist/components/GrTree/chunks/GrTree-uZr5SyQI.js.map +0 -1
- /package/dist/chunks/{_plugin-vue_export-helper-DQR7Sy7Q.js → _plugin-vue_export-helper-BOaGB7Aw.js} +0 -0
- /package/dist/chunks/{adapter-BqqjEZGU.js → adapter-CAOxmn2G.js} +0 -0
- /package/dist/chunks/{arrow-up-DZdIrpaF.js → arrow-up-C_G4jg8M.js} +0 -0
- /package/dist/chunks/{classTokens-BPeBXNzu.js → classTokens-BzazaERD.js} +0 -0
- /package/dist/chunks/{config-DZrlovR42.js → config-8Pcutu1j2.js} +0 -0
- /package/dist/chunks/{config-VJuoznpH.js → config-B0qIpo8m.js} +0 -0
- /package/dist/chunks/{config-DbghHyY_.js → config-BEegFP74.js} +0 -0
- /package/dist/chunks/{config-BeBsN0c12.js → config-BLHqZhy-2.js} +0 -0
- /package/dist/chunks/{config-BV4vBzdm.js → config-BNu8lFQB.js} +0 -0
- /package/dist/chunks/{config-DhQc1TRY.js → config-BUHuGBik.js} +0 -0
- /package/dist/chunks/{config-CPSdAjUi.js → config-BWGGp7uV.js} +0 -0
- /package/dist/chunks/{config-BduXEXjt.js → config-BXtAmU3s2.js} +0 -0
- /package/dist/chunks/{config-CzgNEHKi.js → config-Bah4oHwL.js} +0 -0
- /package/dist/chunks/{config-lMDE_8A5.js → config-C86UzUYf.js} +0 -0
- /package/dist/chunks/{config-BgBWt9-A.js → config-C9AcVDkv.js} +0 -0
- /package/dist/chunks/{config-BuoIngj32.js → config-CGHLoBlH.js} +0 -0
- /package/dist/chunks/{config-ChQxl75m.js → config-CThzliFi.js} +0 -0
- /package/dist/chunks/{config-DDwBSoc_.js → config-Cb2PAlSD.js} +0 -0
- /package/dist/chunks/{config-C5-ujXCI.js → config-D7GZO-Dx.js} +0 -0
- /package/dist/chunks/{config-CUwF4E4R.js → config-DBmdgoVf.js} +0 -0
- /package/dist/chunks/{config-C9MblwGq.js → config-DICOd-2X.js} +0 -0
- /package/dist/chunks/{config-BLa1TEGm2.js → config-DpqOnJiz.js} +0 -0
- /package/dist/chunks/{config-V3LF-b_F.js → config-Dxuwwepq.js} +0 -0
- /package/dist/chunks/{config-Doa_gU40.js → config-HZto2PVy.js} +0 -0
- /package/dist/chunks/{config-Dl5aZ5VR.js → config-JOtB4mzs.js} +0 -0
- /package/dist/chunks/{config-CWTfyPNI.js → config-JpHA4Xx02.js} +0 -0
- /package/dist/chunks/{config-B3dn-gdC.js → config-PFg39mYo.js} +0 -0
- /package/dist/chunks/{config-Bh4NWWsQ.js → config-QaIc_gRa.js} +0 -0
- /package/dist/chunks/{config-vcDVCYXo.js → config-U4m9PSql.js} +0 -0
- /package/dist/chunks/{config-C_q_4FrU.js → config-ZiXWIRBX.js} +0 -0
- /package/dist/chunks/{config-DDUPnue12.js → config-ipvU0lzP2.js} +0 -0
- /package/dist/chunks/{config-D5ek7VSi.js → config-xR4XVmcy.js} +0 -0
- /package/dist/chunks/{dialogShared-BtXUk6Zc.js → dialogShared-CxW62PQE.js} +0 -0
- /package/dist/chunks/{grLoadingStyles-DmI-SJ3i.js → grLoadingStyles-R5sreH__.js} +0 -0
- /package/dist/chunks/{info-C0bHmdZq.js → info-Be2OccTu.js} +0 -0
- /package/dist/chunks/{loader-circle-BUntgosj.js → loader-circle-CfVLz7lb.js} +0 -0
- /package/dist/chunks/{x-Pa6C2hwi.js → x-2KXnqxiD.js} +0 -0
- /package/dist/chunks/{x-circle-DQSlBLmX.js → x-circle-BCBURwyX.js} +0 -0
- /package/dist/components/GrBottomNav/chunks/{GrBottomNav-XPHwd7UQ.js → GrBottomNav-usuMgG8_.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as grAvatarClass } from "../../../chunks/config-
|
|
1
|
+
import { r as grAvatarClass } from "../../../chunks/config-QYGvEBu5.js";
|
|
2
2
|
import { computed, createElementBlock, defineComponent, normalizeClass, normalizeStyle, openBlock, renderSlot } from "vue";
|
|
3
3
|
//#region src/components/GrAvatar/GrAvatar.vue?vue&type=script&setup=true&lang.ts
|
|
4
4
|
var _hoisted_1 = ["src", "alt"];
|
|
@@ -33,7 +33,7 @@ var GrAvatar_default = /* @__PURE__ */ defineComponent({
|
|
|
33
33
|
src: props.src,
|
|
34
34
|
alt: props.alt,
|
|
35
35
|
class: "h-full w-full object-cover"
|
|
36
|
-
}, null, 8, _hoisted_1)) : renderSlot(_ctx.$slots, "default", {
|
|
36
|
+
}, null, 8, _hoisted_1)) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 1)], 6);
|
|
37
37
|
};
|
|
38
38
|
}
|
|
39
39
|
});
|
package/dist/components/GrAvatar/chunks/{GrAvatar-BjnPKNAL.js.map → GrAvatar-96CpTCq5.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrAvatar-
|
|
1
|
+
{"version":3,"file":"GrAvatar-96CpTCq5.js","names":[],"sources":["../../../../src/components/GrAvatar/GrAvatar.vue","../../../../src/components/GrAvatar/GrAvatar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport { grAvatarClass } from './grAvatarStyles'\nimport type { GrAvatarShape } from './grAvatarStyles'\n\nconst props = withDefaults(defineProps<{\n size?: number\n src?: string\n alt?: string\n shape?: GrAvatarShape\n}>(), {\n size: 40,\n src: undefined,\n alt: '',\n shape: 'circle',\n})\n\nconst style = computed(() => {\n const px = `${props.size}px`\n\n return {\n width: px,\n height: px,\n }\n})\n\nconst className = computed(() => {\n return grAvatarClass(props.shape)\n})\n</script>\n\n<template>\n <span :style=\"style\" class=\"inline-flex items-center justify-center overflow-hidden border border-[var(--brd)] bg-[var(--muted)] text-[var(--muted-fg)] font-700\" :class=\"className\">\n <img v-if=\"props.src\" :src=\"props.src\" :alt=\"props.alt\" class=\"h-full w-full object-cover\">\n <slot v-else />\n </span>\n</template>","<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport { grAvatarClass } from './grAvatarStyles'\nimport type { GrAvatarShape } from './grAvatarStyles'\n\nconst props = withDefaults(defineProps<{\n size?: number\n src?: string\n alt?: string\n shape?: GrAvatarShape\n}>(), {\n size: 40,\n src: undefined,\n alt: '',\n shape: 'circle',\n})\n\nconst style = computed(() => {\n const px = `${props.size}px`\n\n return {\n width: px,\n height: px,\n }\n})\n\nconst className = computed(() => {\n return grAvatarClass(props.shape)\n})\n</script>\n\n<template>\n <span :style=\"style\" class=\"inline-flex items-center justify-center overflow-hidden border border-[var(--brd)] bg-[var(--muted)] text-[var(--muted-fg)] font-700\" :class=\"className\">\n <img v-if=\"props.src\" :src=\"props.src\" :alt=\"props.alt\" class=\"h-full w-full object-cover\">\n <slot v-else />\n </span>\n</template>"],"mappings":";;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAYd,MAAM,QAAQ,eAAe;GAC3B,MAAM,KAAK,GAAG,MAAM,KAAK;GAEzB,OAAO;IACL,OAAO;IACP,QAAQ;GACV;EACF,CAAC;EAED,MAAM,YAAY,eAAe;GAC/B,OAAO,cAAc,MAAM,KAAK;EAClC,CAAC;;uBAIC,mBAGO,QAAA;IAHA,OAAK,eAAE,MAAA,KAAK;IAAE,OAAK,eAAA,CAAC,wIAA+I,UAAA,KAAS,CAAA;OACtK,MAAM,OAAA,UAAA,GAAjB,mBAA2F,OAAA;;IAApE,KAAK,MAAM;IAAM,KAAK,MAAM;IAAK,OAAM;8BAC9D,WAAe,KAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,CAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { n as grAvatarSafelist, t as grAvatarConfig } from "../../chunks/config-
|
|
2
|
-
import { t as GrAvatar_default } from "./chunks/GrAvatar-
|
|
1
|
+
import { n as grAvatarSafelist, t as grAvatarConfig } from "../../chunks/config-QYGvEBu5.js";
|
|
2
|
+
import { t as GrAvatar_default } from "./chunks/GrAvatar-96CpTCq5.js";
|
|
3
3
|
export { GrAvatar_default as GrAvatar, GrAvatar_default as default, grAvatarConfig, grAvatarSafelist };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { n as grBadgeClass } from "../../../chunks/grBadgeStyles-
|
|
2
|
-
import { t as _plugin_vue_export_helper_default } from "../../../chunks/_plugin-vue_export-helper-
|
|
1
|
+
import { n as grBadgeClass } from "../../../chunks/grBadgeStyles-DrycBuKT.js";
|
|
2
|
+
import { t as _plugin_vue_export_helper_default } from "../../../chunks/_plugin-vue_export-helper-BOaGB7Aw.js";
|
|
3
3
|
import { computed, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, renderSlot } from "vue";
|
|
4
4
|
import '../../../GrBadge.css';//#region src/components/GrBadge/GrBadge.vue?vue&type=script&setup=true&lang.ts
|
|
5
5
|
var _hoisted_1 = { class: "gr-badge__label" };
|
|
6
6
|
var _hoisted_2 = { class: "gr-badge__text" };
|
|
7
7
|
//#endregion
|
|
8
8
|
//#region src/components/GrBadge/GrBadge.vue
|
|
9
|
-
var GrBadge_default =
|
|
9
|
+
var GrBadge_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
10
10
|
__name: "GrBadge",
|
|
11
11
|
props: {
|
|
12
12
|
tone: { default: "neutral" },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrBadge-
|
|
1
|
+
{"version":3,"file":"GrBadge-B77XlaqE.js","names":[],"sources":["../../../../src/components/GrBadge/GrBadge.vue","../../../../src/components/GrBadge/GrBadge.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nexport type { GrBadgeRadius, GrBadgeSize, GrBadgeTone } from './grBadgeStyles'\n\nimport {\n grBadgeClass,\n type GrBadgeRadius,\n type GrBadgeSize,\n type GrBadgeTone,\n} from './grBadgeStyles'\n\nconst props = withDefaults(\n defineProps<{\n tone?: GrBadgeTone\n dark?: boolean\n size?: GrBadgeSize\n radius?: GrBadgeRadius\n }>(),\n {\n tone: 'neutral',\n dark: false,\n size: 'sm',\n radius: 'round',\n },\n)\n\nconst className = computed(() => {\n return grBadgeClass({\n tone: props.tone,\n dark: props.dark,\n size: props.size,\n radius: props.radius,\n })\n})\n</script>\n\n<template>\n <span\n class=\"gr-badge inline-block border whitespace-nowrap leading-none\"\n :class=\"className\"\n >\n <span class=\"gr-badge__label\">\n <span class=\"gr-badge__text\">\n <slot />\n </span>\n </span>\n </span>\n</template>\n\n<style scoped>\n/*\n * Оптически центрируем текст по вертикали независимо от регистра,\n * не уменьшая высоту самого бейджа.\n *\n * Раньше `text-box-trim` висел прямо на тексте и обрезал line-box до\n * cap-height: текст центрировался корректно, но высота контента\n * падала до cap-height, из-за чего бейдж становился ниже.\n *\n * Теперь высоту держит обёртка `.gr-badge__label` (`min-height: 1lh` —\n * исходная высота line-box при `leading-none`), а сам текст\n * (`.gr-badge__text`) обрезается до cap-height/базовой линии и\n * центрируется внутри этой высоты через flex. В итоге высота бейджа\n * не меняется, а строчный/заглавный текст выглядит по центру.\n */\n.gr-badge__label {\n display: flex;\n align-items: center;\n min-height: 1lh;\n}\n\n.gr-badge__text {\n display: block;\n text-box-trim: trim-both;\n text-box-edge: cap alphabetic;\n /* Шорткат для браузеров с поддержкой нового синтаксиса. */\n text-box: trim-both cap alphabetic;\n}\n</style>","<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nexport type { GrBadgeRadius, GrBadgeSize, GrBadgeTone } from './grBadgeStyles'\n\nimport {\n grBadgeClass,\n type GrBadgeRadius,\n type GrBadgeSize,\n type GrBadgeTone,\n} from './grBadgeStyles'\n\nconst props = withDefaults(\n defineProps<{\n tone?: GrBadgeTone\n dark?: boolean\n size?: GrBadgeSize\n radius?: GrBadgeRadius\n }>(),\n {\n tone: 'neutral',\n dark: false,\n size: 'sm',\n radius: 'round',\n },\n)\n\nconst className = computed(() => {\n return grBadgeClass({\n tone: props.tone,\n dark: props.dark,\n size: props.size,\n radius: props.radius,\n })\n})\n</script>\n\n<template>\n <span\n class=\"gr-badge inline-block border whitespace-nowrap leading-none\"\n :class=\"className\"\n >\n <span class=\"gr-badge__label\">\n <span class=\"gr-badge__text\">\n <slot />\n </span>\n </span>\n </span>\n</template>\n\n<style scoped>\n/*\n * Оптически центрируем текст по вертикали независимо от регистра,\n * не уменьшая высоту самого бейджа.\n *\n * Раньше `text-box-trim` висел прямо на тексте и обрезал line-box до\n * cap-height: текст центрировался корректно, но высота контента\n * падала до cap-height, из-за чего бейдж становился ниже.\n *\n * Теперь высоту держит обёртка `.gr-badge__label` (`min-height: 1lh` —\n * исходная высота line-box при `leading-none`), а сам текст\n * (`.gr-badge__text`) обрезается до cap-height/базовой линии и\n * центрируется внутри этой высоты через flex. В итоге высота бейджа\n * не меняется, а строчный/заглавный текст выглядит по центру.\n */\n.gr-badge__label {\n display: flex;\n align-items: center;\n min-height: 1lh;\n}\n\n.gr-badge__text {\n display: block;\n text-box-trim: trim-both;\n text-box-edge: cap alphabetic;\n /* Шорткат для браузеров с поддержкой нового синтаксиса. */\n text-box: trim-both cap alphabetic;\n}\n</style>"],"mappings":";;;;;;;;;;;;;;;;;;;;EAYA,MAAM,QAAQ;EAed,MAAM,YAAY,eAAe;GAC/B,OAAO,aAAa;IAClB,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,QAAQ,MAAM;GAChB,CAAC;EACH,CAAC;;uBAIC,mBASO,QAAA,EARH,OAAK,eAAA,CAAC,+DACE,UAAA,KAAS,CAAA,EAAA,GAAA,CAEnB,mBAIO,QAJP,YAIO,CAHL,mBAEO,QAFP,YAEO,CADL,WAAQ,KAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as GrBadge_default } from "./chunks/GrBadge-
|
|
2
|
-
import { n as grBadgeSafelist, t as grBadgeConfig } from "../../chunks/config-
|
|
1
|
+
import { t as GrBadge_default } from "./chunks/GrBadge-B77XlaqE.js";
|
|
2
|
+
import { n as grBadgeSafelist, t as grBadgeConfig } from "../../chunks/config-jBp9wVv-.js";
|
|
3
3
|
export { GrBadge_default as GrBadge, GrBadge_default as default, grBadgeConfig, grBadgeSafelist };
|
package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-BEnE9DyJ.js → GrBadgeWrap-CcktMOdg.js}
RENAMED
|
@@ -3,12 +3,12 @@ import { createCommentVNode, createElementBlock, defineComponent, openBlock, ren
|
|
|
3
3
|
var _hoisted_1 = { class: "relative inline-flex" };
|
|
4
4
|
var _hoisted_2 = {
|
|
5
5
|
key: 0,
|
|
6
|
-
class: "absolute -top-1 -right-1 h-2 w-2 rounded-full bg-[var(--
|
|
6
|
+
class: "absolute -top-1 -right-1 h-2 w-2 rounded-full bg-[var(--gr-danger)]",
|
|
7
7
|
"aria-hidden": "true"
|
|
8
8
|
};
|
|
9
9
|
var _hoisted_3 = {
|
|
10
10
|
key: 1,
|
|
11
|
-
class: "absolute -top-2 -right-2 min-w-5 h-5 px-1 rounded-full bg-[var(--
|
|
11
|
+
class: "absolute -top-2 -right-2 min-w-5 h-5 px-1 rounded-full bg-[var(--gr-danger)] text-[var(--destructive-fg)] text-[11px] font-700 inline-flex items-center justify-center",
|
|
12
12
|
"aria-hidden": "true"
|
|
13
13
|
};
|
|
14
14
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrBadgeWrap-
|
|
1
|
+
{"version":3,"file":"GrBadgeWrap-CcktMOdg.js","names":[],"sources":["../../../../src/components/GrBadgeWrap/GrBadgeWrap.vue","../../../../src/components/GrBadgeWrap/GrBadgeWrap.vue"],"sourcesContent":["<script setup lang=\"ts\">\nconst props = withDefaults(defineProps<{\n value?: string | number\n dot?: boolean\n}>(), {\n value: undefined,\n dot: false,\n})\n</script>\n\n<template>\n <span class=\"relative inline-flex\">\n <slot />\n\n <span\n v-if=\"props.dot\"\n class=\"absolute -top-1 -right-1 h-2 w-2 rounded-full bg-[var(--gr-danger)]\"\n aria-hidden=\"true\"\n />\n\n <span\n v-else-if=\"props.value !== undefined\"\n class=\"absolute -top-2 -right-2 min-w-5 h-5 px-1 rounded-full bg-[var(--gr-danger)] text-[var(--destructive-fg)] text-[11px] font-700 inline-flex items-center justify-center\"\n aria-hidden=\"true\"\n >\n {{ props.value }}\n </span>\n </span>\n</template>","<script setup lang=\"ts\">\nconst props = withDefaults(defineProps<{\n value?: string | number\n dot?: boolean\n}>(), {\n value: undefined,\n dot: false,\n})\n</script>\n\n<template>\n <span class=\"relative inline-flex\">\n <slot />\n\n <span\n v-if=\"props.dot\"\n class=\"absolute -top-1 -right-1 h-2 w-2 rounded-full bg-[var(--gr-danger)]\"\n aria-hidden=\"true\"\n />\n\n <span\n v-else-if=\"props.value !== undefined\"\n class=\"absolute -top-2 -right-2 min-w-5 h-5 px-1 rounded-full bg-[var(--gr-danger)] text-[var(--destructive-fg)] text-[11px] font-700 inline-flex items-center justify-center\"\n aria-hidden=\"true\"\n >\n {{ props.value }}\n </span>\n </span>\n</template>"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;EACA,MAAM,QAAQ;;uBAUZ,mBAgBO,QAhBP,YAgBO,CAfL,WAAQ,KAAA,QAAA,SAAA,GAGA,MAAM,OAAA,UAAA,GADd,mBAIE,QAJF,UAIE,KAGW,MAAM,UAAU,KAAA,KAAA,UAAA,GAD7B,mBAMO,QANP,YAMO,gBADF,MAAM,KAAK,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as GrBadgeWrap_default } from "./chunks/GrBadgeWrap-
|
|
2
|
-
import { t as grBadgeWrapConfig } from "../../chunks/config-
|
|
1
|
+
import { t as GrBadgeWrap_default } from "./chunks/GrBadgeWrap-CcktMOdg.js";
|
|
2
|
+
import { t as grBadgeWrapConfig } from "../../chunks/config-Dxuwwepq.js";
|
|
3
3
|
export { GrBadgeWrap_default as GrBadgeWrap, GrBadgeWrap_default as default, grBadgeWrapConfig };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrBottomNav-
|
|
1
|
+
{"version":3,"file":"GrBottomNav-usuMgG8_.js","names":[],"sources":["../../../../src/components/GrBottomNav/GrBottomNav.vue","../../../../src/components/GrBottomNav/GrBottomNav.vue"],"sourcesContent":["<script setup lang=\"ts\">\nexport type GrBottomNavItem = {\n label: string\n value: string\n}\n\nconst props = defineProps<{\n modelValue: string\n items: GrBottomNavItem[]\n}>()\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: string): void\n}>()\n</script>\n\n<template>\n <nav class=\"fixed bottom-0 left-0 right-0 border-t border-[var(--brd)] bg-[var(--bg)] px-2 pb-[env(safe-area-inset-bottom)] sm:hidden\">\n <div class=\"h-14 flex items-center justify-around\">\n <button\n v-for=\"it in props.items\"\n :key=\"it.value\"\n type=\"button\"\n class=\"min-w-[44px] min-h-[44px] px-3 rounded-md text-sm font-600 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]\"\n :class=\"it.value === props.modelValue ? 'text-[var(--primary)]' : 'text-[var(--muted-fg)] hover:text-[var(--fg)]'\"\n @click=\"emit('update:modelValue', it.value)\"\n >\n {{ it.label }}\n </button>\n </div>\n </nav>\n</template>","<script setup lang=\"ts\">\nexport type GrBottomNavItem = {\n label: string\n value: string\n}\n\nconst props = defineProps<{\n modelValue: string\n items: GrBottomNavItem[]\n}>()\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: string): void\n}>()\n</script>\n\n<template>\n <nav class=\"fixed bottom-0 left-0 right-0 border-t border-[var(--brd)] bg-[var(--bg)] px-2 pb-[env(safe-area-inset-bottom)] sm:hidden\">\n <div class=\"h-14 flex items-center justify-around\">\n <button\n v-for=\"it in props.items\"\n :key=\"it.value\"\n type=\"button\"\n class=\"min-w-[44px] min-h-[44px] px-3 rounded-md text-sm font-600 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]\"\n :class=\"it.value === props.modelValue ? 'text-[var(--primary)]' : 'text-[var(--muted-fg)] hover:text-[var(--fg)]'\"\n @click=\"emit('update:modelValue', it.value)\"\n >\n {{ it.label }}\n </button>\n </div>\n </nav>\n</template>"],"mappings":";;;;;;;;;;;;;;;EAMA,MAAM,QAAQ;EAKd,MAAM,OAAO;;uBAMX,mBAaM,OAbN,YAaM,CAZJ,mBAWM,OAXN,YAWM,EAAA,UAAA,IAAA,GAVJ,mBASS,UAAA,MAAA,WARM,MAAM,QAAZ,OAAE;wBADX,mBASS,UAAA;KAPN,KAAK,GAAG;KACT,MAAK;KACL,OAAK,eAAA,CAAC,yJACE,GAAG,UAAU,MAAM,aAAU,0BAAA,+CAAA,CAAA;KACpC,UAAK,WAAE,KAAI,qBAAsB,GAAG,KAAK;uBAEvC,GAAG,KAAK,GAAA,IAAA,UAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as GrBottomNav_default } from "./chunks/GrBottomNav-
|
|
2
|
-
import { t as grBottomNavConfig } from "../../chunks/config-
|
|
1
|
+
import { t as GrBottomNav_default } from "./chunks/GrBottomNav-usuMgG8_.js";
|
|
2
|
+
import { t as grBottomNavConfig } from "../../chunks/config-C9AcVDkv.js";
|
|
3
3
|
export { GrBottomNav_default as GrBottomNav, GrBottomNav_default as default, grBottomNavConfig };
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { t as loader_circle_default } from "../../../chunks/loader-circle-CfVLz7lb.js";
|
|
2
|
+
import { n as grButtonBaseClass, r as grButtonClass } from "../../../chunks/grButtonStyles-C7Yga_Q1.js";
|
|
3
|
+
import { computed, createBlock, createCommentVNode, defineComponent, markRaw, normalizeClass, normalizeStyle, openBlock, renderSlot, resolveDynamicComponent, unref, withCtx } from "vue";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/components/GrButton/GrButton.vue
|
|
6
|
+
var GrButton_default = /* @__PURE__ */ defineComponent({
|
|
7
|
+
__name: "GrButton",
|
|
8
|
+
props: {
|
|
9
|
+
variant: { default: "primary" },
|
|
10
|
+
tone: { default: "primary" },
|
|
11
|
+
size: { default: "md" },
|
|
12
|
+
loading: {
|
|
13
|
+
type: Boolean,
|
|
14
|
+
default: false
|
|
15
|
+
},
|
|
16
|
+
disabled: {
|
|
17
|
+
type: Boolean,
|
|
18
|
+
default: false
|
|
19
|
+
},
|
|
20
|
+
square: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
default: false
|
|
23
|
+
},
|
|
24
|
+
type: { default: "button" },
|
|
25
|
+
ariaLabel: { default: void 0 },
|
|
26
|
+
as: { default: void 0 },
|
|
27
|
+
href: { default: void 0 },
|
|
28
|
+
target: { default: void 0 },
|
|
29
|
+
rel: { default: void 0 },
|
|
30
|
+
external: {
|
|
31
|
+
type: Boolean,
|
|
32
|
+
default: false
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
setup(__props) {
|
|
36
|
+
const props = __props;
|
|
37
|
+
const isSquare = computed(() => props.square);
|
|
38
|
+
const isLink = computed(() => Boolean(props.as || props.href));
|
|
39
|
+
const renderAs = computed(() => {
|
|
40
|
+
if (props.as) return typeof props.as === "string" ? props.as : markRaw(props.as);
|
|
41
|
+
return props.href ? "a" : "button";
|
|
42
|
+
});
|
|
43
|
+
const blocked = computed(() => props.disabled || props.loading);
|
|
44
|
+
const nativeDisabled = computed(() => renderAs.value === "button" && props.disabled ? true : void 0);
|
|
45
|
+
const ariaDisabled = computed(() => props.loading || isLink.value && props.disabled ? "true" : void 0);
|
|
46
|
+
const resolvedTarget = computed(() => props.target ?? (props.external ? "_blank" : void 0));
|
|
47
|
+
const resolvedRel = computed(() => props.rel ?? (resolvedTarget.value === "_blank" ? "noopener noreferrer" : void 0));
|
|
48
|
+
function onClickCapture(e) {
|
|
49
|
+
if (blocked.value) {
|
|
50
|
+
e.preventDefault();
|
|
51
|
+
e.stopImmediatePropagation();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
const squareStyle = computed(() => {
|
|
55
|
+
if (!isSquare.value) return void 0;
|
|
56
|
+
const v = `${(() => {
|
|
57
|
+
if (props.size === "xs") return 28;
|
|
58
|
+
if (props.size === "sm") return 32;
|
|
59
|
+
if (props.size === "lg") return 44;
|
|
60
|
+
return 40;
|
|
61
|
+
})()}px`;
|
|
62
|
+
return {
|
|
63
|
+
width: v,
|
|
64
|
+
minWidth: v,
|
|
65
|
+
height: v,
|
|
66
|
+
padding: "0px"
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
const className = computed(() => {
|
|
70
|
+
return grButtonClass({
|
|
71
|
+
variant: props.variant,
|
|
72
|
+
tone: props.tone,
|
|
73
|
+
size: props.size,
|
|
74
|
+
square: isSquare.value
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
return (_ctx, _cache) => {
|
|
78
|
+
return openBlock(), createBlock(resolveDynamicComponent(renderAs.value), {
|
|
79
|
+
"data-gr-button": "",
|
|
80
|
+
"data-gr-variant": props.variant,
|
|
81
|
+
"data-gr-tone": props.tone,
|
|
82
|
+
type: renderAs.value === "button" ? props.type : void 0,
|
|
83
|
+
disabled: nativeDisabled.value,
|
|
84
|
+
href: isLink.value && !props.disabled ? props.href : void 0,
|
|
85
|
+
target: isLink.value && !props.disabled ? resolvedTarget.value : void 0,
|
|
86
|
+
rel: isLink.value && !props.disabled ? resolvedRel.value : void 0,
|
|
87
|
+
"aria-busy": props.loading ? "true" : void 0,
|
|
88
|
+
"aria-disabled": ariaDisabled.value,
|
|
89
|
+
"aria-label": props.ariaLabel,
|
|
90
|
+
tabindex: isLink.value && props.disabled ? -1 : void 0,
|
|
91
|
+
class: normalizeClass([
|
|
92
|
+
unref(grButtonBaseClass),
|
|
93
|
+
className.value,
|
|
94
|
+
blocked.value ? "cursor-not-allowed" : ""
|
|
95
|
+
]),
|
|
96
|
+
style: normalizeStyle(squareStyle.value),
|
|
97
|
+
onClickCapture
|
|
98
|
+
}, {
|
|
99
|
+
default: withCtx(() => [props.loading ? (openBlock(), createBlock(unref(loader_circle_default), {
|
|
100
|
+
key: 0,
|
|
101
|
+
class: "h-4 w-4 animate-spin",
|
|
102
|
+
"aria-hidden": "true"
|
|
103
|
+
})) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default")]),
|
|
104
|
+
_: 3
|
|
105
|
+
}, 40, [
|
|
106
|
+
"data-gr-variant",
|
|
107
|
+
"data-gr-tone",
|
|
108
|
+
"type",
|
|
109
|
+
"disabled",
|
|
110
|
+
"href",
|
|
111
|
+
"target",
|
|
112
|
+
"rel",
|
|
113
|
+
"aria-busy",
|
|
114
|
+
"aria-disabled",
|
|
115
|
+
"aria-label",
|
|
116
|
+
"tabindex",
|
|
117
|
+
"class",
|
|
118
|
+
"style"
|
|
119
|
+
]);
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
//#endregion
|
|
124
|
+
export { GrButton_default as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrButton-BlffdeJr.js","names":[],"sources":["../../../../src/components/GrButton/GrButton.vue","../../../../src/components/GrButton/GrButton.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, markRaw, type Component } from 'vue'\n\nimport IconLoader from '~icons/lucide/loader-circle'\n\nexport type { GrButtonSize, GrButtonTone, GrButtonVariant } from './grButtonStyles'\n\nimport {\n grButtonBaseClass,\n grButtonClass,\n type GrButtonSize,\n type GrButtonTone,\n type GrButtonVariant,\n} from './grButtonStyles'\n\nconst props = withDefaults(\n defineProps<{\n variant?: GrButtonVariant\n tone?: GrButtonTone\n size?: GrButtonSize\n loading?: boolean\n disabled?: boolean\n square?: boolean\n type?: 'button' | 'submit' | 'reset'\n ariaLabel?: string\n /** Полиморфизм: кастомный корневой тег/компонент (например, RouterLink). */\n as?: string | Component\n /** Рендерит кнопку как `<a href>` (если не задан `as`). */\n href?: string\n target?: string\n rel?: string\n external?: boolean\n }>(),\n {\n variant: 'primary',\n tone: 'primary',\n size: 'md',\n loading: false,\n disabled: false,\n square: false,\n type: 'button',\n ariaLabel: undefined,\n as: undefined,\n href: undefined,\n target: undefined,\n rel: undefined,\n external: false,\n },\n)\n\nconst isSquare = computed(() => props.square)\n\n// Полиморфный корень: `as` → `<a href>` → `<button>`.\nconst isLink = computed(() => Boolean(props.as || props.href))\nconst renderAs = computed<string | Component>(() => {\n if (props.as) return typeof props.as === 'string' ? props.as : markRaw(props.as)\n return props.href ? 'a' : 'button'\n})\n\n// Неинтерактивно при явном `disabled` ИЛИ во время `loading`.\nconst blocked = computed(() => props.disabled || props.loading)\n\n// Ключевое: `loading` НЕ ставит нативный `disabled` (элемент бы выпал из фокуса и\n// скринридер потерял бы контекст) — вместо этого `aria-disabled` + перехват клика.\n// Нативный `disabled` (только у `<button>`) оставляем лишь для явного `disabled`.\nconst nativeDisabled = computed(() => (renderAs.value === 'button' && props.disabled) ? true : undefined)\nconst ariaDisabled = computed(() => (props.loading || (isLink.value && props.disabled)) ? 'true' : undefined)\n\nconst resolvedTarget = computed(() => props.target ?? (props.external ? '_blank' : undefined))\nconst resolvedRel = computed(() => props.rel ?? (resolvedTarget.value === '_blank' ? 'noopener noreferrer' : undefined))\n\nfunction onClickCapture(e: MouseEvent): void {\n // Блокируем и дефолт (submit/навигация), и внешние обработчики (в т.ч. по Enter/Space),\n // сохраняя фокус на элементе.\n if (blocked.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n}\n\nconst squareStyle = computed(() => {\n if (!isSquare.value) return undefined\n\n const px = (() => {\n if (props.size === 'xs') return 28\n if (props.size === 'sm') return 32\n if (props.size === 'lg') return 44\n return 40\n })()\n\n const v = `${px}px`\n return {\n width: v,\n minWidth: v,\n height: v,\n padding: '0px',\n } as const\n})\n\nconst className = computed(() => {\n return grButtonClass({\n variant: props.variant,\n tone: props.tone,\n size: props.size,\n square: isSquare.value,\n })\n})\n</script>\n\n<template>\n <component\n :is=\"renderAs\"\n data-gr-button\n :data-gr-variant=\"props.variant\"\n :data-gr-tone=\"props.tone\"\n :type=\"renderAs === 'button' ? props.type : undefined\"\n :disabled=\"nativeDisabled\"\n :href=\"isLink && !props.disabled ? props.href : undefined\"\n :target=\"isLink && !props.disabled ? resolvedTarget : undefined\"\n :rel=\"isLink && !props.disabled ? resolvedRel : undefined\"\n :aria-busy=\"props.loading ? 'true' : undefined\"\n :aria-disabled=\"ariaDisabled\"\n :aria-label=\"props.ariaLabel\"\n :tabindex=\"isLink && props.disabled ? -1 : undefined\"\n :class=\"[grButtonBaseClass, className, blocked ? 'cursor-not-allowed' : '']\"\n :style=\"squareStyle\"\n @click.capture=\"onClickCapture\"\n >\n <IconLoader v-if=\"props.loading\" class=\"h-4 w-4 animate-spin\" aria-hidden=\"true\" />\n <slot />\n </component>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, markRaw, type Component } from 'vue'\n\nimport IconLoader from '~icons/lucide/loader-circle'\n\nexport type { GrButtonSize, GrButtonTone, GrButtonVariant } from './grButtonStyles'\n\nimport {\n grButtonBaseClass,\n grButtonClass,\n type GrButtonSize,\n type GrButtonTone,\n type GrButtonVariant,\n} from './grButtonStyles'\n\nconst props = withDefaults(\n defineProps<{\n variant?: GrButtonVariant\n tone?: GrButtonTone\n size?: GrButtonSize\n loading?: boolean\n disabled?: boolean\n square?: boolean\n type?: 'button' | 'submit' | 'reset'\n ariaLabel?: string\n /** Полиморфизм: кастомный корневой тег/компонент (например, RouterLink). */\n as?: string | Component\n /** Рендерит кнопку как `<a href>` (если не задан `as`). */\n href?: string\n target?: string\n rel?: string\n external?: boolean\n }>(),\n {\n variant: 'primary',\n tone: 'primary',\n size: 'md',\n loading: false,\n disabled: false,\n square: false,\n type: 'button',\n ariaLabel: undefined,\n as: undefined,\n href: undefined,\n target: undefined,\n rel: undefined,\n external: false,\n },\n)\n\nconst isSquare = computed(() => props.square)\n\n// Полиморфный корень: `as` → `<a href>` → `<button>`.\nconst isLink = computed(() => Boolean(props.as || props.href))\nconst renderAs = computed<string | Component>(() => {\n if (props.as) return typeof props.as === 'string' ? props.as : markRaw(props.as)\n return props.href ? 'a' : 'button'\n})\n\n// Неинтерактивно при явном `disabled` ИЛИ во время `loading`.\nconst blocked = computed(() => props.disabled || props.loading)\n\n// Ключевое: `loading` НЕ ставит нативный `disabled` (элемент бы выпал из фокуса и\n// скринридер потерял бы контекст) — вместо этого `aria-disabled` + перехват клика.\n// Нативный `disabled` (только у `<button>`) оставляем лишь для явного `disabled`.\nconst nativeDisabled = computed(() => (renderAs.value === 'button' && props.disabled) ? true : undefined)\nconst ariaDisabled = computed(() => (props.loading || (isLink.value && props.disabled)) ? 'true' : undefined)\n\nconst resolvedTarget = computed(() => props.target ?? (props.external ? '_blank' : undefined))\nconst resolvedRel = computed(() => props.rel ?? (resolvedTarget.value === '_blank' ? 'noopener noreferrer' : undefined))\n\nfunction onClickCapture(e: MouseEvent): void {\n // Блокируем и дефолт (submit/навигация), и внешние обработчики (в т.ч. по Enter/Space),\n // сохраняя фокус на элементе.\n if (blocked.value) {\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n}\n\nconst squareStyle = computed(() => {\n if (!isSquare.value) return undefined\n\n const px = (() => {\n if (props.size === 'xs') return 28\n if (props.size === 'sm') return 32\n if (props.size === 'lg') return 44\n return 40\n })()\n\n const v = `${px}px`\n return {\n width: v,\n minWidth: v,\n height: v,\n padding: '0px',\n } as const\n})\n\nconst className = computed(() => {\n return grButtonClass({\n variant: props.variant,\n tone: props.tone,\n size: props.size,\n square: isSquare.value,\n })\n})\n</script>\n\n<template>\n <component\n :is=\"renderAs\"\n data-gr-button\n :data-gr-variant=\"props.variant\"\n :data-gr-tone=\"props.tone\"\n :type=\"renderAs === 'button' ? props.type : undefined\"\n :disabled=\"nativeDisabled\"\n :href=\"isLink && !props.disabled ? props.href : undefined\"\n :target=\"isLink && !props.disabled ? resolvedTarget : undefined\"\n :rel=\"isLink && !props.disabled ? resolvedRel : undefined\"\n :aria-busy=\"props.loading ? 'true' : undefined\"\n :aria-disabled=\"ariaDisabled\"\n :aria-label=\"props.ariaLabel\"\n :tabindex=\"isLink && props.disabled ? -1 : undefined\"\n :class=\"[grButtonBaseClass, className, blocked ? 'cursor-not-allowed' : '']\"\n :style=\"squareStyle\"\n @click.capture=\"onClickCapture\"\n >\n <IconLoader v-if=\"props.loading\" class=\"h-4 w-4 animate-spin\" aria-hidden=\"true\" />\n <slot />\n </component>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA,MAAM,QAAQ;EAmCd,MAAM,WAAW,eAAe,MAAM,MAAM;EAG5C,MAAM,SAAS,eAAe,QAAQ,MAAM,MAAM,MAAM,IAAI,CAAC;EAC7D,MAAM,WAAW,eAAmC;GAClD,IAAI,MAAM,IAAI,OAAO,OAAO,MAAM,OAAO,WAAW,MAAM,KAAK,QAAQ,MAAM,EAAE;GAC/E,OAAO,MAAM,OAAO,MAAM;EAC5B,CAAC;EAGD,MAAM,UAAU,eAAe,MAAM,YAAY,MAAM,OAAO;EAK9D,MAAM,iBAAiB,eAAgB,SAAS,UAAU,YAAY,MAAM,WAAY,OAAO,KAAA,CAAS;EACxG,MAAM,eAAe,eAAgB,MAAM,WAAY,OAAO,SAAS,MAAM,WAAa,SAAS,KAAA,CAAS;EAE5G,MAAM,iBAAiB,eAAe,MAAM,WAAW,MAAM,WAAW,WAAW,KAAA,EAAU;EAC7F,MAAM,cAAc,eAAe,MAAM,QAAQ,eAAe,UAAU,WAAW,wBAAwB,KAAA,EAAU;EAEvH,SAAS,eAAe,GAAqB;GAG3C,IAAI,QAAQ,OAAO;IACjB,EAAE,eAAe;IACjB,EAAE,yBAAyB;GAC7B;EACF;EAEA,MAAM,cAAc,eAAe;GACjC,IAAI,CAAC,SAAS,OAAO,OAAO,KAAA;GAS5B,MAAM,IAAI,UAPQ;IAChB,IAAI,MAAM,SAAS,MAAM,OAAO;IAChC,IAAI,MAAM,SAAS,MAAM,OAAO;IAChC,IAAI,MAAM,SAAS,MAAM,OAAO;IAChC,OAAO;GACT,EAAA,CAEa,EAAG;GAChB,OAAO;IACL,OAAO;IACP,UAAU;IACV,QAAQ;IACR,SAAS;GACX;EACF,CAAC;EAED,MAAM,YAAY,eAAe;GAC/B,OAAO,cAAc;IACnB,SAAS,MAAM;IACf,MAAM,MAAM;IACZ,MAAM,MAAM;IACZ,QAAQ,SAAS;GACnB,CAAC;EACH,CAAC;;uBAIC,YAoBY,wBAnBL,SAAA,KAAQ,GAAA;IACb,kBAAA;IACC,mBAAiB,MAAM;IACvB,gBAAc,MAAM;IACpB,MAAM,SAAA,UAAQ,WAAgB,MAAM,OAAO,KAAA;IAC3C,UAAU,eAAA;IACV,MAAM,OAAA,SAAM,CAAK,MAAM,WAAW,MAAM,OAAO,KAAA;IAC/C,QAAQ,OAAA,SAAM,CAAK,MAAM,WAAW,eAAA,QAAiB,KAAA;IACrD,KAAK,OAAA,SAAM,CAAK,MAAM,WAAW,YAAA,QAAc,KAAA;IAC/C,aAAW,MAAM,UAAO,SAAY,KAAA;IACpC,iBAAe,aAAA;IACf,cAAY,MAAM;IAClB,UAAU,OAAA,SAAU,MAAM,WAAQ,KAAQ,KAAA;IAC1C,OAAK,eAAA;KAAG,MAAA,iBAAA;KAAmB,UAAA;KAAW,QAAA,QAAO,uBAAA;IAAA,CAAA;IAC7C,OAAK,eAAE,YAAA,KAAW;IACH;;2BAEmE,CAAjE,MAAM,WAAA,UAAA,GAAxB,YAAmF,MAAA,qBAAA,GAAA;;KAAlD,OAAM;KAAuB,eAAY;wCAC1E,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { r as grButtonClass } from "../../chunks/grButtonStyles-
|
|
2
|
-
import { t as GrButton_default } from "./chunks/GrButton-
|
|
3
|
-
import { n as grButtonSafelist, t as grButtonClassTokens } from "../../chunks/safelist-
|
|
4
|
-
import { t as grButtonConfig } from "../../chunks/config-
|
|
1
|
+
import { r as grButtonClass } from "../../chunks/grButtonStyles-C7Yga_Q1.js";
|
|
2
|
+
import { t as GrButton_default } from "./chunks/GrButton-BlffdeJr.js";
|
|
3
|
+
import { n as grButtonSafelist, t as grButtonClassTokens } from "../../chunks/safelist-Do2RtzLB.js";
|
|
4
|
+
import { t as grButtonConfig } from "../../chunks/config-C4snOIXg.js";
|
|
5
5
|
export { GrButton_default as GrButton, GrButton_default as default, grButtonClass, grButtonClassTokens, grButtonConfig, grButtonSafelist };
|
package/dist/components/GrButtonGroup/chunks/{GrButtonGroup-CPOH6V-P.js → GrButtonGroup-Bs9dEKfA.js}
RENAMED
|
@@ -9,7 +9,7 @@ var GrButtonGroup_default = /* @__PURE__ */ defineComponent({
|
|
|
9
9
|
setup(__props) {
|
|
10
10
|
return (_ctx, _cache) => {
|
|
11
11
|
return openBlock(), createElementBlock("div", {
|
|
12
|
-
"data-
|
|
12
|
+
"data-gr-button-group": "",
|
|
13
13
|
class: "inline-flex items-stretch",
|
|
14
14
|
role: "group",
|
|
15
15
|
"aria-label": __props.ariaLabel
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrButtonGroup-Bs9dEKfA.js","names":[],"sources":["../../../../src/components/GrButtonGroup/GrButtonGroup.vue","../../../../src/components/GrButtonGroup/GrButtonGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nwithDefaults(\n defineProps<{\n ariaLabel?: string\n }>(),\n {\n ariaLabel: undefined,\n },\n)\n</script>\n\n<template>\n <div\n data-gr-button-group\n class=\"inline-flex items-stretch\"\n role=\"group\"\n :aria-label=\"ariaLabel\"\n >\n <slot />\n </div>\n</template>\n<style>\n[data-gr-button-group] {\n --gr-button-group-radius: 0.375rem;\n}\n\n[data-gr-button-group] > [data-gr-button] {\n border-radius: 0;\n position: relative;\n}\n\n[data-gr-button-group] > [data-gr-button] + [data-gr-button] {\n margin-inline-start: -1px;\n}\n\n[data-gr-button-group] > [data-gr-button]:hover,\n[data-gr-button-group] > [data-gr-button]:focus-visible {\n z-index: 1;\n}\n\n[data-gr-button-group] > [data-gr-button]:first-child {\n border-start-start-radius: var(--gr-button-group-radius);\n border-end-start-radius: var(--gr-button-group-radius);\n}\n\n[data-gr-button-group] > [data-gr-button]:last-child {\n border-start-end-radius: var(--gr-button-group-radius);\n border-end-end-radius: var(--gr-button-group-radius);\n}\n\n</style>","<script setup lang=\"ts\">\nwithDefaults(\n defineProps<{\n ariaLabel?: string\n }>(),\n {\n ariaLabel: undefined,\n },\n)\n</script>\n\n<template>\n <div\n data-gr-button-group\n class=\"inline-flex items-stretch\"\n role=\"group\"\n :aria-label=\"ariaLabel\"\n >\n <slot />\n </div>\n</template>\n<style>\n[data-gr-button-group] {\n --gr-button-group-radius: 0.375rem;\n}\n\n[data-gr-button-group] > [data-gr-button] {\n border-radius: 0;\n position: relative;\n}\n\n[data-gr-button-group] > [data-gr-button] + [data-gr-button] {\n margin-inline-start: -1px;\n}\n\n[data-gr-button-group] > [data-gr-button]:hover,\n[data-gr-button-group] > [data-gr-button]:focus-visible {\n z-index: 1;\n}\n\n[data-gr-button-group] > [data-gr-button]:first-child {\n border-start-start-radius: var(--gr-button-group-radius);\n border-end-start-radius: var(--gr-button-group-radius);\n}\n\n[data-gr-button-group] > [data-gr-button]:last-child {\n border-start-end-radius: var(--gr-button-group-radius);\n border-end-end-radius: var(--gr-button-group-radius);\n}\n\n</style>"],"mappings":";;;;;;;;;;uBAYE,mBAOM,OAAA;IANF,wBAAA;IACA,OAAM;IACN,MAAK;IACJ,cAAY,QAAA;OAEf,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,GAAA,UAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as GrButtonGroup_default } from "./chunks/GrButtonGroup-
|
|
2
|
-
import { t as grButtonGroupConfig } from "../../chunks/config-
|
|
1
|
+
import { t as GrButtonGroup_default } from "./chunks/GrButtonGroup-Bs9dEKfA.js";
|
|
2
|
+
import { t as grButtonGroupConfig } from "../../chunks/config-DBmdgoVf.js";
|
|
3
3
|
export { GrButtonGroup_default as GrButtonGroup, GrButtonGroup_default as default, grButtonGroupConfig };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { t as _plugin_vue_export_helper_default } from "../../../chunks/_plugin-vue_export-helper-
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "../../../chunks/_plugin-vue_export-helper-BOaGB7Aw.js";
|
|
2
2
|
import { createElementBlock, openBlock, renderSlot } from "vue";
|
|
3
3
|
//#region src/components/GrCard/GrCard.vue
|
|
4
4
|
var _sfc_main = {};
|
|
5
|
-
var _hoisted_1 = { class: "rounded-[var(--
|
|
5
|
+
var _hoisted_1 = { class: "rounded-[var(--gr-radius-lg)] border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-sm" };
|
|
6
6
|
function _sfc_render(_ctx, _cache) {
|
|
7
7
|
return openBlock(), createElementBlock("div", _hoisted_1, [renderSlot(_ctx.$slots, "default")]);
|
|
8
8
|
}
|
|
9
|
-
var GrCard_default =
|
|
9
|
+
var GrCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main, [["render", _sfc_render]]);
|
|
10
10
|
//#endregion
|
|
11
11
|
export { GrCard_default as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrCard-DUNMkuHW.js","names":[],"sources":["../../../../src/components/GrCard/GrCard.vue"],"sourcesContent":["<template>\n <div\n class=\"rounded-[var(--gr-radius-lg)] border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-sm\"\n>\n <slot />\n </div>\n</template>"],"mappings":";;;;mBAEM,OAAM,4GAA2G;;qBADrH,mBAIM,OAJN,YAIM,CADJ,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as GrCard_default } from "./chunks/GrCard-
|
|
2
|
-
import { t as grCardConfig } from "../../chunks/config-
|
|
1
|
+
import { t as GrCard_default } from "./chunks/GrCard-DUNMkuHW.js";
|
|
2
|
+
import { t as grCardConfig } from "../../chunks/config-CThzliFi.js";
|
|
3
3
|
export { GrCard_default as GrCard, GrCard_default as default, grCardConfig };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { createElementBlock, createElementVNode,
|
|
1
|
+
import { createBlock, createElementBlock, createElementVNode, defineComponent, markRaw, normalizeClass, onMounted, openBlock, ref, renderSlot, unref, watch, withKeys, withModifiers } from "vue";
|
|
2
2
|
//#region ~icons/lucide/check
|
|
3
|
-
var _hoisted_1$
|
|
3
|
+
var _hoisted_1$2 = {
|
|
4
4
|
viewBox: "0 0 24 24",
|
|
5
5
|
width: "1.2em",
|
|
6
6
|
height: "1.2em"
|
|
7
7
|
};
|
|
8
|
-
function render$
|
|
9
|
-
return openBlock(), createElementBlock("svg", _hoisted_1$
|
|
8
|
+
function render$2(_ctx, _cache) {
|
|
9
|
+
return openBlock(), createElementBlock("svg", _hoisted_1$2, [..._cache[0] || (_cache[0] = [createElementVNode("path", {
|
|
10
10
|
fill: "none",
|
|
11
11
|
stroke: "currentColor",
|
|
12
12
|
"stroke-linecap": "round",
|
|
@@ -17,6 +17,27 @@ function render$1(_ctx, _cache) {
|
|
|
17
17
|
}
|
|
18
18
|
var check_default = markRaw({
|
|
19
19
|
name: "lucide-check",
|
|
20
|
+
render: render$2
|
|
21
|
+
});
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region ~icons/lucide/minus
|
|
24
|
+
var _hoisted_1$1 = {
|
|
25
|
+
viewBox: "0 0 24 24",
|
|
26
|
+
width: "1.2em",
|
|
27
|
+
height: "1.2em"
|
|
28
|
+
};
|
|
29
|
+
function render$1(_ctx, _cache) {
|
|
30
|
+
return openBlock(), createElementBlock("svg", _hoisted_1$1, [..._cache[0] || (_cache[0] = [createElementVNode("path", {
|
|
31
|
+
fill: "none",
|
|
32
|
+
stroke: "currentColor",
|
|
33
|
+
"stroke-linecap": "round",
|
|
34
|
+
"stroke-linejoin": "round",
|
|
35
|
+
"stroke-width": "2",
|
|
36
|
+
d: "M5 12h14"
|
|
37
|
+
}, null, -1)])]);
|
|
38
|
+
}
|
|
39
|
+
var minus_default = markRaw({
|
|
40
|
+
name: "lucide-minus",
|
|
20
41
|
render: render$1
|
|
21
42
|
});
|
|
22
43
|
//#endregion
|
|
@@ -57,16 +78,25 @@ var GrCheckbox_default = /* @__PURE__ */ defineComponent({
|
|
|
57
78
|
default: false
|
|
58
79
|
},
|
|
59
80
|
form: { default: void 0 },
|
|
60
|
-
id: { default: void 0 }
|
|
81
|
+
id: { default: void 0 },
|
|
82
|
+
indeterminate: {
|
|
83
|
+
type: Boolean,
|
|
84
|
+
default: false
|
|
85
|
+
}
|
|
61
86
|
},
|
|
62
87
|
emits: ["update:modelValue"],
|
|
63
88
|
setup(__props, { emit: __emit }) {
|
|
64
89
|
/**
|
|
65
|
-
* GrCheckbox —
|
|
90
|
+
* GrCheckbox — GR-примитив чекбокса с нативным скрытым `<input type="checkbox">`
|
|
66
91
|
* для интеграции с HTML-формами (`FormData`, `required`, `form`).
|
|
67
92
|
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
93
|
+
* Источник истины — нативный input: клик по нему (в т.ч. по внешнему
|
|
94
|
+
* `<label for="...">`) слушается через `@change` и эмитит модель. Клик по видимой
|
|
95
|
+
* части компонента переключает через корневой обработчик.
|
|
96
|
+
*
|
|
97
|
+
* Клавиатура: `Space` переключает значение (Enter — намеренно нет, это нестандартно
|
|
98
|
+
* для чекбоксов). Фокус — на корневом элементе.
|
|
99
|
+
* A11y: `role="checkbox"` + `aria-checked` (`true`/`false`/`mixed`) + `aria-disabled`.
|
|
70
100
|
*/
|
|
71
101
|
const hiddenInputStyle = {
|
|
72
102
|
position: "absolute",
|
|
@@ -81,9 +111,20 @@ var GrCheckbox_default = /* @__PURE__ */ defineComponent({
|
|
|
81
111
|
watch(() => props.modelValue, (value) => {
|
|
82
112
|
if (nativeInput.value && nativeInput.value.checked !== value) nativeInput.value.checked = value;
|
|
83
113
|
});
|
|
84
|
-
function
|
|
114
|
+
function syncIndeterminate() {
|
|
115
|
+
if (nativeInput.value) nativeInput.value.indeterminate = props.indeterminate;
|
|
116
|
+
}
|
|
117
|
+
watch(() => props.indeterminate, syncIndeterminate);
|
|
118
|
+
onMounted(syncIndeterminate);
|
|
119
|
+
function setChecked(next) {
|
|
85
120
|
if (props.disabled) return;
|
|
86
|
-
emit("update:modelValue",
|
|
121
|
+
emit("update:modelValue", next);
|
|
122
|
+
}
|
|
123
|
+
function toggle() {
|
|
124
|
+
setChecked(props.indeterminate ? true : !props.modelValue);
|
|
125
|
+
}
|
|
126
|
+
function onNativeChange(e) {
|
|
127
|
+
setChecked(e.target.checked);
|
|
87
128
|
}
|
|
88
129
|
function isInteractiveTarget(target) {
|
|
89
130
|
const el = target;
|
|
@@ -96,14 +137,14 @@ var GrCheckbox_default = /* @__PURE__ */ defineComponent({
|
|
|
96
137
|
}
|
|
97
138
|
return (_ctx, _cache) => {
|
|
98
139
|
return openBlock(), createElementBlock("div", {
|
|
99
|
-
"data-
|
|
140
|
+
"data-gr-checkbox": "",
|
|
100
141
|
class: normalizeClass(["inline-flex items-center gap-2 select-none focus-visible:outline-none focus-visible:rounded-[8px] focus-visible:shadow-[0_0_0_2px_var(--ring),0_0_0_4px_var(--bg)]", __props.disabled ? "cursor-not-allowed opacity-70" : "cursor-pointer"]),
|
|
101
142
|
role: "checkbox",
|
|
102
|
-
"aria-checked": __props.modelValue ? "true" : "false",
|
|
143
|
+
"aria-checked": __props.indeterminate ? "mixed" : __props.modelValue ? "true" : "false",
|
|
103
144
|
"aria-disabled": __props.disabled ? "true" : void 0,
|
|
104
145
|
tabindex: __props.disabled ? -1 : 0,
|
|
105
146
|
onClick,
|
|
106
|
-
onKeydown:
|
|
147
|
+
onKeydown: withKeys(withModifiers(toggle, ["prevent"]), ["space"])
|
|
107
148
|
}, [
|
|
108
149
|
createElementVNode("input", {
|
|
109
150
|
id: __props.id,
|
|
@@ -118,13 +159,20 @@ var GrCheckbox_default = /* @__PURE__ */ defineComponent({
|
|
|
118
159
|
form: __props.form,
|
|
119
160
|
tabindex: "-1",
|
|
120
161
|
"aria-hidden": "true",
|
|
121
|
-
style: hiddenInputStyle
|
|
122
|
-
|
|
162
|
+
style: hiddenInputStyle,
|
|
163
|
+
onChange: onNativeChange
|
|
164
|
+
}, null, 40, _hoisted_2),
|
|
123
165
|
createElementVNode("span", {
|
|
124
|
-
"data-
|
|
166
|
+
"data-gr-checkbox-indicator": "",
|
|
125
167
|
"aria-hidden": "true",
|
|
126
|
-
class: normalizeClass(["h-4 w-4 rounded border flex items-center justify-center transition-colors duration-150", __props.modelValue ? "border-[var(--primary)] bg-[var(--primary)]" : "border-[var(--brd)] bg-[var(--bg)]"])
|
|
127
|
-
}, [
|
|
168
|
+
class: normalizeClass(["h-4 w-4 rounded border flex items-center justify-center transition-colors duration-150", __props.modelValue || __props.indeterminate ? "border-[var(--primary)] bg-[var(--primary)]" : "border-[var(--brd)] bg-[var(--bg)]"])
|
|
169
|
+
}, [__props.indeterminate ? (openBlock(), createBlock(unref(minus_default), {
|
|
170
|
+
key: 0,
|
|
171
|
+
class: "gr-checkbox-icon h-3.5 w-3.5 text-[var(--primary-fg)]"
|
|
172
|
+
})) : (openBlock(), createBlock(unref(check_default), {
|
|
173
|
+
key: 1,
|
|
174
|
+
class: normalizeClass(["gr-checkbox-icon h-3.5 w-3.5 transition-transform transition-opacity duration-150", __props.modelValue ? "opacity-100 scale-100 text-[var(--primary-fg)]" : "opacity-0 scale-75 text-transparent"])
|
|
175
|
+
}, null, 8, ["class"]))], 2),
|
|
128
176
|
createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default")])
|
|
129
177
|
], 42, _hoisted_1);
|
|
130
178
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrCheckbox-DJhzZZdO.js","names":[],"sources":["../../../../src/components/GrCheckbox/GrCheckbox.vue","../../../../src/components/GrCheckbox/GrCheckbox.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * GrCheckbox — GR-примитив чекбокса с нативным скрытым `<input type=\"checkbox\">`\n * для интеграции с HTML-формами (`FormData`, `required`, `form`).\n *\n * Источник истины — нативный input: клик по нему (в т.ч. по внешнему\n * `<label for=\"...\">`) слушается через `@change` и эмитит модель. Клик по видимой\n * части компонента переключает через корневой обработчик.\n *\n * Клавиатура: `Space` переключает значение (Enter — намеренно нет, это нестандартно\n * для чекбоксов). Фокус — на корневом элементе.\n * A11y: `role=\"checkbox\"` + `aria-checked` (`true`/`false`/`mixed`) + `aria-disabled`.\n */\nimport { onMounted, ref, watch } from 'vue'\nimport IconCheck from '~icons/lucide/check'\nimport IconMinus from '~icons/lucide/minus'\n\nexport interface GrCheckboxProps {\n modelValue?: boolean\n disabled?: boolean\n name?: string\n value?: string\n required?: boolean\n form?: string\n /** Пробрасывается на скрытый нативный `<input>`, чтобы работал `<label for=\"...\">`. */\n id?: string\n /** Промежуточное («смешанное») состояние: `aria-checked=\"mixed\"`, индикатор — тире. */\n indeterminate?: boolean\n}\n\nconst hiddenInputStyle = {\n position: 'absolute',\n opacity: '0',\n width: '0',\n height: '0',\n pointerEvents: 'none',\n} as const\n\nconst props = withDefaults(defineProps<GrCheckboxProps>(), {\n modelValue: false,\n disabled: false,\n name: undefined,\n value: 'on',\n required: false,\n form: undefined,\n id: undefined,\n indeterminate: false,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n}>()\n\n// Держим `.checked` на нативном input синхронно с пропом — `:checked`-биндинг\n// на скрытом элементе иногда отстаёт при программных обновлениях.\nconst nativeInput = ref<HTMLInputElement | null>(null)\nwatch(\n () => props.modelValue,\n (value) => {\n if (nativeInput.value && nativeInput.value.checked !== value)\n nativeInput.value.checked = value\n },\n)\n\n// `indeterminate` можно выставить только через JS-свойство (не атрибут).\nfunction syncIndeterminate(): void {\n if (nativeInput.value)\n nativeInput.value.indeterminate = props.indeterminate\n}\nwatch(() => props.indeterminate, syncIndeterminate)\nonMounted(syncIndeterminate)\n\nfunction setChecked(next: boolean): void {\n if (props.disabled)\n return\n emit('update:modelValue', next)\n}\n\nfunction toggle(): void {\n // Из промежуточного состояния переключаемся во «включено» (стандартное поведение).\n setChecked(props.indeterminate ? true : !props.modelValue)\n}\n\n// Клик по нативному input (в т.ч. по внешнему `<label for=\"...\">`) уже переключил его\n// `.checked` — берём значение как источник истины и эмитим модель.\nfunction onNativeChange(e: Event): void {\n setChecked((e.target as HTMLInputElement).checked)\n}\n\nfunction isInteractiveTarget(target: EventTarget | null): boolean {\n const el = target as HTMLElement | null\n if (!el)\n return false\n return !!el.closest('a,button,input,select,textarea,label,[role=\"button\"],[role=\"link\"]')\n}\n\nfunction onClick(e: MouseEvent): void {\n if (isInteractiveTarget(e.target))\n return\n toggle()\n}\n</script>\n<template>\n <div\n data-gr-checkbox\n class=\"inline-flex items-center gap-2 select-none focus-visible:outline-none focus-visible:rounded-[8px] focus-visible:shadow-[0_0_0_2px_var(--ring),0_0_0_4px_var(--bg)]\"\n role=\"checkbox\"\n :aria-checked=\"indeterminate ? 'mixed' : (modelValue ? 'true' : 'false')\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n :tabindex=\"disabled ? -1 : 0\"\n :class=\"disabled ? 'cursor-not-allowed opacity-70' : 'cursor-pointer'\"\n @click=\"onClick\"\n @keydown.space.prevent=\"toggle\"\n >\n <input\n :id=\"id\"\n ref=\"nativeInput\"\n type=\"checkbox\"\n :checked=\"modelValue\"\n :disabled=\"disabled\"\n :name=\"name\"\n :value=\"value\"\n :required=\"required\"\n :form=\"form\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n :style=\"hiddenInputStyle\"\n @change=\"onNativeChange\"\n >\n <span\n data-gr-checkbox-indicator\n aria-hidden=\"true\"\n class=\"h-4 w-4 rounded border flex items-center justify-center transition-colors duration-150\"\n :class=\"(modelValue || indeterminate)\n ? 'border-[var(--primary)] bg-[var(--primary)]'\n : 'border-[var(--brd)] bg-[var(--bg)]'\"\n >\n <IconMinus\n v-if=\"indeterminate\"\n class=\"gr-checkbox-icon h-3.5 w-3.5 text-[var(--primary-fg)]\"\n />\n <IconCheck\n v-else\n class=\"gr-checkbox-icon h-3.5 w-3.5 transition-transform transition-opacity duration-150\"\n :class=\"modelValue\n ? 'opacity-100 scale-100 text-[var(--primary-fg)]'\n : 'opacity-0 scale-75 text-transparent'\"\n />\n </span>\n <span class=\"text-sm text-[var(--muted-fg)]\">\n <slot />\n </span>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * GrCheckbox — GR-примитив чекбокса с нативным скрытым `<input type=\"checkbox\">`\n * для интеграции с HTML-формами (`FormData`, `required`, `form`).\n *\n * Источник истины — нативный input: клик по нему (в т.ч. по внешнему\n * `<label for=\"...\">`) слушается через `@change` и эмитит модель. Клик по видимой\n * части компонента переключает через корневой обработчик.\n *\n * Клавиатура: `Space` переключает значение (Enter — намеренно нет, это нестандартно\n * для чекбоксов). Фокус — на корневом элементе.\n * A11y: `role=\"checkbox\"` + `aria-checked` (`true`/`false`/`mixed`) + `aria-disabled`.\n */\nimport { onMounted, ref, watch } from 'vue'\nimport IconCheck from '~icons/lucide/check'\nimport IconMinus from '~icons/lucide/minus'\n\nexport interface GrCheckboxProps {\n modelValue?: boolean\n disabled?: boolean\n name?: string\n value?: string\n required?: boolean\n form?: string\n /** Пробрасывается на скрытый нативный `<input>`, чтобы работал `<label for=\"...\">`. */\n id?: string\n /** Промежуточное («смешанное») состояние: `aria-checked=\"mixed\"`, индикатор — тире. */\n indeterminate?: boolean\n}\n\nconst hiddenInputStyle = {\n position: 'absolute',\n opacity: '0',\n width: '0',\n height: '0',\n pointerEvents: 'none',\n} as const\n\nconst props = withDefaults(defineProps<GrCheckboxProps>(), {\n modelValue: false,\n disabled: false,\n name: undefined,\n value: 'on',\n required: false,\n form: undefined,\n id: undefined,\n indeterminate: false,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n}>()\n\n// Держим `.checked` на нативном input синхронно с пропом — `:checked`-биндинг\n// на скрытом элементе иногда отстаёт при программных обновлениях.\nconst nativeInput = ref<HTMLInputElement | null>(null)\nwatch(\n () => props.modelValue,\n (value) => {\n if (nativeInput.value && nativeInput.value.checked !== value)\n nativeInput.value.checked = value\n },\n)\n\n// `indeterminate` можно выставить только через JS-свойство (не атрибут).\nfunction syncIndeterminate(): void {\n if (nativeInput.value)\n nativeInput.value.indeterminate = props.indeterminate\n}\nwatch(() => props.indeterminate, syncIndeterminate)\nonMounted(syncIndeterminate)\n\nfunction setChecked(next: boolean): void {\n if (props.disabled)\n return\n emit('update:modelValue', next)\n}\n\nfunction toggle(): void {\n // Из промежуточного состояния переключаемся во «включено» (стандартное поведение).\n setChecked(props.indeterminate ? true : !props.modelValue)\n}\n\n// Клик по нативному input (в т.ч. по внешнему `<label for=\"...\">`) уже переключил его\n// `.checked` — берём значение как источник истины и эмитим модель.\nfunction onNativeChange(e: Event): void {\n setChecked((e.target as HTMLInputElement).checked)\n}\n\nfunction isInteractiveTarget(target: EventTarget | null): boolean {\n const el = target as HTMLElement | null\n if (!el)\n return false\n return !!el.closest('a,button,input,select,textarea,label,[role=\"button\"],[role=\"link\"]')\n}\n\nfunction onClick(e: MouseEvent): void {\n if (isInteractiveTarget(e.target))\n return\n toggle()\n}\n</script>\n<template>\n <div\n data-gr-checkbox\n class=\"inline-flex items-center gap-2 select-none focus-visible:outline-none focus-visible:rounded-[8px] focus-visible:shadow-[0_0_0_2px_var(--ring),0_0_0_4px_var(--bg)]\"\n role=\"checkbox\"\n :aria-checked=\"indeterminate ? 'mixed' : (modelValue ? 'true' : 'false')\"\n :aria-disabled=\"disabled ? 'true' : undefined\"\n :tabindex=\"disabled ? -1 : 0\"\n :class=\"disabled ? 'cursor-not-allowed opacity-70' : 'cursor-pointer'\"\n @click=\"onClick\"\n @keydown.space.prevent=\"toggle\"\n >\n <input\n :id=\"id\"\n ref=\"nativeInput\"\n type=\"checkbox\"\n :checked=\"modelValue\"\n :disabled=\"disabled\"\n :name=\"name\"\n :value=\"value\"\n :required=\"required\"\n :form=\"form\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n :style=\"hiddenInputStyle\"\n @change=\"onNativeChange\"\n >\n <span\n data-gr-checkbox-indicator\n aria-hidden=\"true\"\n class=\"h-4 w-4 rounded border flex items-center justify-center transition-colors duration-150\"\n :class=\"(modelValue || indeterminate)\n ? 'border-[var(--primary)] bg-[var(--primary)]'\n : 'border-[var(--brd)] bg-[var(--bg)]'\"\n >\n <IconMinus\n v-if=\"indeterminate\"\n class=\"gr-checkbox-icon h-3.5 w-3.5 text-[var(--primary-fg)]\"\n />\n <IconCheck\n v-else\n class=\"gr-checkbox-icon h-3.5 w-3.5 transition-transform transition-opacity duration-150\"\n :class=\"modelValue\n ? 'opacity-100 scale-100 text-[var(--primary-fg)]'\n : 'opacity-0 scale-75 text-transparent'\"\n />\n </span>\n <span class=\"text-sm text-[var(--muted-fg)]\">\n <slot />\n </span>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8BA,MAAM,mBAAmB;GACvB,UAAU;GACV,SAAS;GACT,OAAO;GACP,QAAQ;GACR,eAAe;EACjB;EAEA,MAAM,QAAQ;EAWd,MAAM,OAAO;EAMb,MAAM,cAAc,IAA6B,IAAI;EACrD,YACQ,MAAM,aACX,UAAU;GACT,IAAI,YAAY,SAAS,YAAY,MAAM,YAAY,OACrD,YAAY,MAAM,UAAU;EAChC,CACF;EAGA,SAAS,oBAA0B;GACjC,IAAI,YAAY,OACd,YAAY,MAAM,gBAAgB,MAAM;EAC5C;EACA,YAAY,MAAM,eAAe,iBAAiB;EAClD,UAAU,iBAAiB;EAE3B,SAAS,WAAW,MAAqB;GACvC,IAAI,MAAM,UACR;GACF,KAAK,qBAAqB,IAAI;EAChC;EAEA,SAAS,SAAe;GAEtB,WAAW,MAAM,gBAAgB,OAAO,CAAC,MAAM,UAAU;EAC3D;EAIA,SAAS,eAAe,GAAgB;GACtC,WAAY,EAAE,OAA4B,OAAO;EACnD;EAEA,SAAS,oBAAoB,QAAqC;GAChE,MAAM,KAAK;GACX,IAAI,CAAC,IACH,OAAO;GACT,OAAO,CAAC,CAAC,GAAG,QAAQ,wEAAoE;EAC1F;EAEA,SAAS,QAAQ,GAAqB;GACpC,IAAI,oBAAoB,EAAE,MAAM,GAC9B;GACF,OAAO;EACT;;uBAGE,mBAiDM,OAAA;IAhDJ,oBAAA;IACA,OAAK,eAAA,CAAC,sKAKE,QAAA,WAAQ,kCAAA,gBAAA,CAAA;IAJhB,MAAK;IACJ,gBAAc,QAAA,gBAAa,UAAc,QAAA,aAAU,SAAA;IACnD,iBAAe,QAAA,WAAQ,SAAY,KAAA;IACnC,UAAU,QAAA,WAAQ,KAAA;IAEX;IACP,WAAO,SAAA,cAAgB,QAAM,CAAA,SAAA,CAAA,GAAA,CAAA,OAAA,CAAA;;IAE9B,mBAcC,SAAA;KAbE,IAAI,QAAA;cACD;KAAJ,KAAI;KACJ,MAAK;KACJ,SAAS,QAAA;KACT,UAAU,QAAA;KACV,MAAM,QAAA;KACN,OAAO,QAAA;KACP,UAAU,QAAA;KACV,MAAM,QAAA;KACP,UAAS;KACT,eAAY;KACX,OAAO;KACP,UAAQ;;IAEX,mBAmBO,QAAA;KAlBL,8BAAA;KACA,eAAY;KACZ,OAAK,eAAA,CAAC,0FACG,QAAA,cAAc,QAAA,gBAAA,gDAAA,oCAAA,CAAA;QAKf,QAAA,iBAAA,UAAA,GADR,YAGE,MAAA,aAAA,GAAA;;KADA,OAAM;wBAER,YAME,MAAA,aAAA,GAAA;;KAJA,OAAK,eAAA,CAAC,qFACE,QAAA,aAAA,mDAAA,qCAAA,CAAA;;IAKZ,mBAEO,QAFP,YAEO,CADL,WAAQ,KAAA,QAAA,SAAA,CAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as GrCheckbox_default } from "./chunks/GrCheckbox-
|
|
2
|
-
import { t as grCheckboxConfig } from "../../chunks/config-
|
|
1
|
+
import { t as GrCheckbox_default } from "./chunks/GrCheckbox-DJhzZZdO.js";
|
|
2
|
+
import { t as grCheckboxConfig } from "../../chunks/config-DICOd-2X.js";
|
|
3
3
|
export { GrCheckbox_default as GrCheckbox, GrCheckbox_default as default, grCheckboxConfig };
|