@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
package/README.md
CHANGED
|
@@ -1,55 +1,54 @@
|
|
|
1
1
|
# `@feugene/granularity`
|
|
2
2
|
|
|
3
|
-
`@feugene/granularity`
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
`@feugene/granularity` is a `Vue 3` design system package that helps you build interfaces faster, cleaner, and more
|
|
4
|
+
predictably: with ready-made components, a transparent styling system, granular imports, and a tidy `UnoCSS`
|
|
5
|
+
integration.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
It's built for cases where a design system needs to be more than just a set of UI pieces — a working engineering
|
|
8
|
+
tool: convenient for a product team, scalable for a large application, and flexible enough for different adoption
|
|
9
|
+
strategies.
|
|
10
10
|
|
|
11
|
-
##
|
|
11
|
+
## Why it exists
|
|
12
12
|
|
|
13
|
-
-
|
|
14
|
-
-
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
package-level API.
|
|
13
|
+
- to launch new screens and features on a single visual foundation;
|
|
14
|
+
- to adopt the package incrementally, without rewriting the whole application;
|
|
15
|
+
- to control the size of the `JS` and `CSS` you ship, when that actually matters;
|
|
16
|
+
- to use the same package both as a ready-made component library and as a source of low-level package-level APIs.
|
|
18
17
|
|
|
19
|
-
##
|
|
18
|
+
## What makes `granularity` good
|
|
20
19
|
|
|
21
|
-
-
|
|
22
|
-
- **Granular
|
|
23
|
-
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
pipeline.
|
|
29
|
-
-
|
|
30
|
-
|
|
20
|
+
- **Fast start without unnecessary magic.** You can simply import components and ready-made style entrypoints.
|
|
21
|
+
- **Granular imports.** Components are available both from the root API and via `subpath exports`, if you need finer
|
|
22
|
+
control over bundle size.
|
|
23
|
+
- **Sane styling.** Tokens, base styles, themes, and component-level CSS are split into clear layers.
|
|
24
|
+
- **Ready for real scale.** The package works for "just plugged in a few components" as well as scenarios where
|
|
25
|
+
dependency-aware imports, safelist, and precise CSS pipeline tuning matter.
|
|
26
|
+
- **Integrates with `UnoCSS` without forcing it on you.** If `UnoCSS` is already in the app — the package plugs into
|
|
27
|
+
the existing pipeline. If it isn't — the basic scenario stays direct and simple.
|
|
28
|
+
- **Not just components.** Alongside the UI you get directives, a file validation API, and utility entrypoints for
|
|
29
|
+
infrastructure scenarios.
|
|
31
30
|
|
|
32
|
-
##
|
|
31
|
+
## Technical highlights
|
|
33
32
|
|
|
34
33
|
- root export: `@feugene/granularity`;
|
|
35
34
|
- component subpath exports: `@feugene/granularity/components/<ComponentName>`;
|
|
36
|
-
-
|
|
37
|
-
- `@feugene/granularity/foundation.css` — `tokens` +
|
|
38
|
-
- `@feugene/granularity/styles.css` — `foundation`
|
|
39
|
-
- `@feugene/granularity/components/<ComponentName>/styles.css` — `foundation`
|
|
35
|
+
- ready-made CSS entrypoints:
|
|
36
|
+
- `@feugene/granularity/foundation.css` — `tokens` + built-in `light`/`dark` themes + `base`;
|
|
37
|
+
- `@feugene/granularity/styles.css` — `foundation` plus styles for all components;
|
|
38
|
+
- `@feugene/granularity/components/<ComponentName>/styles.css` — `foundation` plus styles for a specific component and its dependencies;
|
|
40
39
|
- low-level foundation exports: `@feugene/granularity/styles/tokens.css`, `@feugene/granularity/styles/base.css`, `@feugene/granularity/styles/themes/light.css`, `@feugene/granularity/styles/themes/dark.css`;
|
|
41
40
|
- package-level API: `@feugene/granularity/directives`, `@feugene/granularity/fileValidation`;
|
|
42
|
-
-
|
|
41
|
+
- two `UnoCSS` integration scenarios:
|
|
43
42
|
- `@feugene/granularity/uno` — browser-safe preset;
|
|
44
|
-
- `@feugene/granularity/uno-node` — node-oriented preset
|
|
43
|
+
- `@feugene/granularity/uno-node` — node-oriented preset with CSS/preflight helpers.
|
|
45
44
|
|
|
46
|
-
##
|
|
45
|
+
## Quick start
|
|
47
46
|
|
|
48
47
|
```bash
|
|
49
48
|
yarn add @feugene/granularity vue
|
|
50
49
|
```
|
|
51
50
|
|
|
52
|
-
|
|
51
|
+
If the application uses `UnoCSS`:
|
|
53
52
|
|
|
54
53
|
```bash
|
|
55
54
|
yarn add -D unocss
|
|
@@ -60,20 +59,20 @@ yarn add -D unocss
|
|
|
60
59
|
import '@feugene/granularity/styles.css'
|
|
61
60
|
```
|
|
62
61
|
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
That's enough to quickly get a working base: `styles.css` already includes `foundation.css` (`tokens`, `base`,
|
|
63
|
+
built-in `light`/`dark` themes) and the styles for all components.
|
|
65
64
|
|
|
66
|
-
|
|
67
|
-
`@feugene/granularity/components/<ComponentName>/styles.css
|
|
65
|
+
If you need a more precise CSS setup, use `@feugene/granularity/foundation.css` together with
|
|
66
|
+
`@feugene/granularity/components/<ComponentName>/styles.css`, or assemble styles via the `UnoCSS` preset.
|
|
68
67
|
|
|
69
|
-
##
|
|
68
|
+
## Documentation
|
|
70
69
|
|
|
71
|
-
- [`docs/README.md`](./docs/README.md) —
|
|
72
|
-
- [`docs/installation.md`](./docs/installation.md) —
|
|
73
|
-
- [`docs/styling.md`](./docs/styling.md) —
|
|
74
|
-
- [`docs/unocss.md`](./docs/unocss.md) —
|
|
75
|
-
- [`docs/localization.md`](./docs/localization.md) —
|
|
76
|
-
- [`docs/directives.md`](./docs/directives.md) — package-level
|
|
70
|
+
- [`docs/README.md`](./docs/README.md) — overview and documentation map
|
|
71
|
+
- [`docs/installation.md`](./docs/installation.md) — installation, public entrypoints, and adoption strategies
|
|
72
|
+
- [`docs/styling.md`](./docs/styling.md) — style layers, themes, and import order
|
|
73
|
+
- [`docs/unocss.md`](./docs/unocss.md) — `UnoCSS` integration
|
|
74
|
+
- [`docs/localization.md`](./docs/localization.md) — how the package plugs into application localization
|
|
75
|
+
- [`docs/directives.md`](./docs/directives.md) — package-level directives
|
|
77
76
|
- [`docs/file-validation.md`](./docs/file-validation.md) — file validation API
|
|
78
|
-
- [`docs/components.md`](./docs/components.md) —
|
|
79
|
-
- [`docs/ADDING_COMPONENTS.md`](./docs/ADDING_COMPONENTS.md) —
|
|
77
|
+
- [`docs/components.md`](./docs/components.md) — catalog of published components
|
|
78
|
+
- [`docs/ADDING_COMPONENTS.md`](./docs/ADDING_COMPONENTS.md) — internal guide for adding a new component
|
package/dist/GrButtonGroup.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-
|
|
1
|
+
[data-gr-button-group]{--gr-button-group-radius:.375rem}[data-gr-button-group]>[data-gr-button]{border-radius:0;position:relative}[data-gr-button-group]>[data-gr-button]+[data-gr-button]{margin-inline-start:-1px}[data-gr-button-group]>[data-gr-button]:hover,[data-gr-button-group]>[data-gr-button]:focus-visible{z-index:1}[data-gr-button-group]>[data-gr-button]:first-child{border-start-start-radius:var(--gr-button-group-radius);border-end-start-radius:var(--gr-button-group-radius)}[data-gr-button-group]>[data-gr-button]:last-child{border-start-end-radius:var(--gr-button-group-radius);border-end-end-radius:var(--gr-button-group-radius)}
|
package/dist/GrFormFile.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
[data-
|
|
1
|
+
[data-gr-form-file].gr-dropzone--over[data-v-ff219d2a]{outline:2px solid var(--ring);outline-offset:2px}
|
package/dist/GrIcon.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:where(.
|
|
1
|
+
:where(.gr-icon){--gr-icon-size:18px;width:var(--gr-icon-size);min-width:var(--gr-icon-size);height:var(--gr-icon-size);flex:none;line-height:0}:where(.gr-icon svg){width:100%;height:100%;display:block}
|
package/dist/GrLoading.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes
|
|
1
|
+
@keyframes gr-loading-spin{to{transform:rotate(360deg)}}.gr-loading__spinner--animated{transform-origin:50%;animation:1s linear infinite gr-loading-spin}
|
package/dist/GrSkeleton.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@keyframes
|
|
1
|
+
@keyframes gr-skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}[data-gr-skeleton]{animation:2s cubic-bezier(.4,0,.6,1) infinite gr-skeleton-pulse}@media (prefers-reduced-motion:reduce){[data-gr-skeleton]{animation:none}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.gr-toast-progress[data-v-2b201c4e]{animation-name:gr-toast-progress-2b201c4e;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes gr-toast-progress-2b201c4e{0%{transform:scaleX(1)}to{transform:scaleX(0)}}
|
package/dist/GrTree.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.gr-tree[data-v-afef9198]{--gr-tree-gap:2px;--gr-tree-children-pl:10px;--gr-tree-row-min-height:28px;--gr-tree-row-radius:8px;--gr-tree-row-pr:8px;--gr-tree-row-color:var(--fg);--gr-tree-row-hover-bg:color-mix(in srgb, var(--primary,#000) 10%, transparent);--gr-tree-row-current-bg:color-mix(in srgb, var(--primary,#000) 5%, transparent);--gr-tree-row-current-hover-bg:color-mix(in srgb, var(--primary,#000) 16%, transparent);--gr-tree-drag-handle-size:24px;--gr-tree-drag-handle-mr:0;--gr-tree-drag-handle-radius:6px;--gr-tree-drag-handle-color:inherit;--gr-tree-drag-handle-opacity:.55;--gr-tree-drag-handle-hover-bg:color-mix(in srgb, var(--muted,#000) 22%, transparent);--gr-tree-drag-handle-hover-color:var(--gr-tree-drag-handle-color);--gr-tree-drag-handle-hover-opacity:.9;--gr-tree-drag-handle-disabled-opacity:.25;--gr-tree-toggle-size:24px;--gr-tree-toggle-mr:0;--gr-tree-toggle-radius:6px;--gr-tree-toggle-color:inherit;--gr-tree-toggle-hover-bg:color-mix(in srgb, var(--muted,#000) 25%, transparent);--gr-tree-toggle-hover-color:var(--gr-tree-toggle-color);--gr-tree-icon-size:16px;--gr-tree-content-gap:8px;--gr-tree-branch-line-default-color:var(--gr-tree-row-current-bg);--gr-tree-branch-line-width:2px;gap:var(--gr-tree-gap);flex-direction:column;display:flex}.gr-tree__children[data-v-afef9198]{gap:var(--gr-tree-gap);flex-direction:column;display:flex}.gr-tree__children-wrap[data-v-afef9198]{--gr-tree-branch-line-color:var(--gr-tree-branch-line-default-color);gap:var(--gr-tree-gap);padding-left:var(--gr-tree-children-pl,10px);border-left:var(--gr-tree-branch-line-width) solid transparent;flex-direction:column;display:flex}.gr-tree__children-wrap--with-branch[data-v-afef9198]{border-left-color:var(--gr-tree-branch-line-color,var(--gr-tree-branch-line-default-color))}.gr-tree__row[data-v-afef9198]{min-height:var(--gr-tree-row-min-height);border-radius:var(--gr-tree-row-radius);padding-right:var(--gr-tree-row-pr);cursor:default;user-select:none;color:var(--gr-tree-row-color);outline:none;align-items:center;display:flex;position:relative}.gr-tree__row[data-v-afef9198]:hover{background:var(--gr-tree-row-hover-bg)}[data-gr-tree-node][data-v-afef9198]{outline:none}[data-gr-tree-node]:focus-visible>.gr-tree__row[data-v-afef9198]{outline:2px solid var(--primary,#000);outline-offset:-2px}.gr-tree__row--current[data-v-afef9198]{background:var(--gr-tree-row-current-bg)}.gr-tree__row--current[data-v-afef9198]:hover{background:var(--gr-tree-row-current-hover-bg)}.gr-tree__row--matched .gr-tree__label[data-v-afef9198]{font-weight:600}.gr-tree__drag-handle[data-v-afef9198]{width:var(--gr-tree-drag-handle-size);height:var(--gr-tree-drag-handle-size);margin-right:var(--gr-tree-drag-handle-mr);border-radius:var(--gr-tree-drag-handle-radius);color:var(--gr-tree-drag-handle-color);cursor:grab;visibility:hidden;pointer-events:none;opacity:0;justify-content:center;align-items:center;display:inline-flex}.gr-tree__drag-handle--visible[data-v-afef9198]{visibility:visible;pointer-events:auto;opacity:var(--gr-tree-drag-handle-opacity)}.gr-tree__drag-handle[data-v-afef9198]:hover{background:var(--gr-tree-drag-handle-hover-bg);color:var(--gr-tree-drag-handle-hover-color);opacity:var(--gr-tree-drag-handle-hover-opacity)}.gr-tree__drag-handle[data-v-afef9198]:active{cursor:grabbing}.gr-tree__drag-handle--disabled[data-v-afef9198]{cursor:default;opacity:var(--gr-tree-drag-handle-disabled-opacity)}.gr-tree__drag-icon[data-v-afef9198]{width:var(--gr-tree-icon-size);height:var(--gr-tree-icon-size)}.gr-tree__toggle[data-v-afef9198]{width:var(--gr-tree-toggle-size);height:var(--gr-tree-toggle-size);margin-right:var(--gr-tree-toggle-mr);border-radius:var(--gr-tree-toggle-radius);color:var(--gr-tree-toggle-color);justify-content:center;align-items:center;display:inline-flex}.gr-tree__toggle[data-v-afef9198]:hover{background:var(--gr-tree-toggle-hover-bg);color:var(--gr-tree-toggle-hover-color)}.gr-tree__toggle-icon[data-v-afef9198]{width:var(--gr-tree-icon-size);height:var(--gr-tree-icon-size);transition:transform .12s}.gr-tree__toggle-icon--expanded[data-v-afef9198]{transform:rotate(90deg)}.gr-tree__toggle-spacer[data-v-afef9198]{width:var(--gr-tree-toggle-size);height:var(--gr-tree-toggle-size);margin-right:var(--gr-tree-toggle-mr);display:inline-block}.gr-tree__content[data-v-afef9198]{align-items:center;gap:var(--gr-tree-content-gap);min-width:0;display:flex}.gr-tree__label[data-v-afef9198]{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.gr-tree__row--drop-inner[data-v-afef9198]{outline:2px solid color-mix(in srgb, var(--primary,#000) 40%, transparent)}.gr-tree__row--drop-prev[data-v-afef9198]:before,.gr-tree__row--drop-next[data-v-afef9198]:after{content:"";background:color-mix(in srgb, var(--primary,#000) 55%, transparent);height:2px;position:absolute;left:8px;right:8px}.gr-tree__row--drop-prev[data-v-afef9198]:before{top:2px}.gr-tree__row--drop-next[data-v-afef9198]:after{bottom:2px}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-
|
|
1
|
+
{"version":3,"file":"adapter-CAOxmn2G.js","names":[],"sources":["../../src/i18n/adapter.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\n\nexport type GranularityI18nParams = Record<string, unknown>\n\nexport type GranularityI18nAdapter = {\n t: (key: string, params?: GranularityI18nParams) => string\n locale?: Readonly<Ref<string>>\n syncLocale?: (locale: string) => void | Promise<void>\n}\n\nexport const GRANULARITY_I18N_KEY: InjectionKey<GranularityI18nAdapter | null> = Symbol.for(\"@feugene/granularity\")"],"mappings":";AAUA,IAAa,uBAAoE,OAAO,IAAI,sBAAsB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arrow-up-C_G4jg8M.js","names":[],"sources":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classTokens-
|
|
1
|
+
{"version":3,"file":"classTokens-BzazaERD.js","names":[],"sources":["../../src/components/shared/classTokens.ts"],"sourcesContent":["export function splitClassTokens(value: string): string[] {\n return value.split(/\\s+/).filter(Boolean)\n}"],"mappings":";AAAA,SAAgB,iBAAiB,OAAyB;CACxD,OAAO,MAAM,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO;AAC1C"}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { t as splitClassTokens } from "./classTokens-
|
|
1
|
+
import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
|
|
2
2
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
3
3
|
//#region src/components/GrTextarea/grTextareaStyles.ts
|
|
4
4
|
var borderClassByState = {
|
|
5
5
|
default: "border-[var(--brd)]",
|
|
6
|
-
success: "border-[var(--
|
|
7
|
-
warning: "border-[var(--
|
|
8
|
-
danger: "border-[var(--
|
|
6
|
+
success: "border-[var(--gr-success)] focus-visible:ring-[var(--gr-success)]",
|
|
7
|
+
warning: "border-[var(--gr-warning)] focus-visible:ring-[var(--gr-warning)]",
|
|
8
|
+
danger: "border-[var(--gr-danger)] focus-visible:ring-[var(--gr-danger)]"
|
|
9
9
|
};
|
|
10
10
|
function grTextareaClass(options) {
|
|
11
11
|
return options.invalid ? borderClassByState.danger : borderClassByState[options.state];
|
|
12
12
|
}
|
|
13
13
|
//#endregion
|
|
14
14
|
//#region src/components/GrTextarea/safelist.ts
|
|
15
|
-
var grTextareaSafelist = [
|
|
15
|
+
var grTextareaSafelist = [.../* @__PURE__ */ new Set([...Object.values(borderClassByState).flatMap(splitClassTokens)])];
|
|
16
16
|
//#endregion
|
|
17
17
|
//#region src/components/GrTextarea/config.ts
|
|
18
18
|
var grTextareaConfig = defineGranularComponent(import.meta.url, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-1uSYl98Y2.js","names":[],"sources":["../../src/components/GrTextarea/grTextareaStyles.ts","../../src/components/GrTextarea/safelist.ts","../../src/components/GrTextarea/config.ts"],"sourcesContent":["export type GrTextareaState = 'default' | 'success' | 'warning' | 'danger'\n\nexport const borderClassByState: Record<GrTextareaState, string> = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--gr-success)] focus-visible:ring-[var(--gr-success)]',\n warning: 'border-[var(--gr-warning)] focus-visible:ring-[var(--gr-warning)]',\n danger: 'border-[var(--gr-danger)] focus-visible:ring-[var(--gr-danger)]',\n}\n\nexport function grTextareaClass(options: { state: GrTextareaState, invalid: boolean }): string {\n return options.invalid ? borderClassByState.danger : borderClassByState[options.state]\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport { borderClassByState } from './grTextareaStyles'\n\nexport const grTextareaSafelist = [...new Set([\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grTextareaSafelist } from './safelist'\n\nexport const grTextareaConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTextarea',\n safelist: grTextareaSafelist,\n})"],"mappings":";;;AAEA,IAAa,qBAAsD;CACjE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;AACV;AAEA,SAAgB,gBAAgB,SAA+D;CAC7F,OAAO,QAAQ,UAAU,mBAAmB,SAAS,mBAAmB,QAAQ;AAClF;;;ACRA,IAAa,qBAAqB,CAAC,mBAAG,IAAI,IAAI,CAC5C,GAAG,OAAO,OAAO,kBAAkB,CAAC,CAAC,QAAQ,gBAAgB,CAC/D,CAAC,CAAC;;;ACDF,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,UAAU;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-8Pcutu1j2.js","names":[],"sources":["../../src/components/GrSkeleton/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grSkeletonConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSkeleton',\n})\n"],"mappings":";;AAEA,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK,EACvE,MAAM,aACR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-B0qIpo8m.js","names":[],"sources":["../../src/components/GrFormSection/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grFormSectionConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFormSection',\n})\n"],"mappings":";;AAEA,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK,EAC1E,MAAM,gBACR,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as splitClassTokens } from "./classTokens-
|
|
2
|
-
import { c as selectLinkNativeLabelVariantClassByVariant, d as selectSizeClassBySize, l as selectLinkSizeClassBySize, u as selectLinkVariantClassByVariant } from "./grSelectStyles-
|
|
1
|
+
import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
|
|
2
|
+
import { c as selectLinkNativeLabelVariantClassByVariant, d as selectSizeClassBySize, l as selectLinkSizeClassBySize, u as selectLinkVariantClassByVariant } from "./grSelectStyles-CLK5hRd3.js";
|
|
3
3
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
4
4
|
//#region src/components/GrSelect/safelist.ts
|
|
5
|
-
var grSelectSafelist = [
|
|
5
|
+
var grSelectSafelist = [.../* @__PURE__ */ new Set([
|
|
6
6
|
...Object.values(selectSizeClassBySize).flatMap(splitClassTokens),
|
|
7
7
|
...Object.values(selectLinkSizeClassBySize).flatMap(splitClassTokens),
|
|
8
8
|
...Object.values(selectLinkVariantClassByVariant).flatMap(splitClassTokens),
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-B7IIWGt_2.js","names":[],"sources":["../../src/components/GrSelect/safelist.ts","../../src/components/GrSelect/config.ts"],"sourcesContent":["import { splitClassTokens } from '../shared/classTokens'\nimport {\n selectLinkNativeLabelVariantClassByVariant,\n selectLinkSizeClassBySize,\n selectLinkVariantClassByVariant,\n selectSizeClassBySize,\n} from './grSelectStyles'\n\n// Правило: литералы из шаблонов (`defaultBaseClass`/`linkBaseClass`/`grSelectPanelClasses`\n// и прочие статические строки) в safelist не дублируем — UnoCSS находит их сканом.\nexport const grSelectSafelist = [...new Set([\n ...Object.values(selectSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(selectLinkSizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(selectLinkVariantClassByVariant).flatMap(splitClassTokens),\n ...Object.values(selectLinkNativeLabelVariantClassByVariant).flatMap(splitClassTokens),\n ...splitClassTokens('no-underline underline underline-offset-4 hover:underline hover:underline-offset-4 peer-hover:underline peer-hover:underline-offset-4'),\n ...splitClassTokens('disabled:opacity-60 disabled:cursor-not-allowed disabled:text-[var(--muted-fg)] disabled:no-underline'),\n ...splitClassTokens('disabled:opacity-50 disabled:cursor-not-allowed'),\n ...splitClassTokens('appearance-none pr-9'),\n ...splitClassTokens('inline-flex items-center gap-1 text-left'),\n ...splitClassTokens('flex items-center justify-between text-left'),\n ...splitClassTokens('block min-w-full w-max whitespace-nowrap'),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grSelectSafelist } from './safelist'\n\nexport const grSelectConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSelect',\n dependencies: ['GrInput'],\n safelist: grSelectSafelist,\n})"],"mappings":";;;;AAUA,IAAa,mBAAmB,CAAC,mBAAG,IAAI,IAAI;CAC1C,GAAG,OAAO,OAAO,qBAAqB,CAAC,CAAC,QAAQ,gBAAgB;CAChE,GAAG,OAAO,OAAO,yBAAyB,CAAC,CAAC,QAAQ,gBAAgB;CACpE,GAAG,OAAO,OAAO,+BAA+B,CAAC,CAAC,QAAQ,gBAAgB;CAC1E,GAAG,OAAO,OAAO,0CAA0C,CAAC,CAAC,QAAQ,gBAAgB;CACrF,GAAG,iBAAiB,uIAAuI;CAC3J,GAAG,iBAAiB,uGAAuG;CAC3H,GAAG,iBAAiB,iDAAiD;CACrE,GAAG,iBAAiB,sBAAsB;CAC1C,GAAG,iBAAiB,0CAA0C;CAC9D,GAAG,iBAAiB,6CAA6C;CACjE,GAAG,iBAAiB,0CAA0C;AAChE,CAAC,CAAC;;;AClBF,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,cAAc,CAAC,SAAS;CACxB,UAAU;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-BEegFP74.js","names":[],"sources":["../../src/components/GrIcon/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grIconConfig = defineGranularComponent(import.meta.url, {\n name: 'GrIcon',\n})"],"mappings":";;AAEA,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK,EACjE,MAAM,SACV,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as splitClassTokens } from "./classTokens-
|
|
1
|
+
import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
|
|
2
2
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
3
3
|
//#region src/components/GrTreeSelect/grTreeSelectStyles.ts
|
|
4
4
|
var sizeClassBySize = {
|
|
@@ -9,9 +9,9 @@ var sizeClassBySize = {
|
|
|
9
9
|
};
|
|
10
10
|
var borderClassByState = {
|
|
11
11
|
default: "border-[var(--brd)]",
|
|
12
|
-
success: "border-[var(--
|
|
13
|
-
warning: "border-[var(--
|
|
14
|
-
danger: "border-[var(--
|
|
12
|
+
success: "border-[var(--gr-success)] focus-visible:ring-[var(--gr-success)]",
|
|
13
|
+
warning: "border-[var(--gr-warning)] focus-visible:ring-[var(--gr-warning)]",
|
|
14
|
+
danger: "border-[var(--gr-danger)] focus-visible:ring-[var(--gr-danger)]"
|
|
15
15
|
};
|
|
16
16
|
function grTreeSelectClass(options) {
|
|
17
17
|
return [
|
|
@@ -20,10 +20,10 @@ function grTreeSelectClass(options) {
|
|
|
20
20
|
options.invalid ? borderClassByState.danger : borderClassByState[options.state]
|
|
21
21
|
].join(" ");
|
|
22
22
|
}
|
|
23
|
-
var grTreeSelectPanelClass = "rounded-[var(--
|
|
23
|
+
var grTreeSelectPanelClass = "rounded-[var(--gr-radius-xl)] border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-[var(--gr-shadow-2)] overflow-hidden";
|
|
24
24
|
//#endregion
|
|
25
25
|
//#region src/components/GrTreeSelect/safelist.ts
|
|
26
|
-
var grTreeSelectSafelist = [
|
|
26
|
+
var grTreeSelectSafelist = [.../* @__PURE__ */ new Set([
|
|
27
27
|
...Object.values(sizeClassBySize).flatMap(splitClassTokens),
|
|
28
28
|
...Object.values(borderClassByState).flatMap(splitClassTokens),
|
|
29
29
|
"pr-9",
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-BIRO0vDJ.js","names":[],"sources":["../../src/components/GrTreeSelect/grTreeSelectStyles.ts","../../src/components/GrTreeSelect/safelist.ts","../../src/components/GrTreeSelect/config.ts"],"sourcesContent":["import type { GrInputSize } from '../GrInput'\n\nexport type GrTreeSelectState = 'default' | 'success' | 'warning' | 'danger'\n\nexport const sizeClassBySize: Record<GrInputSize, string> = {\n xs: 'h-7 px-2.5 text-[12px]',\n sm: 'h-8 px-3 text-[13px]',\n md: 'h-10 px-3 text-[14px]',\n lg: 'h-11 px-4 text-[16px]',\n}\n\nexport const borderClassByState: Record<GrTreeSelectState, string> = {\n default: 'border-[var(--brd)]',\n success: 'border-[var(--gr-success)] focus-visible:ring-[var(--gr-success)]',\n warning: 'border-[var(--gr-warning)] focus-visible:ring-[var(--gr-warning)]',\n danger: 'border-[var(--gr-danger)] focus-visible:ring-[var(--gr-danger)]',\n}\n\nexport function grTreeSelectClass(options: { size: GrInputSize, state: GrTreeSelectState, invalid: boolean }): string {\n return [\n sizeClassBySize[options.size],\n 'pr-9',\n options.invalid ? borderClassByState.danger : borderClassByState[options.state],\n ].join(' ')\n}\n\nexport const grTreeSelectPanelClass = 'rounded-[var(--gr-radius-xl)] border border-[var(--brd)] bg-[var(--card)] text-[var(--card-fg)] shadow-[var(--gr-shadow-2)] overflow-hidden'\n","import { splitClassTokens } from '../shared/classTokens'\nimport { borderClassByState, grTreeSelectPanelClass, sizeClassBySize } from './grTreeSelectStyles'\n\nexport const grTreeSelectSafelist = [...new Set([\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n 'pr-9',\n ...splitClassTokens(grTreeSelectPanelClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grTreeSelectSafelist } from './safelist'\n\nexport const grTreeSelectConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTreeSelect',\n safelist: grTreeSelectSafelist,\n dependencies: ['GrInput', 'GrTree'],\n})"],"mappings":";;;AAIA,IAAa,kBAA+C;CAC1D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,qBAAwD;CACnE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;AACV;AAEA,SAAgB,kBAAkB,SAAoF;CACpH,OAAO;EACL,gBAAgB,QAAQ;EACxB;EACA,QAAQ,UAAU,mBAAmB,SAAS,mBAAmB,QAAQ;CAC3E,CAAC,CAAC,KAAK,GAAG;AACZ;AAEA,IAAa,yBAAyB;;;ACvBtC,IAAa,uBAAuB,CAAC,mBAAG,IAAI,IAAI;CAC9C,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB;CAC1D,GAAG,OAAO,OAAO,kBAAkB,CAAC,CAAC,QAAQ,gBAAgB;CAC7D;CACA,GAAG,iBAAiB,sBAAsB;AAC5C,CAAC,CAAC;;;ACJF,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,UAAU;CACV,cAAc,CAAC,WAAW,QAAQ;AACpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-BLHqZhy-2.js","names":[],"sources":["../../src/components/GrTabs/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grTabsConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTabs',\n})\n"],"mappings":";;AAEA,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK,EACjE,MAAM,SACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-BNu8lFQB.js","names":[],"sources":["../../src/components/GrAlert/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grAlertConfig = defineGranularComponent(import.meta.url, {\n name: 'GrAlert',\n})\n"],"mappings":";;AAEA,IAAa,gBAAgB,wBAAwB,OAAO,KAAK,KAAK,EAClE,MAAM,UACV,CAAC"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
|
|
2
|
+
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
3
|
+
//#region src/components/GrLink/grLinkStyles.ts
|
|
4
|
+
var baseRootClass = "inline-flex items-center gap-1 rounded-[6px] transition-colors duration-150";
|
|
5
|
+
var focusRingClass = "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]";
|
|
6
|
+
var sizeClassBySize = {
|
|
7
|
+
sm: "text-[13px]",
|
|
8
|
+
md: "text-[14px]",
|
|
9
|
+
lg: "text-[16px]"
|
|
10
|
+
};
|
|
11
|
+
var colorClass = "text-[var(--gr-link-color)] visited:text-[var(--gr-link-color)] hover:text-[var(--gr-link-color-hover)] active:text-[var(--gr-link-color-active)]";
|
|
12
|
+
var linkToneColors = {
|
|
13
|
+
primary: {
|
|
14
|
+
base: "var(--primary)",
|
|
15
|
+
hover: "var(--primary-hover)",
|
|
16
|
+
active: "var(--primary-active)"
|
|
17
|
+
},
|
|
18
|
+
neutral: {
|
|
19
|
+
base: "var(--fg)",
|
|
20
|
+
hover: "var(--primary)",
|
|
21
|
+
active: "var(--primary-active)"
|
|
22
|
+
},
|
|
23
|
+
success: {
|
|
24
|
+
base: "var(--gr-success)",
|
|
25
|
+
hover: "var(--gr-success-hover)",
|
|
26
|
+
active: "var(--gr-success-active)"
|
|
27
|
+
},
|
|
28
|
+
warning: {
|
|
29
|
+
base: "var(--gr-warning)",
|
|
30
|
+
hover: "var(--gr-warning-hover)",
|
|
31
|
+
active: "var(--gr-warning-active)"
|
|
32
|
+
},
|
|
33
|
+
danger: {
|
|
34
|
+
base: "var(--gr-danger)",
|
|
35
|
+
hover: "var(--gr-danger-hover)",
|
|
36
|
+
active: "var(--gr-danger-active)"
|
|
37
|
+
},
|
|
38
|
+
info: {
|
|
39
|
+
base: "var(--gr-info)",
|
|
40
|
+
hover: "var(--gr-info-hover)",
|
|
41
|
+
active: "var(--gr-info-active)"
|
|
42
|
+
},
|
|
43
|
+
slate: {
|
|
44
|
+
base: "var(--gr-slate)",
|
|
45
|
+
hover: "var(--gr-slate-hover)",
|
|
46
|
+
active: "var(--gr-slate-active)"
|
|
47
|
+
},
|
|
48
|
+
azure: {
|
|
49
|
+
base: "var(--gr-azure)",
|
|
50
|
+
hover: "var(--gr-azure-hover)",
|
|
51
|
+
active: "var(--gr-azure-active)"
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
/** Инлайновые CSS-переменные цвета для текущей комбинации `tone` × `variant`. */
|
|
55
|
+
function grLinkColorStyle(options) {
|
|
56
|
+
if (options.disabled) return {};
|
|
57
|
+
const colors = linkToneColors[options.tone] ?? linkToneColors.primary;
|
|
58
|
+
if (options.variant === "muted") return {
|
|
59
|
+
"--gr-link-color": "var(--muted-fg)",
|
|
60
|
+
"--gr-link-color-hover": colors.base,
|
|
61
|
+
"--gr-link-color-active": colors.active
|
|
62
|
+
};
|
|
63
|
+
return {
|
|
64
|
+
"--gr-link-color": colors.base,
|
|
65
|
+
"--gr-link-color-hover": colors.hover,
|
|
66
|
+
"--gr-link-color-active": colors.active
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
var disabledStateClass = "cursor-not-allowed opacity-60 text-[var(--muted-fg)]";
|
|
70
|
+
var UNDERLINE_VALUES = [
|
|
71
|
+
"auto",
|
|
72
|
+
"always",
|
|
73
|
+
"none"
|
|
74
|
+
];
|
|
75
|
+
function underlineClass(underline, disabled) {
|
|
76
|
+
if (disabled) return "no-underline";
|
|
77
|
+
if (underline === "always") return "underline underline-offset-4";
|
|
78
|
+
if (underline === "none") return "no-underline";
|
|
79
|
+
return "no-underline hover:underline hover:underline-offset-4";
|
|
80
|
+
}
|
|
81
|
+
var underlineClasses = [...new Set(UNDERLINE_VALUES.flatMap((u) => [underlineClass(u, false), underlineClass(u, true)]))];
|
|
82
|
+
function grLinkClass(options) {
|
|
83
|
+
return [
|
|
84
|
+
sizeClassBySize[options.size],
|
|
85
|
+
underlineClass(options.underline, options.disabled),
|
|
86
|
+
options.disabled ? disabledStateClass : colorClass
|
|
87
|
+
].filter(Boolean).join(" ");
|
|
88
|
+
}
|
|
89
|
+
//#endregion
|
|
90
|
+
//#region src/components/GrLink/safelist.ts
|
|
91
|
+
var grLinkSafelist = [.../* @__PURE__ */ new Set([
|
|
92
|
+
...splitClassTokens(baseRootClass),
|
|
93
|
+
...splitClassTokens(focusRingClass),
|
|
94
|
+
...Object.values(sizeClassBySize).flatMap(splitClassTokens),
|
|
95
|
+
...underlineClasses.flatMap(splitClassTokens),
|
|
96
|
+
...splitClassTokens(colorClass),
|
|
97
|
+
...splitClassTokens(disabledStateClass)
|
|
98
|
+
])];
|
|
99
|
+
//#endregion
|
|
100
|
+
//#region src/components/GrLink/config.ts
|
|
101
|
+
var grLinkConfig = defineGranularComponent(import.meta.url, {
|
|
102
|
+
name: "GrLink",
|
|
103
|
+
safelist: grLinkSafelist
|
|
104
|
+
});
|
|
105
|
+
//#endregion
|
|
106
|
+
export { grLinkClass as a, focusRingClass as i, grLinkSafelist as n, grLinkColorStyle as o, baseRootClass as r, grLinkConfig as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-BOlr7qw7.js","names":[],"sources":["../../src/components/GrLink/grLinkStyles.ts","../../src/components/GrLink/safelist.ts","../../src/components/GrLink/config.ts"],"sourcesContent":["import { GR_TONES, type GrTone } from '../shared/tones'\n\n/**\n * Архитектура цвета GrLink (согласована с остальной GR, ср. GrButton):\n *\n * - `tone` — семантический ЦВЕТ из общей палитры `GrTone`\n * (`primary | neutral | success | warning | danger | info | slate | azure`).\n * - `variant` — уровень акцента (СТРУКТУРА), независимый от цвета:\n * - `default` — текст окрашен в `tone` в покое, `tone-hover`/`tone-active` при\n * наведении/нажатии (обычная акцентная ссылка);\n * - `muted` — приглушённый текст (`--muted-fg`) в покое, окрашивается в `tone`\n * при наведении (вторичные/inline-ссылки в плотных областях).\n *\n * Раньше `variant` смешивал цвет и акцент (`primary/default/muted/muted-primary/danger`).\n * Теперь это ортогональные оси: `tone` × `variant`.\n */\nexport type GrLinkTone = GrTone\nexport type GrLinkVariant = 'default' | 'muted'\nexport type GrLinkUnderline = 'auto' | 'always' | 'none'\nexport type GrLinkSize = 'sm' | 'md' | 'lg'\n\n// Базовые классы корневого элемента (`<a>`/`<span>`). Вынесены сюда,\n// чтобы быть единственным источником истины как для шаблона, так и для safelist.\nexport const baseRootClass = 'inline-flex items-center gap-1 rounded-[6px] transition-colors duration-150'\nexport const focusRingClass = 'focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--ring)]'\n\nexport const sizeClassBySize: Record<GrLinkSize, string> = {\n sm: 'text-[13px]',\n md: 'text-[14px]',\n lg: 'text-[16px]',\n}\n\n// Цвет управляется CSS-переменными (как трек в GrSwitch): один набор классов\n// вместо class-эксплозии 8 тонов × 3 состояния. Safelist остаётся крошечным.\nexport const colorClass = 'text-[var(--gr-link-color)] visited:text-[var(--gr-link-color)] hover:text-[var(--gr-link-color-hover)] active:text-[var(--gr-link-color-active)]'\n\ntype GrLinkToneColors = { base: string, hover: string, active: string }\n\n// Пары «цвет / hover / active» на каждый тон из ролей темы.\nexport const linkToneColors: Record<GrLinkTone, GrLinkToneColors> = {\n primary: { base: 'var(--primary)', hover: 'var(--primary-hover)', active: 'var(--primary-active)' },\n // Нейтральная ссылка: читаемый `--fg` в покое, акцент `--primary` при наведении.\n neutral: { base: 'var(--fg)', hover: 'var(--primary)', active: 'var(--primary-active)' },\n success: { base: 'var(--gr-success)', hover: 'var(--gr-success-hover)', active: 'var(--gr-success-active)' },\n warning: { base: 'var(--gr-warning)', hover: 'var(--gr-warning-hover)', active: 'var(--gr-warning-active)' },\n danger: { base: 'var(--gr-danger)', hover: 'var(--gr-danger-hover)', active: 'var(--gr-danger-active)' },\n info: { base: 'var(--gr-info)', hover: 'var(--gr-info-hover)', active: 'var(--gr-info-active)' },\n slate: { base: 'var(--gr-slate)', hover: 'var(--gr-slate-hover)', active: 'var(--gr-slate-active)' },\n azure: { base: 'var(--gr-azure)', hover: 'var(--gr-azure-hover)', active: 'var(--gr-azure-active)' },\n}\n\n/** Инлайновые CSS-переменные цвета для текущей комбинации `tone` × `variant`. */\nexport function grLinkColorStyle(options: { tone: GrLinkTone, variant: GrLinkVariant, disabled: boolean }): Record<string, string> {\n if (options.disabled) return {}\n\n const colors = linkToneColors[options.tone] ?? linkToneColors.primary\n\n if (options.variant === 'muted') {\n return {\n '--gr-link-color': 'var(--muted-fg)',\n '--gr-link-color-hover': colors.base,\n '--gr-link-color-active': colors.active,\n }\n }\n\n return {\n '--gr-link-color': colors.base,\n '--gr-link-color-hover': colors.hover,\n '--gr-link-color-active': colors.active,\n }\n}\n\nexport const disabledStateClass = 'cursor-not-allowed opacity-60 text-[var(--muted-fg)]'\n\nconst UNDERLINE_VALUES: readonly GrLinkUnderline[] = ['auto', 'always', 'none']\n\nfunction underlineClass(underline: GrLinkUnderline, disabled: boolean): string {\n if (disabled) return 'no-underline'\n if (underline === 'always') return 'underline underline-offset-4'\n if (underline === 'none') return 'no-underline'\n return 'no-underline hover:underline hover:underline-offset-4'\n}\n\n// Derived from `underlineClass` so that there is a single source of truth:\n// any change/extension of the underline logic is automatically reflected\n// in the safelist without manual updates.\nexport const underlineClasses: readonly string[] = [...new Set(\n UNDERLINE_VALUES.flatMap(u => [underlineClass(u, false), underlineClass(u, true)]),\n)]\n\nexport function grLinkClass(options: { size: GrLinkSize, underline: GrLinkUnderline, disabled: boolean }): string {\n return [\n sizeClassBySize[options.size],\n underlineClass(options.underline, options.disabled),\n options.disabled ? disabledStateClass : colorClass,\n ]\n .filter(Boolean)\n .join(' ')\n}\n\n// Реэкспорт палитры тонов для потребителей/демо.\nexport { GR_TONES }\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n baseRootClass,\n colorClass,\n disabledStateClass,\n focusRingClass,\n sizeClassBySize,\n underlineClasses,\n} from './grLinkStyles'\n\nexport const grLinkSafelist = [...new Set([\n ...splitClassTokens(baseRootClass),\n ...splitClassTokens(focusRingClass),\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...underlineClasses.flatMap(splitClassTokens),\n ...splitClassTokens(colorClass),\n ...splitClassTokens(disabledStateClass),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grLinkSafelist } from './safelist'\n\nexport const grLinkConfig = defineGranularComponent(import.meta.url, {\n name: 'GrLink',\n safelist: grLinkSafelist,\n})"],"mappings":";;;AAuBA,IAAa,gBAAgB;AAC7B,IAAa,iBAAiB;AAE9B,IAAa,kBAA8C;CACzD,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAIA,IAAa,aAAa;AAK1B,IAAa,iBAAuD;CAClE,SAAS;EAAE,MAAM;EAAkB,OAAO;EAAwB,QAAQ;CAAwB;CAElG,SAAS;EAAE,MAAM;EAAa,OAAO;EAAkB,QAAQ;CAAwB;CACvF,SAAS;EAAE,MAAM;EAAqB,OAAO;EAA2B,QAAQ;CAA2B;CAC3G,SAAS;EAAE,MAAM;EAAqB,OAAO;EAA2B,QAAQ;CAA2B;CAC3G,QAAQ;EAAE,MAAM;EAAoB,OAAO;EAA0B,QAAQ;CAA0B;CACvG,MAAM;EAAE,MAAM;EAAkB,OAAO;EAAwB,QAAQ;CAAwB;CAC/F,OAAO;EAAE,MAAM;EAAmB,OAAO;EAAyB,QAAQ;CAAyB;CACnG,OAAO;EAAE,MAAM;EAAmB,OAAO;EAAyB,QAAQ;CAAyB;AACrG;;AAGA,SAAgB,iBAAiB,SAAkG;CACjI,IAAI,QAAQ,UAAU,OAAO,CAAC;CAE9B,MAAM,SAAS,eAAe,QAAQ,SAAS,eAAe;CAE9D,IAAI,QAAQ,YAAY,SACtB,OAAO;EACL,mBAAmB;EACnB,yBAAyB,OAAO;EAChC,0BAA0B,OAAO;CACnC;CAGF,OAAO;EACL,mBAAmB,OAAO;EAC1B,yBAAyB,OAAO;EAChC,0BAA0B,OAAO;CACnC;AACF;AAEA,IAAa,qBAAqB;AAElC,IAAM,mBAA+C;CAAC;CAAQ;CAAU;AAAM;AAE9E,SAAS,eAAe,WAA4B,UAA2B;CAC7E,IAAI,UAAU,OAAO;CACrB,IAAI,cAAc,UAAU,OAAO;CACnC,IAAI,cAAc,QAAQ,OAAO;CACjC,OAAO;AACT;AAKA,IAAa,mBAAsC,CAAC,GAAG,IAAI,IACzD,iBAAiB,SAAQ,MAAK,CAAC,eAAe,GAAG,KAAK,GAAG,eAAe,GAAG,IAAI,CAAC,CAAC,CACnF,CAAC;AAED,SAAgB,YAAY,SAAsF;CAChH,OAAO;EACL,gBAAgB,QAAQ;EACxB,eAAe,QAAQ,WAAW,QAAQ,QAAQ;EAClD,QAAQ,WAAW,qBAAqB;CAC1C,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb;;;ACxFA,IAAa,iBAAiB,CAAC,mBAAG,IAAI,IAAI;CACxC,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,cAAc;CAClC,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB;CAC1D,GAAG,iBAAiB,QAAQ,gBAAgB;CAC5C,GAAG,iBAAiB,UAAU;CAC9B,GAAG,iBAAiB,kBAAkB;AACxC,CAAC,CAAC;;;ACbF,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACnE,MAAM;CACN,UAAU;AACZ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-BUHuGBik.js","names":[],"sources":["../../src/components/GrPromptDialog/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grPromptDialogConfig = defineGranularComponent(import.meta.url, {\n name: 'GrPromptDialog',\n dependencies: ['GrButton', 'GrDialog', 'GrFormField', 'GrInput'],\n})"],"mappings":";;AAEA,IAAa,uBAAuB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc;EAAC;EAAY;EAAY;EAAe;CAAS;AACnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-BWGGp7uV.js","names":[],"sources":["../../src/components/GrFileUpload/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grFileUploadConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFileUpload',\n dependencies: ['GrIcon'],\n})\n"],"mappings":";;AAEA,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc,CAAC,QAAQ;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-BWiPnygb.js","names":[],"sources":["../../src/components/GrDivider/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grDividerConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDivider',\n})\n"],"mappings":";;AAEA,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK,EACtE,MAAM,YACR,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
2
|
+
//#region src/components/GrDialogService/config.ts
|
|
3
|
+
var grDialogServiceConfig = defineGranularComponent(import.meta.url, {
|
|
4
|
+
name: "GrDialogServiceHost",
|
|
5
|
+
dependencies: [
|
|
6
|
+
"GrButton",
|
|
7
|
+
"GrDialog",
|
|
8
|
+
"GrConfirmDialog",
|
|
9
|
+
"GrPromptDialog",
|
|
10
|
+
"GrResponseErrorBanner"
|
|
11
|
+
]
|
|
12
|
+
});
|
|
13
|
+
//#endregion
|
|
14
|
+
export { grDialogServiceConfig as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-BX1JTrkV2.js","names":[],"sources":["../../src/components/GrDialogService/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grDialogServiceConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDialogServiceHost',\n dependencies: ['GrButton', 'GrDialog', 'GrConfirmDialog', 'GrPromptDialog', 'GrResponseErrorBanner'],\n})\n"],"mappings":";;AAEA,IAAa,wBAAwB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,cAAc;EAAC;EAAY;EAAY;EAAmB;EAAkB;CAAuB;AACvG,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-BXtAmU3s2.js","names":[],"sources":["../../src/components/GrConfirmDialog/config.ts"],"sourcesContent":["import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nexport const grConfirmDialogConfig = defineGranularComponent(import.meta.url, {\n name: 'GrConfirmDialog',\n dependencies: ['GrButton', 'GrDialog'],\n})"],"mappings":";;AAEA,IAAa,wBAAwB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,cAAc,CAAC,YAAY,UAAU;AACzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-Bah4oHwL.js","names":[],"sources":["../../src/components/GrEmptyState/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grEmptyStateConfig = defineGranularComponent(import.meta.url, {\n name: 'GrEmptyState',\n dependencies: ['GrIcon'],\n})\n"],"mappings":";;AAEA,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc,CAAC,QAAQ;AACzB,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as splitClassTokens } from "./classTokens-
|
|
2
|
-
import { a as widthClassByWidth, i as originClassByPlacement } from "./grDropdownStyles-
|
|
1
|
+
import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
|
|
2
|
+
import { a as widthClassByWidth, i as originClassByPlacement } from "./grDropdownStyles-B_-DKytw.js";
|
|
3
3
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
4
4
|
//#region src/components/GrDropdown/safelist.ts
|
|
5
|
-
var grDropdownSafelist = [
|
|
5
|
+
var grDropdownSafelist = [.../* @__PURE__ */ new Set([...Object.values(widthClassByWidth).flatMap(splitClassTokens), ...Object.values(originClassByPlacement).flatMap((v) => splitClassTokens(v ?? ""))])];
|
|
6
6
|
//#endregion
|
|
7
7
|
//#region src/components/GrDropdown/config.ts
|
|
8
8
|
var grDropdownConfig = defineGranularComponent(import.meta.url, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-C49QUoJL.js","names":[],"sources":["../../src/components/GrDropdown/safelist.ts","../../src/components/GrDropdown/config.ts"],"sourcesContent":["import { splitClassTokens } from '../shared/classTokens'\nimport {\n originClassByPlacement,\n widthClassByWidth,\n} from './grDropdownStyles'\n\n// В safelist кладём только динамические токены, выбираемые по ключам в рантайме\n// (`width`/`resolvedPlacement`). Литералы content-класса (`rounded-*`, `border`,\n// `bg-*` и пр.) прописаны статически в исходнике `grDropdownStyles.ts` и находятся\n// UnoCSS'ом сканом.\nexport const grDropdownSafelist = [...new Set([\n ...Object.values(widthClassByWidth).flatMap(splitClassTokens),\n ...Object.values(originClassByPlacement).flatMap(v => splitClassTokens(v ?? '')),\n])]\n","import {defineGranularComponent} from '@feugene/unocss-preset-granular/contract'\n\nimport { grDropdownSafelist } from './safelist'\n\nexport const grDropdownConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDropdown',\n safelist: grDropdownSafelist,\n})"],"mappings":";;;;AAUA,IAAa,qBAAqB,CAAC,mBAAG,IAAI,IAAI,CAC5C,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB,GAC5D,GAAG,OAAO,OAAO,sBAAsB,CAAC,CAAC,SAAQ,MAAK,iBAAiB,KAAK,EAAE,CAAC,CACjF,CAAC,CAAC;;;ACTF,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK;CACvE,MAAM;CACN,UAAU;AACZ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as grButtonSafelist } from "./safelist-
|
|
1
|
+
import { n as grButtonSafelist } from "./safelist-Do2RtzLB.js";
|
|
2
2
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
3
3
|
//#region src/components/GrButton/config.ts
|
|
4
4
|
var grButtonConfig = defineGranularComponent(import.meta.url, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-C4snOIXg.js","names":[],"sources":["../../src/components/GrButton/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\nimport { grButtonSafelist } from './safelist'\n\nexport const grButtonConfig = defineGranularComponent(import.meta.url, {\n name: 'GrButton',\n safelist: grButtonSafelist,\n})\n"],"mappings":";;;AAGA,IAAa,iBAAiB,wBAAwB,OAAO,KAAK,KAAK;CACrE,MAAM;CACN,UAAU;AACZ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as splitClassTokens } from "./classTokens-
|
|
1
|
+
import { t as splitClassTokens } from "./classTokens-BzazaERD.js";
|
|
2
2
|
import { defineGranularComponent } from "@feugene/unocss-preset-granular/contract";
|
|
3
3
|
//#region src/components/GrNumberInput/grNumberInputStyles.ts
|
|
4
4
|
var sizeClassBySize = {
|
|
@@ -14,9 +14,9 @@ var textAlignClassByAlign = {
|
|
|
14
14
|
};
|
|
15
15
|
var borderClassByState = {
|
|
16
16
|
default: "border-[var(--brd)]",
|
|
17
|
-
success: "border-[var(--
|
|
18
|
-
warning: "border-[var(--
|
|
19
|
-
danger: "border-[var(--
|
|
17
|
+
success: "border-[var(--gr-success)] focus-within:ring-[var(--gr-success)]",
|
|
18
|
+
warning: "border-[var(--gr-warning)] focus-within:ring-[var(--gr-warning)]",
|
|
19
|
+
danger: "border-[var(--gr-danger)] focus-within:ring-[var(--gr-danger)]"
|
|
20
20
|
};
|
|
21
21
|
/** Динамические классы для disabled-состояния shell'а — выбираются в рантайме. */
|
|
22
22
|
var disabledShellClass = "opacity-50 cursor-not-allowed";
|
|
@@ -28,7 +28,7 @@ function grNumberInputInputClass(options) {
|
|
|
28
28
|
}
|
|
29
29
|
//#endregion
|
|
30
30
|
//#region src/components/GrNumberInput/safelist.ts
|
|
31
|
-
var grNumberInputSafelist = [
|
|
31
|
+
var grNumberInputSafelist = [.../* @__PURE__ */ new Set([
|
|
32
32
|
...Object.values(sizeClassBySize).flatMap(splitClassTokens),
|
|
33
33
|
...Object.values(textAlignClassByAlign).flatMap(splitClassTokens),
|
|
34
34
|
...Object.values(borderClassByState).flatMap(splitClassTokens),
|