@feugene/granularity 0.36.0 → 0.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/config-2ZHRsdOc.js.map +1 -1
- package/dist/chunks/config-2vrOFn2f.js.map +1 -1
- package/dist/chunks/config-3bQeQvqd.js.map +1 -1
- package/dist/chunks/config-87fszqnD.js.map +1 -1
- package/dist/chunks/config-8Pcutu1j.js.map +1 -1
- package/dist/chunks/config-A-bBiotF.js.map +1 -1
- package/dist/chunks/config-B0uvcTPH.js.map +1 -1
- package/dist/chunks/config-B3J0alyY.js.map +1 -1
- package/dist/chunks/config-B5SBUa6u.js.map +1 -1
- package/dist/chunks/config-B7W9VlZ7.js.map +1 -1
- package/dist/chunks/config-BDSaD-5p.js.map +1 -1
- package/dist/chunks/config-BEO7brpO.js.map +1 -1
- package/dist/chunks/config-BNu8lFQB.js.map +1 -1
- package/dist/chunks/config-BRESvs9g.js.map +1 -1
- package/dist/chunks/config-BTmfQFwi.js.map +1 -1
- package/dist/chunks/{config-CuQmUkMw2.js → config-BUNxHnEz.js} +1 -1
- package/dist/chunks/config-BUNxHnEz.js.map +1 -0
- package/dist/chunks/config-BaWANzzB.js.map +1 -1
- package/dist/chunks/config-BcXX7S7B.js.map +1 -1
- package/dist/chunks/config-Bd7QfiGj.js.map +1 -1
- package/dist/chunks/config-BhfNgyWL.js.map +1 -1
- package/dist/chunks/config-Bjn30smH.js.map +1 -1
- package/dist/chunks/config-BlJa1Mj9.js.map +1 -1
- package/dist/chunks/config-BoUI0t-t.js.map +1 -1
- package/dist/chunks/config-BqT6PMzO.js.map +1 -1
- package/dist/chunks/config-BscVxZR3.js.map +1 -1
- package/dist/chunks/config-BuGlNPE9.js.map +1 -1
- package/dist/chunks/config-C0Ea9ePP.js.map +1 -1
- package/dist/chunks/config-C0Eu8jpG.js.map +1 -1
- package/dist/chunks/config-CDat1wXf.js.map +1 -1
- package/dist/chunks/config-CIkdsWUk.js.map +1 -1
- package/dist/chunks/config-CJzmDHfI.js.map +1 -1
- package/dist/chunks/config-CLjjjPZj.js.map +1 -1
- package/dist/chunks/config-CMNfZO7S.js.map +1 -1
- package/dist/chunks/config-CQLNjc9X.js.map +1 -0
- package/dist/chunks/config-CT4lP6S4.js.map +1 -1
- package/dist/chunks/config-CWtfxkM9.js.map +1 -1
- package/dist/chunks/config-CYthTVK2.js.map +1 -1
- package/dist/chunks/config-CZPDPJlg.js.map +1 -1
- package/dist/chunks/config-CbEbLyDE.js.map +1 -1
- package/dist/chunks/config-ChPg-BQv.js.map +1 -1
- package/dist/chunks/config-CjKpUcmy.js.map +1 -1
- package/dist/chunks/config-CjWOTgLL.js.map +1 -1
- package/dist/chunks/config-CjXjhphs.js.map +1 -1
- package/dist/chunks/config-CnYdE3HZ.js.map +1 -0
- package/dist/chunks/config-CsCUuukB.js.map +1 -1
- package/dist/chunks/config-CvbVM4ep.js.map +1 -1
- package/dist/chunks/config-D0NzGYaE.js.map +1 -1
- package/dist/chunks/config-D0W8mGFD.js.map +1 -1
- package/dist/chunks/config-D82r782v.js.map +1 -1
- package/dist/chunks/config-DBi0GVce.js.map +1 -1
- package/dist/chunks/config-DBmdgoVf.js.map +1 -0
- package/dist/chunks/config-DCq4JySZ.js.map +1 -1
- package/dist/chunks/config-DGC00bTp.js.map +1 -1
- package/dist/chunks/config-DIDz_E5m.js.map +1 -1
- package/dist/chunks/config-DM0lsduD.js.map +1 -1
- package/dist/chunks/config-DNDgp9bB.js.map +1 -1
- package/dist/chunks/config-DOYz_SVK.js.map +1 -1
- package/dist/chunks/config-DRbojEzO.js.map +1 -1
- package/dist/chunks/config-DUNH02Fg.js.map +1 -1
- package/dist/chunks/config-DUbbGcfw.js.map +1 -1
- package/dist/chunks/config-DVCNvhIG.js.map +1 -0
- package/dist/chunks/config-DWL81-aM.js.map +1 -1
- package/dist/chunks/config-DZCUPHPU.js.map +1 -1
- package/dist/chunks/config-DeyT9dJl.js.map +1 -1
- package/dist/chunks/config-DolULhjJ.js.map +1 -1
- package/dist/chunks/config-DpAYidyY.js.map +1 -0
- package/dist/chunks/config-Droqn55j.js.map +1 -1
- package/dist/chunks/config-DwABJHEo.js.map +1 -1
- package/dist/chunks/config-E1cTyRVV.js.map +1 -1
- package/dist/chunks/config-MmPym-Z7.js.map +1 -0
- package/dist/chunks/config-QaIc_gRa.js.map +1 -1
- package/dist/chunks/config-Yy67uWHY.js.map +1 -1
- package/dist/chunks/config-Z5LeUXys.js.map +1 -1
- package/dist/chunks/config-_jbgsFpw.js.map +1 -1
- package/dist/chunks/config-eXB87DOi.js.map +1 -1
- package/dist/chunks/config-rLkc9Zn2.js.map +1 -1
- package/dist/chunks/{context-CTbuwcYs.js → context-CPMRfwVr.js} +1 -1
- package/dist/chunks/{context-CTbuwcYs.js.map → context-CPMRfwVr.js.map} +1 -1
- package/dist/chunks/devHook-CiqijpNM.js +44 -0
- package/dist/chunks/devHook-CiqijpNM.js.map +1 -0
- package/dist/chunks/{grRadioStyles-DGL2QLy6.js → grRadioStyles-BwRyCjQQ.js} +4 -2
- package/dist/chunks/{grRadioStyles-DGL2QLy6.js.map → grRadioStyles-BwRyCjQQ.js.map} +1 -1
- package/dist/chunks/{granular-provider-Bp_BCBnr.js → granular-provider-DP2gk0oa.js} +9 -8
- package/dist/chunks/{granular-provider-Bp_BCBnr.js.map → granular-provider-DP2gk0oa.js.map} +1 -1
- package/dist/chunks/{overlayStack-0CZS99Da.js → overlayStack-DH4Z7am1.js} +45 -25
- package/dist/chunks/overlayStack-DH4Z7am1.js.map +1 -0
- package/dist/chunks/{renamedProp-BwcN-SJg.js → renamedProp-Dy96tT-F.js} +1 -1
- package/dist/chunks/{renamedProp-BwcN-SJg.js.map → renamedProp-Dy96tT-F.js.map} +1 -1
- package/dist/chunks/{useModalOverlay-BnAGZpcI.js → useModalOverlay-ACRkflzx.js} +3 -3
- package/dist/chunks/{useModalOverlay-BnAGZpcI.js.map → useModalOverlay-ACRkflzx.js.map} +1 -1
- package/dist/chunks/{usePortalTarget-C0p-mhaM.js → usePortalTarget-BhrRgdqW.js} +1 -1
- package/dist/chunks/{usePortalTarget-C0p-mhaM.js.map → usePortalTarget-BhrRgdqW.js.map} +1 -1
- package/dist/chunks/{validation-5HhpanPP.js → validation-BDjqsuGB.js} +1 -1
- package/dist/chunks/{validation-5HhpanPP.js.map → validation-BDjqsuGB.js.map} +1 -1
- package/dist/components/GrAlert/chunks/{GrAlert-FAVf-ksH.js → GrAlert-D72y1IEh.js} +1 -1
- package/dist/components/GrAlert/chunks/{GrAlert-FAVf-ksH.js.map → GrAlert-D72y1IEh.js.map} +1 -1
- package/dist/components/GrAlert/index.js +1 -1
- package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-BQsSE7sj.js → GrAutocomplete-BpmFmpKs.js} +4 -6
- package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-BQsSE7sj.js.map → GrAutocomplete-BpmFmpKs.js.map} +1 -1
- package/dist/components/GrAutocomplete/index.js +1 -1
- package/dist/components/GrAvatar/chunks/{GrAvatar-CNmLmgcr.js → GrAvatar-dWEXiCJG.js} +1 -1
- package/dist/components/GrAvatar/chunks/{GrAvatar-CNmLmgcr.js.map → GrAvatar-dWEXiCJG.js.map} +1 -1
- package/dist/components/GrAvatar/index.js +1 -1
- package/dist/components/GrBadge/chunks/{GrBadge-DpUDXKbq.js → GrBadge-DBeQXEir.js} +2 -2
- package/dist/components/GrBadge/chunks/{GrBadge-DpUDXKbq.js.map → GrBadge-DBeQXEir.js.map} +1 -1
- package/dist/components/GrBadge/index.js +1 -1
- package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-B-A3PRkE.js → GrBadgeWrap-wdfxaXiu.js} +3 -1
- package/dist/components/GrBadgeWrap/chunks/{GrBadgeWrap-B-A3PRkE.js.map → GrBadgeWrap-wdfxaXiu.js.map} +1 -1
- package/dist/components/GrBadgeWrap/index.js +1 -1
- package/dist/components/GrBottomNav/chunks/{GrBottomNav-wtFatLjB.js → GrBottomNav-nE08pVUJ.js} +1 -1
- package/dist/components/GrBottomNav/chunks/{GrBottomNav-wtFatLjB.js.map → GrBottomNav-nE08pVUJ.js.map} +1 -1
- package/dist/components/GrBottomNav/index.js +1 -1
- package/dist/components/GrBreadcrumbs/chunks/{GrBreadcrumbs-DRDNan_n.js → GrBreadcrumbs-DOpwY2EF.js} +3 -3
- package/dist/components/GrBreadcrumbs/chunks/{GrBreadcrumbs-DRDNan_n.js.map → GrBreadcrumbs-DOpwY2EF.js.map} +1 -1
- package/dist/components/GrBreadcrumbs/index.js +1 -1
- package/dist/components/GrButton/chunks/{GrButton-7GP0zObj.js → GrButton-CS4TqMtG.js} +1 -1
- package/dist/components/GrButton/chunks/{GrButton-7GP0zObj.js.map → GrButton-CS4TqMtG.js.map} +1 -1
- package/dist/components/GrButton/index.js +1 -1
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CKyiAV8K.js.map +1 -1
- package/dist/components/GrButtonGroup/index.js +1 -1
- package/dist/components/GrCard/chunks/{GrCard-BttXz1pQ.js → GrCard-Ck5--lMF.js} +2 -2
- package/dist/components/GrCard/chunks/{GrCard-BttXz1pQ.js.map → GrCard-Ck5--lMF.js.map} +1 -1
- package/dist/components/GrCard/index.js +1 -1
- package/dist/components/GrCheckbox/chunks/{GrCheckbox-CEcHIsXM.js → GrCheckbox-Dp201frb.js} +1 -1
- package/dist/components/GrCheckbox/chunks/{GrCheckbox-CEcHIsXM.js.map → GrCheckbox-Dp201frb.js.map} +1 -1
- package/dist/components/GrCheckbox/index.js +1 -1
- package/dist/components/GrCheckboxGroup/chunks/{GrCheckboxGroup-BOwrVcFr.js → GrCheckboxGroup-IpqG5qwm.js} +2 -2
- package/dist/components/GrCheckboxGroup/chunks/{GrCheckboxGroup-BOwrVcFr.js.map → GrCheckboxGroup-IpqG5qwm.js.map} +1 -1
- package/dist/components/GrCheckboxGroup/index.js +1 -1
- package/dist/components/GrChip/chunks/{GrChip-BTivtwff.js → GrChip-CKqyzYcv.js} +10 -7
- package/dist/components/GrChip/chunks/{GrChip-BTivtwff.js.map → GrChip-CKqyzYcv.js.map} +1 -1
- package/dist/components/GrChip/index.js +1 -1
- package/dist/components/GrChipGroup/chunks/{GrChipGroup-C78Vcwos.js → GrChipGroup-dDGwnC04.js} +1 -1
- package/dist/components/GrChipGroup/chunks/{GrChipGroup-C78Vcwos.js.map → GrChipGroup-dDGwnC04.js.map} +1 -1
- package/dist/components/GrChipGroup/index.js +1 -1
- package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-Dp0eEBTZ.js → GrCodeBlock-BUOwKwQE.js} +2 -2
- package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-Dp0eEBTZ.js.map → GrCodeBlock-BUOwKwQE.js.map} +1 -1
- package/dist/components/GrCodeBlock/index.js +1 -1
- package/dist/components/GrCollapse/chunks/{GrCollapse-BlW6ybdL.js → GrCollapse-DWH3QAnU.js} +6 -5
- package/dist/components/GrCollapse/chunks/{GrCollapse-BlW6ybdL.js.map → GrCollapse-DWH3QAnU.js.map} +1 -1
- package/dist/components/GrCollapse/index.js +1 -1
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-B-L4CWMt.js → GrColorPicker-BwzRLs-i.js} +4 -4
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-B-L4CWMt.js.map → GrColorPicker-BwzRLs-i.js.map} +1 -1
- package/dist/components/GrColorPicker/index.js +1 -1
- package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-8HkYmMVP.js → GrCommandPalette-CnzPuoIM.js} +7 -7
- package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-8HkYmMVP.js.map → GrCommandPalette-CnzPuoIM.js.map} +1 -1
- package/dist/components/GrCommandPalette/index.js +1 -1
- package/dist/components/GrConfigProvider/chunks/{GrConfigProvider-BF7R3hgg.js → GrConfigProvider-t9x2UToH.js} +13 -12
- package/dist/components/GrConfigProvider/chunks/{GrConfigProvider-BF7R3hgg.js.map → GrConfigProvider-t9x2UToH.js.map} +1 -1
- package/dist/components/GrConfigProvider/index.js +2 -2
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-CZEO2JR4.js → GrConfirmDialog-e15nFI8M.js} +4 -4
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-CZEO2JR4.js.map → GrConfirmDialog-e15nFI8M.js.map} +1 -1
- package/dist/components/GrConfirmDialog/index.js +1 -1
- package/dist/components/GrContextMenu/chunks/{GrContextMenu-DlFWm0eW.js → GrContextMenu-RpxMHQXH.js} +1 -1
- package/dist/components/GrContextMenu/chunks/{GrContextMenu-DlFWm0eW.js.map → GrContextMenu-RpxMHQXH.js.map} +1 -1
- package/dist/components/GrContextMenu/index.js +1 -1
- package/dist/components/GrDataTable/chunks/{GrDataTable-4JAgOQ-7.js → GrDataTable-BYYG_XZA.js} +5 -5
- package/dist/components/GrDataTable/chunks/{GrDataTable-4JAgOQ-7.js.map → GrDataTable-BYYG_XZA.js.map} +1 -1
- package/dist/components/GrDataTable/index.js +1 -1
- package/dist/components/GrDelta/chunks/{GrDelta-BZwkgQW-.js → GrDelta-BpfqebEV.js} +0 -0
- package/dist/components/GrDelta/chunks/{GrDelta-BZwkgQW-.js.map → GrDelta-BpfqebEV.js.map} +1 -1
- package/dist/components/GrDelta/index.js +1 -1
- package/dist/components/GrDescriptionList/chunks/{GrDescriptionList-BMeCgFV3.js → GrDescriptionList-D8ANFpn_.js} +2 -2
- package/dist/components/GrDescriptionList/chunks/{GrDescriptionList-BMeCgFV3.js.map → GrDescriptionList-D8ANFpn_.js.map} +1 -1
- package/dist/components/GrDescriptionList/index.js +2 -2
- package/dist/components/GrDialog/chunks/{GrDialog-CKNbnxwO.js → GrDialog-DDz_OEhk.js} +3 -3
- package/dist/components/GrDialog/chunks/{GrDialog-CKNbnxwO.js.map → GrDialog-DDz_OEhk.js.map} +1 -1
- package/dist/components/GrDialog/index.js +1 -1
- package/dist/components/GrDialogService/chunks/{GrDialogService-Ut8iiBQh.js → GrDialogService-BmXiYmUp.js} +9 -8
- package/dist/components/GrDialogService/chunks/{GrDialogService-Ut8iiBQh.js.map → GrDialogService-BmXiYmUp.js.map} +1 -1
- package/dist/components/GrDialogService/index.js +1 -1
- package/dist/components/GrDivider/chunks/{GrDivider-BXavGcMX.js → GrDivider-DxA-zV25.js} +1 -1
- package/dist/components/GrDivider/chunks/{GrDivider-BXavGcMX.js.map → GrDivider-DxA-zV25.js.map} +1 -1
- package/dist/components/GrDivider/index.js +1 -1
- package/dist/components/GrDrawer/chunks/{GrDrawer-xfoy-MCj.js → GrDrawer-BRMHhvbd.js} +5 -5
- package/dist/components/GrDrawer/chunks/{GrDrawer-xfoy-MCj.js.map → GrDrawer-BRMHhvbd.js.map} +1 -1
- package/dist/components/GrDrawer/index.js +1 -1
- package/dist/components/GrDropdown/chunks/{GrDropdown-7r772-Cq.js → GrDropdown-cLZuZMEY.js} +6 -8
- package/dist/components/GrDropdown/chunks/{GrDropdown-7r772-Cq.js.map → GrDropdown-cLZuZMEY.js.map} +1 -1
- package/dist/components/GrDropdown/index.js +1 -1
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-DNurbsWc.js → GrDropdownMenu-Dxkz_ry4.js} +1 -1
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-DNurbsWc.js.map → GrDropdownMenu-Dxkz_ry4.js.map} +1 -1
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenuList-B33ZzwfB.js.map +1 -1
- package/dist/components/GrDropdownMenu/index.js +1 -1
- package/dist/components/GrEmptyState/chunks/{GrEmptyState-RqsWvgI9.js → GrEmptyState-BbvwE-E0.js} +2 -2
- package/dist/components/GrEmptyState/chunks/{GrEmptyState-RqsWvgI9.js.map → GrEmptyState-BbvwE-E0.js.map} +1 -1
- package/dist/components/GrEmptyState/index.js +1 -1
- package/dist/components/GrFilePreview/chunks/{GrFilePreview-C9Z7hMK8.js → GrFilePreview-PabkLgYX.js} +1 -1
- package/dist/components/GrFilePreview/chunks/{GrFilePreview-C9Z7hMK8.js.map → GrFilePreview-PabkLgYX.js.map} +1 -1
- package/dist/components/GrFilePreview/index.js +1 -1
- package/dist/components/GrFileUpload/chunks/{GrFileUpload-C0ROpmOY.js → GrFileUpload-BwMR71zN.js} +4 -4
- package/dist/components/GrFileUpload/chunks/{GrFileUpload-C0ROpmOY.js.map → GrFileUpload-BwMR71zN.js.map} +1 -1
- package/dist/components/GrFileUpload/index.js +1 -1
- package/dist/components/GrForm/chunks/{GrForm-CrnfCsgj.js → GrForm-xTtavR-K.js} +1 -1
- package/dist/components/GrForm/chunks/{GrForm-CrnfCsgj.js.map → GrForm-xTtavR-K.js.map} +1 -1
- package/dist/components/GrForm/index.js +2 -2
- package/dist/components/GrFormField/chunks/{GrFormField-DSylU7IU.js → GrFormField-DO61vxpS.js} +2 -2
- package/dist/components/GrFormField/chunks/{GrFormField-DSylU7IU.js.map → GrFormField-DO61vxpS.js.map} +1 -1
- package/dist/components/GrFormField/index.js +1 -1
- package/dist/components/GrFormFile/chunks/{GrFormFile-B1jGZyIj.js → GrFormFile-Dlxx-9zi.js} +3 -3
- package/dist/components/GrFormFile/chunks/{GrFormFile-B1jGZyIj.js.map → GrFormFile-Dlxx-9zi.js.map} +1 -1
- package/dist/components/GrFormFile/index.js +1 -1
- package/dist/components/GrFormSection/chunks/{GrFormSection-ejieOg9H.js → GrFormSection-DV1S6R_N.js} +1 -1
- package/dist/components/GrFormSection/chunks/{GrFormSection-ejieOg9H.js.map → GrFormSection-DV1S6R_N.js.map} +1 -1
- package/dist/components/GrFormSection/index.js +1 -1
- package/dist/components/GrIcon/chunks/{GrIcon-Dmf0c9ba.js → GrIcon-DTZIgmje.js} +1 -1
- package/dist/components/GrIcon/chunks/{GrIcon-Dmf0c9ba.js.map → GrIcon-DTZIgmje.js.map} +1 -1
- package/dist/components/GrIcon/index.js +1 -1
- package/dist/components/GrImageViewer/chunks/{GrImageViewer--BU8yrfx.js → GrImageViewer-CcduIFsa.js} +2 -4
- package/dist/components/GrImageViewer/chunks/{GrImageViewer--BU8yrfx.js.map → GrImageViewer-CcduIFsa.js.map} +1 -1
- package/dist/components/GrImageViewer/index.js +1 -1
- package/dist/components/GrInput/chunks/{GrInput-CJ7eu3fR.js → GrInput-TFeBm3gQ.js} +1 -1
- package/dist/components/GrInput/chunks/{GrInput-CJ7eu3fR.js.map → GrInput-TFeBm3gQ.js.map} +1 -1
- package/dist/components/GrInput/index.js +1 -1
- package/dist/components/GrInputTag/chunks/{GrInputTag-ByD9NugQ.js → GrInputTag-DhfUNOA5.js} +3 -3
- package/dist/components/GrInputTag/chunks/{GrInputTag-ByD9NugQ.js.map → GrInputTag-DhfUNOA5.js.map} +1 -1
- package/dist/components/GrInputTag/index.js +1 -1
- package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-BXG7DdTe.js → GrJsonViewer-CdtmUpZ3.js} +6 -6
- package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-BXG7DdTe.js.map → GrJsonViewer-CdtmUpZ3.js.map} +1 -1
- package/dist/components/GrJsonViewer/index.js +2 -2
- package/dist/components/GrKbd/chunks/{GrKbd-D2ga1H9i.js → GrKbd-D_a1mPLe.js} +1 -1
- package/dist/components/GrKbd/chunks/{GrKbd-D2ga1H9i.js.map → GrKbd-D_a1mPLe.js.map} +1 -1
- package/dist/components/GrKbd/index.js +1 -1
- package/dist/components/GrLink/chunks/{GrLink-DYXw3W9w.js → GrLink-DwWErumU.js} +2 -2
- package/dist/components/GrLink/chunks/{GrLink-DYXw3W9w.js.map → GrLink-DwWErumU.js.map} +1 -1
- package/dist/components/GrLink/index.js +2 -2
- package/dist/components/GrList/chunks/{GrList-B_CRJB4c.js → GrList-Unya-LXb.js} +3 -3
- package/dist/components/GrList/chunks/{GrList-B_CRJB4c.js.map → GrList-Unya-LXb.js.map} +1 -1
- package/dist/components/GrList/index.js +1 -1
- package/dist/components/GrLoading/chunks/{GrLoading-CMD3Ri9P.js → GrLoading-BDrlrup_.js} +1 -1
- package/dist/components/GrLoading/chunks/{GrLoading-CMD3Ri9P.js.map → GrLoading-BDrlrup_.js.map} +1 -1
- package/dist/components/GrLoading/index.js +1 -1
- package/dist/components/GrModal/chunks/{GrModal-DixnhJcu.js → GrModal-Cm0mtSXk.js} +4 -4
- package/dist/components/GrModal/chunks/{GrModal-DixnhJcu.js.map → GrModal-Cm0mtSXk.js.map} +1 -1
- package/dist/components/GrModal/index.js +1 -1
- package/dist/components/GrNavbar/chunks/{GrNavbar-Dr8e5kW-.js → GrNavbar-BRGuksiy.js} +3 -3
- package/dist/components/GrNavbar/chunks/{GrNavbar-Dr8e5kW-.js.map → GrNavbar-BRGuksiy.js.map} +1 -1
- package/dist/components/GrNavbar/index.js +1 -1
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-DQ59YICu.js → GrNumberInput-BqPydXpK.js} +7 -9
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-DQ59YICu.js.map → GrNumberInput-BqPydXpK.js.map} +1 -1
- package/dist/components/GrNumberInput/index.js +2 -2
- package/dist/components/GrPagination/chunks/{GrPagination-68iyAwQz.js → GrPagination-DhbNZHEF.js} +4 -4
- package/dist/components/GrPagination/chunks/{GrPagination-68iyAwQz.js.map → GrPagination-DhbNZHEF.js.map} +1 -1
- package/dist/components/GrPagination/index.js +1 -1
- package/dist/components/GrPopover/chunks/{GrPopover-DEFxDffj.js → GrPopover-CcWvr1ZA.js} +3 -3
- package/dist/components/GrPopover/chunks/{GrPopover-DEFxDffj.js.map → GrPopover-CcWvr1ZA.js.map} +1 -1
- package/dist/components/GrPopover/index.js +2 -2
- package/dist/components/GrProgressBar/chunks/{GrProgressBar-Cd7AaJtR.js → GrProgressBar-C3NRBqIP.js} +2 -2
- package/dist/components/GrProgressBar/chunks/{GrProgressBar-Cd7AaJtR.js.map → GrProgressBar-C3NRBqIP.js.map} +1 -1
- package/dist/components/GrProgressBar/index.js +1 -1
- package/dist/components/GrProgressCircle/chunks/{GrProgressCircle-D3yWXYDa.js → GrProgressCircle-CdvbINQc.js} +2 -2
- package/dist/components/GrProgressCircle/chunks/{GrProgressCircle-D3yWXYDa.js.map → GrProgressCircle-CdvbINQc.js.map} +1 -1
- package/dist/components/GrProgressCircle/index.js +1 -1
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-Ckeombia.js → GrPromptDialog-8RxQsOQ_.js} +8 -8
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-Ckeombia.js.map → GrPromptDialog-8RxQsOQ_.js.map} +1 -1
- package/dist/components/GrPromptDialog/index.js +1 -1
- package/dist/components/GrRadio/chunks/{GrRadio-Aq3v8XgG.js → GrRadio-B1776V9D.js} +2 -2
- package/dist/components/GrRadio/chunks/{GrRadio-Aq3v8XgG.js.map → GrRadio-B1776V9D.js.map} +1 -1
- package/dist/components/GrRadio/index.js +2 -2
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-y9LVdTWh.js → GrRadioGroup-UgitrBFl.js} +2 -2
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-y9LVdTWh.js.map → GrRadioGroup-UgitrBFl.js.map} +1 -1
- package/dist/components/GrRadioGroup/index.js +1 -1
- package/dist/components/GrRating/chunks/{GrRating-IEiTOdnF.js → GrRating-DTriyyqG.js} +1 -1
- package/dist/components/GrRating/chunks/{GrRating-IEiTOdnF.js.map → GrRating-DTriyyqG.js.map} +1 -1
- package/dist/components/GrRating/index.js +1 -1
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-DMeOWlzj.js → GrResponseErrorBanner-NEEJZ8zi.js} +2 -2
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-DMeOWlzj.js.map → GrResponseErrorBanner-NEEJZ8zi.js.map} +1 -1
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CBVRpgIG.js → GrResponseErrorBanner-ZvBvEQDZ.js} +1 -1
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CBVRpgIG.js.map → GrResponseErrorBanner-ZvBvEQDZ.js.map} +1 -1
- package/dist/components/GrResponseErrorBanner/index.js +2 -2
- package/dist/components/GrSegmented/chunks/{GrSegmented-CB-VR-yL.js → GrSegmented-NKTi9bMG.js} +1 -1
- package/dist/components/GrSegmented/chunks/{GrSegmented-CB-VR-yL.js.map → GrSegmented-NKTi9bMG.js.map} +1 -1
- package/dist/components/GrSegmented/index.js +1 -1
- package/dist/components/GrSelect/chunks/{GrSelect-Bm3Jugx8.js → GrSelect-Do1iAyp1.js} +6 -6
- package/dist/components/GrSelect/chunks/{GrSelect-Bm3Jugx8.js.map → GrSelect-Do1iAyp1.js.map} +1 -1
- package/dist/components/GrSelect/index.js +1 -1
- package/dist/components/GrSidebar/chunks/{GrSidebar-alkwBUzL.js → GrSidebar-DoKLlHSw.js} +2 -2
- package/dist/components/GrSidebar/chunks/{GrSidebar-alkwBUzL.js.map → GrSidebar-DoKLlHSw.js.map} +1 -1
- package/dist/components/GrSidebar/index.js +1 -1
- package/dist/components/GrSkeleton/chunks/GrSkeleton-CgfXxPQ2.js.map +1 -1
- package/dist/components/GrSlider/chunks/{GrSlider-DM6W6U9c.js → GrSlider-Db-jACXz.js} +6 -4
- package/dist/components/GrSlider/chunks/{GrSlider-DM6W6U9c.js.map → GrSlider-Db-jACXz.js.map} +1 -1
- package/dist/components/GrSlider/index.js +1 -1
- package/dist/components/GrSortableList/chunks/{GrSortableList-HyKX--rO.js → GrSortableList-CQCaWivn.js} +1 -1
- package/dist/components/GrSortableList/chunks/{GrSortableList-HyKX--rO.js.map → GrSortableList-CQCaWivn.js.map} +1 -1
- package/dist/components/GrSortableList/index.js +1 -1
- package/dist/components/GrSplitter/chunks/{GrSplitter-MltjaADn.js → GrSplitter-C-XQzq7q.js} +1 -1
- package/dist/components/GrSplitter/chunks/{GrSplitter-MltjaADn.js.map → GrSplitter-C-XQzq7q.js.map} +1 -1
- package/dist/components/GrSplitter/index.js +1 -1
- package/dist/components/GrStatistic/chunks/{GrStatistic-BoLkXw7F.js → GrStatistic-C1_nY4Gc.js} +2 -2
- package/dist/components/GrStatistic/chunks/{GrStatistic-BoLkXw7F.js.map → GrStatistic-C1_nY4Gc.js.map} +1 -1
- package/dist/components/GrStatistic/index.js +1 -1
- package/dist/components/GrSteps/chunks/{GrSteps-CpGHXLOc.js → GrSteps-DXj7m-WO.js} +2 -2
- package/dist/components/GrSteps/chunks/{GrSteps-CpGHXLOc.js.map → GrSteps-DXj7m-WO.js.map} +1 -1
- package/dist/components/GrSteps/index.js +1 -1
- package/dist/components/GrSwitch/chunks/{GrSwitch-7Oe5QfQZ.js → GrSwitch-CriHWT2A.js} +1 -1
- package/dist/components/GrSwitch/chunks/{GrSwitch-7Oe5QfQZ.js.map → GrSwitch-CriHWT2A.js.map} +1 -1
- package/dist/components/GrSwitch/index.js +1 -1
- package/dist/components/GrTabPanels/chunks/{GrTabPanels-BZQS8-JM.js → GrTabPanels-5zsbqS1v.js} +1 -1
- package/dist/components/GrTabPanels/chunks/{GrTabPanels-BZQS8-JM.js.map → GrTabPanels-5zsbqS1v.js.map} +1 -1
- package/dist/components/GrTabPanels/index.js +1 -1
- package/dist/components/GrTable/chunks/{GrTable-jhUTczjv.js → GrTable-iwzHvlMC.js} +1 -1
- package/dist/components/GrTable/chunks/{GrTable-jhUTczjv.js.map → GrTable-iwzHvlMC.js.map} +1 -1
- package/dist/components/GrTable/index.js +1 -1
- package/dist/components/GrTabs/chunks/{GrTabs-CT2nk_HV.js → GrTabs-DHfv67cp.js} +1 -1
- package/dist/components/GrTabs/chunks/{GrTabs-CT2nk_HV.js.map → GrTabs-DHfv67cp.js.map} +1 -1
- package/dist/components/GrTabs/index.js +1 -1
- package/dist/components/GrTextarea/chunks/{GrTextarea-DinXG12-.js → GrTextarea-BII3w61K.js} +1 -1
- package/dist/components/GrTextarea/chunks/{GrTextarea-DinXG12-.js.map → GrTextarea-BII3w61K.js.map} +1 -1
- package/dist/components/GrTextarea/index.js +1 -1
- package/dist/components/GrTimeline/chunks/{GrTimeline-BiHpArsg.js → GrTimeline-Bs60huw0.js} +2 -2
- package/dist/components/GrTimeline/chunks/{GrTimeline-BiHpArsg.js.map → GrTimeline-Bs60huw0.js.map} +1 -1
- package/dist/components/GrTimeline/index.js +1 -1
- package/dist/components/GrToaster/chunks/{GrToaster-COXIBKzq.js → GrToaster-D-sV-9of.js} +4 -4
- package/dist/components/GrToaster/chunks/{GrToaster-COXIBKzq.js.map → GrToaster-D-sV-9of.js.map} +1 -1
- package/dist/components/GrToaster/index.js +1 -1
- package/dist/components/GrTooltip/chunks/{GrTooltip-uYETdbCD.js → GrTooltip-BUiTbROv.js} +3 -3
- package/dist/components/GrTooltip/chunks/{GrTooltip-uYETdbCD.js.map → GrTooltip-BUiTbROv.js.map} +1 -1
- package/dist/components/GrTooltip/index.js +1 -1
- package/dist/components/GrTree/chunks/{GrTree-Ci6CZfKR.js → GrTree-CkELQwR8.js} +1 -2
- package/dist/components/GrTree/chunks/{GrTree-Ci6CZfKR.js.map → GrTree-CkELQwR8.js.map} +1 -1
- package/dist/components/GrTree/index.js +1 -1
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-MGsyvkJV.js → GrTreeSelect-DurwZ7Cz.js} +4 -4
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-MGsyvkJV.js.map → GrTreeSelect-DurwZ7Cz.js.map} +1 -1
- package/dist/components/GrTreeSelect/index.js +1 -1
- package/dist/components/GrValue/chunks/GrValue-ezkQM05Q.js.map +1 -1
- package/dist/composables/useFloating.js +1 -1
- package/dist/composables/useGrComponentConfig.js +1 -1
- package/dist/composables/useOverlayLayer.js +35 -6
- package/dist/composables/useOverlayLayer.js.map +1 -1
- package/dist/composables/usePortalTarget.js +1 -1
- package/dist/composables/useTheme.js +1 -1
- package/dist/composables/useTheme.js.map +1 -1
- package/dist/composables/useToast.js +1 -1
- package/dist/composables/useToast.js.map +1 -1
- package/dist/composables/useVirtualList.js +26 -6
- package/dist/composables/useVirtualList.js.map +1 -1
- package/dist/directives/loading.js +1 -1
- package/dist/granular-provider-node.js +1 -1
- package/dist/granular-provider.js +1 -1
- package/dist/index.js +86 -86
- package/dist/testing.js +1 -1
- package/dist/testing.js.map +1 -1
- package/dist/types/components/GrDialog/GrDialog.vue.d.ts +1 -1
- package/dist/types/components/GrDrawer/GrDrawer.vue.d.ts +1 -1
- package/dist/types/components/GrModal/GrModal.vue.d.ts +1 -1
- package/dist/types/composables/internal/overlayStack.d.ts +11 -0
- package/dist/types/internal/devHook.d.ts +119 -0
- package/dist/vue/index.js +2 -2
- package/dist/vue/index.js.map +1 -1
- package/dist/web-types.json +1 -1
- package/package.json +16 -16
- package/dist/chunks/config-CQLNjc9X2.js.map +0 -1
- package/dist/chunks/config-CnYdE3HZ2.js.map +0 -1
- package/dist/chunks/config-CuQmUkMw2.js.map +0 -1
- package/dist/chunks/config-DBmdgoVf2.js.map +0 -1
- package/dist/chunks/config-DVCNvhIG2.js.map +0 -1
- package/dist/chunks/config-DpAYidyY2.js.map +0 -1
- package/dist/chunks/config-MmPym-Z72.js.map +0 -1
- package/dist/chunks/overlayStack-0CZS99Da.js.map +0 -1
- /package/dist/chunks/{config-CQLNjc9X2.js → config-CQLNjc9X.js} +0 -0
- /package/dist/chunks/{config-CnYdE3HZ2.js → config-CnYdE3HZ.js} +0 -0
- /package/dist/chunks/{config-DBmdgoVf2.js → config-DBmdgoVf.js} +0 -0
- /package/dist/chunks/{config-DVCNvhIG2.js → config-DVCNvhIG.js} +0 -0
- /package/dist/chunks/{config-DpAYidyY2.js → config-DpAYidyY.js} +0 -0
- /package/dist/chunks/{config-MmPym-Z72.js → config-MmPym-Z7.js} +0 -0
package/dist/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { a as useGrComponentSize, i as useGrComponentProp, n as resolveGrConfig, o as useGrConfig, r as useGrComponentDefaults, s as useGrThemeAttrs } from "./chunks/context-
|
|
1
|
+
import { a as useGrComponentSize, i as useGrComponentProp, n as resolveGrConfig, o as useGrConfig, r as useGrComponentDefaults, s as useGrThemeAttrs } from "./chunks/context-CPMRfwVr.js";
|
|
2
2
|
import { n as useGranularityTranslations } from "./chunks/granularityI18n-BC5zsj_d.js";
|
|
3
|
-
import { t as GrAlert_default } from "./components/GrAlert/chunks/GrAlert-
|
|
3
|
+
import { t as GrAlert_default } from "./components/GrAlert/chunks/GrAlert-D72y1IEh.js";
|
|
4
4
|
import { t as grAlertConfig } from "./chunks/config-BNu8lFQB.js";
|
|
5
5
|
import "./components/GrAlert/index.js";
|
|
6
|
-
import { t as usePortalTarget } from "./chunks/usePortalTarget-
|
|
6
|
+
import { t as usePortalTarget } from "./chunks/usePortalTarget-BhrRgdqW.js";
|
|
7
7
|
import { vAutofocus } from "./directives/autofocus.js";
|
|
8
8
|
import { vAutosize } from "./directives/autosize.js";
|
|
9
9
|
import { vClickOutside } from "./directives/clickOutside.js";
|
|
10
10
|
import { p as FileValidationError } from "./chunks/fileValidation-D5TFBhbv.js";
|
|
11
11
|
import { vDropzone } from "./directives/dropzone.js";
|
|
12
12
|
import { vHotkey } from "./directives/hotkey.js";
|
|
13
|
-
import { t as GrIcon_default } from "./components/GrIcon/chunks/GrIcon-
|
|
14
|
-
import { t as GrLoading_default } from "./components/GrLoading/chunks/GrLoading-
|
|
13
|
+
import { t as GrIcon_default } from "./components/GrIcon/chunks/GrIcon-DTZIgmje.js";
|
|
14
|
+
import { t as GrLoading_default } from "./components/GrLoading/chunks/GrLoading-BDrlrup_.js";
|
|
15
15
|
import { createLoading, vLoading } from "./directives/loading.js";
|
|
16
16
|
import { useFloating } from "./composables/useFloating.js";
|
|
17
17
|
import { useOverlayLayer } from "./composables/useOverlayLayer.js";
|
|
@@ -21,191 +21,191 @@ import { n as useGrFormFieldContext } from "./chunks/context-DdNIxa1w.js";
|
|
|
21
21
|
import { useGrFormControl } from "./composables/useGrFormControl.js";
|
|
22
22
|
import { useComboboxNavigation } from "./composables/useComboboxNavigation.js";
|
|
23
23
|
import { useRovingFocus } from "./composables/useRovingFocus.js";
|
|
24
|
-
import { t as GrChip_default } from "./components/GrChip/chunks/GrChip-
|
|
24
|
+
import { t as GrChip_default } from "./components/GrChip/chunks/GrChip-CKqyzYcv.js";
|
|
25
25
|
import { n as grAutocompleteSafelist, t as grAutocompleteConfig } from "./chunks/config-CYthTVK2.js";
|
|
26
|
-
import { t as GrAutocomplete_default } from "./components/GrAutocomplete/chunks/GrAutocomplete-
|
|
26
|
+
import { t as GrAutocomplete_default } from "./components/GrAutocomplete/chunks/GrAutocomplete-BpmFmpKs.js";
|
|
27
27
|
import { t as GrSkeleton_default } from "./components/GrSkeleton/chunks/GrSkeleton-CgfXxPQ2.js";
|
|
28
|
-
import { n as GrAvatar_default, t as GrAvatarGroup_default } from "./components/GrAvatar/chunks/GrAvatar-
|
|
28
|
+
import { n as GrAvatar_default, t as GrAvatarGroup_default } from "./components/GrAvatar/chunks/GrAvatar-dWEXiCJG.js";
|
|
29
29
|
import { c as initialsFrom, n as grAvatarSafelist, t as grAvatarConfig } from "./chunks/config-B3J0alyY.js";
|
|
30
|
-
import { t as GrBadge_default } from "./components/GrBadge/chunks/GrBadge-
|
|
30
|
+
import { t as GrBadge_default } from "./components/GrBadge/chunks/GrBadge-DBeQXEir.js";
|
|
31
31
|
import { t as grBadgeSafelist } from "./chunks/safelist-x8USecK8.js";
|
|
32
32
|
import { t as grBadgeConfig } from "./chunks/config-BscVxZR3.js";
|
|
33
33
|
import { n as grBadgeWrapSafelist, o as formatBadgeValue, t as grBadgeWrapConfig } from "./chunks/config-DwABJHEo.js";
|
|
34
|
-
import { t as GrBadgeWrap_default } from "./components/GrBadgeWrap/chunks/GrBadgeWrap-
|
|
34
|
+
import { t as GrBadgeWrap_default } from "./components/GrBadgeWrap/chunks/GrBadgeWrap-wdfxaXiu.js";
|
|
35
35
|
import { n as grBottomNavSafelist, t as grBottomNavConfig } from "./chunks/config-DM0lsduD.js";
|
|
36
|
-
import { t as GrBottomNav_default } from "./components/GrBottomNav/chunks/GrBottomNav-
|
|
37
|
-
import { t as GrLink_default } from "./components/GrLink/chunks/GrLink-
|
|
36
|
+
import { t as GrBottomNav_default } from "./components/GrBottomNav/chunks/GrBottomNav-nE08pVUJ.js";
|
|
37
|
+
import { t as GrLink_default } from "./components/GrLink/chunks/GrLink-DwWErumU.js";
|
|
38
38
|
import { g as resolveBreadcrumbsLayout, h as resolveBreadcrumbsFit, n as grBreadcrumbsSafelist, t as grBreadcrumbsConfig } from "./chunks/config-C0Eu8jpG.js";
|
|
39
|
-
import { t as GrBreadcrumbs_default } from "./components/GrBreadcrumbs/chunks/GrBreadcrumbs-
|
|
39
|
+
import { t as GrBreadcrumbs_default } from "./components/GrBreadcrumbs/chunks/GrBreadcrumbs-DOpwY2EF.js";
|
|
40
40
|
import { n as useGrButtonGroup } from "./chunks/context-BfIQv7m1.js";
|
|
41
|
-
import { t as GrButton_default } from "./components/GrButton/chunks/GrButton-
|
|
41
|
+
import { t as GrButton_default } from "./components/GrButton/chunks/GrButton-CS4TqMtG.js";
|
|
42
42
|
import { t as grButtonSafelist } from "./chunks/safelist-DxkMj5IW.js";
|
|
43
43
|
import { t as grButtonConfig } from "./chunks/config-87fszqnD.js";
|
|
44
44
|
import { t as GrButtonGroup_default } from "./components/GrButtonGroup/chunks/GrButtonGroup-CKyiAV8K.js";
|
|
45
|
-
import { t as grButtonGroupConfig } from "./chunks/config-
|
|
45
|
+
import { t as grButtonGroupConfig } from "./chunks/config-DBmdgoVf.js";
|
|
46
46
|
import "./components/GrButtonGroup/index.js";
|
|
47
47
|
import { n as grCardSafelist, t as grCardConfig } from "./chunks/config-DUbbGcfw.js";
|
|
48
|
-
import { t as GrCard_default } from "./components/GrCard/chunks/GrCard-
|
|
49
|
-
import { t as GrCheckbox_default } from "./components/GrCheckbox/chunks/GrCheckbox-
|
|
48
|
+
import { t as GrCard_default } from "./components/GrCard/chunks/GrCard-Ck5--lMF.js";
|
|
49
|
+
import { t as GrCheckbox_default } from "./components/GrCheckbox/chunks/GrCheckbox-Dp201frb.js";
|
|
50
50
|
import { n as grCheckboxSafelist, t as grCheckboxConfig } from "./chunks/config-DZCUPHPU.js";
|
|
51
51
|
import "./components/GrCheckbox/index.js";
|
|
52
|
-
import { t as GrCheckboxGroup_default } from "./components/GrCheckboxGroup/chunks/GrCheckboxGroup-
|
|
52
|
+
import { t as GrCheckboxGroup_default } from "./components/GrCheckboxGroup/chunks/GrCheckboxGroup-IpqG5qwm.js";
|
|
53
53
|
import { t as grCheckboxGroupConfig } from "./chunks/config-BuGlNPE9.js";
|
|
54
54
|
import { n as grChipSafelist, t as grChipConfig } from "./chunks/config-2vrOFn2f.js";
|
|
55
55
|
import "./components/GrChip/index.js";
|
|
56
56
|
import { n as grChipGroupSafelist, t as grChipGroupConfig } from "./chunks/config-CZPDPJlg.js";
|
|
57
|
-
import { t as GrChipGroup_default } from "./components/GrChipGroup/chunks/GrChipGroup-
|
|
57
|
+
import { t as GrChipGroup_default } from "./components/GrChipGroup/chunks/GrChipGroup-dDGwnC04.js";
|
|
58
58
|
import { useAnnouncer } from "./composables/useAnnouncer.js";
|
|
59
|
-
import { t as GrCodeBlock_default } from "./components/GrCodeBlock/chunks/GrCodeBlock-
|
|
59
|
+
import { t as GrCodeBlock_default } from "./components/GrCodeBlock/chunks/GrCodeBlock-BUOwKwQE.js";
|
|
60
60
|
import { n as grCodeBlockSafelist, t as grCodeBlockConfig } from "./chunks/config-DolULhjJ.js";
|
|
61
61
|
import { n as grCollapseSafelist, t as grCollapseConfig } from "./chunks/config-BoUI0t-t.js";
|
|
62
|
-
import { n as GrCollapse_default, t as GrCollapseItem_default } from "./components/GrCollapse/chunks/GrCollapse-
|
|
62
|
+
import { n as GrCollapse_default, t as GrCollapseItem_default } from "./components/GrCollapse/chunks/GrCollapse-DWH3QAnU.js";
|
|
63
63
|
import { n as grIconSafelist, t as grIconConfig } from "./chunks/config-3bQeQvqd.js";
|
|
64
|
-
import { t as GrInput_default } from "./components/GrInput/chunks/GrInput-
|
|
64
|
+
import { t as GrInput_default } from "./components/GrInput/chunks/GrInput-TFeBm3gQ.js";
|
|
65
65
|
import { t as useFocusTrap } from "./chunks/useFocusTrap-D9bIPNF6.js";
|
|
66
|
-
import { t as GrPopover_default } from "./components/GrPopover/chunks/GrPopover-
|
|
66
|
+
import { t as GrPopover_default } from "./components/GrPopover/chunks/GrPopover-CcWvr1ZA.js";
|
|
67
67
|
import { useDragGesture } from "./composables/useDragGesture.js";
|
|
68
|
-
import { t as GrSlider_default } from "./components/GrSlider/chunks/GrSlider-
|
|
69
|
-
import { t as GrColorPicker_default } from "./components/GrColorPicker/chunks/GrColorPicker-
|
|
68
|
+
import { t as GrSlider_default } from "./components/GrSlider/chunks/GrSlider-Db-jACXz.js";
|
|
69
|
+
import { t as GrColorPicker_default } from "./components/GrColorPicker/chunks/GrColorPicker-BwzRLs-i.js";
|
|
70
70
|
import { n as grColorPickerSafelist, t as grColorPickerConfig } from "./chunks/config-DIDz_E5m.js";
|
|
71
|
-
import { a as GR_KBD_TOKENS, o as findKbdToken, t as GrKbd_default } from "./components/GrKbd/chunks/GrKbd-
|
|
72
|
-
import { t as GrModal_default } from "./components/GrModal/chunks/GrModal-
|
|
73
|
-
import { t as GrCommandPalette_default } from "./components/GrCommandPalette/chunks/GrCommandPalette-
|
|
71
|
+
import { a as GR_KBD_TOKENS, o as findKbdToken, t as GrKbd_default } from "./components/GrKbd/chunks/GrKbd-D_a1mPLe.js";
|
|
72
|
+
import { t as GrModal_default } from "./components/GrModal/chunks/GrModal-Cm0mtSXk.js";
|
|
73
|
+
import { t as GrCommandPalette_default } from "./components/GrCommandPalette/chunks/GrCommandPalette-CnzPuoIM.js";
|
|
74
74
|
import { n as grCommandPaletteSafelist, t as grCommandPaletteConfig } from "./chunks/config-D0NzGYaE.js";
|
|
75
|
-
import { t as GrConfigProvider_default } from "./components/GrConfigProvider/chunks/GrConfigProvider-
|
|
75
|
+
import { t as GrConfigProvider_default } from "./components/GrConfigProvider/chunks/GrConfigProvider-t9x2UToH.js";
|
|
76
76
|
import { t as grConfigProviderConfig } from "./chunks/config-B7W9VlZ7.js";
|
|
77
|
-
import { i as GrDialogFooter_default, n as GrDialogHeader_default, r as GrDialogCloseButton_default, t as GrDialog_default } from "./components/GrDialog/chunks/GrDialog-
|
|
78
|
-
import { a as extendDefaultParsers, n as coreResponseErrorParsers, r as createResponseErrorClassifier, s as normalizeError, t as GrResponseErrorBanner_default } from "./components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-
|
|
79
|
-
import { t as GrConfirmDialog_default } from "./components/GrConfirmDialog/chunks/GrConfirmDialog-
|
|
77
|
+
import { i as GrDialogFooter_default, n as GrDialogHeader_default, r as GrDialogCloseButton_default, t as GrDialog_default } from "./components/GrDialog/chunks/GrDialog-DDz_OEhk.js";
|
|
78
|
+
import { a as extendDefaultParsers, n as coreResponseErrorParsers, r as createResponseErrorClassifier, s as normalizeError, t as GrResponseErrorBanner_default } from "./components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-NEEJZ8zi.js";
|
|
79
|
+
import { t as GrConfirmDialog_default } from "./components/GrConfirmDialog/chunks/GrConfirmDialog-e15nFI8M.js";
|
|
80
80
|
import { t as grConfirmDialogConfig } from "./chunks/config-A-bBiotF.js";
|
|
81
81
|
import "./components/GrConfirmDialog/index.js";
|
|
82
82
|
import { a as GrDropdownMenuItem_default, c as GrDropdownMenuDivider_default, o as GrDropdownMenuGroup_default, s as GrDropdownMenuHeader_default, t as GrDropdownMenuList_default } from "./components/GrDropdownMenu/chunks/GrDropdownMenuList-B33ZzwfB.js";
|
|
83
|
-
import { t as GrContextMenu_default } from "./components/GrContextMenu/chunks/GrContextMenu-
|
|
83
|
+
import { t as GrContextMenu_default } from "./components/GrContextMenu/chunks/GrContextMenu-RpxMHQXH.js";
|
|
84
84
|
import { t as grContextMenuConfig } from "./chunks/config-CsCUuukB.js";
|
|
85
|
-
import { t as GrTable_default } from "./components/GrTable/chunks/GrTable-
|
|
85
|
+
import { t as GrTable_default } from "./components/GrTable/chunks/GrTable-iwzHvlMC.js";
|
|
86
86
|
import { t as useDragSort } from "./chunks/useDragSort-0l47h4yb.js";
|
|
87
|
-
import { t as GrDataTable_default } from "./components/GrDataTable/chunks/GrDataTable-
|
|
87
|
+
import { t as GrDataTable_default } from "./components/GrDataTable/chunks/GrDataTable-BYYG_XZA.js";
|
|
88
88
|
import { n as grDataTableSafelist, t as grDataTableConfig } from "./chunks/config-DeyT9dJl.js";
|
|
89
|
-
import { t as GrDelta_default } from "./components/GrDelta/chunks/GrDelta-
|
|
89
|
+
import { t as GrDelta_default } from "./components/GrDelta/chunks/GrDelta-BpfqebEV.js";
|
|
90
90
|
import { n as grValueSafelist, t as grValueConfig } from "./chunks/config-Z5LeUXys.js";
|
|
91
91
|
import { t as GrValue_default } from "./components/GrValue/chunks/GrValue-ezkQM05Q.js";
|
|
92
92
|
import { n as deltaTone, t as deltaDirection } from "./chunks/deltaTone-B5OoS1vo.js";
|
|
93
93
|
import { n as grDeltaSafelist, t as grDeltaConfig } from "./chunks/config-CjWOTgLL.js";
|
|
94
|
-
import { n as grDescriptionListSafelist, t as grDescriptionListConfig } from "./chunks/config-
|
|
95
|
-
import { t as GrDescriptionList_default } from "./components/GrDescriptionList/chunks/GrDescriptionList-
|
|
94
|
+
import { n as grDescriptionListSafelist, t as grDescriptionListConfig } from "./chunks/config-CnYdE3HZ.js";
|
|
95
|
+
import { t as GrDescriptionList_default } from "./components/GrDescriptionList/chunks/GrDescriptionList-D8ANFpn_.js";
|
|
96
96
|
import { t as grDialogSafelist } from "./chunks/safelist-Y3zrlhOa.js";
|
|
97
97
|
import "./components/GrDialog/index.js";
|
|
98
98
|
import { n as useGrFormContext } from "./chunks/context-Bfrgsluh.js";
|
|
99
|
-
import { t as GrFormField_default } from "./components/GrFormField/chunks/GrFormField-
|
|
100
|
-
import { t as GrTextarea_default } from "./components/GrTextarea/chunks/GrTextarea-
|
|
101
|
-
import { n as getByPath, o as runFieldRules, r as isEmpty, s as setByPath, t as createGrFormMessageResolver } from "./chunks/validation-
|
|
102
|
-
import { t as GrPromptDialog_default } from "./components/GrPromptDialog/chunks/GrPromptDialog-
|
|
103
|
-
import { a as useDialogService, i as teardownDialogService, n as dialogService, r as granularityDialogServicePlugin, t as GrDialogServiceHost_default } from "./components/GrDialogService/chunks/GrDialogService-
|
|
99
|
+
import { t as GrFormField_default } from "./components/GrFormField/chunks/GrFormField-DO61vxpS.js";
|
|
100
|
+
import { t as GrTextarea_default } from "./components/GrTextarea/chunks/GrTextarea-BII3w61K.js";
|
|
101
|
+
import { n as getByPath, o as runFieldRules, r as isEmpty, s as setByPath, t as createGrFormMessageResolver } from "./chunks/validation-BDjqsuGB.js";
|
|
102
|
+
import { t as GrPromptDialog_default } from "./components/GrPromptDialog/chunks/GrPromptDialog-8RxQsOQ_.js";
|
|
103
|
+
import { a as useDialogService, i as teardownDialogService, n as dialogService, r as granularityDialogServicePlugin, t as GrDialogServiceHost_default } from "./components/GrDialogService/chunks/GrDialogService-BmXiYmUp.js";
|
|
104
104
|
import { t as grDialogServiceConfig } from "./chunks/config-CjXjhphs.js";
|
|
105
105
|
import { n as grDividerSafelist, t as grDividerConfig } from "./chunks/config-D82r782v.js";
|
|
106
|
-
import { t as GrDivider_default } from "./components/GrDivider/chunks/GrDivider-
|
|
106
|
+
import { t as GrDivider_default } from "./components/GrDivider/chunks/GrDivider-DxA-zV25.js";
|
|
107
107
|
import { n as grDrawerSafelist, t as grDrawerConfig } from "./chunks/config-ChPg-BQv.js";
|
|
108
|
-
import { t as GrDrawer_default } from "./components/GrDrawer/chunks/GrDrawer-
|
|
109
|
-
import { t as GrDropdown_default } from "./components/GrDropdown/chunks/GrDropdown-
|
|
108
|
+
import { t as GrDrawer_default } from "./components/GrDrawer/chunks/GrDrawer-BRMHhvbd.js";
|
|
109
|
+
import { t as GrDropdown_default } from "./components/GrDropdown/chunks/GrDropdown-cLZuZMEY.js";
|
|
110
110
|
import { n as grDropdownSafelist, t as grDropdownConfig } from "./chunks/config-CT4lP6S4.js";
|
|
111
111
|
import "./components/GrDropdown/index.js";
|
|
112
|
-
import { n as GrDropdownMenuColumn_default, r as GrDropdownMenu_default, t as GrDropdownMenuColumns_default } from "./components/GrDropdownMenu/chunks/GrDropdownMenu-
|
|
112
|
+
import { n as GrDropdownMenuColumn_default, r as GrDropdownMenu_default, t as GrDropdownMenuColumns_default } from "./components/GrDropdownMenu/chunks/GrDropdownMenu-Dxkz_ry4.js";
|
|
113
113
|
import { n as grDropdownMenuSafelist, t as grDropdownMenuConfig } from "./chunks/config-_jbgsFpw.js";
|
|
114
|
-
import { t as GrEmptyState_default } from "./components/GrEmptyState/chunks/GrEmptyState-
|
|
114
|
+
import { t as GrEmptyState_default } from "./components/GrEmptyState/chunks/GrEmptyState-BbvwE-E0.js";
|
|
115
115
|
import { n as grEmptyStateSafelist, t as grEmptyStateConfig } from "./chunks/config-CWtfxkM9.js";
|
|
116
|
-
import { n as fileKindOf, r as isPreviewableKind, t as GrFilePreview_default } from "./components/GrFilePreview/chunks/GrFilePreview-
|
|
116
|
+
import { n as fileKindOf, r as isPreviewableKind, t as GrFilePreview_default } from "./components/GrFilePreview/chunks/GrFilePreview-PabkLgYX.js";
|
|
117
117
|
import { n as grFilePreviewSafelist, t as grFilePreviewConfig } from "./chunks/config-BaWANzzB.js";
|
|
118
|
-
import { t as GrProgressBar_default } from "./components/GrProgressBar/chunks/GrProgressBar-
|
|
119
|
-
import { n as GrUploadAbortError, r as GrUploadHttpError, t as GrFileUpload_default } from "./components/GrFileUpload/chunks/GrFileUpload-
|
|
118
|
+
import { t as GrProgressBar_default } from "./components/GrProgressBar/chunks/GrProgressBar-C3NRBqIP.js";
|
|
119
|
+
import { n as GrUploadAbortError, r as GrUploadHttpError, t as GrFileUpload_default } from "./components/GrFileUpload/chunks/GrFileUpload-BwMR71zN.js";
|
|
120
120
|
import { n as grFileUploadSafelist, t as grFileUploadConfig } from "./chunks/config-BlJa1Mj9.js";
|
|
121
|
-
import { t as GrForm_default } from "./components/GrForm/chunks/GrForm-
|
|
121
|
+
import { t as GrForm_default } from "./components/GrForm/chunks/GrForm-xTtavR-K.js";
|
|
122
122
|
import { t as grFormConfig } from "./chunks/config-Droqn55j.js";
|
|
123
123
|
import { n as grFormFieldSafelist, t as grFormFieldConfig } from "./chunks/config-B0uvcTPH.js";
|
|
124
124
|
import "./components/GrFormField/index.js";
|
|
125
|
-
import { t as GrFormFile_default } from "./components/GrFormFile/chunks/GrFormFile-
|
|
125
|
+
import { t as GrFormFile_default } from "./components/GrFormFile/chunks/GrFormFile-Dlxx-9zi.js";
|
|
126
126
|
import { n as grFormFileSafelist, t as grFormFileConfig } from "./chunks/config-BcXX7S7B.js";
|
|
127
127
|
import { n as grFormSectionSafelist, t as grFormSectionConfig } from "./chunks/config-BEO7brpO.js";
|
|
128
|
-
import { t as GrFormSection_default } from "./components/GrFormSection/chunks/GrFormSection-
|
|
129
|
-
import { t as GrImageViewer_default } from "./components/GrImageViewer/chunks/GrImageViewer
|
|
128
|
+
import { t as GrFormSection_default } from "./components/GrFormSection/chunks/GrFormSection-DV1S6R_N.js";
|
|
129
|
+
import { t as GrImageViewer_default } from "./components/GrImageViewer/chunks/GrImageViewer-CcduIFsa.js";
|
|
130
130
|
import { n as grImageViewerSafelist, t as grImageViewerConfig } from "./chunks/config-BDSaD-5p.js";
|
|
131
131
|
import { n as grInputSafelist, t as grInputConfig } from "./chunks/config-CIkdsWUk.js";
|
|
132
132
|
import "./components/GrInput/index.js";
|
|
133
133
|
import { n as grInputTagSafelist, t as grInputTagConfig } from "./chunks/config-BqT6PMzO.js";
|
|
134
|
-
import { t as GrInputTag_default } from "./components/GrInputTag/chunks/GrInputTag-
|
|
135
|
-
import { t as GrTree_default } from "./components/GrTree/chunks/GrTree-
|
|
136
|
-
import { t as GrJsonViewer_default } from "./components/GrJsonViewer/chunks/GrJsonViewer-
|
|
137
|
-
import { n as grJsonViewerSafelist, t as grJsonViewerConfig } from "./chunks/config-
|
|
134
|
+
import { t as GrInputTag_default } from "./components/GrInputTag/chunks/GrInputTag-DhfUNOA5.js";
|
|
135
|
+
import { t as GrTree_default } from "./components/GrTree/chunks/GrTree-CkELQwR8.js";
|
|
136
|
+
import { t as GrJsonViewer_default } from "./components/GrJsonViewer/chunks/GrJsonViewer-CdtmUpZ3.js";
|
|
137
|
+
import { n as grJsonViewerSafelist, t as grJsonViewerConfig } from "./chunks/config-DpAYidyY.js";
|
|
138
138
|
import { n as grKbdSafelist, t as grKbdConfig } from "./chunks/config-BRESvs9g.js";
|
|
139
139
|
import "./components/GrKbd/index.js";
|
|
140
|
-
import { n as grLinkSafelist, t as grLinkConfig } from "./chunks/config-
|
|
140
|
+
import { n as grLinkSafelist, t as grLinkConfig } from "./chunks/config-CQLNjc9X.js";
|
|
141
141
|
import "./components/GrLink/index.js";
|
|
142
142
|
import { n as grListSafelist, t as grListConfig } from "./chunks/config-D0W8mGFD.js";
|
|
143
|
-
import { n as GrList_default, t as GrListItem_default } from "./components/GrList/chunks/GrList-
|
|
143
|
+
import { n as GrList_default, t as GrListItem_default } from "./components/GrList/chunks/GrList-Unya-LXb.js";
|
|
144
144
|
import { n as grLoadingSafelist, t as grLoadingConfig } from "./chunks/config-Bjn30smH.js";
|
|
145
145
|
import "./components/GrLoading/index.js";
|
|
146
146
|
import { n as grModalSafelist, t as grModalConfig } from "./chunks/config-DBi0GVce.js";
|
|
147
147
|
import "./components/GrModal/index.js";
|
|
148
|
-
import { t as GrNavbar_default } from "./components/GrNavbar/chunks/GrNavbar-
|
|
148
|
+
import { t as GrNavbar_default } from "./components/GrNavbar/chunks/GrNavbar-BRGuksiy.js";
|
|
149
149
|
import { n as grNavbarSafelist, t as grNavbarConfig } from "./chunks/config-2ZHRsdOc.js";
|
|
150
|
-
import { n as grNumberInputSafelist, t as grNumberInputConfig } from "./chunks/config-MmPym-
|
|
151
|
-
import { t as GrNumberInput_default } from "./components/GrNumberInput/chunks/GrNumberInput-
|
|
152
|
-
import { t as GrSelect_default } from "./components/GrSelect/chunks/GrSelect-
|
|
150
|
+
import { n as grNumberInputSafelist, t as grNumberInputConfig } from "./chunks/config-MmPym-Z7.js";
|
|
151
|
+
import { t as GrNumberInput_default } from "./components/GrNumberInput/chunks/GrNumberInput-BqPydXpK.js";
|
|
152
|
+
import { t as GrSelect_default } from "./components/GrSelect/chunks/GrSelect-Do1iAyp1.js";
|
|
153
153
|
import { n as grPaginationSafelist, t as grPaginationConfig } from "./chunks/config-CjKpUcmy.js";
|
|
154
|
-
import { t as GrPagination_default } from "./components/GrPagination/chunks/GrPagination-
|
|
155
|
-
import { n as grPopoverSafelist, t as grPopoverConfig } from "./chunks/config-
|
|
154
|
+
import { t as GrPagination_default } from "./components/GrPagination/chunks/GrPagination-DhbNZHEF.js";
|
|
155
|
+
import { n as grPopoverSafelist, t as grPopoverConfig } from "./chunks/config-DVCNvhIG.js";
|
|
156
156
|
import "./components/GrPopover/index.js";
|
|
157
157
|
import { n as grProgressBarSafelist, r as GR_TONES, t as grProgressBarConfig } from "./chunks/config-DWL81-aM.js";
|
|
158
158
|
import "./components/GrProgressBar/index.js";
|
|
159
|
-
import { t as GrProgressCircle_default } from "./components/GrProgressCircle/chunks/GrProgressCircle-
|
|
159
|
+
import { t as GrProgressCircle_default } from "./components/GrProgressCircle/chunks/GrProgressCircle-CdvbINQc.js";
|
|
160
160
|
import { n as grProgressCircleSafelist, t as grProgressCircleConfig } from "./chunks/config-CJzmDHfI.js";
|
|
161
161
|
import { t as grPromptDialogConfig } from "./chunks/config-C0Ea9ePP.js";
|
|
162
162
|
import "./components/GrPromptDialog/index.js";
|
|
163
|
-
import { t as GrRadio_default } from "./components/GrRadio/chunks/GrRadio-
|
|
164
|
-
import { n as grRadioSafelist, t as grRadioConfig } from "./chunks/config-
|
|
163
|
+
import { t as GrRadio_default } from "./components/GrRadio/chunks/GrRadio-B1776V9D.js";
|
|
164
|
+
import { n as grRadioSafelist, t as grRadioConfig } from "./chunks/config-BUNxHnEz.js";
|
|
165
165
|
import "./components/GrRadio/index.js";
|
|
166
|
-
import { t as GrRadioGroup_default } from "./components/GrRadioGroup/chunks/GrRadioGroup-
|
|
166
|
+
import { t as GrRadioGroup_default } from "./components/GrRadioGroup/chunks/GrRadioGroup-UgitrBFl.js";
|
|
167
167
|
import { t as grRadioGroupConfig } from "./chunks/config-QaIc_gRa.js";
|
|
168
168
|
import { n as grRatingSafelist, t as grRatingConfig } from "./chunks/config-DRbojEzO.js";
|
|
169
|
-
import { t as GrRating_default } from "./components/GrRating/chunks/GrRating-
|
|
170
|
-
import { n as GrFormErrorBanner_default, r as GrUploadErrorBanner_default, t as useResponseError } from "./components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-
|
|
171
|
-
import { n as titleWhenTruncated, t as GrSegmented_default } from "./components/GrSegmented/chunks/GrSegmented-
|
|
169
|
+
import { t as GrRating_default } from "./components/GrRating/chunks/GrRating-DTriyyqG.js";
|
|
170
|
+
import { n as GrFormErrorBanner_default, r as GrUploadErrorBanner_default, t as useResponseError } from "./components/GrResponseErrorBanner/chunks/GrResponseErrorBanner-ZvBvEQDZ.js";
|
|
171
|
+
import { n as titleWhenTruncated, t as GrSegmented_default } from "./components/GrSegmented/chunks/GrSegmented-NKTi9bMG.js";
|
|
172
172
|
import { n as grSegmentedSafelist, t as grSegmentedConfig } from "./chunks/config-rLkc9Zn2.js";
|
|
173
173
|
import { n as grSelectSafelist, t as grSelectConfig } from "./chunks/config-DOYz_SVK.js";
|
|
174
174
|
import "./components/GrSelect/index.js";
|
|
175
175
|
import { n as grSidebarSafelist, t as grSidebarConfig } from "./chunks/config-DNDgp9bB.js";
|
|
176
|
-
import { n as GrSidebarItem_default, r as GrSidebar_default, t as GrSidebarGroup_default } from "./components/GrSidebar/chunks/GrSidebar-
|
|
176
|
+
import { n as GrSidebarItem_default, r as GrSidebar_default, t as GrSidebarGroup_default } from "./components/GrSidebar/chunks/GrSidebar-DoKLlHSw.js";
|
|
177
177
|
import { t as grSkeletonConfig } from "./chunks/config-8Pcutu1j.js";
|
|
178
178
|
import "./components/GrSkeleton/index.js";
|
|
179
179
|
import { n as grSliderSafelist, t as grSliderConfig } from "./chunks/config-E1cTyRVV.js";
|
|
180
180
|
import "./components/GrSlider/index.js";
|
|
181
181
|
import { n as grSortableListSafelist, t as grSortableListConfig } from "./chunks/config-CbEbLyDE.js";
|
|
182
|
-
import { t as GrSortableList_default } from "./components/GrSortableList/chunks/GrSortableList-
|
|
182
|
+
import { t as GrSortableList_default } from "./components/GrSortableList/chunks/GrSortableList-CQCaWivn.js";
|
|
183
183
|
import { n as grSplitterSafelist, t as grSplitterConfig } from "./chunks/config-CvbVM4ep.js";
|
|
184
|
-
import { n as sizeFromPointer, t as GrSplitter_default } from "./components/GrSplitter/chunks/GrSplitter-
|
|
185
|
-
import { n as formatStatisticValue, t as GrStatistic_default } from "./components/GrStatistic/chunks/GrStatistic-
|
|
184
|
+
import { n as sizeFromPointer, t as GrSplitter_default } from "./components/GrSplitter/chunks/GrSplitter-C-XQzq7q.js";
|
|
185
|
+
import { n as formatStatisticValue, t as GrStatistic_default } from "./components/GrStatistic/chunks/GrStatistic-C1_nY4Gc.js";
|
|
186
186
|
import { n as grStatisticSafelist, t as grStatisticConfig } from "./chunks/config-DGC00bTp.js";
|
|
187
187
|
import { n as grStepsSafelist, t as grStepsConfig } from "./chunks/config-CLjjjPZj.js";
|
|
188
|
-
import { t as GrSteps_default } from "./components/GrSteps/chunks/GrSteps-
|
|
188
|
+
import { t as GrSteps_default } from "./components/GrSteps/chunks/GrSteps-DXj7m-WO.js";
|
|
189
189
|
import { n as grSwitchSafelist, t as grSwitchConfig } from "./chunks/config-Yy67uWHY.js";
|
|
190
|
-
import { t as GrSwitch_default } from "./components/GrSwitch/chunks/GrSwitch-
|
|
190
|
+
import { t as GrSwitch_default } from "./components/GrSwitch/chunks/GrSwitch-CriHWT2A.js";
|
|
191
191
|
import { n as grTableSafelist, t as grTableConfig } from "./chunks/config-DCq4JySZ.js";
|
|
192
192
|
import "./components/GrTable/index.js";
|
|
193
|
-
import { n as GrTabPanels_default, t as GrTabPanel_default } from "./components/GrTabPanels/chunks/GrTabPanels-
|
|
193
|
+
import { n as GrTabPanels_default, t as GrTabPanel_default } from "./components/GrTabPanels/chunks/GrTabPanels-5zsbqS1v.js";
|
|
194
194
|
import { t as grTabPanelsConfig } from "./chunks/config-eXB87DOi.js";
|
|
195
|
-
import { t as GrTabs_default } from "./components/GrTabs/chunks/GrTabs-
|
|
195
|
+
import { t as GrTabs_default } from "./components/GrTabs/chunks/GrTabs-DHfv67cp.js";
|
|
196
196
|
import { n as grTabsSafelist, t as grTabsConfig } from "./chunks/config-CMNfZO7S.js";
|
|
197
197
|
import { n as grTextareaSafelist, t as grTextareaConfig } from "./chunks/config-BhfNgyWL.js";
|
|
198
198
|
import "./components/GrTextarea/index.js";
|
|
199
|
-
import { n as GrTimeline_default, t as GrTimelineItem_default } from "./components/GrTimeline/chunks/GrTimeline-
|
|
199
|
+
import { n as GrTimeline_default, t as GrTimelineItem_default } from "./components/GrTimeline/chunks/GrTimeline-Bs60huw0.js";
|
|
200
200
|
import { n as grTimelineSafelist, t as grTimelineConfig } from "./chunks/config-Bd7QfiGj.js";
|
|
201
201
|
import { GRANULARITY_TOAST_STATE, granularityToastPlugin, useToast } from "./composables/useToast.js";
|
|
202
202
|
import { n as grToasterSafelist, t as grToasterConfig } from "./chunks/config-B5SBUa6u.js";
|
|
203
|
-
import { t as GrToaster_default } from "./components/GrToaster/chunks/GrToaster-
|
|
203
|
+
import { t as GrToaster_default } from "./components/GrToaster/chunks/GrToaster-D-sV-9of.js";
|
|
204
204
|
import { n as grTooltipSafelist, t as grTooltipConfig } from "./chunks/config-BTmfQFwi.js";
|
|
205
|
-
import { t as GrTooltip_default } from "./components/GrTooltip/chunks/GrTooltip-
|
|
205
|
+
import { t as GrTooltip_default } from "./components/GrTooltip/chunks/GrTooltip-BUiTbROv.js";
|
|
206
206
|
import { n as grTreeSafelist, t as grTreeConfig } from "./chunks/config-CDat1wXf.js";
|
|
207
207
|
import { n as grTreeSelectSafelist, t as grTreeSelectConfig } from "./chunks/config-DUNH02Fg.js";
|
|
208
|
-
import { t as GrTreeSelect_default } from "./components/GrTreeSelect/chunks/GrTreeSelect-
|
|
208
|
+
import { t as GrTreeSelect_default } from "./components/GrTreeSelect/chunks/GrTreeSelect-DurwZ7Cz.js";
|
|
209
209
|
import "./composables/useGrComponentConfig.js";
|
|
210
210
|
import "./composables/useGranularityTranslations.js";
|
|
211
211
|
import { GRANULARITY_THEME_STATE, granularityThemePlugin, initThemeEarly, useTheme } from "./composables/useTheme.js";
|
package/dist/testing.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { t as GR_CONFIG_KEY } from "./chunks/context-
|
|
1
|
+
import { t as GR_CONFIG_KEY } from "./chunks/context-CPMRfwVr.js";
|
|
2
2
|
import { t as GRANULARITY_I18N_KEY } from "./chunks/adapter-CAOxmn2G.js";
|
|
3
3
|
import { n as resetPortalRoot } from "./chunks/portalRoot-CVhCgdG6.js";
|
|
4
4
|
import { resetAnnouncer } from "./composables/useAnnouncer.js";
|
package/dist/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","names":[],"sources":["../src/testing/pointer.ts","../src/testing/keyboard.ts","../src/testing/geometry.ts","../src/testing/env.ts","../src/testing/context.ts","../src/testing/announcer.ts"],"sourcesContent":["/**\n * Указательные жесты в тестах.\n *\n * Две вещи, которые ломают наивную запись жеста, и обе неочевидны:\n *\n * 1. **`pointerdown` идёт в элемент, а `pointermove`/`pointerup`/`pointercancel` — в `window`.**\n * Так слушает `useDragGesture` (и всё, что на нём стоит: слайдер, сплиттер,\n * перестановка, смахивание тоста): нажатие приходит от разметки, а движение\n * ловится глобально, иначе жест обрывался бы на выходе курсора за элемент.\n * Тест, отправивший движение в тот же элемент, ничего не проверяет — и молча.\n * 2. **`PointerEvent` в jsdom нет**, а `wrapper.trigger('pointerdown', { clientY })`\n * падает на попытке записать `clientY`. Поэтому события собираются\n * `MouseEvent`-ом и отправляются через `dispatchEvent`.\n *\n * Плюс `button: 0` по умолчанию: жест игнорирует неосновную кнопку, и без этого\n * «перетаскивание» в тесте не начинается вовсе.\n */\n\n/** Событие указателя: `MouseEvent`, потому что `PointerEvent` в jsdom не реализован. */\nexport function pointer(type: string, init: MouseEventInit = {}): MouseEvent {\n return new MouseEvent(type, { bubbles: true, ...init })\n}\n\n/** Нажатие: единственное событие жеста, которое адресуется элементу. */\nexport function press(target: Element, init: MouseEventInit = {}): void {\n target.dispatchEvent(pointer('pointerdown', { button: 0, ...init }))\n}\n\nexport function move(init: MouseEventInit = {}): void {\n window.dispatchEvent(pointer('pointermove', init))\n}\n\nexport function release(init: MouseEventInit = {}): void {\n window.dispatchEvent(pointer('pointerup', init))\n}\n\n/**\n * Обрыв жеста: система забрала указатель (системный жест, звонок, потеря окна).\n * Отдельная ветка поведения у всех потребителей — смахивание возвращает тост,\n * перестановка откатывает порядок, — поэтому проверяется отдельно от `release`.\n */\nexport function cancelPointer(init: MouseEventInit = {}): void {\n window.dispatchEvent(pointer('pointercancel', init))\n}\n\n/** Жест целиком: нажали на элементе, провели, отпустили. */\nexport function drag(target: Element, from: MouseEventInit, to: MouseEventInit): void {\n press(target, from)\n move(to)\n release(to)\n}\n","/**\n * Клавиатурные события в тестах.\n *\n * Существует ради одного флага: **`isComposing` не переживает\n * `wrapper.trigger('keydown', …)`**. `@vue/test-utils` собирает событие из\n * переданного объекта, но `isComposing` — свойство только для чтения на\n * `KeyboardEvent`, и присвоение молча теряется. Тест «Enter во время\n * IME-композиции ничего не коммитит» при такой записи проверяет обычный Enter,\n * то есть зеленеет на сломанном коде.\n *\n * Пакет читает флаг через `isComposingEvent` (`src/internal/keyboard.ts`) —\n * `event.isComposing || event.keyCode === 229`, потому что Safari до 16.4 не\n * ставил первое. Генератор ставит оба, иначе тест проверял бы половину предиката.\n *\n * Композиция — это не экзотика: пока пользователь набирает 日本語, 한국어 или\n * что угодно через IME, `Enter` подтверждает **выбор иероглифа**, а не действие\n * виджета. Компонент, который на нём выберет опцию или отправит форму, у такого\n * пользователя неработоспособен.\n */\n\nexport type KeyboardEventOptions = KeyboardEventInit & { key: string }\n\n/** Клавиатурное событие с разумными умолчаниями (всплывает, отменяемо). */\nexport function keyboardEvent(type: string, init: KeyboardEventOptions): KeyboardEvent {\n return new KeyboardEvent(type, { bubbles: true, cancelable: true, ...init })\n}\n\n/** Нажатие клавиши в элемент. */\nexport function keydown(target: Element, key: string, init: KeyboardEventInit = {}): KeyboardEvent {\n const event = keyboardEvent('keydown', { key, ...init })\n target.dispatchEvent(event)\n return event\n}\n\n/**\n * Нажатие во время IME-композиции. Отдельная функция, а не флаг у `keydown`:\n * из имени в тесте видно, что проверяется, а `keyCode: 229` не приходится\n * помнить на каждом вызове.\n */\nexport function composingKeydown(target: Element, key: string, init: KeyboardEventInit = {}): KeyboardEvent {\n return keydown(target, key, { isComposing: true, keyCode: 229, ...init })\n}\n","/**\n * Геометрия в jsdom.\n *\n * Раскладки в jsdom нет: `getBoundingClientRect` у любого элемента возвращает\n * нули. Всё, что считает попадание указателя — слайдер, сплиттер, перестановка,\n * ширины колонок таблицы, — на нулевом прямоугольнике проверять не на чем,\n * поэтому геометрия задаётся руками.\n */\n\nexport type MockRect = Partial<Omit<DOMRect, 'toJSON'>>\n\n/** Прямоугольник элемента. Незаданные стороны выводятся из заданных. */\nexport function mockRect(target: Element, rect: MockRect): void {\n const left = rect.left ?? rect.x ?? 0\n const top = rect.top ?? rect.y ?? 0\n const width = rect.width ?? (rect.right ?? 0) - left\n const height = rect.height ?? (rect.bottom ?? 0) - top\n\n const value: DOMRect = {\n x: left,\n y: top,\n left,\n top,\n width,\n height,\n right: rect.right ?? left + width,\n bottom: rect.bottom ?? top + height,\n toJSON: () => ({}),\n }\n\n target.getBoundingClientRect = () => value\n}\n\nexport interface StackRectsOptions {\n /** Размер элемента вдоль оси. */\n size: number\n /** Ось раскладки. По умолчанию вертикальная — так лежат списки и строки. */\n axis?: 'vertical' | 'horizontal'\n /** Смещение первого элемента. */\n start?: number\n /** Размер поперёк оси. */\n cross?: number\n}\n\n/** Элементы подряд, встык, без зазоров: строки списка, ячейки шапки, деления шкалы. */\nexport function stackRects(targets: Iterable<Element>, options: StackRectsOptions): void {\n const { size, axis = 'vertical', start = 0, cross = 100 } = options\n\n let offset = start\n\n for (const target of targets) {\n mockRect(target, axis === 'vertical'\n ? { top: offset, height: size, left: 0, width: cross }\n : { left: offset, width: size, top: 0, height: cross })\n\n offset += size\n }\n}\n","import { resetAnnouncer } from '../composables/useAnnouncer'\nimport { resetPortalRoot } from '../composables/internal/portalRoot'\nimport { useToast } from '../composables/useToast'\n\n/**\n * Уборка между тестами.\n *\n * `document.body.innerHTML = ''` сам по себе оставляет пакет в разобранном\n * состоянии: корень портала и хост живого региона закэшированы модулями, и\n * после очистки `body` они указывают на узлы **вне документа**. Следующий\n * монтаж телепортирует туда оверлеи, тест ищет их в документе и не находит —\n * без единой ошибки в консоли. Очередь тостов переживает размонтирование по\n * замыслу, поэтому её тоже гасим.\n */\nexport function resetGranularityDom(): void {\n useToast().clear()\n resetAnnouncer()\n resetPortalRoot()\n\n if (typeof document !== 'undefined')\n document.body.innerHTML = ''\n}\n\nexport interface StubMatchMediaOptions {\n /** Ответ на `(prefers-reduced-motion: reduce)`. */\n reducedMotion?: boolean\n /** Ответ на остальные запросы. */\n matches?: boolean\n}\n\n/**\n * Ответ `matchMedia` — например «пользователь просил меньше движения».\n *\n * Не для того, чтобы «не падало»: сам пакет зовёт `matchMedia` опционально и без\n * него живёт. Нужно, когда проверяется поведение **под** медиазапросом.\n * Возвращает функцию отката: глобальное состояние обязано уйти вместе с тестом.\n */\nexport function stubMatchMedia(options: StubMatchMediaOptions = {}): () => void {\n const { reducedMotion = false, matches = false } = options\n const original = window.matchMedia\n\n window.matchMedia = (query: string) => ({\n media: query,\n matches: query.includes('prefers-reduced-motion') ? reducedMotion : matches,\n onchange: null,\n addEventListener: () => {},\n removeEventListener: () => {},\n addListener: () => {},\n removeListener: () => {},\n dispatchEvent: () => false,\n })\n\n return () => {\n window.matchMedia = original\n }\n}\n","import { computed, ref, type Ref } from 'vue'\n\nimport { GR_CONFIG_KEY, type GrComponentDefaults, type GrComponentSize, type GrConfigContext } from '../components/GrConfigProvider/context'\nimport { GRANULARITY_I18N_KEY, type GranularityI18nAdapter, type GranularityI18nParams } from '../i18n/adapter'\n\nexport interface I18nAdapterOptions {\n /** Перевод по ключу. По умолчанию — сам ключ: видно, что спросили. */\n t?: (key: string, params?: GranularityI18nParams) => string\n te?: (key: string) => boolean\n locale?: string | Ref<string>\n}\n\n/** Адаптер перевода для теста: словарь или своя функция. */\nexport function i18nAdapter(options: I18nAdapterOptions | Record<string, string> = {}): GranularityI18nAdapter {\n const isDictionary = typeof (options as I18nAdapterOptions).t !== 'function'\n && !('locale' in options)\n && !('te' in options)\n\n if (isDictionary) {\n const dictionary = options as Record<string, string>\n\n return {\n t: key => dictionary[key] ?? key,\n te: key => key in dictionary,\n }\n }\n\n const { t, te, locale } = options as I18nAdapterOptions\n\n return {\n t: t ?? (key => key),\n te,\n locale: typeof locale === 'string' ? ref(locale) : locale,\n }\n}\n\nexport interface GranularityGlobalOptions {\n size?: GrComponentSize\n componentDefaults?: GrComponentDefaults\n theme?: string\n portalTarget?: string | HTMLElement\n /** Адаптер перевода: готовый, словарь `{ ключ: перевод }` или опции `i18nAdapter`. */\n i18n?: GranularityI18nAdapter | I18nAdapterOptions | Record<string, string>\n}\n\n/**\n * Окружение пакета для монтирования — то, что `<GrConfigProvider>` раздаёт\n * через `provide`.\n *\n * Отдаётся объектом, а не компонентом-обёрткой, намеренно: провайдер тянет за\n * собой лишний корневой элемент, а искать компонент внутри чужой разметки в\n * каждом тесте дороже, чем передать `global`. Проверять **сам** провайдер\n * (`data-gr-config-provider`, тема на корне) этим нельзя и не нужно — для этого\n * его и монтируют.\n *\n * ```ts\n * mount(GrSelect, { props, global: granularityGlobal({ size: 'sm' }) })\n * ```\n */\nexport function granularityGlobal(options: GranularityGlobalOptions = {}): { provide: Record<symbol, unknown> } {\n const config: GrConfigContext = {\n size: computed(() => options.size),\n componentDefaults: computed(() => options.componentDefaults ?? {}),\n theme: computed(() => options.theme),\n portalTarget: computed(() => options.portalTarget),\n }\n\n const provide: Record<symbol, unknown> = { [GR_CONFIG_KEY]: config }\n\n if (options.i18n) {\n provide[GRANULARITY_I18N_KEY] = 't' in options.i18n && typeof options.i18n.t === 'function'\n ? options.i18n\n : i18nAdapter(options.i18n)\n }\n\n return { provide }\n}\n","import type { GrAnnouncerPoliteness } from '../composables/useAnnouncer'\n\n/**\n * Текст живого региона.\n *\n * Ждать здесь обязательно: `announce` пишет в регион **отложенным** макротаском,\n * и это не деталь реализации, а условие работы. Регион, в котором текст\n * появился в том же кадре, что и сам регион, часть AT не объявляет вовсе;\n * поэтому синхронное чтение сразу после действия покажет пустую строку.\n */\nexport async function announced(politeness: GrAnnouncerPoliteness = 'polite'): Promise<string> {\n await new Promise(resolve => setTimeout(resolve, 2))\n\n return document.querySelector(`[data-gr-announcer-region=\"${politeness}\"]`)?.textContent ?? ''\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testing.js","names":[],"sources":["../src/testing/pointer.ts","../src/testing/keyboard.ts","../src/testing/geometry.ts","../src/testing/env.ts","../src/testing/context.ts","../src/testing/announcer.ts"],"sourcesContent":["/**\n * Указательные жесты в тестах.\n *\n * Две вещи, которые ломают наивную запись жеста, и обе неочевидны:\n *\n * 1. **`pointerdown` идёт в элемент, а `pointermove`/`pointerup`/`pointercancel` — в `window`.**\n * Так слушает `useDragGesture` (и всё, что на нём стоит: слайдер, сплиттер,\n * перестановка, смахивание тоста): нажатие приходит от разметки, а движение\n * ловится глобально, иначе жест обрывался бы на выходе курсора за элемент.\n * Тест, отправивший движение в тот же элемент, ничего не проверяет — и молча.\n * 2. **`PointerEvent` в jsdom нет**, а `wrapper.trigger('pointerdown', { clientY })`\n * падает на попытке записать `clientY`. Поэтому события собираются\n * `MouseEvent`-ом и отправляются через `dispatchEvent`.\n *\n * Плюс `button: 0` по умолчанию: жест игнорирует неосновную кнопку, и без этого\n * «перетаскивание» в тесте не начинается вовсе.\n */\n\n/** Событие указателя: `MouseEvent`, потому что `PointerEvent` в jsdom не реализован. */\nexport function pointer(type: string, init: MouseEventInit = {}): MouseEvent {\n return new MouseEvent(type, { bubbles: true, ...init })\n}\n\n/** Нажатие: единственное событие жеста, которое адресуется элементу. */\nexport function press(target: Element, init: MouseEventInit = {}): void {\n target.dispatchEvent(pointer('pointerdown', { button: 0, ...init }))\n}\n\nexport function move(init: MouseEventInit = {}): void {\n window.dispatchEvent(pointer('pointermove', init))\n}\n\nexport function release(init: MouseEventInit = {}): void {\n window.dispatchEvent(pointer('pointerup', init))\n}\n\n/**\n * Обрыв жеста: система забрала указатель (системный жест, звонок, потеря окна).\n * Отдельная ветка поведения у всех потребителей — смахивание возвращает тост,\n * перестановка откатывает порядок, — поэтому проверяется отдельно от `release`.\n */\nexport function cancelPointer(init: MouseEventInit = {}): void {\n window.dispatchEvent(pointer('pointercancel', init))\n}\n\n/** Жест целиком: нажали на элементе, провели, отпустили. */\nexport function drag(target: Element, from: MouseEventInit, to: MouseEventInit): void {\n press(target, from)\n move(to)\n release(to)\n}\n","/**\n * Клавиатурные события в тестах.\n *\n * Существует ради одного флага: **`isComposing` не переживает\n * `wrapper.trigger('keydown', …)`**. `@vue/test-utils` собирает событие из\n * переданного объекта, но `isComposing` — свойство только для чтения на\n * `KeyboardEvent`, и присвоение молча теряется. Тест «Enter во время\n * IME-композиции ничего не коммитит» при такой записи проверяет обычный Enter,\n * то есть зеленеет на сломанном коде.\n *\n * Пакет читает флаг через `isComposingEvent` (`src/internal/keyboard.ts`) —\n * `event.isComposing || event.keyCode === 229`, потому что Safari до 16.4 не\n * ставил первое. Генератор ставит оба, иначе тест проверял бы половину предиката.\n *\n * Композиция — это не экзотика: пока пользователь набирает 日本語, 한국어 или\n * что угодно через IME, `Enter` подтверждает **выбор иероглифа**, а не действие\n * виджета. Компонент, который на нём выберет опцию или отправит форму, у такого\n * пользователя неработоспособен.\n */\n\nexport type KeyboardEventOptions = KeyboardEventInit & { key: string }\n\n/** Клавиатурное событие с разумными умолчаниями (всплывает, отменяемо). */\nexport function keyboardEvent(type: string, init: KeyboardEventOptions): KeyboardEvent {\n return new KeyboardEvent(type, { bubbles: true, cancelable: true, ...init })\n}\n\n/** Нажатие клавиши в элемент. */\nexport function keydown(target: Element, key: string, init: KeyboardEventInit = {}): KeyboardEvent {\n const event = keyboardEvent('keydown', { key, ...init })\n target.dispatchEvent(event)\n return event\n}\n\n/**\n * Нажатие во время IME-композиции. Отдельная функция, а не флаг у `keydown`:\n * из имени в тесте видно, что проверяется, а `keyCode: 229` не приходится\n * помнить на каждом вызове.\n */\nexport function composingKeydown(target: Element, key: string, init: KeyboardEventInit = {}): KeyboardEvent {\n return keydown(target, key, { isComposing: true, keyCode: 229, ...init })\n}\n","/**\n * Геометрия в jsdom.\n *\n * Раскладки в jsdom нет: `getBoundingClientRect` у любого элемента возвращает\n * нули. Всё, что считает попадание указателя — слайдер, сплиттер, перестановка,\n * ширины колонок таблицы, — на нулевом прямоугольнике проверять не на чем,\n * поэтому геометрия задаётся руками.\n */\n\nexport type MockRect = Partial<Omit<DOMRect, 'toJSON'>>\n\n/** Прямоугольник элемента. Незаданные стороны выводятся из заданных. */\nexport function mockRect(target: Element, rect: MockRect): void {\n const left = rect.left ?? rect.x ?? 0\n const top = rect.top ?? rect.y ?? 0\n const width = rect.width ?? (rect.right ?? 0) - left\n const height = rect.height ?? (rect.bottom ?? 0) - top\n\n const value: DOMRect = {\n x: left,\n y: top,\n left,\n top,\n width,\n height,\n right: rect.right ?? left + width,\n bottom: rect.bottom ?? top + height,\n toJSON: () => ({}),\n }\n\n target.getBoundingClientRect = () => value\n}\n\nexport interface StackRectsOptions {\n /** Размер элемента вдоль оси. */\n size: number\n /** Ось раскладки. По умолчанию вертикальная — так лежат списки и строки. */\n axis?: 'vertical' | 'horizontal'\n /** Смещение первого элемента. */\n start?: number\n /** Размер поперёк оси. */\n cross?: number\n}\n\n/** Элементы подряд, встык, без зазоров: строки списка, ячейки шапки, деления шкалы. */\nexport function stackRects(targets: Iterable<Element>, options: StackRectsOptions): void {\n const { size, axis = 'vertical', start = 0, cross = 100 } = options\n\n let offset = start\n\n for (const target of targets) {\n mockRect(target, axis === 'vertical'\n ? { top: offset, height: size, left: 0, width: cross }\n : { left: offset, width: size, top: 0, height: cross })\n\n offset += size\n }\n}\n","import { resetAnnouncer } from '../composables/useAnnouncer'\nimport { resetPortalRoot } from '../composables/internal/portalRoot'\nimport { useToast } from '../composables/useToast'\n\n/**\n * Уборка между тестами.\n *\n * `document.body.innerHTML = ''` сам по себе оставляет пакет в разобранном\n * состоянии: корень портала и хост живого региона закэшированы модулями, и\n * после очистки `body` они указывают на узлы **вне документа**. Следующий\n * монтаж телепортирует туда оверлеи, тест ищет их в документе и не находит —\n * без единой ошибки в консоли. Очередь тостов переживает размонтирование по\n * замыслу, поэтому её тоже гасим.\n */\nexport function resetGranularityDom(): void {\n useToast().clear()\n resetAnnouncer()\n resetPortalRoot()\n\n if (typeof document !== 'undefined')\n document.body.innerHTML = ''\n}\n\nexport interface StubMatchMediaOptions {\n /** Ответ на `(prefers-reduced-motion: reduce)`. */\n reducedMotion?: boolean\n /** Ответ на остальные запросы. */\n matches?: boolean\n}\n\n/**\n * Ответ `matchMedia` — например «пользователь просил меньше движения».\n *\n * Не для того, чтобы «не падало»: сам пакет зовёт `matchMedia` опционально и без\n * него живёт. Нужно, когда проверяется поведение **под** медиазапросом.\n * Возвращает функцию отката: глобальное состояние обязано уйти вместе с тестом.\n */\nexport function stubMatchMedia(options: StubMatchMediaOptions = {}): () => void {\n const { reducedMotion = false, matches = false } = options\n // Ссылка только сохраняется и возвращается на место — вызова в отрыве от\n // `window` нет, поэтому терять `this` тут нечему.\n // eslint-disable-next-line ts/unbound-method\n const original = window.matchMedia\n\n window.matchMedia = (query: string) => ({\n media: query,\n matches: query.includes('prefers-reduced-motion') ? reducedMotion : matches,\n onchange: null,\n addEventListener: () => {},\n removeEventListener: () => {},\n addListener: () => {},\n removeListener: () => {},\n dispatchEvent: () => false,\n })\n\n return () => {\n window.matchMedia = original\n }\n}\n","import { computed, ref, type Ref } from 'vue'\n\nimport { GR_CONFIG_KEY, type GrComponentDefaults, type GrComponentSize, type GrConfigContext } from '../components/GrConfigProvider/context'\nimport { GRANULARITY_I18N_KEY, type GranularityI18nAdapter, type GranularityI18nParams } from '../i18n/adapter'\n\nexport interface I18nAdapterOptions {\n /** Перевод по ключу. По умолчанию — сам ключ: видно, что спросили. */\n t?: (key: string, params?: GranularityI18nParams) => string\n te?: (key: string) => boolean\n locale?: string | Ref<string>\n}\n\n/** Адаптер перевода для теста: словарь или своя функция. */\nexport function i18nAdapter(options: I18nAdapterOptions | Record<string, string> = {}): GranularityI18nAdapter {\n const isDictionary = typeof (options as I18nAdapterOptions).t !== 'function'\n && !('locale' in options)\n && !('te' in options)\n\n if (isDictionary) {\n const dictionary = options as Record<string, string>\n\n return {\n t: key => dictionary[key] ?? key,\n te: key => key in dictionary,\n }\n }\n\n const { t, te, locale } = options as I18nAdapterOptions\n\n return {\n t: t ?? (key => key),\n te,\n locale: typeof locale === 'string' ? ref(locale) : locale,\n }\n}\n\nexport interface GranularityGlobalOptions {\n size?: GrComponentSize\n componentDefaults?: GrComponentDefaults\n theme?: string\n portalTarget?: string | HTMLElement\n /** Адаптер перевода: готовый, словарь `{ ключ: перевод }` или опции `i18nAdapter`. */\n i18n?: GranularityI18nAdapter | I18nAdapterOptions | Record<string, string>\n}\n\n/**\n * Окружение пакета для монтирования — то, что `<GrConfigProvider>` раздаёт\n * через `provide`.\n *\n * Отдаётся объектом, а не компонентом-обёрткой, намеренно: провайдер тянет за\n * собой лишний корневой элемент, а искать компонент внутри чужой разметки в\n * каждом тесте дороже, чем передать `global`. Проверять **сам** провайдер\n * (`data-gr-config-provider`, тема на корне) этим нельзя и не нужно — для этого\n * его и монтируют.\n *\n * ```ts\n * mount(GrSelect, { props, global: granularityGlobal({ size: 'sm' }) })\n * ```\n */\nexport function granularityGlobal(options: GranularityGlobalOptions = {}): { provide: Record<symbol, unknown> } {\n const config: GrConfigContext = {\n size: computed(() => options.size),\n componentDefaults: computed(() => options.componentDefaults ?? {}),\n theme: computed(() => options.theme),\n portalTarget: computed(() => options.portalTarget),\n }\n\n const provide: Record<symbol, unknown> = { [GR_CONFIG_KEY]: config }\n\n if (options.i18n) {\n provide[GRANULARITY_I18N_KEY] = 't' in options.i18n && typeof options.i18n.t === 'function'\n ? options.i18n\n : i18nAdapter(options.i18n)\n }\n\n return { provide }\n}\n","import type { GrAnnouncerPoliteness } from '../composables/useAnnouncer'\n\n/**\n * Текст живого региона.\n *\n * Ждать здесь обязательно: `announce` пишет в регион **отложенным** макротаском,\n * и это не деталь реализации, а условие работы. Регион, в котором текст\n * появился в том же кадре, что и сам регион, часть AT не объявляет вовсе;\n * поэтому синхронное чтение сразу после действия покажет пустую строку.\n */\nexport async function announced(politeness: GrAnnouncerPoliteness = 'polite'): Promise<string> {\n await new Promise(resolve => setTimeout(resolve, 2))\n\n return document.querySelector(`[data-gr-announcer-region=\"${politeness}\"]`)?.textContent ?? ''\n}\n"],"mappings":"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"}
|
|
@@ -87,9 +87,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
87
87
|
scrollBehavior: string;
|
|
88
88
|
initialFocus: null;
|
|
89
89
|
}>>> & Readonly<{
|
|
90
|
+
onClosed?: (() => any) | undefined;
|
|
90
91
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
91
92
|
onOpened?: (() => any) | undefined;
|
|
92
|
-
onClosed?: (() => any) | undefined;
|
|
93
93
|
}>, {
|
|
94
94
|
size: GrDialogSize;
|
|
95
95
|
title: string;
|
|
@@ -104,9 +104,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
104
104
|
initialFocus: null;
|
|
105
105
|
closeLabel: undefined;
|
|
106
106
|
}>>> & Readonly<{
|
|
107
|
+
onClosed?: (() => any) | undefined;
|
|
107
108
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
108
109
|
onOpened?: (() => any) | undefined;
|
|
109
|
-
onClosed?: (() => any) | undefined;
|
|
110
110
|
}>, {
|
|
111
111
|
size: GrDrawerSize;
|
|
112
112
|
side: GrDrawerSide;
|
|
@@ -65,9 +65,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
65
65
|
ariaLabel: undefined;
|
|
66
66
|
initialFocus: null;
|
|
67
67
|
}>>> & Readonly<{
|
|
68
|
+
onClosed?: (() => any) | undefined;
|
|
68
69
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
69
70
|
onOpened?: (() => any) | undefined;
|
|
70
|
-
onClosed?: (() => any) | undefined;
|
|
71
71
|
}>, {
|
|
72
72
|
size: GrModalSize;
|
|
73
73
|
scrollBehavior: GrModalScrollBehavior;
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
* видит слои из **разных деревьев рендера** (диалоги `useDialogService`
|
|
23
23
|
* монтируются отдельным `render()` в `body`) и знает их корни.
|
|
24
24
|
*/
|
|
25
|
+
import type { GrLayerFocus } from '../../internal/devHook';
|
|
25
26
|
export interface OverlayLayer {
|
|
26
27
|
/** Уникальный id зарегистрированного слоя. */
|
|
27
28
|
id: number;
|
|
@@ -52,6 +53,16 @@ export interface OverlayLayer {
|
|
|
52
53
|
* вне DOM-поддерева окна, но для пользователя это тот же слой.
|
|
53
54
|
*/
|
|
54
55
|
root?: () => HTMLElement | null;
|
|
56
|
+
/**
|
|
57
|
+
* Компонент, открывший слой. Только для наблюдателя: стеку он не нужен, но
|
|
58
|
+
* без него слой в панели — безымянный номер.
|
|
59
|
+
*/
|
|
60
|
+
owner?: string | null;
|
|
61
|
+
/**
|
|
62
|
+
* Картина фокуса глазами самого слоя. Геттер, а не значение: она меняется от
|
|
63
|
+
* каждого клика, а спрашивают её только в момент снимка.
|
|
64
|
+
*/
|
|
65
|
+
describeFocus?: () => GrLayerFocus | null;
|
|
55
66
|
}
|
|
56
67
|
/** Регистрирует слой как верхний и возвращает его id. */
|
|
57
68
|
export declare function pushOverlayLayer(layer: Omit<OverlayLayer, 'id'>): number;
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dev-канал ядра: наружу отдаётся то, чего иначе не увидеть — состояние
|
|
3
|
+
* приватных синглтонов пакета.
|
|
4
|
+
*
|
|
5
|
+
* Первый и пока единственный поставщик — стек слоёв
|
|
6
|
+
* (`composables/internal/overlayStack.ts`). Он приватен намеренно: один список
|
|
7
|
+
* отвечает сразу на три вопроса (кому Esc, кто под `inert`, чья высота), и
|
|
8
|
+
* публичный доступ к нему означал бы обязательство держать эту форму. Канал
|
|
9
|
+
* снимает противоречие: снаружи видно картину, но не рычаги.
|
|
10
|
+
*
|
|
11
|
+
* Существует только под `__GR_DEV__` — вызывающие обязаны обернуть эмит гардом,
|
|
12
|
+
* тогда у потребителя ветка выкидывается вместе с этим модулем.
|
|
13
|
+
*
|
|
14
|
+
* Хук нарочно «глупый»: голые `events` и `listeners` вместо методов. Создать
|
|
15
|
+
* такой объект умеет и слушатель (панель подключается раньше или позже ядра —
|
|
16
|
+
* порядок не гарантирован), а логика эмита при этом живёт в одном месте, здесь.
|
|
17
|
+
*/
|
|
18
|
+
/** Фокус вокруг слоя: то, чего не видно ни в DOM, ни в браузерном инспекторе. */
|
|
19
|
+
export interface GrLayerFocus {
|
|
20
|
+
/** Фокус сейчас внутри слоя. */
|
|
21
|
+
inside: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Вернётся ли фокус при закрытии. Правило нетривиальное — «только если на
|
|
24
|
+
* момент закрытия фокус ещё внутри слоя», — и снаружи непроверяемо.
|
|
25
|
+
*/
|
|
26
|
+
willRestore: boolean;
|
|
27
|
+
/** Куда вернётся: описание элемента, а не ссылка (буфер не должен держать DOM). */
|
|
28
|
+
restoreTo: string | null;
|
|
29
|
+
}
|
|
30
|
+
/** Слой оверлея в том виде, в каком его видит наблюдатель. */
|
|
31
|
+
export interface GrOverlaySnapshot {
|
|
32
|
+
id: number;
|
|
33
|
+
/** Компонент, открывший слой: `GrSelect`, `GrModal`. `null` — слой заведён вне компонента. */
|
|
34
|
+
owner: string | null;
|
|
35
|
+
focus: GrLayerFocus | null;
|
|
36
|
+
modal: boolean;
|
|
37
|
+
/** Верхний слой любого рода: ему адресован Esc. */
|
|
38
|
+
topmostForEscape: boolean;
|
|
39
|
+
/** Модальный слой ниже последнего модального — тот, что уходит в `inert`. */
|
|
40
|
+
inert: boolean;
|
|
41
|
+
/** Позиция среди модальных, от нуля. У немодальных глубины нет. */
|
|
42
|
+
depth: number | null;
|
|
43
|
+
/** Закроется ли слой по Esc прямо сейчас (`closeOnEsc` реактивен). */
|
|
44
|
+
closesOnEscape: boolean;
|
|
45
|
+
}
|
|
46
|
+
export type GrDevEvent = {
|
|
47
|
+
type: 'overlay:sync';
|
|
48
|
+
layers: GrOverlaySnapshot[];
|
|
49
|
+
} | {
|
|
50
|
+
type: 'overlay:push';
|
|
51
|
+
id: number;
|
|
52
|
+
modal: boolean;
|
|
53
|
+
owner: string | null;
|
|
54
|
+
} | {
|
|
55
|
+
type: 'overlay:remove';
|
|
56
|
+
id: number;
|
|
57
|
+
} | {
|
|
58
|
+
type: 'overlay:escape';
|
|
59
|
+
id: number;
|
|
60
|
+
closed: boolean;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Окно виртуализатора глазами наблюдателя.
|
|
64
|
+
*
|
|
65
|
+
* Число узлов в DOM браузер покажет и сам; невидимо другое — какие индексы
|
|
66
|
+
* отрисованы, сколько всего элементов и насколько оценка высоты разошлась с
|
|
67
|
+
* замером. Расхождение и есть тихий дефект: список начинает прыгать, а узлов
|
|
68
|
+
* по-прежнему «правильные десятки».
|
|
69
|
+
*/
|
|
70
|
+
export interface GrVirtualListSnapshot {
|
|
71
|
+
/** Компонент, которому принадлежит список. */
|
|
72
|
+
owner: string | null;
|
|
73
|
+
/** `uid` инстанса: панель связывает снимок с выбранным компонентом. */
|
|
74
|
+
uid: number | null;
|
|
75
|
+
total: number;
|
|
76
|
+
rendered: number;
|
|
77
|
+
range: {
|
|
78
|
+
start: number;
|
|
79
|
+
end: number;
|
|
80
|
+
};
|
|
81
|
+
/** Оценка высоты элемента, с которой список считает окно. */
|
|
82
|
+
estimated: number;
|
|
83
|
+
/** Средний фактический замер; `null` — пока ничего не измерено. */
|
|
84
|
+
measured: number | null;
|
|
85
|
+
}
|
|
86
|
+
export interface GrDevHook {
|
|
87
|
+
/** Последние события — чтобы подключившийся позже не начинал с пустого экрана. */
|
|
88
|
+
events: GrDevEvent[];
|
|
89
|
+
listeners: Set<(event: GrDevEvent) => void>;
|
|
90
|
+
/**
|
|
91
|
+
* Глубина буфера, если наблюдатель попросил другую. Ставит её он же: сколько
|
|
92
|
+
* истории нужно, знает только тот, кто её читает.
|
|
93
|
+
*/
|
|
94
|
+
bufferLimit?: number;
|
|
95
|
+
/**
|
|
96
|
+
* Живые виртуализаторы. Реестр, а не событие: окно меняется на каждый кадр
|
|
97
|
+
* прокрутки, и слать его лентой значило бы залить канал.
|
|
98
|
+
*/
|
|
99
|
+
virtualLists?: Set<() => GrVirtualListSnapshot>;
|
|
100
|
+
/**
|
|
101
|
+
* Свежий снимок стека по требованию.
|
|
102
|
+
*
|
|
103
|
+
* События дают картину на момент изменения стека, а часть состояния меняется
|
|
104
|
+
* между ними: фокус уходит из слоя от обычного клика, и ни одного события при
|
|
105
|
+
* этом не случается. Наблюдателю нужно спросить «как сейчас», а не «как было
|
|
106
|
+
* при последнем push».
|
|
107
|
+
*/
|
|
108
|
+
readLayers?: () => GrOverlaySnapshot[];
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Регистрирует виртуализатор в реестре наблюдателя. Возвращает снятие —
|
|
112
|
+
* список обязан исчезнуть вместе с компонентом.
|
|
113
|
+
*/
|
|
114
|
+
export declare function registerGrVirtualList(read: () => GrVirtualListSnapshot): () => void;
|
|
115
|
+
/** Ядро отдаёт наблюдателю читалку стека. Вызывается один раз, из стека слоёв. */
|
|
116
|
+
export declare function provideGrDevLayers(read: () => GrOverlaySnapshot[]): void;
|
|
117
|
+
export declare function emitGrDevEvent(event: GrDevEvent): void;
|
|
118
|
+
/** Сброс канала между тестами: буфер и подписчики живут в `globalThis`. */
|
|
119
|
+
export declare function resetGrDevHook(): void;
|