@feugene/granularity 0.13.0 → 0.18.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-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-BDfTXHo12.js +23 -0
- package/dist/chunks/config-BDfTXHo12.js.map +1 -0
- package/dist/chunks/config-BE6n20np2.js +27 -0
- package/dist/chunks/config-BE6n20np2.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-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-Baj7Wvx-.js +72 -0
- package/dist/chunks/config-Baj7Wvx-.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_PD2.js +140 -0
- package/dist/chunks/config-BoNR7_PD2.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-BsPDQ0dS.js +97 -0
- package/dist/chunks/config-BsPDQ0dS.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-CN2ULSQL.js +36 -0
- package/dist/chunks/config-CN2ULSQL.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-COpuWGr_.js +72 -0
- package/dist/chunks/config-COpuWGr_.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-Cwd3yjRw.js +41 -0
- package/dist/chunks/config-Cwd3yjRw.js.map +1 -0
- package/dist/chunks/config-D2aNP7Es.js +70 -0
- package/dist/chunks/config-D2aNP7Es.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-D94Z9po5.js +126 -0
- package/dist/chunks/config-D94Z9po5.js.map +1 -0
- package/dist/chunks/config-DA6SnEoy.js +22 -0
- package/dist/chunks/config-DA6SnEoy.js.map +1 -0
- package/dist/chunks/config-DBmdgoVf.js.map +1 -1
- package/dist/chunks/config-DCFvmHEv2.js +76 -0
- package/dist/chunks/config-DCFvmHEv2.js.map +1 -0
- package/dist/chunks/config-DEvsMTQE.js +150 -0
- package/dist/chunks/config-DEvsMTQE.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-K0C2tcLB.js +84 -0
- package/dist/chunks/config-K0C2tcLB.js.map +1 -0
- package/dist/chunks/config-MRvhUl-O.js +81 -0
- package/dist/chunks/config-MRvhUl-O.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-ScuvHw6k2.js +42 -0
- package/dist/chunks/config-ScuvHw6k2.js.map +1 -0
- package/dist/chunks/config-T3qdQBgU2.js +40 -0
- package/dist/chunks/config-T3qdQBgU2.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-_qPUfb6-2.js +165 -0
- package/dist/chunks/config-_qPUfb6-2.js.map +1 -0
- package/dist/chunks/config-esdviAPL.js +41 -0
- package/dist/chunks/config-esdviAPL.js.map +1 -0
- package/dist/chunks/config-gvq_hWNM.js +103 -0
- package/dist/chunks/config-gvq_hWNM.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-COdzxgAX.js +352 -0
- package/dist/chunks/en-COdzxgAX.js.map +1 -0
- package/dist/chunks/es-ClqJ-4hr.js +354 -0
- package/dist/chunks/es-ClqJ-4hr.js.map +1 -0
- package/dist/chunks/es-DGMHwknJ.js +20 -0
- package/dist/chunks/es-DGMHwknJ.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-CeZhGQHr.js +43 -0
- package/dist/chunks/grKbdStyles-CeZhGQHr.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-iOcHuVMM.js +50 -0
- package/dist/chunks/grTextareaStyles-iOcHuVMM.js.map +1 -0
- package/dist/chunks/granular-provider-B9nXQCMu.js +195 -0
- package/dist/chunks/granular-provider-B9nXQCMu.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-DE2yhz_b.js +70 -0
- package/dist/chunks/keyboard-DE2yhz_b.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-DYw9XPPx.js +79 -0
- package/dist/chunks/optionFilter-DYw9XPPx.js.map +1 -0
- package/dist/chunks/overlayStack-C8cfsqXa.js +99 -0
- package/dist/chunks/overlayStack-C8cfsqXa.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-9z8ix45c.js +356 -0
- package/dist/chunks/ru-9z8ix45c.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/useDragSort-0l47h4yb.js +265 -0
- package/dist/chunks/useDragSort-0l47h4yb.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-BTq-0ImG.js +212 -0
- package/dist/chunks/useModalOverlay-BTq-0ImG.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-CPEQxmLZ.js +852 -0
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-CPEQxmLZ.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-DAdQ-Gc3.js +584 -0
- package/dist/components/GrColorPicker/chunks/GrColorPicker-DAdQ-Gc3.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-DMeSqkEv.js +565 -0
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-DMeSqkEv.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 +3 -3
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-hUTi-GdJ.js +200 -0
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-hUTi-GdJ.js.map +1 -0
- package/dist/components/GrConfirmDialog/index.js +2 -2
- package/dist/components/GrDataTable/chunks/GrDataTable-DzaGLG3A.js +1053 -0
- package/dist/components/GrDataTable/chunks/GrDataTable-DzaGLG3A.js.map +1 -0
- package/dist/components/GrDataTable/index.js +3 -3
- package/dist/components/GrDialog/chunks/GrDialog-MD9Fzy9C.js +255 -0
- package/dist/components/GrDialog/chunks/GrDialog-MD9Fzy9C.js.map +1 -0
- package/dist/components/GrDialog/index.js +1 -1
- package/dist/components/GrDialogService/chunks/GrDialogService-DtgUijMj.js +656 -0
- package/dist/components/GrDialogService/chunks/GrDialogService-DtgUijMj.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-DWHdZZzW.js +251 -0
- package/dist/components/GrDrawer/chunks/GrDrawer-DWHdZZzW.js.map +1 -0
- package/dist/components/GrDrawer/index.js +2 -2
- package/dist/components/GrDropdown/chunks/GrDropdown-0tJK01Kq.js +300 -0
- package/dist/components/GrDropdown/chunks/GrDropdown-0tJK01Kq.js.map +1 -0
- package/dist/components/GrDropdown/index.js +2 -2
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-VPPrpCoA.js +421 -0
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-VPPrpCoA.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-DuDzC43S.js +1080 -0
- package/dist/components/GrFileUpload/chunks/GrFileUpload-DuDzC43S.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-DE7MBbF8.js +1127 -0
- package/dist/components/GrImageViewer/chunks/GrImageViewer-DE7MBbF8.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-2wd7Crs0.js +348 -0
- package/dist/components/GrInput/chunks/GrInput-2wd7Crs0.js.map +1 -0
- package/dist/components/GrInput/index.js +2 -2
- package/dist/components/GrInputTag/chunks/GrInputTag-CyV2eY7Z.js +512 -0
- package/dist/components/GrInputTag/chunks/GrInputTag-CyV2eY7Z.js.map +1 -0
- package/dist/components/GrInputTag/index.js +2 -2
- package/dist/components/GrKbd/chunks/GrKbd-DU2lBkRV.js +358 -0
- package/dist/components/GrKbd/chunks/GrKbd-DU2lBkRV.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-BbhcsDQ8.js +313 -0
- package/dist/components/GrModal/chunks/GrModal-BbhcsDQ8.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-waKhxBP7.js +283 -0
- package/dist/components/GrPagination/chunks/GrPagination-waKhxBP7.js.map +1 -0
- package/dist/components/GrPagination/index.js +3 -3
- package/dist/components/GrPopover/chunks/GrPopover-DuqeoFaI.js +216 -0
- package/dist/components/GrPopover/chunks/GrPopover-DuqeoFaI.js.map +1 -0
- package/dist/components/GrPopover/index.js +3 -0
- package/dist/components/GrProgressBar/chunks/GrProgressBar-xwbNM9QB.js +90 -0
- package/dist/components/GrProgressBar/chunks/GrProgressBar-xwbNM9QB.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-B8olXRo5.js +210 -0
- package/dist/components/GrProgressCircle/chunks/GrProgressCircle-B8olXRo5.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-JVVqBsPY.js +348 -0
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-JVVqBsPY.js.map +1 -0
- package/dist/components/GrPromptDialog/index.js +2 -2
- package/dist/components/GrRadio/chunks/GrRadio-DWiRaMzt.js +253 -0
- package/dist/components/GrRadio/chunks/GrRadio-DWiRaMzt.js.map +1 -0
- package/dist/components/GrRadio/index.js +2 -2
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-DIuBw0wk.js +196 -0
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-DIuBw0wk.js.map +1 -0
- package/dist/components/GrRadioGroup/index.js +2 -2
- package/dist/components/GrRating/chunks/GrRating-LarIiwJL.js +315 -0
- package/dist/components/GrRating/chunks/GrRating-LarIiwJL.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-CQw3ijqa.js +388 -0
- package/dist/components/GrSegmented/chunks/GrSegmented-CQw3ijqa.js.map +1 -0
- package/dist/components/GrSegmented/index.js +3 -3
- package/dist/components/GrSelect/chunks/GrSelect-DAdu044K.js +1373 -0
- package/dist/components/GrSelect/chunks/GrSelect-DAdu044K.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-CyhVsNKn.js +379 -0
- package/dist/components/GrSlider/chunks/GrSlider-CyhVsNKn.js.map +1 -0
- package/dist/components/GrSlider/index.js +2 -2
- package/dist/components/GrSortableList/chunks/GrSortableList-BefVfWKh.js +276 -0
- package/dist/components/GrSortableList/chunks/GrSortableList-BefVfWKh.js.map +1 -0
- package/dist/components/GrSortableList/index.js +3 -0
- package/dist/components/GrSplitter/chunks/GrSplitter-BzxVQwbY.js +268 -0
- package/dist/components/GrSplitter/chunks/GrSplitter-BzxVQwbY.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-J4qLs3TH.js +319 -0
- package/dist/components/GrStatistic/chunks/GrStatistic-J4qLs3TH.js.map +1 -0
- package/dist/components/GrStatistic/index.js +2 -2
- package/dist/components/GrSwitch/chunks/GrSwitch-DpyvVrZG.js +183 -0
- package/dist/components/GrSwitch/chunks/GrSwitch-DpyvVrZG.js.map +1 -0
- package/dist/components/GrSwitch/index.js +2 -2
- package/dist/components/GrTabPanels/chunks/GrTabPanels-BVe1CZdJ.js +81 -0
- package/dist/components/GrTabPanels/chunks/GrTabPanels-BVe1CZdJ.js.map +1 -0
- package/dist/components/GrTabPanels/index.js +1 -1
- package/dist/components/GrTable/chunks/GrTable-BfqgwETQ.js +169 -0
- package/dist/components/GrTable/chunks/GrTable-BfqgwETQ.js.map +1 -0
- package/dist/components/GrTable/index.js +3 -3
- package/dist/components/GrTabs/chunks/GrTabs-TeXaU5Uh.js +261 -0
- package/dist/components/GrTabs/chunks/GrTabs-TeXaU5Uh.js.map +1 -0
- package/dist/components/GrTabs/index.js +3 -3
- package/dist/components/GrTextarea/chunks/GrTextarea-DSvd1nSy.js +241 -0
- package/dist/components/GrTextarea/chunks/GrTextarea-DSvd1nSy.js.map +1 -0
- package/dist/components/GrTextarea/index.js +2 -2
- package/dist/components/GrTimeline/chunks/GrTimeline-B-h2Yanw.js +285 -0
- package/dist/components/GrTimeline/chunks/GrTimeline-B-h2Yanw.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-Ct-39hga.js +373 -0
- package/dist/components/GrToaster/chunks/GrToaster-Ct-39hga.js.map +1 -0
- package/dist/components/GrToaster/index.js +2 -2
- package/dist/components/GrToaster/styles.css +1 -0
- package/dist/components/GrTooltip/chunks/GrTooltip-xAcqs0bP.js +185 -0
- package/dist/components/GrTooltip/chunks/GrTooltip-xAcqs0bP.js.map +1 -0
- package/dist/components/GrTooltip/index.js +3 -3
- package/dist/components/GrTree/chunks/GrTree-CaYK8dGZ.js +1371 -0
- package/dist/components/GrTree/chunks/GrTree-CaYK8dGZ.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-DZp7CqqW.js +623 -0
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-DZp7CqqW.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/useComboboxNavigation.js +71 -0
- package/dist/composables/useComboboxNavigation.js.map +1 -0
- package/dist/composables/useDismissible.js +31 -0
- package/dist/composables/useDismissible.js.map +1 -0
- package/dist/composables/useDragGesture.js +55 -0
- package/dist/composables/useDragGesture.js.map +1 -0
- package/dist/composables/useDragSort.js +2 -0
- package/dist/composables/useFloating.js +133 -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/useGrComponentConfig.js +2 -0
- package/dist/composables/useGrFormControl.js +24 -0
- package/dist/composables/useGrFormControl.js.map +1 -0
- package/dist/composables/useGranularityTranslations.js +2 -0
- package/dist/composables/useOverlayLayer.js +65 -0
- package/dist/composables/useOverlayLayer.js.map +1 -0
- package/dist/composables/usePortalTarget.js +2 -0
- package/dist/composables/useRovingFocus.js +150 -0
- package/dist/composables/useRovingFocus.js.map +1 -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 +18 -18
- 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 +157 -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 +3216 -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 +10 -4
- 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/defaults.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/defaults.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/defaults.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 +33 -22
- package/dist/types/src/components/GrConfigProvider/index.d.ts +2 -1
- 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 +145 -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 +68 -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 +37 -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 +18 -5
- 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/defaults.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 +46 -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 +32 -0
- package/dist/types/src/components/GrKbd/index.d.ts +10 -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 +2 -1
- 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/defaults.d.ts +1 -1
- package/dist/types/src/components/GrRadio/grRadioGroupContext.d.ts +45 -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/defaults.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/defaults.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/defaults.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/defaults.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/defaults.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/GrSortableList/GrSortableList.vue.d.ts +68 -0
- package/dist/types/src/components/GrSortableList/config.d.ts +1 -0
- package/dist/types/src/components/GrSortableList/grSortableListStyles.d.ts +38 -0
- package/dist/types/src/components/GrSortableList/index.d.ts +9 -0
- package/dist/types/src/components/GrSortableList/safelist.d.ts +1 -0
- package/dist/types/src/components/GrSplitter/GrSplitter.vue.d.ts +121 -0
- package/dist/types/src/components/GrSplitter/config.d.ts +1 -0
- package/dist/types/src/components/GrSplitter/defaults.d.ts +16 -0
- package/dist/types/src/components/GrSplitter/grSplitterStyles.d.ts +9 -0
- package/dist/types/src/components/GrSplitter/index.d.ts +11 -0
- package/dist/types/src/components/GrSplitter/safelist.d.ts +1 -0
- package/dist/types/src/components/GrSplitter/splitterGeometry.d.ts +39 -0
- package/dist/types/src/components/GrStatistic/GrStatistic.vue.d.ts +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/defaults.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 +98 -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 +33 -1
- package/dist/types/src/components/GrToaster/config.d.ts +1 -1
- package/dist/types/src/components/GrToaster/grToasterStyles.d.ts +27 -0
- 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 -1
- 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 +38 -0
- package/dist/types/src/components/shared/hotkeyTokens.d.ts +37 -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/dragSortGeometry.d.ts +59 -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 +71 -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/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/useComboboxNavigation.d.ts +51 -0
- package/dist/types/src/composables/useDismissible.d.ts +32 -0
- package/dist/types/src/composables/useDragGesture.d.ts +63 -0
- package/dist/types/src/composables/useDragSort.d.ts +80 -0
- package/dist/types/src/composables/useFloating.d.ts +57 -0
- package/dist/types/src/composables/useFocusTrap.d.ts +50 -0
- package/dist/types/src/composables/useGrComponentConfig.d.ts +41 -0
- package/dist/types/src/composables/useGrFormControl.d.ts +52 -0
- package/dist/types/src/composables/useGranularityTranslations.d.ts +13 -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/useRovingFocus.d.ts +108 -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 +14 -18
- package/dist/types/src/i18n/adapter.d.ts +24 -0
- package/dist/types/src/i18n/messages/en.d.ts +334 -2
- package/dist/types/src/i18n/messages/es.d.ts +338 -2
- package/dist/types/src/i18n/messages/ru.d.ts +342 -2
- package/dist/types/src/index.d.ts +38 -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 +52 -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 +6503 -2020
- package/package.json +118 -17
- package/tokens/derived.json +142 -0
- package/tokens/foundation.json +558 -0
- package/tokens/themes/dark.json +499 -0
- package/tokens/themes/light.json +499 -0
- package/dist/GrBadge.css +0 -1
- package/dist/GrButtonGroup.css +0 -1
- package/dist/GrFormFile.css +0 -1
- package/dist/GrIcon.css +0 -1
- package/dist/GrLoading.css +0 -1
- package/dist/GrToaster.css +0 -1
- package/dist/GrTree.css +0 -1
- package/dist/chunks/config-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-LGrZIdaZ.js +0 -21
- package/dist/chunks/config-LGrZIdaZ.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-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/composables/internal/useFloating.d.ts +0 -53
- 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/{GrSkeleton.css → components/GrSkeleton/styles.css} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GrDialog-BPMvDHOz.js","names":["$emit","$emit"],"sources":["../../../../src/components/GrDialog/GrDialogFooter.vue","../../../../src/components/GrDialog/GrDialogFooter.vue","../../../../src/components/GrDialog/GrDialogCloseButton.vue","../../../../src/components/GrDialog/GrDialogCloseButton.vue","../../../../src/components/GrDialog/GrDialogHeader.vue","../../../../src/components/GrDialog/GrDialogHeader.vue","../../../../src/components/GrDialog/GrDialog.vue","../../../../src/components/GrDialog/GrDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport {\n DEFAULT_GR_DIALOG_FOOTER_CONFIG,\n resolveGrDialogSectionConfig,\n type GrDialogSectionConfig,\n} from './dialogShared'\n\nexport interface GrDialogFooterProps {\n config?: GrDialogSectionConfig\n}\n\nconst props = withDefaults(defineProps<GrDialogFooterProps>(), {\n config: undefined,\n})\n\nconst resolvedConfig = computed(() => resolveGrDialogSectionConfig(props.config, DEFAULT_GR_DIALOG_FOOTER_CONFIG))\n\nconst rootClass = computed(() => [\n resolvedConfig.value.paddingX,\n resolvedConfig.value.paddingY,\n resolvedConfig.value.bordered ? 'border-t border-[var(--gr-brd)]' : '',\n])\n</script>\n\n<template>\n <div data-gr-dialog-footer :class=\"rootClass\">\n <slot />\n </div>\n</template>","<script setup lang=\"ts\">\nimport { computed } from 'vue'\n\nimport {\n DEFAULT_GR_DIALOG_FOOTER_CONFIG,\n resolveGrDialogSectionConfig,\n type GrDialogSectionConfig,\n} from './dialogShared'\n\nexport interface GrDialogFooterProps {\n config?: GrDialogSectionConfig\n}\n\nconst props = withDefaults(defineProps<GrDialogFooterProps>(), {\n config: undefined,\n})\n\nconst resolvedConfig = computed(() => resolveGrDialogSectionConfig(props.config, DEFAULT_GR_DIALOG_FOOTER_CONFIG))\n\nconst rootClass = computed(() => [\n resolvedConfig.value.paddingX,\n resolvedConfig.value.paddingY,\n resolvedConfig.value.bordered ? 'border-t border-[var(--gr-brd)]' : '',\n])\n</script>\n\n<template>\n <div data-gr-dialog-footer :class=\"rootClass\">\n <slot />\n </div>\n</template>","<script setup lang=\"ts\">\nimport { computed, useAttrs } from 'vue'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport IconClose from '~icons/lucide/x'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst { t } = useGranularityTranslations()\n\n// A11y-лейбл: берём из атрибутов (родитель прокидывает `:aria-label=\"closeLabel\"`)\n// или используем i18n-дефолт. Не хардкодим английское \"Close\" — GR должен быть i18n-friendly.\nconst attrs = useAttrs()\nconst ariaLabel = computed(() => (attrs['aria-label'] as string | undefined) ?? t('gr.common.close', 'Close'))\n\ndefineEmits<{\n (e: 'click'): void\n}>()\n</script>\n\n<template>\n <GrButton\n v-bind=\"attrs\"\n data-gr-dialog-close\n variant=\"ghost\"\n size=\"sm\"\n square\n :aria-label=\"ariaLabel\"\n @click=\"$emit('click')\"\n >\n <IconClose class=\"h-4 w-4\" aria-hidden=\"true\" />\n </GrButton>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, useAttrs } from 'vue'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport IconClose from '~icons/lucide/x'\nimport { useGranularityTranslations } from '../../internal/granularityI18n'\n\ndefineOptions({\n inheritAttrs: false,\n})\n\nconst { t } = useGranularityTranslations()\n\n// A11y-лейбл: берём из атрибутов (родитель прокидывает `:aria-label=\"closeLabel\"`)\n// или используем i18n-дефолт. Не хардкодим английское \"Close\" — GR должен быть i18n-friendly.\nconst attrs = useAttrs()\nconst ariaLabel = computed(() => (attrs['aria-label'] as string | undefined) ?? t('gr.common.close', 'Close'))\n\ndefineEmits<{\n (e: 'click'): void\n}>()\n</script>\n\n<template>\n <GrButton\n v-bind=\"attrs\"\n data-gr-dialog-close\n variant=\"ghost\"\n size=\"sm\"\n square\n :aria-label=\"ariaLabel\"\n @click=\"$emit('click')\"\n >\n <IconClose class=\"h-4 w-4\" aria-hidden=\"true\" />\n </GrButton>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { DialogTitle } from '@headlessui/vue'\n\nimport GrDialogCloseButton from './GrDialogCloseButton.vue'\nimport {\n DEFAULT_GR_DIALOG_HEADER_CONFIG,\n type GrDialogSectionConfig,\n resolveGrDialogSectionConfig,\n resolveGrDialogTitle,\n} from './dialogShared'\n\nexport interface GrDialogHeaderProps {\n title?: string\n showCloseButton?: boolean\n config?: GrDialogSectionConfig\n /** A11y-лейбл кнопки закрытия (i18n). */\n closeLabel?: string\n}\n\nconst props = withDefaults(defineProps<GrDialogHeaderProps>(), {\n title: undefined,\n showCloseButton: true,\n config: undefined,\n closeLabel: undefined,\n})\n\nconst slots = defineSlots<{\n default?: (props: { title?: string }) => any\n}>()\n\ndefineEmits<{\n (e: 'close'): void\n}>()\n\nconst resolvedTitle = computed(() => resolveGrDialogTitle(props.title))\n\nconst resolvedConfig = computed(() =>\n resolveGrDialogSectionConfig(props.config, DEFAULT_GR_DIALOG_HEADER_CONFIG),\n)\n\nconst rootClass = computed(() => [\n resolvedConfig.value.paddingX,\n resolvedConfig.value.paddingY,\n resolvedConfig.value.bordered ? 'border-b border-[var(--gr-brd)]' : '',\n 'flex items-center justify-between gap-4',\n])\n\n// Видимый `DialogTitle` рендерим только когда нет пользовательского слота:\n// если слот `#header` задан, a11y-title отдаётся через `GrModal #title`\n// на уровне `GrDialog` (см. JSDoc у `GrDialog.vue`).\nconst showVisibleTitle = computed(() => !slots.default && !!resolvedTitle.value)\n</script>\n\n<template>\n <div data-gr-dialog-header :class=\"rootClass\">\n <template v-if=\"slots.default\">\n <div class=\"flex-1 min-w-0 flex items-center\">\n <slot :title=\"resolvedTitle\" />\n </div>\n </template>\n <DialogTitle\n v-else-if=\"showVisibleTitle\"\n as=\"div\"\n class=\"flex-1 min-w-0 text-[14px] font-700\"\n >\n {{ resolvedTitle }}\n </DialogTitle>\n <div v-else class=\"flex-1 min-w-0\" />\n <GrDialogCloseButton\n v-if=\"showCloseButton\"\n :aria-label=\"closeLabel\"\n @click=\"$emit('close')\"\n />\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed } from 'vue'\nimport { DialogTitle } from '@headlessui/vue'\n\nimport GrDialogCloseButton from './GrDialogCloseButton.vue'\nimport {\n DEFAULT_GR_DIALOG_HEADER_CONFIG,\n type GrDialogSectionConfig,\n resolveGrDialogSectionConfig,\n resolveGrDialogTitle,\n} from './dialogShared'\n\nexport interface GrDialogHeaderProps {\n title?: string\n showCloseButton?: boolean\n config?: GrDialogSectionConfig\n /** A11y-лейбл кнопки закрытия (i18n). */\n closeLabel?: string\n}\n\nconst props = withDefaults(defineProps<GrDialogHeaderProps>(), {\n title: undefined,\n showCloseButton: true,\n config: undefined,\n closeLabel: undefined,\n})\n\nconst slots = defineSlots<{\n default?: (props: { title?: string }) => any\n}>()\n\ndefineEmits<{\n (e: 'close'): void\n}>()\n\nconst resolvedTitle = computed(() => resolveGrDialogTitle(props.title))\n\nconst resolvedConfig = computed(() =>\n resolveGrDialogSectionConfig(props.config, DEFAULT_GR_DIALOG_HEADER_CONFIG),\n)\n\nconst rootClass = computed(() => [\n resolvedConfig.value.paddingX,\n resolvedConfig.value.paddingY,\n resolvedConfig.value.bordered ? 'border-b border-[var(--gr-brd)]' : '',\n 'flex items-center justify-between gap-4',\n])\n\n// Видимый `DialogTitle` рендерим только когда нет пользовательского слота:\n// если слот `#header` задан, a11y-title отдаётся через `GrModal #title`\n// на уровне `GrDialog` (см. JSDoc у `GrDialog.vue`).\nconst showVisibleTitle = computed(() => !slots.default && !!resolvedTitle.value)\n</script>\n\n<template>\n <div data-gr-dialog-header :class=\"rootClass\">\n <template v-if=\"slots.default\">\n <div class=\"flex-1 min-w-0 flex items-center\">\n <slot :title=\"resolvedTitle\" />\n </div>\n </template>\n <DialogTitle\n v-else-if=\"showVisibleTitle\"\n as=\"div\"\n class=\"flex-1 min-w-0 text-[14px] font-700\"\n >\n {{ resolvedTitle }}\n </DialogTitle>\n <div v-else class=\"flex-1 min-w-0\" />\n <GrDialogCloseButton\n v-if=\"showCloseButton\"\n :aria-label=\"closeLabel\"\n @click=\"$emit('close')\"\n />\n </div>\n</template>\n","<script setup lang=\"ts\">\n/**\n * GrDialog — GR-примитив диалога поверх `GrModal`.\n *\n * Архитектурно:\n * - ширина/радиус/скролл-лок/Esc/бэкдроп — ответственность `GrModal`;\n * - заголовок/подвал/кнопка закрытия/паддинги секций — ответственность `GrDialog`.\n *\n * A11y: ровно один `DialogTitle` на открытое окно.\n * - Если хедер отображается без слота `#header` — видимый `DialogTitle` рендерит\n * `GrDialogHeader`.\n * - В остальных случаях (`!showHeader`, либо `showHeader` со слотом `#header`)\n * `GrDialog` отдаёт sr-only title в слот `#title` у `GrModal`, чтобы\n * HeadlessUI корректно проставил `aria-labelledby` на панель.\n */\nimport { computed } from 'vue'\n\nimport GrModal from '../GrModal/GrModal.vue'\nimport GrDialogFooter from './GrDialogFooter.vue'\nimport GrDialogHeader from './GrDialogHeader.vue'\nimport {\n DEFAULT_GR_DIALOG_BODY_CONFIG,\n type GrDialogSectionConfig,\n type GrDialogSize,\n resolveGrDialogSectionConfig,\n resolveGrDialogTitle,\n} from './dialogShared'\n\nexport interface GrDialogProps {\n modelValue: boolean\n title?: string\n closeOnBackdrop?: boolean\n closeOnEsc?: boolean\n showHeader?: boolean\n showCloseButton?: boolean\n size?: GrDialogSize\n headerConfig?: GrDialogSectionConfig\n footerConfig?: GrDialogSectionConfig\n bodyConfig?: GrDialogSectionConfig\n /** A11y-лейбл кнопки закрытия (i18n). */\n closeLabel?: string\n}\n\nconst props = withDefaults(defineProps<GrDialogProps>(), {\n title: undefined,\n closeOnBackdrop: true,\n closeOnEsc: true,\n showHeader: true,\n showCloseButton: true,\n size: 'md',\n headerConfig: undefined,\n footerConfig: undefined,\n bodyConfig: undefined,\n closeLabel: undefined,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n}>()\n\nconst slots = defineSlots<{\n default?: () => any\n header?: (props: { title?: string }) => any\n footer?: () => any\n}>()\n\nconst resolvedTitle = computed(() => resolveGrDialogTitle(props.title))\n\nconst bodyClass = computed(() => {\n const cfg = resolveGrDialogSectionConfig(props.bodyConfig, DEFAULT_GR_DIALOG_BODY_CONFIG)\n return [cfg.paddingX, cfg.paddingY]\n})\n\n// Нужен ли sr-only title через `GrModal #title`:\n// - `!showHeader` — вообще нет заголовка в разметке;\n// - `showHeader && $slots.header` — кастомный хедер не обязан содержать DialogTitle.\n// В обоих случаях даём HeadlessUI a11y-title, не дублируя его визуально.\nconst useModalSrOnlyTitle = computed(\n () => !!resolvedTitle.value && (!props.showHeader || !!slots.header),\n)\n\nfunction close(): void {\n emit('update:modelValue', false)\n}\n</script>\n\n<template>\n <GrModal\n :model-value=\"modelValue\"\n :size=\"size\"\n :close-on-backdrop=\"closeOnBackdrop\"\n :close-on-esc=\"closeOnEsc\"\n @update:model-value=\"emit('update:modelValue', $event)\"\n >\n <template v-if=\"useModalSrOnlyTitle\" #title>\n <span class=\"sr-only\">{{ resolvedTitle }}</span>\n </template>\n\n <div class=\"overflow-hidden rounded-[inherit]\">\n <GrDialogHeader\n v-if=\"showHeader\"\n :title=\"resolvedTitle\"\n :show-close-button=\"showCloseButton\"\n :config=\"headerConfig\"\n :close-label=\"closeLabel\"\n @close=\"close\"\n >\n <template v-if=\"slots.header\" #default=\"slotProps\">\n <slot name=\"header\" v-bind=\"slotProps\" />\n </template>\n </GrDialogHeader>\n\n <div :class=\"bodyClass\">\n <slot />\n </div>\n\n <GrDialogFooter v-if=\"slots.footer\" :config=\"footerConfig\">\n <slot name=\"footer\" />\n </GrDialogFooter>\n </div>\n </GrModal>\n</template>\n","<script setup lang=\"ts\">\n/**\n * GrDialog — GR-примитив диалога поверх `GrModal`.\n *\n * Архитектурно:\n * - ширина/радиус/скролл-лок/Esc/бэкдроп — ответственность `GrModal`;\n * - заголовок/подвал/кнопка закрытия/паддинги секций — ответственность `GrDialog`.\n *\n * A11y: ровно один `DialogTitle` на открытое окно.\n * - Если хедер отображается без слота `#header` — видимый `DialogTitle` рендерит\n * `GrDialogHeader`.\n * - В остальных случаях (`!showHeader`, либо `showHeader` со слотом `#header`)\n * `GrDialog` отдаёт sr-only title в слот `#title` у `GrModal`, чтобы\n * HeadlessUI корректно проставил `aria-labelledby` на панель.\n */\nimport { computed } from 'vue'\n\nimport GrModal from '../GrModal/GrModal.vue'\nimport GrDialogFooter from './GrDialogFooter.vue'\nimport GrDialogHeader from './GrDialogHeader.vue'\nimport {\n DEFAULT_GR_DIALOG_BODY_CONFIG,\n type GrDialogSectionConfig,\n type GrDialogSize,\n resolveGrDialogSectionConfig,\n resolveGrDialogTitle,\n} from './dialogShared'\n\nexport interface GrDialogProps {\n modelValue: boolean\n title?: string\n closeOnBackdrop?: boolean\n closeOnEsc?: boolean\n showHeader?: boolean\n showCloseButton?: boolean\n size?: GrDialogSize\n headerConfig?: GrDialogSectionConfig\n footerConfig?: GrDialogSectionConfig\n bodyConfig?: GrDialogSectionConfig\n /** A11y-лейбл кнопки закрытия (i18n). */\n closeLabel?: string\n}\n\nconst props = withDefaults(defineProps<GrDialogProps>(), {\n title: undefined,\n closeOnBackdrop: true,\n closeOnEsc: true,\n showHeader: true,\n showCloseButton: true,\n size: 'md',\n headerConfig: undefined,\n footerConfig: undefined,\n bodyConfig: undefined,\n closeLabel: undefined,\n})\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: boolean): void\n}>()\n\nconst slots = defineSlots<{\n default?: () => any\n header?: (props: { title?: string }) => any\n footer?: () => any\n}>()\n\nconst resolvedTitle = computed(() => resolveGrDialogTitle(props.title))\n\nconst bodyClass = computed(() => {\n const cfg = resolveGrDialogSectionConfig(props.bodyConfig, DEFAULT_GR_DIALOG_BODY_CONFIG)\n return [cfg.paddingX, cfg.paddingY]\n})\n\n// Нужен ли sr-only title через `GrModal #title`:\n// - `!showHeader` — вообще нет заголовка в разметке;\n// - `showHeader && $slots.header` — кастомный хедер не обязан содержать DialogTitle.\n// В обоих случаях даём HeadlessUI a11y-title, не дублируя его визуально.\nconst useModalSrOnlyTitle = computed(\n () => !!resolvedTitle.value && (!props.showHeader || !!slots.header),\n)\n\nfunction close(): void {\n emit('update:modelValue', false)\n}\n</script>\n\n<template>\n <GrModal\n :model-value=\"modelValue\"\n :size=\"size\"\n :close-on-backdrop=\"closeOnBackdrop\"\n :close-on-esc=\"closeOnEsc\"\n @update:model-value=\"emit('update:modelValue', $event)\"\n >\n <template v-if=\"useModalSrOnlyTitle\" #title>\n <span class=\"sr-only\">{{ resolvedTitle }}</span>\n </template>\n\n <div class=\"overflow-hidden rounded-[inherit]\">\n <GrDialogHeader\n v-if=\"showHeader\"\n :title=\"resolvedTitle\"\n :show-close-button=\"showCloseButton\"\n :config=\"headerConfig\"\n :close-label=\"closeLabel\"\n @close=\"close\"\n >\n <template v-if=\"slots.header\" #default=\"slotProps\">\n <slot name=\"header\" v-bind=\"slotProps\" />\n </template>\n </GrDialogHeader>\n\n <div :class=\"bodyClass\">\n <slot />\n </div>\n\n <GrDialogFooter v-if=\"slots.footer\" :config=\"footerConfig\">\n <slot name=\"footer\" />\n </GrDialogFooter>\n </div>\n </GrModal>\n</template>\n"],"mappings":"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"}
|
|
@@ -1,450 +0,0 @@
|
|
|
1
|
-
import { n as GR_CONFIG_KEY, s as useGrConfig } from "../../../chunks/context-DfWYCBB-.js";
|
|
2
|
-
import { t as GRANULARITY_I18N_KEY } from "../../../chunks/adapter-CAOxmn2G.js";
|
|
3
|
-
import { t as resolveGranularityI18n } from "../../../chunks/granularityI18n-SH0I--GW.js";
|
|
4
|
-
import { t as GrButton_default } from "../../GrButton/chunks/GrButton-DCi4CUpo.js";
|
|
5
|
-
import { n as coreResponseErrorParsers, r as createResponseErrorClassifier, s as responseErrorParserPresets } from "../../GrResponseErrorBanner/chunks/GrResponseErrorBanner-C8NGx8pE.js";
|
|
6
|
-
import { t as GrConfirmDialog_default } from "../../GrConfirmDialog/chunks/GrConfirmDialog-e4120mWw.js";
|
|
7
|
-
import { t as GrPromptDialog_default } from "../../GrPromptDialog/chunks/GrPromptDialog-DNUjRVB9.js";
|
|
8
|
-
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, getCurrentInstance, markRaw, mergeProps, nextTick, onBeforeUnmount, openBlock, provide, reactive, ref, render, shallowRef, toDisplayString, watch, withCtx } from "vue";
|
|
9
|
-
//#region src/components/GrDialogService/store.ts
|
|
10
|
-
/**
|
|
11
|
-
* Модульный синглтон очереди диалогов: единый источник правды для всех
|
|
12
|
-
* вызовов сервиса. Хост-компонент рендерит только `queue[0]` — это
|
|
13
|
-
* сериализует диалоги (FIFO) и исключает конкуренцию за фокус-трап.
|
|
14
|
-
*/
|
|
15
|
-
var dialogQueue = reactive([]);
|
|
16
|
-
var counter = 0;
|
|
17
|
-
function makeDialogId() {
|
|
18
|
-
counter += 1;
|
|
19
|
-
return `gr-dialog-${Date.now()}-${counter}`;
|
|
20
|
-
}
|
|
21
|
-
//#endregion
|
|
22
|
-
//#region src/components/GrDialogService/GrDialogServiceHost.vue?vue&type=script&setup=true&lang.ts
|
|
23
|
-
var _hoisted_1 = { class: "flex items-center justify-end gap-3" };
|
|
24
|
-
//#endregion
|
|
25
|
-
//#region src/components/GrDialogService/GrDialogServiceHost.vue
|
|
26
|
-
var GrDialogServiceHost_default = /* @__PURE__ */ defineComponent({
|
|
27
|
-
__name: "GrDialogServiceHost",
|
|
28
|
-
setup(__props) {
|
|
29
|
-
/**
|
|
30
|
-
* GrDialogServiceHost — внутренний компонент-оркестратор императивного
|
|
31
|
-
* `useDialogService`. Не предназначен для прямого использования в шаблонах.
|
|
32
|
-
*
|
|
33
|
-
* Рендерит «голову» очереди `dialogQueue` (FIFO-сериализация), переиспользуя
|
|
34
|
-
* декларативные `GrConfirmDialog`/`GrPromptDialog`. Управляет состоянием
|
|
35
|
-
* загрузки и ошибок во время async-`onConfirm`, прогоняя «сырые» ответы
|
|
36
|
-
* сервера через цепочку парсеров `GrResponseErrorBanner`.
|
|
37
|
-
*/
|
|
38
|
-
const active = computed(() => dialogQueue[0] ?? null);
|
|
39
|
-
const EMPTY_DEFAULTS = Object.freeze({});
|
|
40
|
-
provide(GR_CONFIG_KEY, {
|
|
41
|
-
size: computed(() => active.value?.config?.size.value),
|
|
42
|
-
componentDefaults: computed(() => active.value?.config?.componentDefaults.value ?? EMPTY_DEFAULTS)
|
|
43
|
-
});
|
|
44
|
-
const hostI18n = resolveGranularityI18n();
|
|
45
|
-
provide(GRANULARITY_I18N_KEY, {
|
|
46
|
-
t: (key, params) => {
|
|
47
|
-
return (active.value?.i18n ?? hostI18n)?.t(key, params) ?? key;
|
|
48
|
-
},
|
|
49
|
-
get locale() {
|
|
50
|
-
return (active.value?.i18n ?? hostI18n)?.locale;
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
const open = ref(false);
|
|
54
|
-
const loading = ref(false);
|
|
55
|
-
const currentError = shallowRef(null);
|
|
56
|
-
const fieldError = ref(null);
|
|
57
|
-
const promptValue = ref("");
|
|
58
|
-
let controller = null;
|
|
59
|
-
let finishing = false;
|
|
60
|
-
let externalAbortCleanup = null;
|
|
61
|
-
function resetState() {
|
|
62
|
-
loading.value = false;
|
|
63
|
-
currentError.value = null;
|
|
64
|
-
fieldError.value = null;
|
|
65
|
-
finishing = false;
|
|
66
|
-
}
|
|
67
|
-
function buildClassifier(req) {
|
|
68
|
-
const opts = req.options;
|
|
69
|
-
return createResponseErrorClassifier({
|
|
70
|
-
parsers: typeof opts.errorParsers === "function" ? opts.errorParsers(responseErrorParserPresets) : opts.errorParsers ?? coreResponseErrorParsers,
|
|
71
|
-
texts: opts.errorTexts,
|
|
72
|
-
messageKey: opts.errorMessageKey
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
watch(() => active.value?.id, (id) => {
|
|
76
|
-
cleanupExternalAbort();
|
|
77
|
-
resetState();
|
|
78
|
-
const req = active.value;
|
|
79
|
-
if (!req || !id) {
|
|
80
|
-
open.value = false;
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
promptValue.value = req.options && "value" in req.options ? req.options.value ?? "" : "";
|
|
84
|
-
controller = new AbortController();
|
|
85
|
-
const sig = req.options.signal;
|
|
86
|
-
if (sig) {
|
|
87
|
-
if (sig.aborted) {
|
|
88
|
-
finish("close");
|
|
89
|
-
return;
|
|
90
|
-
}
|
|
91
|
-
const onAbort = () => finish("close");
|
|
92
|
-
sig.addEventListener("abort", onAbort);
|
|
93
|
-
externalAbortCleanup = () => sig.removeEventListener("abort", onAbort);
|
|
94
|
-
}
|
|
95
|
-
nextTick(() => {
|
|
96
|
-
open.value = true;
|
|
97
|
-
});
|
|
98
|
-
});
|
|
99
|
-
function cleanupExternalAbort() {
|
|
100
|
-
externalAbortCleanup?.();
|
|
101
|
-
externalAbortCleanup = null;
|
|
102
|
-
}
|
|
103
|
-
function finish(action, value) {
|
|
104
|
-
const req = active.value;
|
|
105
|
-
if (!req || finishing) return;
|
|
106
|
-
finishing = true;
|
|
107
|
-
open.value = false;
|
|
108
|
-
controller?.abort();
|
|
109
|
-
controller = null;
|
|
110
|
-
cleanupExternalAbort();
|
|
111
|
-
req.resolve({
|
|
112
|
-
action,
|
|
113
|
-
value
|
|
114
|
-
});
|
|
115
|
-
nextTick(() => {
|
|
116
|
-
const index = dialogQueue.findIndex((item) => item.id === req.id);
|
|
117
|
-
if (index >= 0) dialogQueue.splice(index, 1);
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
function buildContext(req, value) {
|
|
121
|
-
let errorSet = false;
|
|
122
|
-
const setError = (message) => {
|
|
123
|
-
if (message == null) {
|
|
124
|
-
currentError.value = null;
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
errorSet = true;
|
|
128
|
-
currentError.value = {
|
|
129
|
-
kind: "unknown",
|
|
130
|
-
message,
|
|
131
|
-
raw: message
|
|
132
|
-
};
|
|
133
|
-
};
|
|
134
|
-
const setFieldError = (field, message) => {
|
|
135
|
-
if (message == null) {
|
|
136
|
-
fieldError.value = null;
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
errorSet = true;
|
|
140
|
-
fieldError.value = message;
|
|
141
|
-
};
|
|
142
|
-
const clearErrors = () => {
|
|
143
|
-
currentError.value = null;
|
|
144
|
-
fieldError.value = null;
|
|
145
|
-
};
|
|
146
|
-
const setRawError = async (raw, meta) => {
|
|
147
|
-
const info = await buildClassifier(req)(raw, meta);
|
|
148
|
-
if (req.kind === "prompt" && info.fieldErrors?.length) {
|
|
149
|
-
const match = info.fieldErrors.find((f) => f.field === "value") ?? info.fieldErrors[0];
|
|
150
|
-
fieldError.value = match.messages.join(" ");
|
|
151
|
-
}
|
|
152
|
-
currentError.value = info;
|
|
153
|
-
errorSet = true;
|
|
154
|
-
return info;
|
|
155
|
-
};
|
|
156
|
-
return {
|
|
157
|
-
value,
|
|
158
|
-
signal: controller.signal,
|
|
159
|
-
setError,
|
|
160
|
-
setRawError,
|
|
161
|
-
setFieldError,
|
|
162
|
-
clearErrors,
|
|
163
|
-
setLoading: (v) => {
|
|
164
|
-
loading.value = v;
|
|
165
|
-
},
|
|
166
|
-
close: (action = "close") => finish(action),
|
|
167
|
-
_errorSet: () => errorSet
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
async function handleConfirm() {
|
|
171
|
-
const req = active.value;
|
|
172
|
-
if (!req) return;
|
|
173
|
-
const value = req.kind === "prompt" ? promptValue.value : void 0;
|
|
174
|
-
if (!req.onConfirm) {
|
|
175
|
-
finish("confirm", value);
|
|
176
|
-
return;
|
|
177
|
-
}
|
|
178
|
-
currentError.value = null;
|
|
179
|
-
fieldError.value = null;
|
|
180
|
-
loading.value = true;
|
|
181
|
-
const ctx = buildContext(req, value);
|
|
182
|
-
try {
|
|
183
|
-
const result = await req.onConfirm(ctx);
|
|
184
|
-
loading.value = false;
|
|
185
|
-
if (finishing) return;
|
|
186
|
-
if (result === false) return;
|
|
187
|
-
if (currentError.value || fieldError.value || ctx._errorSet()) return;
|
|
188
|
-
finish("confirm", value);
|
|
189
|
-
} catch (error) {
|
|
190
|
-
loading.value = false;
|
|
191
|
-
if (finishing) return;
|
|
192
|
-
if (!ctx._errorSet()) await ctx.setRawError(error);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
function handleCancel() {
|
|
196
|
-
finish("cancel");
|
|
197
|
-
}
|
|
198
|
-
function handleModelUpdate(value) {
|
|
199
|
-
if (!value) finish("close");
|
|
200
|
-
}
|
|
201
|
-
onBeforeUnmount(() => {
|
|
202
|
-
cleanupExternalAbort();
|
|
203
|
-
controller?.abort();
|
|
204
|
-
});
|
|
205
|
-
const sharedProps = computed(() => {
|
|
206
|
-
const o = active.value?.options ?? {};
|
|
207
|
-
return {
|
|
208
|
-
title: o.title,
|
|
209
|
-
size: o.size,
|
|
210
|
-
closeOnBackdrop: o.closeOnBackdrop,
|
|
211
|
-
closeOnEsc: o.closeOnEsc,
|
|
212
|
-
showHeader: o.showHeader,
|
|
213
|
-
showCloseButton: o.showCloseButton,
|
|
214
|
-
headerConfig: o.headerConfig,
|
|
215
|
-
footerConfig: o.footerConfig,
|
|
216
|
-
bodyConfig: o.bodyConfig,
|
|
217
|
-
closeLabel: o.closeLabel,
|
|
218
|
-
buttonSize: o.buttonSize,
|
|
219
|
-
confirmText: o.confirmText,
|
|
220
|
-
confirmVariant: o.confirmVariant,
|
|
221
|
-
confirmTone: o.confirmTone
|
|
222
|
-
};
|
|
223
|
-
});
|
|
224
|
-
return (_ctx, _cache) => {
|
|
225
|
-
return active.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [active.value.kind === "prompt" ? (openBlock(), createBlock(GrPromptDialog_default, mergeProps({ key: 0 }, sharedProps.value, {
|
|
226
|
-
value: promptValue.value,
|
|
227
|
-
"onUpdate:value": _cache[0] || (_cache[0] = ($event) => promptValue.value = $event),
|
|
228
|
-
"model-value": open.value,
|
|
229
|
-
description: active.value.options.message ?? active.value.options.description,
|
|
230
|
-
label: active.value.options.label,
|
|
231
|
-
placeholder: active.value.options.placeholder,
|
|
232
|
-
required: active.value.options.required ?? false,
|
|
233
|
-
"required-error-text": active.value.options.requiredErrorText,
|
|
234
|
-
"cancel-text": active.value.options.cancelText,
|
|
235
|
-
error: currentError.value,
|
|
236
|
-
"field-error": fieldError.value,
|
|
237
|
-
"confirm-loading": loading.value,
|
|
238
|
-
"close-on-confirm": false,
|
|
239
|
-
"onUpdate:modelValue": handleModelUpdate,
|
|
240
|
-
onConfirm: handleConfirm,
|
|
241
|
-
onCancel: handleCancel
|
|
242
|
-
}), null, 16, [
|
|
243
|
-
"value",
|
|
244
|
-
"model-value",
|
|
245
|
-
"description",
|
|
246
|
-
"label",
|
|
247
|
-
"placeholder",
|
|
248
|
-
"required",
|
|
249
|
-
"required-error-text",
|
|
250
|
-
"cancel-text",
|
|
251
|
-
"error",
|
|
252
|
-
"field-error",
|
|
253
|
-
"confirm-loading"
|
|
254
|
-
])) : active.value.kind === "alert" ? (openBlock(), createBlock(GrConfirmDialog_default, mergeProps({
|
|
255
|
-
key: 1,
|
|
256
|
-
"model-value": open.value
|
|
257
|
-
}, sharedProps.value, {
|
|
258
|
-
description: active.value.options.message ?? active.value.options.description,
|
|
259
|
-
error: currentError.value,
|
|
260
|
-
"confirm-loading": loading.value,
|
|
261
|
-
"close-on-confirm": false,
|
|
262
|
-
"onUpdate:modelValue": handleModelUpdate,
|
|
263
|
-
onConfirm: handleConfirm
|
|
264
|
-
}), {
|
|
265
|
-
footer: withCtx(() => [createElementVNode("div", _hoisted_1, [createVNode(GrButton_default, {
|
|
266
|
-
"data-testid": "gr-alert-confirm",
|
|
267
|
-
variant: sharedProps.value.confirmVariant ?? "primary",
|
|
268
|
-
tone: sharedProps.value.confirmTone ?? "primary",
|
|
269
|
-
size: sharedProps.value.buttonSize,
|
|
270
|
-
loading: loading.value,
|
|
271
|
-
onClick: handleConfirm
|
|
272
|
-
}, {
|
|
273
|
-
default: withCtx(() => [createTextVNode(toDisplayString(sharedProps.value.confirmText ?? "OK"), 1)]),
|
|
274
|
-
_: 1
|
|
275
|
-
}, 8, [
|
|
276
|
-
"variant",
|
|
277
|
-
"tone",
|
|
278
|
-
"size",
|
|
279
|
-
"loading"
|
|
280
|
-
])])]),
|
|
281
|
-
_: 1
|
|
282
|
-
}, 16, [
|
|
283
|
-
"model-value",
|
|
284
|
-
"description",
|
|
285
|
-
"error",
|
|
286
|
-
"confirm-loading"
|
|
287
|
-
])) : (openBlock(), createBlock(GrConfirmDialog_default, mergeProps({
|
|
288
|
-
key: 2,
|
|
289
|
-
"model-value": open.value
|
|
290
|
-
}, sharedProps.value, {
|
|
291
|
-
description: active.value.options.message ?? active.value.options.description,
|
|
292
|
-
"cancel-text": active.value.options.cancelText,
|
|
293
|
-
error: currentError.value,
|
|
294
|
-
"confirm-loading": loading.value,
|
|
295
|
-
"close-on-confirm": false,
|
|
296
|
-
"onUpdate:modelValue": handleModelUpdate,
|
|
297
|
-
onConfirm: handleConfirm,
|
|
298
|
-
onCancel: handleCancel
|
|
299
|
-
}), null, 16, [
|
|
300
|
-
"model-value",
|
|
301
|
-
"description",
|
|
302
|
-
"cancel-text",
|
|
303
|
-
"error",
|
|
304
|
-
"confirm-loading"
|
|
305
|
-
]))], 64)) : createCommentVNode("", true);
|
|
306
|
-
};
|
|
307
|
-
}
|
|
308
|
-
});
|
|
309
|
-
//#endregion
|
|
310
|
-
//#region src/components/GrDialogService/useDialogService.ts
|
|
311
|
-
/**
|
|
312
|
-
* `useDialogService` — императивный сервис диалогов (в духе Element Plus
|
|
313
|
-
* `ElMessageBox`). Позволяет вызывать `confirm`/`alert`/`prompt` из `<script>`
|
|
314
|
-
* или `.ts` без вставки компонента в шаблон.
|
|
315
|
-
*
|
|
316
|
-
* Поверх существующих `GrConfirmDialog`/`GrPromptDialog`: лениво монтирует
|
|
317
|
-
* единый хост (`GrDialogServiceHost`) в `document.body`, наследуя контекст
|
|
318
|
-
* приложения (i18n / тема / `granular-provider`). Диалоги сериализуются
|
|
319
|
-
* очередью FIFO.
|
|
320
|
-
*/
|
|
321
|
-
var mounted = false;
|
|
322
|
-
var container = null;
|
|
323
|
-
var cachedAppContext = null;
|
|
324
|
-
function ensureMounted(appContext) {
|
|
325
|
-
if (typeof window === "undefined" || typeof document === "undefined") return;
|
|
326
|
-
if (appContext) cachedAppContext = appContext;
|
|
327
|
-
if (mounted) return;
|
|
328
|
-
container = document.createElement("div");
|
|
329
|
-
container.setAttribute("data-gr-dialog-service-host", "");
|
|
330
|
-
document.body.appendChild(container);
|
|
331
|
-
const vnode = createVNode(GrDialogServiceHost_default);
|
|
332
|
-
vnode.appContext = cachedAppContext ?? null;
|
|
333
|
-
render(vnode, container);
|
|
334
|
-
mounted = true;
|
|
335
|
-
}
|
|
336
|
-
/** Тестовая/служебная очистка смонтированного хоста. */
|
|
337
|
-
function teardownDialogService() {
|
|
338
|
-
if (container) {
|
|
339
|
-
render(null, container);
|
|
340
|
-
container.remove();
|
|
341
|
-
container = null;
|
|
342
|
-
}
|
|
343
|
-
mounted = false;
|
|
344
|
-
cachedAppContext = null;
|
|
345
|
-
dialogQueue.splice(0, dialogQueue.length);
|
|
346
|
-
}
|
|
347
|
-
function enqueue(kind, message, options, onConfirm, captured) {
|
|
348
|
-
if (typeof window === "undefined" || typeof document === "undefined") throw new Error("[granularity] useDialogService is client-only and cannot be called during SSR (it mounts a host into document.body). Guard imperative dialog calls behind a client-side check.");
|
|
349
|
-
ensureMounted(options.appContext ?? cachedAppContext);
|
|
350
|
-
const id = makeDialogId();
|
|
351
|
-
let resolveFn;
|
|
352
|
-
const promise = new Promise((resolve) => {
|
|
353
|
-
resolveFn = resolve;
|
|
354
|
-
});
|
|
355
|
-
const request = {
|
|
356
|
-
id,
|
|
357
|
-
kind,
|
|
358
|
-
message,
|
|
359
|
-
options: {
|
|
360
|
-
...options,
|
|
361
|
-
message
|
|
362
|
-
},
|
|
363
|
-
onConfirm,
|
|
364
|
-
resolve: resolveFn,
|
|
365
|
-
config: captured.config,
|
|
366
|
-
i18n: captured.i18n
|
|
367
|
-
};
|
|
368
|
-
dialogQueue.push(request);
|
|
369
|
-
const close = () => {
|
|
370
|
-
const index = dialogQueue.findIndex((item) => item.id === id);
|
|
371
|
-
if (index < 0) return;
|
|
372
|
-
dialogQueue.splice(index, 1);
|
|
373
|
-
resolveFn({ action: "close" });
|
|
374
|
-
};
|
|
375
|
-
return {
|
|
376
|
-
promise,
|
|
377
|
-
close
|
|
378
|
-
};
|
|
379
|
-
}
|
|
380
|
-
function withClose(promise, close) {
|
|
381
|
-
const result = promise;
|
|
382
|
-
result.close = close;
|
|
383
|
-
return result;
|
|
384
|
-
}
|
|
385
|
-
function mergeErrorDefaults(defaults, options) {
|
|
386
|
-
return {
|
|
387
|
-
size: defaults.size,
|
|
388
|
-
confirmText: defaults.confirmText,
|
|
389
|
-
confirmVariant: defaults.confirmVariant,
|
|
390
|
-
confirmTone: defaults.confirmTone,
|
|
391
|
-
buttonSize: defaults.buttonSize,
|
|
392
|
-
closeOnBackdrop: defaults.closeOnBackdrop,
|
|
393
|
-
closeOnEsc: defaults.closeOnEsc,
|
|
394
|
-
errorParsers: defaults.errorParsers,
|
|
395
|
-
errorTexts: defaults.errorTexts,
|
|
396
|
-
errorMessageKey: defaults.errorMessageKey,
|
|
397
|
-
fieldLabels: defaults.fieldLabels,
|
|
398
|
-
...options
|
|
399
|
-
};
|
|
400
|
-
}
|
|
401
|
-
/**
|
|
402
|
-
* Создаёт сервис диалогов. Опциональные `defaults` применяются ко всем
|
|
403
|
-
* вызовам (можно переопределить в каждом конкретном вызове).
|
|
404
|
-
*
|
|
405
|
-
* Контекст приложения кэшируется автоматически при первом вызове внутри
|
|
406
|
-
* `setup`. Для вызовов вне компонента используйте `setAppContext`.
|
|
407
|
-
*/
|
|
408
|
-
function useDialogService(defaults = {}) {
|
|
409
|
-
const instance = getCurrentInstance();
|
|
410
|
-
if (instance?.appContext && !cachedAppContext) cachedAppContext = instance.appContext;
|
|
411
|
-
const capturedI18n = instance ? resolveGranularityI18n() : null;
|
|
412
|
-
const captured = {
|
|
413
|
-
config: instance ? markRaw(useGrConfig()) : null,
|
|
414
|
-
i18n: capturedI18n ? markRaw(capturedI18n) : null
|
|
415
|
-
};
|
|
416
|
-
function confirm(message, options = {}) {
|
|
417
|
-
const { promise, close } = enqueue("confirm", message, mergeErrorDefaults(defaults, options), options.onConfirm, captured);
|
|
418
|
-
return withClose(promise.then((r) => r.action === "confirm"), close);
|
|
419
|
-
}
|
|
420
|
-
function alert(message, options = {}) {
|
|
421
|
-
const { promise, close } = enqueue("alert", message, mergeErrorDefaults(defaults, options), options.onConfirm, captured);
|
|
422
|
-
return withClose(promise.then(() => void 0), close);
|
|
423
|
-
}
|
|
424
|
-
function prompt(message, options = {}) {
|
|
425
|
-
const { promise, close } = enqueue("prompt", message, mergeErrorDefaults(defaults, options), options.onConfirm, captured);
|
|
426
|
-
return withClose(promise.then((r) => r.action === "confirm" ? r.value ?? "" : null), close);
|
|
427
|
-
}
|
|
428
|
-
function open(kind, message, options = {}) {
|
|
429
|
-
const { promise, close } = enqueue(kind, message, mergeErrorDefaults(defaults, options), options.onConfirm, captured);
|
|
430
|
-
return withClose(promise, close);
|
|
431
|
-
}
|
|
432
|
-
function closeAll() {
|
|
433
|
-
while (dialogQueue.length > 0) dialogQueue.pop().resolve({ action: "close" });
|
|
434
|
-
}
|
|
435
|
-
function setAppContext(ctx) {
|
|
436
|
-
cachedAppContext = ctx;
|
|
437
|
-
}
|
|
438
|
-
return {
|
|
439
|
-
confirm,
|
|
440
|
-
alert,
|
|
441
|
-
prompt,
|
|
442
|
-
open,
|
|
443
|
-
closeAll,
|
|
444
|
-
setAppContext
|
|
445
|
-
};
|
|
446
|
-
}
|
|
447
|
-
/** Готовый синглтон-сервис с дефолтными настройками. */
|
|
448
|
-
var dialogService = useDialogService();
|
|
449
|
-
//#endregion
|
|
450
|
-
export { GrDialogServiceHost_default as i, teardownDialogService as n, useDialogService as r, dialogService as t };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GrDialogService-CYXCTGm3.js","names":[],"sources":["../../../../src/components/GrDialogService/store.ts","../../../../src/components/GrDialogService/GrDialogServiceHost.vue","../../../../src/components/GrDialogService/GrDialogServiceHost.vue","../../../../src/components/GrDialogService/useDialogService.ts"],"sourcesContent":["import { reactive } from 'vue'\nimport type { Raw } from 'vue'\n\nimport type { GrConfigContext } from '../GrConfigProvider/context'\nimport type { GranularityI18nLike } from '../../internal/granularityI18n'\n\nimport type {\n DialogBaseOptions,\n DialogKind,\n DialogOnConfirm,\n DialogResult,\n} from './types'\n\n/**\n * Внутреннее описание одного запроса диалога в очереди. Создаётся методами\n * сервиса (`confirm`/`alert`/`prompt`/`open`) и потребляется хостом\n * (`GrDialogServiceHost`), который рендерит «голову» очереди (FIFO).\n */\nexport interface DialogRequest {\n id: string\n kind: DialogKind\n message: string\n options: DialogBaseOptions\n onConfirm?: DialogOnConfirm<any>\n /** Резолвит промис вызова детальным результатом `{ action, value }`. */\n resolve: (result: DialogResult<any>) => void\n /**\n * Конфиг и i18n, захваченные в месте вызова сервиса (в `setup`, где вызывающий\n * компонент ещё находится внутри дерева провайдера). Хост монтируется в\n * `document.body` вне дерева, поэтому сам их не увидит — см.\n * `SPEC-GrConfig-resolver.md`.\n *\n * Лежат в запросе, а не в модульной переменной: два поддерева с разными\n * провайдерами должны получать каждое свой конфиг.\n *\n * `Raw<…>` обязателен: очередь — `reactive`, а он разворачивает вложенные рефы.\n * Без `markRaw` контекст превратился бы в объект значений, `size.value` стало\n * бы `undefined`, и мост молча перестал бы работать.\n */\n config?: Raw<GrConfigContext> | null\n i18n?: Raw<GranularityI18nLike> | null\n}\n\n/**\n * Модульный синглтон очереди диалогов: единый источник правды для всех\n * вызовов сервиса. Хост-компонент рендерит только `queue[0]` — это\n * сериализует диалоги (FIFO) и исключает конкуренцию за фокус-трап.\n */\nexport const dialogQueue = reactive<DialogRequest[]>([])\n\nlet counter = 0\n\nexport function makeDialogId(): string {\n counter += 1\n return `gr-dialog-${Date.now()}-${counter}`\n}\n","<script setup lang=\"ts\">\n/**\n * GrDialogServiceHost — внутренний компонент-оркестратор императивного\n * `useDialogService`. Не предназначен для прямого использования в шаблонах.\n *\n * Рендерит «голову» очереди `dialogQueue` (FIFO-сериализация), переиспользуя\n * декларативные `GrConfirmDialog`/`GrPromptDialog`. Управляет состоянием\n * загрузки и ошибок во время async-`onConfirm`, прогоняя «сырые» ответы\n * сервера через цепочку парсеров `GrResponseErrorBanner`.\n */\nimport { computed, nextTick, onBeforeUnmount, provide, ref, shallowRef, watch } from 'vue'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrConfirmDialog from '../GrConfirmDialog/GrConfirmDialog.vue'\nimport GrPromptDialog from '../GrPromptDialog/GrPromptDialog.vue'\nimport {\n coreResponseErrorParsers,\n createResponseErrorClassifier,\n responseErrorParserPresets,\n} from '../GrResponseErrorBanner'\nimport type { ResponseErrorInfo } from '../GrResponseErrorBanner'\n\nimport { GR_CONFIG_KEY, type GrComponentDefaults, type GrConfigContext } from '../GrConfigProvider/context'\nimport { GRANULARITY_I18N_KEY } from '../../i18n/adapter'\nimport { resolveGranularityI18n } from '../../internal/granularityI18n'\n\nimport { dialogQueue } from './store'\nimport type { DialogRequest } from './store'\nimport type { DialogCloseAction, DialogConfirmContext } from './types'\n\nconst active = computed<DialogRequest | null>(() => dialogQueue[0] ?? null)\n\n// ————— Мост конфига и i18n.\n//\n// Хост рендерится через `render(vnode, container)` в `document.body`, то есть вне\n// дерева компонентов. Vue в этом случае берёт `provides` только из `appContext`,\n// куда попадает лишь `app.provide()` — значения от `<GrConfigProvider>` до сюда\n// не доходят. Поэтому вызов сервиса захватывает их в `setup` и кладёт в запрос, а\n// хост раздаёт вниз конфиг **активного** запроса.\n//\n// Раздаём производный контекст, а не захваченный объект: хост один на всё\n// приложение и живёт между вызовами, а запросы приходят из разных поддеревьев с\n// разными провайдерами. Реактивность при этом сохраняется — внутри лежат те же\n// рефы, что и у исходного провайдера.\nconst EMPTY_DEFAULTS: GrComponentDefaults = Object.freeze({})\n\nprovide<GrConfigContext>(GR_CONFIG_KEY, {\n size: computed(() => active.value?.config?.size.value),\n componentDefaults: computed(() => active.value?.config?.componentDefaults.value ?? EMPTY_DEFAULTS),\n})\n\n// i18n: тот же приём. Адаптер хоста (из `appContext`) остаётся запасным вариантом,\n// если вызов пришёл без захваченного — так установка через `app.use()` продолжает\n// работать как раньше.\nconst hostI18n = resolveGranularityI18n()\n\nprovide(GRANULARITY_I18N_KEY, {\n t: (key: string, params?: Record<string, unknown>) => {\n const adapter = active.value?.i18n ?? hostI18n\n // Вернуть сам ключ — принятый в пакете сигнал «перевода нет»: потребитель\n // подставит свой fallback-текст (см. `useGranularityTranslations`).\n return adapter?.t(key, params) ?? key\n },\n get locale() {\n return (active.value?.i18n ?? hostI18n)?.locale\n },\n})\n\nconst open = ref(false)\nconst loading = ref(false)\nconst currentError = shallowRef<ResponseErrorInfo | null>(null)\nconst fieldError = ref<string | null>(null)\nconst promptValue = ref('')\n\nlet controller: AbortController | null = null\nlet finishing = false\nlet externalAbortCleanup: (() => void) | null = null\n\nfunction resetState(): void {\n loading.value = false\n currentError.value = null\n fieldError.value = null\n finishing = false\n}\n\nfunction buildClassifier(req: DialogRequest) {\n const opts = req.options\n const parsers = typeof opts.errorParsers === 'function'\n ? opts.errorParsers(responseErrorParserPresets)\n : opts.errorParsers ?? coreResponseErrorParsers\n\n return createResponseErrorClassifier({\n parsers,\n texts: opts.errorTexts,\n messageKey: opts.errorMessageKey,\n })\n}\n\nwatch(\n () => active.value?.id,\n (id) => {\n cleanupExternalAbort()\n resetState()\n\n const req = active.value\n if (!req || !id) {\n open.value = false\n return\n }\n\n promptValue.value = req.options && 'value' in req.options\n ? ((req.options as { value?: string }).value ?? '')\n : ''\n\n controller = new AbortController()\n\n // Внешний AbortSignal закрывает диалог как `close`.\n const sig = req.options.signal\n if (sig) {\n if (sig.aborted) {\n finish('close')\n return\n }\n const onAbort = () => finish('close')\n sig.addEventListener('abort', onAbort)\n externalAbortCleanup = () => sig.removeEventListener('abort', onAbort)\n }\n\n void nextTick(() => {\n open.value = true\n })\n },\n)\n\nfunction cleanupExternalAbort(): void {\n externalAbortCleanup?.()\n externalAbortCleanup = null\n}\n\nfunction finish(action: DialogCloseAction, value?: unknown): void {\n const req = active.value\n if (!req || finishing) return\n finishing = true\n\n open.value = false\n controller?.abort()\n controller = null\n cleanupExternalAbort()\n\n req.resolve({ action, value })\n\n // Снимаем «голову» очереди на следующем тике — watch откроет следующий диалог.\n void nextTick(() => {\n const index = dialogQueue.findIndex(item => item.id === req.id)\n if (index >= 0) dialogQueue.splice(index, 1)\n })\n}\n\nfunction buildContext(req: DialogRequest, value: unknown): DialogConfirmContext<any> & { _errorSet: () => boolean } {\n let errorSet = false\n\n const setError = (message: string | null): void => {\n if (message == null) {\n currentError.value = null\n return\n }\n errorSet = true\n currentError.value = { kind: 'unknown', message, raw: message }\n }\n\n const setFieldError = (field: string, message: string | null): void => {\n if (message == null) {\n fieldError.value = null\n return\n }\n errorSet = true\n fieldError.value = message\n }\n\n const clearErrors = (): void => {\n currentError.value = null\n fieldError.value = null\n }\n\n const setRawError = async (raw: unknown, meta?: Record<string, unknown>): Promise<ResponseErrorInfo | null> => {\n const info = await buildClassifier(req)(raw, meta)\n if (req.kind === 'prompt' && info.fieldErrors?.length) {\n const match = info.fieldErrors.find(f => f.field === 'value') ?? info.fieldErrors[0]\n fieldError.value = match.messages.join(' ')\n }\n currentError.value = info\n errorSet = true\n return info\n }\n\n return {\n value,\n signal: controller!.signal,\n setError,\n setRawError,\n setFieldError,\n clearErrors,\n setLoading: (v: boolean) => { loading.value = v },\n close: (action: DialogCloseAction = 'close') => finish(action),\n _errorSet: () => errorSet,\n }\n}\n\nasync function handleConfirm(): Promise<void> {\n const req = active.value\n if (!req) return\n\n const value = req.kind === 'prompt' ? promptValue.value : undefined\n\n if (!req.onConfirm) {\n finish('confirm', value)\n return\n }\n\n currentError.value = null\n fieldError.value = null\n loading.value = true\n\n const ctx = buildContext(req, value)\n\n try {\n const result = await req.onConfirm(ctx)\n loading.value = false\n if (finishing) return // ctx.close уже завершил диалог\n if (result === false) return // оставить открытым без ошибки\n if (currentError.value || fieldError.value || ctx._errorSet()) return // есть ошибка — не закрывать\n finish('confirm', value)\n }\n catch (error) {\n loading.value = false\n if (finishing) return\n if (!ctx._errorSet()) await ctx.setRawError(error)\n // оставить диалог открытым с показанной ошибкой\n }\n}\n\nfunction handleCancel(): void {\n finish('cancel')\n}\n\nfunction handleModelUpdate(value: boolean): void {\n if (!value) finish('close')\n}\n\nonBeforeUnmount(() => {\n cleanupExternalAbort()\n controller?.abort()\n})\n\n// Прокидываемые в дочерний диалог общие пропы.\nconst sharedProps = computed(() => {\n const o = active.value?.options ?? {}\n return {\n title: o.title,\n size: o.size,\n closeOnBackdrop: o.closeOnBackdrop,\n closeOnEsc: o.closeOnEsc,\n showHeader: o.showHeader,\n showCloseButton: o.showCloseButton,\n headerConfig: o.headerConfig,\n footerConfig: o.footerConfig,\n bodyConfig: o.bodyConfig,\n closeLabel: o.closeLabel,\n buttonSize: o.buttonSize,\n confirmText: o.confirmText,\n confirmVariant: o.confirmVariant,\n confirmTone: o.confirmTone,\n }\n})\n</script>\n\n<template>\n <template v-if=\"active\">\n <!-- prompt -->\n <GrPromptDialog\n v-if=\"active.kind === 'prompt'\"\n v-bind=\"sharedProps\"\n v-model:value=\"promptValue\"\n :model-value=\"open\"\n :description=\"active.options.message ?? active.options.description\"\n :label=\"(active.options as any).label\"\n :placeholder=\"(active.options as any).placeholder\"\n :required=\"(active.options as any).required ?? false\"\n :required-error-text=\"(active.options as any).requiredErrorText\"\n :cancel-text=\"(active.options as any).cancelText\"\n :error=\"currentError\"\n :field-error=\"fieldError\"\n :confirm-loading=\"loading\"\n :close-on-confirm=\"false\"\n @update:model-value=\"handleModelUpdate\"\n @confirm=\"handleConfirm\"\n @cancel=\"handleCancel\"\n />\n\n <!-- alert: confirm-диалог без кнопки Cancel -->\n <GrConfirmDialog\n v-else-if=\"active.kind === 'alert'\"\n :model-value=\"open\"\n v-bind=\"sharedProps\"\n :description=\"active.options.message ?? active.options.description\"\n :error=\"currentError\"\n :confirm-loading=\"loading\"\n :close-on-confirm=\"false\"\n @update:model-value=\"handleModelUpdate\"\n @confirm=\"handleConfirm\"\n >\n <template #footer>\n <div class=\"flex items-center justify-end gap-3\">\n <GrButton\n data-testid=\"gr-alert-confirm\"\n :variant=\"sharedProps.confirmVariant ?? 'primary'\"\n :tone=\"sharedProps.confirmTone ?? 'primary'\"\n :size=\"sharedProps.buttonSize\"\n :loading=\"loading\"\n @click=\"handleConfirm\"\n >\n {{ sharedProps.confirmText ?? 'OK' }}\n </GrButton>\n </div>\n </template>\n </GrConfirmDialog>\n\n <!-- confirm -->\n <GrConfirmDialog\n v-else\n :model-value=\"open\"\n v-bind=\"sharedProps\"\n :description=\"active.options.message ?? active.options.description\"\n :cancel-text=\"(active.options as any).cancelText\"\n :error=\"currentError\"\n :confirm-loading=\"loading\"\n :close-on-confirm=\"false\"\n @update:model-value=\"handleModelUpdate\"\n @confirm=\"handleConfirm\"\n @cancel=\"handleCancel\"\n />\n </template>\n</template>\n","<script setup lang=\"ts\">\n/**\n * GrDialogServiceHost — внутренний компонент-оркестратор императивного\n * `useDialogService`. Не предназначен для прямого использования в шаблонах.\n *\n * Рендерит «голову» очереди `dialogQueue` (FIFO-сериализация), переиспользуя\n * декларативные `GrConfirmDialog`/`GrPromptDialog`. Управляет состоянием\n * загрузки и ошибок во время async-`onConfirm`, прогоняя «сырые» ответы\n * сервера через цепочку парсеров `GrResponseErrorBanner`.\n */\nimport { computed, nextTick, onBeforeUnmount, provide, ref, shallowRef, watch } from 'vue'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrConfirmDialog from '../GrConfirmDialog/GrConfirmDialog.vue'\nimport GrPromptDialog from '../GrPromptDialog/GrPromptDialog.vue'\nimport {\n coreResponseErrorParsers,\n createResponseErrorClassifier,\n responseErrorParserPresets,\n} from '../GrResponseErrorBanner'\nimport type { ResponseErrorInfo } from '../GrResponseErrorBanner'\n\nimport { GR_CONFIG_KEY, type GrComponentDefaults, type GrConfigContext } from '../GrConfigProvider/context'\nimport { GRANULARITY_I18N_KEY } from '../../i18n/adapter'\nimport { resolveGranularityI18n } from '../../internal/granularityI18n'\n\nimport { dialogQueue } from './store'\nimport type { DialogRequest } from './store'\nimport type { DialogCloseAction, DialogConfirmContext } from './types'\n\nconst active = computed<DialogRequest | null>(() => dialogQueue[0] ?? null)\n\n// ————— Мост конфига и i18n.\n//\n// Хост рендерится через `render(vnode, container)` в `document.body`, то есть вне\n// дерева компонентов. Vue в этом случае берёт `provides` только из `appContext`,\n// куда попадает лишь `app.provide()` — значения от `<GrConfigProvider>` до сюда\n// не доходят. Поэтому вызов сервиса захватывает их в `setup` и кладёт в запрос, а\n// хост раздаёт вниз конфиг **активного** запроса.\n//\n// Раздаём производный контекст, а не захваченный объект: хост один на всё\n// приложение и живёт между вызовами, а запросы приходят из разных поддеревьев с\n// разными провайдерами. Реактивность при этом сохраняется — внутри лежат те же\n// рефы, что и у исходного провайдера.\nconst EMPTY_DEFAULTS: GrComponentDefaults = Object.freeze({})\n\nprovide<GrConfigContext>(GR_CONFIG_KEY, {\n size: computed(() => active.value?.config?.size.value),\n componentDefaults: computed(() => active.value?.config?.componentDefaults.value ?? EMPTY_DEFAULTS),\n})\n\n// i18n: тот же приём. Адаптер хоста (из `appContext`) остаётся запасным вариантом,\n// если вызов пришёл без захваченного — так установка через `app.use()` продолжает\n// работать как раньше.\nconst hostI18n = resolveGranularityI18n()\n\nprovide(GRANULARITY_I18N_KEY, {\n t: (key: string, params?: Record<string, unknown>) => {\n const adapter = active.value?.i18n ?? hostI18n\n // Вернуть сам ключ — принятый в пакете сигнал «перевода нет»: потребитель\n // подставит свой fallback-текст (см. `useGranularityTranslations`).\n return adapter?.t(key, params) ?? key\n },\n get locale() {\n return (active.value?.i18n ?? hostI18n)?.locale\n },\n})\n\nconst open = ref(false)\nconst loading = ref(false)\nconst currentError = shallowRef<ResponseErrorInfo | null>(null)\nconst fieldError = ref<string | null>(null)\nconst promptValue = ref('')\n\nlet controller: AbortController | null = null\nlet finishing = false\nlet externalAbortCleanup: (() => void) | null = null\n\nfunction resetState(): void {\n loading.value = false\n currentError.value = null\n fieldError.value = null\n finishing = false\n}\n\nfunction buildClassifier(req: DialogRequest) {\n const opts = req.options\n const parsers = typeof opts.errorParsers === 'function'\n ? opts.errorParsers(responseErrorParserPresets)\n : opts.errorParsers ?? coreResponseErrorParsers\n\n return createResponseErrorClassifier({\n parsers,\n texts: opts.errorTexts,\n messageKey: opts.errorMessageKey,\n })\n}\n\nwatch(\n () => active.value?.id,\n (id) => {\n cleanupExternalAbort()\n resetState()\n\n const req = active.value\n if (!req || !id) {\n open.value = false\n return\n }\n\n promptValue.value = req.options && 'value' in req.options\n ? ((req.options as { value?: string }).value ?? '')\n : ''\n\n controller = new AbortController()\n\n // Внешний AbortSignal закрывает диалог как `close`.\n const sig = req.options.signal\n if (sig) {\n if (sig.aborted) {\n finish('close')\n return\n }\n const onAbort = () => finish('close')\n sig.addEventListener('abort', onAbort)\n externalAbortCleanup = () => sig.removeEventListener('abort', onAbort)\n }\n\n void nextTick(() => {\n open.value = true\n })\n },\n)\n\nfunction cleanupExternalAbort(): void {\n externalAbortCleanup?.()\n externalAbortCleanup = null\n}\n\nfunction finish(action: DialogCloseAction, value?: unknown): void {\n const req = active.value\n if (!req || finishing) return\n finishing = true\n\n open.value = false\n controller?.abort()\n controller = null\n cleanupExternalAbort()\n\n req.resolve({ action, value })\n\n // Снимаем «голову» очереди на следующем тике — watch откроет следующий диалог.\n void nextTick(() => {\n const index = dialogQueue.findIndex(item => item.id === req.id)\n if (index >= 0) dialogQueue.splice(index, 1)\n })\n}\n\nfunction buildContext(req: DialogRequest, value: unknown): DialogConfirmContext<any> & { _errorSet: () => boolean } {\n let errorSet = false\n\n const setError = (message: string | null): void => {\n if (message == null) {\n currentError.value = null\n return\n }\n errorSet = true\n currentError.value = { kind: 'unknown', message, raw: message }\n }\n\n const setFieldError = (field: string, message: string | null): void => {\n if (message == null) {\n fieldError.value = null\n return\n }\n errorSet = true\n fieldError.value = message\n }\n\n const clearErrors = (): void => {\n currentError.value = null\n fieldError.value = null\n }\n\n const setRawError = async (raw: unknown, meta?: Record<string, unknown>): Promise<ResponseErrorInfo | null> => {\n const info = await buildClassifier(req)(raw, meta)\n if (req.kind === 'prompt' && info.fieldErrors?.length) {\n const match = info.fieldErrors.find(f => f.field === 'value') ?? info.fieldErrors[0]\n fieldError.value = match.messages.join(' ')\n }\n currentError.value = info\n errorSet = true\n return info\n }\n\n return {\n value,\n signal: controller!.signal,\n setError,\n setRawError,\n setFieldError,\n clearErrors,\n setLoading: (v: boolean) => { loading.value = v },\n close: (action: DialogCloseAction = 'close') => finish(action),\n _errorSet: () => errorSet,\n }\n}\n\nasync function handleConfirm(): Promise<void> {\n const req = active.value\n if (!req) return\n\n const value = req.kind === 'prompt' ? promptValue.value : undefined\n\n if (!req.onConfirm) {\n finish('confirm', value)\n return\n }\n\n currentError.value = null\n fieldError.value = null\n loading.value = true\n\n const ctx = buildContext(req, value)\n\n try {\n const result = await req.onConfirm(ctx)\n loading.value = false\n if (finishing) return // ctx.close уже завершил диалог\n if (result === false) return // оставить открытым без ошибки\n if (currentError.value || fieldError.value || ctx._errorSet()) return // есть ошибка — не закрывать\n finish('confirm', value)\n }\n catch (error) {\n loading.value = false\n if (finishing) return\n if (!ctx._errorSet()) await ctx.setRawError(error)\n // оставить диалог открытым с показанной ошибкой\n }\n}\n\nfunction handleCancel(): void {\n finish('cancel')\n}\n\nfunction handleModelUpdate(value: boolean): void {\n if (!value) finish('close')\n}\n\nonBeforeUnmount(() => {\n cleanupExternalAbort()\n controller?.abort()\n})\n\n// Прокидываемые в дочерний диалог общие пропы.\nconst sharedProps = computed(() => {\n const o = active.value?.options ?? {}\n return {\n title: o.title,\n size: o.size,\n closeOnBackdrop: o.closeOnBackdrop,\n closeOnEsc: o.closeOnEsc,\n showHeader: o.showHeader,\n showCloseButton: o.showCloseButton,\n headerConfig: o.headerConfig,\n footerConfig: o.footerConfig,\n bodyConfig: o.bodyConfig,\n closeLabel: o.closeLabel,\n buttonSize: o.buttonSize,\n confirmText: o.confirmText,\n confirmVariant: o.confirmVariant,\n confirmTone: o.confirmTone,\n }\n})\n</script>\n\n<template>\n <template v-if=\"active\">\n <!-- prompt -->\n <GrPromptDialog\n v-if=\"active.kind === 'prompt'\"\n v-bind=\"sharedProps\"\n v-model:value=\"promptValue\"\n :model-value=\"open\"\n :description=\"active.options.message ?? active.options.description\"\n :label=\"(active.options as any).label\"\n :placeholder=\"(active.options as any).placeholder\"\n :required=\"(active.options as any).required ?? false\"\n :required-error-text=\"(active.options as any).requiredErrorText\"\n :cancel-text=\"(active.options as any).cancelText\"\n :error=\"currentError\"\n :field-error=\"fieldError\"\n :confirm-loading=\"loading\"\n :close-on-confirm=\"false\"\n @update:model-value=\"handleModelUpdate\"\n @confirm=\"handleConfirm\"\n @cancel=\"handleCancel\"\n />\n\n <!-- alert: confirm-диалог без кнопки Cancel -->\n <GrConfirmDialog\n v-else-if=\"active.kind === 'alert'\"\n :model-value=\"open\"\n v-bind=\"sharedProps\"\n :description=\"active.options.message ?? active.options.description\"\n :error=\"currentError\"\n :confirm-loading=\"loading\"\n :close-on-confirm=\"false\"\n @update:model-value=\"handleModelUpdate\"\n @confirm=\"handleConfirm\"\n >\n <template #footer>\n <div class=\"flex items-center justify-end gap-3\">\n <GrButton\n data-testid=\"gr-alert-confirm\"\n :variant=\"sharedProps.confirmVariant ?? 'primary'\"\n :tone=\"sharedProps.confirmTone ?? 'primary'\"\n :size=\"sharedProps.buttonSize\"\n :loading=\"loading\"\n @click=\"handleConfirm\"\n >\n {{ sharedProps.confirmText ?? 'OK' }}\n </GrButton>\n </div>\n </template>\n </GrConfirmDialog>\n\n <!-- confirm -->\n <GrConfirmDialog\n v-else\n :model-value=\"open\"\n v-bind=\"sharedProps\"\n :description=\"active.options.message ?? active.options.description\"\n :cancel-text=\"(active.options as any).cancelText\"\n :error=\"currentError\"\n :confirm-loading=\"loading\"\n :close-on-confirm=\"false\"\n @update:model-value=\"handleModelUpdate\"\n @confirm=\"handleConfirm\"\n @cancel=\"handleCancel\"\n />\n </template>\n</template>\n","import { createVNode, getCurrentInstance, markRaw, render } from 'vue'\nimport type { AppContext, Raw } from 'vue'\n\nimport GrDialogServiceHost from './GrDialogServiceHost.vue'\nimport { useGrConfig, type GrConfigContext } from '../GrConfigProvider/context'\nimport { resolveGranularityI18n, type GranularityI18nLike } from '../../internal/granularityI18n'\nimport { dialogQueue, makeDialogId } from './store'\nimport type { DialogRequest } from './store'\nimport type {\n DialogAlertOptions,\n DialogBaseOptions,\n DialogConfirmOptions,\n DialogKind,\n DialogOnConfirm,\n DialogPromise,\n DialogPromptOptions,\n DialogResult,\n DialogService,\n DialogServiceDefaults,\n} from './types'\n\n/**\n * `useDialogService` — императивный сервис диалогов (в духе Element Plus\n * `ElMessageBox`). Позволяет вызывать `confirm`/`alert`/`prompt` из `<script>`\n * или `.ts` без вставки компонента в шаблон.\n *\n * Поверх существующих `GrConfirmDialog`/`GrPromptDialog`: лениво монтирует\n * единый хост (`GrDialogServiceHost`) в `document.body`, наследуя контекст\n * приложения (i18n / тема / `granular-provider`). Диалоги сериализуются\n * очередью FIFO.\n */\n\nlet mounted = false\nlet container: HTMLElement | null = null\nlet cachedAppContext: AppContext | null = null\n\nfunction ensureMounted(appContext?: AppContext | null): void {\n if (typeof window === 'undefined' || typeof document === 'undefined') return\n\n if (appContext) cachedAppContext = appContext\n if (mounted) return\n\n container = document.createElement('div')\n container.setAttribute('data-gr-dialog-service-host', '')\n document.body.appendChild(container)\n\n const vnode = createVNode(GrDialogServiceHost)\n vnode.appContext = cachedAppContext ?? null\n render(vnode, container)\n mounted = true\n}\n\n/** Тестовая/служебная очистка смонтированного хоста. */\nexport function teardownDialogService(): void {\n if (container) {\n render(null, container)\n container.remove()\n container = null\n }\n mounted = false\n // Сбрасываем и кэш контекста приложения: без этого он переживает teardown и\n // протекает в следующее приложение (в тестах — в следующий тест), из-за чего\n // диалог может подхватить чужие provides и проверка соврёт.\n cachedAppContext = null\n dialogQueue.splice(0, dialogQueue.length)\n}\n\n/** Контекст, захваченный вызовом `useDialogService()` внутри `setup`. */\ntype CapturedContext = {\n config: Raw<GrConfigContext> | null\n i18n: Raw<GranularityI18nLike> | null\n}\n\nfunction enqueue(\n kind: DialogKind,\n message: string,\n options: DialogBaseOptions,\n onConfirm: DialogOnConfirm<any> | undefined,\n captured: CapturedContext,\n): { promise: Promise<DialogResult<any>>, close: () => void } {\n // Императивный сервис клиент-only: монтирует хост в `document.body`. В SSR\n // выполнять его нельзя — модульная очередь (`dialogQueue`) мутировалась бы на\n // сервере и текла между запросами. Явно запрещаем вместо тихого no-op.\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n throw new Error(\n '[granularity] useDialogService is client-only and cannot be called during SSR '\n + '(it mounts a host into document.body). Guard imperative dialog calls behind a client-side check.',\n )\n }\n\n ensureMounted(options.appContext ?? cachedAppContext)\n\n const id = makeDialogId()\n let resolveFn!: (result: DialogResult<any>) => void\n const promise = new Promise<DialogResult<any>>((resolve) => {\n resolveFn = resolve\n })\n\n const request: DialogRequest = {\n id,\n kind,\n message,\n options: { ...options, message },\n onConfirm,\n resolve: resolveFn,\n config: captured.config,\n i18n: captured.i18n,\n }\n\n dialogQueue.push(request)\n\n const close = (): void => {\n const index = dialogQueue.findIndex(item => item.id === id)\n if (index < 0) return\n dialogQueue.splice(index, 1)\n resolveFn({ action: 'close' })\n }\n\n return { promise, close }\n}\n\nfunction withClose<T>(promise: Promise<T>, close: () => void): DialogPromise<T> {\n const result = promise as DialogPromise<T>\n result.close = close\n return result\n}\n\nfunction mergeErrorDefaults(\n defaults: DialogServiceDefaults,\n options: DialogBaseOptions,\n): DialogBaseOptions {\n return {\n size: defaults.size,\n confirmText: defaults.confirmText,\n confirmVariant: defaults.confirmVariant,\n confirmTone: defaults.confirmTone,\n buttonSize: defaults.buttonSize,\n closeOnBackdrop: defaults.closeOnBackdrop,\n closeOnEsc: defaults.closeOnEsc,\n errorParsers: defaults.errorParsers,\n errorTexts: defaults.errorTexts,\n errorMessageKey: defaults.errorMessageKey,\n fieldLabels: defaults.fieldLabels,\n ...options,\n }\n}\n\n/**\n * Создаёт сервис диалогов. Опциональные `defaults` применяются ко всем\n * вызовам (можно переопределить в каждом конкретном вызове).\n *\n * Контекст приложения кэшируется автоматически при первом вызове внутри\n * `setup`. Для вызовов вне компонента используйте `setAppContext`.\n */\nexport function useDialogService(defaults: DialogServiceDefaults = {}): DialogService {\n // Авто-кэш appContext из текущего компонента (если вызвано в setup).\n const instance = getCurrentInstance()\n if (instance?.appContext && !cachedAppContext) {\n cachedAppContext = instance.appContext\n }\n\n // Конфиг и i18n захватываем здесь и только здесь: `inject` работает лишь в\n // `setup`, а хост монтируется вне дерева и сам до провайдера не дотянется.\n // Храним в замыкании сервиса, а не в модульной переменной, — иначе два\n // поддерева с разными провайдерами делили бы конфиг первого.\n // i18n захватываем не «на всякий случай»: дочерний `GrConfirmDialog` сам зовёт\n // `useGranularityTranslations()`, но его `inject` из хоста уходит в\n // `appContext.provides` — то есть видит только установку через `app.use()`.\n // Адаптер, переданный пропом `<GrConfigProvider i18n>`, живёт в дереве, и без\n // захвата диалог откатился бы на встроенные английские строки.\n //\n // `markRaw` — потому что дальше контекст ложится в `reactive`-очередь, а она\n // разворачивает вложенные рефы (см. комментарий в `store.ts`).\n const capturedI18n = instance ? resolveGranularityI18n() : null\n const captured: CapturedContext = {\n config: instance ? markRaw(useGrConfig()) : null,\n i18n: capturedI18n ? markRaw(capturedI18n) : null,\n }\n\n function confirm(message: string, options: DialogConfirmOptions = {}): DialogPromise<boolean> {\n const merged = mergeErrorDefaults(defaults, options)\n const { promise, close } = enqueue('confirm', message, merged, options.onConfirm, captured)\n return withClose(promise.then(r => r.action === 'confirm'), close)\n }\n\n function alert(message: string, options: DialogAlertOptions = {}): DialogPromise<void> {\n const merged = mergeErrorDefaults(defaults, options)\n const { promise, close } = enqueue('alert', message, merged, options.onConfirm, captured)\n return withClose(promise.then(() => undefined), close)\n }\n\n function prompt(message: string, options: DialogPromptOptions = {}): DialogPromise<string | null> {\n const merged = mergeErrorDefaults(defaults, options)\n const { promise, close } = enqueue('prompt', message, merged, options.onConfirm, captured)\n return withClose(\n promise.then(r => (r.action === 'confirm' ? ((r.value as string) ?? '') : null)),\n close,\n )\n }\n\n function open<V = unknown>(\n kind: DialogKind,\n message: string,\n options: DialogBaseOptions = {},\n ): DialogPromise<DialogResult<V>> {\n const merged = mergeErrorDefaults(defaults, options)\n const { promise, close } = enqueue(kind, message, merged, (options as DialogConfirmOptions).onConfirm, captured)\n return withClose(promise as Promise<DialogResult<V>>, close)\n }\n\n function closeAll(): void {\n while (dialogQueue.length > 0) {\n const request = dialogQueue.pop()!\n request.resolve({ action: 'close' })\n }\n }\n\n function setAppContext(ctx: AppContext | null): void {\n cachedAppContext = ctx\n }\n\n return { confirm, alert, prompt, open, closeAll, setAppContext }\n}\n\n/** Готовый синглтон-сервис с дефолтными настройками. */\nexport const dialogService: DialogService = useDialogService()\n"],"mappings":"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"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { computed, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, openBlock, renderSlot, toDisplayString, useSlots } from "vue";
|
|
2
|
-
//#region src/components/GrDivider/GrDivider.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
-
var _hoisted_1 = {
|
|
4
|
-
key: 0,
|
|
5
|
-
"data-gr-divider": "",
|
|
6
|
-
role: "separator",
|
|
7
|
-
"aria-orientation": "vertical",
|
|
8
|
-
class: "inline-block w-px self-stretch bg-[var(--gr-brd)]"
|
|
9
|
-
};
|
|
10
|
-
var _hoisted_2 = {
|
|
11
|
-
key: 1,
|
|
12
|
-
"data-gr-divider": "",
|
|
13
|
-
role: "separator",
|
|
14
|
-
"aria-orientation": "horizontal",
|
|
15
|
-
class: "flex w-full items-center gap-3 text-xs text-[var(--gr-muted-fg)]"
|
|
16
|
-
};
|
|
17
|
-
var _hoisted_3 = {
|
|
18
|
-
key: 0,
|
|
19
|
-
class: "h-px flex-1 bg-[var(--gr-brd)]"
|
|
20
|
-
};
|
|
21
|
-
var _hoisted_4 = { class: "shrink-0" };
|
|
22
|
-
var _hoisted_5 = {
|
|
23
|
-
key: 1,
|
|
24
|
-
class: "h-px flex-1 bg-[var(--gr-brd)]"
|
|
25
|
-
};
|
|
26
|
-
var _hoisted_6 = {
|
|
27
|
-
key: 2,
|
|
28
|
-
"data-gr-divider": "",
|
|
29
|
-
class: "h-px w-full border-0 bg-[var(--gr-brd)]"
|
|
30
|
-
};
|
|
31
|
-
//#endregion
|
|
32
|
-
//#region src/components/GrDivider/GrDivider.vue
|
|
33
|
-
var GrDivider_default = /* @__PURE__ */ defineComponent({
|
|
34
|
-
__name: "GrDivider",
|
|
35
|
-
props: {
|
|
36
|
-
orientation: { default: "horizontal" },
|
|
37
|
-
label: { default: void 0 },
|
|
38
|
-
align: { default: "center" }
|
|
39
|
-
},
|
|
40
|
-
setup(__props) {
|
|
41
|
-
const props = __props;
|
|
42
|
-
const slots = useSlots();
|
|
43
|
-
const hasLabel = computed(() => props.orientation === "horizontal" && (Boolean(props.label) || Boolean(slots.default)));
|
|
44
|
-
return (_ctx, _cache) => {
|
|
45
|
-
return __props.orientation === "vertical" ? (openBlock(), createElementBlock("div", _hoisted_1)) : hasLabel.value ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
46
|
-
__props.align !== "start" ? (openBlock(), createElementBlock("span", _hoisted_3)) : createCommentVNode("", true),
|
|
47
|
-
createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.label), 1)])]),
|
|
48
|
-
__props.align !== "end" ? (openBlock(), createElementBlock("span", _hoisted_5)) : createCommentVNode("", true)
|
|
49
|
-
])) : (openBlock(), createElementBlock("hr", _hoisted_6));
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
//#endregion
|
|
54
|
-
export { GrDivider_default as t };
|