@feugene/granularity 0.26.0 → 0.27.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/dist/chunks/classTokens-8v2XC74x.js +16 -0
- package/dist/chunks/classTokens-8v2XC74x.js.map +1 -0
- package/dist/chunks/{config-Bpt9Xbxm.js → config-2ZHRsdOc.js} +2 -2
- package/dist/chunks/config-2ZHRsdOc.js.map +1 -0
- package/dist/chunks/{config-D6W1rnlp.js → config-B0uvcTPH.js} +1 -1
- package/dist/chunks/{config-D6W1rnlp.js.map → config-B0uvcTPH.js.map} +1 -1
- package/dist/chunks/{config-Bsh948nP.js → config-B3J0alyY.js} +1 -1
- package/dist/chunks/{config-Bsh948nP.js.map → config-B3J0alyY.js.map} +1 -1
- package/dist/chunks/{config-ScuvHw6k.js → config-B5SBUa6u.js} +1 -1
- package/dist/chunks/{config-ScuvHw6k.js.map → config-B5SBUa6u.js.map} +1 -1
- package/dist/chunks/{config-BeZRuonp.js → config-BDSaD-5p.js} +1 -1
- package/dist/chunks/{config-BeZRuonp.js.map → config-BDSaD-5p.js.map} +1 -1
- package/dist/chunks/{config-Dgj1Q6JY.js → config-BEO7brpO.js} +3 -3
- package/dist/chunks/config-BEO7brpO.js.map +1 -0
- package/dist/chunks/{config-B84z1aos.js → config-BHcS5Cwm.js} +1 -1
- package/dist/chunks/{config-B84z1aos.js.map → config-BHcS5Cwm.js.map} +1 -1
- package/dist/chunks/{config-DA6SnEoy.js → config-BRESvs9g.js} +2 -2
- package/dist/chunks/{config-DA6SnEoy.js.map → config-BRESvs9g.js.map} +1 -1
- package/dist/chunks/{config-CN2ULSQL.js → config-BTmfQFwi.js} +5 -5
- package/dist/chunks/config-BTmfQFwi.js.map +1 -0
- package/dist/chunks/{config-DtgYuGUn2.js → config-BTwYMQaz2.js} +5 -3
- package/dist/chunks/config-BTwYMQaz2.js.map +1 -0
- package/dist/chunks/{config-QJ54_fcM.js → config-BaWANzzB.js} +1 -1
- package/dist/chunks/{config-QJ54_fcM.js.map → config-BaWANzzB.js.map} +1 -1
- package/dist/chunks/{config-COvrUfhR.js → config-BcXX7S7B.js} +5 -5
- package/dist/chunks/config-BcXX7S7B.js.map +1 -0
- package/dist/chunks/{config-COpuWGr_.js → config-Bd7QfiGj.js} +1 -1
- package/dist/chunks/{config-COpuWGr_.js.map → config-Bd7QfiGj.js.map} +1 -1
- package/dist/chunks/{config-BDfTXHo1.js → config-BhfNgyWL.js} +2 -2
- package/dist/chunks/{config-BDfTXHo1.js.map → config-BhfNgyWL.js.map} +1 -1
- package/dist/chunks/{config-CjnbevbD.js → config-Bjn30smH.js} +1 -1
- package/dist/chunks/{config-CjnbevbD.js.map → config-Bjn30smH.js.map} +1 -1
- package/dist/chunks/{config-CN970ZcJ.js → config-BlJa1Mj9.js} +13 -13
- package/dist/chunks/config-BlJa1Mj9.js.map +1 -0
- package/dist/chunks/{config-DU2DNSRx.js → config-BoUI0t-t.js} +1 -1
- package/dist/chunks/{config-DU2DNSRx.js.map → config-BoUI0t-t.js.map} +1 -1
- package/dist/chunks/{config-BN4sXYXn.js → config-BqT6PMzO.js} +7 -14
- package/dist/chunks/config-BqT6PMzO.js.map +1 -0
- package/dist/chunks/config-BuGlNPE9.js.map +1 -0
- package/dist/chunks/{config-MRvhUl-O.js → config-CJzmDHfI.js} +1 -1
- package/dist/chunks/{config-MRvhUl-O.js.map → config-CJzmDHfI.js.map} +1 -1
- package/dist/chunks/{config-DGWFal5h.js → config-CLjjjPZj.js} +7 -7
- package/dist/chunks/config-CLjjjPZj.js.map +1 -0
- package/dist/chunks/{config-Cl4ST6Qd.js → config-CQLNjc9X2.js} +2 -2
- package/dist/chunks/config-CQLNjc9X2.js.map +1 -0
- package/dist/chunks/{config-vSji8w90.js → config-CWtfxkM9.js} +9 -9
- package/dist/chunks/config-CWtfxkM9.js.map +1 -0
- package/dist/chunks/{config-DKISz9gR.js → config-CWthWcWY.js} +2 -2
- package/dist/chunks/{config-DKISz9gR.js.map → config-CWthWcWY.js.map} +1 -1
- package/dist/chunks/{config-Iu684VNI.js → config-CZPDPJlg.js} +1 -1
- package/dist/chunks/{config-Iu684VNI.js.map → config-CZPDPJlg.js.map} +1 -1
- package/dist/chunks/{config-DAX8Deh1.js → config-CbEbLyDE.js} +3 -3
- package/dist/chunks/config-CbEbLyDE.js.map +1 -0
- package/dist/chunks/{config-D94Z9po5.js → config-ChPg-BQv.js} +2 -2
- package/dist/chunks/config-ChPg-BQv.js.map +1 -0
- package/dist/chunks/{config-DSJY6aEl.js → config-CjKpUcmy.js} +17 -17
- package/dist/chunks/config-CjKpUcmy.js.map +1 -0
- package/dist/chunks/{config-BIa3ilQm.js → config-CjWOTgLL.js} +4 -4
- package/dist/chunks/{config-BIa3ilQm.js.map → config-CjWOTgLL.js.map} +1 -1
- package/dist/chunks/{config-rkcKArZQ.js → config-CnYdE3HZ2.js} +5 -5
- package/dist/chunks/config-CnYdE3HZ2.js.map +1 -0
- package/dist/chunks/{config-BE6n20np.js → config-CvbVM4ep.js} +1 -1
- package/dist/chunks/{config-BE6n20np.js.map → config-CvbVM4ep.js.map} +1 -1
- package/dist/chunks/{config-9PYRZlKE.js → config-D0NzGYaE.js} +6 -6
- package/dist/chunks/config-D0NzGYaE.js.map +1 -0
- package/dist/chunks/{config-CKULiuvc.js → config-D0W8mGFD.js} +4 -4
- package/dist/chunks/{config-CKULiuvc.js.map → config-D0W8mGFD.js.map} +1 -1
- package/dist/chunks/{config-CY0_6cMi.js → config-D82r782v.js} +1 -1
- package/dist/chunks/{config-CY0_6cMi.js.map → config-D82r782v.js.map} +1 -1
- package/dist/chunks/config-DBmdgoVf2.js.map +1 -0
- package/dist/chunks/{config-WTNhdh6T.js → config-DCq4JySZ.js} +2 -2
- package/dist/chunks/{config-WTNhdh6T.js.map → config-DCq4JySZ.js.map} +1 -1
- package/dist/chunks/{config-C8tVRv8i.js → config-DGC00bTp.js} +13 -13
- package/dist/chunks/config-DGC00bTp.js.map +1 -0
- package/dist/chunks/{config-BsPDQ0dS.js → config-DIDz_E5m.js} +9 -9
- package/dist/chunks/config-DIDz_E5m.js.map +1 -0
- package/dist/chunks/{config-Dguto_6o.js → config-DM0lsduD.js} +6 -6
- package/dist/chunks/config-DM0lsduD.js.map +1 -0
- package/dist/chunks/{config-BfsBepkH.js → config-DNDgp9bB.js} +5 -5
- package/dist/chunks/config-DNDgp9bB.js.map +1 -0
- package/dist/chunks/{config-DpeQchsV.js → config-DO8mjeIo.js} +2 -2
- package/dist/chunks/{config-DpeQchsV.js.map → config-DO8mjeIo.js.map} +1 -1
- package/dist/chunks/{config-Baj7Wvx-.js → config-DRbojEzO.js} +4 -4
- package/dist/chunks/config-DRbojEzO.js.map +1 -0
- package/dist/chunks/{config-CQzGyi1C.js → config-DWL81-aM.js} +1 -1
- package/dist/chunks/{config-CQzGyi1C.js.map → config-DWL81-aM.js.map} +1 -1
- package/dist/chunks/{config-esdviAPL.js → config-DZCUPHPU.js} +1 -1
- package/dist/chunks/{config-esdviAPL.js.map → config-DZCUPHPU.js.map} +1 -1
- package/dist/chunks/{config-DKdlqXiY.js → config-DcfWZOi5.js} +5 -5
- package/dist/chunks/config-DcfWZOi5.js.map +1 -0
- package/dist/chunks/{config-BC8d_smz.js → config-DeyT9dJl.js} +3 -3
- package/dist/chunks/{config-BC8d_smz.js.map → config-DeyT9dJl.js.map} +1 -1
- package/dist/chunks/{config-Cwd3yjRw.js → config-DnF472Ox.js} +6 -4
- package/dist/chunks/config-DnF472Ox.js.map +1 -0
- package/dist/chunks/{config-B_qi4Fma.js → config-DolULhjJ.js} +5 -5
- package/dist/chunks/config-DolULhjJ.js.map +1 -0
- package/dist/chunks/{config-CIcynHGr.js → config-DpAYidyY2.js} +1 -1
- package/dist/chunks/config-DpAYidyY2.js.map +1 -0
- package/dist/chunks/{config-DYgfMrIF.js → config-Dpk-eVkS.js} +1 -1
- package/dist/chunks/{config-DYgfMrIF.js.map → config-Dpk-eVkS.js.map} +1 -1
- package/dist/chunks/config-Dv_r92GL.js +35 -0
- package/dist/chunks/config-Dv_r92GL.js.map +1 -0
- package/dist/chunks/{config-B4w5gBD0.js → config-DwABJHEo.js} +2 -2
- package/dist/chunks/config-DwABJHEo.js.map +1 -0
- package/dist/chunks/{config-zjeAJ4ho2.js → config-MmPym-Z72.js} +5 -5
- package/dist/chunks/config-MmPym-Z72.js.map +1 -0
- package/dist/chunks/{config-DCFvmHEv.js → config-T3-DMXYm.js} +9 -7
- package/dist/chunks/config-T3-DMXYm.js.map +1 -0
- package/dist/chunks/{config-BoNR7_PD.js → config-Yy67uWHY.js} +1 -1
- package/dist/chunks/{config-BoNR7_PD.js.map → config-Yy67uWHY.js.map} +1 -1
- package/dist/chunks/{config-BFJIxE8b.js → config-Z5LeUXys.js} +1 -1
- package/dist/chunks/{config-BFJIxE8b.js.map → config-Z5LeUXys.js.map} +1 -1
- package/dist/chunks/{config-DWN4x6_e.js → config-_QF0O1vq.js} +9 -9
- package/dist/chunks/config-_QF0O1vq.js.map +1 -0
- package/dist/chunks/{config-Cp0DE0GH.js → config-_jO3q1Le.js} +1 -1
- package/dist/chunks/{config-Cp0DE0GH.js.map → config-_jO3q1Le.js.map} +1 -1
- package/dist/chunks/{config-DGCMHPCR.js → config-g8-JGZ_Y.js} +1 -1
- package/dist/chunks/{config-DGCMHPCR.js.map → config-g8-JGZ_Y.js.map} +1 -1
- package/dist/chunks/{config-BTCOJO5z2.js → config-jyr6AIZt2.js} +3 -3
- package/dist/chunks/{config-BTCOJO5z2.js.map → config-jyr6AIZt2.js.map} +1 -1
- package/dist/chunks/{config-BtXRpAtq.js → config-mlheIMtV.js} +3 -6
- package/dist/chunks/config-mlheIMtV.js.map +1 -0
- package/dist/chunks/{config-BEVBsvni2.js → config-rLkc9Zn2.js} +1 -1
- package/dist/chunks/config-rLkc9Zn2.js.map +1 -0
- package/dist/chunks/{config-T3qdQBgU.js → config-tiUtEn4Q.js} +1 -1
- package/dist/chunks/{config-T3qdQBgU.js.map → config-tiUtEn4Q.js.map} +1 -1
- package/dist/chunks/{config-BViooYNv.js → config-uzUuosv7.js} +7 -2
- package/dist/chunks/config-uzUuosv7.js.map +1 -0
- package/dist/chunks/{config-BbY2SKGE.js → config-vYMJ3Cr1.js} +11 -9
- package/dist/chunks/config-vYMJ3Cr1.js.map +1 -0
- package/dist/chunks/context-BfIQv7m1.js.map +1 -0
- package/dist/chunks/{generated-CJe6hdiE.js → generated-DJ2dJ__C.js} +48 -0
- package/dist/chunks/generated-DJ2dJ__C.js.map +1 -0
- package/dist/chunks/{grBadgeStyles-C1S56Alo.js → grBadgeStyles-D8Mz73B5.js} +4 -4
- package/dist/chunks/grBadgeStyles-D8Mz73B5.js.map +1 -0
- package/dist/chunks/{config-D7zgE_Gr.js → grChipStyles-3JZApw03.js} +21 -43
- package/dist/chunks/grChipStyles-3JZApw03.js.map +1 -0
- package/dist/chunks/{grDropdownMenuStyles-D1LOkdVj.js → grDropdownMenuStyles-DG3aYHkT.js} +3 -3
- package/dist/chunks/grDropdownMenuStyles-DG3aYHkT.js.map +1 -0
- package/dist/chunks/{grIconStyles-BwJrml2L.js → grIconStyles-B6BRqUld.js} +1 -1
- package/dist/chunks/{grIconStyles-BwJrml2L.js.map → grIconStyles-B6BRqUld.js.map} +1 -1
- package/dist/chunks/{grInputStyles-CJeMhUe5.js → grInputStyles-CAk3xKIb.js} +4 -4
- package/dist/chunks/grInputStyles-CAk3xKIb.js.map +1 -0
- package/dist/chunks/{grKbdStyles-CeZhGQHr.js → grKbdStyles-DENu8pUK.js} +5 -0
- package/dist/chunks/grKbdStyles-DENu8pUK.js.map +1 -0
- package/dist/chunks/{grLinkStyles-BoL8QYcV.js → grLinkStyles-FME_qMpi.js} +4 -4
- package/dist/chunks/grLinkStyles-FME_qMpi.js.map +1 -0
- package/dist/chunks/{grLoadingStyles-DEmji2wv.js → grLoadingStyles-CnQaf5ry.js} +1 -1
- package/dist/chunks/{grLoadingStyles-DEmji2wv.js.map → grLoadingStyles-CnQaf5ry.js.map} +1 -1
- package/dist/chunks/{grPopoverStyles-Cke_BZsM.js → grPopoverStyles-Djh5RNhn.js} +4 -4
- package/dist/chunks/grPopoverStyles-Djh5RNhn.js.map +1 -0
- package/dist/chunks/{grRadioStyles-BTjGNhtU.js → grRadioStyles-D4gnU65n.js} +4 -4
- package/dist/chunks/grRadioStyles-D4gnU65n.js.map +1 -0
- package/dist/chunks/{grSelectStyles-eTz4uPMP.js → grSelectStyles-Cdtd10eY.js} +9 -9
- package/dist/chunks/grSelectStyles-Cdtd10eY.js.map +1 -0
- package/dist/chunks/{grTableStyles-C-iaqQUN.js → grTableStyles-uuMPSOBR.js} +2 -2
- package/dist/chunks/{grTableStyles-C-iaqQUN.js.map → grTableStyles-uuMPSOBR.js.map} +1 -1
- package/dist/chunks/{grTextareaStyles-iOcHuVMM.js → grTextareaStyles-Bp35BGna.js} +4 -4
- package/dist/chunks/grTextareaStyles-Bp35BGna.js.map +1 -0
- package/dist/chunks/{granular-provider-BaHkLjFX.js → granular-provider-DvvRayEh.js} +67 -67
- package/dist/chunks/{granular-provider-BaHkLjFX.js.map → granular-provider-DvvRayEh.js.map} +1 -1
- package/dist/chunks/numericStep-Bq2lj4ew.js +23 -0
- package/dist/chunks/numericStep-Bq2lj4ew.js.map +1 -0
- package/dist/chunks/overlayTransition-0Fj5tQbq.js +36 -0
- package/dist/chunks/overlayTransition-0Fj5tQbq.js.map +1 -0
- package/dist/chunks/{safelist-CudBLyAD.js → safelist-BOq5Li7p.js} +1 -1
- package/dist/chunks/{safelist-CudBLyAD.js.map → safelist-BOq5Li7p.js.map} +1 -1
- package/dist/chunks/{safelist-DOfCQR5O.js → safelist-CtiHPgrj.js} +2 -2
- package/dist/chunks/{safelist-DOfCQR5O.js.map → safelist-CtiHPgrj.js.map} +1 -1
- package/dist/chunks/{safelist-CkF4v7DC.js → safelist-Y3zrlhOa.js} +1 -1
- package/dist/chunks/{safelist-CkF4v7DC.js.map → safelist-Y3zrlhOa.js.map} +1 -1
- package/dist/chunks/{useMenuItemsFocus-OyOnIAlr.js → useMenuItemsFocus-B6TldmGf.js} +1 -43
- package/dist/chunks/useMenuItemsFocus-B6TldmGf.js.map +1 -0
- package/dist/chunks/useTypeahead-mxPtPBf2.js +44 -0
- package/dist/chunks/useTypeahead-mxPtPBf2.js.map +1 -0
- package/dist/components/GrAlert/chunks/{GrAlert-B21QGele.js → GrAlert-FAVf-ksH.js} +1 -1
- package/dist/components/GrAlert/chunks/{GrAlert-B21QGele.js.map → GrAlert-FAVf-ksH.js.map} +1 -1
- package/dist/components/GrAlert/index.js +1 -1
- package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-D9c9BNFg.js → GrAutocomplete-BwhUTqmG.js} +88 -81
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BwhUTqmG.js.map +1 -0
- package/dist/components/GrAutocomplete/index.js +2 -2
- package/dist/components/GrAutocomplete/styles.css +1 -1
- package/dist/components/GrAvatar/chunks/{GrAvatar-BbdKRX8i.js → GrAvatar-CNmLmgcr.js} +1 -1
- package/dist/components/GrAvatar/chunks/{GrAvatar-BbdKRX8i.js.map → GrAvatar-CNmLmgcr.js.map} +1 -1
- package/dist/components/GrAvatar/index.js +2 -2
- package/dist/components/GrBadge/chunks/{GrBadge-_9rCHuE1.js → GrBadge-BM3f9PME.js} +2 -2
- package/dist/components/GrBadge/chunks/GrBadge-BM3f9PME.js.map +1 -0
- package/dist/components/GrBadge/index.js +3 -3
- package/dist/components/GrBadge/styles.css +1 -1
- package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-DDoFQscR.js → GrBadgeWrap-B-A3PRkE.js} +1 -1
- package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-B-A3PRkE.js.map +1 -0
- package/dist/components/GrBadgeWrap/index.js +2 -2
- package/dist/components/GrBottomNav/chunks/{GrBottomNav-JUu4ylYv.js → GrBottomNav-wtFatLjB.js} +1 -1
- package/dist/components/GrBottomNav/chunks/{GrBottomNav-JUu4ylYv.js.map → GrBottomNav-wtFatLjB.js.map} +1 -1
- package/dist/components/GrBottomNav/index.js +2 -2
- package/dist/components/GrBreadcrumbs/chunks/{GrBreadcrumbs-CQ44iU2o.js → GrBreadcrumbs-jtSnMEtg.js} +2 -2
- package/dist/components/GrBreadcrumbs/chunks/{GrBreadcrumbs-CQ44iU2o.js.map → GrBreadcrumbs-jtSnMEtg.js.map} +1 -1
- package/dist/components/GrBreadcrumbs/index.js +2 -2
- package/dist/components/GrButton/chunks/{GrButton-DCz-Wn-V.js → GrButton-Bw2AH4uX.js} +1 -1
- package/dist/components/GrButton/chunks/GrButton-Bw2AH4uX.js.map +1 -0
- package/dist/components/GrButton/index.js +3 -3
- package/dist/components/GrButtonGroup/chunks/{GrButtonGroup-BQo5VQ_c.js → GrButtonGroup-CKyiAV8K.js} +1 -1
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CKyiAV8K.js.map +1 -0
- package/dist/components/GrButtonGroup/index.js +3 -3
- package/dist/components/GrCard/chunks/{GrCard-aQIjk6I9.js → GrCard-DR3ehBt8.js} +1 -1
- package/dist/components/GrCard/chunks/GrCard-DR3ehBt8.js.map +1 -0
- package/dist/components/GrCard/index.js +2 -2
- package/dist/components/GrCheckbox/index.js +1 -1
- package/dist/components/GrCheckboxGroup/index.js +1 -1
- package/dist/components/GrChip/chunks/{GrChip-BnL2FedO.js → GrChip-Df4orxRH.js} +15 -4
- package/dist/components/GrChip/chunks/GrChip-Df4orxRH.js.map +1 -0
- package/dist/components/GrChip/index.js +2 -2
- package/dist/components/GrChipGroup/chunks/{GrChipGroup-DefmSdY9.js → GrChipGroup-C78Vcwos.js} +2 -2
- package/dist/components/GrChipGroup/chunks/{GrChipGroup-DefmSdY9.js.map → GrChipGroup-C78Vcwos.js.map} +1 -1
- package/dist/components/GrChipGroup/index.js +2 -2
- package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-CyptiEo4.js → GrCodeBlock-Dkvkr91t.js} +2 -2
- package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-CyptiEo4.js.map → GrCodeBlock-Dkvkr91t.js.map} +1 -1
- package/dist/components/GrCodeBlock/index.js +2 -2
- package/dist/components/GrCollapse/chunks/{GrCollapse-DUROgAgc.js → GrCollapse-CytiA2Sx.js} +3 -3
- package/dist/components/GrCollapse/chunks/{GrCollapse-DUROgAgc.js.map → GrCollapse-CytiA2Sx.js.map} +1 -1
- package/dist/components/GrCollapse/index.js +2 -2
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-CDaJRVIM.js → GrColorPicker-0n_KGeUy.js} +4 -4
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-CDaJRVIM.js.map → GrColorPicker-0n_KGeUy.js.map} +1 -1
- package/dist/components/GrColorPicker/index.js +2 -2
- package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-BPsVN_XU.js → GrCommandPalette-C5abL2Y7.js} +3 -3
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-C5abL2Y7.js.map +1 -0
- package/dist/components/GrCommandPalette/index.js +2 -2
- package/dist/components/GrCommandPalette/styles.css +1 -1
- package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BF7R3hgg.js.map +1 -1
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-CwXNLyzk.js → GrConfirmDialog-B9mIU78E.js} +4 -4
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-B9mIU78E.js.map +1 -0
- package/dist/components/GrConfirmDialog/index.js +1 -1
- package/dist/components/GrContextMenu/chunks/{GrContextMenu-BbAJholy.js → GrContextMenu-DDAUvrDK.js} +3 -3
- package/dist/components/GrContextMenu/chunks/GrContextMenu-DDAUvrDK.js.map +1 -0
- package/dist/components/GrContextMenu/index.js +1 -1
- package/dist/components/GrDataTable/chunks/{GrDataTable-NRbrXpdx.js → GrDataTable-DU00V44y.js} +14 -4
- package/dist/components/GrDataTable/chunks/GrDataTable-DU00V44y.js.map +1 -0
- package/dist/components/GrDataTable/index.js +2 -2
- package/dist/components/GrDelta/chunks/{GrDelta-NE5HhXoo.js → GrDelta-04j9WmEY.js} +0 -0
- package/dist/components/GrDelta/chunks/{GrDelta-NE5HhXoo.js.map → GrDelta-04j9WmEY.js.map} +1 -1
- package/dist/components/GrDelta/index.js +2 -2
- package/dist/components/GrDescriptionList/chunks/{GrDescriptionList-1mICfrqX.js → GrDescriptionList-BMeCgFV3.js} +1 -1
- package/dist/components/GrDescriptionList/chunks/GrDescriptionList-BMeCgFV3.js.map +1 -0
- package/dist/components/GrDescriptionList/index.js +2 -2
- package/dist/components/GrDialog/chunks/{GrDialog-5Y5K87ss.js → GrDialog-bOUDYfmh.js} +2 -2
- package/dist/components/GrDialog/chunks/GrDialog-bOUDYfmh.js.map +1 -0
- package/dist/components/GrDialog/index.js +2 -2
- package/dist/components/GrDialogService/chunks/{GrDialogService-CHVR4sOk.js → GrDialogService-B--br5so.js} +4 -4
- package/dist/components/GrDialogService/chunks/{GrDialogService-CHVR4sOk.js.map → GrDialogService-B--br5so.js.map} +1 -1
- package/dist/components/GrDialogService/index.js +1 -1
- package/dist/components/GrDivider/chunks/{GrDivider-CAhm9jbE.js → GrDivider-BXavGcMX.js} +1 -1
- package/dist/components/GrDivider/chunks/GrDivider-BXavGcMX.js.map +1 -0
- package/dist/components/GrDivider/index.js +2 -2
- package/dist/components/GrDrawer/chunks/{GrDrawer-CXy3-SVd.js → GrDrawer-BCreL-eq.js} +3 -3
- package/dist/components/GrDrawer/chunks/{GrDrawer-CXy3-SVd.js.map → GrDrawer-BCreL-eq.js.map} +1 -1
- package/dist/components/GrDrawer/index.js +2 -2
- package/dist/components/GrDropdown/chunks/{GrDropdown-BfTmdPyh.js → GrDropdown-13Wt9eB_.js} +16 -8
- package/dist/components/GrDropdown/chunks/GrDropdown-13Wt9eB_.js.map +1 -0
- package/dist/components/GrDropdown/index.js +2 -2
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-l5HEqzjr.js → GrDropdownMenu-5zoOL8Oj.js} +3 -3
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-5zoOL8Oj.js.map +1 -0
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenuList-BGA_xNVo.js → GrDropdownMenuList-CT_1TQJo.js} +1 -1
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenuList-CT_1TQJo.js.map +1 -0
- package/dist/components/GrDropdownMenu/index.js +3 -3
- package/dist/components/GrEmptyState/chunks/{GrEmptyState-CS9do8eM.js → GrEmptyState-D4T5pzXA.js} +2 -2
- package/dist/components/GrEmptyState/chunks/{GrEmptyState-CS9do8eM.js.map → GrEmptyState-D4T5pzXA.js.map} +1 -1
- package/dist/components/GrEmptyState/index.js +2 -2
- package/dist/components/GrFilePreview/chunks/{GrFilePreview-D0Bt-0nn.js → GrFilePreview-C9Z7hMK8.js} +1 -1
- package/dist/components/GrFilePreview/chunks/{GrFilePreview-D0Bt-0nn.js.map → GrFilePreview-C9Z7hMK8.js.map} +1 -1
- package/dist/components/GrFilePreview/index.js +2 -2
- package/dist/components/GrFileUpload/chunks/{GrFileUpload-wNXzHb5N.js → GrFileUpload-FjbaYGjL.js} +2 -2
- package/dist/components/GrFileUpload/chunks/{GrFileUpload-wNXzHb5N.js.map → GrFileUpload-FjbaYGjL.js.map} +1 -1
- package/dist/components/GrFileUpload/index.js +2 -2
- package/dist/components/GrForm/chunks/{GrForm-CAlJg-wb.js → GrForm-CrnfCsgj.js} +8 -2
- package/dist/components/GrForm/chunks/GrForm-CrnfCsgj.js.map +1 -0
- package/dist/components/GrForm/index.js +1 -1
- package/dist/components/GrFormField/chunks/GrFormField-DSylU7IU.js.map +1 -1
- package/dist/components/GrFormField/index.js +1 -1
- package/dist/components/GrFormFile/chunks/{GrFormFile-DhVkB2gm.js → GrFormFile-ChdKlN83.js} +3 -3
- package/dist/components/GrFormFile/chunks/{GrFormFile-DhVkB2gm.js.map → GrFormFile-ChdKlN83.js.map} +1 -1
- package/dist/components/GrFormFile/index.js +2 -2
- package/dist/components/GrFormSection/chunks/{GrFormSection-CdGWvzXO.js → GrFormSection-ejieOg9H.js} +1 -1
- package/dist/components/GrFormSection/chunks/{GrFormSection-CdGWvzXO.js.map → GrFormSection-ejieOg9H.js.map} +1 -1
- package/dist/components/GrFormSection/index.js +2 -2
- package/dist/components/GrIcon/chunks/{GrIcon-bQwtZtYT.js → GrIcon-Bn1XEriL.js} +1 -1
- package/dist/components/GrIcon/chunks/GrIcon-Bn1XEriL.js.map +1 -0
- package/dist/components/GrIcon/index.js +2 -2
- package/dist/components/GrImageViewer/chunks/{GrImageViewer-ng7el4wn.js → GrImageViewer-COUcpOgR.js} +2 -2
- package/dist/components/GrImageViewer/chunks/GrImageViewer-COUcpOgR.js.map +1 -0
- package/dist/components/GrImageViewer/index.js +2 -2
- package/dist/components/GrInput/chunks/{GrInput-Bb_pxqpT.js → GrInput-c53iltz0.js} +1 -1
- package/dist/components/GrInput/chunks/{GrInput-Bb_pxqpT.js.map → GrInput-c53iltz0.js.map} +1 -1
- package/dist/components/GrInput/index.js +2 -2
- package/dist/components/GrInputTag/chunks/{GrInputTag-UI8kIB_F.js → GrInputTag-LP3smqOv.js} +46 -49
- package/dist/components/GrInputTag/chunks/GrInputTag-LP3smqOv.js.map +1 -0
- package/dist/components/GrInputTag/index.js +2 -2
- package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-jk3ylOTc.js → GrJsonViewer-ClTvjlFx.js} +4 -4
- package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-jk3ylOTc.js.map → GrJsonViewer-ClTvjlFx.js.map} +1 -1
- package/dist/components/GrJsonViewer/index.js +2 -2
- package/dist/components/GrKbd/chunks/{GrKbd-BXbhsH0M.js → GrKbd-D2ga1H9i.js} +1 -1
- package/dist/components/GrKbd/chunks/{GrKbd-BXbhsH0M.js.map → GrKbd-D2ga1H9i.js.map} +1 -1
- package/dist/components/GrKbd/index.js +2 -2
- package/dist/components/GrLink/chunks/{GrLink-BQb7U4so.js → GrLink-DAGCFYO7.js} +2 -2
- package/dist/components/GrLink/chunks/GrLink-DAGCFYO7.js.map +1 -0
- package/dist/components/GrLink/index.js +2 -2
- package/dist/components/GrList/chunks/{GrList-B5bclmHV.js → GrList-DrXrKU37.js} +3 -3
- package/dist/components/GrList/chunks/GrList-DrXrKU37.js.map +1 -0
- package/dist/components/GrList/index.js +2 -2
- package/dist/components/GrList/styles.css +1 -1
- package/dist/components/GrLoading/chunks/{GrLoading-DeBFTvFX.js → GrLoading-DDD8WAIH.js} +2 -2
- package/dist/components/GrLoading/chunks/{GrLoading-DeBFTvFX.js.map → GrLoading-DDD8WAIH.js.map} +1 -1
- package/dist/components/GrLoading/index.js +2 -2
- package/dist/components/GrModal/index.js +1 -1
- package/dist/components/GrNavbar/chunks/{GrNavbar-DPj30sHX.js → GrNavbar-DhswlYyh.js} +3 -3
- package/dist/components/GrNavbar/chunks/{GrNavbar-DPj30sHX.js.map → GrNavbar-DhswlYyh.js.map} +1 -1
- package/dist/components/GrNavbar/index.js +2 -2
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-V2mZvDDC.js → GrNumberInput-Daud9Jdm.js} +3 -14
- package/dist/components/GrNumberInput/chunks/GrNumberInput-Daud9Jdm.js.map +1 -0
- package/dist/components/GrNumberInput/index.js +2 -2
- package/dist/components/GrPagination/chunks/{GrPagination-DG7kp6VL.js → GrPagination-CaNTZc-v.js} +3 -3
- package/dist/components/GrPagination/chunks/{GrPagination-DG7kp6VL.js.map → GrPagination-CaNTZc-v.js.map} +1 -1
- package/dist/components/GrPagination/index.js +2 -2
- package/dist/components/GrPopover/chunks/{GrPopover-DDChM1jD.js → GrPopover-CofG-Tfe.js} +16 -8
- package/dist/components/GrPopover/chunks/GrPopover-CofG-Tfe.js.map +1 -0
- package/dist/components/GrPopover/index.js +2 -2
- package/dist/components/GrProgressBar/index.js +1 -1
- package/dist/components/GrProgressCircle/chunks/{GrProgressCircle-BeUx1g1f.js → GrProgressCircle-D3yWXYDa.js} +1 -1
- package/dist/components/GrProgressCircle/chunks/{GrProgressCircle-BeUx1g1f.js.map → GrProgressCircle-D3yWXYDa.js.map} +1 -1
- package/dist/components/GrProgressCircle/index.js +2 -2
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-BGuMUzlv.js → GrPromptDialog-DMhALhSS.js} +6 -6
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-DMhALhSS.js.map +1 -0
- package/dist/components/GrPromptDialog/index.js +1 -1
- package/dist/components/GrRadio/chunks/{GrRadio-BdhknbO8.js → GrRadio-C_rESc5g.js} +1 -1
- package/dist/components/GrRadio/chunks/GrRadio-C_rESc5g.js.map +1 -0
- package/dist/components/GrRadio/index.js +2 -2
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-7w4bXIg_.js → GrRadioGroup-CdQO4G-U.js} +2 -2
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-7w4bXIg_.js.map → GrRadioGroup-CdQO4G-U.js.map} +1 -1
- package/dist/components/GrRadioGroup/index.js +1 -1
- package/dist/components/GrRating/chunks/{GrRating-BSEtaibx.js → GrRating-IEiTOdnF.js} +1 -1
- package/dist/components/GrRating/chunks/{GrRating-BSEtaibx.js.map → GrRating-IEiTOdnF.js.map} +1 -1
- package/dist/components/GrRating/index.js +2 -2
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-DA4q90Zt.js → GrResponseErrorBanner-C_skObtv.js} +1 -1
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-DA4q90Zt.js.map → GrResponseErrorBanner-C_skObtv.js.map} +1 -1
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-BhP-xw2P.js → GrResponseErrorBanner-DudGc9LO.js} +4 -4
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-BhP-xw2P.js.map → GrResponseErrorBanner-DudGc9LO.js.map} +1 -1
- package/dist/components/GrResponseErrorBanner/index.js +2 -2
- package/dist/components/GrSegmented/chunks/{GrSegmented-DKpo3cnC.js → GrSegmented-CB-VR-yL.js} +1 -1
- package/dist/components/GrSegmented/chunks/{GrSegmented-DKpo3cnC.js.map → GrSegmented-CB-VR-yL.js.map} +1 -1
- package/dist/components/GrSegmented/index.js +2 -2
- package/dist/components/GrSelect/chunks/{GrSelect-BA1wfX3c.js → GrSelect-BE1VNTiY.js} +96 -89
- package/dist/components/GrSelect/chunks/GrSelect-BE1VNTiY.js.map +1 -0
- package/dist/components/GrSelect/index.js +2 -2
- package/dist/components/GrSelect/styles.css +1 -1
- package/dist/components/GrSidebar/chunks/{GrSidebar-DY-LgIbS.js → GrSidebar-DxPhIiWs.js} +3 -3
- package/dist/components/GrSidebar/chunks/{GrSidebar-DY-LgIbS.js.map → GrSidebar-DxPhIiWs.js.map} +1 -1
- package/dist/components/GrSidebar/index.js +2 -2
- package/dist/components/GrSlider/chunks/{GrSlider-s99yAyz6.js → GrSlider-DJfeEl4h.js} +5 -4
- package/dist/components/GrSlider/chunks/GrSlider-DJfeEl4h.js.map +1 -0
- package/dist/components/GrSlider/index.js +2 -2
- package/dist/components/GrSortableList/chunks/{GrSortableList-BMXyxmRc.js → GrSortableList-DGs3Pi2J.js} +2 -2
- package/dist/components/GrSortableList/chunks/{GrSortableList-BMXyxmRc.js.map → GrSortableList-DGs3Pi2J.js.map} +1 -1
- package/dist/components/GrSortableList/index.js +2 -2
- package/dist/components/GrSplitter/chunks/{GrSplitter-B9_JrT7q.js → GrSplitter-MltjaADn.js} +1 -1
- package/dist/components/GrSplitter/chunks/{GrSplitter-B9_JrT7q.js.map → GrSplitter-MltjaADn.js.map} +1 -1
- package/dist/components/GrSplitter/index.js +2 -2
- package/dist/components/GrStatistic/chunks/{GrStatistic-BJQv5aOS.js → GrStatistic-qHVasK37.js} +2 -2
- package/dist/components/GrStatistic/chunks/GrStatistic-qHVasK37.js.map +1 -0
- package/dist/components/GrStatistic/index.js +2 -2
- package/dist/components/GrSteps/chunks/{GrSteps-Cce4rfr3.js → GrSteps-C2jxpZoN.js} +1 -1
- package/dist/components/GrSteps/chunks/{GrSteps-Cce4rfr3.js.map → GrSteps-C2jxpZoN.js.map} +1 -1
- package/dist/components/GrSteps/index.js +2 -2
- package/dist/components/GrSwitch/chunks/{GrSwitch-CHiIj9GT.js → GrSwitch-KRlRMwgp.js} +1 -1
- package/dist/components/GrSwitch/chunks/{GrSwitch-CHiIj9GT.js.map → GrSwitch-KRlRMwgp.js.map} +1 -1
- package/dist/components/GrSwitch/index.js +2 -2
- package/dist/components/GrTabPanels/chunks/GrTabPanels-BZQS8-JM.js.map +1 -1
- package/dist/components/GrTable/chunks/{GrTable-f3qCWa99.js → GrTable-Zcdz2St_.js} +1 -1
- package/dist/components/GrTable/chunks/GrTable-Zcdz2St_.js.map +1 -0
- package/dist/components/GrTable/index.js +2 -2
- package/dist/components/GrTabs/chunks/{GrTabs-CBHZkOFY.js → GrTabs-ugDnkk-2.js} +2 -2
- package/dist/components/GrTabs/chunks/{GrTabs-CBHZkOFY.js.map → GrTabs-ugDnkk-2.js.map} +1 -1
- package/dist/components/GrTabs/index.js +2 -2
- package/dist/components/GrTextarea/chunks/{GrTextarea-CNnkcIG1.js → GrTextarea-KREK75Bu.js} +1 -1
- package/dist/components/GrTextarea/chunks/{GrTextarea-CNnkcIG1.js.map → GrTextarea-KREK75Bu.js.map} +1 -1
- package/dist/components/GrTextarea/index.js +2 -2
- package/dist/components/GrTimeline/chunks/{GrTimeline-DIDdkTn7.js → GrTimeline-BiHpArsg.js} +1 -1
- package/dist/components/GrTimeline/chunks/{GrTimeline-DIDdkTn7.js.map → GrTimeline-BiHpArsg.js.map} +1 -1
- package/dist/components/GrTimeline/index.js +2 -2
- package/dist/components/GrToaster/chunks/{GrToaster-CC49q3a4.js → GrToaster-CUi3ldJ0.js} +6 -6
- package/dist/components/GrToaster/chunks/GrToaster-CUi3ldJ0.js.map +1 -0
- package/dist/components/GrToaster/index.js +2 -2
- package/dist/components/GrToaster/styles.css +1 -1
- package/dist/components/GrTooltip/chunks/{GrTooltip-B6AwE_UX.js → GrTooltip-BKFjqu0E.js} +4 -4
- package/dist/components/GrTooltip/chunks/GrTooltip-BKFjqu0E.js.map +1 -0
- package/dist/components/GrTooltip/index.js +2 -2
- package/dist/components/GrTree/chunks/{GrTree-J5q8aCya.js → GrTree-D5ozu6U4.js} +15 -25
- package/dist/components/GrTree/chunks/GrTree-D5ozu6U4.js.map +1 -0
- package/dist/components/GrTree/index.js +1 -1
- package/dist/components/GrTree/styles.css +1 -1
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-DEfxWAc3.js → GrTreeSelect-Db_uKdNa.js} +18 -10
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-Db_uKdNa.js.map +1 -0
- package/dist/components/GrTreeSelect/index.js +2 -2
- package/dist/components/GrValue/chunks/{GrValue-CZsuZ4x-.js → GrValue-ezkQM05Q.js} +1 -1
- package/dist/components/GrValue/chunks/{GrValue-CZsuZ4x-.js.map → GrValue-ezkQM05Q.js.map} +1 -1
- package/dist/components/GrValue/index.js +2 -2
- package/dist/directives/loading.js +1 -1
- package/dist/granular-provider-node.js +1 -1
- package/dist/granular-provider.js +1 -1
- package/dist/index.js +143 -143
- package/dist/styles/tokens.css +11 -0
- package/dist/theme.js +1 -1
- package/dist/tokens.js +1 -1
- package/dist/types/components/GrAutocomplete/GrAutocomplete.vue.d.ts +4 -3
- package/dist/types/components/GrAutocomplete/grAutocompleteStyles.d.ts +2 -2
- package/dist/types/components/GrBadge/GrBadge.vue.d.ts +3 -3
- package/dist/types/components/GrBadgeWrap/GrBadgeWrap.vue.d.ts +3 -3
- package/dist/types/components/GrBadgeWrap/grBadgeWrapStyles.d.ts +1 -1
- package/dist/types/components/GrBottomNav/grBottomNavStyles.d.ts +1 -1
- package/dist/types/components/GrButton/GrButton.vue.d.ts +7 -7
- package/dist/types/components/GrButtonGroup/GrButtonGroup.vue.d.ts +3 -3
- package/dist/types/components/GrCard/GrCard.vue.d.ts +7 -9
- package/dist/types/components/GrCheckbox/GrCheckbox.vue.d.ts +1 -1
- package/dist/types/components/GrCheckboxGroup/GrCheckboxGroup.vue.d.ts +1 -1
- package/dist/types/components/GrChip/GrChip.vue.d.ts +19 -1
- package/dist/types/components/GrChip/grChipStyles.d.ts +10 -6
- package/dist/types/components/GrChipGroup/GrChipGroup.vue.d.ts +2 -2
- package/dist/types/components/GrCollapse/GrCollapseItem.vue.d.ts +9 -11
- package/dist/types/components/GrColorPicker/GrColorPicker.vue.d.ts +1 -1
- package/dist/types/components/GrCommandPalette/GrCommandPalette.vue.d.ts +13 -13
- package/dist/types/components/GrCommandPalette/grCommandPaletteStyles.d.ts +5 -5
- package/dist/types/components/GrConfigProvider/GrConfigProvider.vue.d.ts +3 -3
- package/dist/types/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +9 -9
- package/dist/types/components/GrContextMenu/GrContextMenu.vue.d.ts +9 -9
- package/dist/types/components/GrDataTable/GrDataTable.vue.d.ts +9 -17
- package/dist/types/components/GrDescriptionList/GrDescriptionList.vue.d.ts +16 -13
- package/dist/types/components/GrDialog/GrDialogFooter.vue.d.ts +3 -3
- package/dist/types/components/GrDivider/GrDivider.vue.d.ts +3 -3
- package/dist/types/components/GrDrawer/grDrawerStyles.d.ts +1 -1
- package/dist/types/components/GrDropdown/GrDropdown.vue.d.ts +16 -20
- package/dist/types/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +16 -19
- package/dist/types/components/GrDropdownMenu/GrDropdownMenuColumn.vue.d.ts +3 -3
- package/dist/types/components/GrDropdownMenu/GrDropdownMenuColumns.vue.d.ts +3 -3
- package/dist/types/components/GrDropdownMenu/GrDropdownMenuGroup.vue.d.ts +3 -3
- package/dist/types/components/GrDropdownMenu/GrDropdownMenuHeader.vue.d.ts +3 -3
- package/dist/types/components/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +7 -7
- package/dist/types/components/GrDropdownMenu/GrDropdownMenuList.vue.d.ts +3 -3
- package/dist/types/components/GrDropdownMenu/grDropdownMenuStyles.d.ts +3 -3
- package/dist/types/components/GrForm/GrForm.vue.d.ts +5 -1
- package/dist/types/components/GrFormField/GrFormField.vue.d.ts +11 -11
- package/dist/types/components/GrFormFile/GrFormFile.vue.d.ts +1 -1
- package/dist/types/components/GrFormSection/grFormSectionStyles.d.ts +2 -2
- package/dist/types/components/GrIcon/GrIcon.vue.d.ts +3 -3
- package/dist/types/components/GrImageViewer/GrImageViewer.vue.d.ts +6 -25
- package/dist/types/components/GrInput/GrInput.vue.d.ts +1 -1
- package/dist/types/components/GrInput/grInputStyles.d.ts +4 -4
- package/dist/types/components/GrInputTag/GrInputTag.vue.d.ts +2 -2
- package/dist/types/components/GrInputTag/grInputTagStyles.d.ts +0 -6
- package/dist/types/components/GrKbd/GrKbd.vue.d.ts +3 -3
- package/dist/types/components/GrKbd/grKbdStyles.d.ts +5 -0
- package/dist/types/components/GrLink/GrLink.vue.d.ts +3 -3
- package/dist/types/components/GrList/GrList.vue.d.ts +12 -6
- package/dist/types/components/GrList/GrListItem.vue.d.ts +9 -9
- package/dist/types/components/GrList/grListStyles.d.ts +3 -3
- package/dist/types/components/GrNavbar/grNavbarStyles.d.ts +1 -1
- package/dist/types/components/GrNumberInput/GrNumberInput.vue.d.ts +1 -1
- package/dist/types/components/GrNumberInput/numberInputMath.d.ts +1 -6
- package/dist/types/components/GrPopover/GrPopover.vue.d.ts +16 -17
- package/dist/types/components/GrPromptDialog/GrPromptDialog.vue.d.ts +9 -9
- package/dist/types/components/GrRadio/GrRadio.vue.d.ts +6 -8
- package/dist/types/components/GrRadioGroup/GrRadioGroup.vue.d.ts +1 -1
- package/dist/types/components/GrRating/GrRating.vue.d.ts +1 -1
- package/dist/types/components/GrSegmented/GrSegmented.vue.d.ts +1 -1
- package/dist/types/components/GrSelect/grSelectStyles.d.ts +1 -1
- package/dist/types/components/GrSidebar/GrSidebar.vue.d.ts +7 -7
- package/dist/types/components/GrSidebar/grSidebarStyles.d.ts +4 -4
- package/dist/types/components/GrSlider/GrSlider.vue.d.ts +1 -1
- package/dist/types/components/GrSortableList/grSortableListStyles.d.ts +2 -2
- package/dist/types/components/GrSplitter/GrSplitter.vue.d.ts +1 -1
- package/dist/types/components/GrStatistic/GrStatistic.vue.d.ts +13 -13
- package/dist/types/components/GrSteps/grStepsStyles.d.ts +2 -2
- package/dist/types/components/GrSwitch/GrSwitch.vue.d.ts +1 -1
- package/dist/types/components/GrTabPanels/GrTabPanel.vue.d.ts +3 -3
- package/dist/types/components/GrTabPanels/GrTabPanels.vue.d.ts +3 -3
- package/dist/types/components/GrTable/GrTable.vue.d.ts +13 -13
- package/dist/types/components/GrTextarea/GrTextarea.vue.d.ts +1 -1
- package/dist/types/components/GrTreeSelect/grTreeSelectStyles.d.ts +1 -1
- package/dist/types/components/shared/classTokens.d.ts +8 -0
- package/dist/types/components/shared/numericStep.d.ts +14 -0
- package/dist/types/components/shared/overlayTransition.d.ts +33 -0
- package/dist/web-types.json +292 -218
- package/package.json +2 -2
- package/tokens/foundation.json +41 -1
- package/dist/chunks/classTokens-BzazaERD.js +0 -6
- package/dist/chunks/classTokens-BzazaERD.js.map +0 -1
- package/dist/chunks/config-9PYRZlKE.js.map +0 -1
- package/dist/chunks/config-B4w5gBD0.js.map +0 -1
- package/dist/chunks/config-BEVBsvni2.js.map +0 -1
- package/dist/chunks/config-BN4sXYXn.js.map +0 -1
- package/dist/chunks/config-BViooYNv.js.map +0 -1
- package/dist/chunks/config-B_qi4Fma.js.map +0 -1
- package/dist/chunks/config-Baj7Wvx-.js.map +0 -1
- package/dist/chunks/config-BbY2SKGE.js.map +0 -1
- package/dist/chunks/config-BfsBepkH.js.map +0 -1
- package/dist/chunks/config-Bpt9Xbxm.js.map +0 -1
- package/dist/chunks/config-BsPDQ0dS.js.map +0 -1
- package/dist/chunks/config-BtXRpAtq.js.map +0 -1
- package/dist/chunks/config-BuGlNPE92.js.map +0 -1
- package/dist/chunks/config-C8tVRv8i.js.map +0 -1
- package/dist/chunks/config-CIcynHGr.js.map +0 -1
- package/dist/chunks/config-CN2ULSQL.js.map +0 -1
- package/dist/chunks/config-CN970ZcJ.js.map +0 -1
- package/dist/chunks/config-COvrUfhR.js.map +0 -1
- package/dist/chunks/config-Cl4ST6Qd.js.map +0 -1
- package/dist/chunks/config-Cwd3yjRw.js.map +0 -1
- package/dist/chunks/config-D7zgE_Gr.js.map +0 -1
- package/dist/chunks/config-D94Z9po5.js.map +0 -1
- package/dist/chunks/config-DAX8Deh1.js.map +0 -1
- package/dist/chunks/config-DBmdgoVf.js.map +0 -1
- package/dist/chunks/config-DCFvmHEv.js.map +0 -1
- package/dist/chunks/config-DGWFal5h.js.map +0 -1
- package/dist/chunks/config-DKdlqXiY.js.map +0 -1
- package/dist/chunks/config-DSJY6aEl.js.map +0 -1
- package/dist/chunks/config-DWN4x6_e.js.map +0 -1
- package/dist/chunks/config-Dgj1Q6JY.js.map +0 -1
- package/dist/chunks/config-Dguto_6o.js.map +0 -1
- package/dist/chunks/config-DtgYuGUn2.js.map +0 -1
- package/dist/chunks/config-rkcKArZQ.js.map +0 -1
- package/dist/chunks/config-vSji8w90.js.map +0 -1
- package/dist/chunks/config-zjeAJ4ho2.js.map +0 -1
- package/dist/chunks/context-BfIQv7m12.js.map +0 -1
- package/dist/chunks/generated-CJe6hdiE.js.map +0 -1
- package/dist/chunks/grBadgeStyles-C1S56Alo.js.map +0 -1
- package/dist/chunks/grDropdownMenuStyles-D1LOkdVj.js.map +0 -1
- package/dist/chunks/grInputStyles-CJeMhUe5.js.map +0 -1
- package/dist/chunks/grKbdStyles-CeZhGQHr.js.map +0 -1
- package/dist/chunks/grLinkStyles-BoL8QYcV.js.map +0 -1
- package/dist/chunks/grPopoverStyles-Cke_BZsM.js.map +0 -1
- package/dist/chunks/grRadioStyles-BTjGNhtU.js.map +0 -1
- package/dist/chunks/grSelectStyles-eTz4uPMP.js.map +0 -1
- package/dist/chunks/grTextareaStyles-iOcHuVMM.js.map +0 -1
- package/dist/chunks/useMenuItemsFocus-OyOnIAlr.js.map +0 -1
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-D9c9BNFg.js.map +0 -1
- package/dist/components/GrBadge/chunks/GrBadge-_9rCHuE1.js.map +0 -1
- package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-DDoFQscR.js.map +0 -1
- package/dist/components/GrButton/chunks/GrButton-DCz-Wn-V.js.map +0 -1
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-BQo5VQ_c.js.map +0 -1
- package/dist/components/GrCard/chunks/GrCard-aQIjk6I9.js.map +0 -1
- package/dist/components/GrChip/chunks/GrChip-BnL2FedO.js.map +0 -1
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BPsVN_XU.js.map +0 -1
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-CwXNLyzk.js.map +0 -1
- package/dist/components/GrContextMenu/chunks/GrContextMenu-BbAJholy.js.map +0 -1
- package/dist/components/GrDataTable/chunks/GrDataTable-NRbrXpdx.js.map +0 -1
- package/dist/components/GrDescriptionList/chunks/GrDescriptionList-1mICfrqX.js.map +0 -1
- package/dist/components/GrDialog/chunks/GrDialog-5Y5K87ss.js.map +0 -1
- package/dist/components/GrDivider/chunks/GrDivider-CAhm9jbE.js.map +0 -1
- package/dist/components/GrDropdown/chunks/GrDropdown-BfTmdPyh.js.map +0 -1
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-l5HEqzjr.js.map +0 -1
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenuList-BGA_xNVo.js.map +0 -1
- package/dist/components/GrForm/chunks/GrForm-CAlJg-wb.js.map +0 -1
- package/dist/components/GrIcon/chunks/GrIcon-bQwtZtYT.js.map +0 -1
- package/dist/components/GrImageViewer/chunks/GrImageViewer-ng7el4wn.js.map +0 -1
- package/dist/components/GrInputTag/chunks/GrInputTag-UI8kIB_F.js.map +0 -1
- package/dist/components/GrLink/chunks/GrLink-BQb7U4so.js.map +0 -1
- package/dist/components/GrList/chunks/GrList-B5bclmHV.js.map +0 -1
- package/dist/components/GrNumberInput/chunks/GrNumberInput-V2mZvDDC.js.map +0 -1
- package/dist/components/GrPopover/chunks/GrPopover-DDChM1jD.js.map +0 -1
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-BGuMUzlv.js.map +0 -1
- package/dist/components/GrRadio/chunks/GrRadio-BdhknbO8.js.map +0 -1
- package/dist/components/GrSelect/chunks/GrSelect-BA1wfX3c.js.map +0 -1
- package/dist/components/GrSlider/chunks/GrSlider-s99yAyz6.js.map +0 -1
- package/dist/components/GrStatistic/chunks/GrStatistic-BJQv5aOS.js.map +0 -1
- package/dist/components/GrTable/chunks/GrTable-f3qCWa99.js.map +0 -1
- package/dist/components/GrToaster/chunks/GrToaster-CC49q3a4.js.map +0 -1
- package/dist/components/GrTooltip/chunks/GrTooltip-B6AwE_UX.js.map +0 -1
- package/dist/components/GrTree/chunks/GrTree-J5q8aCya.js.map +0 -1
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-DEfxWAc3.js.map +0 -1
- /package/dist/chunks/{config-BuGlNPE92.js → config-BuGlNPE9.js} +0 -0
- /package/dist/chunks/{config-DBmdgoVf.js → config-DBmdgoVf2.js} +0 -0
- /package/dist/chunks/{context-BfIQv7m12.js → context-BfIQv7m1.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-DKdlqXiY.js","names":[],"sources":["../../src/components/GrBreadcrumbs/grBreadcrumbsStyles.ts","../../src/components/GrBreadcrumbs/safelist.ts","../../src/components/GrBreadcrumbs/config.ts"],"sourcesContent":["import type { Component } from 'vue'\n\nimport type { GrComponentSize } from '../shared/sizes'\n\nexport type GrBreadcrumbsSize = GrComponentSize\n\n/** Пункт пути. Кроме `label` всё опционально: последний пункт обычно без ссылки. */\nexport type GrBreadcrumbItem = {\n label: string\n href?: string\n /** Цель роутерной ссылки: уезжает в `GrLink` через `attrs` вместе с `as`. */\n to?: unknown\n /**\n * Иконка перед подписью — декоративна. Vue-компонент либо класс иконки вашей\n * UnoCSS-сборки (`i-lucide-*` требует вашего `presetIcons`).\n */\n icon?: string | Component\n disabled?: boolean\n /** Доступное имя пункта, когда подписи недостаточно («Настройки» → «Настройки проекта»). */\n ariaLabel?: string\n}\n\nexport const breadcrumbsRootClass = 'w-full min-w-0'\nexport const breadcrumbsListClass = 'flex items-center gap-1 m-0 p-0 [list-style:none]'\n\n/**\n * Перенос — умолчание: длинный путь уезжает на вторую строку и остаётся читаемым.\n * В режиме `autoCollapse` строка одна, иначе переполнения не случится никогда и\n * мерить будет нечего: список просто перенесётся.\n *\n * Исключение — раскрытый вручную путь: в одну строку он бы не влез (её нехватка и\n * вызвала схлопывание), `overflow: hidden` срезал бы хвост вместе с текущей\n * страницей, а фокус на раскрытом пункте молча уводил бы скролл контейнера.\n * Поэтому раскрытие возвращает перенос.\n */\nexport const breadcrumbsListWrapClass = 'flex-wrap'\nexport const breadcrumbsListNowrapClass = 'flex-nowrap overflow-hidden'\n\n/** Кегль строки пути. Шкала общая с `GrLink`: путь — это ряд ссылок. */\nexport const breadcrumbsSizeClassBySize: Record<GrBreadcrumbsSize, string> = {\n xs: 'text-[length:var(--gr-text-xs)]',\n sm: 'text-[length:var(--gr-text-sm)]',\n md: 'text-[length:var(--gr-text-sm)]',\n lg: 'text-[length:var(--gr-text-base)]',\n}\n\nexport const breadcrumbsSeparatorClass = 'select-none text-[var(--gr-muted-fg)]'\n\n/** Текущая страница: не ссылка, но и не «выключенный» текст — обычный акцент подписи. */\nexport const breadcrumbsCurrentClass = 'inline-flex items-center gap-1 min-w-0 font-600 text-[var(--gr-fg)]'\n\nexport const breadcrumbsItemIconClass = 'inline-block h-4 w-4 shrink-0'\n\nexport const breadcrumbsLabelClass = 'truncate'\n\n/**\n * Кнопка «…»: раскрывает схлопнутую середину пути на месте. Оформлена как\n * приглушённая ссылка, чтобы не выбиваться из ряда.\n */\nexport const breadcrumbsEllipsisClass = 'inline-flex items-center rounded-[var(--gr-radius-sm)] px-1 text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\nexport type GrBreadcrumbsLinkComponent = string | Component\n\n/**\n * Раскладка пути: какие пункты видны и где стоит кнопка раскрытия.\n *\n * Чистая функция, потому что вся её сложность — арифметика границ, и проверять\n * её монтированием компонента дороже, чем таблицей входов.\n */\nexport type GrBreadcrumbsLayoutEntry =\n | { kind: 'item', item: GrBreadcrumbItem, index: number }\n | { kind: 'ellipsis', hiddenCount: number }\n\n/**\n * Сколько пунктов хвоста влезает в доступную ширину.\n *\n * Порог по числу пунктов (`maxItems`) на узком экране предсказывает плохо: три\n * коротких пункта влезают, два длинных — нет. Здесь решение принимается по\n * измеренным ширинам.\n *\n * Голова не ужимается: `itemsBeforeCollapse` — обычно один корневой пункт, и он\n * дёшев. Хвост ужимается до упора, но **не меньше одного**: последний пункт\n * отвечает на вопрос «где я сейчас», и прятать его бессмысленно — путь\n * превратился бы в «Главная / …».\n *\n * Возврат — число пунктов хвоста; `items.length` означает «влезло всё».\n */\nexport function resolveBreadcrumbsFit(options: {\n itemWidths: number[]\n separatorWidth: number\n ellipsisWidth: number\n available: number\n itemsBeforeCollapse: number\n /** Зазор списка (`gap`). Стоит между каждой парой соседей, включая разделители. */\n gapWidth?: number\n}): number {\n const { itemWidths, separatorWidth, ellipsisWidth, available, itemsBeforeCollapse, gapWidth = 0 } = options\n const total = itemWidths.length\n\n if (total === 0) return 0\n\n const sum = (from: number, to: number): number =>\n itemWidths.slice(from, to).reduce((acc, width) => acc + width, 0)\n\n /**\n * Ширина строки из `parts` видимых блоков: сами блоки, разделители между ними\n * и зазоры. Элементов в списке `2 * parts - 1` (блоки и разделители вперемешку),\n * значит зазоров на один меньше — без них расчёт систематически оптимистичен и\n * путь подрезается уже после схлопывания.\n */\n const rowWidth = (content: number, parts: number): number =>\n content\n + Math.max(0, parts - 1) * separatorWidth\n + Math.max(0, 2 * parts - 2) * gapWidth\n\n if (rowWidth(sum(0, total), total) <= available) return total\n\n const before = Math.max(0, Math.min(itemsBeforeCollapse, total))\n\n for (let after = total - before - 1; after > 1; after--) {\n const content = sum(0, before) + ellipsisWidth + sum(total - after, total)\n\n if (rowWidth(content, before + 1 + after) <= available) return after\n }\n\n return 1\n}\n\nexport function resolveBreadcrumbsLayout(options: {\n items: GrBreadcrumbItem[]\n maxItems?: number\n itemsBeforeCollapse: number\n itemsAfterCollapse: number\n expanded: boolean\n}): GrBreadcrumbsLayoutEntry[] {\n const { items, maxItems, itemsBeforeCollapse, itemsAfterCollapse, expanded } = options\n const all: GrBreadcrumbsLayoutEntry[] = items.map((item, index) => ({ kind: 'item', item, index }))\n\n if (expanded || !maxItems || maxItems < 1 || items.length <= maxItems)\n return all\n\n // Хвост важнее головы: «где я сейчас» читается справа, поэтому при нехватке\n // места сначала жертвуем серединой, а не концом.\n const before = Math.max(0, Math.min(itemsBeforeCollapse, items.length))\n const after = Math.max(0, Math.min(itemsAfterCollapse, items.length - before))\n const hiddenCount = items.length - before - after\n\n if (hiddenCount <= 1)\n return all\n\n return [\n ...all.slice(0, before),\n { kind: 'ellipsis', hiddenCount },\n ...all.slice(items.length - after),\n ]\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n breadcrumbsCurrentClass,\n breadcrumbsEllipsisClass,\n breadcrumbsItemIconClass,\n breadcrumbsLabelClass,\n breadcrumbsListClass,\n breadcrumbsListNowrapClass,\n breadcrumbsListWrapClass,\n breadcrumbsRootClass,\n breadcrumbsSeparatorClass,\n breadcrumbsSizeClassBySize,\n} from './grBreadcrumbsStyles'\n\n// Всё, что живёт в `grBreadcrumbsStyles.ts`: и мапа размеров, и строковые\n// литералы. Хелпер уезжает в общий `dist/chunks/`, вне области скана\n// компонента — гейт `src/__tests__/safelist.test.ts`.\nexport const grBreadcrumbsSafelist = [...new Set([\n ...Object.values(breadcrumbsSizeClassBySize).flatMap(splitClassTokens),\n ...splitClassTokens(breadcrumbsRootClass),\n ...splitClassTokens(breadcrumbsListClass),\n ...splitClassTokens(breadcrumbsListWrapClass),\n ...splitClassTokens(breadcrumbsListNowrapClass),\n ...splitClassTokens(breadcrumbsSeparatorClass),\n ...splitClassTokens(breadcrumbsCurrentClass),\n ...splitClassTokens(breadcrumbsItemIconClass),\n ...splitClassTokens(breadcrumbsLabelClass),\n ...splitClassTokens(breadcrumbsEllipsisClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grBreadcrumbsSafelist } from './safelist'\n\nexport const grBreadcrumbsConfig = defineGranularComponent(import.meta.url, {\n name: 'GrBreadcrumbs',\n safelist: grBreadcrumbsSafelist,\n dependencies: ['GrLink'],\n})\n"],"mappings":";;;AAsBA,IAAa,uBAAuB;AACpC,IAAa,uBAAuB;;;;;;;;;;;AAYpC,IAAa,2BAA2B;AACxC,IAAa,6BAA6B;;AAG1C,IAAa,6BAAgE;CAC3E,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,4BAA4B;;AAGzC,IAAa,0BAA0B;AAEvC,IAAa,2BAA2B;AAExC,IAAa,wBAAwB;;;;;AAMrC,IAAa,2BAA2B;;;;;;;;;;;;;;;AA4BxC,SAAgB,sBAAsB,SAQ3B;CACT,MAAM,EAAE,YAAY,gBAAgB,eAAe,WAAW,qBAAqB,WAAW,MAAM;CACpG,MAAM,QAAQ,WAAW;CAEzB,IAAI,UAAU,GAAG,OAAO;CAExB,MAAM,OAAO,MAAc,OACzB,WAAW,MAAM,MAAM,EAAE,CAAC,CAAC,QAAQ,KAAK,UAAU,MAAM,OAAO,CAAC;;;;;;;CAQlE,MAAM,YAAY,SAAiB,UACjC,UACE,KAAK,IAAI,GAAG,QAAQ,CAAC,IAAI,iBACzB,KAAK,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI;CAEjC,IAAI,SAAS,IAAI,GAAG,KAAK,GAAG,KAAK,KAAK,WAAW,OAAO;CAExD,MAAM,SAAS,KAAK,IAAI,GAAG,KAAK,IAAI,qBAAqB,KAAK,CAAC;CAE/D,KAAK,IAAI,QAAQ,QAAQ,SAAS,GAAG,QAAQ,GAAG,SAG9C,IAAI,SAFY,IAAI,GAAG,MAAM,IAAI,gBAAgB,IAAI,QAAQ,OAAO,KAAK,GAEnD,SAAS,IAAI,KAAK,KAAK,WAAW,OAAO;CAGjE,OAAO;AACT;AAEA,SAAgB,yBAAyB,SAMV;CAC7B,MAAM,EAAE,OAAO,UAAU,qBAAqB,oBAAoB,aAAa;CAC/E,MAAM,MAAkC,MAAM,KAAK,MAAM,WAAW;EAAE,MAAM;EAAQ;EAAM;CAAM,EAAE;CAElG,IAAI,YAAY,CAAC,YAAY,WAAW,KAAK,MAAM,UAAU,UAC3D,OAAO;CAIT,MAAM,SAAS,KAAK,IAAI,GAAG,KAAK,IAAI,qBAAqB,MAAM,MAAM,CAAC;CACtE,MAAM,QAAQ,KAAK,IAAI,GAAG,KAAK,IAAI,oBAAoB,MAAM,SAAS,MAAM,CAAC;CAC7E,MAAM,cAAc,MAAM,SAAS,SAAS;CAE5C,IAAI,eAAe,GACjB,OAAO;CAET,OAAO;EACL,GAAG,IAAI,MAAM,GAAG,MAAM;EACtB;GAAE,MAAM;GAAY;EAAY;EAChC,GAAG,IAAI,MAAM,MAAM,SAAS,KAAK;CACnC;AACF;;;AC1IA,IAAa,wBAAwB,CAAC,mBAAG,IAAI,IAAI;CAC/C,GAAG,OAAO,OAAO,0BAA0B,CAAC,CAAC,QAAQ,gBAAgB;CACrE,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,0BAA0B;CAC9C,GAAG,iBAAiB,yBAAyB;CAC7C,GAAG,iBAAiB,uBAAuB;CAC3C,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,qBAAqB;CACzC,GAAG,iBAAiB,wBAAwB;AAC9C,CAAC,CAAC;;;ACxBF,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,UAAU;CACV,cAAc,CAAC,QAAQ;AACzB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-DSJY6aEl.js","names":[],"sources":["../../src/components/GrPagination/grPaginationStyles.ts","../../src/components/GrPagination/safelist.ts","../../src/components/GrPagination/config.ts"],"sourcesContent":["import type { GrComponentSize } from '../shared/sizes'\n\nexport type GrPaginationSize = GrComponentSize\n\n/** Номер страницы и многоточие: одна и та же коробка, чтобы ряд не прыгал. */\nexport const pageSizes: Record<GrPaginationSize, string> = {\n xs: 'h-7 min-w-7 px-1.5 text-[length:var(--gr-text-xs)]',\n sm: 'h-8 min-w-8 px-2 text-[length:var(--gr-text-xs)]',\n md: 'h-8 min-w-8 px-2 text-[length:var(--gr-text-sm)]',\n lg: 'h-10 min-w-10 px-3 text-[length:var(--gr-text-base)]',\n}\n\n/** Коробка та же, что у номера, но поле́ уже: многоточию не нужен клик-таргет. */\nexport const ellipsisSizes: Record<GrPaginationSize, string> = {\n xs: 'h-7 min-w-7 px-1 text-[length:var(--gr-text-xs)]',\n sm: 'h-8 min-w-8 px-1 text-[length:var(--gr-text-xs)]',\n md: 'h-8 min-w-8 px-1 text-[length:var(--gr-text-sm)]',\n lg: 'h-10 min-w-10 px-2 text-[length:var(--gr-text-base)]',\n}\n\n/** Вспомогательный текст: индикатор «текущая / всего» и подпись у поля перехода. */\nexport const labelSizes: Record<GrPaginationSize, string> = {\n xs: 'text-[length:var(--gr-text-xs)]',\n sm: 'text-[length:var(--gr-text-xs)]',\n md: 'text-[length:var(--gr-text-sm)]',\n lg: 'text-[length:var(--gr-text-base)]',\n}\n\nexport const jumperSizes: Record<GrPaginationSize, string> = {\n xs: 'h-7 w-12 text-[length:var(--gr-text-xs)]',\n sm: 'h-8 w-14 text-[length:var(--gr-text-xs)]',\n md: 'h-8 w-14 text-[length:var(--gr-text-sm)]',\n lg: 'h-10 w-16 text-[length:var(--gr-text-base)]',\n}\n\nexport const rowGaps: Record<GrPaginationSize, string> = {\n xs: 'gap-2',\n sm: 'gap-2',\n md: 'gap-3',\n lg: 'gap-3',\n}\n\nexport const pageListGaps: Record<GrPaginationSize, string> = {\n xs: 'gap-0.5',\n sm: 'gap-1',\n md: 'gap-1',\n lg: 'gap-1',\n}\n\nexport const pageSizeSelectWidths: Record<GrPaginationSize, string> = {\n xs: 'min-w-[84px]',\n sm: 'min-w-[92px]',\n md: 'min-w-[100px]',\n lg: 'min-w-[112px]',\n}\n\n/**\n * Навигационные кнопки берут размер из шкалы `GrButton`, а не из своей: они\n * обязаны стоять в один ряд с номерами страниц, а высоты у `GrButton`\n * `xs…lg` — `28/32/40/44px`. На `md` номера страниц ростом `h-8`, поэтому\n * кнопке достаётся `sm`, а не одноимённый `md`.\n */\nexport const navButtonSizes: Record<GrPaginationSize, GrComponentSize> = {\n xs: 'xs',\n sm: 'sm',\n md: 'sm',\n lg: 'md',\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n ellipsisSizes,\n jumperSizes,\n labelSizes,\n pageListGaps,\n pageSizes,\n pageSizeSelectWidths,\n rowGaps,\n} from './grPaginationStyles'\n\nexport const grPaginationSafelist = [...new Set([\n ...Object.values(pageSizes).flatMap(splitClassTokens),\n ...Object.values(ellipsisSizes).flatMap(splitClassTokens),\n ...Object.values(labelSizes).flatMap(splitClassTokens),\n ...Object.values(jumperSizes).flatMap(splitClassTokens),\n ...Object.values(rowGaps).flatMap(splitClassTokens),\n ...Object.values(pageListGaps).flatMap(splitClassTokens),\n ...Object.values(pageSizeSelectWidths).flatMap(splitClassTokens),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grPaginationSafelist } from './safelist'\n\nexport const grPaginationConfig = defineGranularComponent(import.meta.url, {\n name: 'GrPagination',\n dependencies: ['GrButton', 'GrSelect'],\n safelist: grPaginationSafelist,\n})\n"],"mappings":";;;;AAKA,IAAa,YAA8C;CACzD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;AAGA,IAAa,gBAAkD;CAC7D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;AAGA,IAAa,aAA+C;CAC1D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,cAAgD;CAC3D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,UAA4C;CACvD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,eAAiD;CAC5D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,uBAAyD;CACpE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;;;;;;AAQA,IAAa,iBAA4D;CACvE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;;ACxDA,IAAa,uBAAuB,CAAC,mBAAG,IAAI,IAAI;CAC9C,GAAG,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,gBAAgB;CACpD,GAAG,OAAO,OAAO,aAAa,CAAC,CAAC,QAAQ,gBAAgB;CACxD,GAAG,OAAO,OAAO,UAAU,CAAC,CAAC,QAAQ,gBAAgB;CACrD,GAAG,OAAO,OAAO,WAAW,CAAC,CAAC,QAAQ,gBAAgB;CACtD,GAAG,OAAO,OAAO,OAAO,CAAC,CAAC,QAAQ,gBAAgB;CAClD,GAAG,OAAO,OAAO,YAAY,CAAC,CAAC,QAAQ,gBAAgB;CACvD,GAAG,OAAO,OAAO,oBAAoB,CAAC,CAAC,QAAQ,gBAAgB;AACjE,CAAC,CAAC;;;ACfF,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,cAAc,CAAC,YAAY,UAAU;CACrC,UAAU;AACZ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-DWN4x6_e.js","names":[],"sources":["../../src/components/GrTabs/grTabsStyles.ts","../../src/components/GrTabs/safelist.ts","../../src/components/GrTabs/config.ts"],"sourcesContent":["import type { GrComponentSize } from '../shared/sizes'\n\nexport type GrTabsSize = GrComponentSize\n\n/**\n * `pills` — вкладки-таблетки в общей обойме, `line` — классический ряд с\n * подчёркиванием активной. Имя `pills` общее с `GrSegmented`: у компонентов\n * одна роль, и вид с таким названием у них совпадает.\n */\nexport const GR_TABS_VARIANTS = ['pills', 'line'] as const\nexport type GrTabsVariant = typeof GR_TABS_VARIANTS[number]\n\nexport type GrTabsOrientation = 'horizontal' | 'vertical'\n\n/** Высота вкладки повторяет шкалу `GrButton`: вкладки часто стоят с ним в один ряд. */\nexport const tabSizes: Record<GrTabsSize, string> = {\n xs: 'h-7 px-2 text-[length:var(--gr-text-xs)]',\n sm: 'h-8 px-2.5 text-[length:var(--gr-text-xs)]',\n md: 'h-9 px-3 text-[length:var(--gr-text-sm)]',\n lg: 'h-10 px-4 text-[length:var(--gr-text-base)]',\n}\n\n/** Счётчик у вкладки: на ступень мельче подписи. */\nexport const tabBadgeSizes: Record<GrTabsSize, string> = {\n xs: 'text-[length:var(--gr-text-2xs)] px-1 py-0.5',\n sm: 'text-[length:var(--gr-text-2xs)] px-1.5 py-0.5',\n md: 'text-[length:var(--gr-text-2xs)] px-1.5 py-0.5',\n lg: 'text-[length:var(--gr-text-xs)] px-2 py-0.5',\n}\n\n/** Обойма вокруг вкладок: на мелких ступенях рамка съедала бы высоту. */\nexport const tablistSizes: Record<GrTabsSize, string> = {\n xs: 'gap-0.5 p-0.5',\n sm: 'gap-1 p-1',\n md: 'gap-1 p-1',\n lg: 'gap-1 p-1.5',\n}\n\n/** `line` живёт без обоймы, поэтому и без внутренних отступов. */\nexport const tablistLineSizes: Record<GrTabsSize, string> = {\n xs: 'gap-1',\n sm: 'gap-2',\n md: 'gap-2',\n lg: 'gap-3',\n}\n\nexport const tablistBase = 'inline-flex max-w-full'\n\nexport const tablistVariants: Record<GrTabsVariant, string> = {\n pills: 'rounded-[var(--gr-radius-lg)] border border-[var(--gr-brd)] bg-[var(--gr-muted)]',\n line: 'border-b border-[var(--gr-brd)]',\n}\n\n/**\n * Вертикальный `line` подчёркивает вкладку сбоку, а не снизу: линия должна идти\n * вдоль списка, иначе она отделяет вкладки друг от друга вместо ряда целиком.\n */\nexport const tablistVerticalVariants: Record<GrTabsVariant, string> = {\n pills: '',\n line: 'border-b-0 border-r border-[var(--gr-brd)]',\n}\n\n/**\n * Переполнение прокручивается, а не переносится строкой: перенос ломает ряд и\n * уводит вкладки под панель. Полоса прокрутки скрыта — ряд ведёт клавиатура и\n * автоскролл к активной вкладке.\n */\nexport const tablistScrollClass = 'overflow-x-auto [scrollbar-width:none] [&::-webkit-scrollbar]:hidden'\n\n/** Вертикальный ряд — колонка; прокрутки ему не нужно: он растёт вниз. */\nexport const tablistColumnClass = 'flex-col'\n\nexport const tabBase = 'shrink-0 font-600 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\n// Цвет подчёркивания задаёт только состояние: `border-transparent` в базе имеет\n// ту же специфичность, что и цвет активной вкладки, и побеждал бы через раз —\n// по порядку правил в сгенерированном CSS, а не по порядку классов в атрибуте.\nexport const tabVariantBase: Record<GrTabsVariant, string> = {\n pills: 'rounded-[var(--gr-radius-md)]',\n line: 'rounded-[var(--gr-radius-md)] rounded-b-[var(--gr-radius-none)] border-b-2 -mb-px',\n}\n\nexport const tabStateClasses: Record<GrTabsVariant, { active: string, idle: string, disabled: string }> = {\n pills: {\n active: 'bg-[var(--gr-card)] text-[var(--gr-fg)] border border-[var(--gr-brd)]',\n idle: 'text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] hover:bg-[color-mix(in_srgb,var(--gr-card)_70%,transparent)]',\n disabled: 'cursor-not-allowed text-[var(--gr-disabled-fg)]',\n },\n line: {\n active: 'border-[var(--gr-primary)] text-[var(--gr-fg)]',\n idle: 'border-transparent text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)] hover:border-[var(--gr-brd)]',\n disabled: 'border-transparent cursor-not-allowed text-[var(--gr-disabled-fg)]',\n },\n}\n\nexport const tabIconClass = 'h-4 w-4 shrink-0'\n\nexport const tabContentClass = 'inline-flex items-center gap-2'\n\n/**\n * Крестик закрытия. Кнопкой он быть не может: `role=\"tab\"` объявляет потомков\n * презентационными, и вложенный интерактив теряется у скринридера (axe:\n * `nested-interactive`). Поэтому это `<span>`, а клик по нему разбирает\n * обработчик самой вкладки.\n *\n * Своего фокус-кольца у него нет по той же причине — в таб-порядке он не стоит,\n * с клавиатуры закрытие идёт по `Delete`/`Backspace`.\n */\nexport const tabCloseBase = 'inline-flex items-center justify-center shrink-0 rounded-[var(--gr-radius-sm)] text-[var(--gr-muted-fg)] transition-colors hover:bg-[var(--gr-muted)] hover:text-[var(--gr-fg)]'\n\nexport const tabCloseSizes: Record<GrTabsSize, string> = {\n xs: 'h-4 w-4',\n sm: 'h-4 w-4',\n md: 'h-5 w-5',\n lg: 'h-5 w-5',\n}\n\nexport const tabCloseIconSizes: Record<GrTabsSize, string> = {\n xs: 'h-3 w-3',\n sm: 'h-3 w-3',\n md: 'h-4 w-4',\n lg: 'h-4 w-4',\n}\n\n/** Пустой ряд держит высоту вкладки: иначе соседние блоки прыгают при закрытии последней. */\nexport const tabsEmptyBase = 'inline-flex items-center text-[var(--gr-muted-fg)]'\n\nexport const tabBadgeBase = 'rounded-[var(--gr-radius-full)] bg-[var(--gr-secondary)] text-[var(--gr-secondary-fg)]'\n\nexport function grTabsListClass(options: {\n variant: GrTabsVariant\n size: GrTabsSize\n orientation: GrTabsOrientation\n}): string {\n const vertical = options.orientation === 'vertical'\n\n return [\n tablistBase,\n tablistVariants[options.variant],\n vertical ? tablistVerticalVariants[options.variant] : '',\n options.variant === 'pills' ? tablistSizes[options.size] : tablistLineSizes[options.size],\n vertical ? tablistColumnClass : tablistScrollClass,\n ].filter(Boolean).join(' ')\n}\n\nexport function grTabsTabClass(options: {\n variant: GrTabsVariant\n size: GrTabsSize\n active: boolean\n disabled: boolean\n}): string {\n const state = tabStateClasses[options.variant]\n\n return [\n tabBase,\n tabVariantBase[options.variant],\n tabSizes[options.size],\n options.disabled ? state.disabled : options.active ? state.active : state.idle,\n ].join(' ')\n}\n\nexport function grTabsBadgeClass(size: GrTabsSize): string {\n return [tabBadgeBase, tabBadgeSizes[size]].join(' ')\n}\n\nexport function grTabsCloseClass(size: GrTabsSize): string {\n return [tabCloseBase, tabCloseSizes[size]].join(' ')\n}\n\nexport function grTabsEmptyClass(size: GrTabsSize): string {\n return [tabsEmptyBase, tabSizes[size]].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n tabBadgeBase,\n tabBadgeSizes,\n tabBase,\n tabCloseBase,\n tabCloseIconSizes,\n tabCloseSizes,\n tabContentClass,\n tabIconClass,\n tablistBase,\n tablistColumnClass,\n tablistLineSizes,\n tablistScrollClass,\n tablistSizes,\n tablistVariants,\n tablistVerticalVariants,\n tabsEmptyBase,\n tabSizes,\n tabStateClasses,\n tabVariantBase,\n} from './grTabsStyles'\n\nexport const grTabsSafelist = [...new Set([\n ...Object.values(tabSizes).flatMap(splitClassTokens),\n ...Object.values(tabBadgeSizes).flatMap(splitClassTokens),\n ...Object.values(tabCloseSizes).flatMap(splitClassTokens),\n ...Object.values(tabCloseIconSizes).flatMap(splitClassTokens),\n ...Object.values(tablistSizes).flatMap(splitClassTokens),\n ...Object.values(tablistLineSizes).flatMap(splitClassTokens),\n ...Object.values(tablistVariants).flatMap(splitClassTokens),\n ...Object.values(tablistVerticalVariants).flatMap(splitClassTokens),\n ...Object.values(tabVariantBase).flatMap(splitClassTokens),\n ...Object.values(tabStateClasses).flatMap(state => [\n ...splitClassTokens(state.active),\n ...splitClassTokens(state.idle),\n ...splitClassTokens(state.disabled),\n ]),\n ...splitClassTokens(tablistBase),\n ...splitClassTokens(tablistScrollClass),\n ...splitClassTokens(tablistColumnClass),\n ...splitClassTokens(tabBase),\n ...splitClassTokens(tabBadgeBase),\n ...splitClassTokens(tabContentClass),\n ...splitClassTokens(tabIconClass),\n ...splitClassTokens(tabCloseBase),\n ...splitClassTokens(tabsEmptyBase),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grTabsSafelist } from './safelist'\n\nexport const grTabsConfig = defineGranularComponent(import.meta.url, {\n name: 'GrTabs',\n safelist: grTabsSafelist,\n})\n"],"mappings":";;;;AAeA,IAAa,WAAuC;CAClD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;AAGA,IAAa,gBAA4C;CACvD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;AAGA,IAAa,eAA2C;CACtD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;AAGA,IAAa,mBAA+C;CAC1D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,cAAc;AAE3B,IAAa,kBAAiD;CAC5D,OAAO;CACP,MAAM;AACR;;;;;AAMA,IAAa,0BAAyD;CACpE,OAAO;CACP,MAAM;AACR;;;;;;AAOA,IAAa,qBAAqB;;AAGlC,IAAa,qBAAqB;AAElC,IAAa,UAAU;AAKvB,IAAa,iBAAgD;CAC3D,OAAO;CACP,MAAM;AACR;AAEA,IAAa,kBAA6F;CACxG,OAAO;EACL,QAAQ;EACR,MAAM;EACN,UAAU;CACZ;CACA,MAAM;EACJ,QAAQ;EACR,MAAM;EACN,UAAU;CACZ;AACF;AAEA,IAAa,eAAe;AAE5B,IAAa,kBAAkB;;;;;;;;;;AAW/B,IAAa,eAAe;AAE5B,IAAa,gBAA4C;CACvD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,oBAAgD;CAC3D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;AAGA,IAAa,gBAAgB;AAE7B,IAAa,eAAe;AAE5B,SAAgB,gBAAgB,SAIrB;CACT,MAAM,WAAW,QAAQ,gBAAgB;CAEzC,OAAO;EACL;EACA,gBAAgB,QAAQ;EACxB,WAAW,wBAAwB,QAAQ,WAAW;EACtD,QAAQ,YAAY,UAAU,aAAa,QAAQ,QAAQ,iBAAiB,QAAQ;EACpF,WAAW,qBAAqB;CAClC,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;AAC5B;AAEA,SAAgB,eAAe,SAKpB;CACT,MAAM,QAAQ,gBAAgB,QAAQ;CAEtC,OAAO;EACL;EACA,eAAe,QAAQ;EACvB,SAAS,QAAQ;EACjB,QAAQ,WAAW,MAAM,WAAW,QAAQ,SAAS,MAAM,SAAS,MAAM;CAC5E,CAAC,CAAC,KAAK,GAAG;AACZ;AAEA,SAAgB,iBAAiB,MAA0B;CACzD,OAAO,CAAC,cAAc,cAAc,KAAK,CAAC,CAAC,KAAK,GAAG;AACrD;AAEA,SAAgB,iBAAiB,MAA0B;CACzD,OAAO,CAAC,cAAc,cAAc,KAAK,CAAC,CAAC,KAAK,GAAG;AACrD;AAEA,SAAgB,iBAAiB,MAA0B;CACzD,OAAO,CAAC,eAAe,SAAS,KAAK,CAAC,CAAC,KAAK,GAAG;AACjD;;;ACpJA,IAAa,iBAAiB,CAAC,mBAAG,IAAI,IAAI;CACxC,GAAG,OAAO,OAAO,QAAQ,CAAC,CAAC,QAAQ,gBAAgB;CACnD,GAAG,OAAO,OAAO,aAAa,CAAC,CAAC,QAAQ,gBAAgB;CACxD,GAAG,OAAO,OAAO,aAAa,CAAC,CAAC,QAAQ,gBAAgB;CACxD,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB;CAC5D,GAAG,OAAO,OAAO,YAAY,CAAC,CAAC,QAAQ,gBAAgB;CACvD,GAAG,OAAO,OAAO,gBAAgB,CAAC,CAAC,QAAQ,gBAAgB;CAC3D,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB;CAC1D,GAAG,OAAO,OAAO,uBAAuB,CAAC,CAAC,QAAQ,gBAAgB;CAClE,GAAG,OAAO,OAAO,cAAc,CAAC,CAAC,QAAQ,gBAAgB;CACzD,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,SAAQ,UAAS;EACjD,GAAG,iBAAiB,MAAM,MAAM;EAChC,GAAG,iBAAiB,MAAM,IAAI;EAC9B,GAAG,iBAAiB,MAAM,QAAQ;CACpC,CAAC;CACD,GAAG,iBAAiB,WAAW;CAC/B,GAAG,iBAAiB,kBAAkB;CACtC,GAAG,iBAAiB,kBAAkB;CACtC,GAAG,iBAAiB,OAAO;CAC3B,GAAG,iBAAiB,YAAY;CAChC,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,YAAY;CAChC,GAAG,iBAAiB,YAAY;CAChC,GAAG,iBAAiB,aAAa;AACnC,CAAC,CAAC;;;AC3CF,IAAa,eAAe,wBAAwB,OAAO,KAAK,KAAK;CACnE,MAAM;CACN,UAAU;AACZ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-Dgj1Q6JY.js","names":[],"sources":["../../src/components/GrFormSection/grFormSectionStyles.ts","../../src/components/GrFormSection/safelist.ts","../../src/components/GrFormSection/config.ts"],"sourcesContent":["/**\n * Уровень заголовка секции. `h1` намеренно нет: страница задаёт его сама, а\n * секция формы — это подраздел внутри уже существующей структуры.\n */\nexport const GR_FORM_SECTION_HEADING_LEVELS = [2, 3, 4, 5, 6] as const\n\nexport type GrFormSectionHeadingLevel = typeof GR_FORM_SECTION_HEADING_LEVELS[number]\n\nexport const formSectionRootClass = 'grid gap-4'\n\n/** Шапка: заголовок с описанием слева, действия справа. */\nexport const formSectionHeaderClass = 'flex flex-wrap items-start justify-between gap-3'\n\n// `m-0` — у нативного заголовка есть браузерные отступы, и без сброса секция\n// разъезжается по вертикали.\nexport const formSectionTitleClass = 'm-0 text-[length:var(--gr-text-sm)] font-700'\n\nexport const formSectionDescriptionClass = 'mt-1 text-[length:var(--gr-text-sm)] text-[var(--gr-muted-fg)]'\n\nexport const formSectionActionsClass = 'flex shrink-0 items-center gap-2'\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n formSectionActionsClass,\n formSectionDescriptionClass,\n formSectionHeaderClass,\n formSectionRootClass,\n formSectionTitleClass,\n} from './grFormSectionStyles'\n\n// Классы живут в `.ts`-хелпере, а он уезжает в общий `dist/chunks/` — вне\n// области скана компонента. Гейт — `src/__tests__/safelist.test.ts`.\nexport const grFormSectionSafelist = [...new Set([\n ...splitClassTokens(formSectionRootClass),\n ...splitClassTokens(formSectionHeaderClass),\n ...splitClassTokens(formSectionTitleClass),\n ...splitClassTokens(formSectionDescriptionClass),\n ...splitClassTokens(formSectionActionsClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grFormSectionSafelist } from './safelist'\n\nexport const grFormSectionConfig = defineGranularComponent(import.meta.url, {\n name: 'GrFormSection',\n safelist: grFormSectionSafelist,\n})\n"],"mappings":";;;AAQA,IAAa,uBAAuB;;AAGpC,IAAa,yBAAyB;AAItC,IAAa,wBAAwB;AAErC,IAAa,8BAA8B;AAE3C,IAAa,0BAA0B;;;ACRvC,IAAa,wBAAwB,CAAC,mBAAG,IAAI,IAAI;CAC/C,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,sBAAsB;CAC1C,GAAG,iBAAiB,qBAAqB;CACzC,GAAG,iBAAiB,2BAA2B;CAC/C,GAAG,iBAAiB,uBAAuB;AAC7C,CAAC,CAAC;;;ACbF,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,UAAU;AACZ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-Dguto_6o.js","names":[],"sources":["../../src/components/GrBottomNav/grBottomNavStyles.ts","../../src/components/GrBottomNav/safelist.ts","../../src/components/GrBottomNav/config.ts"],"sourcesContent":["import type { GrComponentSize } from '../shared/sizes'\n\n/**\n * Брейкпоинт, начиная с которого панель скрывается. `none` — видна всегда:\n * киоск и PWA нижнюю навигацию не прячут.\n */\nexport const GR_BOTTOM_NAV_HIDE_ABOVE = ['sm', 'md', 'lg', 'none'] as const\nexport type GrBottomNavHideAbove = typeof GR_BOTTOM_NAV_HIDE_ABOVE[number]\n\n/** Прижата к нижней кромке экрана или лежит обычным блоком в потоке. */\nexport const GR_BOTTOM_NAV_POSITIONS = ['fixed', 'static'] as const\nexport type GrBottomNavPosition = typeof GR_BOTTOM_NAV_POSITIONS[number]\n\nexport const rootBase = 'border-t border-[var(--gr-brd)] bg-[var(--gr-bg)] px-2 pb-[env(safe-area-inset-bottom)]'\n\nexport const rootPositionClass: Record<GrBottomNavPosition, string> = {\n fixed: 'fixed bottom-0 left-0 right-0 z-[var(--gr-z-bottom-nav)]',\n static: 'relative w-full',\n}\n\nexport const rootHideAboveClass: Record<GrBottomNavHideAbove, string> = {\n sm: 'sm:hidden',\n md: 'md:hidden',\n lg: 'lg:hidden',\n none: '',\n}\n\nexport const listClass = 'flex items-center justify-around'\n\n/**\n * Размерная шкала панели: высота полосы, глиф и кегль подписи.\n *\n * Что тянуть у панели фиксированной высоты — вопрос неочевидный, и ответ здесь\n * ограничен снизу доступностью: **тач-таргет пункта не может стать меньше\n * 44×44** (WCAG 2.5.5). Поэтому ступень ужимает полосу и содержимое, а сам\n * пункт остаётся тем же прямоугольником под палец — `min-w-[44px]\n * min-h-[44px]` в `itemBase` вне шкалы намеренно.\n *\n * `md` совпадает с историческим видом панели: без пропа не меняется ничего.\n */\nexport const listSizes: Record<GrComponentSize, string> = {\n xs: 'h-12',\n sm: 'h-14',\n md: 'h-14',\n lg: 'h-16',\n}\n\nexport const itemTextSizes: Record<GrComponentSize, string> = {\n xs: 'text-[length:var(--gr-text-2xs)]',\n sm: 'text-[length:var(--gr-text-2xs)]',\n md: 'text-[length:var(--gr-text-xs)]',\n lg: 'text-[length:var(--gr-text-sm)]',\n}\n\nexport const itemIconSizes: Record<GrComponentSize, string> = {\n xs: 'h-4 w-4',\n sm: 'h-5 w-5',\n md: 'h-5 w-5',\n lg: 'h-6 w-6',\n}\n\nexport const itemBase = 'relative min-w-[44px] min-h-[44px] px-3 py-1 rounded-[var(--gr-radius-md)] flex flex-col items-center justify-center gap-0.5 transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\n/**\n * Активный пункт несёт три отличия сразу — подложку, вес и цвет. Одного цвета\n * мало: он не виден при монохромном зрении и не существует для диктора\n * (`aria-current` закрывает вторую половину задачи).\n */\nexport const itemActiveClass = 'bg-[var(--gr-muted)] font-600 text-[var(--gr-primary-text)]'\nexport const itemIdleClass = 'font-500 text-[var(--gr-muted-fg)] hover:text-[var(--gr-fg)]'\n\n/** Недоступный пункт гасится токеном: `opacity` разбавляет выверенные на AA цвета. */\nexport const itemDisabledClass = 'cursor-not-allowed font-500 text-[var(--gr-disabled-fg)]'\n\nexport const itemIconClass = 'block shrink-0'\nexport const itemLabelClass = 'max-w-full truncate leading-none'\n\n/**\n * Бейдж висит поверх правого верхнего угла пункта. Своя разметка, а не\n * `GrBadgeWrap`: зависимость притащила бы потребителю чужой CSS ради кружка.\n */\nexport const itemBadgeClass = 'absolute top-0.5 right-1 min-w-4 h-4 px-1 rounded-[var(--gr-radius-full)] bg-[var(--gr-danger)] text-[var(--gr-danger-fg)] text-[length:var(--gr-text-2xs)] font-700 inline-flex items-center justify-center'\n\nexport function grBottomNavRootClass(options: {\n position: GrBottomNavPosition\n hideAbove: GrBottomNavHideAbove\n}): string {\n return [rootBase, rootPositionClass[options.position], rootHideAboveClass[options.hideAbove]]\n .filter(Boolean)\n .join(' ')\n}\n\nexport function grBottomNavListClass(size: GrComponentSize): string {\n return [listClass, listSizes[size]].join(' ')\n}\n\nexport function grBottomNavIconClass(size: GrComponentSize): string {\n return [itemIconClass, itemIconSizes[size]].join(' ')\n}\n\nexport function grBottomNavItemClass(options: {\n active: boolean\n disabled: boolean\n size: GrComponentSize\n}): string {\n const state = options.disabled\n ? itemDisabledClass\n : options.active ? itemActiveClass : itemIdleClass\n\n return [itemBase, itemTextSizes[options.size], state].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n itemActiveClass,\n itemBadgeClass,\n itemBase,\n itemDisabledClass,\n itemIconClass,\n itemIconSizes,\n itemIdleClass,\n itemLabelClass,\n itemTextSizes,\n listClass,\n listSizes,\n rootBase,\n rootHideAboveClass,\n rootPositionClass,\n} from './grBottomNavStyles'\n\nexport const grBottomNavSafelist = [...new Set([\n ...splitClassTokens(rootBase),\n ...splitClassTokens(listClass),\n ...splitClassTokens(itemBase),\n ...splitClassTokens(itemActiveClass),\n ...splitClassTokens(itemIdleClass),\n ...splitClassTokens(itemDisabledClass),\n ...splitClassTokens(itemIconClass),\n ...splitClassTokens(itemLabelClass),\n ...splitClassTokens(itemBadgeClass),\n ...Object.values(listSizes).flatMap(splitClassTokens),\n ...Object.values(itemTextSizes).flatMap(splitClassTokens),\n ...Object.values(itemIconSizes).flatMap(splitClassTokens),\n ...Object.values(rootPositionClass).flatMap(splitClassTokens),\n ...Object.values(rootHideAboveClass).flatMap(splitClassTokens),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grBottomNavSafelist } from './safelist'\n\nexport const grBottomNavConfig = defineGranularComponent(import.meta.url, {\n name: 'GrBottomNav',\n safelist: grBottomNavSafelist,\n})\n"],"mappings":";;;AAaA,IAAa,WAAW;AAExB,IAAa,oBAAyD;CACpE,OAAO;CACP,QAAQ;AACV;AAEA,IAAa,qBAA2D;CACtE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,MAAM;AACR;AAEA,IAAa,YAAY;;;;;;;;;;;;AAazB,IAAa,YAA6C;CACxD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,gBAAiD;CAC5D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,gBAAiD;CAC5D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,WAAW;;;;;;AAOxB,IAAa,kBAAkB;AAC/B,IAAa,gBAAgB;;AAG7B,IAAa,oBAAoB;AAEjC,IAAa,gBAAgB;AAC7B,IAAa,iBAAiB;;;;;AAM9B,IAAa,iBAAiB;AAE9B,SAAgB,qBAAqB,SAG1B;CACT,OAAO;EAAC;EAAU,kBAAkB,QAAQ;EAAW,mBAAmB,QAAQ;CAAU,CAAC,CAC1F,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb;AAEA,SAAgB,qBAAqB,MAA+B;CAClE,OAAO,CAAC,WAAW,UAAU,KAAK,CAAC,CAAC,KAAK,GAAG;AAC9C;AAEA,SAAgB,qBAAqB,MAA+B;CAClE,OAAO,CAAC,eAAe,cAAc,KAAK,CAAC,CAAC,KAAK,GAAG;AACtD;AAEA,SAAgB,qBAAqB,SAI1B;CACT,MAAM,QAAQ,QAAQ,WAClB,oBACA,QAAQ,SAAS,kBAAkB;CAEvC,OAAO;EAAC;EAAU,cAAc,QAAQ;EAAO;CAAK,CAAC,CAAC,KAAK,GAAG;AAChE;;;AC5FA,IAAa,sBAAsB,CAAC,mBAAG,IAAI,IAAI;CAC7C,GAAG,iBAAiB,QAAQ;CAC5B,GAAG,iBAAiB,SAAS;CAC7B,GAAG,iBAAiB,QAAQ;CAC5B,GAAG,iBAAiB,eAAe;CACnC,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,iBAAiB;CACrC,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,cAAc;CAClC,GAAG,OAAO,OAAO,SAAS,CAAC,CAAC,QAAQ,gBAAgB;CACpD,GAAG,OAAO,OAAO,aAAa,CAAC,CAAC,QAAQ,gBAAgB;CACxD,GAAG,OAAO,OAAO,aAAa,CAAC,CAAC,QAAQ,gBAAgB;CACxD,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB;CAC5D,GAAG,OAAO,OAAO,kBAAkB,CAAC,CAAC,QAAQ,gBAAgB;AAC/D,CAAC,CAAC;;;AC7BF,IAAa,oBAAoB,wBAAwB,OAAO,KAAK,KAAK;CACxE,MAAM;CACN,UAAU;AACZ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-DtgYuGUn2.js","names":[],"sources":["../../src/components/GrPopover/safelist.ts","../../src/components/GrPopover/config.ts"],"sourcesContent":["import { splitClassTokens } from '../shared/classTokens'\nimport { originClassByPlacement, panelSizes, panelSizesFlush, popoverPanelBaseClass } from './grPopoverStyles'\n\nexport const grPopoverSafelist = [...new Set([\n ...Object.values(panelSizes).flatMap(splitClassTokens),\n ...Object.values(panelSizesFlush).flatMap(splitClassTokens),\n ...Object.values(originClassByPlacement).flatMap(splitClassTokens),\n // Базовый класс живёт литералом в `grPopoverStyles.ts`, а такой хелпер на\n // сборке уезжает в общий чанк, которого скан не видит (см. gotchas.md §2).\n ...splitClassTokens(popoverPanelBaseClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grPopoverSafelist } from './safelist'\n\nexport const grPopoverConfig = defineGranularComponent(import.meta.url, {\n name: 'GrPopover',\n safelist: grPopoverSafelist,\n})\n"],"mappings":";;;;AAGA,IAAa,oBAAoB,CAAC,mBAAG,IAAI,IAAI;CAC3C,GAAG,OAAO,OAAO,UAAU,CAAC,CAAC,QAAQ,gBAAgB;CACrD,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB;CAC1D,GAAG,OAAO,OAAO,sBAAsB,CAAC,CAAC,QAAQ,gBAAgB;CAGjE,GAAG,iBAAiB,qBAAqB;AAC3C,CAAC,CAAC;;;ACNF,IAAa,kBAAkB,wBAAwB,OAAO,KAAK,KAAK;CACtE,MAAM;CACN,UAAU;AACZ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-rkcKArZQ.js","names":[],"sources":["../../src/components/GrDescriptionList/grDescriptionListStyles.ts","../../src/components/GrDescriptionList/safelist.ts","../../src/components/GrDescriptionList/config.ts"],"sourcesContent":["import type { GrComponentSize } from '../shared/sizes'\nimport type { GrTone } from '../shared/tones'\n\n/**\n * Классы `GrDescriptionList`.\n *\n * Тон перечислен целиком по одному литералу на ветку: UnoCSS сканирует исходный\n * текст файла, и собранное шаблонной строкой имя уехало бы в CSS литералом.\n */\n\n/**\n * `inline` — подпись колонкой слева; `stacked` — над значением; `flow` — пары\n * текут по строке с переносом.\n */\nexport type GrDescriptionLayout = 'inline' | 'stacked' | 'flow'\n\nexport type GrDescriptionDensity = 'regular' | 'compact'\n\n/** Сколько колонок пар. Длинный список читается в несколько. */\nexport type GrDescriptionColumns = 1 | 2 | 3 | 4\n\n// `m-0` — у нативного `<dl>` есть браузерные отступы, и без сброса список\n// разъезжается по вертикали. Ряды разводит `--gr-description-list-row-gap`,\n// потому что зазор здесь — точка кастомизации, а не ступень шкалы.\nexport const descriptionRootClass = 'm-0 gap-x-4 [row-gap:var(--gr-description-list-row-gap,0.375rem)]'\n\n/** Сетка колонок — раскладки `inline` и `stacked`. */\nexport const descriptionRootGridClass = 'grid'\n\n// `flow` строит строку, а не сетку: пары текут по ширине и переносятся сами,\n// поэтому колонок у неё нет.\nexport const descriptionRootFlowClass = 'flex flex-wrap items-baseline'\n\n/** Одна колонка — обычный класс: считать там нечего. */\nexport const descriptionSingleColumnClass = 'grid-cols-1'\n\n/**\n * Колонки по ширине **контейнера**, а не вьюпорта.\n *\n * Медиазапрос меряет экран, а список живёт в карточке: на широком мониторе в\n * колонке 290px включались две колонки, подпись фиксированной ширины съедала\n * почти всё место, и значение переносилось посимвольно — «30» печаталось как\n * «3» и «0» на двух строках. Показанное число становилось неверным.\n *\n * `auto-fit` решает это без медиазапросов, без JS и без замеров, то есть\n * одинаково на сервере и на клиенте. `columns` при этом становится **потолком**:\n * трек не уже `column-min`, но и не уже доли, на которую делится контейнер при\n * N колонках, — поэтому шире N штук не встанет никогда.\n *\n * `min(100%, …)` спасает совсем узкий контейнер: без него трек шириной с\n * `column-min` вылезал бы за край.\n *\n * Инлайновым стилем, а не классом: выражение зависит от N, и шкалы утилит для\n * него не существует — тот же довод, что записан у сетки `GrDashboard`.\n */\nexport function descriptionColumnsStyle(\n columns: GrDescriptionColumns,\n /**\n * Ширина колонки подписей при `inline`. В этой раскладке подпись и значение\n * стоят **рядом**, поэтому минимум колонки складывается из них двоих: колонка\n * шириной с одну подпись оставляет значению несколько пикселей, и оно\n * переносится посимвольно — тот же дефект, только в других числах.\n */\n labelWidth?: string,\n): Record<string, string> {\n const base = 'var(--gr-description-list-column-min, 12rem)'\n const min = labelWidth\n ? `max(${base}, calc(${labelWidth} + var(--gr-description-list-value-min, 5rem)))`\n : base\n\n return {\n gridTemplateColumns: `repeat(auto-fit, minmax(min(100%, max(${min}, (100% - ${columns - 1} * 1rem) / ${columns})), 1fr))`,\n }\n}\n\nexport const descriptionPairInlineClass = 'flex min-w-0 items-baseline gap-2'\nexport const descriptionPairStackedClass = 'min-w-0'\n\n// Зазор уже: подпись и значение здесь читаются как одна фраза «Сообщений: 3»,\n// а пары друг от друга отбивает `gap-x-4` корня.\nexport const descriptionPairFlowClass = 'flex min-w-0 items-baseline gap-1'\n\nexport const descriptionDividedClass = 'border-b border-[var(--gr-description-list-divider,var(--gr-brd))] pb-1 last:border-b-0 last:pb-0'\n\n// `shrink-0` держит колонку подписей ровной: иначе длинное значение сжимало бы\n// подпись, и значения переставали бы стоять в колонку — ровно то, ради чего\n// раскладка `inline` и существует.\nexport const descriptionLabelInlineClass = 'shrink-0 text-[var(--gr-description-list-label-color,var(--gr-muted-fg))]'\nexport const descriptionLabelStackedClass = 'text-[var(--gr-description-list-label-color,var(--gr-muted-fg))]'\n\n// `break-words` обязателен: в парах живут идентификаторы, хеши и `X-Request-Id`,\n// и без переноса они выталкивают вёрстку.\nexport const descriptionValueClass = 'm-0 min-w-0 break-words'\n\n/** Тон — только у значения: красная подпись читается как «поле сломано». */\nexport const descriptionValueToneClass: Record<GrTone, string> = {\n primary: 'text-[var(--gr-primary-text)]',\n neutral: '',\n success: 'text-[var(--gr-success-text)]',\n warning: 'text-[var(--gr-warning-text)]',\n danger: 'text-[var(--gr-danger-text)]',\n info: 'text-[var(--gr-info-text)]',\n slate: 'text-[var(--gr-slate-text)]',\n azure: 'text-[var(--gr-azure-text)]',\n}\n\nexport const descriptionSizeClass: Record<GrComponentSize, string> = {\n xs: 'text-[length:var(--gr-control-text-2xs)]',\n sm: 'text-[length:var(--gr-control-text-xs)]',\n md: 'text-[length:var(--gr-control-text-sm)]',\n lg: 'text-[length:var(--gr-control-text-md)]',\n}\n\nexport const descriptionDensityClass: Record<GrDescriptionDensity, string> = {\n regular: '',\n compact: '[row-gap:var(--gr-description-list-row-gap,0.125rem)]',\n}\n","import { splitClassTokens } from '../shared/classTokens'\n\nimport {\n descriptionSingleColumnClass,\n descriptionDensityClass,\n descriptionDividedClass,\n descriptionLabelInlineClass,\n descriptionLabelStackedClass,\n descriptionPairFlowClass,\n descriptionPairInlineClass,\n descriptionPairStackedClass,\n descriptionRootClass,\n descriptionRootFlowClass,\n descriptionRootGridClass,\n descriptionSizeClass,\n descriptionValueClass,\n descriptionValueToneClass,\n} from './grDescriptionListStyles'\n\n// Классы из вычисляемых мап (тон, размер, колонки) UnoCSS сканом не находит —\n// только safelist. Литералы хелпера туда же: на сборке он уезжает в общий чанк.\nexport const grDescriptionListSafelist = [...new Set([\n ...splitClassTokens(descriptionRootClass),\n ...splitClassTokens(descriptionRootGridClass),\n ...splitClassTokens(descriptionRootFlowClass),\n ...splitClassTokens(descriptionPairInlineClass),\n ...splitClassTokens(descriptionPairStackedClass),\n ...splitClassTokens(descriptionPairFlowClass),\n ...splitClassTokens(descriptionDividedClass),\n ...splitClassTokens(descriptionLabelInlineClass),\n ...splitClassTokens(descriptionLabelStackedClass),\n ...splitClassTokens(descriptionValueClass),\n ...splitClassTokens(descriptionSingleColumnClass),\n ...Object.values(descriptionValueToneClass).flatMap(splitClassTokens),\n ...Object.values(descriptionSizeClass).flatMap(splitClassTokens),\n ...Object.values(descriptionDensityClass).flatMap(splitClassTokens),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grDescriptionListSafelist } from './safelist'\n\nexport const grDescriptionListConfig = defineGranularComponent(import.meta.url, {\n name: 'GrDescriptionList',\n safelist: grDescriptionListSafelist,\n})\n"],"mappings":";;;AAwBA,IAAa,uBAAuB;;AAGpC,IAAa,2BAA2B;AAIxC,IAAa,2BAA2B;;AAGxC,IAAa,+BAA+B;;;;;;;;;;;;;;;;;;;;AAqB5C,SAAgB,wBACd,SAOA,YACwB;CACxB,MAAM,OAAO;CAKb,OAAO,EACL,qBAAqB,yCALX,aACR,OAAO,KAAK,SAAS,WAAW,mDAChC,KAGgE,YAAY,UAAU,EAAE,aAAa,QAAQ,WACjH;AACF;AAEA,IAAa,6BAA6B;AAC1C,IAAa,8BAA8B;AAI3C,IAAa,2BAA2B;AAExC,IAAa,0BAA0B;AAKvC,IAAa,8BAA8B;AAC3C,IAAa,+BAA+B;AAI5C,IAAa,wBAAwB;;AAGrC,IAAa,4BAAoD;CAC/D,SAAS;CACT,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;CACR,MAAM;CACN,OAAO;CACP,OAAO;AACT;AAEA,IAAa,uBAAwD;CACnE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,0BAAgE;CAC3E,SAAS;CACT,SAAS;AACX;;;AC/FA,IAAa,4BAA4B,CAAC,mBAAG,IAAI,IAAI;CACnD,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,0BAA0B;CAC9C,GAAG,iBAAiB,2BAA2B;CAC/C,GAAG,iBAAiB,wBAAwB;CAC5C,GAAG,iBAAiB,uBAAuB;CAC3C,GAAG,iBAAiB,2BAA2B;CAC/C,GAAG,iBAAiB,4BAA4B;CAChD,GAAG,iBAAiB,qBAAqB;CACzC,GAAG,iBAAiB,4BAA4B;CAChD,GAAG,OAAO,OAAO,yBAAyB,CAAC,CAAC,QAAQ,gBAAgB;CACpE,GAAG,OAAO,OAAO,oBAAoB,CAAC,CAAC,QAAQ,gBAAgB;CAC/D,GAAG,OAAO,OAAO,uBAAuB,CAAC,CAAC,QAAQ,gBAAgB;AACpE,CAAC,CAAC;;;AChCF,IAAa,0BAA0B,wBAAwB,OAAO,KAAK,KAAK;CAC9E,MAAM;CACN,UAAU;AACZ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-vSji8w90.js","names":[],"sources":["../../src/components/GrEmptyState/grEmptyStateStyles.ts","../../src/components/GrEmptyState/safelist.ts","../../src/components/GrEmptyState/config.ts"],"sourcesContent":["import type { GrComponentSize } from '../shared/sizes'\n\nexport type GrEmptyStateSize = GrComponentSize\n\n/** Поверхность карточки. `ghost` — для встраивания в уже существующую карточку. */\nexport const GR_EMPTY_STATE_VARIANTS = ['outlined', 'ghost'] as const\nexport type GrEmptyStateVariant = typeof GR_EMPTY_STATE_VARIANTS[number]\n\n/**\n * Уровень заголовка. `h1` намеренно нет: пустое состояние живёт внутри уже\n * существующей структуры страницы, а не задаёт её.\n */\nexport const GR_EMPTY_STATE_HEADING_LEVELS = [2, 3, 4, 5, 6] as const\nexport type GrEmptyStateHeadingLevel = typeof GR_EMPTY_STATE_HEADING_LEVELS[number]\n\nexport const rootBaseClass = 'text-center'\n\nexport const variantClass: Record<GrEmptyStateVariant, string> = {\n outlined: 'rounded-[var(--gr-radius-lg)] border border-[var(--gr-brd)] bg-[var(--gr-card)]',\n // Карточка внутри карточки: вторая рамка только шумит (тот же смысл, что у `GrCard`).\n ghost: '',\n}\n\nexport const rootPaddingBySize: Record<GrEmptyStateSize, string> = {\n xs: 'p-3',\n sm: 'p-4',\n md: 'p-6',\n lg: 'p-8',\n}\n\nexport const iconBoxBaseClass = 'flex items-center justify-center border border-[var(--gr-brd)] bg-[var(--gr-muted)] text-[var(--gr-muted-fg)]'\n\nexport const iconBoxBySize: Record<GrEmptyStateSize, string> = {\n xs: 'h-8 w-8 rounded-[var(--gr-radius-md)]',\n sm: 'h-10 w-10 rounded-[var(--gr-radius-md)]',\n md: 'h-12 w-12 rounded-[var(--gr-radius-lg)]',\n lg: 'h-14 w-14 rounded-[var(--gr-radius-lg)]',\n}\n\n/** Размер самой иконки в пикселях — `GrIcon` принимает число. */\nexport const iconSizeBySize: Record<GrEmptyStateSize, number> = {\n xs: 16,\n sm: 20,\n md: 24,\n lg: 28,\n}\n\n/**\n * `mb-0` гасит браузерный отступ снизу у настоящего заголовка: без сброса\n * карточка разъезжается по вертикали.\n */\nexport const titleBaseClass = 'mb-0 font-700'\n\nexport const titleBySize: Record<GrEmptyStateSize, string> = {\n xs: 'mt-2 text-[length:var(--gr-text-xs)]',\n sm: 'mt-3 text-[length:var(--gr-text-sm)]',\n md: 'mt-4 text-[length:var(--gr-text-sm)]',\n lg: 'mt-5 text-[length:var(--gr-text-base)]',\n}\n\nexport const descriptionBaseClass = 'text-[var(--gr-muted-fg)]'\n\nexport const descriptionBySize: Record<GrEmptyStateSize, string> = {\n xs: 'mt-0.5 text-[length:var(--gr-text-xs)]',\n sm: 'mt-1 text-[length:var(--gr-text-xs)]',\n md: 'mt-1 text-[length:var(--gr-text-sm)]',\n lg: 'mt-2 text-[length:var(--gr-text-sm)]',\n}\n\nexport const actionsBaseClass = 'flex justify-center'\n\nexport const actionsBySize: Record<GrEmptyStateSize, string> = {\n xs: 'mt-2',\n sm: 'mt-3',\n md: 'mt-4',\n lg: 'mt-5',\n}\n\nexport function grEmptyStateRootClass(options: {\n variant: GrEmptyStateVariant\n size: GrEmptyStateSize\n}): string {\n return [rootBaseClass, variantClass[options.variant], rootPaddingBySize[options.size]]\n .filter(Boolean)\n .join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n actionsBaseClass,\n actionsBySize,\n descriptionBaseClass,\n descriptionBySize,\n iconBoxBaseClass,\n iconBoxBySize,\n rootBaseClass,\n rootPaddingBySize,\n titleBaseClass,\n titleBySize,\n variantClass,\n} from './grEmptyStateStyles'\n\nexport const grEmptyStateSafelist = [...new Set([\n ...splitClassTokens(rootBaseClass),\n ...splitClassTokens(iconBoxBaseClass),\n ...splitClassTokens(titleBaseClass),\n ...splitClassTokens(descriptionBaseClass),\n ...splitClassTokens(actionsBaseClass),\n ...Object.values(variantClass).flatMap(splitClassTokens),\n ...Object.values(rootPaddingBySize).flatMap(splitClassTokens),\n ...Object.values(iconBoxBySize).flatMap(splitClassTokens),\n ...Object.values(titleBySize).flatMap(splitClassTokens),\n ...Object.values(descriptionBySize).flatMap(splitClassTokens),\n ...Object.values(actionsBySize).flatMap(splitClassTokens),\n // Центрирование блока иконки живёт литералом в шаблоне.\n ...splitClassTokens('flex justify-center'),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grEmptyStateSafelist } from './safelist'\n\nexport const grEmptyStateConfig = defineGranularComponent(import.meta.url, {\n name: 'GrEmptyState',\n safelist: grEmptyStateSafelist,\n dependencies: ['GrIcon'],\n})\n"],"mappings":";;;AAeA,IAAa,gBAAgB;AAE7B,IAAa,eAAoD;CAC/D,UAAU;CAEV,OAAO;AACT;AAEA,IAAa,oBAAsD;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,mBAAmB;AAEhC,IAAa,gBAAkD;CAC7D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;AAGA,IAAa,iBAAmD;CAC9D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;;;;;AAMA,IAAa,iBAAiB;AAE9B,IAAa,cAAgD;CAC3D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,uBAAuB;AAEpC,IAAa,oBAAsD;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,mBAAmB;AAEhC,IAAa,gBAAkD;CAC7D,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,SAAgB,sBAAsB,SAG3B;CACT,OAAO;EAAC;EAAe,aAAa,QAAQ;EAAU,kBAAkB,QAAQ;CAAK,CAAC,CACnF,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb;;;ACtEA,IAAa,uBAAuB,CAAC,mBAAG,IAAI,IAAI;CAC9C,GAAG,iBAAiB,aAAa;CACjC,GAAG,iBAAiB,gBAAgB;CACpC,GAAG,iBAAiB,cAAc;CAClC,GAAG,iBAAiB,oBAAoB;CACxC,GAAG,iBAAiB,gBAAgB;CACpC,GAAG,OAAO,OAAO,YAAY,CAAC,CAAC,QAAQ,gBAAgB;CACvD,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB;CAC5D,GAAG,OAAO,OAAO,aAAa,CAAC,CAAC,QAAQ,gBAAgB;CACxD,GAAG,OAAO,OAAO,WAAW,CAAC,CAAC,QAAQ,gBAAgB;CACtD,GAAG,OAAO,OAAO,iBAAiB,CAAC,CAAC,QAAQ,gBAAgB;CAC5D,GAAG,OAAO,OAAO,aAAa,CAAC,CAAC,QAAQ,gBAAgB;CAExD,GAAG,iBAAiB,qBAAqB;AAC3C,CAAC,CAAC;;;ACzBF,IAAa,qBAAqB,wBAAwB,OAAO,KAAK,KAAK;CACzE,MAAM;CACN,UAAU;CACV,cAAc,CAAC,QAAQ;AACzB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-zjeAJ4ho2.js","names":[],"sources":["../../src/components/GrNumberInput/grNumberInputStyles.ts","../../src/components/GrNumberInput/safelist.ts","../../src/components/GrNumberInput/config.ts"],"sourcesContent":["import type { GrComponentSize, GrControlState } from '../shared/sizes'\n\n\nexport type GrNumberInputState = GrControlState\nexport type GrNumberInputSize = GrComponentSize\nexport type GrNumberInputControlsDirection = 'vertical' | 'horizontal'\nexport type GrNumberInputTextAlign = 'left' | 'center' | 'right'\n\n// Backward-compatible type aliases.\nexport type NumberInputSize = GrNumberInputSize\nexport type NumberInputControlsDirection = GrNumberInputControlsDirection\n\nexport const sizeClassBySize: Record<GrNumberInputSize, string> = {\n xs: 'h-7 px-2.5 text-[length:var(--gr-control-text-xs)]',\n sm: 'h-8 px-3 text-[length:var(--gr-control-text-sm)]',\n md: 'h-10 px-3 text-[length:var(--gr-control-text-md)]',\n lg: 'h-11 px-4 text-[length:var(--gr-control-text-lg)]',\n}\n\nexport const textAlignClassByAlign: Record<GrNumberInputTextAlign, string> = {\n left: 'text-left',\n center: 'text-center',\n right: 'text-right',\n}\n\nexport const borderClassByState: Record<GrNumberInputState, string> = {\n default: 'border-[var(--gr-brd)]',\n success: 'border-[var(--gr-success)] focus-within:ring-[var(--gr-success)]',\n warning: 'border-[var(--gr-warning)] focus-within:ring-[var(--gr-warning)]',\n danger: 'border-[var(--gr-danger)] focus-within:ring-[var(--gr-danger)]',\n}\n\n/**\n * Ошибка валидации красится своей ролью, а не декоративным тоном `danger`:\n * `state=\"danger\"` — это подсветка по решению разработчика, `invalid` — вердикт\n * валидации, и тема вправе развести их по цвету.\n */\nexport const invalidBorderClass = 'border-[var(--gr-invalid-brd)] focus-within:ring-[var(--gr-invalid-ring)]'\n\n/**\n * Недоступное поле гасится токенами, а не `opacity`: прозрачность разбавляет\n * выверенные на AA токены текста и роняет контраст подписи.\n */\nexport const disabledShellClass = 'bg-[var(--gr-disabled-bg)] text-[var(--gr-disabled-fg)] cursor-not-allowed'\n\nconst stepperBaseClass = 'inline-flex items-center justify-center text-[var(--gr-muted-fg)] hover:bg-[var(--gr-muted)] active:bg-[var(--gr-muted)] disabled:cursor-not-allowed disabled:text-[var(--gr-disabled-fg)] disabled:hover:bg-transparent focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\n/** Компактная кнопка вертикального стека ± . */\nexport const stepperCompactClass = `h-4 w-7 rounded-[var(--gr-radius-sm)] ${stepperBaseClass}`\n\n/** Кнопка бокового стека ± — занимает всю высоту поля. */\nexport const stepperWideClass = `h-full w-full ${stepperBaseClass}`\n\nexport const clearButtonClass = 'absolute top-1/2 -translate-y-1/2 inline-flex h-5 w-5 items-center justify-center rounded-[var(--gr-radius-full)] text-[var(--gr-muted-fg)] hover:bg-[var(--gr-muted)] hover:text-[var(--gr-fg)] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]'\n\nexport function grNumberInputShellClass(options: { disabled: boolean, state: GrNumberInputState, invalid: boolean }): string {\n return [\n options.disabled ? disabledShellClass : '',\n options.invalid ? invalidBorderClass : borderClassByState[options.state],\n ]\n .filter(Boolean)\n .join(' ')\n}\n\nexport function grNumberInputInputClass(options: { size: GrNumberInputSize, textAlign: GrNumberInputTextAlign }): string {\n return [\n sizeClassBySize[options.size],\n textAlignClassByAlign[options.textAlign],\n ].join(' ')\n}\n","import { splitClassTokens } from '../shared/classTokens'\nimport {\n borderClassByState,\n clearButtonClass,\n disabledShellClass,\n invalidBorderClass,\n stepperCompactClass,\n stepperWideClass,\n sizeClassBySize,\n textAlignClassByAlign,\n} from './grNumberInputStyles'\n\n// В safelist кладём только динамические токены, выбираемые по ключам в рантайме\n// (`size`/`textAlign`/`state`/`disabled`). Литералы shell/input/controls прописаны\n// статически в шаблоне — UnoCSS находит их сканом.\nexport const grNumberInputSafelist = [...new Set([\n ...Object.values(sizeClassBySize).flatMap(splitClassTokens),\n ...Object.values(textAlignClassByAlign).flatMap(splitClassTokens),\n ...Object.values(borderClassByState).flatMap(splitClassTokens),\n ...splitClassTokens(invalidBorderClass),\n ...splitClassTokens(disabledShellClass),\n ...splitClassTokens(stepperCompactClass),\n ...splitClassTokens(stepperWideClass),\n ...splitClassTokens(clearButtonClass),\n])]\n","import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nimport { grNumberInputSafelist } from './safelist'\n\nexport const grNumberInputConfig = defineGranularComponent(import.meta.url, {\n name: 'GrNumberInput',\n dependencies: ['GrIcon'],\n safelist: grNumberInputSafelist,\n})"],"mappings":";;;AAYA,IAAa,kBAAqD;CAChE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;AACN;AAEA,IAAa,wBAAgE;CAC3E,MAAM;CACN,QAAQ;CACR,OAAO;AACT;AAEA,IAAa,qBAAyD;CACpE,SAAS;CACT,SAAS;CACT,SAAS;CACT,QAAQ;AACV;;;;;;AAOA,IAAa,qBAAqB;;;;;AAMlC,IAAa,qBAAqB;AAElC,IAAM,mBAAmB;;AAGzB,IAAa,sBAAsB,yCAAyC;;AAG5E,IAAa,mBAAmB,iBAAiB;AAEjD,IAAa,mBAAmB;AAEhC,SAAgB,wBAAwB,SAAqF;CAC3H,OAAO,CACL,QAAQ,WAAW,qBAAqB,IACxC,QAAQ,UAAU,qBAAqB,mBAAmB,QAAQ,MACpE,CAAC,CACE,OAAO,OAAO,CAAC,CACf,KAAK,GAAG;AACb;AAEA,SAAgB,wBAAwB,SAAiF;CACvH,OAAO,CACL,gBAAgB,QAAQ,OACxB,sBAAsB,QAAQ,UAChC,CAAC,CAAC,KAAK,GAAG;AACZ;;;ACtDA,IAAa,wBAAwB,CAAC,mBAAG,IAAI,IAAI;CAC/C,GAAG,OAAO,OAAO,eAAe,CAAC,CAAC,QAAQ,gBAAgB;CAC1D,GAAG,OAAO,OAAO,qBAAqB,CAAC,CAAC,QAAQ,gBAAgB;CAChE,GAAG,OAAO,OAAO,kBAAkB,CAAC,CAAC,QAAQ,gBAAgB;CAC7D,GAAG,iBAAiB,kBAAkB;CACtC,GAAG,iBAAiB,kBAAkB;CACtC,GAAG,iBAAiB,mBAAmB;CACvC,GAAG,iBAAiB,gBAAgB;CACpC,GAAG,iBAAiB,gBAAgB;AACtC,CAAC,CAAC;;;ACpBF,IAAa,sBAAsB,wBAAwB,OAAO,KAAK,KAAK;CAC1E,MAAM;CACN,cAAc,CAAC,QAAQ;CACvB,UAAU;AACZ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"context-BfIQv7m12.js","names":[],"sources":["../../src/components/GrButtonGroup/context.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey } from 'vue'\nimport { inject, provide } from 'vue'\n\nimport type { GrButtonSize, GrButtonTone, GrButtonVariant } from '../GrButton/grButtonStyles'\n\n/**\n * Оформление, общее для кнопок группы. Каждое поле необязательно: группа\n * задаёт только то, что задали ей, остальное кнопка решает сама.\n */\nexport type GrButtonGroupContext = {\n size: ComputedRef<GrButtonSize | undefined>\n variant: ComputedRef<GrButtonVariant | undefined>\n tone: ComputedRef<GrButtonTone | undefined>\n}\n\nconst GR_BUTTON_GROUP_KEY: InjectionKey<GrButtonGroupContext> = Symbol('grButtonGroup')\n\nexport function provideGrButtonGroup(context: GrButtonGroupContext): void {\n provide(GR_BUTTON_GROUP_KEY, context)\n}\n\n/**\n * Контекст группы для `GrButton`.\n *\n * Порядок разрешения оформления получается такой: проп кнопки → группа →\n * `GrConfigProvider` → дефолт. Группа ближе к кнопке, чем глобальный провайдер,\n * поэтому она и должна побеждать его, но не собственный проп кнопки.\n */\nexport function useGrButtonGroup(): GrButtonGroupContext | undefined {\n return inject(GR_BUTTON_GROUP_KEY, undefined)\n}\n"],"mappings":";;AAeA,IAAM,sBAA0D,OAAO,eAAe;AAEtF,SAAgB,qBAAqB,SAAqC;CACxE,QAAQ,qBAAqB,OAAO;AACtC;;;;;;;;AASA,SAAgB,mBAAqD;CACnE,OAAO,OAAO,qBAAqB,KAAA,CAAS;AAC9C"}
|