@feugene/granularity 0.12.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -1
- package/dist/chunks/adapter-CAOxmn2G.js.map +1 -1
- package/dist/chunks/check-BZI24Qs4.js +23 -0
- package/dist/chunks/check-BZI24Qs4.js.map +1 -0
- package/dist/chunks/chevron-down-CQS2OG_s.js +23 -0
- package/dist/chunks/chevron-down-CQS2OG_s.js.map +1 -0
- package/dist/chunks/chevron-right-BfqMVpbB.js +44 -0
- package/dist/chunks/chevron-right-BfqMVpbB.js.map +1 -0
- package/dist/chunks/config-06SQjBx0.js +96 -0
- package/dist/chunks/config-06SQjBx0.js.map +1 -0
- package/dist/chunks/config-8Pcutu1j.js.map +1 -0
- package/dist/chunks/config-A-bBiotF.js +12 -0
- package/dist/chunks/config-A-bBiotF.js.map +1 -0
- package/dist/chunks/config-B-g6lT19.js +19 -0
- package/dist/chunks/config-B-g6lT19.js.map +1 -0
- package/dist/chunks/config-B-iNaGdw.js +199 -0
- package/dist/chunks/config-B-iNaGdw.js.map +1 -0
- package/dist/chunks/config-B7W9VlZ7.js +5 -0
- package/dist/chunks/config-B7W9VlZ7.js.map +1 -0
- package/dist/chunks/config-B84z1aos.js +19 -0
- package/dist/chunks/config-B84z1aos.js.map +1 -0
- package/dist/chunks/config-BE6n20np.js +27 -0
- package/dist/chunks/config-BE6n20np.js.map +1 -0
- package/dist/chunks/config-BKvX0q10.js +89 -0
- package/dist/chunks/config-BKvX0q10.js.map +1 -0
- package/dist/chunks/config-BN4sXYXn.js +77 -0
- package/dist/chunks/config-BN4sXYXn.js.map +1 -0
- package/dist/chunks/config-BNfQwyL4.js +97 -0
- package/dist/chunks/config-BNfQwyL4.js.map +1 -0
- package/dist/chunks/config-BNu8lFQB.js.map +1 -1
- package/dist/chunks/config-BSyiFlbi.js +17 -0
- package/dist/chunks/config-BSyiFlbi.js.map +1 -0
- package/dist/chunks/config-BViooYNv.js +13 -0
- package/dist/chunks/config-BViooYNv.js.map +1 -0
- package/dist/chunks/config-BbY2SKGE.js +90 -0
- package/dist/chunks/config-BbY2SKGE.js.map +1 -0
- package/dist/chunks/config-BeZRuonp.js +54 -0
- package/dist/chunks/config-BeZRuonp.js.map +1 -0
- package/dist/chunks/config-BoNR7_PD.js +140 -0
- package/dist/chunks/config-BoNR7_PD.js.map +1 -0
- package/dist/chunks/config-Bpt9Xbxm.js +49 -0
- package/dist/chunks/config-Bpt9Xbxm.js.map +1 -0
- package/dist/chunks/config-BqFjr3tN.js +131 -0
- package/dist/chunks/config-BqFjr3tN.js.map +1 -0
- package/dist/chunks/config-BsuDM3Hb.js +55 -0
- package/dist/chunks/config-BsuDM3Hb.js.map +1 -0
- package/dist/chunks/config-BtXRpAtq.js +48 -0
- package/dist/chunks/config-BtXRpAtq.js.map +1 -0
- package/dist/chunks/config-BuGlNPE9.js +8 -0
- package/dist/chunks/config-BuGlNPE9.js.map +1 -0
- package/dist/chunks/config-C0Ea9ePP.js +15 -0
- package/dist/chunks/config-C0Ea9ePP.js.map +1 -0
- package/dist/chunks/config-CN2ULSQL2.js +36 -0
- package/dist/chunks/config-CN2ULSQL2.js.map +1 -0
- package/dist/chunks/config-CN970ZcJ.js +113 -0
- package/dist/chunks/config-CN970ZcJ.js.map +1 -0
- package/dist/chunks/config-COvrUfhR.js +83 -0
- package/dist/chunks/config-COvrUfhR.js.map +1 -0
- package/dist/chunks/config-CQzGyi1C.js +54 -0
- package/dist/chunks/config-CQzGyi1C.js.map +1 -0
- package/dist/chunks/config-CY0_6cMi.js +51 -0
- package/dist/chunks/config-CY0_6cMi.js.map +1 -0
- package/dist/chunks/config-CjXjhphs.js +12 -0
- package/dist/chunks/config-CjXjhphs.js.map +1 -0
- package/dist/chunks/config-CjnbevbD.js +13 -0
- package/dist/chunks/config-CjnbevbD.js.map +1 -0
- package/dist/chunks/config-Cl4ST6Qd.js +21 -0
- package/dist/chunks/config-Cl4ST6Qd.js.map +1 -0
- package/dist/chunks/config-Cp0DE0GH.js +12 -0
- package/dist/chunks/config-Cp0DE0GH.js.map +1 -0
- package/dist/chunks/config-CpwwkFBO.js +72 -0
- package/dist/chunks/config-CpwwkFBO.js.map +1 -0
- package/dist/chunks/config-CvC0sX8p.js +81 -0
- package/dist/chunks/config-CvC0sX8p.js.map +1 -0
- package/dist/chunks/config-Cw6TDzWv2.js +72 -0
- package/dist/chunks/config-Cw6TDzWv2.js.map +1 -0
- package/dist/chunks/config-Cwd3yjRw.js +41 -0
- package/dist/chunks/config-Cwd3yjRw.js.map +1 -0
- package/dist/chunks/config-D3_g2KIn.js +120 -0
- package/dist/chunks/config-D3_g2KIn.js.map +1 -0
- package/dist/chunks/config-D6W1rnlp.js +26 -0
- package/dist/chunks/config-D6W1rnlp.js.map +1 -0
- package/dist/chunks/config-D8tSR2uS.js +103 -0
- package/dist/chunks/config-D8tSR2uS.js.map +1 -0
- package/dist/chunks/config-D94Z9po52.js +126 -0
- package/dist/chunks/config-D94Z9po52.js.map +1 -0
- package/dist/chunks/config-DBmdgoVf.js.map +1 -1
- package/dist/chunks/config-DCFvmHEv.js +76 -0
- package/dist/chunks/config-DCFvmHEv.js.map +1 -0
- package/dist/chunks/config-DKdlqXiY.js +109 -0
- package/dist/chunks/config-DKdlqXiY.js.map +1 -0
- package/dist/chunks/config-DP7eseR1.js +92 -0
- package/dist/chunks/config-DP7eseR1.js.map +1 -0
- package/dist/chunks/config-DSJY6aEl.js +80 -0
- package/dist/chunks/config-DSJY6aEl.js.map +1 -0
- package/dist/chunks/config-DU2DNSRx2.js +116 -0
- package/dist/chunks/config-DU2DNSRx2.js.map +1 -0
- package/dist/chunks/config-DhHbU3zO.js +37 -0
- package/dist/chunks/config-DhHbU3zO.js.map +1 -0
- package/dist/chunks/config-DpeQchsV.js +21 -0
- package/dist/chunks/config-DpeQchsV.js.map +1 -0
- package/dist/chunks/config-DpqOnJiz2.js.map +1 -0
- package/dist/chunks/config-Droqn55j.js +8 -0
- package/dist/chunks/config-Droqn55j.js.map +1 -0
- package/dist/chunks/config-DvQIb4kb.js +98 -0
- package/dist/chunks/config-DvQIb4kb.js.map +1 -0
- package/dist/chunks/config-DxCTVBfx.js +97 -0
- package/dist/chunks/config-DxCTVBfx.js.map +1 -0
- package/dist/chunks/config-K0C2tcLB.js +84 -0
- package/dist/chunks/config-K0C2tcLB.js.map +1 -0
- package/dist/chunks/config-Rw9OyW70.js +87 -0
- package/dist/chunks/config-Rw9OyW70.js.map +1 -0
- package/dist/chunks/config-T3qdQBgU.js +40 -0
- package/dist/chunks/config-T3qdQBgU.js.map +1 -0
- package/dist/chunks/config-WTNhdh6T2.js +20 -0
- package/dist/chunks/config-WTNhdh6T2.js.map +1 -0
- package/dist/chunks/config-Zc_bUvZY2.js +23 -0
- package/dist/chunks/config-Zc_bUvZY2.js.map +1 -0
- package/dist/chunks/config-_qPUfb6-2.js +165 -0
- package/dist/chunks/config-_qPUfb6-2.js.map +1 -0
- package/dist/chunks/config-esdviAPL.js +41 -0
- package/dist/chunks/config-esdviAPL.js.map +1 -0
- package/dist/chunks/config-gwro_7yn.js +55 -0
- package/dist/chunks/config-gwro_7yn.js.map +1 -0
- package/dist/chunks/config-qVg3Zz_A.js +30 -0
- package/dist/chunks/config-qVg3Zz_A.js.map +1 -0
- package/dist/chunks/config-zjeAJ4ho.js +64 -0
- package/dist/chunks/config-zjeAJ4ho.js.map +1 -0
- package/dist/chunks/context-BSYR7RZs.js +152 -0
- package/dist/chunks/context-BSYR7RZs.js.map +1 -0
- package/dist/chunks/context-BfIQv7m1.js +18 -0
- package/dist/chunks/context-BfIQv7m1.js.map +1 -0
- package/dist/chunks/context-Bfrgsluh.js +9 -0
- package/dist/chunks/context-Bfrgsluh.js.map +1 -0
- package/dist/chunks/context-DdNIxa1w.js.map +1 -1
- package/dist/chunks/dialogShared-CxW62PQE.js.map +1 -1
- package/dist/chunks/en-B3xMeswz.js +327 -0
- package/dist/chunks/en-B3xMeswz.js.map +1 -0
- package/dist/chunks/es-Bv8vvqdT.js +20 -0
- package/dist/chunks/es-Bv8vvqdT.js.map +1 -0
- package/dist/chunks/es-CA-mkU--.js +329 -0
- package/dist/chunks/es-CA-mkU--.js.map +1 -0
- package/dist/chunks/fileValidation-D5TFBhbv.js +296 -0
- package/dist/chunks/fileValidation-D5TFBhbv.js.map +1 -0
- package/dist/chunks/focusables-BkzK42SQ.js +87 -0
- package/dist/chunks/focusables-BkzK42SQ.js.map +1 -0
- package/dist/chunks/grBadgeStyles-C2wLlkjF.js +61 -0
- package/dist/chunks/grBadgeStyles-C2wLlkjF.js.map +1 -0
- package/dist/chunks/grButtonStyles-B_-YRE__.js +221 -0
- package/dist/chunks/grButtonStyles-B_-YRE__.js.map +1 -0
- package/dist/chunks/grCheckboxStyles-hOAgURZG.js +82 -0
- package/dist/chunks/grCheckboxStyles-hOAgURZG.js.map +1 -0
- package/dist/chunks/grDropdownStyles-V7TRiCXn.js +24 -0
- package/dist/chunks/grDropdownStyles-V7TRiCXn.js.map +1 -0
- package/dist/chunks/grFormFieldStyles-BkeZHIw0.js +32 -0
- package/dist/chunks/grFormFieldStyles-BkeZHIw0.js.map +1 -0
- package/dist/chunks/grIconStyles-BwJrml2L.js +44 -0
- package/dist/chunks/grIconStyles-BwJrml2L.js.map +1 -0
- package/dist/chunks/grInputStyles-CJeMhUe5.js +66 -0
- package/dist/chunks/grInputStyles-CJeMhUe5.js.map +1 -0
- package/dist/chunks/grKbdStyles-DAoxiytu.js +31 -0
- package/dist/chunks/grKbdStyles-DAoxiytu.js.map +1 -0
- package/dist/chunks/grLinkStyles-BoL8QYcV.js +84 -0
- package/dist/chunks/grLinkStyles-BoL8QYcV.js.map +1 -0
- package/dist/chunks/grLoadingStyles-DEmji2wv.js +30 -0
- package/dist/chunks/grLoadingStyles-DEmji2wv.js.map +1 -0
- package/dist/chunks/grModalStyles-EZfuEiw_.js +77 -0
- package/dist/chunks/grModalStyles-EZfuEiw_.js.map +1 -0
- package/dist/chunks/grPopoverStyles-Rz_Z5nLW.js +46 -0
- package/dist/chunks/grPopoverStyles-Rz_Z5nLW.js.map +1 -0
- package/dist/chunks/grSelectStyles-eTz4uPMP.js +147 -0
- package/dist/chunks/grSelectStyles-eTz4uPMP.js.map +1 -0
- package/dist/chunks/grSliderStyles-B5uNxNJq.js +133 -0
- package/dist/chunks/grSliderStyles-B5uNxNJq.js.map +1 -0
- package/dist/chunks/grStyle-CrgLQKKf.js +46 -0
- package/dist/chunks/grStyle-CrgLQKKf.js.map +1 -0
- package/dist/chunks/grTableStyles-C-iaqQUN.js +26 -0
- package/dist/chunks/grTableStyles-C-iaqQUN.js.map +1 -0
- package/dist/chunks/grTextareaStyles-CWI2SqC8.js +50 -0
- package/dist/chunks/grTextareaStyles-CWI2SqC8.js.map +1 -0
- package/dist/chunks/granular-provider-CtrXGa7c.js +193 -0
- package/dist/chunks/granular-provider-CtrXGa7c.js.map +1 -0
- package/dist/chunks/granularityI18n-BC5zsj_d.js +68 -0
- package/dist/chunks/granularityI18n-BC5zsj_d.js.map +1 -0
- package/dist/chunks/inert-DIHCCn_1.js +78 -0
- package/dist/chunks/inert-DIHCCn_1.js.map +1 -0
- package/dist/chunks/keyboard-zYvvyHd4.js +61 -0
- package/dist/chunks/keyboard-zYvvyHd4.js.map +1 -0
- package/dist/chunks/loader-2-B1fdsdWW.js +23 -0
- package/dist/chunks/loader-2-B1fdsdWW.js.map +1 -0
- package/dist/chunks/minus-oxdbHF33.js +23 -0
- package/dist/chunks/minus-oxdbHF33.js.map +1 -0
- package/dist/chunks/optionFilter-BVY988pC.js +149 -0
- package/dist/chunks/optionFilter-BVY988pC.js.map +1 -0
- package/dist/chunks/portalRoot-CWD4zHBm.js +35 -0
- package/dist/chunks/portalRoot-CWD4zHBm.js.map +1 -0
- package/dist/chunks/ru-COWxgh2A.js +331 -0
- package/dist/chunks/ru-COWxgh2A.js.map +1 -0
- package/dist/chunks/safelist-CudBLyAD.js +26 -0
- package/dist/chunks/safelist-CudBLyAD.js.map +1 -0
- package/dist/chunks/slotNodes-DxNXpC7v.js +39 -0
- package/dist/chunks/slotNodes-DxNXpC7v.js.map +1 -0
- package/dist/chunks/useControlAddons-asUr10Pf.js +128 -0
- package/dist/chunks/useControlAddons-asUr10Pf.js.map +1 -0
- package/dist/chunks/useControlledOpen-DV3SqLTP.js +27 -0
- package/dist/chunks/useControlledOpen-DV3SqLTP.js.map +1 -0
- package/dist/chunks/useFilePreviews-DnwgdyBs.js +53 -0
- package/dist/chunks/useFilePreviews-DnwgdyBs.js.map +1 -0
- package/dist/chunks/useFocusWithin-BwHE0rzm.js +33 -0
- package/dist/chunks/useFocusWithin-BwHE0rzm.js.map +1 -0
- package/dist/chunks/useModalOverlay-DCM4d3yA.js +212 -0
- package/dist/chunks/useModalOverlay-DCM4d3yA.js.map +1 -0
- package/dist/chunks/useOverlayLayer-BupuP_hs.js +149 -0
- package/dist/chunks/useOverlayLayer-BupuP_hs.js.map +1 -0
- package/dist/chunks/usePortalTarget-RyzEgNTb.js +77 -0
- package/dist/chunks/usePortalTarget-RyzEgNTb.js.map +1 -0
- package/dist/chunks/validation-5HhpanPP.js +178 -0
- package/dist/chunks/validation-5HhpanPP.js.map +1 -0
- package/dist/components/GrAlert/chunks/GrAlert-BC1lplbY.js +272 -0
- package/dist/components/GrAlert/chunks/GrAlert-BC1lplbY.js.map +1 -0
- package/dist/components/GrAlert/index.js +2 -2
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-CQ9T7Lly.js +851 -0
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-CQ9T7Lly.js.map +1 -0
- package/dist/components/GrAutocomplete/index.js +3 -0
- package/dist/components/GrAutocomplete/styles.css +1 -0
- package/dist/components/GrAvatar/chunks/GrAvatar-CVUujLmn.js +222 -0
- package/dist/components/GrAvatar/chunks/GrAvatar-CVUujLmn.js.map +1 -0
- package/dist/components/GrAvatar/index.js +3 -3
- package/dist/components/GrBadge/chunks/GrBadge-B1tgqfGQ.js +40 -0
- package/dist/components/GrBadge/chunks/GrBadge-B1tgqfGQ.js.map +1 -0
- package/dist/components/GrBadge/index.js +2 -2
- package/dist/components/GrBadge/styles.css +1 -0
- package/dist/components/GrBadge/themes/dark.css +19 -0
- package/dist/components/GrBadge/themes/light.css +18 -0
- package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-C-E9betg.js +97 -0
- package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-C-E9betg.js.map +1 -0
- package/dist/components/GrBadgeWrap/index.js +3 -3
- package/dist/components/GrBadgeWrap/styles.css +1 -0
- package/dist/components/GrBottomNav/chunks/GrBottomNav-9GH7Dd9E.js +117 -0
- package/dist/components/GrBottomNav/chunks/GrBottomNav-9GH7Dd9E.js.map +1 -0
- package/dist/components/GrBottomNav/index.js +3 -3
- package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-BCNGDS6k.js +266 -0
- package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-BCNGDS6k.js.map +1 -0
- package/dist/components/GrBreadcrumbs/index.js +3 -0
- package/dist/components/GrButton/chunks/GrButton-D0m_z0XW.js +153 -0
- package/dist/components/GrButton/chunks/GrButton-D0m_z0XW.js.map +1 -0
- package/dist/components/GrButton/index.js +5 -5
- package/dist/components/GrButton/themes/dark.css +46 -0
- package/dist/components/GrButton/themes/light.css +82 -0
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CKyiAV8K.js +44 -0
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CKyiAV8K.js.map +1 -0
- package/dist/components/GrButtonGroup/index.js +3 -2
- package/dist/components/GrButtonGroup/styles.css +1 -0
- package/dist/components/GrCard/chunks/GrCard-DOrGHf2x.js +89 -0
- package/dist/components/GrCard/chunks/GrCard-DOrGHf2x.js.map +1 -0
- package/dist/components/GrCard/index.js +3 -3
- package/dist/components/GrCheckbox/chunks/GrCheckbox-BLOp8452.js +262 -0
- package/dist/components/GrCheckbox/chunks/GrCheckbox-BLOp8452.js.map +1 -0
- package/dist/components/GrCheckbox/index.js +3 -3
- package/dist/components/GrCheckboxGroup/chunks/GrCheckboxGroup-CXTx2Z5H.js +140 -0
- package/dist/components/GrCheckboxGroup/chunks/GrCheckboxGroup-CXTx2Z5H.js.map +1 -0
- package/dist/components/GrCheckboxGroup/index.js +3 -0
- package/dist/components/GrCollapse/chunks/GrCollapse-B2Fc6A9r.js +308 -0
- package/dist/components/GrCollapse/chunks/GrCollapse-B2Fc6A9r.js.map +1 -0
- package/dist/components/GrCollapse/index.js +3 -3
- package/dist/components/GrColorPicker/chunks/GrColorPicker-bnYBRGk8.js +584 -0
- package/dist/components/GrColorPicker/chunks/GrColorPicker-bnYBRGk8.js.map +1 -0
- package/dist/components/GrColorPicker/index.js +3 -0
- package/dist/components/GrColorPicker/styles.css +1 -0
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-MWDYDPNC.js +566 -0
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-MWDYDPNC.js.map +1 -0
- package/dist/components/GrCommandPalette/index.js +3 -0
- package/dist/components/GrCommandPalette/styles.css +1 -0
- package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BA6JO7V6.js +144 -0
- package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BA6JO7V6.js.map +1 -0
- package/dist/components/GrConfigProvider/index.js +4 -0
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-DaQmlp1_.js +200 -0
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-DaQmlp1_.js.map +1 -0
- package/dist/components/GrConfirmDialog/index.js +2 -2
- package/dist/components/GrDataTable/chunks/GrDataTable-DVFho9Cj.js +605 -0
- package/dist/components/GrDataTable/chunks/GrDataTable-DVFho9Cj.js.map +1 -0
- package/dist/components/GrDataTable/index.js +3 -3
- package/dist/components/GrDialog/chunks/GrDialog-AE1gIZuz.js +255 -0
- package/dist/components/GrDialog/chunks/GrDialog-AE1gIZuz.js.map +1 -0
- package/dist/components/GrDialog/index.js +1 -1
- package/dist/components/GrDialogService/chunks/GrDialogService-B4DYWDkA.js +656 -0
- package/dist/components/GrDialogService/chunks/GrDialogService-B4DYWDkA.js.map +1 -0
- package/dist/components/GrDialogService/index.js +3 -3
- package/dist/components/GrDivider/chunks/GrDivider-B2Xwc_QO.js +109 -0
- package/dist/components/GrDivider/chunks/GrDivider-B2Xwc_QO.js.map +1 -0
- package/dist/components/GrDivider/index.js +3 -3
- package/dist/components/GrDrawer/chunks/GrDrawer-DQwi6aRw.js +251 -0
- package/dist/components/GrDrawer/chunks/GrDrawer-DQwi6aRw.js.map +1 -0
- package/dist/components/GrDrawer/index.js +2 -2
- package/dist/components/GrDropdown/chunks/GrDropdown-BLng6V1m.js +300 -0
- package/dist/components/GrDropdown/chunks/GrDropdown-BLng6V1m.js.map +1 -0
- package/dist/components/GrDropdown/index.js +2 -2
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-BImk2Vs7.js +421 -0
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-BImk2Vs7.js.map +1 -0
- package/dist/components/GrDropdownMenu/index.js +3 -3
- package/dist/components/GrEmptyState/chunks/GrEmptyState-W7Irx3vc.js +86 -0
- package/dist/components/GrEmptyState/chunks/GrEmptyState-W7Irx3vc.js.map +1 -0
- package/dist/components/GrEmptyState/index.js +3 -3
- package/dist/components/GrFileUpload/chunks/GrFileUpload-D0B-BEsd.js +1080 -0
- package/dist/components/GrFileUpload/chunks/GrFileUpload-D0B-BEsd.js.map +1 -0
- package/dist/components/GrFileUpload/index.js +4 -4
- package/dist/components/GrForm/chunks/GrForm-BCHCfIMv.js +326 -0
- package/dist/components/GrForm/chunks/GrForm-BCHCfIMv.js.map +1 -0
- package/dist/components/GrForm/index.js +5 -0
- package/dist/components/GrFormField/chunks/GrFormField-CL5rcgj6.js +190 -0
- package/dist/components/GrFormField/chunks/GrFormField-CL5rcgj6.js.map +1 -0
- package/dist/components/GrFormField/index.js +3 -3
- package/dist/components/GrFormFile/chunks/GrFormFile-BikSD7bg.js +452 -0
- package/dist/components/GrFormFile/chunks/GrFormFile-BikSD7bg.js.map +1 -0
- package/dist/components/GrFormFile/index.js +3 -3
- package/dist/components/GrFormFile/styles.css +1 -0
- package/dist/components/GrFormSection/chunks/GrFormSection-BEh5n4jF.js +63 -0
- package/dist/components/GrFormSection/chunks/GrFormSection-BEh5n4jF.js.map +1 -0
- package/dist/components/GrFormSection/index.js +3 -3
- package/dist/components/GrIcon/chunks/GrIcon-BvA2ZGXP.js +57 -0
- package/dist/components/GrIcon/chunks/GrIcon-BvA2ZGXP.js.map +1 -0
- package/dist/components/GrIcon/index.js +3 -3
- package/dist/components/GrIcon/styles.css +1 -0
- package/dist/components/GrImageViewer/chunks/GrImageViewer-BeCnE8XQ.js +1103 -0
- package/dist/components/GrImageViewer/chunks/GrImageViewer-BeCnE8XQ.js.map +1 -0
- package/dist/components/GrImageViewer/index.js +3 -3
- package/dist/components/GrImageViewer/themes/dark.css +17 -0
- package/dist/components/GrImageViewer/themes/light.css +16 -0
- package/dist/components/GrInput/chunks/GrInput-DD2gYdqS.js +348 -0
- package/dist/components/GrInput/chunks/GrInput-DD2gYdqS.js.map +1 -0
- package/dist/components/GrInput/index.js +2 -2
- package/dist/components/GrInputTag/chunks/GrInputTag-DmNunixz.js +525 -0
- package/dist/components/GrInputTag/chunks/GrInputTag-DmNunixz.js.map +1 -0
- package/dist/components/GrInputTag/index.js +2 -2
- package/dist/components/GrKbd/chunks/GrKbd-DRFPvW3G.js +192 -0
- package/dist/components/GrKbd/chunks/GrKbd-DRFPvW3G.js.map +1 -0
- package/dist/components/GrKbd/index.js +3 -3
- package/dist/components/GrLink/chunks/GrLink-D-cgUMXW.js +163 -0
- package/dist/components/GrLink/chunks/GrLink-D-cgUMXW.js.map +1 -0
- package/dist/components/GrLink/index.js +2 -2
- package/dist/components/GrList/chunks/GrList-4YU1NZtM.js +277 -0
- package/dist/components/GrList/chunks/GrList-4YU1NZtM.js.map +1 -0
- package/dist/components/GrList/index.js +3 -3
- package/dist/components/GrList/styles.css +1 -0
- package/dist/components/GrLoading/chunks/GrLoading-CH95CFzS.js +101 -0
- package/dist/components/GrLoading/chunks/GrLoading-CH95CFzS.js.map +1 -0
- package/dist/components/GrLoading/index.js +2 -2
- package/dist/components/GrModal/chunks/GrModal-B8I78T0N.js +313 -0
- package/dist/components/GrModal/chunks/GrModal-B8I78T0N.js.map +1 -0
- package/dist/components/GrModal/index.js +3 -4
- package/dist/components/GrNavbar/chunks/GrNavbar-CF0KbM_6.js +104 -0
- package/dist/components/GrNavbar/chunks/GrNavbar-CF0KbM_6.js.map +1 -0
- package/dist/components/GrNavbar/index.js +3 -3
- package/dist/components/GrNumberInput/chunks/GrNumberInput-CZOyPz4J.js +658 -0
- package/dist/components/GrNumberInput/chunks/GrNumberInput-CZOyPz4J.js.map +1 -0
- package/dist/components/GrNumberInput/index.js +2 -2
- package/dist/components/GrPagination/chunks/GrPagination-B6N0QZBf.js +283 -0
- package/dist/components/GrPagination/chunks/GrPagination-B6N0QZBf.js.map +1 -0
- package/dist/components/GrPagination/index.js +3 -3
- package/dist/components/GrPopover/chunks/GrPopover-B1eRCOoO.js +216 -0
- package/dist/components/GrPopover/chunks/GrPopover-B1eRCOoO.js.map +1 -0
- package/dist/components/GrPopover/index.js +3 -0
- package/dist/components/GrProgressBar/chunks/GrProgressBar-BiHnaitu.js +90 -0
- package/dist/components/GrProgressBar/chunks/GrProgressBar-BiHnaitu.js.map +1 -0
- package/dist/components/GrProgressBar/index.js +2 -2
- package/dist/components/GrProgressBar/styles.css +1 -0
- package/dist/components/GrProgressBar/themes/dark.css +13 -0
- package/dist/components/GrProgressBar/themes/light.css +12 -0
- package/dist/components/GrProgressCircle/chunks/GrProgressCircle-CTogjcHz.js +210 -0
- package/dist/components/GrProgressCircle/chunks/GrProgressCircle-CTogjcHz.js.map +1 -0
- package/dist/components/GrProgressCircle/index.js +3 -0
- package/dist/components/GrProgressCircle/styles.css +1 -0
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-Ct174NVD.js +348 -0
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-Ct174NVD.js.map +1 -0
- package/dist/components/GrPromptDialog/index.js +2 -2
- package/dist/components/GrRadio/chunks/GrRadio-DksDro_U.js +277 -0
- package/dist/components/GrRadio/chunks/GrRadio-DksDro_U.js.map +1 -0
- package/dist/components/GrRadio/index.js +2 -2
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BOIhejE6.js +189 -0
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BOIhejE6.js.map +1 -0
- package/dist/components/GrRadioGroup/index.js +1 -1
- package/dist/components/GrRating/chunks/GrRating-JrHXz0Rv.js +315 -0
- package/dist/components/GrRating/chunks/GrRating-JrHXz0Rv.js.map +1 -0
- package/dist/components/GrRating/index.js +3 -0
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C7W9mgYN.js +777 -0
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C7W9mgYN.js.map +1 -0
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-DhX4jjay.js +224 -0
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-DhX4jjay.js.map +1 -0
- package/dist/components/GrResponseErrorBanner/index.js +2 -2
- package/dist/components/GrSegmented/chunks/GrSegmented-BQIlH5KI.js +406 -0
- package/dist/components/GrSegmented/chunks/GrSegmented-BQIlH5KI.js.map +1 -0
- package/dist/components/GrSegmented/index.js +3 -3
- package/dist/components/GrSelect/chunks/GrSelect-aqkPCqjd.js +1372 -0
- package/dist/components/GrSelect/chunks/GrSelect-aqkPCqjd.js.map +1 -0
- package/dist/components/GrSelect/index.js +2 -2
- package/dist/components/GrSelect/styles.css +1 -0
- package/dist/components/GrSidebar/chunks/GrSidebar-DRGnnViw.js +257 -0
- package/dist/components/GrSidebar/chunks/GrSidebar-DRGnnViw.js.map +1 -0
- package/dist/components/GrSidebar/index.js +3 -3
- package/dist/components/GrSkeleton/chunks/GrSkeleton-DEvNE3bC.js +84 -0
- package/dist/components/GrSkeleton/chunks/GrSkeleton-DEvNE3bC.js.map +1 -0
- package/dist/components/GrSkeleton/index.js +3 -3
- package/dist/components/GrSlider/chunks/GrSlider-DkU9IQSX.js +392 -0
- package/dist/components/GrSlider/chunks/GrSlider-DkU9IQSX.js.map +1 -0
- package/dist/components/GrSlider/index.js +3 -0
- package/dist/components/GrSplitter/chunks/GrSplitter-7To8jbJ8.js +288 -0
- package/dist/components/GrSplitter/chunks/GrSplitter-7To8jbJ8.js.map +1 -0
- package/dist/components/GrSplitter/index.js +3 -0
- package/dist/components/GrSplitter/styles.css +1 -0
- package/dist/components/GrStatistic/chunks/GrStatistic-CttyoYPT.js +319 -0
- package/dist/components/GrStatistic/chunks/GrStatistic-CttyoYPT.js.map +1 -0
- package/dist/components/GrStatistic/index.js +3 -0
- package/dist/components/GrSwitch/chunks/GrSwitch-B9TYbiih.js +183 -0
- package/dist/components/GrSwitch/chunks/GrSwitch-B9TYbiih.js.map +1 -0
- package/dist/components/GrSwitch/index.js +2 -2
- package/dist/components/GrTabPanels/chunks/GrTabPanels-BVe1CZdJ.js +81 -0
- package/dist/components/GrTabPanels/chunks/GrTabPanels-BVe1CZdJ.js.map +1 -0
- package/dist/components/GrTabPanels/index.js +1 -1
- package/dist/components/GrTable/chunks/GrTable-BB-mI_NM.js +163 -0
- package/dist/components/GrTable/chunks/GrTable-BB-mI_NM.js.map +1 -0
- package/dist/components/GrTable/index.js +3 -3
- package/dist/components/GrTabs/chunks/GrTabs-B8CDq2D9.js +272 -0
- package/dist/components/GrTabs/chunks/GrTabs-B8CDq2D9.js.map +1 -0
- package/dist/components/GrTabs/index.js +3 -3
- package/dist/components/GrTextarea/chunks/GrTextarea-DUh5Tlo4.js +241 -0
- package/dist/components/GrTextarea/chunks/GrTextarea-DUh5Tlo4.js.map +1 -0
- package/dist/components/GrTextarea/index.js +2 -2
- package/dist/components/GrTimeline/chunks/GrTimeline-CE9b3s18.js +285 -0
- package/dist/components/GrTimeline/chunks/GrTimeline-CE9b3s18.js.map +1 -0
- package/dist/components/GrTimeline/index.js +3 -0
- package/dist/components/GrTimeline/styles.css +1 -0
- package/dist/components/GrToaster/chunks/GrToaster-BKQy3Srm.js +272 -0
- package/dist/components/GrToaster/chunks/GrToaster-BKQy3Srm.js.map +1 -0
- package/dist/components/GrToaster/index.js +1 -1
- package/dist/components/GrToaster/styles.css +1 -0
- package/dist/components/GrTooltip/chunks/GrTooltip-DEbejfhA.js +185 -0
- package/dist/components/GrTooltip/chunks/GrTooltip-DEbejfhA.js.map +1 -0
- package/dist/components/GrTooltip/index.js +3 -3
- package/dist/components/GrTree/chunks/GrTree-wfdbvygw.js +1339 -0
- package/dist/components/GrTree/chunks/GrTree-wfdbvygw.js.map +1 -0
- package/dist/components/GrTree/index.js +2 -2
- package/dist/components/GrTree/styles.css +1 -0
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-lLWmAMtI.js +623 -0
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-lLWmAMtI.js.map +1 -0
- package/dist/components/GrTreeSelect/index.js +2 -2
- package/dist/composables/useAnnouncer.js +114 -0
- package/dist/composables/useAnnouncer.js.map +1 -0
- package/dist/composables/useDismissible.js +31 -0
- package/dist/composables/useDismissible.js.map +1 -0
- package/dist/composables/useFloating.js +112 -0
- package/dist/composables/useFloating.js.map +1 -0
- package/dist/composables/useFocusTrap.js +124 -0
- package/dist/composables/useFocusTrap.js.map +1 -0
- package/dist/composables/useGrFormControl.js +24 -0
- package/dist/composables/useGrFormControl.js.map +1 -0
- package/dist/composables/useOverlayLayer.js +2 -0
- package/dist/composables/usePortalTarget.js +2 -0
- package/dist/composables/useTheme.js +106 -36
- package/dist/composables/useTheme.js.map +1 -1
- package/dist/composables/useToast.js +126 -8
- package/dist/composables/useToast.js.map +1 -1
- package/dist/composables/useVirtualList.js +244 -0
- package/dist/composables/useVirtualList.js.map +1 -0
- package/dist/directives/dropzone.js +1 -1
- package/dist/directives/hotkey.js +9 -15
- package/dist/directives/hotkey.js.map +1 -1
- package/dist/directives/loading.js +43 -7
- package/dist/directives/loading.js.map +1 -1
- package/dist/fileValidation/index.js +2 -2
- package/dist/granular-provider-node.js +1 -31
- package/dist/granular-provider.js +1 -4
- package/dist/i18n/all.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/index.js +159 -133
- package/dist/styles/base.css +34 -2
- package/dist/styles/index.css +6 -3
- package/dist/styles/preflight.css +36 -3
- package/dist/styles/themes/dark.css +125 -58
- package/dist/styles/themes/light.css +151 -55
- package/dist/styles/tokens.css +81 -22
- package/dist/tokens.js +3132 -0
- package/dist/tokens.js.map +1 -0
- package/dist/types/src/components/GrAlert/GrAlert.vue.d.ts +59 -15
- package/dist/types/src/components/GrAlert/config.d.ts +1 -1
- package/dist/types/src/components/GrAlert/defaults.d.ts +23 -0
- package/dist/types/src/components/GrAlert/grAlertStyles.d.ts +48 -0
- package/dist/types/src/components/GrAlert/index.d.ts +5 -1
- package/dist/types/src/components/GrAutocomplete/GrAutocomplete.vue.d.ts +166 -0
- package/dist/types/src/components/GrAutocomplete/config.d.ts +1 -0
- package/dist/types/src/components/GrAutocomplete/defaults.d.ts +15 -0
- package/dist/types/src/components/GrAutocomplete/grAutocompleteStyles.d.ts +63 -0
- package/dist/types/src/components/GrAutocomplete/index.d.ts +10 -0
- package/dist/types/src/components/GrAutocomplete/safelist.d.ts +1 -0
- package/dist/types/src/components/GrAvatar/GrAvatar.vue.d.ts +41 -18
- package/dist/types/src/components/GrAvatar/GrAvatarGroup.vue.d.ts +70 -0
- package/dist/types/src/components/GrAvatar/avatarContext.d.ts +12 -0
- package/dist/types/src/components/GrAvatar/config.d.ts +1 -1
- package/dist/types/src/components/GrAvatar/defaults.d.ts +16 -0
- package/dist/types/src/components/GrAvatar/grAvatarStyles.d.ts +38 -0
- package/dist/types/src/components/GrAvatar/index.d.ts +5 -0
- package/dist/types/src/components/GrAvatar/safelist.d.ts +4 -0
- package/dist/types/src/components/GrBadge/GrBadge.vue.d.ts +11 -11
- package/dist/types/src/components/GrBadge/config.d.ts +1 -1
- package/dist/types/src/components/GrBadge/defaults.d.ts +15 -0
- package/dist/types/src/components/GrBadge/grBadgeStyles.d.ts +13 -1
- package/dist/types/src/components/GrBadge/index.d.ts +2 -0
- package/dist/types/src/components/GrBadgeWrap/GrBadgeWrap.vue.d.ts +41 -4
- package/dist/types/src/components/GrBadgeWrap/config.d.ts +1 -1
- package/dist/types/src/components/GrBadgeWrap/grBadgeWrapStyles.d.ts +46 -0
- package/dist/types/src/components/GrBadgeWrap/index.d.ts +4 -0
- package/dist/types/src/components/GrBadgeWrap/safelist.d.ts +1 -0
- package/dist/types/src/components/GrBottomNav/GrBottomNav.vue.d.ts +91 -4
- package/dist/types/src/components/GrBottomNav/config.d.ts +1 -1
- package/dist/types/src/components/GrBottomNav/defaults.d.ts +16 -0
- package/dist/types/src/components/GrBottomNav/grBottomNavStyles.d.ts +56 -0
- package/dist/types/src/components/GrBottomNav/index.d.ts +6 -1
- package/dist/types/src/components/GrBottomNav/safelist.d.ts +1 -0
- package/dist/types/src/components/GrBreadcrumbs/GrBreadcrumbs.vue.d.ts +117 -0
- package/dist/types/src/components/GrBreadcrumbs/config.d.ts +1 -0
- package/dist/types/src/components/GrBreadcrumbs/defaults.d.ts +15 -0
- package/dist/types/src/components/GrBreadcrumbs/grBreadcrumbsStyles.d.ts +86 -0
- package/dist/types/src/components/GrBreadcrumbs/index.d.ts +8 -0
- package/dist/types/src/components/GrBreadcrumbs/safelist.d.ts +1 -0
- package/dist/types/src/components/GrButton/GrButton.vue.d.ts +43 -19
- package/dist/types/src/components/GrButton/config.d.ts +1 -1
- package/dist/types/src/components/GrButton/defaults.d.ts +25 -0
- package/dist/types/src/components/GrButton/grButtonStyles.d.ts +27 -3
- package/dist/types/src/components/GrButton/index.d.ts +6 -1
- package/dist/types/src/components/GrButton/safelist.d.ts +1 -0
- package/dist/types/src/components/GrButtonGroup/GrButtonGroup.vue.d.ts +32 -4
- package/dist/types/src/components/GrButtonGroup/config.d.ts +1 -1
- package/dist/types/src/components/GrButtonGroup/context.d.ts +20 -0
- package/dist/types/src/components/GrButtonGroup/index.d.ts +3 -0
- package/dist/types/src/components/GrCard/GrCard.vue.d.ts +80 -3
- package/dist/types/src/components/GrCard/config.d.ts +1 -1
- package/dist/types/src/components/GrCard/defaults.d.ts +15 -0
- package/dist/types/src/components/GrCard/grCardStyles.d.ts +24 -0
- package/dist/types/src/components/GrCard/index.d.ts +5 -0
- package/dist/types/src/components/GrCard/safelist.d.ts +1 -0
- package/dist/types/src/components/GrCheckbox/GrCheckbox.vue.d.ts +58 -12
- package/dist/types/src/components/GrCheckbox/config.d.ts +1 -1
- package/dist/types/src/components/GrCheckbox/defaults.d.ts +14 -0
- package/dist/types/src/components/GrCheckbox/grCheckboxGroupContext.d.ts +19 -0
- package/dist/types/src/components/GrCheckbox/grCheckboxStyles.d.ts +44 -0
- package/dist/types/src/components/GrCheckbox/index.d.ts +9 -0
- package/dist/types/src/components/GrCheckbox/safelist.d.ts +13 -0
- package/dist/types/src/components/GrCheckboxGroup/GrCheckboxGroup.vue.d.ts +105 -0
- package/dist/types/src/components/GrCheckboxGroup/config.d.ts +1 -0
- package/dist/types/src/components/GrCheckboxGroup/defaults.d.ts +14 -0
- package/dist/types/src/components/GrCheckboxGroup/index.d.ts +9 -0
- package/dist/types/src/components/GrCollapse/GrCollapse.vue.d.ts +57 -9
- package/dist/types/src/components/GrCollapse/GrCollapseItem.vue.d.ts +14 -4
- package/dist/types/src/components/GrCollapse/config.d.ts +1 -1
- package/dist/types/src/components/GrCollapse/defaults.d.ts +19 -0
- package/dist/types/src/components/GrCollapse/grCollapseContext.d.ts +20 -0
- package/dist/types/src/components/GrCollapse/grCollapseStyles.d.ts +42 -0
- package/dist/types/src/components/GrCollapse/index.d.ts +3 -0
- package/dist/types/src/components/GrCollapse/safelist.d.ts +15 -0
- package/dist/types/src/components/GrColorPicker/GrColorPicker.vue.d.ts +104 -0
- package/dist/types/src/components/GrColorPicker/color.d.ts +38 -0
- package/dist/types/src/components/GrColorPicker/config.d.ts +1 -0
- package/dist/types/src/components/GrColorPicker/defaults.d.ts +15 -0
- package/dist/types/src/components/GrColorPicker/grColorPickerStyles.d.ts +39 -0
- package/dist/types/src/components/GrColorPicker/index.d.ts +11 -0
- package/dist/types/src/components/GrColorPicker/safelist.d.ts +1 -0
- package/dist/types/src/components/GrCommandPalette/GrCommandPalette.vue.d.ts +163 -0
- package/dist/types/src/components/GrCommandPalette/config.d.ts +1 -0
- package/dist/types/src/components/GrCommandPalette/defaults.d.ts +14 -0
- package/dist/types/src/components/GrCommandPalette/filtering.d.ts +59 -0
- package/dist/types/src/components/GrCommandPalette/grCommandPaletteStyles.d.ts +45 -0
- package/dist/types/src/components/GrCommandPalette/index.d.ts +10 -0
- package/dist/types/src/components/GrCommandPalette/safelist.d.ts +1 -0
- package/dist/types/src/components/GrConfigProvider/GrConfigProvider.vue.d.ts +93 -0
- package/dist/types/src/components/GrConfigProvider/config.d.ts +1 -0
- package/dist/types/src/components/GrConfigProvider/context.d.ts +158 -0
- package/dist/types/src/components/GrConfigProvider/index.d.ts +6 -0
- package/dist/types/src/components/GrConfigProvider/zIndexScale.d.ts +23 -0
- package/dist/types/src/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +35 -6
- package/dist/types/src/components/GrConfirmDialog/config.d.ts +1 -1
- package/dist/types/src/components/GrConfirmDialog/defaults.d.ts +14 -0
- package/dist/types/src/components/GrConfirmDialog/index.d.ts +2 -1
- package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +111 -26
- package/dist/types/src/components/GrDataTable/config.d.ts +1 -1
- package/dist/types/src/components/GrDataTable/defaults.d.ts +10 -0
- package/dist/types/src/components/GrDataTable/grDataTableSort.d.ts +25 -0
- package/dist/types/src/components/GrDataTable/grDataTableStyles.d.ts +29 -0
- package/dist/types/src/components/GrDataTable/index.d.ts +10 -1
- package/dist/types/src/components/GrDataTable/safelist.d.ts +1 -0
- package/dist/types/src/components/GrDialog/GrDialog.vue.d.ts +52 -5
- package/dist/types/src/components/GrDialog/GrDialogCloseButton.vue.d.ts +3 -0
- package/dist/types/src/components/GrDialog/GrDialogHeader.vue.d.ts +3 -0
- package/dist/types/src/components/GrDialog/config.d.ts +1 -1
- package/dist/types/src/components/GrDialog/defaults.d.ts +14 -0
- package/dist/types/src/components/GrDialog/dialogShared.d.ts +2 -1
- package/dist/types/src/components/GrDialog/index.d.ts +5 -0
- package/dist/types/src/components/GrDialogService/GrDialogServiceHost.vue.d.ts +18 -1
- package/dist/types/src/components/GrDialogService/GrDialogServiceItem.vue.d.ts +15 -0
- package/dist/types/src/components/GrDialogService/config.d.ts +1 -1
- package/dist/types/src/components/GrDialogService/index.d.ts +3 -1
- package/dist/types/src/components/GrDialogService/store.d.ts +94 -5
- package/dist/types/src/components/GrDialogService/types.d.ts +22 -1
- package/dist/types/src/components/GrDialogService/useDialogService.d.ts +31 -1
- package/dist/types/src/components/GrDivider/GrDivider.vue.d.ts +44 -9
- package/dist/types/src/components/GrDivider/config.d.ts +1 -1
- package/dist/types/src/components/GrDivider/defaults.d.ts +15 -0
- package/dist/types/src/components/GrDivider/grDividerStyles.d.ts +19 -0
- package/dist/types/src/components/GrDivider/index.d.ts +4 -1
- package/dist/types/src/components/GrDivider/safelist.d.ts +1 -0
- package/dist/types/src/components/GrDrawer/GrDrawer.vue.d.ts +94 -18
- package/dist/types/src/components/GrDrawer/config.d.ts +1 -1
- package/dist/types/src/components/GrDrawer/defaults.d.ts +19 -0
- package/dist/types/src/components/GrDrawer/grDrawerStyles.d.ts +48 -2
- package/dist/types/src/components/GrDrawer/index.d.ts +6 -1
- package/dist/types/src/components/GrDropdown/GrDropdown.vue.d.ts +66 -13
- package/dist/types/src/components/GrDropdown/config.d.ts +1 -1
- package/dist/types/src/components/GrDropdown/grDropdownStyles.d.ts +4 -5
- package/dist/types/src/components/GrDropdown/index.d.ts +5 -2
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +79 -16
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuColumn.vue.d.ts +2 -1
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuColumns.vue.d.ts +3 -2
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuGroup.vue.d.ts +2 -2
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuHeader.vue.d.ts +3 -2
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +50 -4
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuList.vue.d.ts +5 -0
- package/dist/types/src/components/GrDropdownMenu/config.d.ts +1 -1
- package/dist/types/src/components/GrDropdownMenu/grDropdownMenuStyles.d.ts +33 -0
- package/dist/types/src/components/GrDropdownMenu/index.d.ts +6 -2
- package/dist/types/src/components/GrDropdownMenu/menuModel.d.ts +42 -0
- package/dist/types/src/components/GrDropdownMenu/safelist.d.ts +7 -0
- package/dist/types/src/components/GrEmptyState/GrEmptyState.vue.d.ts +33 -10
- package/dist/types/src/components/GrEmptyState/config.d.ts +1 -1
- package/dist/types/src/components/GrEmptyState/defaults.d.ts +16 -0
- package/dist/types/src/components/GrEmptyState/grEmptyStateStyles.d.ts +32 -0
- package/dist/types/src/components/GrEmptyState/index.d.ts +4 -0
- package/dist/types/src/components/GrEmptyState/safelist.d.ts +1 -0
- package/dist/types/src/components/GrFileUpload/GrFileUpload.vue.d.ts +158 -148
- package/dist/types/src/components/GrFileUpload/config.d.ts +1 -1
- package/dist/types/src/components/GrFileUpload/defaults.d.ts +10 -0
- package/dist/types/src/components/GrFileUpload/fileEntry.d.ts +26 -0
- package/dist/types/src/components/GrFileUpload/grFileUploadStyles.d.ts +45 -0
- package/dist/types/src/components/GrFileUpload/index.d.ts +10 -1
- package/dist/types/src/components/GrFileUpload/maxFileSize.d.ts +2 -0
- package/dist/types/src/components/GrFileUpload/safelist.d.ts +1 -0
- package/dist/types/src/components/GrFileUpload/useDropZone.d.ts +24 -0
- package/dist/types/src/components/GrFileUpload/usePerFileUpload.d.ts +38 -0
- package/dist/types/src/components/GrFileUpload/useUploadState.d.ts +30 -0
- package/dist/types/src/components/GrForm/GrForm.vue.d.ts +129 -0
- package/dist/types/src/components/GrForm/config.d.ts +1 -0
- package/dist/types/src/components/GrForm/context.d.ts +46 -0
- package/dist/types/src/components/GrForm/fileRule.d.ts +43 -0
- package/dist/types/src/components/GrForm/index.d.ts +10 -0
- package/dist/types/src/components/GrForm/modelSnapshot.d.ts +17 -0
- package/dist/types/src/components/GrForm/validation.d.ts +67 -0
- package/dist/types/src/components/GrFormField/GrFormField.vue.d.ts +65 -9
- package/dist/types/src/components/GrFormField/config.d.ts +1 -1
- package/dist/types/src/components/GrFormField/context.d.ts +19 -0
- package/dist/types/src/components/GrFormField/defaults.d.ts +15 -0
- package/dist/types/src/components/GrFormField/grFormFieldStyles.d.ts +19 -0
- package/dist/types/src/components/GrFormField/index.d.ts +5 -1
- package/dist/types/src/components/GrFormField/safelist.d.ts +1 -0
- package/dist/types/src/components/GrFormFile/GrFormFile.vue.d.ts +73 -19
- package/dist/types/src/components/GrFormFile/config.d.ts +1 -1
- package/dist/types/src/components/GrFormFile/defaults.d.ts +10 -0
- package/dist/types/src/components/GrFormFile/grFormFileStyles.d.ts +22 -0
- package/dist/types/src/components/GrFormFile/index.d.ts +7 -0
- package/dist/types/src/components/GrFormFile/safelist.d.ts +1 -0
- package/dist/types/src/components/GrFormSection/GrFormSection.vue.d.ts +34 -7
- package/dist/types/src/components/GrFormSection/config.d.ts +1 -1
- package/dist/types/src/components/GrFormSection/defaults.d.ts +14 -0
- package/dist/types/src/components/GrFormSection/grFormSectionStyles.d.ts +12 -0
- package/dist/types/src/components/GrFormSection/index.d.ts +4 -0
- package/dist/types/src/components/GrFormSection/safelist.d.ts +1 -0
- package/dist/types/src/components/GrIcon/GrIcon.vue.d.ts +40 -4
- package/dist/types/src/components/GrIcon/config.d.ts +1 -1
- package/dist/types/src/components/GrIcon/defaults.d.ts +14 -0
- package/dist/types/src/components/GrIcon/grIconStyles.d.ts +25 -0
- package/dist/types/src/components/GrIcon/index.d.ts +4 -0
- package/dist/types/src/components/GrIcon/safelist.d.ts +1 -0
- package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +89 -18
- package/dist/types/src/components/GrImageViewer/composables/usePointerGestures.d.ts +36 -0
- package/dist/types/src/components/GrImageViewer/composables/useViewerKeyboard.d.ts +7 -4
- package/dist/types/src/components/GrImageViewer/composables/useWheelGesture.d.ts +3 -2
- package/dist/types/src/components/GrImageViewer/composables/useZoomPan.d.ts +17 -3
- package/dist/types/src/components/GrImageViewer/config.d.ts +1 -1
- package/dist/types/src/components/GrImageViewer/grImageViewerStyles.d.ts +21 -0
- package/dist/types/src/components/GrImageViewer/index.d.ts +7 -0
- package/dist/types/src/components/GrImageViewer/safelist.d.ts +1 -0
- package/dist/types/src/components/GrInput/GrInput.vue.d.ts +75 -30
- package/dist/types/src/components/GrInput/config.d.ts +1 -1
- package/dist/types/src/components/GrInput/defaults.d.ts +18 -0
- package/dist/types/src/components/GrInput/grInputStyles.d.ts +54 -8
- package/dist/types/src/components/GrInput/index.d.ts +6 -0
- package/dist/types/src/components/GrInputTag/GrInputTag.vue.d.ts +100 -17
- package/dist/types/src/components/GrInputTag/config.d.ts +1 -1
- package/dist/types/src/components/GrInputTag/defaults.d.ts +17 -0
- package/dist/types/src/components/GrInputTag/grInputTagStyles.d.ts +24 -1
- package/dist/types/src/components/GrInputTag/index.d.ts +5 -0
- package/dist/types/src/components/GrKbd/GrKbd.vue.d.ts +31 -10
- package/dist/types/src/components/GrKbd/config.d.ts +1 -1
- package/dist/types/src/components/GrKbd/defaults.d.ts +14 -0
- package/dist/types/src/components/GrKbd/grKbdStyles.d.ts +15 -0
- package/dist/types/src/components/GrKbd/index.d.ts +4 -1
- package/dist/types/src/components/GrKbd/safelist.d.ts +1 -0
- package/dist/types/src/components/GrLink/GrLink.vue.d.ts +26 -13
- package/dist/types/src/components/GrLink/config.d.ts +1 -1
- package/dist/types/src/components/GrLink/defaults.d.ts +14 -0
- package/dist/types/src/components/GrLink/grLinkStyles.d.ts +13 -15
- package/dist/types/src/components/GrLink/index.d.ts +2 -0
- package/dist/types/src/components/GrList/GrList.vue.d.ts +57 -32
- package/dist/types/src/components/GrList/GrListItem.vue.d.ts +42 -9
- package/dist/types/src/components/GrList/config.d.ts +1 -1
- package/dist/types/src/components/GrList/grListStyles.d.ts +25 -0
- package/dist/types/src/components/GrList/index.d.ts +5 -0
- package/dist/types/src/components/GrList/safelist.d.ts +1 -0
- package/dist/types/src/components/GrLoading/GrLoading.vue.d.ts +59 -19
- package/dist/types/src/components/GrLoading/config.d.ts +1 -1
- package/dist/types/src/components/GrLoading/grLoadingStyles.d.ts +10 -2
- package/dist/types/src/components/GrLoading/index.d.ts +1 -0
- package/dist/types/src/components/GrModal/GrModal.vue.d.ts +58 -12
- package/dist/types/src/components/GrModal/config.d.ts +1 -1
- package/dist/types/src/components/GrModal/context.d.ts +37 -0
- package/dist/types/src/components/GrModal/defaults.d.ts +14 -0
- package/dist/types/src/components/GrModal/grModalStyles.d.ts +25 -10
- package/dist/types/src/components/GrModal/index.d.ts +6 -3
- package/dist/types/src/components/GrNavbar/GrNavbar.vue.d.ts +28 -9
- package/dist/types/src/components/GrNavbar/config.d.ts +1 -1
- package/dist/types/src/components/GrNavbar/grNavbarStyles.d.ts +23 -0
- package/dist/types/src/components/GrNavbar/index.d.ts +2 -0
- package/dist/types/src/components/GrNavbar/safelist.d.ts +1 -0
- package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +70 -23
- package/dist/types/src/components/GrNumberInput/config.d.ts +1 -1
- package/dist/types/src/components/GrNumberInput/defaults.d.ts +15 -0
- package/dist/types/src/components/GrNumberInput/grNumberInputStyles.d.ts +20 -4
- package/dist/types/src/components/GrNumberInput/index.d.ts +5 -0
- package/dist/types/src/components/GrNumberInput/numberInputMath.d.ts +17 -0
- package/dist/types/src/components/GrPagination/GrPagination.vue.d.ts +65 -1
- package/dist/types/src/components/GrPagination/config.d.ts +1 -1
- package/dist/types/src/components/GrPagination/defaults.d.ts +10 -0
- package/dist/types/src/components/GrPagination/grPaginationStyles.d.ts +19 -0
- package/dist/types/src/components/GrPagination/index.d.ts +4 -0
- package/dist/types/src/components/GrPagination/safelist.d.ts +1 -0
- package/dist/types/src/components/GrPopover/GrPopover.vue.d.ts +161 -0
- package/dist/types/src/components/GrPopover/config.d.ts +1 -0
- package/dist/types/src/components/GrPopover/defaults.d.ts +15 -0
- package/dist/types/src/components/GrPopover/grPopoverStyles.d.ts +28 -0
- package/dist/types/src/components/GrPopover/index.d.ts +11 -0
- package/dist/types/src/components/GrPopover/safelist.d.ts +1 -0
- package/dist/types/src/components/GrProgressBar/GrProgressBar.vue.d.ts +37 -5
- package/dist/types/src/components/GrProgressBar/config.d.ts +1 -1
- package/dist/types/src/components/GrProgressBar/defaults.d.ts +11 -0
- package/dist/types/src/components/GrProgressBar/grStyle.d.ts +14 -0
- package/dist/types/src/components/GrProgressBar/index.d.ts +2 -1
- package/dist/types/src/components/GrProgressBar/safelist.d.ts +4 -0
- package/dist/types/src/components/GrProgressCircle/GrProgressCircle.vue.d.ts +103 -0
- package/dist/types/src/components/GrProgressCircle/config.d.ts +1 -0
- package/dist/types/src/components/GrProgressCircle/defaults.d.ts +18 -0
- package/dist/types/src/components/GrProgressCircle/geometry.d.ts +29 -0
- package/dist/types/src/components/GrProgressCircle/grProgressCircleStyles.d.ts +34 -0
- package/dist/types/src/components/GrProgressCircle/index.d.ts +11 -0
- package/dist/types/src/components/GrProgressCircle/safelist.d.ts +1 -0
- package/dist/types/src/components/GrPromptDialog/GrPromptDialog.vue.d.ts +81 -13
- package/dist/types/src/components/GrPromptDialog/config.d.ts +1 -1
- package/dist/types/src/components/GrPromptDialog/defaults.d.ts +14 -0
- package/dist/types/src/components/GrPromptDialog/index.d.ts +1 -0
- package/dist/types/src/components/GrRadio/GrRadio.vue.d.ts +30 -11
- package/dist/types/src/components/GrRadio/config.d.ts +1 -1
- package/dist/types/src/components/GrRadio/defaults.d.ts +14 -0
- package/dist/types/src/components/GrRadio/grRadioGroupContext.d.ts +37 -2
- package/dist/types/src/components/GrRadio/grRadioStyles.d.ts +52 -9
- package/dist/types/src/components/GrRadio/index.d.ts +2 -0
- package/dist/types/src/components/GrRadioGroup/GrRadioGroup.vue.d.ts +58 -14
- package/dist/types/src/components/GrRadioGroup/config.d.ts +1 -1
- package/dist/types/src/components/GrRadioGroup/defaults.d.ts +14 -0
- package/dist/types/src/components/GrRadioGroup/index.d.ts +5 -0
- package/dist/types/src/components/GrRating/GrRating.vue.d.ts +173 -0
- package/dist/types/src/components/GrRating/config.d.ts +1 -0
- package/dist/types/src/components/GrRating/defaults.d.ts +14 -0
- package/dist/types/src/components/GrRating/grRatingStyles.d.ts +24 -0
- package/dist/types/src/components/GrRating/index.d.ts +10 -0
- package/dist/types/src/components/GrRating/safelist.d.ts +1 -0
- package/dist/types/src/components/GrResponseErrorBanner/GrFormErrorBanner.vue.d.ts +8 -4
- package/dist/types/src/components/GrResponseErrorBanner/GrResponseErrorBanner.vue.d.ts +8 -4
- package/dist/types/src/components/GrResponseErrorBanner/GrUploadErrorBanner.vue.d.ts +12 -5
- package/dist/types/src/components/GrResponseErrorBanner/config.d.ts +1 -1
- package/dist/types/src/components/GrResponseErrorBanner/index.d.ts +6 -0
- package/dist/types/src/components/GrResponseErrorBanner/parsers/httpStatusParser.d.ts +3 -1
- package/dist/types/src/components/GrResponseErrorBanner/parsers/plainMessageParser.d.ts +4 -1
- package/dist/types/src/components/GrResponseErrorBanner/responseError.types.d.ts +12 -2
- package/dist/types/src/components/GrSegmented/GrSegmented.vue.d.ts +55 -16
- package/dist/types/src/components/GrSegmented/config.d.ts +1 -1
- package/dist/types/src/components/GrSegmented/defaults.d.ts +15 -0
- package/dist/types/src/components/GrSegmented/grSegmentedStyles.d.ts +31 -5
- package/dist/types/src/components/GrSegmented/index.d.ts +6 -1
- package/dist/types/src/components/GrSegmented/safelist.d.ts +3 -1
- package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +160 -96
- package/dist/types/src/components/GrSelect/composables/useSelectNavigation.d.ts +52 -0
- package/dist/types/src/components/GrSelect/composables/useSelectPanelItems.d.ts +67 -0
- package/dist/types/src/components/GrSelect/composables/useSelectValues.d.ts +37 -0
- package/dist/types/src/components/GrSelect/composables/useSelectVirtualization.d.ts +27 -0
- package/dist/types/src/components/GrSelect/config.d.ts +1 -1
- package/dist/types/src/components/GrSelect/defaults.d.ts +17 -0
- package/dist/types/src/components/GrSelect/grSelectStyles.d.ts +65 -10
- package/dist/types/src/components/GrSelect/index.d.ts +6 -1
- package/dist/types/src/components/GrSelect/selectValue.d.ts +20 -0
- package/dist/types/src/components/GrSidebar/GrSidebar.vue.d.ts +30 -5
- package/dist/types/src/components/GrSidebar/GrSidebarGroup.vue.d.ts +43 -0
- package/dist/types/src/components/GrSidebar/GrSidebarItem.vue.d.ts +6 -6
- package/dist/types/src/components/GrSidebar/config.d.ts +1 -1
- package/dist/types/src/components/GrSidebar/grSidebarStyles.d.ts +48 -0
- package/dist/types/src/components/GrSidebar/index.d.ts +6 -0
- package/dist/types/src/components/GrSidebar/safelist.d.ts +1 -0
- package/dist/types/src/components/GrSkeleton/GrSkeleton.vue.d.ts +23 -7
- package/dist/types/src/components/GrSkeleton/config.d.ts +1 -1
- package/dist/types/src/components/GrSkeleton/grSkeletonStyles.d.ts +9 -0
- package/dist/types/src/components/GrSkeleton/index.d.ts +1 -0
- package/dist/types/src/components/GrSlider/GrSlider.vue.d.ts +138 -0
- package/dist/types/src/components/GrSlider/config.d.ts +1 -0
- package/dist/types/src/components/GrSlider/defaults.d.ts +14 -0
- package/dist/types/src/components/GrSlider/grSliderStyles.d.ts +75 -0
- package/dist/types/src/components/GrSlider/index.d.ts +10 -0
- package/dist/types/src/components/GrSlider/safelist.d.ts +1 -0
- package/dist/types/src/components/GrSplitter/GrSplitter.vue.d.ts +121 -0
- package/dist/types/src/components/GrSplitter/config.d.ts +1 -0
- package/dist/types/src/components/GrSplitter/defaults.d.ts +16 -0
- package/dist/types/src/components/GrSplitter/grSplitterStyles.d.ts +9 -0
- package/dist/types/src/components/GrSplitter/index.d.ts +11 -0
- package/dist/types/src/components/GrSplitter/safelist.d.ts +1 -0
- package/dist/types/src/components/GrSplitter/splitterGeometry.d.ts +39 -0
- package/dist/types/src/components/GrStatistic/GrStatistic.vue.d.ts +165 -0
- package/dist/types/src/components/GrStatistic/config.d.ts +1 -0
- package/dist/types/src/components/GrStatistic/countUp.d.ts +17 -0
- package/dist/types/src/components/GrStatistic/defaults.d.ts +14 -0
- package/dist/types/src/components/GrStatistic/formatStatisticValue.d.ts +20 -0
- package/dist/types/src/components/GrStatistic/grStatisticStyles.d.ts +37 -0
- package/dist/types/src/components/GrStatistic/index.d.ts +7 -0
- package/dist/types/src/components/GrStatistic/safelist.d.ts +1 -0
- package/dist/types/src/components/GrSwitch/GrSwitch.vue.d.ts +72 -10
- package/dist/types/src/components/GrSwitch/config.d.ts +1 -1
- package/dist/types/src/components/GrSwitch/defaults.d.ts +14 -0
- package/dist/types/src/components/GrSwitch/grSwitchStyles.d.ts +46 -5
- package/dist/types/src/components/GrSwitch/index.d.ts +6 -1
- package/dist/types/src/components/GrSwitch/safelist.d.ts +4 -1
- package/dist/types/src/components/GrTabPanels/GrTabPanel.vue.d.ts +12 -9
- package/dist/types/src/components/GrTabPanels/GrTabPanels.vue.d.ts +4 -14
- package/dist/types/src/components/GrTabPanels/config.d.ts +1 -1
- package/dist/types/src/components/GrTabPanels/context.d.ts +1 -1
- package/dist/types/src/components/GrTabPanels/index.d.ts +2 -0
- package/dist/types/src/components/GrTable/GrTable.vue.d.ts +101 -15
- package/dist/types/src/components/GrTable/config.d.ts +1 -1
- package/dist/types/src/components/GrTable/defaults.d.ts +10 -0
- package/dist/types/src/components/GrTable/grTableStyles.d.ts +20 -0
- package/dist/types/src/components/GrTable/index.d.ts +7 -1
- package/dist/types/src/components/GrTable/safelist.d.ts +1 -0
- package/dist/types/src/components/GrTabs/GrTabs.vue.d.ts +92 -6
- package/dist/types/src/components/GrTabs/config.d.ts +1 -1
- package/dist/types/src/components/GrTabs/defaults.d.ts +12 -0
- package/dist/types/src/components/GrTabs/grTabsStyles.d.ts +71 -0
- package/dist/types/src/components/GrTabs/index.d.ts +5 -0
- package/dist/types/src/components/GrTabs/safelist.d.ts +1 -0
- package/dist/types/src/components/GrTextarea/GrTextarea.vue.d.ts +90 -25
- package/dist/types/src/components/GrTextarea/config.d.ts +1 -1
- package/dist/types/src/components/GrTextarea/defaults.d.ts +18 -0
- package/dist/types/src/components/GrTextarea/grTextareaStyles.d.ts +33 -1
- package/dist/types/src/components/GrTextarea/index.d.ts +6 -1
- package/dist/types/src/components/GrTimeline/GrTimeline.vue.d.ts +70 -0
- package/dist/types/src/components/GrTimeline/GrTimelineItem.vue.d.ts +84 -0
- package/dist/types/src/components/GrTimeline/config.d.ts +1 -0
- package/dist/types/src/components/GrTimeline/defaults.d.ts +19 -0
- package/dist/types/src/components/GrTimeline/grTimelineContext.d.ts +18 -0
- package/dist/types/src/components/GrTimeline/grTimelineStyles.d.ts +37 -0
- package/dist/types/src/components/GrTimeline/index.d.ts +12 -0
- package/dist/types/src/components/GrTimeline/safelist.d.ts +1 -0
- package/dist/types/src/components/GrTimeline/timelineGroups.d.ts +23 -0
- package/dist/types/src/components/GrToaster/GrToaster.vue.d.ts +44 -3
- package/dist/types/src/components/GrToaster/config.d.ts +1 -1
- package/dist/types/src/components/GrToaster/index.d.ts +4 -1
- package/dist/types/src/components/GrTooltip/GrTooltip.vue.d.ts +58 -7
- package/dist/types/src/components/GrTooltip/config.d.ts +1 -1
- package/dist/types/src/components/GrTooltip/defaults.d.ts +10 -0
- package/dist/types/src/components/GrTooltip/grTooltipStyles.d.ts +8 -0
- package/dist/types/src/components/GrTooltip/index.d.ts +5 -1
- package/dist/types/src/components/GrTooltip/safelist.d.ts +1 -0
- package/dist/types/src/components/GrTree/GrTree.vue.d.ts +20 -7
- package/dist/types/src/components/GrTree/config.d.ts +1 -1
- package/dist/types/src/components/GrTree/defaults.d.ts +10 -0
- package/dist/types/src/components/GrTree/grTreeChecking.d.ts +31 -0
- package/dist/types/src/components/GrTree/grTreeDataAdapter.d.ts +2 -0
- package/dist/types/src/components/GrTree/grTreeInteractionContext.d.ts +9 -0
- package/dist/types/src/components/GrTree/grTreeProps.d.ts +60 -11
- package/dist/types/src/components/GrTree/grTreeStore.d.ts +27 -1
- package/dist/types/src/components/GrTree/grTreeStyles.d.ts +22 -0
- package/dist/types/src/components/GrTree/grTreeTypes.d.ts +15 -0
- package/dist/types/src/components/GrTree/index.d.ts +5 -1
- package/dist/types/src/components/GrTreeSelect/GrTreeSelect.vue.d.ts +31 -10
- package/dist/types/src/components/GrTreeSelect/config.d.ts +1 -1
- package/dist/types/src/components/GrTreeSelect/defaults.d.ts +10 -0
- package/dist/types/src/components/GrTreeSelect/grTreeSelectStyles.d.ts +30 -2
- package/dist/types/src/components/GrTreeSelect/grTreeSelectTypes.d.ts +43 -0
- package/dist/types/src/components/GrTreeSelect/index.d.ts +5 -0
- package/dist/types/src/components/shared/hotkey.d.ts +46 -0
- package/dist/types/src/components/shared/instance.d.ts +15 -0
- package/dist/types/src/components/shared/optionFilter.d.ts +61 -0
- package/dist/types/src/components/shared/sizes.d.ts +30 -0
- package/dist/types/src/components/shared/slotNodes.d.ts +19 -0
- package/dist/types/src/composables/internal/focusables.d.ts +30 -0
- package/dist/types/src/composables/internal/inert.d.ts +35 -0
- package/dist/types/src/composables/internal/overlayStack.d.ts +60 -0
- package/dist/types/src/composables/internal/portalRoot.d.ts +27 -0
- package/dist/types/src/composables/internal/useAddonMeasurement.d.ts +1 -1
- package/dist/types/src/composables/internal/useComboboxNavigation.d.ts +51 -0
- package/dist/types/src/composables/internal/useControlAddons.d.ts +61 -0
- package/dist/types/src/composables/internal/useControlledOpen.d.ts +14 -0
- package/dist/types/src/composables/internal/useFilePreviews.d.ts +26 -0
- package/dist/types/src/composables/internal/useFocusWithin.d.ts +32 -0
- package/dist/types/src/composables/internal/useInertOthers.d.ts +9 -0
- package/dist/types/src/composables/internal/useModalOverlay.d.ts +95 -0
- package/dist/types/src/composables/internal/useOverlayPresence.d.ts +24 -0
- package/dist/types/src/composables/internal/useScrollLock.d.ts +10 -5
- package/dist/types/src/composables/internal/useTeleportEnabled.d.ts +35 -0
- package/dist/types/src/composables/useAnnouncer.d.ts +44 -0
- package/dist/types/src/composables/useDismissible.d.ts +32 -0
- package/dist/types/src/composables/useFocusTrap.d.ts +50 -0
- package/dist/types/src/composables/useGrFormControl.d.ts +52 -0
- package/dist/types/src/composables/useOverlayLayer.d.ts +67 -0
- package/dist/types/src/composables/usePortalTarget.d.ts +28 -0
- package/dist/types/src/composables/useTheme.d.ts +48 -2
- package/dist/types/src/composables/useToast.d.ts +44 -11
- package/dist/types/src/composables/useVirtualList.d.ts +119 -0
- package/dist/types/src/directives/loading.d.ts +7 -1
- package/dist/types/src/fileValidation/i18n.d.ts +24 -0
- package/dist/types/src/fileValidation/index.d.ts +4 -2
- package/dist/types/src/fileValidation/maxCountValidator.d.ts +9 -0
- package/dist/types/src/fileValidation/maxFileSize.d.ts +16 -0
- package/dist/types/src/fileValidation/types.d.ts +8 -2
- package/dist/types/src/granular-provider/index.d.ts +1 -1
- package/dist/types/src/granular-provider/node.d.ts +2 -3
- package/dist/types/src/granular-provider/shared.d.ts +20 -18
- package/dist/types/src/i18n/adapter.d.ts +24 -0
- package/dist/types/src/i18n/messages/en.d.ts +358 -0
- package/dist/types/src/i18n/messages/es.d.ts +362 -0
- package/dist/types/src/i18n/messages/ru.d.ts +366 -0
- package/dist/types/src/index.d.ts +33 -3
- package/dist/types/src/internal/granularityFormat.d.ts +19 -0
- package/dist/types/src/internal/granularityI18n.d.ts +6 -0
- package/dist/types/src/internal/keyboard.d.ts +46 -0
- package/dist/types/src/tokens/generated.d.ts +6 -0
- package/dist/types/src/tokens/index.d.ts +13 -0
- package/dist/types/src/tokens/types.d.ts +54 -0
- package/dist/vue/index.js.map +1 -1
- package/dist/web-types.json +7038 -1716
- package/package.json +118 -17
- package/tokens/derived.json +142 -0
- package/tokens/foundation.json +558 -0
- package/tokens/themes/dark.json +499 -0
- package/tokens/themes/light.json +499 -0
- package/dist/GrBadge.css +0 -1
- package/dist/GrButtonGroup.css +0 -1
- package/dist/GrFormFile.css +0 -1
- package/dist/GrIcon.css +0 -1
- package/dist/GrLoading.css +0 -1
- package/dist/GrToaster.css +0 -1
- package/dist/GrTree.css +0 -1
- package/dist/chunks/config-1uSYl98Y2.js +0 -23
- package/dist/chunks/config-1uSYl98Y2.js.map +0 -1
- package/dist/chunks/config-8Pcutu1j2.js.map +0 -1
- package/dist/chunks/config-B0qIpo8m.js +0 -5
- package/dist/chunks/config-B0qIpo8m.js.map +0 -1
- package/dist/chunks/config-B7IIWGt_2.js +0 -26
- package/dist/chunks/config-B7IIWGt_2.js.map +0 -1
- package/dist/chunks/config-BEegFP74.js +0 -5
- package/dist/chunks/config-BEegFP74.js.map +0 -1
- package/dist/chunks/config-BIRO0vDJ.js +0 -40
- package/dist/chunks/config-BIRO0vDJ.js.map +0 -1
- package/dist/chunks/config-BLHqZhy-2.js +0 -5
- package/dist/chunks/config-BLHqZhy-2.js.map +0 -1
- package/dist/chunks/config-BOlr7qw7.js +0 -106
- package/dist/chunks/config-BOlr7qw7.js.map +0 -1
- package/dist/chunks/config-BUHuGBik.js +0 -13
- package/dist/chunks/config-BUHuGBik.js.map +0 -1
- package/dist/chunks/config-BWGGp7uV.js +0 -8
- package/dist/chunks/config-BWGGp7uV.js.map +0 -1
- package/dist/chunks/config-BWiPnygb.js +0 -5
- package/dist/chunks/config-BWiPnygb.js.map +0 -1
- package/dist/chunks/config-BX1JTrkV2.js +0 -14
- package/dist/chunks/config-BX1JTrkV2.js.map +0 -1
- package/dist/chunks/config-BXtAmU3s2.js +0 -8
- package/dist/chunks/config-BXtAmU3s2.js.map +0 -1
- package/dist/chunks/config-Bah4oHwL.js +0 -8
- package/dist/chunks/config-Bah4oHwL.js.map +0 -1
- package/dist/chunks/config-C49QUoJL.js +0 -13
- package/dist/chunks/config-C49QUoJL.js.map +0 -1
- package/dist/chunks/config-C4snOIXg.js +0 -9
- package/dist/chunks/config-C4snOIXg.js.map +0 -1
- package/dist/chunks/config-C7NpDrfO.js +0 -44
- package/dist/chunks/config-C7NpDrfO.js.map +0 -1
- package/dist/chunks/config-C86UzUYf.js +0 -13
- package/dist/chunks/config-C86UzUYf.js.map +0 -1
- package/dist/chunks/config-C9AcVDkv.js +0 -5
- package/dist/chunks/config-C9AcVDkv.js.map +0 -1
- package/dist/chunks/config-CGHLoBlH.js +0 -5
- package/dist/chunks/config-CGHLoBlH.js.map +0 -1
- package/dist/chunks/config-CThzliFi.js +0 -5
- package/dist/chunks/config-CThzliFi.js.map +0 -1
- package/dist/chunks/config-Cb2PAlSD.js +0 -8
- package/dist/chunks/config-Cb2PAlSD.js.map +0 -1
- package/dist/chunks/config-ClhKPJvg.js +0 -53
- package/dist/chunks/config-ClhKPJvg.js.map +0 -1
- package/dist/chunks/config-Cpi9Mh2J.js +0 -17
- package/dist/chunks/config-Cpi9Mh2J.js.map +0 -1
- package/dist/chunks/config-CrG1XiE72.js +0 -58
- package/dist/chunks/config-CrG1XiE72.js.map +0 -1
- package/dist/chunks/config-CziwTDDL.js +0 -39
- package/dist/chunks/config-CziwTDDL.js.map +0 -1
- package/dist/chunks/config-D7GZO-Dx.js +0 -8
- package/dist/chunks/config-D7GZO-Dx.js.map +0 -1
- package/dist/chunks/config-DICOd-2X.js +0 -5
- package/dist/chunks/config-DICOd-2X.js.map +0 -1
- package/dist/chunks/config-DUcu1D682.js +0 -45
- package/dist/chunks/config-DUcu1D682.js.map +0 -1
- package/dist/chunks/config-D_R56_gT.js +0 -35
- package/dist/chunks/config-D_R56_gT.js.map +0 -1
- package/dist/chunks/config-DezDih8_.js +0 -78
- package/dist/chunks/config-DezDih8_.js.map +0 -1
- package/dist/chunks/config-Dlm49Jp5.js +0 -5
- package/dist/chunks/config-Dlm49Jp5.js.map +0 -1
- package/dist/chunks/config-DnvPqu4g2.js +0 -22
- package/dist/chunks/config-DnvPqu4g2.js.map +0 -1
- package/dist/chunks/config-DpqOnJiz.js.map +0 -1
- package/dist/chunks/config-Dxuwwepq.js +0 -5
- package/dist/chunks/config-Dxuwwepq.js.map +0 -1
- package/dist/chunks/config-HZto2PVy.js +0 -5
- package/dist/chunks/config-HZto2PVy.js.map +0 -1
- package/dist/chunks/config-JOtB4mzs.js +0 -8
- package/dist/chunks/config-JOtB4mzs.js.map +0 -1
- package/dist/chunks/config-JpHA4Xx02.js +0 -8
- package/dist/chunks/config-JpHA4Xx02.js.map +0 -1
- package/dist/chunks/config-PFg39mYo.js +0 -5
- package/dist/chunks/config-PFg39mYo.js.map +0 -1
- package/dist/chunks/config-QYGvEBu5.js +0 -22
- package/dist/chunks/config-QYGvEBu5.js.map +0 -1
- package/dist/chunks/config-U4m9PSql.js +0 -8
- package/dist/chunks/config-U4m9PSql.js.map +0 -1
- package/dist/chunks/config-ZiXWIRBX.js +0 -8
- package/dist/chunks/config-ZiXWIRBX.js.map +0 -1
- package/dist/chunks/config-eYLZYOUS2.js +0 -171
- package/dist/chunks/config-eYLZYOUS2.js.map +0 -1
- package/dist/chunks/config-ipvU0lzP2.js +0 -5
- package/dist/chunks/config-ipvU0lzP2.js.map +0 -1
- package/dist/chunks/config-jBp9wVv-.js +0 -20
- package/dist/chunks/config-jBp9wVv-.js.map +0 -1
- package/dist/chunks/config-xR4XVmcy.js +0 -8
- package/dist/chunks/config-xR4XVmcy.js.map +0 -1
- package/dist/chunks/en-CfkDa4GX.js +0 -144
- package/dist/chunks/en-CfkDa4GX.js.map +0 -1
- package/dist/chunks/es-CgaLnFYx.js +0 -20
- package/dist/chunks/es-CgaLnFYx.js.map +0 -1
- package/dist/chunks/es-FkgECuCm.js +0 -144
- package/dist/chunks/es-FkgECuCm.js.map +0 -1
- package/dist/chunks/fileValidation-C3WFaWU2.js +0 -220
- package/dist/chunks/fileValidation-C3WFaWU2.js.map +0 -1
- package/dist/chunks/grBadgeStyles-DrycBuKT.js +0 -50
- package/dist/chunks/grBadgeStyles-DrycBuKT.js.map +0 -1
- package/dist/chunks/grButtonStyles-C7Yga_Q1.js +0 -191
- package/dist/chunks/grButtonStyles-C7Yga_Q1.js.map +0 -1
- package/dist/chunks/grDropdownStyles-B_-DKytw.js +0 -35
- package/dist/chunks/grDropdownStyles-B_-DKytw.js.map +0 -1
- package/dist/chunks/grLoadingStyles-R5sreH__.js +0 -17
- package/dist/chunks/grLoadingStyles-R5sreH__.js.map +0 -1
- package/dist/chunks/grModalEscStack-BXk-9mv7.js +0 -43
- package/dist/chunks/grModalEscStack-BXk-9mv7.js.map +0 -1
- package/dist/chunks/grModalStyles-DWd3i05Q.js +0 -47
- package/dist/chunks/grModalStyles-DWd3i05Q.js.map +0 -1
- package/dist/chunks/grSelectStyles-CLK5hRd3.js +0 -97
- package/dist/chunks/grSelectStyles-CLK5hRd3.js.map +0 -1
- package/dist/chunks/grStyle-Blc9otAx.js +0 -19
- package/dist/chunks/grStyle-Blc9otAx.js.map +0 -1
- package/dist/chunks/granularityI18n-DoV7Ca2m.js +0 -61
- package/dist/chunks/granularityI18n-DoV7Ca2m.js.map +0 -1
- package/dist/chunks/ru-Bl8CxpEa.js +0 -144
- package/dist/chunks/ru-Bl8CxpEa.js.map +0 -1
- package/dist/chunks/safelist-Do2RtzLB.js +0 -24
- package/dist/chunks/safelist-Do2RtzLB.js.map +0 -1
- package/dist/chunks/shared-B6Ay2081.js +0 -174
- package/dist/chunks/shared-B6Ay2081.js.map +0 -1
- package/dist/chunks/useAddonMeasurement-DM0akF4C.js +0 -65
- package/dist/chunks/useAddonMeasurement-DM0akF4C.js.map +0 -1
- package/dist/chunks/useEscapeToClose-C2t_S1gh.js +0 -27
- package/dist/chunks/useEscapeToClose-C2t_S1gh.js.map +0 -1
- package/dist/chunks/useFloating-DtM6TyE4.js +0 -1249
- package/dist/chunks/useFloating-DtM6TyE4.js.map +0 -1
- package/dist/chunks/useScrollLock-K7kaP2Ud.js +0 -1757
- package/dist/chunks/useScrollLock-K7kaP2Ud.js.map +0 -1
- package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js +0 -163
- package/dist/components/GrAlert/chunks/GrAlert-DPJSU_fG.js.map +0 -1
- package/dist/components/GrAvatar/chunks/GrAvatar-96CpTCq5.js +0 -41
- package/dist/components/GrAvatar/chunks/GrAvatar-96CpTCq5.js.map +0 -1
- package/dist/components/GrBadge/chunks/GrBadge-B77XlaqE.js +0 -36
- package/dist/components/GrBadge/chunks/GrBadge-B77XlaqE.js.map +0 -1
- package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-CcktMOdg.js +0 -33
- package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-CcktMOdg.js.map +0 -1
- package/dist/components/GrBottomNav/chunks/GrBottomNav-usuMgG8_.js +0 -31
- package/dist/components/GrBottomNav/chunks/GrBottomNav-usuMgG8_.js.map +0 -1
- package/dist/components/GrButton/chunks/GrButton-BlffdeJr.js +0 -124
- package/dist/components/GrButton/chunks/GrButton-BlffdeJr.js.map +0 -1
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-Bs9dEKfA.js +0 -21
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-Bs9dEKfA.js.map +0 -1
- package/dist/components/GrCard/chunks/GrCard-DUNMkuHW.js +0 -11
- package/dist/components/GrCard/chunks/GrCard-DUNMkuHW.js.map +0 -1
- package/dist/components/GrCheckbox/chunks/GrCheckbox-DJhzZZdO.js +0 -182
- package/dist/components/GrCheckbox/chunks/GrCheckbox-DJhzZZdO.js.map +0 -1
- package/dist/components/GrCollapse/chunks/GrCollapse-CPPLh_xU.js +0 -205
- package/dist/components/GrCollapse/chunks/GrCollapse-CPPLh_xU.js.map +0 -1
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-D8CkOtqv.js +0 -160
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-D8CkOtqv.js.map +0 -1
- package/dist/components/GrDataTable/chunks/GrDataTable-Ds5OeGat.js +0 -205
- package/dist/components/GrDataTable/chunks/GrDataTable-Ds5OeGat.js.map +0 -1
- package/dist/components/GrDialog/chunks/GrDialog-Ctucxju9.js +0 -223
- package/dist/components/GrDialog/chunks/GrDialog-Ctucxju9.js.map +0 -1
- package/dist/components/GrDialogService/chunks/GrDialogService-CU1Fbonc.js +0 -425
- package/dist/components/GrDialogService/chunks/GrDialogService-CU1Fbonc.js.map +0 -1
- package/dist/components/GrDivider/chunks/GrDivider-5bcE-BB4.js +0 -54
- package/dist/components/GrDivider/chunks/GrDivider-5bcE-BB4.js.map +0 -1
- package/dist/components/GrDrawer/chunks/GrDrawer-SLGKCY2A.js +0 -184
- package/dist/components/GrDrawer/chunks/GrDrawer-SLGKCY2A.js.map +0 -1
- package/dist/components/GrDropdown/chunks/GrDropdown-BnDMYP8v.js +0 -181
- package/dist/components/GrDropdown/chunks/GrDropdown-BnDMYP8v.js.map +0 -1
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu--g9Vofcq.js +0 -309
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu--g9Vofcq.js.map +0 -1
- package/dist/components/GrEmptyState/chunks/GrEmptyState-CA3BiTV7.js +0 -62
- package/dist/components/GrEmptyState/chunks/GrEmptyState-CA3BiTV7.js.map +0 -1
- package/dist/components/GrFileUpload/chunks/GrFileUpload-DvWPpiJS.js +0 -592
- package/dist/components/GrFileUpload/chunks/GrFileUpload-DvWPpiJS.js.map +0 -1
- package/dist/components/GrFormField/chunks/GrFormField-DnfMHx_U.js +0 -73
- package/dist/components/GrFormField/chunks/GrFormField-DnfMHx_U.js.map +0 -1
- package/dist/components/GrFormFile/chunks/GrFormFile-CXcqqdvV.js +0 -320
- package/dist/components/GrFormFile/chunks/GrFormFile-CXcqqdvV.js.map +0 -1
- package/dist/components/GrFormSection/chunks/GrFormSection-Ce21jcgo.js +0 -35
- package/dist/components/GrFormSection/chunks/GrFormSection-Ce21jcgo.js.map +0 -1
- package/dist/components/GrIcon/chunks/GrIcon-D9AWQLk2.js +0 -32
- package/dist/components/GrIcon/chunks/GrIcon-D9AWQLk2.js.map +0 -1
- package/dist/components/GrImageViewer/chunks/GrImageViewer-Dla9IBkd.js +0 -650
- package/dist/components/GrImageViewer/chunks/GrImageViewer-Dla9IBkd.js.map +0 -1
- package/dist/components/GrInput/chunks/GrInput-B8dd3JaA.js +0 -334
- package/dist/components/GrInput/chunks/GrInput-B8dd3JaA.js.map +0 -1
- package/dist/components/GrInputTag/chunks/GrInputTag-zMgFqp2g.js +0 -260
- package/dist/components/GrInputTag/chunks/GrInputTag-zMgFqp2g.js.map +0 -1
- package/dist/components/GrKbd/chunks/GrKbd-BEoYxWhE.js +0 -22
- package/dist/components/GrKbd/chunks/GrKbd-BEoYxWhE.js.map +0 -1
- package/dist/components/GrLink/chunks/GrLink-CYUe-Q8k.js +0 -100
- package/dist/components/GrLink/chunks/GrLink-CYUe-Q8k.js.map +0 -1
- package/dist/components/GrList/chunks/GrList-Dx772Ns4.js +0 -77
- package/dist/components/GrList/chunks/GrList-Dx772Ns4.js.map +0 -1
- package/dist/components/GrLoading/chunks/GrLoading--X_7rdbb.js +0 -69
- package/dist/components/GrLoading/chunks/GrLoading--X_7rdbb.js.map +0 -1
- package/dist/components/GrModal/chunks/GrModal-C0GZrHN3.js +0 -233
- package/dist/components/GrModal/chunks/GrModal-C0GZrHN3.js.map +0 -1
- package/dist/components/GrNavbar/chunks/GrNavbar-DW3MiIIf.js +0 -75
- package/dist/components/GrNavbar/chunks/GrNavbar-DW3MiIIf.js.map +0 -1
- package/dist/components/GrNumberInput/chunks/GrNumberInput-DxCEvL7V.js +0 -469
- package/dist/components/GrNumberInput/chunks/GrNumberInput-DxCEvL7V.js.map +0 -1
- package/dist/components/GrPagination/chunks/GrPagination-mlyfLjQY.js +0 -165
- package/dist/components/GrPagination/chunks/GrPagination-mlyfLjQY.js.map +0 -1
- package/dist/components/GrProgressBar/chunks/GrProgressBar-CC3z-Zqp.js +0 -39
- package/dist/components/GrProgressBar/chunks/GrProgressBar-CC3z-Zqp.js.map +0 -1
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-C-_BMNuY.js +0 -224
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-C-_BMNuY.js.map +0 -1
- package/dist/components/GrRadio/chunks/GrRadio-Dr-pvs_9.js +0 -184
- package/dist/components/GrRadio/chunks/GrRadio-Dr-pvs_9.js.map +0 -1
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-nOdvfV_g.js +0 -80
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-nOdvfV_g.js.map +0 -1
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-BWJNe2gr.js +0 -224
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-BWJNe2gr.js.map +0 -1
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-Cdu9ekK9.js +0 -782
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-Cdu9ekK9.js.map +0 -1
- package/dist/components/GrSegmented/chunks/GrSegmented-C1y0UXpQ.js +0 -323
- package/dist/components/GrSegmented/chunks/GrSegmented-C1y0UXpQ.js.map +0 -1
- package/dist/components/GrSelect/chunks/GrSelect-BVCmitqa.js +0 -644
- package/dist/components/GrSelect/chunks/GrSelect-BVCmitqa.js.map +0 -1
- package/dist/components/GrSidebar/chunks/GrSidebar-DkWozzwA.js +0 -238
- package/dist/components/GrSidebar/chunks/GrSidebar-DkWozzwA.js.map +0 -1
- package/dist/components/GrSkeleton/chunks/GrSkeleton-DsN-_CDZ.js +0 -33
- package/dist/components/GrSkeleton/chunks/GrSkeleton-DsN-_CDZ.js.map +0 -1
- package/dist/components/GrSwitch/chunks/GrSwitch-DAioyccZ.js +0 -79
- package/dist/components/GrSwitch/chunks/GrSwitch-DAioyccZ.js.map +0 -1
- package/dist/components/GrTabPanels/chunks/GrTabPanels-DbKybwe-.js +0 -68
- package/dist/components/GrTabPanels/chunks/GrTabPanels-DbKybwe-.js.map +0 -1
- package/dist/components/GrTable/chunks/GrTable-Db3hRnKA.js +0 -57
- package/dist/components/GrTable/chunks/GrTable-Db3hRnKA.js.map +0 -1
- package/dist/components/GrTabs/chunks/GrTabs-DsLwWoRz.js +0 -123
- package/dist/components/GrTabs/chunks/GrTabs-DsLwWoRz.js.map +0 -1
- package/dist/components/GrTextarea/chunks/GrTextarea-CKukGlNl.js +0 -81
- package/dist/components/GrTextarea/chunks/GrTextarea-CKukGlNl.js.map +0 -1
- package/dist/components/GrToaster/chunks/GrToaster-L2cu6cSR.js +0 -189
- package/dist/components/GrToaster/chunks/GrToaster-L2cu6cSR.js.map +0 -1
- package/dist/components/GrTooltip/chunks/GrTooltip-BeyZ8ssR.js +0 -109
- package/dist/components/GrTooltip/chunks/GrTooltip-BeyZ8ssR.js.map +0 -1
- package/dist/components/GrTree/chunks/GrTree-B2_yW6g1.js +0 -838
- package/dist/components/GrTree/chunks/GrTree-B2_yW6g1.js.map +0 -1
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-0aM62xyu.js +0 -426
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-0aM62xyu.js.map +0 -1
- package/dist/granular-provider-node.js.map +0 -1
- package/dist/granular-provider.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/types/src/components/GrButton/config.node.d.ts +0 -1
- package/dist/types/src/components/GrFileUpload/maxSizeMbValidator.d.ts +0 -1
- package/dist/types/src/components/GrModal/grModalEscStack.d.ts +0 -30
- package/dist/types/src/components/GrModal/grModalTopStack.d.ts +0 -31
- package/dist/types/src/components/GrProgressBar/config.node.d.ts +0 -1
- package/dist/types/src/composables/internal/useEscapeToClose.d.ts +0 -11
- package/dist/types/src/fileValidation/maxFileSizeBytesValidator.d.ts +0 -2
- package/dist/types/src/fileValidation/maxSizeMbValidator.d.ts +0 -2
- /package/dist/chunks/{config-8Pcutu1j2.js → config-8Pcutu1j.js} +0 -0
- /package/dist/chunks/{config-DpqOnJiz.js → config-DpqOnJiz2.js} +0 -0
- /package/dist/{GrSkeleton.css → components/GrSkeleton/styles.css} +0 -0
- /package/dist/types/src/composables/{internal/useFloating.d.ts → useFloating.d.ts} +0 -0
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { a as useGrComponentProp } from "../../../chunks/context-BSYR7RZs.js";
|
|
2
|
+
import { n as useGranularityTranslations } from "../../../chunks/granularityI18n-BC5zsj_d.js";
|
|
3
|
+
import { t as useModalOverlay } from "../../../chunks/useModalOverlay-DCM4d3yA.js";
|
|
4
|
+
import { a as overlayTransition, d as panelSectionClass, f as panelTransition, i as overlay, m as root, n as getGrModalShellClass, r as layoutByScroll, s as panelBodyScrollClass, t as getGrModalPanelClass } from "../../../chunks/grModalStyles-EZfuEiw_.js";
|
|
5
|
+
import { Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, inject, mergeProps, normalizeClass, onScopeDispose, openBlock, provide, ref, renderSlot, toHandlers, unref, useId, useSlots, watch, withCtx } from "vue";
|
|
6
|
+
//#region src/components/GrModal/context.ts
|
|
7
|
+
var GR_MODAL_CONTEXT_KEY = Symbol("GrModalContext");
|
|
8
|
+
function provideGrModalContext(context) {
|
|
9
|
+
provide(GR_MODAL_CONTEXT_KEY, context);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Контекст окна для его частей.
|
|
13
|
+
*
|
|
14
|
+
* Именно контекст, а не проп: заголовок рисует `GrDialogHeader` — внук
|
|
15
|
+
* `GrModal` через слот, — а `aria-labelledby` стоит на корне окна.
|
|
16
|
+
*
|
|
17
|
+
* **Id принадлежит окну, а не заголовку.** Заголовок только сообщает, что
|
|
18
|
+
* отрисовался. Обратный порядок (id рождается у потомка и уезжает наверх)
|
|
19
|
+
* означает мутацию состояния окна во время его собственного патча: Vue уходит
|
|
20
|
+
* в рекурсивный ре-рендер и монтирует заголовок заново, пока не упрётся в
|
|
21
|
+
* лимит. Стабильный id этого класса ошибок не допускает по построению.
|
|
22
|
+
*
|
|
23
|
+
* `null` вне окна — законное состояние: `GrDialogHeader` используют и отдельно.
|
|
24
|
+
*/
|
|
25
|
+
function useGrModalContext() {
|
|
26
|
+
return inject(GR_MODAL_CONTEXT_KEY, null);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Объявляет элемент заголовком окна, пока `active` истинно.
|
|
30
|
+
*
|
|
31
|
+
* Возвращает id для элемента — или `undefined` вне окна: тогда заголовок просто
|
|
32
|
+
* рисуется без связи.
|
|
33
|
+
*/
|
|
34
|
+
function useGrModalTitle(active) {
|
|
35
|
+
const context = useGrModalContext();
|
|
36
|
+
if (!context) return { titleId: void 0 };
|
|
37
|
+
let release;
|
|
38
|
+
watch(active, (isActive) => {
|
|
39
|
+
release?.();
|
|
40
|
+
release = isActive ? context.claimTitle() : void 0;
|
|
41
|
+
}, {
|
|
42
|
+
immediate: true,
|
|
43
|
+
flush: "post"
|
|
44
|
+
});
|
|
45
|
+
onScopeDispose(() => release?.());
|
|
46
|
+
return { titleId: context.titleId };
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/components/GrModal/GrModal.vue?vue&type=script&setup=true&lang.ts
|
|
50
|
+
var _hoisted_1 = [
|
|
51
|
+
"inert",
|
|
52
|
+
"aria-labelledby",
|
|
53
|
+
"aria-describedby",
|
|
54
|
+
"aria-label"
|
|
55
|
+
];
|
|
56
|
+
var _hoisted_2 = ["id"];
|
|
57
|
+
var _hoisted_3 = ["id"];
|
|
58
|
+
//#endregion
|
|
59
|
+
//#region src/components/GrModal/GrModal.vue
|
|
60
|
+
var GrModal_default = /* @__PURE__ */ defineComponent({
|
|
61
|
+
__name: "GrModal",
|
|
62
|
+
props: {
|
|
63
|
+
modelValue: { type: Boolean },
|
|
64
|
+
closeOnBackdrop: {
|
|
65
|
+
type: Boolean,
|
|
66
|
+
default: true
|
|
67
|
+
},
|
|
68
|
+
closeOnEsc: {
|
|
69
|
+
type: Boolean,
|
|
70
|
+
default: true
|
|
71
|
+
},
|
|
72
|
+
size: { default: void 0 },
|
|
73
|
+
scrollBehavior: { default: "outside" },
|
|
74
|
+
ariaLabel: { default: void 0 },
|
|
75
|
+
initialFocus: { default: null }
|
|
76
|
+
},
|
|
77
|
+
emits: [
|
|
78
|
+
"update:modelValue",
|
|
79
|
+
"opened",
|
|
80
|
+
"closed"
|
|
81
|
+
],
|
|
82
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
83
|
+
/**
|
|
84
|
+
* GrModal — GR-примитив модального окна.
|
|
85
|
+
*
|
|
86
|
+
* Публичный API:
|
|
87
|
+
* - `modelValue` (v-model) — открыто/закрыто;
|
|
88
|
+
* - `size` — размер панели (`sm | md | lg | xl | full`);
|
|
89
|
+
* - `scrollBehavior` — кто скроллится при длинном содержимом;
|
|
90
|
+
* - `closeOnBackdrop` (default: true) — закрывать при клике по оверлею;
|
|
91
|
+
* - `closeOnEsc` (default: true) — закрывать по Esc;
|
|
92
|
+
* - слоты `#title` / `#description` — получают id и связываются с окном через
|
|
93
|
+
* `aria-labelledby` / `aria-describedby`;
|
|
94
|
+
* - слоты `#header` / `#footer` — пустые layout-области вне скроллящегося тела:
|
|
95
|
+
* при `inside` они остаются на месте. Своей разметки примитив в них не
|
|
96
|
+
* добавляет — шапку и подвал рисует `GrDialog`.
|
|
97
|
+
*
|
|
98
|
+
* A11y: **имя у модального слоя обязательно**. Имя берётся из `#title` (или из
|
|
99
|
+
* заголовка `GrDialog`, который заявляет себя тем же контекстом), иначе из
|
|
100
|
+
* пропа `ariaLabel`, иначе — из i18n, чтобы безымянного окна не получилось ни
|
|
101
|
+
* при каком употреблении (axe: `aria-dialog-name`).
|
|
102
|
+
*
|
|
103
|
+
* Механика слоя — `useModalOverlay`: стек (Esc верхнему, `inert` нижним окнам,
|
|
104
|
+
* возврат фокуса), ловушка фокуса, блокировка скролла, портал и присутствие в
|
|
105
|
+
* DOM до конца leave-анимации. Инварианты этой сборки описаны там же.
|
|
106
|
+
*/
|
|
107
|
+
const props = __props;
|
|
108
|
+
const emit = __emit;
|
|
109
|
+
const slots = useSlots();
|
|
110
|
+
const resolvedSize = useGrComponentProp("GrModal", "size", () => props.size, "md");
|
|
111
|
+
const panelClass = computed(() => getGrModalPanelClass(resolvedSize.value, props.scrollBehavior));
|
|
112
|
+
const shellClass = computed(() => getGrModalShellClass(resolvedSize.value, props.scrollBehavior));
|
|
113
|
+
const layoutClass = computed(() => layoutByScroll[props.scrollBehavior]);
|
|
114
|
+
const isBodyScrollable = computed(() => props.scrollBehavior === "inside");
|
|
115
|
+
const panelRef = ref(null);
|
|
116
|
+
const { t } = useGranularityTranslations();
|
|
117
|
+
const titleId = useId();
|
|
118
|
+
const descriptionId = useId();
|
|
119
|
+
const hasTitle = ref(false);
|
|
120
|
+
const hasDescription = ref(false);
|
|
121
|
+
let titleClaims = 0;
|
|
122
|
+
let descriptionClaims = 0;
|
|
123
|
+
function claim(add, remove) {
|
|
124
|
+
add();
|
|
125
|
+
let released = false;
|
|
126
|
+
return () => {
|
|
127
|
+
if (released) return;
|
|
128
|
+
released = true;
|
|
129
|
+
remove();
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
function claimTitle() {
|
|
133
|
+
return claim(() => {
|
|
134
|
+
titleClaims += 1;
|
|
135
|
+
hasTitle.value = true;
|
|
136
|
+
}, () => {
|
|
137
|
+
titleClaims -= 1;
|
|
138
|
+
hasTitle.value = titleClaims > 0;
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
function claimDescription() {
|
|
142
|
+
return claim(() => {
|
|
143
|
+
descriptionClaims += 1;
|
|
144
|
+
hasDescription.value = true;
|
|
145
|
+
}, () => {
|
|
146
|
+
descriptionClaims -= 1;
|
|
147
|
+
hasDescription.value = descriptionClaims > 0;
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
provideGrModalContext({
|
|
151
|
+
titleId,
|
|
152
|
+
descriptionId,
|
|
153
|
+
claimTitle,
|
|
154
|
+
claimDescription
|
|
155
|
+
});
|
|
156
|
+
let releaseOwnTitle;
|
|
157
|
+
let releaseOwnDescription;
|
|
158
|
+
watch(() => Boolean(slots.title), (has) => {
|
|
159
|
+
releaseOwnTitle?.();
|
|
160
|
+
releaseOwnTitle = has ? claimTitle() : void 0;
|
|
161
|
+
}, { immediate: true });
|
|
162
|
+
watch(() => Boolean(slots.description), (has) => {
|
|
163
|
+
releaseOwnDescription?.();
|
|
164
|
+
releaseOwnDescription = has ? claimDescription() : void 0;
|
|
165
|
+
}, { immediate: true });
|
|
166
|
+
const labelledBy = computed(() => hasTitle.value ? titleId : void 0);
|
|
167
|
+
const describedBy = computed(() => hasDescription.value ? descriptionId : void 0);
|
|
168
|
+
const ariaLabelAttr = computed(() => {
|
|
169
|
+
if (labelledBy.value) return void 0;
|
|
170
|
+
return props.ariaLabel || t("gr.modal.title", "Dialog");
|
|
171
|
+
});
|
|
172
|
+
let missingNameWarned = false;
|
|
173
|
+
function warnMissingAccessibleName() {
|
|
174
|
+
if (missingNameWarned) return;
|
|
175
|
+
if (process.env.NODE_ENV === "production") return;
|
|
176
|
+
if (slots.title || props.ariaLabel) return;
|
|
177
|
+
missingNameWarned = true;
|
|
178
|
+
console.warn("[GrModal] Окно без доступного имени: передайте слот #title или проп ariaLabel. Пока используется обобщённое имя из локали.");
|
|
179
|
+
}
|
|
180
|
+
function warnDuplicateTitle() {
|
|
181
|
+
if (process.env.NODE_ENV === "production") return;
|
|
182
|
+
if (titleClaims <= 1) return;
|
|
183
|
+
console.warn("[GrModal] На окно заявлено несколько заголовков — имя берётся от первого. Оставьте один: слот #title у GrModal либо заголовок GrDialog.");
|
|
184
|
+
}
|
|
185
|
+
function open() {
|
|
186
|
+
emit("update:modelValue", true);
|
|
187
|
+
}
|
|
188
|
+
function close() {
|
|
189
|
+
emit("update:modelValue", false);
|
|
190
|
+
}
|
|
191
|
+
function toggle() {
|
|
192
|
+
emit("update:modelValue", !props.modelValue);
|
|
193
|
+
}
|
|
194
|
+
const { rootEl, isMounted, isVisible, inertAttr, portalTarget, teleportEnabled, themeAttrs, onPanelAfterLeave: releasePresence, backdrop } = useModalOverlay(computed(() => props.modelValue), close, {
|
|
195
|
+
panel: panelRef,
|
|
196
|
+
closeOnEscape: () => props.closeOnEsc,
|
|
197
|
+
closeOnBackdrop: () => props.closeOnBackdrop,
|
|
198
|
+
initialFocus: () => props.initialFocus ?? panelRef.value
|
|
199
|
+
});
|
|
200
|
+
function onPanelAfterLeave() {
|
|
201
|
+
releasePresence();
|
|
202
|
+
emit("closed");
|
|
203
|
+
}
|
|
204
|
+
watch(() => props.modelValue, (value) => {
|
|
205
|
+
if (!value) return;
|
|
206
|
+
warnMissingAccessibleName();
|
|
207
|
+
warnDuplicateTitle();
|
|
208
|
+
}, { immediate: true });
|
|
209
|
+
__expose({
|
|
210
|
+
open,
|
|
211
|
+
close,
|
|
212
|
+
toggle
|
|
213
|
+
});
|
|
214
|
+
return (_ctx, _cache) => {
|
|
215
|
+
return openBlock(), createBlock(Teleport, {
|
|
216
|
+
to: unref(portalTarget),
|
|
217
|
+
disabled: !unref(teleportEnabled)
|
|
218
|
+
}, [unref(teleportEnabled) && unref(isMounted) ? (openBlock(), createElementBlock("div", mergeProps({
|
|
219
|
+
key: 0,
|
|
220
|
+
ref_key: "rootEl",
|
|
221
|
+
ref: rootEl,
|
|
222
|
+
"data-gr-overlay-root": ""
|
|
223
|
+
}, unref(themeAttrs), {
|
|
224
|
+
role: "dialog",
|
|
225
|
+
"aria-modal": "true",
|
|
226
|
+
class: unref(root),
|
|
227
|
+
inert: unref(inertAttr),
|
|
228
|
+
"aria-labelledby": labelledBy.value,
|
|
229
|
+
"aria-describedby": describedBy.value,
|
|
230
|
+
"aria-label": ariaLabelAttr.value
|
|
231
|
+
}), [createElementVNode("div", { class: normalizeClass(shellClass.value) }, [createElementVNode("div", { class: normalizeClass(layoutClass.value) }, [createVNode(Transition, {
|
|
232
|
+
appear: "",
|
|
233
|
+
"enter-active-class": unref(overlayTransition).enter,
|
|
234
|
+
"enter-from-class": unref(overlayTransition).enterFrom,
|
|
235
|
+
"enter-to-class": unref(overlayTransition).enterTo,
|
|
236
|
+
"leave-active-class": unref(overlayTransition).leave,
|
|
237
|
+
"leave-from-class": unref(overlayTransition).leaveFrom,
|
|
238
|
+
"leave-to-class": unref(overlayTransition).leaveTo
|
|
239
|
+
}, {
|
|
240
|
+
default: withCtx(() => [unref(isVisible) ? (openBlock(), createElementBlock("div", mergeProps({
|
|
241
|
+
key: 0,
|
|
242
|
+
"data-gr-modal-overlay": "",
|
|
243
|
+
class: unref(overlay),
|
|
244
|
+
"aria-hidden": "true"
|
|
245
|
+
}, toHandlers(unref(backdrop), true)), null, 16)) : createCommentVNode("", true)]),
|
|
246
|
+
_: 1
|
|
247
|
+
}, 8, [
|
|
248
|
+
"enter-active-class",
|
|
249
|
+
"enter-from-class",
|
|
250
|
+
"enter-to-class",
|
|
251
|
+
"leave-active-class",
|
|
252
|
+
"leave-from-class",
|
|
253
|
+
"leave-to-class"
|
|
254
|
+
]), createVNode(Transition, {
|
|
255
|
+
appear: "",
|
|
256
|
+
"enter-active-class": unref(panelTransition).enter,
|
|
257
|
+
"enter-from-class": unref(panelTransition).enterFrom,
|
|
258
|
+
"enter-to-class": unref(panelTransition).enterTo,
|
|
259
|
+
"leave-active-class": unref(panelTransition).leave,
|
|
260
|
+
"leave-from-class": unref(panelTransition).leaveFrom,
|
|
261
|
+
"leave-to-class": unref(panelTransition).leaveTo,
|
|
262
|
+
onAfterEnter: _cache[0] || (_cache[0] = ($event) => emit("opened")),
|
|
263
|
+
onAfterLeave: onPanelAfterLeave
|
|
264
|
+
}, {
|
|
265
|
+
default: withCtx(() => [unref(isVisible) ? (openBlock(), createElementBlock("div", {
|
|
266
|
+
key: 0,
|
|
267
|
+
ref_key: "panelRef",
|
|
268
|
+
ref: panelRef,
|
|
269
|
+
"data-gr-modal-panel": "",
|
|
270
|
+
tabindex: "-1",
|
|
271
|
+
class: normalizeClass(panelClass.value)
|
|
272
|
+
}, [
|
|
273
|
+
_ctx.$slots.title ? (openBlock(), createElementBlock("div", {
|
|
274
|
+
key: 0,
|
|
275
|
+
id: unref(titleId),
|
|
276
|
+
"data-gr-modal-title": ""
|
|
277
|
+
}, [renderSlot(_ctx.$slots, "title")], 8, _hoisted_2)) : createCommentVNode("", true),
|
|
278
|
+
_ctx.$slots.description ? (openBlock(), createElementBlock("div", {
|
|
279
|
+
key: 1,
|
|
280
|
+
id: unref(descriptionId),
|
|
281
|
+
"data-gr-modal-description": ""
|
|
282
|
+
}, [renderSlot(_ctx.$slots, "description")], 8, _hoisted_3)) : createCommentVNode("", true),
|
|
283
|
+
_ctx.$slots.header ? (openBlock(), createElementBlock("div", {
|
|
284
|
+
key: 2,
|
|
285
|
+
"data-gr-modal-header": "",
|
|
286
|
+
class: normalizeClass(unref(panelSectionClass))
|
|
287
|
+
}, [renderSlot(_ctx.$slots, "header")], 2)) : createCommentVNode("", true),
|
|
288
|
+
isBodyScrollable.value ? (openBlock(), createElementBlock("div", {
|
|
289
|
+
key: 3,
|
|
290
|
+
"data-gr-modal-body": "",
|
|
291
|
+
tabindex: "0",
|
|
292
|
+
class: normalizeClass(unref(panelBodyScrollClass))
|
|
293
|
+
}, [renderSlot(_ctx.$slots, "default")], 2)) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 4),
|
|
294
|
+
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
|
|
295
|
+
key: 5,
|
|
296
|
+
"data-gr-modal-footer": "",
|
|
297
|
+
class: normalizeClass(unref(panelSectionClass))
|
|
298
|
+
}, [renderSlot(_ctx.$slots, "footer")], 2)) : createCommentVNode("", true)
|
|
299
|
+
], 2)) : createCommentVNode("", true)]),
|
|
300
|
+
_: 3
|
|
301
|
+
}, 8, [
|
|
302
|
+
"enter-active-class",
|
|
303
|
+
"enter-from-class",
|
|
304
|
+
"enter-to-class",
|
|
305
|
+
"leave-active-class",
|
|
306
|
+
"leave-from-class",
|
|
307
|
+
"leave-to-class"
|
|
308
|
+
])], 2)], 2)], 16, _hoisted_1)) : createCommentVNode("", true)], 8, ["to", "disabled"]);
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
//#endregion
|
|
313
|
+
export { useGrModalTitle as n, GrModal_default as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrModal-B8I78T0N.js","names":["$slots"],"sources":["../../../../src/components/GrModal/context.ts","../../../../src/components/GrModal/GrModal.vue","../../../../src/components/GrModal/GrModal.vue"],"sourcesContent":["import type { InjectionKey } from 'vue'\nimport { inject, onScopeDispose, provide, watch } from 'vue'\n\nexport interface GrModalContext {\n /** Id, который обязан оказаться на элементе заголовка окна. */\n titleId: string\n /** Id, который обязан оказаться на элементе описания окна. */\n descriptionId: string\n /** «Заголовок отрисован» — окно ставит `aria-labelledby`. Возвращает отказ от заявки. */\n claimTitle: () => () => void\n /** То же для описания и `aria-describedby`. */\n claimDescription: () => () => void\n}\n\nexport const GR_MODAL_CONTEXT_KEY: InjectionKey<GrModalContext> = Symbol('GrModalContext')\n\nexport function provideGrModalContext(context: GrModalContext): void {\n provide(GR_MODAL_CONTEXT_KEY, context)\n}\n\n/**\n * Контекст окна для его частей.\n *\n * Именно контекст, а не проп: заголовок рисует `GrDialogHeader` — внук\n * `GrModal` через слот, — а `aria-labelledby` стоит на корне окна.\n *\n * **Id принадлежит окну, а не заголовку.** Заголовок только сообщает, что\n * отрисовался. Обратный порядок (id рождается у потомка и уезжает наверх)\n * означает мутацию состояния окна во время его собственного патча: Vue уходит\n * в рекурсивный ре-рендер и монтирует заголовок заново, пока не упрётся в\n * лимит. Стабильный id этого класса ошибок не допускает по построению.\n *\n * `null` вне окна — законное состояние: `GrDialogHeader` используют и отдельно.\n */\nexport function useGrModalContext(): GrModalContext | null {\n return inject(GR_MODAL_CONTEXT_KEY, null)\n}\n\n/**\n * Объявляет элемент заголовком окна, пока `active` истинно.\n *\n * Возвращает id для элемента — или `undefined` вне окна: тогда заголовок просто\n * рисуется без связи.\n */\nexport function useGrModalTitle(active: () => boolean): { titleId: string | undefined } {\n const context = useGrModalContext()\n if (!context) return { titleId: undefined }\n\n let release: (() => void) | undefined\n\n watch(\n active,\n (isActive) => {\n release?.()\n release = isActive ? context.claimTitle() : undefined\n },\n // `post`: заявка меняет состояние окна, а заголовок — его потомок, и в\n // `pre`-фазе мутация пришлась бы на патч самого окна.\n { immediate: true, flush: 'post' },\n )\n\n onScopeDispose(() => release?.())\n\n return { titleId: context.titleId }\n}\n","<script setup lang=\"ts\">\n/**\n * GrModal — GR-примитив модального окна.\n *\n * Публичный API:\n * - `modelValue` (v-model) — открыто/закрыто;\n * - `size` — размер панели (`sm | md | lg | xl | full`);\n * - `scrollBehavior` — кто скроллится при длинном содержимом;\n * - `closeOnBackdrop` (default: true) — закрывать при клике по оверлею;\n * - `closeOnEsc` (default: true) — закрывать по Esc;\n * - слоты `#title` / `#description` — получают id и связываются с окном через\n * `aria-labelledby` / `aria-describedby`;\n * - слоты `#header` / `#footer` — пустые layout-области вне скроллящегося тела:\n * при `inside` они остаются на месте. Своей разметки примитив в них не\n * добавляет — шапку и подвал рисует `GrDialog`.\n *\n * A11y: **имя у модального слоя обязательно**. Имя берётся из `#title` (или из\n * заголовка `GrDialog`, который заявляет себя тем же контекстом), иначе из\n * пропа `ariaLabel`, иначе — из i18n, чтобы безымянного окна не получилось ни\n * при каком употреблении (axe: `aria-dialog-name`).\n *\n * Механика слоя — `useModalOverlay`: стек (Esc верхнему, `inert` нижним окнам,\n * возврат фокуса), ловушка фокуса, блокировка скролла, портал и присутствие в\n * DOM до конца leave-анимации. Инварианты этой сборки описаны там же.\n */\nimport { useGrComponentProp } from '../GrConfigProvider/context'\nimport { computed, ref, useId, useSlots, watch } from 'vue'\n\nimport { useModalOverlay } from '../../composables/internal/useModalOverlay'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport { provideGrModalContext } from './context'\n\nimport {\n type GrModalScrollBehavior,\n type GrModalSize,\n getGrModalPanelClass,\n getGrModalShellClass,\n layoutByScroll,\n overlay as overlayClass,\n overlayTransition,\n panelBodyScrollClass,\n panelSectionClass,\n panelTransition,\n root as rootClass,\n} from './grModalStyles'\n\nexport type { GrModalScrollBehavior }\n\nexport interface GrModalProps {\n modelValue: boolean\n closeOnBackdrop?: boolean\n closeOnEsc?: boolean\n size?: GrModalSize\n /**\n * Кто скроллится при длинном содержимом: весь оверлей (`outside`) или сама\n * панель (`inside` — окно остаётся на месте, шапка и подвал на виду).\n */\n scrollBehavior?: GrModalScrollBehavior\n /**\n * Доступное имя окна, когда заголовка в слоте `#title` нет. Слот сильнее:\n * при нём имя даёт `aria-labelledby`.\n */\n ariaLabel?: string\n /**\n * Элемент, получающий фокус при открытии. По умолчанию — сама панель: она\n * фокусируема программно (`tabindex=\"-1\"`), диктор объявляет окно целиком, а\n * первый Tab приводит в начало содержимого.\n */\n initialFocus?: HTMLElement | null\n}\n\nexport interface GrModalEmits {\n (e: 'update:modelValue', value: boolean): void\n /** Окно открылось и анимация закончилась. */\n (e: 'opened'): void\n /** Окно закрылось и анимация закончилась — содержимое можно размонтировать. */\n (e: 'closed'): void\n}\n\nimport './defaults'\n\nconst props = withDefaults(defineProps<GrModalProps>(), {\n closeOnBackdrop: true,\n closeOnEsc: true,\n // Дефолт `size` живёт в резолвере ниже, а не здесь: Vue подставил бы его\n // до того, как компонент заглянет в `GrConfigProvider`.\n size: undefined,\n scrollBehavior: 'outside',\n ariaLabel: undefined,\n initialFocus: null,\n})\n\nconst emit = defineEmits<GrModalEmits>()\n\ndefineSlots<{\n default?: () => any\n title?: () => any\n description?: () => any\n /** Закреплённая шапка: при `inside` остаётся на месте, скроллится только тело. */\n header?: () => any\n /** Закреплённый подвал: там же, где и шапка, — вне скроллящегося тела. */\n footer?: () => any\n}>()\n\nconst slots = useSlots()\n\n// Эффективный размер: локальный проп → `GrConfigProvider` → дефолт компонента.\nconst resolvedSize = useGrComponentProp('GrModal', 'size', () => props.size, 'md')\n\nconst panelClass = computed(() => getGrModalPanelClass(resolvedSize.value, props.scrollBehavior))\nconst shellClass = computed(() => getGrModalShellClass(resolvedSize.value, props.scrollBehavior))\nconst layoutClass = computed(() => layoutByScroll[props.scrollBehavior])\n\n// Тело скроллится только при `inside`, и тогда же обязано попадать в таб-порядок:\n// длинное содержимое без единого фокусируемого элемента иначе недостижимо с\n// клавиатуры (axe: `scrollable-region-focusable`).\nconst isBodyScrollable = computed(() => props.scrollBehavior === 'inside')\n\n// Панель фокусируема программно (`tabindex=\"-1\"`) — это и приёмник фокуса по\n// умолчанию, и запасной, когда фокусировать внутри нечего.\nconst panelRef = ref<HTMLElement | null>(null)\n\nconst { t } = useGranularityTranslations()\n\n// ————— Имя и описание окна.\n// Id принадлежат окну и раздаются вниз контекстом: заголовок рисует либо слот\n// `#title`, либо `GrDialogHeader` глубже по дереву, и оба лишь заявляют, что\n// отрисовались. Обратное владение (id рождается у заголовка) мутировало бы\n// состояние окна во время его же патча — см. `context.ts`.\nconst titleId = useId()\nconst descriptionId = useId()\n\nconst hasTitle = ref(false)\nconst hasDescription = ref(false)\n\n// Счётчики намеренно не реактивные: наружу торчит только «заголовок есть».\n// Пересоздание содержимого слота меняет счётчик, но не флаг, и лишнего рендера\n// окна не случается.\nlet titleClaims = 0\nlet descriptionClaims = 0\n\nfunction claim(add: () => void, remove: () => void): () => void {\n add()\n let released = false\n return () => {\n if (released) return\n released = true\n remove()\n }\n}\n\nfunction claimTitle(): () => void {\n return claim(\n () => { titleClaims += 1; hasTitle.value = true },\n () => { titleClaims -= 1; hasTitle.value = titleClaims > 0 },\n )\n}\n\nfunction claimDescription(): () => void {\n return claim(\n () => { descriptionClaims += 1; hasDescription.value = true },\n () => { descriptionClaims -= 1; hasDescription.value = descriptionClaims > 0 },\n )\n}\n\nprovideGrModalContext({ titleId, descriptionId, claimTitle, claimDescription })\n\n// Собственные слоты заявляются тем же путём, что и заголовок `GrDialog`.\nlet releaseOwnTitle: (() => void) | undefined\nlet releaseOwnDescription: (() => void) | undefined\n\nwatch(\n () => Boolean(slots.title),\n (has) => {\n releaseOwnTitle?.()\n releaseOwnTitle = has ? claimTitle() : undefined\n },\n { immediate: true },\n)\n\nwatch(\n () => Boolean(slots.description),\n (has) => {\n releaseOwnDescription?.()\n releaseOwnDescription = has ? claimDescription() : undefined\n },\n { immediate: true },\n)\n\nconst labelledBy = computed(() => (hasTitle.value ? titleId : undefined))\nconst describedBy = computed(() => (hasDescription.value ? descriptionId : undefined))\n\n// Собственный `aria-label` ставим только в отсутствие заголовка: при обоих\n// атрибутах `aria-labelledby` всё равно сильнее, и второе имя было бы шумом.\nconst ariaLabelAttr = computed(() => {\n if (labelledBy.value) return undefined\n return props.ariaLabel || t('gr.modal.title', 'Dialog')\n})\n\n// Обобщённое имя из локали спасает от безымянного окна, но осмысленное имя\n// знает только автор. Предупреждаем при первом открытии, а не при монтировании:\n// закрытая модалка ещё ничего не нарушила, и ругаться на неё рано.\nlet missingNameWarned = false\n\nfunction warnMissingAccessibleName(): void {\n if (missingNameWarned) return\n if (process.env.NODE_ENV === 'production') return\n if (slots.title || props.ariaLabel) return\n\n missingNameWarned = true\n console.warn(\n '[GrModal] Окно без доступного имени: передайте слот #title или проп ariaLabel. '\n + 'Пока используется обобщённое имя из локали.',\n )\n}\n\n// Два заголовка на окно — это разъехавшийся `aria-labelledby`: диктор прочитает\n// первый, а автор будет уверен во втором.\nfunction warnDuplicateTitle(): void {\n if (process.env.NODE_ENV === 'production') return\n if (titleClaims <= 1) return\n\n console.warn(\n '[GrModal] На окно заявлено несколько заголовков — имя берётся от первого. '\n + 'Оставьте один: слот #title у GrModal либо заголовок GrDialog.',\n )\n}\n\nfunction open(): void {\n emit('update:modelValue', true)\n}\n\nfunction close(): void {\n emit('update:modelValue', false)\n}\n\nfunction toggle(): void {\n emit('update:modelValue', !props.modelValue)\n}\n\n// ————— Модальный слой целиком: стек, ловушка фокуса, `inert`, скролл-лок,\n// портал, присутствие в DOM и guard подложки.\nconst {\n rootEl,\n isMounted,\n isVisible,\n inertAttr,\n portalTarget,\n teleportEnabled,\n themeAttrs,\n onPanelAfterLeave: releasePresence,\n backdrop,\n} = useModalOverlay(computed(() => props.modelValue), close, {\n panel: panelRef,\n closeOnEscape: () => props.closeOnEsc,\n closeOnBackdrop: () => props.closeOnBackdrop,\n // Окно фокусирует саму панель, когда внутри фокусировать нечего и когда\n // потребитель не указал цель явно.\n initialFocus: () => props.initialFocus ?? panelRef.value,\n})\n\nfunction onPanelAfterLeave(): void {\n releasePresence()\n emit('closed')\n}\n\nwatch(\n () => props.modelValue,\n (value) => {\n if (!value) return\n warnMissingAccessibleName()\n warnDuplicateTitle()\n },\n { immediate: true },\n)\n\ndefineExpose({ open, close, toggle })\n</script>\n\n<template>\n <teleport :to=\"portalTarget\" :disabled=\"!teleportEnabled\">\n <div\n v-if=\"teleportEnabled && isMounted\"\n ref=\"rootEl\"\n data-gr-overlay-root\n v-bind=\"themeAttrs\"\n role=\"dialog\"\n aria-modal=\"true\"\n :class=\"rootClass\"\n :inert=\"inertAttr\"\n :aria-labelledby=\"labelledBy\"\n :aria-describedby=\"describedBy\"\n :aria-label=\"ariaLabelAttr\"\n >\n <div :class=\"shellClass\">\n <div :class=\"layoutClass\">\n <Transition\n appear\n :enter-active-class=\"overlayTransition.enter\"\n :enter-from-class=\"overlayTransition.enterFrom\"\n :enter-to-class=\"overlayTransition.enterTo\"\n :leave-active-class=\"overlayTransition.leave\"\n :leave-from-class=\"overlayTransition.leaveFrom\"\n :leave-to-class=\"overlayTransition.leaveTo\"\n >\n <div\n v-if=\"isVisible\"\n data-gr-modal-overlay\n :class=\"overlayClass\"\n aria-hidden=\"true\"\n v-on=\"backdrop\"\n />\n </Transition>\n\n <!-- `opened`/`closed` вешаем на транзишн панели, а не на корневой:\n анимация живёт здесь, и только её конец что-то значит для\n потребителя, который ждёт момента для размонтирования. -->\n <Transition\n appear\n :enter-active-class=\"panelTransition.enter\"\n :enter-from-class=\"panelTransition.enterFrom\"\n :enter-to-class=\"panelTransition.enterTo\"\n :leave-active-class=\"panelTransition.leave\"\n :leave-from-class=\"panelTransition.leaveFrom\"\n :leave-to-class=\"panelTransition.leaveTo\"\n @after-enter=\"emit('opened')\"\n @after-leave=\"onPanelAfterLeave\"\n >\n <div\n v-if=\"isVisible\"\n ref=\"panelRef\"\n data-gr-modal-panel\n tabindex=\"-1\"\n :class=\"panelClass\"\n >\n <div v-if=\"$slots.title\" :id=\"titleId\" data-gr-modal-title>\n <slot name=\"title\" />\n </div>\n <div v-if=\"$slots.description\" :id=\"descriptionId\" data-gr-modal-description>\n <slot name=\"description\" />\n </div>\n\n <div v-if=\"$slots.header\" data-gr-modal-header :class=\"panelSectionClass\">\n <slot name=\"header\" />\n </div>\n\n <!-- При `inside` тело едет отдельно от шапки и подвала: иначе\n режим ничем не отличался бы от скролла всей панели. -->\n <div\n v-if=\"isBodyScrollable\"\n data-gr-modal-body\n tabindex=\"0\"\n :class=\"panelBodyScrollClass\"\n >\n <slot />\n </div>\n <slot v-else />\n\n <div v-if=\"$slots.footer\" data-gr-modal-footer :class=\"panelSectionClass\">\n <slot name=\"footer\" />\n </div>\n </div>\n </Transition>\n </div>\n </div>\n </div>\n </teleport>\n</template>\n","<script setup lang=\"ts\">\n/**\n * GrModal — GR-примитив модального окна.\n *\n * Публичный API:\n * - `modelValue` (v-model) — открыто/закрыто;\n * - `size` — размер панели (`sm | md | lg | xl | full`);\n * - `scrollBehavior` — кто скроллится при длинном содержимом;\n * - `closeOnBackdrop` (default: true) — закрывать при клике по оверлею;\n * - `closeOnEsc` (default: true) — закрывать по Esc;\n * - слоты `#title` / `#description` — получают id и связываются с окном через\n * `aria-labelledby` / `aria-describedby`;\n * - слоты `#header` / `#footer` — пустые layout-области вне скроллящегося тела:\n * при `inside` они остаются на месте. Своей разметки примитив в них не\n * добавляет — шапку и подвал рисует `GrDialog`.\n *\n * A11y: **имя у модального слоя обязательно**. Имя берётся из `#title` (или из\n * заголовка `GrDialog`, который заявляет себя тем же контекстом), иначе из\n * пропа `ariaLabel`, иначе — из i18n, чтобы безымянного окна не получилось ни\n * при каком употреблении (axe: `aria-dialog-name`).\n *\n * Механика слоя — `useModalOverlay`: стек (Esc верхнему, `inert` нижним окнам,\n * возврат фокуса), ловушка фокуса, блокировка скролла, портал и присутствие в\n * DOM до конца leave-анимации. Инварианты этой сборки описаны там же.\n */\nimport { useGrComponentProp } from '../GrConfigProvider/context'\nimport { computed, ref, useId, useSlots, watch } from 'vue'\n\nimport { useModalOverlay } from '../../composables/internal/useModalOverlay'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport { provideGrModalContext } from './context'\n\nimport {\n type GrModalScrollBehavior,\n type GrModalSize,\n getGrModalPanelClass,\n getGrModalShellClass,\n layoutByScroll,\n overlay as overlayClass,\n overlayTransition,\n panelBodyScrollClass,\n panelSectionClass,\n panelTransition,\n root as rootClass,\n} from './grModalStyles'\n\nexport type { GrModalScrollBehavior }\n\nexport interface GrModalProps {\n modelValue: boolean\n closeOnBackdrop?: boolean\n closeOnEsc?: boolean\n size?: GrModalSize\n /**\n * Кто скроллится при длинном содержимом: весь оверлей (`outside`) или сама\n * панель (`inside` — окно остаётся на месте, шапка и подвал на виду).\n */\n scrollBehavior?: GrModalScrollBehavior\n /**\n * Доступное имя окна, когда заголовка в слоте `#title` нет. Слот сильнее:\n * при нём имя даёт `aria-labelledby`.\n */\n ariaLabel?: string\n /**\n * Элемент, получающий фокус при открытии. По умолчанию — сама панель: она\n * фокусируема программно (`tabindex=\"-1\"`), диктор объявляет окно целиком, а\n * первый Tab приводит в начало содержимого.\n */\n initialFocus?: HTMLElement | null\n}\n\nexport interface GrModalEmits {\n (e: 'update:modelValue', value: boolean): void\n /** Окно открылось и анимация закончилась. */\n (e: 'opened'): void\n /** Окно закрылось и анимация закончилась — содержимое можно размонтировать. */\n (e: 'closed'): void\n}\n\nimport './defaults'\n\nconst props = withDefaults(defineProps<GrModalProps>(), {\n closeOnBackdrop: true,\n closeOnEsc: true,\n // Дефолт `size` живёт в резолвере ниже, а не здесь: Vue подставил бы его\n // до того, как компонент заглянет в `GrConfigProvider`.\n size: undefined,\n scrollBehavior: 'outside',\n ariaLabel: undefined,\n initialFocus: null,\n})\n\nconst emit = defineEmits<GrModalEmits>()\n\ndefineSlots<{\n default?: () => any\n title?: () => any\n description?: () => any\n /** Закреплённая шапка: при `inside` остаётся на месте, скроллится только тело. */\n header?: () => any\n /** Закреплённый подвал: там же, где и шапка, — вне скроллящегося тела. */\n footer?: () => any\n}>()\n\nconst slots = useSlots()\n\n// Эффективный размер: локальный проп → `GrConfigProvider` → дефолт компонента.\nconst resolvedSize = useGrComponentProp('GrModal', 'size', () => props.size, 'md')\n\nconst panelClass = computed(() => getGrModalPanelClass(resolvedSize.value, props.scrollBehavior))\nconst shellClass = computed(() => getGrModalShellClass(resolvedSize.value, props.scrollBehavior))\nconst layoutClass = computed(() => layoutByScroll[props.scrollBehavior])\n\n// Тело скроллится только при `inside`, и тогда же обязано попадать в таб-порядок:\n// длинное содержимое без единого фокусируемого элемента иначе недостижимо с\n// клавиатуры (axe: `scrollable-region-focusable`).\nconst isBodyScrollable = computed(() => props.scrollBehavior === 'inside')\n\n// Панель фокусируема программно (`tabindex=\"-1\"`) — это и приёмник фокуса по\n// умолчанию, и запасной, когда фокусировать внутри нечего.\nconst panelRef = ref<HTMLElement | null>(null)\n\nconst { t } = useGranularityTranslations()\n\n// ————— Имя и описание окна.\n// Id принадлежат окну и раздаются вниз контекстом: заголовок рисует либо слот\n// `#title`, либо `GrDialogHeader` глубже по дереву, и оба лишь заявляют, что\n// отрисовались. Обратное владение (id рождается у заголовка) мутировало бы\n// состояние окна во время его же патча — см. `context.ts`.\nconst titleId = useId()\nconst descriptionId = useId()\n\nconst hasTitle = ref(false)\nconst hasDescription = ref(false)\n\n// Счётчики намеренно не реактивные: наружу торчит только «заголовок есть».\n// Пересоздание содержимого слота меняет счётчик, но не флаг, и лишнего рендера\n// окна не случается.\nlet titleClaims = 0\nlet descriptionClaims = 0\n\nfunction claim(add: () => void, remove: () => void): () => void {\n add()\n let released = false\n return () => {\n if (released) return\n released = true\n remove()\n }\n}\n\nfunction claimTitle(): () => void {\n return claim(\n () => { titleClaims += 1; hasTitle.value = true },\n () => { titleClaims -= 1; hasTitle.value = titleClaims > 0 },\n )\n}\n\nfunction claimDescription(): () => void {\n return claim(\n () => { descriptionClaims += 1; hasDescription.value = true },\n () => { descriptionClaims -= 1; hasDescription.value = descriptionClaims > 0 },\n )\n}\n\nprovideGrModalContext({ titleId, descriptionId, claimTitle, claimDescription })\n\n// Собственные слоты заявляются тем же путём, что и заголовок `GrDialog`.\nlet releaseOwnTitle: (() => void) | undefined\nlet releaseOwnDescription: (() => void) | undefined\n\nwatch(\n () => Boolean(slots.title),\n (has) => {\n releaseOwnTitle?.()\n releaseOwnTitle = has ? claimTitle() : undefined\n },\n { immediate: true },\n)\n\nwatch(\n () => Boolean(slots.description),\n (has) => {\n releaseOwnDescription?.()\n releaseOwnDescription = has ? claimDescription() : undefined\n },\n { immediate: true },\n)\n\nconst labelledBy = computed(() => (hasTitle.value ? titleId : undefined))\nconst describedBy = computed(() => (hasDescription.value ? descriptionId : undefined))\n\n// Собственный `aria-label` ставим только в отсутствие заголовка: при обоих\n// атрибутах `aria-labelledby` всё равно сильнее, и второе имя было бы шумом.\nconst ariaLabelAttr = computed(() => {\n if (labelledBy.value) return undefined\n return props.ariaLabel || t('gr.modal.title', 'Dialog')\n})\n\n// Обобщённое имя из локали спасает от безымянного окна, но осмысленное имя\n// знает только автор. Предупреждаем при первом открытии, а не при монтировании:\n// закрытая модалка ещё ничего не нарушила, и ругаться на неё рано.\nlet missingNameWarned = false\n\nfunction warnMissingAccessibleName(): void {\n if (missingNameWarned) return\n if (process.env.NODE_ENV === 'production') return\n if (slots.title || props.ariaLabel) return\n\n missingNameWarned = true\n console.warn(\n '[GrModal] Окно без доступного имени: передайте слот #title или проп ariaLabel. '\n + 'Пока используется обобщённое имя из локали.',\n )\n}\n\n// Два заголовка на окно — это разъехавшийся `aria-labelledby`: диктор прочитает\n// первый, а автор будет уверен во втором.\nfunction warnDuplicateTitle(): void {\n if (process.env.NODE_ENV === 'production') return\n if (titleClaims <= 1) return\n\n console.warn(\n '[GrModal] На окно заявлено несколько заголовков — имя берётся от первого. '\n + 'Оставьте один: слот #title у GrModal либо заголовок GrDialog.',\n )\n}\n\nfunction open(): void {\n emit('update:modelValue', true)\n}\n\nfunction close(): void {\n emit('update:modelValue', false)\n}\n\nfunction toggle(): void {\n emit('update:modelValue', !props.modelValue)\n}\n\n// ————— Модальный слой целиком: стек, ловушка фокуса, `inert`, скролл-лок,\n// портал, присутствие в DOM и guard подложки.\nconst {\n rootEl,\n isMounted,\n isVisible,\n inertAttr,\n portalTarget,\n teleportEnabled,\n themeAttrs,\n onPanelAfterLeave: releasePresence,\n backdrop,\n} = useModalOverlay(computed(() => props.modelValue), close, {\n panel: panelRef,\n closeOnEscape: () => props.closeOnEsc,\n closeOnBackdrop: () => props.closeOnBackdrop,\n // Окно фокусирует саму панель, когда внутри фокусировать нечего и когда\n // потребитель не указал цель явно.\n initialFocus: () => props.initialFocus ?? panelRef.value,\n})\n\nfunction onPanelAfterLeave(): void {\n releasePresence()\n emit('closed')\n}\n\nwatch(\n () => props.modelValue,\n (value) => {\n if (!value) return\n warnMissingAccessibleName()\n warnDuplicateTitle()\n },\n { immediate: true },\n)\n\ndefineExpose({ open, close, toggle })\n</script>\n\n<template>\n <teleport :to=\"portalTarget\" :disabled=\"!teleportEnabled\">\n <div\n v-if=\"teleportEnabled && isMounted\"\n ref=\"rootEl\"\n data-gr-overlay-root\n v-bind=\"themeAttrs\"\n role=\"dialog\"\n aria-modal=\"true\"\n :class=\"rootClass\"\n :inert=\"inertAttr\"\n :aria-labelledby=\"labelledBy\"\n :aria-describedby=\"describedBy\"\n :aria-label=\"ariaLabelAttr\"\n >\n <div :class=\"shellClass\">\n <div :class=\"layoutClass\">\n <Transition\n appear\n :enter-active-class=\"overlayTransition.enter\"\n :enter-from-class=\"overlayTransition.enterFrom\"\n :enter-to-class=\"overlayTransition.enterTo\"\n :leave-active-class=\"overlayTransition.leave\"\n :leave-from-class=\"overlayTransition.leaveFrom\"\n :leave-to-class=\"overlayTransition.leaveTo\"\n >\n <div\n v-if=\"isVisible\"\n data-gr-modal-overlay\n :class=\"overlayClass\"\n aria-hidden=\"true\"\n v-on=\"backdrop\"\n />\n </Transition>\n\n <!-- `opened`/`closed` вешаем на транзишн панели, а не на корневой:\n анимация живёт здесь, и только её конец что-то значит для\n потребителя, который ждёт момента для размонтирования. -->\n <Transition\n appear\n :enter-active-class=\"panelTransition.enter\"\n :enter-from-class=\"panelTransition.enterFrom\"\n :enter-to-class=\"panelTransition.enterTo\"\n :leave-active-class=\"panelTransition.leave\"\n :leave-from-class=\"panelTransition.leaveFrom\"\n :leave-to-class=\"panelTransition.leaveTo\"\n @after-enter=\"emit('opened')\"\n @after-leave=\"onPanelAfterLeave\"\n >\n <div\n v-if=\"isVisible\"\n ref=\"panelRef\"\n data-gr-modal-panel\n tabindex=\"-1\"\n :class=\"panelClass\"\n >\n <div v-if=\"$slots.title\" :id=\"titleId\" data-gr-modal-title>\n <slot name=\"title\" />\n </div>\n <div v-if=\"$slots.description\" :id=\"descriptionId\" data-gr-modal-description>\n <slot name=\"description\" />\n </div>\n\n <div v-if=\"$slots.header\" data-gr-modal-header :class=\"panelSectionClass\">\n <slot name=\"header\" />\n </div>\n\n <!-- При `inside` тело едет отдельно от шапки и подвала: иначе\n режим ничем не отличался бы от скролла всей панели. -->\n <div\n v-if=\"isBodyScrollable\"\n data-gr-modal-body\n tabindex=\"0\"\n :class=\"panelBodyScrollClass\"\n >\n <slot />\n </div>\n <slot v-else />\n\n <div v-if=\"$slots.footer\" data-gr-modal-footer :class=\"panelSectionClass\">\n <slot name=\"footer\" />\n </div>\n </div>\n </Transition>\n </div>\n </div>\n </div>\n </teleport>\n</template>\n"],"mappings":";;;;;;AAcA,IAAa,uBAAqD,OAAO,gBAAgB;AAEzF,SAAgB,sBAAsB,SAA+B;CACnE,QAAQ,sBAAsB,OAAO;AACvC;;;;;;;;;;;;;;;AAgBA,SAAgB,oBAA2C;CACzD,OAAO,OAAO,sBAAsB,IAAI;AAC1C;;;;;;;AAQA,SAAgB,gBAAgB,QAAwD;CACtF,MAAM,UAAU,kBAAkB;CAClC,IAAI,CAAC,SAAS,OAAO,EAAE,SAAS,KAAA,EAAU;CAE1C,IAAI;CAEJ,MACE,SACC,aAAa;EACZ,UAAU;EACV,UAAU,WAAW,QAAQ,WAAW,IAAI,KAAA;CAC9C,GAGA;EAAE,WAAW;EAAM,OAAO;CAAO,CACnC;CAEA,qBAAqB,UAAU,CAAC;CAEhC,OAAO,EAAE,SAAS,QAAQ,QAAQ;AACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ECiBA,MAAM,QAAQ;EAWd,MAAM,OAAO;EAYb,MAAM,QAAQ,SAAS;EAGvB,MAAM,eAAe,mBAAmB,WAAW,cAAc,MAAM,MAAM,IAAI;EAEjF,MAAM,aAAa,eAAe,qBAAqB,aAAa,OAAO,MAAM,cAAc,CAAC;EAChG,MAAM,aAAa,eAAe,qBAAqB,aAAa,OAAO,MAAM,cAAc,CAAC;EAChG,MAAM,cAAc,eAAe,eAAe,MAAM,eAAe;EAKvE,MAAM,mBAAmB,eAAe,MAAM,mBAAmB,QAAQ;EAIzE,MAAM,WAAW,IAAwB,IAAI;EAE7C,MAAM,EAAE,MAAM,2BAA2B;EAOzC,MAAM,UAAU,MAAM;EACtB,MAAM,gBAAgB,MAAM;EAE5B,MAAM,WAAW,IAAI,KAAK;EAC1B,MAAM,iBAAiB,IAAI,KAAK;EAKhC,IAAI,cAAc;EAClB,IAAI,oBAAoB;EAExB,SAAS,MAAM,KAAiB,QAAgC;GAC9D,IAAI;GACJ,IAAI,WAAW;GACf,aAAa;IACX,IAAI,UAAU;IACd,WAAW;IACX,OAAO;GACT;EACF;EAEA,SAAS,aAAyB;GAChC,OAAO,YACC;IAAE,eAAe;IAAG,SAAS,QAAQ;GAAK,SAC1C;IAAE,eAAe;IAAG,SAAS,QAAQ,cAAc;GAAE,CAC7D;EACF;EAEA,SAAS,mBAA+B;GACtC,OAAO,YACC;IAAE,qBAAqB;IAAG,eAAe,QAAQ;GAAK,SACtD;IAAE,qBAAqB;IAAG,eAAe,QAAQ,oBAAoB;GAAE,CAC/E;EACF;EAEA,sBAAsB;GAAE;GAAS;GAAe;GAAY;EAAiB,CAAC;EAG9E,IAAI;EACJ,IAAI;EAEJ,YACQ,QAAQ,MAAM,KAAK,IACxB,QAAQ;GACP,kBAAkB;GAClB,kBAAkB,MAAM,WAAW,IAAI,KAAA;EACzC,GACA,EAAE,WAAW,KAAK,CACpB;EAEA,YACQ,QAAQ,MAAM,WAAW,IAC9B,QAAQ;GACP,wBAAwB;GACxB,wBAAwB,MAAM,iBAAiB,IAAI,KAAA;EACrD,GACA,EAAE,WAAW,KAAK,CACpB;EAEA,MAAM,aAAa,eAAgB,SAAS,QAAQ,UAAU,KAAA,CAAU;EACxE,MAAM,cAAc,eAAgB,eAAe,QAAQ,gBAAgB,KAAA,CAAU;EAIrF,MAAM,gBAAgB,eAAe;GACnC,IAAI,WAAW,OAAO,OAAO,KAAA;GAC7B,OAAO,MAAM,aAAa,EAAE,kBAAkB,QAAQ;EACxD,CAAC;EAKD,IAAI,oBAAoB;EAExB,SAAS,4BAAkC;GACzC,IAAI,mBAAmB;GACvB,IAAA,QAAA,IAAA,aAA6B,cAAc;GAC3C,IAAI,MAAM,SAAS,MAAM,WAAW;GAEpC,oBAAoB;GACpB,QAAQ,KACN,4HAEF;EACF;EAIA,SAAS,qBAA2B;GAClC,IAAA,QAAA,IAAA,aAA6B,cAAc;GAC3C,IAAI,eAAe,GAAG;GAEtB,QAAQ,KACN,yIAEF;EACF;EAEA,SAAS,OAAa;GACpB,KAAK,qBAAqB,IAAI;EAChC;EAEA,SAAS,QAAc;GACrB,KAAK,qBAAqB,KAAK;EACjC;EAEA,SAAS,SAAe;GACtB,KAAK,qBAAqB,CAAC,MAAM,UAAU;EAC7C;EAIA,MAAM,EACJ,QACA,WACA,WACA,WACA,cACA,iBACA,YACA,mBAAmB,iBACnB,aACE,gBAAgB,eAAe,MAAM,UAAU,GAAG,OAAO;GAC3D,OAAO;GACP,qBAAqB,MAAM;GAC3B,uBAAuB,MAAM;GAG7B,oBAAoB,MAAM,gBAAgB,SAAS;EACrD,CAAC;EAED,SAAS,oBAA0B;GACjC,gBAAgB;GAChB,KAAK,QAAQ;EACf;EAEA,YACQ,MAAM,aACX,UAAU;GACT,IAAI,CAAC,OAAO;GACZ,0BAA0B;GAC1B,mBAAmB;EACrB,GACA,EAAE,WAAW,KAAK,CACpB;EAEA,SAAa;GAAE;GAAM;GAAO;EAAO,CAAC;;uBAIlC,YAsFW,UAAA;IAtFA,IAAI,MAAA,YAAA;IAAe,UAAQ,CAAG,MAAA,eAAA;OAE/B,MAAA,eAAA,KAAmB,MAAA,SAAA,KAAA,UAAA,GAD3B,mBAoFM,OApFN,WAoFM;;aAlFA;IAAJ,KAAI;IACJ,wBAAA;MACQ,MAAA,UAAA,GAAU;IAClB,MAAK;IACL,cAAW;IACV,OAAO,MAAA,IAAA;IACP,OAAO,MAAA,SAAA;IACP,mBAAiB,WAAA;IACjB,oBAAkB,YAAA;IAClB,cAAY,cAAA;QAEb,mBAsEM,OAAA,EAtEA,OAAK,eAAE,WAAA,KAAU,EAAA,GAAA,CACrB,mBAoEM,OAAA,EApEA,OAAK,eAAE,YAAA,KAAW,EAAA,GAAA,CACtB,YAgBa,YAAA;IAfX,QAAA;IACC,sBAAoB,MAAA,iBAAA,CAAiB,CAAC;IACtC,oBAAkB,MAAA,iBAAA,CAAiB,CAAC;IACpC,kBAAgB,MAAA,iBAAA,CAAiB,CAAC;IAClC,sBAAoB,MAAA,iBAAA,CAAiB,CAAC;IACtC,oBAAkB,MAAA,iBAAA,CAAiB,CAAC;IACpC,kBAAgB,MAAA,iBAAA,CAAiB,CAAC;;2BAQjC,CALM,MAAA,SAAA,KAAA,UAAA,GADR,mBAME,OANF,WAME;;KAJA,yBAAA;KACC,OAAO,MAAA,OAAA;KACR,eAAY;OACZ,WAAM,MAAS,QAAA,GAAD,IAAA,CAAA,GAAA,MAAA,EAAA,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA;;;;;;;;;OAOlB,YA6Ca,YAAA;IA5CX,QAAA;IACC,sBAAoB,MAAA,eAAA,CAAe,CAAC;IACpC,oBAAkB,MAAA,eAAA,CAAe,CAAC;IAClC,kBAAgB,MAAA,eAAA,CAAe,CAAC;IAChC,sBAAoB,MAAA,eAAA,CAAe,CAAC;IACpC,oBAAkB,MAAA,eAAA,CAAe,CAAC;IAClC,kBAAgB,MAAA,eAAA,CAAe,CAAC;IAChC,cAAW,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,QAAA;IACjB,cAAa;;2BAmCR,CAhCE,MAAA,SAAA,KAAA,UAAA,GADR,mBAiCM,OAAA;;cA/BA;KAAJ,KAAI;KACJ,uBAAA;KACA,UAAS;KACR,OAAK,eAAE,WAAA,KAAU;;KAEPA,KAAAA,OAAO,SAAA,UAAA,GAAlB,mBAEM,OAAA;;MAFoB,IAAI,MAAA,OAAA;MAAS,uBAAA;SACrC,WAAqB,KAAA,QAAA,OAAA,CAAA,GAAA,GAAA,UAAA,KAAA,mBAAA,IAAA,IAAA;KAEZA,KAAAA,OAAO,eAAA,UAAA,GAAlB,mBAEM,OAAA;;MAF0B,IAAI,MAAA,aAAA;MAAe,6BAAA;SACjD,WAA2B,KAAA,QAAA,aAAA,CAAA,GAAA,GAAA,UAAA,KAAA,mBAAA,IAAA,IAAA;KAGlBA,KAAAA,OAAO,UAAA,UAAA,GAAlB,mBAEM,OAAA;;MAFoB,wBAAA;MAAsB,OAAK,eAAE,MAAA,iBAAA,CAAiB;SACtE,WAAsB,KAAA,QAAA,QAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;KAMhB,iBAAA,SAAA,UAAA,GADR,mBAOM,OAAA;;MALJ,sBAAA;MACA,UAAS;MACR,OAAK,eAAE,MAAA,oBAAA,CAAoB;SAE5B,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA,KAEV,WAAe,KAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,CAAA;KAEJA,KAAAA,OAAO,UAAA,UAAA,GAAlB,mBAEM,OAAA;;MAFoB,wBAAA;MAAsB,OAAK,eAAE,MAAA,iBAAA,CAAiB;SACtE,WAAsB,KAAA,QAAA,QAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { t as GrModal_default } from "./chunks/GrModal-
|
|
2
|
-
import { t as
|
|
3
|
-
|
|
4
|
-
export { GrModal_default as GrModal, GrModal_default as default, getGrModalPanelClass, grModalClassTokens, grModalConfig, grModalSafelist };
|
|
1
|
+
import { t as GrModal_default } from "./chunks/GrModal-B8I78T0N.js";
|
|
2
|
+
import { n as grModalSafelist, t as grModalConfig } from "../../chunks/config-BtXRpAtq.js";
|
|
3
|
+
export { GrModal_default as GrModal, GrModal_default as default, grModalConfig, grModalSafelist };
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { n as useGranularityTranslations } from "../../../chunks/granularityI18n-BC5zsj_d.js";
|
|
2
|
+
import { t as GrIcon_default } from "../../GrIcon/chunks/GrIcon-BvA2ZGXP.js";
|
|
3
|
+
import { t as GrButton_default } from "../../GrButton/chunks/GrButton-D0m_z0XW.js";
|
|
4
|
+
import { a as navbarRightAlignClass, c as navbarTitleClass, i as navbarCenterClass, o as navbarSideClass, r as grNavbarRootClass, s as navbarSideGrowClass } from "../../../chunks/config-Bpt9Xbxm.js";
|
|
5
|
+
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, markRaw, normalizeClass, openBlock, renderSlot, toDisplayString, unref, useSlots, withCtx } from "vue";
|
|
6
|
+
//#region ~icons/lucide/menu
|
|
7
|
+
var _hoisted_1$1 = {
|
|
8
|
+
viewBox: "0 0 24 24",
|
|
9
|
+
width: "1.2em",
|
|
10
|
+
height: "1.2em"
|
|
11
|
+
};
|
|
12
|
+
function render$1(_ctx, _cache) {
|
|
13
|
+
return openBlock(), createElementBlock("svg", _hoisted_1$1, [..._cache[0] || (_cache[0] = [createElementVNode("path", {
|
|
14
|
+
fill: "none",
|
|
15
|
+
stroke: "currentColor",
|
|
16
|
+
"stroke-linecap": "round",
|
|
17
|
+
"stroke-linejoin": "round",
|
|
18
|
+
"stroke-width": "2",
|
|
19
|
+
d: "M4 5h16M4 12h16M4 19h16"
|
|
20
|
+
}, null, -1)])]);
|
|
21
|
+
}
|
|
22
|
+
var menu_default = markRaw({
|
|
23
|
+
name: "lucide-menu",
|
|
24
|
+
render: render$1
|
|
25
|
+
});
|
|
26
|
+
//#endregion
|
|
27
|
+
//#region src/components/GrNavbar/GrNavbar.vue?vue&type=script&setup=true&lang.ts
|
|
28
|
+
var _hoisted_1 = ["data-sticky"];
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/components/GrNavbar/GrNavbar.vue
|
|
31
|
+
var GrNavbar_default = /* @__PURE__ */ defineComponent({
|
|
32
|
+
__name: "GrNavbar",
|
|
33
|
+
props: {
|
|
34
|
+
title: { default: void 0 },
|
|
35
|
+
showMenuButton: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
default: false
|
|
38
|
+
},
|
|
39
|
+
menuButtonClass: { default: "" },
|
|
40
|
+
sticky: {
|
|
41
|
+
type: Boolean,
|
|
42
|
+
default: false
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
emits: ["menu"],
|
|
46
|
+
setup(__props, { emit: __emit }) {
|
|
47
|
+
const props = __props;
|
|
48
|
+
const slots = useSlots();
|
|
49
|
+
const emit = __emit;
|
|
50
|
+
const { t } = useGranularityTranslations();
|
|
51
|
+
const menuAriaLabel = computed(() => t("gr.navbar.openMenu", "Open menu"));
|
|
52
|
+
const hasTitle = computed(() => Boolean(props.title || slots.title));
|
|
53
|
+
const rootClass = computed(() => grNavbarRootClass(props.sticky));
|
|
54
|
+
const hasCenter = computed(() => Boolean(slots.center));
|
|
55
|
+
const sideClass = computed(() => [navbarSideClass, hasCenter.value ? navbarSideGrowClass : ""]);
|
|
56
|
+
const rightClass = computed(() => [navbarSideClass, hasCenter.value ? `${navbarSideGrowClass} ${navbarRightAlignClass}` : "ml-auto"]);
|
|
57
|
+
return (_ctx, _cache) => {
|
|
58
|
+
return openBlock(), createElementBlock("header", {
|
|
59
|
+
"data-gr-navbar": "",
|
|
60
|
+
"data-sticky": __props.sticky ? "true" : void 0,
|
|
61
|
+
class: normalizeClass(rootClass.value)
|
|
62
|
+
}, [
|
|
63
|
+
createElementVNode("div", {
|
|
64
|
+
"data-gr-navbar-left": "",
|
|
65
|
+
class: normalizeClass(sideClass.value)
|
|
66
|
+
}, [
|
|
67
|
+
__props.showMenuButton ? (openBlock(), createBlock(GrButton_default, {
|
|
68
|
+
key: 0,
|
|
69
|
+
"data-gr-navbar-menu": "",
|
|
70
|
+
variant: "ghost",
|
|
71
|
+
size: "sm",
|
|
72
|
+
square: "",
|
|
73
|
+
"aria-label": menuAriaLabel.value,
|
|
74
|
+
class: normalizeClass(__props.menuButtonClass),
|
|
75
|
+
onClick: _cache[0] || (_cache[0] = ($event) => emit("menu"))
|
|
76
|
+
}, {
|
|
77
|
+
default: withCtx(() => [createVNode(GrIcon_default, { size: 16 }, {
|
|
78
|
+
default: withCtx(() => [createVNode(unref(menu_default), { "aria-hidden": "true" })]),
|
|
79
|
+
_: 1
|
|
80
|
+
})]),
|
|
81
|
+
_: 1
|
|
82
|
+
}, 8, ["aria-label", "class"])) : createCommentVNode("", true),
|
|
83
|
+
hasTitle.value ? (openBlock(), createElementBlock("div", {
|
|
84
|
+
key: 1,
|
|
85
|
+
"data-gr-navbar-title": "",
|
|
86
|
+
class: normalizeClass(unref(navbarTitleClass))
|
|
87
|
+
}, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])], 2)) : createCommentVNode("", true),
|
|
88
|
+
renderSlot(_ctx.$slots, "left")
|
|
89
|
+
], 2),
|
|
90
|
+
hasCenter.value ? (openBlock(), createElementBlock("div", {
|
|
91
|
+
key: 0,
|
|
92
|
+
"data-gr-navbar-center": "",
|
|
93
|
+
class: normalizeClass(unref(navbarCenterClass))
|
|
94
|
+
}, [renderSlot(_ctx.$slots, "center")], 2)) : createCommentVNode("", true),
|
|
95
|
+
createElementVNode("div", {
|
|
96
|
+
"data-gr-navbar-right": "",
|
|
97
|
+
class: normalizeClass(rightClass.value)
|
|
98
|
+
}, [renderSlot(_ctx.$slots, "default")], 2)
|
|
99
|
+
], 10, _hoisted_1);
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
//#endregion
|
|
104
|
+
export { GrNavbar_default as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrNavbar-CF0KbM_6.js","names":[],"sources":["../../../../src/components/GrNavbar/GrNavbar.vue","../../../../src/components/GrNavbar/GrNavbar.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport IconMenu from '~icons/lucide/menu'\n\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrIcon from '../GrIcon/GrIcon.vue'\n\nimport {\n grNavbarRootClass,\n navbarCenterClass,\n navbarRightAlignClass,\n navbarSideClass,\n navbarSideGrowClass,\n navbarTitleClass,\n} from './grNavbarStyles'\n\n/**\n * GrNavbar — верхняя панель приложения (header) с тремя зонами: слева заголовок\n * и кнопка меню, по центру — свободная зона (поиск, хлебные крошки), справа —\n * действия и аватар.\n *\n * - Корень — `<header>` (landmark), без собственного `role`.\n * - `aria-label` кнопки меню локализуется через `useGranularityTranslations`.\n */\nexport interface GrNavbarProps {\n /** Заголовок строкой. Слот `#title` сильнее и позволяет обойтись без пропа. */\n title?: string\n showMenuButton?: boolean\n /** Extra classes applied to the menu button wrapper (e.g. `sm:hidden`). */\n menuButtonClass?: string\n /**\n * Панель прилипает к верху при прокрутке. Слой — `--gr-z-navbar`: он ниже\n * якорных панелей, чтобы открытый список не уезжал под шапку.\n */\n sticky?: boolean\n}\n\nexport interface GrNavbarEmits {\n (e: 'menu'): void\n}\n\nconst props = withDefaults(defineProps<GrNavbarProps>(), {\n title: undefined,\n showMenuButton: false,\n menuButtonClass: '',\n sticky: false,\n})\n\nconst slots = defineSlots<{\n /** Заголовок целиком — вместо строки `title`. */\n title?: () => unknown\n /** Зона сразу после заголовка: вкладки, переключатель раздела. */\n left?: () => unknown\n /** Центральная зона: поиск, хлебные крошки. */\n center?: () => unknown\n /** Правая зона: действия, аватар. */\n default?: () => unknown\n}>()\n\nconst emit = defineEmits<GrNavbarEmits>()\n\nconst { t } = useGranularityTranslations()\n\nconst menuAriaLabel = computed(() => t('gr.navbar.openMenu', 'Open menu'))\n\n// Пустой блок заголовка съедал бы отступ ряда, поэтому рендерим его только при\n// наличии содержимого — проп `title` для этого не обязателен.\nconst hasTitle = computed(() => Boolean(props.title || slots.title))\n\nconst rootClass = computed(() => grNavbarRootClass(props.sticky))\n\n// С центральной зоной боковые делят остаток поровну — иначе «центр» уезжает\n// вслед за более широким боком. Без неё правая просто прижата к краю.\nconst hasCenter = computed(() => Boolean(slots.center))\n\nconst sideClass = computed(() => [navbarSideClass, hasCenter.value ? navbarSideGrowClass : ''])\nconst rightClass = computed(() => [\n navbarSideClass,\n hasCenter.value ? `${navbarSideGrowClass} ${navbarRightAlignClass}` : 'ml-auto',\n])\n</script>\n\n<template>\n <header\n data-gr-navbar\n :data-sticky=\"sticky ? 'true' : undefined\"\n :class=\"rootClass\"\n >\n <div data-gr-navbar-left :class=\"sideClass\">\n <GrButton\n v-if=\"showMenuButton\"\n data-gr-navbar-menu\n variant=\"ghost\"\n size=\"sm\"\n square\n :aria-label=\"menuAriaLabel\"\n :class=\"menuButtonClass\"\n @click=\"emit('menu')\"\n >\n <GrIcon :size=\"16\">\n <IconMenu aria-hidden=\"true\" />\n </GrIcon>\n </GrButton>\n\n <div v-if=\"hasTitle\" data-gr-navbar-title :class=\"navbarTitleClass\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n\n <slot name=\"left\" />\n </div>\n\n <div v-if=\"hasCenter\" data-gr-navbar-center :class=\"navbarCenterClass\">\n <slot name=\"center\" />\n </div>\n\n <div data-gr-navbar-right :class=\"rightClass\">\n <slot />\n </div>\n </header>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport IconMenu from '~icons/lucide/menu'\n\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrIcon from '../GrIcon/GrIcon.vue'\n\nimport {\n grNavbarRootClass,\n navbarCenterClass,\n navbarRightAlignClass,\n navbarSideClass,\n navbarSideGrowClass,\n navbarTitleClass,\n} from './grNavbarStyles'\n\n/**\n * GrNavbar — верхняя панель приложения (header) с тремя зонами: слева заголовок\n * и кнопка меню, по центру — свободная зона (поиск, хлебные крошки), справа —\n * действия и аватар.\n *\n * - Корень — `<header>` (landmark), без собственного `role`.\n * - `aria-label` кнопки меню локализуется через `useGranularityTranslations`.\n */\nexport interface GrNavbarProps {\n /** Заголовок строкой. Слот `#title` сильнее и позволяет обойтись без пропа. */\n title?: string\n showMenuButton?: boolean\n /** Extra classes applied to the menu button wrapper (e.g. `sm:hidden`). */\n menuButtonClass?: string\n /**\n * Панель прилипает к верху при прокрутке. Слой — `--gr-z-navbar`: он ниже\n * якорных панелей, чтобы открытый список не уезжал под шапку.\n */\n sticky?: boolean\n}\n\nexport interface GrNavbarEmits {\n (e: 'menu'): void\n}\n\nconst props = withDefaults(defineProps<GrNavbarProps>(), {\n title: undefined,\n showMenuButton: false,\n menuButtonClass: '',\n sticky: false,\n})\n\nconst slots = defineSlots<{\n /** Заголовок целиком — вместо строки `title`. */\n title?: () => unknown\n /** Зона сразу после заголовка: вкладки, переключатель раздела. */\n left?: () => unknown\n /** Центральная зона: поиск, хлебные крошки. */\n center?: () => unknown\n /** Правая зона: действия, аватар. */\n default?: () => unknown\n}>()\n\nconst emit = defineEmits<GrNavbarEmits>()\n\nconst { t } = useGranularityTranslations()\n\nconst menuAriaLabel = computed(() => t('gr.navbar.openMenu', 'Open menu'))\n\n// Пустой блок заголовка съедал бы отступ ряда, поэтому рендерим его только при\n// наличии содержимого — проп `title` для этого не обязателен.\nconst hasTitle = computed(() => Boolean(props.title || slots.title))\n\nconst rootClass = computed(() => grNavbarRootClass(props.sticky))\n\n// С центральной зоной боковые делят остаток поровну — иначе «центр» уезжает\n// вслед за более широким боком. Без неё правая просто прижата к краю.\nconst hasCenter = computed(() => Boolean(slots.center))\n\nconst sideClass = computed(() => [navbarSideClass, hasCenter.value ? navbarSideGrowClass : ''])\nconst rightClass = computed(() => [\n navbarSideClass,\n hasCenter.value ? `${navbarSideGrowClass} ${navbarRightAlignClass}` : 'ml-auto',\n])\n</script>\n\n<template>\n <header\n data-gr-navbar\n :data-sticky=\"sticky ? 'true' : undefined\"\n :class=\"rootClass\"\n >\n <div data-gr-navbar-left :class=\"sideClass\">\n <GrButton\n v-if=\"showMenuButton\"\n data-gr-navbar-menu\n variant=\"ghost\"\n size=\"sm\"\n square\n :aria-label=\"menuAriaLabel\"\n :class=\"menuButtonClass\"\n @click=\"emit('menu')\"\n >\n <GrIcon :size=\"16\">\n <IconMenu aria-hidden=\"true\" />\n </GrIcon>\n </GrButton>\n\n <div v-if=\"hasTitle\" data-gr-navbar-title :class=\"navbarTitleClass\">\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n\n <slot name=\"left\" />\n </div>\n\n <div v-if=\"hasCenter\" data-gr-navbar-center :class=\"navbarCenterClass\">\n <slot name=\"center\" />\n </div>\n\n <div data-gr-navbar-right :class=\"rightClass\">\n <slot />\n </div>\n </header>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2CA,MAAM,QAAQ;EAOd,MAAM,QAAQ,SAAA;EAWd,MAAM,OAAO;EAEb,MAAM,EAAE,MAAM,2BAA2B;EAEzC,MAAM,gBAAgB,eAAe,EAAE,sBAAsB,WAAW,CAAC;EAIzE,MAAM,WAAW,eAAe,QAAQ,MAAM,SAAS,MAAM,KAAK,CAAC;EAEnE,MAAM,YAAY,eAAe,kBAAkB,MAAM,MAAM,CAAC;EAIhE,MAAM,YAAY,eAAe,QAAQ,MAAM,MAAM,CAAC;EAEtD,MAAM,YAAY,eAAe,CAAC,iBAAiB,UAAU,QAAQ,sBAAsB,EAAE,CAAC;EAC9F,MAAM,aAAa,eAAe,CAChC,iBACA,UAAU,QAAQ,GAAG,oBAAoB,GAAG,0BAA0B,SACxE,CAAC;;uBAIC,mBAqCS,UAAA;IApCP,kBAAA;IACC,eAAa,QAAA,SAAM,SAAY,KAAA;IAC/B,OAAK,eAAE,UAAA,KAAS;;IAEjB,mBAuBM,OAAA;KAvBD,uBAAA;KAAqB,OAAK,eAAE,UAAA,KAAS;;KAEhC,QAAA,kBAAA,UAAA,GADR,YAaW,kBAAA;;MAXT,uBAAA;MACA,SAAQ;MACR,MAAK;MACL,QAAA;MACC,cAAY,cAAA;MACZ,OAAK,eAAE,QAAA,eAAe;MACtB,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,MAAA;;6BAIH,CAFT,YAES,gBAAA,EAFA,MAAM,GAAE,GAAA;8BACgB,CAA/B,YAA+B,MAAA,YAAA,GAAA,EAArB,eAAY,OAAM,CAAA,CAAA,CAAA;;;;;KAIrB,SAAA,SAAA,UAAA,GAAX,mBAIM,OAAA;;MAJe,wBAAA;MAAsB,OAAK,eAAE,MAAA,gBAAA,CAAgB;SAChE,WAEO,KAAA,QAAA,SAAA,CAAA,SAAA,CAAA,gBAAA,gBADF,QAAA,KAAK,GAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;KAIZ,WAAoB,KAAA,QAAA,MAAA;;IAGX,UAAA,SAAA,UAAA,GAAX,mBAEM,OAAA;;KAFgB,yBAAA;KAAuB,OAAK,eAAE,MAAA,iBAAA,CAAiB;QACnE,WAAsB,KAAA,QAAA,QAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;IAGxB,mBAEM,OAAA;KAFD,wBAAA;KAAsB,OAAK,eAAE,WAAA,KAAU;QAC1C,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as GrNavbar_default } from "./chunks/GrNavbar-
|
|
2
|
-
import { t as grNavbarConfig } from "../../chunks/config-
|
|
3
|
-
export { GrNavbar_default as GrNavbar, GrNavbar_default as default, grNavbarConfig };
|
|
1
|
+
import { t as GrNavbar_default } from "./chunks/GrNavbar-CF0KbM_6.js";
|
|
2
|
+
import { n as grNavbarSafelist, t as grNavbarConfig } from "../../chunks/config-Bpt9Xbxm.js";
|
|
3
|
+
export { GrNavbar_default as GrNavbar, GrNavbar_default as default, grNavbarConfig, grNavbarSafelist };
|