@feugene/granularity 0.13.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-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-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-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-QaIc_gRa.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-eXB87DOi2.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.map +1 -1
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +3 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +2 -2
- 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 +123 -7
- 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 +148 -140
- package/dist/styles/base.css +32 -0
- package/dist/styles/preflight.css +33 -0
- package/dist/styles/themes/dark.css +81 -26
- package/dist/styles/themes/light.css +86 -15
- package/dist/styles/tokens.css +63 -4
- package/dist/tokens.js +3132 -0
- package/dist/tokens.js.map +1 -0
- package/dist/types/src/components/GrAlert/GrAlert.vue.d.ts +42 -10
- package/dist/types/src/components/GrAlert/config.d.ts +1 -1
- package/dist/types/src/components/GrAlert/defaults.d.ts +9 -3
- package/dist/types/src/components/GrAlert/grAlertStyles.d.ts +0 -7
- package/dist/types/src/components/GrAlert/index.d.ts +3 -2
- package/dist/types/src/components/GrAutocomplete/GrAutocomplete.vue.d.ts +112 -99
- package/dist/types/src/components/GrAutocomplete/config.d.ts +1 -1
- package/dist/types/src/components/GrAutocomplete/grAutocompleteStyles.d.ts +43 -7
- package/dist/types/src/components/GrAutocomplete/index.d.ts +4 -0
- package/dist/types/src/components/GrAvatar/GrAvatar.vue.d.ts +40 -17
- 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 +4 -4
- package/dist/types/src/components/GrBadge/config.d.ts +1 -1
- package/dist/types/src/components/GrBadge/grBadgeStyles.d.ts +13 -1
- package/dist/types/src/components/GrBadge/index.d.ts +1 -0
- package/dist/types/src/components/GrBadgeWrap/GrBadgeWrap.vue.d.ts +42 -5
- 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 +31 -7
- package/dist/types/src/components/GrButton/config.d.ts +1 -1
- package/dist/types/src/components/GrButton/grButtonStyles.d.ts +27 -3
- package/dist/types/src/components/GrButton/index.d.ts +5 -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 +56 -10
- 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 +55 -7
- package/dist/types/src/components/GrCollapse/GrCollapseItem.vue.d.ts +13 -3
- 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 +45 -10
- package/dist/types/src/components/GrCommandPalette/config.d.ts +1 -1
- package/dist/types/src/components/GrCommandPalette/defaults.d.ts +14 -0
- package/dist/types/src/components/GrCommandPalette/filtering.d.ts +24 -0
- package/dist/types/src/components/GrCommandPalette/grCommandPaletteStyles.d.ts +33 -8
- package/dist/types/src/components/GrCommandPalette/index.d.ts +4 -0
- package/dist/types/src/components/GrConfigProvider/GrConfigProvider.vue.d.ts +38 -4
- package/dist/types/src/components/GrConfigProvider/config.d.ts +1 -1
- package/dist/types/src/components/GrConfigProvider/context.d.ts +27 -0
- package/dist/types/src/components/GrConfigProvider/index.d.ts +1 -0
- package/dist/types/src/components/GrConfigProvider/zIndexScale.d.ts +23 -0
- package/dist/types/src/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +33 -4
- 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 +92 -27
- 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 +51 -4
- 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 +78 -7
- 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 +93 -17
- 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 +51 -5
- 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 +38 -2
- package/dist/types/src/components/GrForm/config.d.ts +1 -1
- package/dist/types/src/components/GrForm/context.d.ts +22 -3
- package/dist/types/src/components/GrForm/fileRule.d.ts +43 -0
- package/dist/types/src/components/GrForm/index.d.ts +6 -2
- package/dist/types/src/components/GrForm/modelSnapshot.d.ts +17 -0
- package/dist/types/src/components/GrForm/validation.d.ts +16 -1
- package/dist/types/src/components/GrFormField/GrFormField.vue.d.ts +56 -10
- 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 +70 -16
- 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 +87 -16
- 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 +66 -21
- package/dist/types/src/components/GrInput/config.d.ts +1 -1
- package/dist/types/src/components/GrInput/grInputStyles.d.ts +53 -7
- package/dist/types/src/components/GrInput/index.d.ts +5 -0
- package/dist/types/src/components/GrInputTag/GrInputTag.vue.d.ts +97 -14
- 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 +23 -10
- 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 +11 -13
- 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 +64 -17
- package/dist/types/src/components/GrNumberInput/config.d.ts +1 -1
- package/dist/types/src/components/GrNumberInput/defaults.d.ts +1 -0
- package/dist/types/src/components/GrNumberInput/grNumberInputStyles.d.ts +20 -4
- package/dist/types/src/components/GrNumberInput/index.d.ts +4 -0
- package/dist/types/src/components/GrNumberInput/numberInputMath.d.ts +17 -0
- package/dist/types/src/components/GrPagination/GrPagination.vue.d.ts +47 -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 +78 -10
- 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 +28 -9
- package/dist/types/src/components/GrRadio/config.d.ts +1 -1
- package/dist/types/src/components/GrRadio/grRadioGroupContext.d.ts +37 -2
- package/dist/types/src/components/GrRadio/grRadioStyles.d.ts +49 -6
- package/dist/types/src/components/GrRadio/index.d.ts +1 -0
- package/dist/types/src/components/GrRadioGroup/GrRadioGroup.vue.d.ts +54 -10
- package/dist/types/src/components/GrRadioGroup/config.d.ts +1 -1
- package/dist/types/src/components/GrRadioGroup/index.d.ts +4 -0
- package/dist/types/src/components/GrRating/GrRating.vue.d.ts +66 -17
- package/dist/types/src/components/GrRating/config.d.ts +1 -1
- package/dist/types/src/components/GrRating/grRatingStyles.d.ts +4 -1
- package/dist/types/src/components/GrRating/index.d.ts +4 -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 +11 -4
- 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 +48 -9
- package/dist/types/src/components/GrSegmented/config.d.ts +1 -1
- package/dist/types/src/components/GrSegmented/grSegmentedStyles.d.ts +31 -5
- package/dist/types/src/components/GrSegmented/index.d.ts +5 -1
- package/dist/types/src/components/GrSegmented/safelist.d.ts +3 -1
- package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +138 -114
- 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/grSelectStyles.d.ts +64 -9
- package/dist/types/src/components/GrSelect/index.d.ts +5 -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 +4 -4
- 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 +22 -6
- 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 +54 -4
- package/dist/types/src/components/GrSlider/config.d.ts +1 -1
- package/dist/types/src/components/GrSlider/grSliderStyles.d.ts +47 -8
- package/dist/types/src/components/GrSlider/index.d.ts +4 -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 +65 -16
- package/dist/types/src/components/GrStatistic/config.d.ts +1 -1
- 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 +6 -2
- package/dist/types/src/components/GrStatistic/grStatisticStyles.d.ts +14 -1
- package/dist/types/src/components/GrStatistic/index.d.ts +2 -1
- package/dist/types/src/components/GrSwitch/GrSwitch.vue.d.ts +68 -6
- package/dist/types/src/components/GrSwitch/config.d.ts +1 -1
- package/dist/types/src/components/GrSwitch/grSwitchStyles.d.ts +45 -4
- package/dist/types/src/components/GrSwitch/index.d.ts +5 -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 +85 -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 +89 -24
- 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 +25 -1
- package/dist/types/src/components/GrToaster/config.d.ts +1 -1
- package/dist/types/src/components/GrToaster/index.d.ts +3 -0
- package/dist/types/src/components/GrTooltip/GrTooltip.vue.d.ts +57 -6
- 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 +30 -9
- 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 +29 -1
- 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 +20 -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 +13 -18
- package/dist/types/src/i18n/adapter.d.ts +24 -0
- package/dist/types/src/i18n/messages/en.d.ts +286 -2
- package/dist/types/src/i18n/messages/es.d.ts +290 -2
- package/dist/types/src/i18n/messages/ru.d.ts +294 -2
- package/dist/types/src/index.d.ts +26 -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 +6309 -2024
- package/package.json +90 -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-23WtUiAL.js +0 -53
- package/dist/chunks/config-23WtUiAL.js.map +0 -1
- package/dist/chunks/config-B0i5r8kH.js +0 -23
- package/dist/chunks/config-B0i5r8kH.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-B5Rknzkd.js +0 -100
- package/dist/chunks/config-B5Rknzkd.js.map +0 -1
- package/dist/chunks/config-BDSHekVC.js +0 -84
- package/dist/chunks/config-BDSHekVC.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-BLHqZhy-.js +0 -5
- package/dist/chunks/config-BLHqZhy-.js.map +0 -1
- package/dist/chunks/config-BMKNHFMD2.js +0 -171
- package/dist/chunks/config-BMKNHFMD2.js.map +0 -1
- package/dist/chunks/config-BUHuGBik2.js +0 -13
- package/dist/chunks/config-BUHuGBik2.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-BX1JTrkV.js +0 -14
- package/dist/chunks/config-BX1JTrkV.js.map +0 -1
- package/dist/chunks/config-BXtAmU3s.js +0 -8
- package/dist/chunks/config-BXtAmU3s.js.map +0 -1
- package/dist/chunks/config-BZFUM3Ky.js +0 -75
- package/dist/chunks/config-BZFUM3Ky.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-BmNT0Fmx.js +0 -45
- package/dist/chunks/config-BmNT0Fmx.js.map +0 -1
- package/dist/chunks/config-BvVq2gbd.js +0 -13
- package/dist/chunks/config-BvVq2gbd.js.map +0 -1
- package/dist/chunks/config-C4hJxXDa.js +0 -58
- package/dist/chunks/config-C4hJxXDa.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-CB4RVt9M.js +0 -66
- package/dist/chunks/config-CB4RVt9M.js.map +0 -1
- package/dist/chunks/config-CGHLoBlH2.js +0 -5
- package/dist/chunks/config-CGHLoBlH2.js.map +0 -1
- package/dist/chunks/config-COE_vZ-l.js +0 -52
- package/dist/chunks/config-COE_vZ-l.js.map +0 -1
- package/dist/chunks/config-CPdmr7tC.js +0 -39
- package/dist/chunks/config-CPdmr7tC.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-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-DPDFYzIa.js +0 -40
- package/dist/chunks/config-DPDFYzIa.js.map +0 -1
- package/dist/chunks/config-DRKXJ9PW2.js +0 -22
- package/dist/chunks/config-DRKXJ9PW2.js.map +0 -1
- package/dist/chunks/config-DToHb81g.js +0 -45
- package/dist/chunks/config-DToHb81g.js.map +0 -1
- package/dist/chunks/config-D_myOZbA.js +0 -20
- package/dist/chunks/config-D_myOZbA.js.map +0 -1
- package/dist/chunks/config-Dg_6FTvJ.js +0 -35
- package/dist/chunks/config-Dg_6FTvJ.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-DpqOnJiz.js.map +0 -1
- package/dist/chunks/config-Dqy0rPPO2.js +0 -17
- package/dist/chunks/config-Dqy0rPPO2.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-JpHA4Xx0.js +0 -8
- package/dist/chunks/config-JpHA4Xx0.js.map +0 -1
- package/dist/chunks/config-KXuionN3.js +0 -9
- package/dist/chunks/config-KXuionN3.js.map +0 -1
- package/dist/chunks/config-LqDC_rvp.js +0 -78
- package/dist/chunks/config-LqDC_rvp.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-QaIc_gRa2.js.map +0 -1
- package/dist/chunks/config-U4m9PSql2.js +0 -8
- package/dist/chunks/config-U4m9PSql2.js.map +0 -1
- package/dist/chunks/config-XmTv4pnI.js +0 -26
- package/dist/chunks/config-XmTv4pnI.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-eXB87DOi.js.map +0 -1
- package/dist/chunks/config-gZWR75Bh2.js +0 -44
- package/dist/chunks/config-gZWR75Bh2.js.map +0 -1
- package/dist/chunks/config-ipvU0lzP.js +0 -5
- package/dist/chunks/config-ipvU0lzP.js.map +0 -1
- package/dist/chunks/config-xR4XVmcy2.js +0 -8
- package/dist/chunks/config-xR4XVmcy2.js.map +0 -1
- package/dist/chunks/context-DfWYCBB-.js +0 -129
- package/dist/chunks/context-DfWYCBB-.js.map +0 -1
- package/dist/chunks/en-Cr6EkG8c.js +0 -186
- package/dist/chunks/en-Cr6EkG8c.js.map +0 -1
- package/dist/chunks/es-DuYb1Qju.js +0 -20
- package/dist/chunks/es-DuYb1Qju.js.map +0 -1
- package/dist/chunks/es-i08e9Sdo.js +0 -186
- package/dist/chunks/es-i08e9Sdo.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-D3dFjr_N.js +0 -50
- package/dist/chunks/grBadgeStyles-D3dFjr_N.js.map +0 -1
- package/dist/chunks/grButtonStyles-DRBgDmOp.js +0 -191
- package/dist/chunks/grButtonStyles-DRBgDmOp.js.map +0 -1
- package/dist/chunks/grDropdownStyles-HBPkghVr.js +0 -35
- package/dist/chunks/grDropdownStyles-HBPkghVr.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-D8-shx9A.js +0 -47
- package/dist/chunks/grModalStyles-D8-shx9A.js.map +0 -1
- package/dist/chunks/grSelectStyles-CwMUQrBZ.js +0 -97
- package/dist/chunks/grSelectStyles-CwMUQrBZ.js.map +0 -1
- package/dist/chunks/grStyle-CdvxTXPH.js +0 -19
- package/dist/chunks/grStyle-CdvxTXPH.js.map +0 -1
- package/dist/chunks/granularityI18n-SH0I--GW.js +0 -61
- package/dist/chunks/granularityI18n-SH0I--GW.js.map +0 -1
- package/dist/chunks/ru-B5XOOYZt.js +0 -186
- package/dist/chunks/ru-B5XOOYZt.js.map +0 -1
- package/dist/chunks/safelist-BvO8HPnE.js +0 -24
- package/dist/chunks/safelist-BvO8HPnE.js.map +0 -1
- package/dist/chunks/shared-D-v9lit0.js +0 -188
- package/dist/chunks/shared-D-v9lit0.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-B9gmpoPC.js +0 -251
- package/dist/components/GrAlert/chunks/GrAlert-B9gmpoPC.js.map +0 -1
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BVLoQ5tZ.js +0 -499
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-BVLoQ5tZ.js.map +0 -1
- package/dist/components/GrAvatar/chunks/GrAvatar-CTOUVBF7.js +0 -41
- package/dist/components/GrAvatar/chunks/GrAvatar-CTOUVBF7.js.map +0 -1
- package/dist/components/GrBadge/chunks/GrBadge-D1jefy4S.js +0 -40
- package/dist/components/GrBadge/chunks/GrBadge-D1jefy4S.js.map +0 -1
- package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-DWDxHdiQ.js +0 -33
- package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-DWDxHdiQ.js.map +0 -1
- package/dist/components/GrBottomNav/chunks/GrBottomNav-vSE4LXmk.js +0 -31
- package/dist/components/GrBottomNav/chunks/GrBottomNav-vSE4LXmk.js.map +0 -1
- package/dist/components/GrButton/chunks/GrButton-DCi4CUpo.js +0 -128
- package/dist/components/GrButton/chunks/GrButton-DCi4CUpo.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-CxCjyHMb.js +0 -11
- package/dist/components/GrCard/chunks/GrCard-CxCjyHMb.js.map +0 -1
- package/dist/components/GrCheckbox/chunks/GrCheckbox-BbIDRXtl.js +0 -182
- package/dist/components/GrCheckbox/chunks/GrCheckbox-BbIDRXtl.js.map +0 -1
- package/dist/components/GrCollapse/chunks/GrCollapse-DApXztn8.js +0 -205
- package/dist/components/GrCollapse/chunks/GrCollapse-DApXztn8.js.map +0 -1
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-6OyvNbek.js +0 -410
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-6OyvNbek.js.map +0 -1
- package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BtyeBGm8.js +0 -57
- package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BtyeBGm8.js.map +0 -1
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-e4120mWw.js +0 -160
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-e4120mWw.js.map +0 -1
- package/dist/components/GrDataTable/chunks/GrDataTable-C1CzxV0p.js +0 -307
- package/dist/components/GrDataTable/chunks/GrDataTable-C1CzxV0p.js.map +0 -1
- package/dist/components/GrDialog/chunks/GrDialog-BPMvDHOz.js +0 -223
- package/dist/components/GrDialog/chunks/GrDialog-BPMvDHOz.js.map +0 -1
- package/dist/components/GrDialogService/chunks/GrDialogService-CYXCTGm3.js +0 -450
- package/dist/components/GrDialogService/chunks/GrDialogService-CYXCTGm3.js.map +0 -1
- package/dist/components/GrDivider/chunks/GrDivider-BdENZ1w0.js +0 -54
- package/dist/components/GrDivider/chunks/GrDivider-BdENZ1w0.js.map +0 -1
- package/dist/components/GrDrawer/chunks/GrDrawer-KevdZ5BB.js +0 -184
- package/dist/components/GrDrawer/chunks/GrDrawer-KevdZ5BB.js.map +0 -1
- package/dist/components/GrDropdown/chunks/GrDropdown-BKoy8hm-.js +0 -181
- package/dist/components/GrDropdown/chunks/GrDropdown-BKoy8hm-.js.map +0 -1
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-zCatXzmt.js +0 -309
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-zCatXzmt.js.map +0 -1
- package/dist/components/GrEmptyState/chunks/GrEmptyState-CNb0BzjG.js +0 -62
- package/dist/components/GrEmptyState/chunks/GrEmptyState-CNb0BzjG.js.map +0 -1
- package/dist/components/GrFileUpload/chunks/GrFileUpload-CnLgUGDF.js +0 -592
- package/dist/components/GrFileUpload/chunks/GrFileUpload-CnLgUGDF.js.map +0 -1
- package/dist/components/GrForm/chunks/GrForm-CdaFjcyl.js +0 -234
- package/dist/components/GrForm/chunks/GrForm-CdaFjcyl.js.map +0 -1
- package/dist/components/GrFormField/chunks/GrFormField-CXCDBd99.js +0 -100
- package/dist/components/GrFormField/chunks/GrFormField-CXCDBd99.js.map +0 -1
- package/dist/components/GrFormFile/chunks/GrFormFile-CqacSbUl.js +0 -320
- package/dist/components/GrFormFile/chunks/GrFormFile-CqacSbUl.js.map +0 -1
- package/dist/components/GrFormSection/chunks/GrFormSection-C3w9DQJf.js +0 -35
- package/dist/components/GrFormSection/chunks/GrFormSection-C3w9DQJf.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-DDLJkvIU.js +0 -650
- package/dist/components/GrImageViewer/chunks/GrImageViewer-DDLJkvIU.js.map +0 -1
- package/dist/components/GrInput/chunks/GrInput-C1VBL0dg.js +0 -337
- package/dist/components/GrInput/chunks/GrInput-C1VBL0dg.js.map +0 -1
- package/dist/components/GrInputTag/chunks/GrInputTag-BMk9jm42.js +0 -260
- package/dist/components/GrInputTag/chunks/GrInputTag-BMk9jm42.js.map +0 -1
- package/dist/components/GrKbd/chunks/GrKbd-DTspwtoN.js +0 -22
- package/dist/components/GrKbd/chunks/GrKbd-DTspwtoN.js.map +0 -1
- package/dist/components/GrLink/chunks/GrLink-BP0YrnL9.js +0 -100
- package/dist/components/GrLink/chunks/GrLink-BP0YrnL9.js.map +0 -1
- package/dist/components/GrList/chunks/GrList-5RA-tZzE.js +0 -77
- package/dist/components/GrList/chunks/GrList-5RA-tZzE.js.map +0 -1
- package/dist/components/GrLoading/chunks/GrLoading-fRDtVfi7.js +0 -69
- package/dist/components/GrLoading/chunks/GrLoading-fRDtVfi7.js.map +0 -1
- package/dist/components/GrModal/chunks/GrModal-BTu1-5eY.js +0 -233
- package/dist/components/GrModal/chunks/GrModal-BTu1-5eY.js.map +0 -1
- package/dist/components/GrNavbar/chunks/GrNavbar-keKT_mIM.js +0 -75
- package/dist/components/GrNavbar/chunks/GrNavbar-keKT_mIM.js.map +0 -1
- package/dist/components/GrNumberInput/chunks/GrNumberInput-l9ZOHG9D.js +0 -471
- package/dist/components/GrNumberInput/chunks/GrNumberInput-l9ZOHG9D.js.map +0 -1
- package/dist/components/GrPagination/chunks/GrPagination-C5Y69CuK.js +0 -208
- package/dist/components/GrPagination/chunks/GrPagination-C5Y69CuK.js.map +0 -1
- package/dist/components/GrProgressBar/chunks/GrProgressBar-Dqg4Fj9S.js +0 -39
- package/dist/components/GrProgressBar/chunks/GrProgressBar-Dqg4Fj9S.js.map +0 -1
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-DNUjRVB9.js +0 -224
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-DNUjRVB9.js.map +0 -1
- package/dist/components/GrRadio/chunks/GrRadio-DlhxPGqf.js +0 -182
- package/dist/components/GrRadio/chunks/GrRadio-DlhxPGqf.js.map +0 -1
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BXt9iw4q.js +0 -82
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BXt9iw4q.js.map +0 -1
- package/dist/components/GrRating/chunks/GrRating-Co-3Rk4h.js +0 -241
- package/dist/components/GrRating/chunks/GrRating-Co-3Rk4h.js.map +0 -1
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-2CvM7Z08.js +0 -224
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-2CvM7Z08.js.map +0 -1
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C8NGx8pE.js +0 -782
- package/dist/components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-C8NGx8pE.js.map +0 -1
- package/dist/components/GrSegmented/chunks/GrSegmented-CTd3n4PA.js +0 -326
- package/dist/components/GrSegmented/chunks/GrSegmented-CTd3n4PA.js.map +0 -1
- package/dist/components/GrSelect/chunks/GrSelect-Dn3FgJ3Z.js +0 -730
- package/dist/components/GrSelect/chunks/GrSelect-Dn3FgJ3Z.js.map +0 -1
- package/dist/components/GrSidebar/chunks/GrSidebar-cvnzBfj3.js +0 -238
- package/dist/components/GrSidebar/chunks/GrSidebar-cvnzBfj3.js.map +0 -1
- package/dist/components/GrSkeleton/chunks/GrSkeleton-BucA5F4J.js +0 -33
- package/dist/components/GrSkeleton/chunks/GrSkeleton-BucA5F4J.js.map +0 -1
- package/dist/components/GrSlider/chunks/GrSlider-CzzJ3bD-.js +0 -286
- package/dist/components/GrSlider/chunks/GrSlider-CzzJ3bD-.js.map +0 -1
- package/dist/components/GrStatistic/chunks/GrStatistic-gHiAwrX5.js +0 -128
- package/dist/components/GrStatistic/chunks/GrStatistic-gHiAwrX5.js.map +0 -1
- package/dist/components/GrSwitch/chunks/GrSwitch-CJdRvS0s.js +0 -88
- package/dist/components/GrSwitch/chunks/GrSwitch-CJdRvS0s.js.map +0 -1
- package/dist/components/GrTabPanels/chunks/GrTabPanels-DeEMgb_y.js +0 -68
- package/dist/components/GrTabPanels/chunks/GrTabPanels-DeEMgb_y.js.map +0 -1
- package/dist/components/GrTable/chunks/GrTable-sNvsA8wa.js +0 -70
- package/dist/components/GrTable/chunks/GrTable-sNvsA8wa.js.map +0 -1
- package/dist/components/GrTabs/chunks/GrTabs-BqTak0SR.js +0 -123
- package/dist/components/GrTabs/chunks/GrTabs-BqTak0SR.js.map +0 -1
- package/dist/components/GrTextarea/chunks/GrTextarea-DIYBAPpP.js +0 -81
- package/dist/components/GrTextarea/chunks/GrTextarea-DIYBAPpP.js.map +0 -1
- package/dist/components/GrToaster/chunks/GrToaster-BVHjIHcM.js +0 -230
- package/dist/components/GrToaster/chunks/GrToaster-BVHjIHcM.js.map +0 -1
- package/dist/components/GrTooltip/chunks/GrTooltip-BMKH2lIx.js +0 -109
- package/dist/components/GrTooltip/chunks/GrTooltip-BMKH2lIx.js.map +0 -1
- package/dist/components/GrTree/chunks/GrTree-_12ChXRQ.js +0 -838
- package/dist/components/GrTree/chunks/GrTree-_12ChXRQ.js.map +0 -1
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-CdaLG7Xq.js +0 -426
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-CdaLG7Xq.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/GrCommandPalette/hotkey.d.ts +0 -23
- 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-DpqOnJiz.js → config-DpqOnJiz2.js} +0 -0
- /package/dist/chunks/{config-QaIc_gRa2.js → config-QaIc_gRa.js} +0 -0
- /package/dist/chunks/{config-eXB87DOi.js → config-eXB87DOi2.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,82 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Тема кнопки — только ссылки на роли.
|
|
3
|
+
*
|
|
4
|
+
* Заливка solid-кнопки живёт в глобальной роли `--gr-{tone}-solid`: она
|
|
5
|
+
* рассчитана нести светлый текст, в отличие от `--gr-{tone}`, у которого порог
|
|
6
|
+
* 3:1 и тёмный `-fg` на светлой заливке. Обоснование значений — в примечании к
|
|
7
|
+
* группе «Solid fill roles» в `tokens/themes/*.json`.
|
|
8
|
+
*
|
|
9
|
+
* Soft-заливка остаётся формулой: она выводится из тона подмесом к фону, и
|
|
10
|
+
* своего значения ей не нужно.
|
|
11
|
+
*/
|
|
12
|
+
:root {
|
|
13
|
+
--gr-button-primary-bg: var(--gr-primary-solid);
|
|
14
|
+
--gr-button-primary-bg-hover: var(--gr-primary-solid-hover);
|
|
15
|
+
--gr-button-primary-bg-active: var(--gr-primary-solid-active);
|
|
16
|
+
--gr-button-primary-fg: var(--gr-primary-solid-fg);
|
|
17
|
+
--gr-button-primary-soft-bg: color-mix(in srgb, var(--gr-primary) 14%, var(--gr-bg));
|
|
18
|
+
--gr-button-primary-soft-bg-hover: color-mix(in srgb, var(--gr-primary) 18%, var(--gr-bg));
|
|
19
|
+
--gr-button-primary-soft-bg-active: color-mix(in srgb, var(--gr-primary) 24%, var(--gr-bg));
|
|
20
|
+
|
|
21
|
+
--gr-button-success-bg: var(--gr-success-solid);
|
|
22
|
+
--gr-button-success-bg-hover: var(--gr-success-solid-hover);
|
|
23
|
+
--gr-button-success-bg-active: var(--gr-success-solid-active);
|
|
24
|
+
--gr-button-success-fg: var(--gr-success-solid-fg);
|
|
25
|
+
--gr-button-success-soft-bg: var(--gr-success-light);
|
|
26
|
+
--gr-button-success-soft-bg-hover: color-mix(in srgb, var(--gr-success) 20%, var(--gr-bg));
|
|
27
|
+
--gr-button-success-soft-bg-active: color-mix(in srgb, var(--gr-success) 26%, var(--gr-bg));
|
|
28
|
+
|
|
29
|
+
--gr-button-warning-bg: var(--gr-warning-solid);
|
|
30
|
+
--gr-button-warning-bg-hover: var(--gr-warning-solid-hover);
|
|
31
|
+
--gr-button-warning-bg-active: var(--gr-warning-solid-active);
|
|
32
|
+
--gr-button-warning-fg: var(--gr-warning-solid-fg);
|
|
33
|
+
--gr-button-warning-soft-bg: var(--gr-warning-light);
|
|
34
|
+
--gr-button-warning-soft-bg-hover: color-mix(in srgb, var(--gr-warning) 20%, var(--gr-bg));
|
|
35
|
+
--gr-button-warning-soft-bg-active: color-mix(in srgb, var(--gr-warning) 26%, var(--gr-bg));
|
|
36
|
+
|
|
37
|
+
--gr-button-danger-bg: var(--gr-danger-solid);
|
|
38
|
+
--gr-button-danger-bg-hover: var(--gr-danger-solid-hover);
|
|
39
|
+
--gr-button-danger-bg-active: var(--gr-danger-solid-active);
|
|
40
|
+
--gr-button-danger-fg: var(--gr-danger-solid-fg);
|
|
41
|
+
--gr-button-danger-soft-bg: var(--gr-danger-light);
|
|
42
|
+
--gr-button-danger-soft-bg-hover: color-mix(in srgb, var(--gr-danger) 20%, var(--gr-bg));
|
|
43
|
+
--gr-button-danger-soft-bg-active: color-mix(in srgb, var(--gr-danger) 26%, var(--gr-bg));
|
|
44
|
+
|
|
45
|
+
--gr-button-info-bg: var(--gr-info-solid);
|
|
46
|
+
--gr-button-info-bg-hover: var(--gr-info-solid-hover);
|
|
47
|
+
--gr-button-info-bg-active: var(--gr-info-solid-active);
|
|
48
|
+
--gr-button-info-fg: var(--gr-info-solid-fg);
|
|
49
|
+
--gr-button-info-soft-bg: var(--gr-info-light);
|
|
50
|
+
--gr-button-info-soft-bg-hover: color-mix(in srgb, var(--gr-info) 20%, var(--gr-bg));
|
|
51
|
+
--gr-button-info-soft-bg-active: color-mix(in srgb, var(--gr-info) 26%, var(--gr-bg));
|
|
52
|
+
|
|
53
|
+
--gr-button-slate-bg: var(--gr-slate-solid);
|
|
54
|
+
--gr-button-slate-bg-hover: var(--gr-slate-solid-hover);
|
|
55
|
+
--gr-button-slate-bg-active: var(--gr-slate-solid-active);
|
|
56
|
+
--gr-button-slate-fg: var(--gr-slate-solid-fg);
|
|
57
|
+
--gr-button-slate-soft-bg: var(--gr-slate-light);
|
|
58
|
+
--gr-button-slate-soft-bg-hover: color-mix(in srgb, var(--gr-slate) 20%, var(--gr-bg));
|
|
59
|
+
--gr-button-slate-soft-bg-active: color-mix(in srgb, var(--gr-slate) 26%, var(--gr-bg));
|
|
60
|
+
|
|
61
|
+
--gr-button-azure-bg: var(--gr-azure-solid);
|
|
62
|
+
--gr-button-azure-bg-hover: var(--gr-azure-solid-hover);
|
|
63
|
+
--gr-button-azure-bg-active: var(--gr-azure-solid-active);
|
|
64
|
+
--gr-button-azure-fg: var(--gr-azure-solid-fg);
|
|
65
|
+
--gr-button-azure-soft-bg: var(--gr-azure-light);
|
|
66
|
+
--gr-button-azure-soft-bg-hover: color-mix(in srgb, var(--gr-azure) 20%, var(--gr-bg));
|
|
67
|
+
--gr-button-azure-soft-bg-active: color-mix(in srgb, var(--gr-azure) 26%, var(--gr-bg));
|
|
68
|
+
|
|
69
|
+
/*
|
|
70
|
+
* Отключённая кнопка гасится ролями недоступного состояния — теми же, что у
|
|
71
|
+
* вкладки, сегмента и бегунка: недоступное во всём пакете выглядит одинаково,
|
|
72
|
+
* и перекрашивается оно одним местом.
|
|
73
|
+
*
|
|
74
|
+
* Не `opacity`: прозрачность разбавляет выверенные на AA цвета, а кнопка
|
|
75
|
+
* чаще других стоит на цветной подложке, где разбавленный текст проваливается
|
|
76
|
+
* первым. Трио стоит в `:root` и в тёмной теме не повторяется — общая роль
|
|
77
|
+
* сама разная по темам, а ссылка на неё темонезависима.
|
|
78
|
+
*/
|
|
79
|
+
--gr-button-disabled-bg: var(--gr-disabled-bg);
|
|
80
|
+
--gr-button-disabled-fg: var(--gr-disabled-fg);
|
|
81
|
+
--gr-button-disabled-brd: var(--gr-disabled-brd);
|
|
82
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { t as provideGrButtonGroup } from "../../../chunks/context-BfIQv7m1.js";
|
|
2
|
+
import { computed, createElementBlock, defineComponent, normalizeClass, openBlock, renderSlot } from "vue";
|
|
3
|
+
import '../styles.css';//#region src/components/GrButtonGroup/GrButtonGroup.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var _hoisted_1 = [
|
|
5
|
+
"data-orientation",
|
|
6
|
+
"data-attached",
|
|
7
|
+
"aria-label"
|
|
8
|
+
];
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/components/GrButtonGroup/GrButtonGroup.vue
|
|
11
|
+
var GrButtonGroup_default = /* @__PURE__ */ defineComponent({
|
|
12
|
+
__name: "GrButtonGroup",
|
|
13
|
+
props: {
|
|
14
|
+
ariaLabel: { default: void 0 },
|
|
15
|
+
orientation: { default: "horizontal" },
|
|
16
|
+
attached: {
|
|
17
|
+
type: Boolean,
|
|
18
|
+
default: true
|
|
19
|
+
},
|
|
20
|
+
size: { default: void 0 },
|
|
21
|
+
variant: { default: void 0 },
|
|
22
|
+
tone: { default: void 0 }
|
|
23
|
+
},
|
|
24
|
+
setup(__props) {
|
|
25
|
+
const props = __props;
|
|
26
|
+
provideGrButtonGroup({
|
|
27
|
+
size: computed(() => props.size),
|
|
28
|
+
variant: computed(() => props.variant),
|
|
29
|
+
tone: computed(() => props.tone)
|
|
30
|
+
});
|
|
31
|
+
return (_ctx, _cache) => {
|
|
32
|
+
return openBlock(), createElementBlock("div", {
|
|
33
|
+
"data-gr-button-group": "",
|
|
34
|
+
class: normalizeClass(["inline-flex", [__props.orientation === "vertical" ? "flex-col items-stretch" : "items-stretch", __props.attached ? "" : "gap-2"]]),
|
|
35
|
+
"data-orientation": __props.orientation,
|
|
36
|
+
"data-attached": __props.attached ? "" : void 0,
|
|
37
|
+
role: "group",
|
|
38
|
+
"aria-label": __props.ariaLabel
|
|
39
|
+
}, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_1);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
//#endregion
|
|
44
|
+
export { GrButtonGroup_default as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrButtonGroup-CKyiAV8K.js","names":[],"sources":["../../../../src/components/GrButtonGroup/GrButtonGroup.vue","../../../../src/components/GrButtonGroup/GrButtonGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport type { GrButtonSize, GrButtonTone, GrButtonVariant } from '../GrButton/grButtonStyles'\nimport { provideGrButtonGroup } from './context'\n\nexport type GrButtonGroupOrientation = 'horizontal' | 'vertical'\n\nexport interface GrButtonGroupProps {\n /** Доступное имя группы: без него кнопки читаются как несвязанные. */\n ariaLabel?: string\n orientation?: GrButtonGroupOrientation\n /**\n * Склеивать кнопки в один блок. `false` — обычный ряд с зазором: каждая\n * кнопка сохраняет свои радиусы и границы.\n */\n attached?: boolean\n /** Оформление, общее для кнопок группы. Проп самой кнопки сильнее. */\n size?: GrButtonSize\n variant?: GrButtonVariant\n tone?: GrButtonTone\n}\n\nconst props = withDefaults(defineProps<GrButtonGroupProps>(), {\n ariaLabel: undefined,\n orientation: 'horizontal',\n attached: true,\n size: undefined,\n variant: undefined,\n tone: undefined,\n})\n\nprovideGrButtonGroup({\n size: computed(() => props.size),\n variant: computed(() => props.variant),\n tone: computed(() => props.tone),\n})\n</script>\n\n<template>\n <div\n data-gr-button-group\n class=\"inline-flex\"\n :class=\"[\n orientation === 'vertical' ? 'flex-col items-stretch' : 'items-stretch',\n attached ? '' : 'gap-2',\n ]\"\n :data-orientation=\"orientation\"\n :data-attached=\"attached ? '' : undefined\"\n role=\"group\"\n :aria-label=\"ariaLabel\"\n >\n <slot />\n </div>\n</template>\n\n<style>\n/*\n * Склейка держится на понятии «звено группы» — прямом потомке, который сам\n * кнопка или содержит кнопку. Обёртка (тултип, `<span v-if>`, роутерная\n * ссылка) поэтому не разрывает ряд, а не-кнопочный потомок (разделитель,\n * подпись) в склейку не попадает и скругление себе не забирает.\n *\n * Края считаются от соседства звеньев, а не от `:first-child`/`:last-child`:\n * ведущий край гасится у звена, перед которым уже было звено, ведомый — у\n * звена, за которым звено ещё будет.\n */\n[data-gr-button-group] {\n --gr-button-group-radius: var(--gr-button-radius, 0.375rem);\n}\n\n[data-gr-button-group][data-attached] [data-gr-button] {\n border-radius: var(--gr-button-group-radius);\n position: relative;\n}\n\n/* Кнопка под курсором или с фокусом — поверх соседей: иначе её граница и\n фокус-кольцо срезаются наложением. */\n[data-gr-button-group] [data-gr-button]:hover,\n[data-gr-button-group] [data-gr-button]:focus-visible {\n z-index: 1;\n}\n\n/* ————— Горизонтальная группа. */\n\n[data-gr-button-group][data-attached][data-orientation='horizontal'] > :is([data-gr-button], :has([data-gr-button])) ~ :is([data-gr-button], :has([data-gr-button])) {\n margin-inline-start: -1px;\n}\n\n[data-gr-button-group][data-attached][data-orientation='horizontal'] > :is([data-gr-button], :has([data-gr-button])) ~ [data-gr-button],\n[data-gr-button-group][data-attached][data-orientation='horizontal'] > :is([data-gr-button], :has([data-gr-button])) ~ :has([data-gr-button]) [data-gr-button] {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n\n[data-gr-button-group][data-attached][data-orientation='horizontal'] > [data-gr-button]:has(~ :is([data-gr-button], :has([data-gr-button]))),\n[data-gr-button-group][data-attached][data-orientation='horizontal'] > :has([data-gr-button]):has(~ :is([data-gr-button], :has([data-gr-button]))) [data-gr-button] {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n}\n\n/* ————— Вертикальная группа: та же логика, другая ось. */\n\n[data-gr-button-group][data-attached][data-orientation='vertical'] > :is([data-gr-button], :has([data-gr-button])) ~ :is([data-gr-button], :has([data-gr-button])) {\n margin-block-start: -1px;\n}\n\n[data-gr-button-group][data-attached][data-orientation='vertical'] > :is([data-gr-button], :has([data-gr-button])) ~ [data-gr-button],\n[data-gr-button-group][data-attached][data-orientation='vertical'] > :is([data-gr-button], :has([data-gr-button])) ~ :has([data-gr-button]) [data-gr-button] {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n}\n\n[data-gr-button-group][data-attached][data-orientation='vertical'] > [data-gr-button]:has(~ :is([data-gr-button], :has([data-gr-button]))),\n[data-gr-button-group][data-attached][data-orientation='vertical'] > :has([data-gr-button]):has(~ :is([data-gr-button], :has([data-gr-button]))) [data-gr-button] {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport type { GrButtonSize, GrButtonTone, GrButtonVariant } from '../GrButton/grButtonStyles'\nimport { provideGrButtonGroup } from './context'\n\nexport type GrButtonGroupOrientation = 'horizontal' | 'vertical'\n\nexport interface GrButtonGroupProps {\n /** Доступное имя группы: без него кнопки читаются как несвязанные. */\n ariaLabel?: string\n orientation?: GrButtonGroupOrientation\n /**\n * Склеивать кнопки в один блок. `false` — обычный ряд с зазором: каждая\n * кнопка сохраняет свои радиусы и границы.\n */\n attached?: boolean\n /** Оформление, общее для кнопок группы. Проп самой кнопки сильнее. */\n size?: GrButtonSize\n variant?: GrButtonVariant\n tone?: GrButtonTone\n}\n\nconst props = withDefaults(defineProps<GrButtonGroupProps>(), {\n ariaLabel: undefined,\n orientation: 'horizontal',\n attached: true,\n size: undefined,\n variant: undefined,\n tone: undefined,\n})\n\nprovideGrButtonGroup({\n size: computed(() => props.size),\n variant: computed(() => props.variant),\n tone: computed(() => props.tone),\n})\n</script>\n\n<template>\n <div\n data-gr-button-group\n class=\"inline-flex\"\n :class=\"[\n orientation === 'vertical' ? 'flex-col items-stretch' : 'items-stretch',\n attached ? '' : 'gap-2',\n ]\"\n :data-orientation=\"orientation\"\n :data-attached=\"attached ? '' : undefined\"\n role=\"group\"\n :aria-label=\"ariaLabel\"\n >\n <slot />\n </div>\n</template>\n\n<style>\n/*\n * Склейка держится на понятии «звено группы» — прямом потомке, который сам\n * кнопка или содержит кнопку. Обёртка (тултип, `<span v-if>`, роутерная\n * ссылка) поэтому не разрывает ряд, а не-кнопочный потомок (разделитель,\n * подпись) в склейку не попадает и скругление себе не забирает.\n *\n * Края считаются от соседства звеньев, а не от `:first-child`/`:last-child`:\n * ведущий край гасится у звена, перед которым уже было звено, ведомый — у\n * звена, за которым звено ещё будет.\n */\n[data-gr-button-group] {\n --gr-button-group-radius: var(--gr-button-radius, 0.375rem);\n}\n\n[data-gr-button-group][data-attached] [data-gr-button] {\n border-radius: var(--gr-button-group-radius);\n position: relative;\n}\n\n/* Кнопка под курсором или с фокусом — поверх соседей: иначе её граница и\n фокус-кольцо срезаются наложением. */\n[data-gr-button-group] [data-gr-button]:hover,\n[data-gr-button-group] [data-gr-button]:focus-visible {\n z-index: 1;\n}\n\n/* ————— Горизонтальная группа. */\n\n[data-gr-button-group][data-attached][data-orientation='horizontal'] > :is([data-gr-button], :has([data-gr-button])) ~ :is([data-gr-button], :has([data-gr-button])) {\n margin-inline-start: -1px;\n}\n\n[data-gr-button-group][data-attached][data-orientation='horizontal'] > :is([data-gr-button], :has([data-gr-button])) ~ [data-gr-button],\n[data-gr-button-group][data-attached][data-orientation='horizontal'] > :is([data-gr-button], :has([data-gr-button])) ~ :has([data-gr-button]) [data-gr-button] {\n border-start-start-radius: 0;\n border-end-start-radius: 0;\n}\n\n[data-gr-button-group][data-attached][data-orientation='horizontal'] > [data-gr-button]:has(~ :is([data-gr-button], :has([data-gr-button]))),\n[data-gr-button-group][data-attached][data-orientation='horizontal'] > :has([data-gr-button]):has(~ :is([data-gr-button], :has([data-gr-button]))) [data-gr-button] {\n border-start-end-radius: 0;\n border-end-end-radius: 0;\n}\n\n/* ————— Вертикальная группа: та же логика, другая ось. */\n\n[data-gr-button-group][data-attached][data-orientation='vertical'] > :is([data-gr-button], :has([data-gr-button])) ~ :is([data-gr-button], :has([data-gr-button])) {\n margin-block-start: -1px;\n}\n\n[data-gr-button-group][data-attached][data-orientation='vertical'] > :is([data-gr-button], :has([data-gr-button])) ~ [data-gr-button],\n[data-gr-button-group][data-attached][data-orientation='vertical'] > :is([data-gr-button], :has([data-gr-button])) ~ :has([data-gr-button]) [data-gr-button] {\n border-start-start-radius: 0;\n border-start-end-radius: 0;\n}\n\n[data-gr-button-group][data-attached][data-orientation='vertical'] > [data-gr-button]:has(~ :is([data-gr-button], :has([data-gr-button]))),\n[data-gr-button-group][data-attached][data-orientation='vertical'] > :has([data-gr-button]):has(~ :is([data-gr-button], :has([data-gr-button]))) [data-gr-button] {\n border-end-start-radius: 0;\n border-end-end-radius: 0;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAuBA,MAAM,QAAQ;EASd,qBAAqB;GACnB,MAAM,eAAe,MAAM,IAAI;GAC/B,SAAS,eAAe,MAAM,OAAO;GACrC,MAAM,eAAe,MAAM,IAAI;EACjC,CAAC;;uBAIC,mBAaM,OAAA;IAZJ,wBAAA;IACA,OAAK,eAAA,CAAC,eAAa,CACH,QAAA,gBAAW,aAAA,2BAAA,iBAAoE,QAAA,WAAQ,KAAA,OAAA,CAAA,CAAA;IAItG,oBAAkB,QAAA;IAClB,iBAAe,QAAA,WAAQ,KAAQ,KAAA;IAChC,MAAK;IACJ,cAAY,QAAA;OAEb,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,IAAA,UAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { n as useGrButtonGroup } from "../../chunks/context-BfIQv7m1.js";
|
|
2
|
+
import { t as GrButtonGroup_default } from "./chunks/GrButtonGroup-CKyiAV8K.js";
|
|
2
3
|
import { t as grButtonGroupConfig } from "../../chunks/config-DBmdgoVf.js";
|
|
3
|
-
export { GrButtonGroup_default as GrButtonGroup, GrButtonGroup_default as default, grButtonGroupConfig };
|
|
4
|
+
export { GrButtonGroup_default as GrButtonGroup, GrButtonGroup_default as default, grButtonGroupConfig, useGrButtonGroup };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[data-gr-button-group]{--gr-button-group-radius:var(--gr-button-radius,.375rem)}[data-gr-button-group][data-attached] [data-gr-button]{border-radius:var(--gr-button-group-radius);position:relative}[data-gr-button-group] [data-gr-button]:hover,[data-gr-button-group] [data-gr-button]:focus-visible{z-index:1}[data-gr-button-group][data-attached][data-orientation=horizontal]>:is([data-gr-button],:has([data-gr-button]))~:is([data-gr-button],:has([data-gr-button])){margin-inline-start:-1px}[data-gr-button-group][data-attached][data-orientation=horizontal]>:is([data-gr-button],:has([data-gr-button]))~[data-gr-button],[data-gr-button-group][data-attached][data-orientation=horizontal]>:is([data-gr-button],:has([data-gr-button]))~:has([data-gr-button]) [data-gr-button]{border-start-start-radius:0;border-end-start-radius:0}[data-gr-button-group][data-attached][data-orientation=horizontal]>[data-gr-button]:has(~:is([data-gr-button],:has([data-gr-button]))),[data-gr-button-group][data-attached][data-orientation=horizontal]>:has([data-gr-button]):has(~:is([data-gr-button],:has([data-gr-button]))) [data-gr-button]{border-start-end-radius:0;border-end-end-radius:0}[data-gr-button-group][data-attached][data-orientation=vertical]>:is([data-gr-button],:has([data-gr-button]))~:is([data-gr-button],:has([data-gr-button])){margin-block-start:-1px}[data-gr-button-group][data-attached][data-orientation=vertical]>:is([data-gr-button],:has([data-gr-button]))~[data-gr-button],[data-gr-button-group][data-attached][data-orientation=vertical]>:is([data-gr-button],:has([data-gr-button]))~:has([data-gr-button]) [data-gr-button]{border-start-start-radius:0;border-start-end-radius:0}[data-gr-button-group][data-attached][data-orientation=vertical]>[data-gr-button]:has(~:is([data-gr-button],:has([data-gr-button]))),[data-gr-button-group][data-attached][data-orientation=vertical]>:has([data-gr-button]):has(~:is([data-gr-button],:has([data-gr-button]))) [data-gr-button]{border-end-end-radius:0;border-end-start-radius:0}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { a as useGrComponentProp } from "../../../chunks/context-BSYR7RZs.js";
|
|
2
|
+
import { a as sectionDividerBottomClass, i as paddingClass, o as sectionDividerTopClass, r as grCardRootClass } from "../../../chunks/config-gwro_7yn.js";
|
|
3
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, markRaw, normalizeClass, openBlock, renderSlot, resolveDynamicComponent, useSlots, withCtx } from "vue";
|
|
4
|
+
//#endregion
|
|
5
|
+
//#region src/components/GrCard/GrCard.vue
|
|
6
|
+
var GrCard_default = /* @__PURE__ */ defineComponent({
|
|
7
|
+
__name: "GrCard",
|
|
8
|
+
props: {
|
|
9
|
+
padding: { default: void 0 },
|
|
10
|
+
variant: { default: void 0 },
|
|
11
|
+
as: { default: void 0 },
|
|
12
|
+
href: { default: void 0 },
|
|
13
|
+
clickable: {
|
|
14
|
+
type: Boolean,
|
|
15
|
+
default: false
|
|
16
|
+
},
|
|
17
|
+
hoverable: {
|
|
18
|
+
type: Boolean,
|
|
19
|
+
default: false
|
|
20
|
+
},
|
|
21
|
+
bodyClass: { default: void 0 }
|
|
22
|
+
},
|
|
23
|
+
emits: ["click"],
|
|
24
|
+
setup(__props, { emit: __emit }) {
|
|
25
|
+
const props = __props;
|
|
26
|
+
const emit = __emit;
|
|
27
|
+
const slots = useSlots();
|
|
28
|
+
const resolvedPadding = useGrComponentProp("GrCard", "padding", () => props.padding, "none");
|
|
29
|
+
const resolvedVariant = useGrComponentProp("GrCard", "variant", () => props.variant, "elevated");
|
|
30
|
+
const isInteractive = computed(() => !!props.as || !!props.href || props.clickable);
|
|
31
|
+
const rootTag = computed(() => {
|
|
32
|
+
if (props.as) return typeof props.as === "string" ? props.as : markRaw(props.as);
|
|
33
|
+
if (props.href) return "a";
|
|
34
|
+
return props.clickable ? "button" : "div";
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Обёртки появляются, только когда их попросили: карточка без секций остаётся
|
|
38
|
+
* одним `<div>` со слотом внутри — ровно тем, что рендерили `GrCollapse` и
|
|
39
|
+
* `GrList` до появления пропов.
|
|
40
|
+
*/
|
|
41
|
+
const hasSections = computed(() => Boolean(slots.header || slots.footer || props.bodyClass));
|
|
42
|
+
const rootClass = computed(() => grCardRootClass({
|
|
43
|
+
variant: resolvedVariant.value,
|
|
44
|
+
padding: hasSections.value ? "none" : resolvedPadding.value,
|
|
45
|
+
interactive: isInteractive.value,
|
|
46
|
+
hoverable: props.hoverable
|
|
47
|
+
}));
|
|
48
|
+
const sectionPaddingClass = computed(() => paddingClass[resolvedPadding.value]);
|
|
49
|
+
const headerClass = computed(() => [sectionPaddingClass.value, sectionDividerBottomClass].filter(Boolean).join(" "));
|
|
50
|
+
const footerClass = computed(() => [sectionPaddingClass.value, sectionDividerTopClass].filter(Boolean).join(" "));
|
|
51
|
+
const bodySectionClass = computed(() => [sectionPaddingClass.value, props.bodyClass].filter(Boolean).join(" "));
|
|
52
|
+
function onClick(event) {
|
|
53
|
+
emit("click", event);
|
|
54
|
+
}
|
|
55
|
+
return (_ctx, _cache) => {
|
|
56
|
+
return openBlock(), createBlock(resolveDynamicComponent(rootTag.value), {
|
|
57
|
+
"data-gr-card": "",
|
|
58
|
+
type: rootTag.value === "button" ? "button" : void 0,
|
|
59
|
+
href: rootTag.value === "a" ? __props.href : void 0,
|
|
60
|
+
class: normalizeClass(rootClass.value),
|
|
61
|
+
onClick
|
|
62
|
+
}, {
|
|
63
|
+
default: withCtx(() => [hasSections.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
64
|
+
_ctx.$slots.header ? (openBlock(), createElementBlock("div", {
|
|
65
|
+
key: 0,
|
|
66
|
+
"data-gr-card-header": "",
|
|
67
|
+
class: normalizeClass(headerClass.value)
|
|
68
|
+
}, [renderSlot(_ctx.$slots, "header")], 2)) : createCommentVNode("", true),
|
|
69
|
+
createElementVNode("div", {
|
|
70
|
+
"data-gr-card-body": "",
|
|
71
|
+
class: normalizeClass(bodySectionClass.value)
|
|
72
|
+
}, [renderSlot(_ctx.$slots, "default")], 2),
|
|
73
|
+
_ctx.$slots.footer ? (openBlock(), createElementBlock("div", {
|
|
74
|
+
key: 1,
|
|
75
|
+
"data-gr-card-footer": "",
|
|
76
|
+
class: normalizeClass(footerClass.value)
|
|
77
|
+
}, [renderSlot(_ctx.$slots, "footer")], 2)) : createCommentVNode("", true)
|
|
78
|
+
], 64)) : renderSlot(_ctx.$slots, "default", {}, void 0, void 0, 1)]),
|
|
79
|
+
_: 3
|
|
80
|
+
}, 8, [
|
|
81
|
+
"type",
|
|
82
|
+
"href",
|
|
83
|
+
"class"
|
|
84
|
+
]);
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
//#endregion
|
|
89
|
+
export { GrCard_default as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrCard-DOrGHf2x.js","names":["$slots"],"sources":["../../../../src/components/GrCard/GrCard.vue","../../../../src/components/GrCard/GrCard.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, markRaw, useSlots, type Component } from 'vue'\n\nimport { useGrComponentProp } from '../GrConfigProvider/context'\n\nimport {\n grCardRootClass,\n paddingClass,\n sectionDividerBottomClass,\n sectionDividerTopClass,\n type GrCardPadding,\n type GrCardVariant,\n} from './grCardStyles'\n\nexport type { GrCardPadding, GrCardVariant } from './grCardStyles'\n\nexport interface GrCardProps {\n /**\n * Внутренние отступы. По умолчанию `none`: карточка — поверхность, а её\n * содержимое (`GrCollapse`, `GrList`) само знает про свои отступы.\n */\n padding?: GrCardPadding\n /** `elevated` — рамка, фон и тень; `outlined` — без тени; `ghost` — без рамки. */\n variant?: GrCardVariant\n /** Свой корневой тег (`RouterLink`, `Link` от Inertia). Сильнее `href`. */\n as?: string | Component\n /** Карточка-ссылка. */\n href?: string\n /** Карточка-кнопка: интерактивна вся поверхность. */\n clickable?: boolean\n /** Подсветка при наведении без интерактивности. */\n hoverable?: boolean\n /** Классы обёртки тела — она появляется вместе с секциями. */\n bodyClass?: string\n}\n\nexport interface GrCardEmits {\n (e: 'click', event: MouseEvent): void\n}\n\nconst props = withDefaults(defineProps<GrCardProps>(), {\n // Настраивается через `GrConfigProvider`; дефолты — в резолверах ниже.\n padding: undefined,\n variant: undefined,\n as: undefined,\n href: undefined,\n clickable: false,\n hoverable: false,\n bodyClass: undefined,\n})\n\nconst emit = defineEmits<GrCardEmits>()\n\nconst slots = useSlots()\n\nconst resolvedPadding = useGrComponentProp('GrCard', 'padding', () => props.padding, 'none')\nconst resolvedVariant = useGrComponentProp('GrCard', 'variant', () => props.variant, 'elevated')\n\nconst isInteractive = computed(() => !!props.as || !!props.href || props.clickable)\n\nconst rootTag = computed<string | Component>(() => {\n if (props.as)\n return typeof props.as === 'string' ? props.as : markRaw(props.as)\n\n if (props.href)\n return 'a'\n\n return props.clickable ? 'button' : 'div'\n})\n\n/**\n * Обёртки появляются, только когда их попросили: карточка без секций остаётся\n * одним `<div>` со слотом внутри — ровно тем, что рендерили `GrCollapse` и\n * `GrList` до появления пропов.\n */\nconst hasSections = computed(() => Boolean(slots.header || slots.footer || props.bodyClass))\n\nconst rootClass = computed(() => grCardRootClass({\n variant: resolvedVariant.value,\n // С секциями отступ принадлежит каждой из них, а не поверхности целиком.\n padding: hasSections.value ? 'none' : resolvedPadding.value,\n interactive: isInteractive.value,\n hoverable: props.hoverable,\n}))\n\nconst sectionPaddingClass = computed(() => paddingClass[resolvedPadding.value])\n\nconst headerClass = computed(() => [sectionPaddingClass.value, sectionDividerBottomClass].filter(Boolean).join(' '))\nconst footerClass = computed(() => [sectionPaddingClass.value, sectionDividerTopClass].filter(Boolean).join(' '))\nconst bodySectionClass = computed(() => [sectionPaddingClass.value, props.bodyClass].filter(Boolean).join(' '))\n\nfunction onClick(event: MouseEvent): void {\n emit('click', event)\n}\n</script>\n\n<template>\n <component\n :is=\"rootTag\"\n data-gr-card\n :type=\"rootTag === 'button' ? 'button' : undefined\"\n :href=\"rootTag === 'a' ? href : undefined\"\n :class=\"rootClass\"\n @click=\"onClick\"\n >\n <template v-if=\"hasSections\">\n <div v-if=\"$slots.header\" data-gr-card-header :class=\"headerClass\">\n <slot name=\"header\" />\n </div>\n\n <div data-gr-card-body :class=\"bodySectionClass\">\n <slot />\n </div>\n\n <div v-if=\"$slots.footer\" data-gr-card-footer :class=\"footerClass\">\n <slot name=\"footer\" />\n </div>\n </template>\n\n <slot v-else />\n </component>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, markRaw, useSlots, type Component } from 'vue'\n\nimport { useGrComponentProp } from '../GrConfigProvider/context'\n\nimport {\n grCardRootClass,\n paddingClass,\n sectionDividerBottomClass,\n sectionDividerTopClass,\n type GrCardPadding,\n type GrCardVariant,\n} from './grCardStyles'\n\nexport type { GrCardPadding, GrCardVariant } from './grCardStyles'\n\nexport interface GrCardProps {\n /**\n * Внутренние отступы. По умолчанию `none`: карточка — поверхность, а её\n * содержимое (`GrCollapse`, `GrList`) само знает про свои отступы.\n */\n padding?: GrCardPadding\n /** `elevated` — рамка, фон и тень; `outlined` — без тени; `ghost` — без рамки. */\n variant?: GrCardVariant\n /** Свой корневой тег (`RouterLink`, `Link` от Inertia). Сильнее `href`. */\n as?: string | Component\n /** Карточка-ссылка. */\n href?: string\n /** Карточка-кнопка: интерактивна вся поверхность. */\n clickable?: boolean\n /** Подсветка при наведении без интерактивности. */\n hoverable?: boolean\n /** Классы обёртки тела — она появляется вместе с секциями. */\n bodyClass?: string\n}\n\nexport interface GrCardEmits {\n (e: 'click', event: MouseEvent): void\n}\n\nconst props = withDefaults(defineProps<GrCardProps>(), {\n // Настраивается через `GrConfigProvider`; дефолты — в резолверах ниже.\n padding: undefined,\n variant: undefined,\n as: undefined,\n href: undefined,\n clickable: false,\n hoverable: false,\n bodyClass: undefined,\n})\n\nconst emit = defineEmits<GrCardEmits>()\n\nconst slots = useSlots()\n\nconst resolvedPadding = useGrComponentProp('GrCard', 'padding', () => props.padding, 'none')\nconst resolvedVariant = useGrComponentProp('GrCard', 'variant', () => props.variant, 'elevated')\n\nconst isInteractive = computed(() => !!props.as || !!props.href || props.clickable)\n\nconst rootTag = computed<string | Component>(() => {\n if (props.as)\n return typeof props.as === 'string' ? props.as : markRaw(props.as)\n\n if (props.href)\n return 'a'\n\n return props.clickable ? 'button' : 'div'\n})\n\n/**\n * Обёртки появляются, только когда их попросили: карточка без секций остаётся\n * одним `<div>` со слотом внутри — ровно тем, что рендерили `GrCollapse` и\n * `GrList` до появления пропов.\n */\nconst hasSections = computed(() => Boolean(slots.header || slots.footer || props.bodyClass))\n\nconst rootClass = computed(() => grCardRootClass({\n variant: resolvedVariant.value,\n // С секциями отступ принадлежит каждой из них, а не поверхности целиком.\n padding: hasSections.value ? 'none' : resolvedPadding.value,\n interactive: isInteractive.value,\n hoverable: props.hoverable,\n}))\n\nconst sectionPaddingClass = computed(() => paddingClass[resolvedPadding.value])\n\nconst headerClass = computed(() => [sectionPaddingClass.value, sectionDividerBottomClass].filter(Boolean).join(' '))\nconst footerClass = computed(() => [sectionPaddingClass.value, sectionDividerTopClass].filter(Boolean).join(' '))\nconst bodySectionClass = computed(() => [sectionPaddingClass.value, props.bodyClass].filter(Boolean).join(' '))\n\nfunction onClick(event: MouseEvent): void {\n emit('click', event)\n}\n</script>\n\n<template>\n <component\n :is=\"rootTag\"\n data-gr-card\n :type=\"rootTag === 'button' ? 'button' : undefined\"\n :href=\"rootTag === 'a' ? href : undefined\"\n :class=\"rootClass\"\n @click=\"onClick\"\n >\n <template v-if=\"hasSections\">\n <div v-if=\"$slots.header\" data-gr-card-header :class=\"headerClass\">\n <slot name=\"header\" />\n </div>\n\n <div data-gr-card-body :class=\"bodySectionClass\">\n <slot />\n </div>\n\n <div v-if=\"$slots.footer\" data-gr-card-footer :class=\"footerClass\">\n <slot name=\"footer\" />\n </div>\n </template>\n\n <slot v-else />\n </component>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;EAwCA,MAAM,QAAQ;EAWd,MAAM,OAAO;EAEb,MAAM,QAAQ,SAAS;EAEvB,MAAM,kBAAkB,mBAAmB,UAAU,iBAAiB,MAAM,SAAS,MAAM;EAC3F,MAAM,kBAAkB,mBAAmB,UAAU,iBAAiB,MAAM,SAAS,UAAU;EAE/F,MAAM,gBAAgB,eAAe,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,MAAM,QAAQ,MAAM,SAAS;EAElF,MAAM,UAAU,eAAmC;GACjD,IAAI,MAAM,IACR,OAAO,OAAO,MAAM,OAAO,WAAW,MAAM,KAAK,QAAQ,MAAM,EAAE;GAEnE,IAAI,MAAM,MACR,OAAO;GAET,OAAO,MAAM,YAAY,WAAW;EACtC,CAAC;;;;;;EAOD,MAAM,cAAc,eAAe,QAAQ,MAAM,UAAU,MAAM,UAAU,MAAM,SAAS,CAAC;EAE3F,MAAM,YAAY,eAAe,gBAAgB;GAC/C,SAAS,gBAAgB;GAEzB,SAAS,YAAY,QAAQ,SAAS,gBAAgB;GACtD,aAAa,cAAc;GAC3B,WAAW,MAAM;EACnB,CAAC,CAAC;EAEF,MAAM,sBAAsB,eAAe,aAAa,gBAAgB,MAAM;EAE9E,MAAM,cAAc,eAAe,CAAC,oBAAoB,OAAO,yBAAyB,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC;EACnH,MAAM,cAAc,eAAe,CAAC,oBAAoB,OAAO,sBAAsB,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC;EAChH,MAAM,mBAAmB,eAAe,CAAC,oBAAoB,OAAO,MAAM,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC;EAE9G,SAAS,QAAQ,OAAyB;GACxC,KAAK,SAAS,KAAK;EACrB;;uBAIE,YAuBY,wBAtBL,QAAA,KAAO,GAAA;IACZ,gBAAA;IACC,MAAM,QAAA,UAAO,WAAA,WAA2B,KAAA;IACxC,MAAM,QAAA,UAAO,MAAW,QAAA,OAAO,KAAA;IAC/B,OAAK,eAAE,UAAA,KAAS;IACT;;2BAcG,CAZK,YAAA,SAAA,UAAA,GAAhB,mBAYW,UAAA,EAAA,KAAA,EAAA,GAAA;KAXEA,KAAAA,OAAO,UAAA,UAAA,GAAlB,mBAEM,OAAA;;MAFoB,uBAAA;MAAqB,OAAK,eAAE,YAAA,KAAW;SAC/D,WAAsB,KAAA,QAAA,QAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;KAGxB,mBAEM,OAAA;MAFD,qBAAA;MAAmB,OAAK,eAAE,iBAAA,KAAgB;SAC7C,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA;KAGCA,KAAAA,OAAO,UAAA,UAAA,GAAlB,mBAEM,OAAA;;MAFoB,uBAAA;MAAqB,OAAK,eAAE,YAAA,KAAW;SAC/D,WAAsB,KAAA,QAAA,QAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;cAI1B,WAAe,KAAA,QAAA,WAAA,CAAA,GAAA,KAAA,GAAA,KAAA,GAAA,CAAA,CAAA,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { t as
|
|
2
|
-
import { t as
|
|
3
|
-
export { GrCard_default as GrCard, GrCard_default as default, grCardConfig };
|
|
1
|
+
import { n as grCardSafelist, t as grCardConfig } from "../../chunks/config-gwro_7yn.js";
|
|
2
|
+
import { t as GrCard_default } from "./chunks/GrCard-DOrGHf2x.js";
|
|
3
|
+
export { GrCard_default as GrCard, GrCard_default as default, grCardConfig, grCardSafelist };
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { o as useGrComponentSize } from "../../../chunks/context-BSYR7RZs.js";
|
|
2
|
+
import { useGrFormControl } from "../../../composables/useGrFormControl.js";
|
|
3
|
+
import { t as check_default } from "../../../chunks/check-BZI24Qs4.js";
|
|
4
|
+
import { t as minus_default } from "../../../chunks/minus-oxdbHF33.js";
|
|
5
|
+
import { d as grCheckboxIndeterminateIconClass, f as grCheckboxLabelClass, l as grCheckboxCheckIconClass, p as grCheckboxRootClass, u as grCheckboxControlClass } from "../../../chunks/grCheckboxStyles-hOAgURZG.js";
|
|
6
|
+
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, inject, normalizeClass, onMounted, openBlock, ref, renderSlot, unref, useId, useSlots, watch, withKeys, withModifiers } from "vue";
|
|
7
|
+
//#region src/components/GrCheckbox/grCheckboxGroupContext.ts
|
|
8
|
+
var GR_CHECKBOX_GROUP_CONTEXT = Symbol("GR_CHECKBOX_GROUP_CONTEXT");
|
|
9
|
+
//#endregion
|
|
10
|
+
//#region src/components/GrCheckbox/GrCheckbox.vue?vue&type=script&setup=true&lang.ts
|
|
11
|
+
var _hoisted_1 = [
|
|
12
|
+
"id",
|
|
13
|
+
"checked",
|
|
14
|
+
"disabled",
|
|
15
|
+
"name",
|
|
16
|
+
"value",
|
|
17
|
+
"form"
|
|
18
|
+
];
|
|
19
|
+
var _hoisted_2 = [
|
|
20
|
+
"id",
|
|
21
|
+
"aria-checked",
|
|
22
|
+
"aria-disabled",
|
|
23
|
+
"aria-required",
|
|
24
|
+
"aria-readonly",
|
|
25
|
+
"aria-invalid",
|
|
26
|
+
"aria-describedby",
|
|
27
|
+
"aria-label",
|
|
28
|
+
"aria-labelledby",
|
|
29
|
+
"tabindex",
|
|
30
|
+
"onKeydown"
|
|
31
|
+
];
|
|
32
|
+
var _hoisted_3 = ["id"];
|
|
33
|
+
//#endregion
|
|
34
|
+
//#region src/components/GrCheckbox/GrCheckbox.vue
|
|
35
|
+
var GrCheckbox_default = /* @__PURE__ */ defineComponent({
|
|
36
|
+
__name: "GrCheckbox",
|
|
37
|
+
props: {
|
|
38
|
+
modelValue: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
default: void 0
|
|
41
|
+
},
|
|
42
|
+
disabled: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
default: void 0
|
|
45
|
+
},
|
|
46
|
+
name: { default: void 0 },
|
|
47
|
+
value: { default: "on" },
|
|
48
|
+
required: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
default: false
|
|
51
|
+
},
|
|
52
|
+
readonly: {
|
|
53
|
+
type: Boolean,
|
|
54
|
+
default: false
|
|
55
|
+
},
|
|
56
|
+
invalid: {
|
|
57
|
+
type: Boolean,
|
|
58
|
+
default: false
|
|
59
|
+
},
|
|
60
|
+
form: { default: void 0 },
|
|
61
|
+
id: { default: void 0 },
|
|
62
|
+
indeterminate: {
|
|
63
|
+
type: Boolean,
|
|
64
|
+
default: false
|
|
65
|
+
},
|
|
66
|
+
ariaLabel: { default: void 0 },
|
|
67
|
+
labelPosition: { default: "end" },
|
|
68
|
+
size: { default: void 0 }
|
|
69
|
+
},
|
|
70
|
+
emits: [
|
|
71
|
+
"update:modelValue",
|
|
72
|
+
"change",
|
|
73
|
+
"focus",
|
|
74
|
+
"blur"
|
|
75
|
+
],
|
|
76
|
+
setup(__props, { expose: __expose, emit: __emit }) {
|
|
77
|
+
/**
|
|
78
|
+
* GrCheckbox — GR-примитив чекбокса с нативным скрытым `<input type="checkbox">`
|
|
79
|
+
* для интеграции с HTML-формами (`FormData`, `form`).
|
|
80
|
+
*
|
|
81
|
+
* Источник истины — нативный input: клик по нему (в т.ч. по внешнему
|
|
82
|
+
* `<label for="...">`) слушается через `@change` и эмитит модель. Клик по видимой
|
|
83
|
+
* части компонента переключает через корневой обработчик.
|
|
84
|
+
*
|
|
85
|
+
* Клавиатура: `Space` переключает значение (Enter — намеренно нет, это нестандартно
|
|
86
|
+
* для чекбоксов). Фокус — на самом контроле (квадратике), как у нативного чекбокса.
|
|
87
|
+
*
|
|
88
|
+
* A11y: `role="checkbox"` + `aria-checked` (`true`/`false`/`mixed`) + `aria-disabled`.
|
|
89
|
+
* Роль висит **только на контроле**, а не на всей строке с подписью — по двум причинам:
|
|
90
|
+
* - роль объявляет своих потомков презентационными, поэтому ни нативный input, ни
|
|
91
|
+
* интерактивная подпись (ссылка на политику, кнопка «показать изменения») не могут
|
|
92
|
+
* жить внутри: скринридер теряет их, axe падает на `nested-interactive`;
|
|
93
|
+
* - имя виджета берётся из подписи через `aria-labelledby`, что и позволяет держать
|
|
94
|
+
* её снаружи вместе со всем её интерактивным содержимым.
|
|
95
|
+
*
|
|
96
|
+
* `required` объявляется только через `aria-required`, на скрытый input он не уходит.
|
|
97
|
+
* Нативная проверка потребовала бы фокуса на невалидном контроле, а он невидим и
|
|
98
|
+
* `aria-hidden` — Chrome в таком случае молча отменяет сабмит всей формы
|
|
99
|
+
* («An invalid form control … is not focusable»). Обязательность проверяет
|
|
100
|
+
* `GrForm` правилом `required` — см. `docs/components/GrCheckbox.md`.
|
|
101
|
+
*
|
|
102
|
+
* Внутри `GrCheckboxGroup` значение приходит из группы: свой `modelValue` не
|
|
103
|
+
* задаётся, а `value` сравнивается с массивом выбранных.
|
|
104
|
+
*/
|
|
105
|
+
const hiddenInputStyle = {
|
|
106
|
+
position: "absolute",
|
|
107
|
+
opacity: "0",
|
|
108
|
+
width: "0",
|
|
109
|
+
height: "0",
|
|
110
|
+
pointerEvents: "none"
|
|
111
|
+
};
|
|
112
|
+
const props = __props;
|
|
113
|
+
const emit = __emit;
|
|
114
|
+
const slots = useSlots();
|
|
115
|
+
const labelId = useId();
|
|
116
|
+
const hasLabel = computed(() => Boolean(slots.default));
|
|
117
|
+
const group = inject(GR_CHECKBOX_GROUP_CONTEXT, null);
|
|
118
|
+
const checked = computed(() => {
|
|
119
|
+
if (props.modelValue !== void 0) return props.modelValue;
|
|
120
|
+
if (group) return group.modelValue.value.includes(props.value);
|
|
121
|
+
return false;
|
|
122
|
+
});
|
|
123
|
+
const resolvedName = computed(() => props.name ?? group?.name.value);
|
|
124
|
+
const { disabled: isDisabled, id: fieldControlId, labelId: fieldLabelId, describedBy, invalid: fieldInvalid, required: fieldRequired, readonly: fieldReadonly } = useGrFormControl(() => props);
|
|
125
|
+
const resolvedDisabled = computed(() => isDisabled.value || Boolean(group?.disabled.value));
|
|
126
|
+
const isRequired = computed(() => fieldRequired.value || Boolean(group?.required.value));
|
|
127
|
+
const isReadonly = computed(() => fieldReadonly.value || Boolean(group?.readonly.value));
|
|
128
|
+
const isInvalid = computed(() => fieldInvalid.value);
|
|
129
|
+
const showsInvalid = computed(() => isInvalid.value || Boolean(group?.invalid.value));
|
|
130
|
+
const labelledBy = computed(() => {
|
|
131
|
+
if (props.ariaLabel) return void 0;
|
|
132
|
+
if (hasLabel.value) return labelId;
|
|
133
|
+
return fieldLabelId.value;
|
|
134
|
+
});
|
|
135
|
+
const resolvedSize = useGrComponentSize(() => props.size ?? group?.size.value, { component: "GrCheckbox" });
|
|
136
|
+
const rootClassName = computed(() => grCheckboxRootClass({
|
|
137
|
+
size: resolvedSize.value,
|
|
138
|
+
disabled: resolvedDisabled.value,
|
|
139
|
+
labelPosition: props.labelPosition
|
|
140
|
+
}));
|
|
141
|
+
const controlClassName = computed(() => grCheckboxControlClass({
|
|
142
|
+
size: resolvedSize.value,
|
|
143
|
+
active: checked.value || props.indeterminate,
|
|
144
|
+
disabled: resolvedDisabled.value,
|
|
145
|
+
invalid: showsInvalid.value
|
|
146
|
+
}));
|
|
147
|
+
const indeterminateIconClassName = computed(() => grCheckboxIndeterminateIconClass(resolvedSize.value));
|
|
148
|
+
const checkIconClassName = computed(() => grCheckboxCheckIconClass({
|
|
149
|
+
size: resolvedSize.value,
|
|
150
|
+
checked: checked.value
|
|
151
|
+
}));
|
|
152
|
+
const labelClassName = computed(() => grCheckboxLabelClass(resolvedSize.value));
|
|
153
|
+
const nativeInput = ref(null);
|
|
154
|
+
const control = ref(null);
|
|
155
|
+
watch(checked, (value) => {
|
|
156
|
+
if (nativeInput.value && nativeInput.value.checked !== value) nativeInput.value.checked = value;
|
|
157
|
+
});
|
|
158
|
+
function syncIndeterminate() {
|
|
159
|
+
if (nativeInput.value) nativeInput.value.indeterminate = props.indeterminate;
|
|
160
|
+
}
|
|
161
|
+
watch(() => props.indeterminate, syncIndeterminate);
|
|
162
|
+
onMounted(syncIndeterminate);
|
|
163
|
+
function setChecked(next) {
|
|
164
|
+
if (resolvedDisabled.value || isReadonly.value) {
|
|
165
|
+
if (nativeInput.value) nativeInput.value.checked = checked.value;
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
if (props.modelValue !== void 0 || !group) {
|
|
169
|
+
emit("update:modelValue", next);
|
|
170
|
+
emit("change", next);
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
group.toggle(props.value, next);
|
|
174
|
+
emit("change", next);
|
|
175
|
+
}
|
|
176
|
+
function toggle() {
|
|
177
|
+
setChecked(props.indeterminate ? true : !checked.value);
|
|
178
|
+
}
|
|
179
|
+
function onNativeChange(e) {
|
|
180
|
+
setChecked(e.target.checked);
|
|
181
|
+
}
|
|
182
|
+
function onNativeFocus() {
|
|
183
|
+
control.value?.focus();
|
|
184
|
+
}
|
|
185
|
+
function focus() {
|
|
186
|
+
control.value?.focus();
|
|
187
|
+
}
|
|
188
|
+
function blur() {
|
|
189
|
+
control.value?.blur();
|
|
190
|
+
}
|
|
191
|
+
__expose({
|
|
192
|
+
focus,
|
|
193
|
+
blur
|
|
194
|
+
});
|
|
195
|
+
function isInteractiveTarget(target) {
|
|
196
|
+
const el = target;
|
|
197
|
+
if (!el) return false;
|
|
198
|
+
return !!el.closest("a,button,input,select,textarea,label,[role=\"button\"],[role=\"link\"]");
|
|
199
|
+
}
|
|
200
|
+
function onClick(e) {
|
|
201
|
+
if (isInteractiveTarget(e.target)) return;
|
|
202
|
+
toggle();
|
|
203
|
+
}
|
|
204
|
+
return (_ctx, _cache) => {
|
|
205
|
+
return openBlock(), createElementBlock("div", {
|
|
206
|
+
"data-gr-checkbox": "",
|
|
207
|
+
class: normalizeClass(rootClassName.value),
|
|
208
|
+
onClick
|
|
209
|
+
}, [
|
|
210
|
+
createElementVNode("input", {
|
|
211
|
+
id: __props.id,
|
|
212
|
+
ref_key: "nativeInput",
|
|
213
|
+
ref: nativeInput,
|
|
214
|
+
type: "checkbox",
|
|
215
|
+
checked: checked.value,
|
|
216
|
+
disabled: resolvedDisabled.value,
|
|
217
|
+
name: resolvedName.value,
|
|
218
|
+
value: __props.value,
|
|
219
|
+
form: __props.form,
|
|
220
|
+
tabindex: "-1",
|
|
221
|
+
"aria-hidden": "true",
|
|
222
|
+
style: hiddenInputStyle,
|
|
223
|
+
onChange: onNativeChange,
|
|
224
|
+
onFocus: onNativeFocus
|
|
225
|
+
}, null, 40, _hoisted_1),
|
|
226
|
+
createElementVNode("span", {
|
|
227
|
+
id: unref(fieldControlId),
|
|
228
|
+
ref_key: "control",
|
|
229
|
+
ref: control,
|
|
230
|
+
"data-gr-checkbox-indicator": "",
|
|
231
|
+
role: "checkbox",
|
|
232
|
+
"aria-checked": __props.indeterminate ? "mixed" : checked.value ? "true" : "false",
|
|
233
|
+
"aria-disabled": resolvedDisabled.value ? "true" : void 0,
|
|
234
|
+
"aria-required": isRequired.value ? "true" : void 0,
|
|
235
|
+
"aria-readonly": isReadonly.value ? "true" : void 0,
|
|
236
|
+
"aria-invalid": isInvalid.value ? "true" : void 0,
|
|
237
|
+
"aria-describedby": unref(describedBy),
|
|
238
|
+
"aria-label": __props.ariaLabel,
|
|
239
|
+
"aria-labelledby": labelledBy.value,
|
|
240
|
+
tabindex: resolvedDisabled.value ? -1 : 0,
|
|
241
|
+
class: normalizeClass(controlClassName.value),
|
|
242
|
+
onKeydown: withKeys(withModifiers(toggle, ["prevent"]), ["space"]),
|
|
243
|
+
onFocus: _cache[0] || (_cache[0] = ($event) => emit("focus", $event)),
|
|
244
|
+
onBlur: _cache[1] || (_cache[1] = ($event) => emit("blur", $event))
|
|
245
|
+
}, [__props.indeterminate ? (openBlock(), createBlock(unref(minus_default), {
|
|
246
|
+
key: 0,
|
|
247
|
+
class: normalizeClass(indeterminateIconClassName.value)
|
|
248
|
+
}, null, 8, ["class"])) : (openBlock(), createBlock(unref(check_default), {
|
|
249
|
+
key: 1,
|
|
250
|
+
class: normalizeClass(checkIconClassName.value)
|
|
251
|
+
}, null, 8, ["class"]))], 42, _hoisted_2),
|
|
252
|
+
hasLabel.value ? (openBlock(), createElementBlock("span", {
|
|
253
|
+
key: 0,
|
|
254
|
+
id: unref(labelId),
|
|
255
|
+
class: normalizeClass(labelClassName.value)
|
|
256
|
+
}, [renderSlot(_ctx.$slots, "default")], 10, _hoisted_3)) : createCommentVNode("", true)
|
|
257
|
+
], 2);
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
});
|
|
261
|
+
//#endregion
|
|
262
|
+
export { GR_CHECKBOX_GROUP_CONTEXT as n, GrCheckbox_default as t };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrCheckbox-BLOp8452.js","names":[],"sources":["../../../../src/components/GrCheckbox/grCheckboxGroupContext.ts","../../../../src/components/GrCheckbox/GrCheckbox.vue","../../../../src/components/GrCheckbox/GrCheckbox.vue"],"sourcesContent":["import type { ComputedRef, InjectionKey } from 'vue'\n\nimport type { GrCheckboxSize } from './grCheckboxStyles'\n\nexport type GrCheckboxGroupContext = {\n /** Выбранные значения группы. Чекбокс сравнивает с ними свой `value`. */\n modelValue: ComputedRef<string[]>\n name: ComputedRef<string | undefined>\n disabled: ComputedRef<boolean>\n readonly: ComputedRef<boolean>\n invalid: ComputedRef<boolean>\n /**\n * Обязательность группы объявляют её чекбоксы: `role=\"group\"` не поддерживает\n * `aria-required` (axe: `aria-allowed-attr`), а `role=\"checkbox\"` — да.\n */\n required: ComputedRef<boolean>\n size: ComputedRef<GrCheckboxSize>\n /** Добавляет или убирает значение из выбранных. */\n toggle: (value: string, checked: boolean) => void\n}\n\nexport const GR_CHECKBOX_GROUP_CONTEXT: InjectionKey<GrCheckboxGroupContext> = Symbol('GR_CHECKBOX_GROUP_CONTEXT')\n","<script setup lang=\"ts\">\n/**\n * GrCheckbox — GR-примитив чекбокса с нативным скрытым `<input type=\"checkbox\">`\n * для интеграции с HTML-формами (`FormData`, `form`).\n *\n * Источник истины — нативный input: клик по нему (в т.ч. по внешнему\n * `<label for=\"...\">`) слушается через `@change` и эмитит модель. Клик по видимой\n * части компонента переключает через корневой обработчик.\n *\n * Клавиатура: `Space` переключает значение (Enter — намеренно нет, это нестандартно\n * для чекбоксов). Фокус — на самом контроле (квадратике), как у нативного чекбокса.\n *\n * A11y: `role=\"checkbox\"` + `aria-checked` (`true`/`false`/`mixed`) + `aria-disabled`.\n * Роль висит **только на контроле**, а не на всей строке с подписью — по двум причинам:\n * - роль объявляет своих потомков презентационными, поэтому ни нативный input, ни\n * интерактивная подпись (ссылка на политику, кнопка «показать изменения») не могут\n * жить внутри: скринридер теряет их, axe падает на `nested-interactive`;\n * - имя виджета берётся из подписи через `aria-labelledby`, что и позволяет держать\n * её снаружи вместе со всем её интерактивным содержимым.\n *\n * `required` объявляется только через `aria-required`, на скрытый input он не уходит.\n * Нативная проверка потребовала бы фокуса на невалидном контроле, а он невидим и\n * `aria-hidden` — Chrome в таком случае молча отменяет сабмит всей формы\n * («An invalid form control … is not focusable»). Обязательность проверяет\n * `GrForm` правилом `required` — см. `docs/components/GrCheckbox.md`.\n *\n * Внутри `GrCheckboxGroup` значение приходит из группы: свой `modelValue` не\n * задаётся, а `value` сравнивается с массивом выбранных.\n */\nimport { computed, inject, onMounted, ref, useId, useSlots, watch } from 'vue'\nimport IconCheck from '~icons/lucide/check'\nimport IconMinus from '~icons/lucide/minus'\n\nimport { useGrComponentSize } from '../GrConfigProvider/context'\nimport { useGrFormControl } from '../../composables/useGrFormControl'\n\nimport { GR_CHECKBOX_GROUP_CONTEXT } from './grCheckboxGroupContext'\nimport {\n grCheckboxCheckIconClass,\n grCheckboxControlClass,\n grCheckboxIndeterminateIconClass,\n grCheckboxLabelClass,\n grCheckboxRootClass,\n type GrCheckboxLabelPosition,\n type GrCheckboxSize,\n} from './grCheckboxStyles'\n\nexport type { GrCheckboxLabelPosition, GrCheckboxSize } from './grCheckboxStyles'\n\nexport interface GrCheckboxProps {\n /** Не задан внутри `GrCheckboxGroup` — состояние берётся из группы. */\n modelValue?: boolean\n disabled?: boolean\n name?: string\n value?: string\n /** Обязательное поле: объявляется как `aria-required`, нативной проверки нет. */\n required?: boolean\n /** Только для чтения: состояние видно, но не переключается. */\n readonly?: boolean\n /** Визуальное и ARIA-состояние ошибки. */\n invalid?: boolean\n form?: string\n /** Пробрасывается на скрытый нативный `<input>`, чтобы работал `<label for=\"...\">`. */\n id?: string\n /** Промежуточное («смешанное») состояние: `aria-checked=\"mixed\"`, индикатор — тире. */\n indeterminate?: boolean\n /** Имя контрола, когда подписи в слоте нет (или она чисто визуальная). */\n ariaLabel?: string\n /** Сторона подписи относительно контрола. */\n labelPosition?: GrCheckboxLabelPosition\n /** Размер контрола. Не задан — берётся из группы, затем из `GrConfigProvider`, иначе `md`. */\n size?: GrCheckboxSize\n}\n\nexport interface GrCheckboxEmits {\n (e: 'update:modelValue', value: boolean): void\n (e: 'change', value: boolean): void\n (e: 'focus', event: FocusEvent): void\n (e: 'blur', event: FocusEvent): void\n}\n\nconst hiddenInputStyle = {\n position: 'absolute',\n opacity: '0',\n width: '0',\n height: '0',\n pointerEvents: 'none',\n} as const\n\nconst props = withDefaults(defineProps<GrCheckboxProps>(), {\n modelValue: undefined,\n disabled: undefined,\n name: undefined,\n value: 'on',\n required: false,\n readonly: false,\n invalid: false,\n form: undefined,\n id: undefined,\n indeterminate: false,\n ariaLabel: undefined,\n labelPosition: 'end',\n size: undefined,\n})\n\nconst emit = defineEmits<GrCheckboxEmits>()\ndefineSlots<{\n /** Подпись флажка. Может содержать ссылки: роль остаётся на самом контроле. */\n default?: () => any\n}>()\n\n\nconst slots = useSlots()\n\nconst labelId = useId()\nconst hasLabel = computed(() => Boolean(slots.default))\n\nconst group = inject(GR_CHECKBOX_GROUP_CONTEXT, null)\n\nconst checked = computed(() => {\n if (props.modelValue !== undefined)\n return props.modelValue\n\n if (group)\n return group.modelValue.value.includes(props.value)\n\n return false\n})\n\nconst resolvedName = computed(() => props.name ?? group?.name.value)\n\n// Контекст `GrFormField`. Id поля вешается на `span[role=\"checkbox\"]` — именно он\n// виджет и держит фокус; на скрытом `aria-hidden`-инпуте он был бы бесполезен\n// (клик по подписи уводил бы фокус в невидимый элемент). Роль-виджет не является\n// labelable-элементом, поэтому имя от подписи поля приходит через `aria-labelledby`.\nconst {\n disabled: isDisabled,\n id: fieldControlId,\n labelId: fieldLabelId,\n describedBy,\n invalid: fieldInvalid,\n required: fieldRequired,\n readonly: fieldReadonly,\n} = useGrFormControl(() => props)\n\n// «Или», а не `??`: `isDisabled` уже сведён к булеву (свой проп + контекст\n// поля и формы), и `??` до группы просто не дошёл бы.\nconst resolvedDisabled = computed(() => isDisabled.value || Boolean(group?.disabled.value))\n\n// `role=\"group\"` не поддерживает `aria-required` и `aria-readonly` — объявлять\n// обязательность и режим чтения группы обязаны сами чекбоксы.\nconst isRequired = computed(() => fieldRequired.value || Boolean(group?.required.value))\n\nconst isReadonly = computed(() => fieldReadonly.value || Boolean(group?.readonly.value))\n\n// Ошибка группы красит чекбоксы, но не объявляется на каждом из них: `aria-invalid`\n// уже висит на самой группе, и дублировать его на всех пунктах — значит заставить\n// диктор повторить «неверное значение» столько раз, сколько в группе чекбоксов.\nconst isInvalid = computed(() => fieldInvalid.value)\nconst showsInvalid = computed(() => isInvalid.value || Boolean(group?.invalid.value))\n\nconst labelledBy = computed(() => {\n if (props.ariaLabel) return undefined\n if (hasLabel.value) return labelId\n return fieldLabelId.value\n})\n\n// Эффективный размер: локальный проп → группа → `GrConfigProvider` → `md`.\nconst resolvedSize = useGrComponentSize(\n () => props.size ?? group?.size.value,\n { component: 'GrCheckbox' },\n)\n\nconst rootClassName = computed(() => grCheckboxRootClass({\n size: resolvedSize.value,\n disabled: resolvedDisabled.value,\n labelPosition: props.labelPosition,\n}))\n\nconst controlClassName = computed(() => grCheckboxControlClass({\n size: resolvedSize.value,\n active: checked.value || props.indeterminate,\n disabled: resolvedDisabled.value,\n invalid: showsInvalid.value,\n}))\n\nconst indeterminateIconClassName = computed(() => grCheckboxIndeterminateIconClass(resolvedSize.value))\n\nconst checkIconClassName = computed(() => grCheckboxCheckIconClass({\n size: resolvedSize.value,\n checked: checked.value,\n}))\n\nconst labelClassName = computed(() => grCheckboxLabelClass(resolvedSize.value))\n\n// Держим `.checked` на нативном input синхронно с состоянием — `:checked`-биндинг\n// на скрытом элементе иногда отстаёт при программных обновлениях.\nconst nativeInput = ref<HTMLInputElement | null>(null)\nconst control = ref<HTMLElement | null>(null)\nwatch(\n checked,\n (value) => {\n if (nativeInput.value && nativeInput.value.checked !== value)\n nativeInput.value.checked = value\n },\n)\n\n// `indeterminate` можно выставить только через JS-свойство (не атрибут).\nfunction syncIndeterminate(): void {\n if (nativeInput.value)\n nativeInput.value.indeterminate = props.indeterminate\n}\nwatch(() => props.indeterminate, syncIndeterminate)\nonMounted(syncIndeterminate)\n\nfunction setChecked(next: boolean): void {\n if (resolvedDisabled.value || isReadonly.value) {\n // Нативный input мог уже переключиться от клика по внешнему `<label for>` —\n // возвращаем его к состоянию модели, иначе форма отправит непринятое значение.\n if (nativeInput.value)\n nativeInput.value.checked = checked.value\n return\n }\n\n if (props.modelValue !== undefined || !group) {\n emit('update:modelValue', next)\n emit('change', next)\n return\n }\n\n group.toggle(props.value, next)\n emit('change', next)\n}\n\nfunction toggle(): void {\n // Из промежуточного состояния переключаемся во «включено» (стандартное поведение).\n setChecked(props.indeterminate ? true : !checked.value)\n}\n\n// Клик по нативному input (в т.ч. по внешнему `<label for=\"...\">`) уже переключил его\n// `.checked` — берём значение как источник истины и эмитим модель.\nfunction onNativeChange(e: Event): void {\n setChecked((e.target as HTMLInputElement).checked)\n}\n\n// `<label for>` уводит фокус на скрытый input — визуально фокус пропадает. Возвращаем\n// его на контрол, который этот фокус и показывает.\nfunction onNativeFocus(): void {\n control.value?.focus()\n}\n\nfunction focus(): void {\n control.value?.focus()\n}\n\nfunction blur(): void {\n control.value?.blur()\n}\n\ndefineExpose({ focus, blur })\n\n// Подпись держится снаружи роли-виджета именно для того, чтобы могла содержать\n// ссылки и кнопки, — поэтому клик по её интерактивному содержимому чекбокс не\n// переключает. Вложенный `<label>` считается интерактивным: он адресует\n// собственный контрол, и переключение чекбокса «заодно» было бы сюрпризом.\nfunction isInteractiveTarget(target: EventTarget | null): boolean {\n const el = target as HTMLElement | null\n if (!el)\n return false\n return !!el.closest('a,button,input,select,textarea,label,[role=\"button\"],[role=\"link\"]')\n}\n\nfunction onClick(e: MouseEvent): void {\n if (isInteractiveTarget(e.target))\n return\n toggle()\n}\n</script>\n<template>\n <div\n data-gr-checkbox\n :class=\"rootClassName\"\n @click=\"onClick\"\n >\n <input\n :id=\"id\"\n ref=\"nativeInput\"\n type=\"checkbox\"\n :checked=\"checked\"\n :disabled=\"resolvedDisabled\"\n :name=\"resolvedName\"\n :value=\"value\"\n :form=\"form\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n :style=\"hiddenInputStyle\"\n @change=\"onNativeChange\"\n @focus=\"onNativeFocus\"\n >\n <span\n :id=\"fieldControlId\"\n ref=\"control\"\n data-gr-checkbox-indicator\n role=\"checkbox\"\n :aria-checked=\"indeterminate ? 'mixed' : (checked ? 'true' : 'false')\"\n :aria-disabled=\"resolvedDisabled ? 'true' : undefined\"\n :aria-required=\"isRequired ? 'true' : undefined\"\n :aria-readonly=\"isReadonly ? 'true' : undefined\"\n :aria-invalid=\"isInvalid ? 'true' : undefined\"\n :aria-describedby=\"describedBy\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"labelledBy\"\n :tabindex=\"resolvedDisabled ? -1 : 0\"\n :class=\"controlClassName\"\n @keydown.space.prevent=\"toggle\"\n @focus=\"emit('focus', $event)\"\n @blur=\"emit('blur', $event)\"\n >\n <IconMinus\n v-if=\"indeterminate\"\n :class=\"indeterminateIconClassName\"\n />\n <IconCheck\n v-else\n :class=\"checkIconClassName\"\n />\n </span>\n <span\n v-if=\"hasLabel\"\n :id=\"labelId\"\n :class=\"labelClassName\"\n >\n <slot />\n </span>\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * GrCheckbox — GR-примитив чекбокса с нативным скрытым `<input type=\"checkbox\">`\n * для интеграции с HTML-формами (`FormData`, `form`).\n *\n * Источник истины — нативный input: клик по нему (в т.ч. по внешнему\n * `<label for=\"...\">`) слушается через `@change` и эмитит модель. Клик по видимой\n * части компонента переключает через корневой обработчик.\n *\n * Клавиатура: `Space` переключает значение (Enter — намеренно нет, это нестандартно\n * для чекбоксов). Фокус — на самом контроле (квадратике), как у нативного чекбокса.\n *\n * A11y: `role=\"checkbox\"` + `aria-checked` (`true`/`false`/`mixed`) + `aria-disabled`.\n * Роль висит **только на контроле**, а не на всей строке с подписью — по двум причинам:\n * - роль объявляет своих потомков презентационными, поэтому ни нативный input, ни\n * интерактивная подпись (ссылка на политику, кнопка «показать изменения») не могут\n * жить внутри: скринридер теряет их, axe падает на `nested-interactive`;\n * - имя виджета берётся из подписи через `aria-labelledby`, что и позволяет держать\n * её снаружи вместе со всем её интерактивным содержимым.\n *\n * `required` объявляется только через `aria-required`, на скрытый input он не уходит.\n * Нативная проверка потребовала бы фокуса на невалидном контроле, а он невидим и\n * `aria-hidden` — Chrome в таком случае молча отменяет сабмит всей формы\n * («An invalid form control … is not focusable»). Обязательность проверяет\n * `GrForm` правилом `required` — см. `docs/components/GrCheckbox.md`.\n *\n * Внутри `GrCheckboxGroup` значение приходит из группы: свой `modelValue` не\n * задаётся, а `value` сравнивается с массивом выбранных.\n */\nimport { computed, inject, onMounted, ref, useId, useSlots, watch } from 'vue'\nimport IconCheck from '~icons/lucide/check'\nimport IconMinus from '~icons/lucide/minus'\n\nimport { useGrComponentSize } from '../GrConfigProvider/context'\nimport { useGrFormControl } from '../../composables/useGrFormControl'\n\nimport { GR_CHECKBOX_GROUP_CONTEXT } from './grCheckboxGroupContext'\nimport {\n grCheckboxCheckIconClass,\n grCheckboxControlClass,\n grCheckboxIndeterminateIconClass,\n grCheckboxLabelClass,\n grCheckboxRootClass,\n type GrCheckboxLabelPosition,\n type GrCheckboxSize,\n} from './grCheckboxStyles'\n\nexport type { GrCheckboxLabelPosition, GrCheckboxSize } from './grCheckboxStyles'\n\nexport interface GrCheckboxProps {\n /** Не задан внутри `GrCheckboxGroup` — состояние берётся из группы. */\n modelValue?: boolean\n disabled?: boolean\n name?: string\n value?: string\n /** Обязательное поле: объявляется как `aria-required`, нативной проверки нет. */\n required?: boolean\n /** Только для чтения: состояние видно, но не переключается. */\n readonly?: boolean\n /** Визуальное и ARIA-состояние ошибки. */\n invalid?: boolean\n form?: string\n /** Пробрасывается на скрытый нативный `<input>`, чтобы работал `<label for=\"...\">`. */\n id?: string\n /** Промежуточное («смешанное») состояние: `aria-checked=\"mixed\"`, индикатор — тире. */\n indeterminate?: boolean\n /** Имя контрола, когда подписи в слоте нет (или она чисто визуальная). */\n ariaLabel?: string\n /** Сторона подписи относительно контрола. */\n labelPosition?: GrCheckboxLabelPosition\n /** Размер контрола. Не задан — берётся из группы, затем из `GrConfigProvider`, иначе `md`. */\n size?: GrCheckboxSize\n}\n\nexport interface GrCheckboxEmits {\n (e: 'update:modelValue', value: boolean): void\n (e: 'change', value: boolean): void\n (e: 'focus', event: FocusEvent): void\n (e: 'blur', event: FocusEvent): void\n}\n\nconst hiddenInputStyle = {\n position: 'absolute',\n opacity: '0',\n width: '0',\n height: '0',\n pointerEvents: 'none',\n} as const\n\nconst props = withDefaults(defineProps<GrCheckboxProps>(), {\n modelValue: undefined,\n disabled: undefined,\n name: undefined,\n value: 'on',\n required: false,\n readonly: false,\n invalid: false,\n form: undefined,\n id: undefined,\n indeterminate: false,\n ariaLabel: undefined,\n labelPosition: 'end',\n size: undefined,\n})\n\nconst emit = defineEmits<GrCheckboxEmits>()\ndefineSlots<{\n /** Подпись флажка. Может содержать ссылки: роль остаётся на самом контроле. */\n default?: () => any\n}>()\n\n\nconst slots = useSlots()\n\nconst labelId = useId()\nconst hasLabel = computed(() => Boolean(slots.default))\n\nconst group = inject(GR_CHECKBOX_GROUP_CONTEXT, null)\n\nconst checked = computed(() => {\n if (props.modelValue !== undefined)\n return props.modelValue\n\n if (group)\n return group.modelValue.value.includes(props.value)\n\n return false\n})\n\nconst resolvedName = computed(() => props.name ?? group?.name.value)\n\n// Контекст `GrFormField`. Id поля вешается на `span[role=\"checkbox\"]` — именно он\n// виджет и держит фокус; на скрытом `aria-hidden`-инпуте он был бы бесполезен\n// (клик по подписи уводил бы фокус в невидимый элемент). Роль-виджет не является\n// labelable-элементом, поэтому имя от подписи поля приходит через `aria-labelledby`.\nconst {\n disabled: isDisabled,\n id: fieldControlId,\n labelId: fieldLabelId,\n describedBy,\n invalid: fieldInvalid,\n required: fieldRequired,\n readonly: fieldReadonly,\n} = useGrFormControl(() => props)\n\n// «Или», а не `??`: `isDisabled` уже сведён к булеву (свой проп + контекст\n// поля и формы), и `??` до группы просто не дошёл бы.\nconst resolvedDisabled = computed(() => isDisabled.value || Boolean(group?.disabled.value))\n\n// `role=\"group\"` не поддерживает `aria-required` и `aria-readonly` — объявлять\n// обязательность и режим чтения группы обязаны сами чекбоксы.\nconst isRequired = computed(() => fieldRequired.value || Boolean(group?.required.value))\n\nconst isReadonly = computed(() => fieldReadonly.value || Boolean(group?.readonly.value))\n\n// Ошибка группы красит чекбоксы, но не объявляется на каждом из них: `aria-invalid`\n// уже висит на самой группе, и дублировать его на всех пунктах — значит заставить\n// диктор повторить «неверное значение» столько раз, сколько в группе чекбоксов.\nconst isInvalid = computed(() => fieldInvalid.value)\nconst showsInvalid = computed(() => isInvalid.value || Boolean(group?.invalid.value))\n\nconst labelledBy = computed(() => {\n if (props.ariaLabel) return undefined\n if (hasLabel.value) return labelId\n return fieldLabelId.value\n})\n\n// Эффективный размер: локальный проп → группа → `GrConfigProvider` → `md`.\nconst resolvedSize = useGrComponentSize(\n () => props.size ?? group?.size.value,\n { component: 'GrCheckbox' },\n)\n\nconst rootClassName = computed(() => grCheckboxRootClass({\n size: resolvedSize.value,\n disabled: resolvedDisabled.value,\n labelPosition: props.labelPosition,\n}))\n\nconst controlClassName = computed(() => grCheckboxControlClass({\n size: resolvedSize.value,\n active: checked.value || props.indeterminate,\n disabled: resolvedDisabled.value,\n invalid: showsInvalid.value,\n}))\n\nconst indeterminateIconClassName = computed(() => grCheckboxIndeterminateIconClass(resolvedSize.value))\n\nconst checkIconClassName = computed(() => grCheckboxCheckIconClass({\n size: resolvedSize.value,\n checked: checked.value,\n}))\n\nconst labelClassName = computed(() => grCheckboxLabelClass(resolvedSize.value))\n\n// Держим `.checked` на нативном input синхронно с состоянием — `:checked`-биндинг\n// на скрытом элементе иногда отстаёт при программных обновлениях.\nconst nativeInput = ref<HTMLInputElement | null>(null)\nconst control = ref<HTMLElement | null>(null)\nwatch(\n checked,\n (value) => {\n if (nativeInput.value && nativeInput.value.checked !== value)\n nativeInput.value.checked = value\n },\n)\n\n// `indeterminate` можно выставить только через JS-свойство (не атрибут).\nfunction syncIndeterminate(): void {\n if (nativeInput.value)\n nativeInput.value.indeterminate = props.indeterminate\n}\nwatch(() => props.indeterminate, syncIndeterminate)\nonMounted(syncIndeterminate)\n\nfunction setChecked(next: boolean): void {\n if (resolvedDisabled.value || isReadonly.value) {\n // Нативный input мог уже переключиться от клика по внешнему `<label for>` —\n // возвращаем его к состоянию модели, иначе форма отправит непринятое значение.\n if (nativeInput.value)\n nativeInput.value.checked = checked.value\n return\n }\n\n if (props.modelValue !== undefined || !group) {\n emit('update:modelValue', next)\n emit('change', next)\n return\n }\n\n group.toggle(props.value, next)\n emit('change', next)\n}\n\nfunction toggle(): void {\n // Из промежуточного состояния переключаемся во «включено» (стандартное поведение).\n setChecked(props.indeterminate ? true : !checked.value)\n}\n\n// Клик по нативному input (в т.ч. по внешнему `<label for=\"...\">`) уже переключил его\n// `.checked` — берём значение как источник истины и эмитим модель.\nfunction onNativeChange(e: Event): void {\n setChecked((e.target as HTMLInputElement).checked)\n}\n\n// `<label for>` уводит фокус на скрытый input — визуально фокус пропадает. Возвращаем\n// его на контрол, который этот фокус и показывает.\nfunction onNativeFocus(): void {\n control.value?.focus()\n}\n\nfunction focus(): void {\n control.value?.focus()\n}\n\nfunction blur(): void {\n control.value?.blur()\n}\n\ndefineExpose({ focus, blur })\n\n// Подпись держится снаружи роли-виджета именно для того, чтобы могла содержать\n// ссылки и кнопки, — поэтому клик по её интерактивному содержимому чекбокс не\n// переключает. Вложенный `<label>` считается интерактивным: он адресует\n// собственный контрол, и переключение чекбокса «заодно» было бы сюрпризом.\nfunction isInteractiveTarget(target: EventTarget | null): boolean {\n const el = target as HTMLElement | null\n if (!el)\n return false\n return !!el.closest('a,button,input,select,textarea,label,[role=\"button\"],[role=\"link\"]')\n}\n\nfunction onClick(e: MouseEvent): void {\n if (isInteractiveTarget(e.target))\n return\n toggle()\n}\n</script>\n<template>\n <div\n data-gr-checkbox\n :class=\"rootClassName\"\n @click=\"onClick\"\n >\n <input\n :id=\"id\"\n ref=\"nativeInput\"\n type=\"checkbox\"\n :checked=\"checked\"\n :disabled=\"resolvedDisabled\"\n :name=\"resolvedName\"\n :value=\"value\"\n :form=\"form\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n :style=\"hiddenInputStyle\"\n @change=\"onNativeChange\"\n @focus=\"onNativeFocus\"\n >\n <span\n :id=\"fieldControlId\"\n ref=\"control\"\n data-gr-checkbox-indicator\n role=\"checkbox\"\n :aria-checked=\"indeterminate ? 'mixed' : (checked ? 'true' : 'false')\"\n :aria-disabled=\"resolvedDisabled ? 'true' : undefined\"\n :aria-required=\"isRequired ? 'true' : undefined\"\n :aria-readonly=\"isReadonly ? 'true' : undefined\"\n :aria-invalid=\"isInvalid ? 'true' : undefined\"\n :aria-describedby=\"describedBy\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"labelledBy\"\n :tabindex=\"resolvedDisabled ? -1 : 0\"\n :class=\"controlClassName\"\n @keydown.space.prevent=\"toggle\"\n @focus=\"emit('focus', $event)\"\n @blur=\"emit('blur', $event)\"\n >\n <IconMinus\n v-if=\"indeterminate\"\n :class=\"indeterminateIconClassName\"\n />\n <IconCheck\n v-else\n :class=\"checkIconClassName\"\n />\n </span>\n <span\n v-if=\"hasLabel\"\n :id=\"labelId\"\n :class=\"labelClassName\"\n >\n <slot />\n </span>\n </div>\n</template>\n"],"mappings":";;;;;;;AAqBA,IAAa,4BAAkE,OAAO,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EC4DjH,MAAM,mBAAmB;GACvB,UAAU;GACV,SAAS;GACT,OAAO;GACP,QAAQ;GACR,eAAe;EACjB;EAEA,MAAM,QAAQ;EAgBd,MAAM,OAAO;EAOb,MAAM,QAAQ,SAAS;EAEvB,MAAM,UAAU,MAAM;EACtB,MAAM,WAAW,eAAe,QAAQ,MAAM,OAAO,CAAC;EAEtD,MAAM,QAAQ,OAAO,2BAA2B,IAAI;EAEpD,MAAM,UAAU,eAAe;GAC7B,IAAI,MAAM,eAAe,KAAA,GACvB,OAAO,MAAM;GAEf,IAAI,OACF,OAAO,MAAM,WAAW,MAAM,SAAS,MAAM,KAAK;GAEpD,OAAO;EACT,CAAC;EAED,MAAM,eAAe,eAAe,MAAM,QAAQ,OAAO,KAAK,KAAK;EAMnE,MAAM,EACJ,UAAU,YACV,IAAI,gBACJ,SAAS,cACT,aACA,SAAS,cACT,UAAU,eACV,UAAU,kBACR,uBAAuB,KAAK;EAIhC,MAAM,mBAAmB,eAAe,WAAW,SAAS,QAAQ,OAAO,SAAS,KAAK,CAAC;EAI1F,MAAM,aAAa,eAAe,cAAc,SAAS,QAAQ,OAAO,SAAS,KAAK,CAAC;EAEvF,MAAM,aAAa,eAAe,cAAc,SAAS,QAAQ,OAAO,SAAS,KAAK,CAAC;EAKvF,MAAM,YAAY,eAAe,aAAa,KAAK;EACnD,MAAM,eAAe,eAAe,UAAU,SAAS,QAAQ,OAAO,QAAQ,KAAK,CAAC;EAEpF,MAAM,aAAa,eAAe;GAChC,IAAI,MAAM,WAAW,OAAO,KAAA;GAC5B,IAAI,SAAS,OAAO,OAAO;GAC3B,OAAO,aAAa;EACtB,CAAC;EAGD,MAAM,eAAe,yBACb,MAAM,QAAQ,OAAO,KAAK,OAChC,EAAE,WAAW,aAAa,CAC5B;EAEA,MAAM,gBAAgB,eAAe,oBAAoB;GACvD,MAAM,aAAa;GACnB,UAAU,iBAAiB;GAC3B,eAAe,MAAM;EACvB,CAAC,CAAC;EAEF,MAAM,mBAAmB,eAAe,uBAAuB;GAC7D,MAAM,aAAa;GACnB,QAAQ,QAAQ,SAAS,MAAM;GAC/B,UAAU,iBAAiB;GAC3B,SAAS,aAAa;EACxB,CAAC,CAAC;EAEF,MAAM,6BAA6B,eAAe,iCAAiC,aAAa,KAAK,CAAC;EAEtG,MAAM,qBAAqB,eAAe,yBAAyB;GACjE,MAAM,aAAa;GACnB,SAAS,QAAQ;EACnB,CAAC,CAAC;EAEF,MAAM,iBAAiB,eAAe,qBAAqB,aAAa,KAAK,CAAC;EAI9E,MAAM,cAAc,IAA6B,IAAI;EACrD,MAAM,UAAU,IAAwB,IAAI;EAC5C,MACE,UACC,UAAU;GACT,IAAI,YAAY,SAAS,YAAY,MAAM,YAAY,OACrD,YAAY,MAAM,UAAU;EAChC,CACF;EAGA,SAAS,oBAA0B;GACjC,IAAI,YAAY,OACd,YAAY,MAAM,gBAAgB,MAAM;EAC5C;EACA,YAAY,MAAM,eAAe,iBAAiB;EAClD,UAAU,iBAAiB;EAE3B,SAAS,WAAW,MAAqB;GACvC,IAAI,iBAAiB,SAAS,WAAW,OAAO;IAG9C,IAAI,YAAY,OACd,YAAY,MAAM,UAAU,QAAQ;IACtC;GACF;GAEA,IAAI,MAAM,eAAe,KAAA,KAAa,CAAC,OAAO;IAC5C,KAAK,qBAAqB,IAAI;IAC9B,KAAK,UAAU,IAAI;IACnB;GACF;GAEA,MAAM,OAAO,MAAM,OAAO,IAAI;GAC9B,KAAK,UAAU,IAAI;EACrB;EAEA,SAAS,SAAe;GAEtB,WAAW,MAAM,gBAAgB,OAAO,CAAC,QAAQ,KAAK;EACxD;EAIA,SAAS,eAAe,GAAgB;GACtC,WAAY,EAAE,OAA4B,OAAO;EACnD;EAIA,SAAS,gBAAsB;GAC7B,QAAQ,OAAO,MAAM;EACvB;EAEA,SAAS,QAAc;GACrB,QAAQ,OAAO,MAAM;EACvB;EAEA,SAAS,OAAa;GACpB,QAAQ,OAAO,KAAK;EACtB;EAEA,SAAa;GAAE;GAAO;EAAK,CAAC;EAM5B,SAAS,oBAAoB,QAAqC;GAChE,MAAM,KAAK;GACX,IAAI,CAAC,IACH,OAAO;GACT,OAAO,CAAC,CAAC,GAAG,QAAQ,wEAAoE;EAC1F;EAEA,SAAS,QAAQ,GAAqB;GACpC,IAAI,oBAAoB,EAAE,MAAM,GAC9B;GACF,OAAO;EACT;;uBAGE,mBAuDM,OAAA;IAtDJ,oBAAA;IACC,OAAK,eAAE,cAAA,KAAa;IACb;;IAER,mBAcC,SAAA;KAbE,IAAI,QAAA;cACD;KAAJ,KAAI;KACJ,MAAK;KACJ,SAAS,QAAA;KACT,UAAU,iBAAA;KACV,MAAM,aAAA;KACN,OAAO,QAAA;KACP,MAAM,QAAA;KACP,UAAS;KACT,eAAY;KACX,OAAO;KACP,UAAQ;KACR,SAAO;;IAEV,mBA2BO,QAAA;KA1BJ,IAAI,MAAA,cAAA;cACD;KAAJ,KAAI;KACJ,8BAAA;KACA,MAAK;KACJ,gBAAc,QAAA,gBAAa,UAAc,QAAA,QAAO,SAAA;KAChD,iBAAe,iBAAA,QAAgB,SAAY,KAAA;KAC3C,iBAAe,WAAA,QAAU,SAAY,KAAA;KACrC,iBAAe,WAAA,QAAU,SAAY,KAAA;KACrC,gBAAc,UAAA,QAAS,SAAY,KAAA;KACnC,oBAAkB,MAAA,WAAA;KAClB,cAAY,QAAA;KACZ,mBAAiB,WAAA;KACjB,UAAU,iBAAA,QAAgB,KAAA;KAC1B,OAAK,eAAE,iBAAA,KAAgB;KACvB,WAAO,SAAA,cAAgB,QAAM,CAAA,SAAA,CAAA,GAAA,CAAA,OAAA,CAAA;KAC7B,SAAK,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,SAAU,MAAM;KAC3B,QAAI,OAAA,OAAA,OAAA,MAAA,WAAE,KAAI,QAAS,MAAM;QAGlB,QAAA,iBAAA,UAAA,GADR,YAGE,MAAA,aAAA,GAAA;;KADC,OAAK,eAAE,2BAAA,KAA0B;4CAEpC,YAGE,MAAA,aAAA,GAAA;;KADC,OAAK,eAAE,mBAAA,KAAkB;;IAItB,SAAA,SAAA,UAAA,GADR,mBAMO,QAAA;;KAJJ,IAAI,MAAA,OAAA;KACJ,OAAK,eAAE,eAAA,KAAc;QAEtB,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,IAAA,UAAA,KAAA,mBAAA,IAAA,IAAA"}
|