@feugene/granularity 0.48.0 → 0.50.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 +3 -3
- package/dist/chunks/chevron-up-BhW6hi8L.js +23 -0
- package/dist/chunks/chevron-up-BhW6hi8L.js.map +1 -0
- package/dist/chunks/{config-E1cTyRVV.js → config-8n1VR0ju.js} +1 -1
- package/dist/chunks/{config-E1cTyRVV.js.map → config-8n1VR0ju.js.map} +1 -1
- package/dist/chunks/{config-2vrOFn2f.js → config-AKpLyIGD.js} +2 -2
- package/dist/chunks/{config-2vrOFn2f.js.map → config-AKpLyIGD.js.map} +1 -1
- package/dist/chunks/{config-DIDz_E5m.js → config-B34mkd53.js} +66 -1
- package/dist/chunks/config-B34mkd53.js.map +1 -0
- package/dist/chunks/{config-B5SBUa6u.js → config-B7qZqiUB.js} +28 -1
- package/dist/chunks/config-B7qZqiUB.js.map +1 -0
- package/dist/chunks/config-BBrPUEye.js +8 -0
- package/dist/chunks/config-BBrPUEye.js.map +1 -0
- package/dist/chunks/config-BBtBQE3s.js +108 -0
- package/dist/chunks/config-BBtBQE3s.js.map +1 -0
- package/dist/chunks/{config-CT4lP6S4.js → config-BOCzHqWh.js} +2 -2
- package/dist/chunks/{config-CT4lP6S4.js.map → config-BOCzHqWh.js.map} +1 -1
- package/dist/chunks/{config-iemgzS4x.js → config-BP1ktzwh.js} +2 -24
- package/dist/chunks/config-BP1ktzwh.js.map +1 -0
- package/dist/chunks/config-BTxmdRzT.js +28 -0
- package/dist/chunks/config-BTxmdRzT.js.map +1 -0
- package/dist/chunks/{config-CjWOTgLL.js → config-Bk52xd5l.js} +12 -5
- package/dist/chunks/config-Bk52xd5l.js.map +1 -0
- package/dist/chunks/{config-D3HOuHDe.js → config-C3SqBqSQ.js} +3 -1
- package/dist/chunks/config-C3SqBqSQ.js.map +1 -0
- package/dist/chunks/{config-2ZHRsdOc.js → config-C3uqd-sW.js} +1 -1
- package/dist/chunks/config-C3uqd-sW.js.map +1 -0
- package/dist/chunks/{config-BXRmsn3t.js → config-CPhcZzHi.js} +72 -10
- package/dist/chunks/config-CPhcZzHi.js.map +1 -0
- package/dist/chunks/config-CWtfxkM9.js.map +1 -1
- package/dist/chunks/{config--t2dxj0t.js → config-CmLTCmY9.js} +2 -2
- package/dist/chunks/{config--t2dxj0t.js.map → config-CmLTCmY9.js.map} +1 -1
- package/dist/chunks/{config-BAse0laT.js → config-CvtqB4ki.js} +8 -3
- package/dist/chunks/config-CvtqB4ki.js.map +1 -0
- package/dist/chunks/{config-BcXX7S7B.js → config-D-JgqV0J.js} +5 -1
- package/dist/chunks/{config-BcXX7S7B.js.map → config-D-JgqV0J.js.map} +1 -1
- package/dist/chunks/{config-BHLMTJaR.js → config-D1oVht-E.js} +8 -3
- package/dist/chunks/config-D1oVht-E.js.map +1 -0
- package/dist/chunks/{config-BscVxZR3.js → config-DF1ezU6y.js} +1 -1
- package/dist/chunks/{config-BscVxZR3.js.map → config-DF1ezU6y.js.map} +1 -1
- package/dist/chunks/{config-B42iJ48O.js → config-DG41PD9i.js} +13 -1
- package/dist/chunks/config-DG41PD9i.js.map +1 -0
- package/dist/chunks/{config-Bs1HwUcx.js → config-DPJ3jtiB.js} +12 -2
- package/dist/chunks/config-DPJ3jtiB.js.map +1 -0
- package/dist/chunks/{config-tNqtapcT.js → config-DpqjlCfB.js} +2 -2
- package/dist/chunks/{config-tNqtapcT.js.map → config-DpqjlCfB.js.map} +1 -1
- package/dist/chunks/{config-DNDgp9bB.js → config-DpzFoSIh.js} +64 -2
- package/dist/chunks/config-DpzFoSIh.js.map +1 -0
- package/dist/chunks/config-MUkhktTP.js +267 -0
- package/dist/chunks/config-MUkhktTP.js.map +1 -0
- package/dist/chunks/config-SPugeaHT.js +37 -0
- package/dist/chunks/config-SPugeaHT.js.map +1 -0
- package/dist/chunks/{en-Bxyn5lW7.js → en-mIFywnV2.js} +27 -7
- package/dist/chunks/en-mIFywnV2.js.map +1 -0
- package/dist/chunks/{es-Dtl-a7ui.js → es-CvthYwtB.js} +27 -7
- package/dist/chunks/es-CvthYwtB.js.map +1 -0
- package/dist/chunks/{es-Bj_vc18Z.js → es-DlGd6Mrj.js} +3 -3
- package/dist/chunks/{es-Bj_vc18Z.js.map → es-DlGd6Mrj.js.map} +1 -1
- package/dist/chunks/{generated-hELWB0gZ.js → generated-Cx4C7GRN.js} +126 -0
- package/dist/chunks/{generated-hELWB0gZ.js.map → generated-Cx4C7GRN.js.map} +1 -1
- package/dist/chunks/{grBadgeStyles-DV0DrAew.js → grBadgeStyles-D51AXbj5.js} +57 -1
- package/dist/chunks/grBadgeStyles-D51AXbj5.js.map +1 -0
- package/dist/chunks/{grChipStyles-DcDyxAL0.js → grChipStyles-CA9Wj1_E.js} +1 -1
- package/dist/chunks/{grChipStyles-DcDyxAL0.js.map → grChipStyles-CA9Wj1_E.js.map} +1 -1
- package/dist/chunks/{grPopoverStyles-CYAeO3Ov.js → grPopoverStyles-CncEkiPu.js} +1 -1
- package/dist/chunks/{grPopoverStyles-CYAeO3Ov.js.map → grPopoverStyles-CncEkiPu.js.map} +1 -1
- package/dist/chunks/{grSelectStyles-D9EQ-pgK.js → grSelectStyles-Cam-IG9s.js} +3 -2
- package/dist/chunks/grSelectStyles-Cam-IG9s.js.map +1 -0
- package/dist/chunks/{grSliderStyles-kaz6VXZ3.js → grSliderStyles-CqzV0hll.js} +1 -1
- package/dist/chunks/grSliderStyles-CqzV0hll.js.map +1 -0
- package/dist/chunks/{config-CbEbLyDE.js → grSortableListStyles-CxieDmpe.js} +1 -27
- package/dist/chunks/grSortableListStyles-CxieDmpe.js.map +1 -0
- package/dist/chunks/grTableStyles-CPSxDTOW.js +66 -0
- package/dist/chunks/grTableStyles-CPSxDTOW.js.map +1 -0
- package/dist/chunks/{config-CMNfZO7S.js → grTabsStyles-DIz2VdIm.js} +1 -36
- package/dist/chunks/grTabsStyles-DIz2VdIm.js.map +1 -0
- package/dist/chunks/grTooltipStyles-CtbGEEGV.js +24 -0
- package/dist/chunks/grTooltipStyles-CtbGEEGV.js.map +1 -0
- package/dist/chunks/{granular-provider-BOQp7N5o.js → granular-provider-cv5vaM1a.js} +26 -22
- package/dist/chunks/granular-provider-cv5vaM1a.js.map +1 -0
- package/dist/chunks/hotkeySequence-BTHIM_5A.js +46 -0
- package/dist/chunks/hotkeySequence-BTHIM_5A.js.map +1 -0
- package/dist/chunks/{keyboard-DE2yhz_b.js → keyboard-BiFSgWLt.js} +70 -1
- package/dist/chunks/keyboard-BiFSgWLt.js.map +1 -0
- package/dist/chunks/optionPanel-DvY7Tv_4.js +182 -0
- package/dist/chunks/optionPanel-DvY7Tv_4.js.map +1 -0
- package/dist/chunks/overlayListPanel-D91jBCHU.js +21 -0
- package/dist/chunks/overlayListPanel-D91jBCHU.js.map +1 -0
- package/dist/chunks/{overlayStack-DH4Z7am1.js → overlayStack-DCkCgXZP.js} +1 -1
- package/dist/chunks/{overlayStack-DH4Z7am1.js.map → overlayStack-DCkCgXZP.js.map} +1 -1
- package/dist/chunks/{overlayPanelSurface-BKeMhRx4.js → overlayTransition-C0FDMx7Q.js} +24 -24
- package/dist/chunks/overlayTransition-C0FDMx7Q.js.map +1 -0
- package/dist/chunks/{ru-hrB4I1u_.js → ru-CQKDR-kD.js} +27 -7
- package/dist/chunks/ru-CQKDR-kD.js.map +1 -0
- package/dist/chunks/{safelist-x8USecK8.js → safelist-CSfynUC1.js} +5 -1
- package/dist/chunks/safelist-CSfynUC1.js.map +1 -0
- package/dist/chunks/{useMenuItemsFocus-B7Bl_aFA.js → useMenuItemsFocus-C031blYS.js} +1 -1
- package/dist/chunks/{useMenuItemsFocus-B7Bl_aFA.js.map → useMenuItemsFocus-C031blYS.js.map} +1 -1
- package/dist/chunks/{useModalOverlay-ACRkflzx.js → useModalOverlay-CKCQkGdB.js} +1 -1
- package/dist/chunks/{useModalOverlay-ACRkflzx.js.map → useModalOverlay-CKCQkGdB.js.map} +1 -1
- package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-C-uovdv8.js → GrAutocomplete-Cyr1-ENw.js} +183 -125
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-Cyr1-ENw.js.map +1 -0
- package/dist/components/GrAutocomplete/index.js +2 -2
- package/dist/components/GrAutocomplete/styles.css +1 -1
- package/dist/components/GrBadge/chunks/GrBadge-C42KLyUD.js +71 -0
- package/dist/components/GrBadge/chunks/GrBadge-C42KLyUD.js.map +1 -0
- package/dist/components/GrBadge/index.js +3 -3
- package/dist/components/GrBadge/styles.css +1 -1
- package/dist/components/GrCarousel/chunks/{GrCarousel-ByuughtI.js → GrCarousel-CBj-PEPB.js} +186 -37
- package/dist/components/GrCarousel/chunks/GrCarousel-CBj-PEPB.js.map +1 -0
- package/dist/components/GrCarousel/index.js +2 -2
- package/dist/components/GrCarousel/styles.css +1 -1
- package/dist/components/GrCheckbox/chunks/{GrCheckbox-Dp201frb.js → GrCheckbox-B4NJc7Ur.js} +2 -1
- package/dist/components/GrCheckbox/chunks/GrCheckbox-B4NJc7Ur.js.map +1 -0
- package/dist/components/GrCheckbox/index.js +1 -1
- package/dist/components/GrCheckboxGroup/chunks/{GrCheckboxGroup-IpqG5qwm.js → GrCheckboxGroup-qZHpNFCX.js} +1 -1
- package/dist/components/GrCheckboxGroup/chunks/{GrCheckboxGroup-IpqG5qwm.js.map → GrCheckboxGroup-qZHpNFCX.js.map} +1 -1
- package/dist/components/GrCheckboxGroup/index.js +1 -1
- package/dist/components/GrChip/chunks/{GrChip-CKqyzYcv.js → GrChip-DoyS1Dr4.js} +1 -1
- package/dist/components/GrChip/chunks/{GrChip-CKqyzYcv.js.map → GrChip-DoyS1Dr4.js.map} +1 -1
- package/dist/components/GrChip/index.js +2 -2
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-BRM_4lyI.js → GrColorPicker-vGSgpUV9.js} +353 -38
- package/dist/components/GrColorPicker/chunks/GrColorPicker-vGSgpUV9.js.map +1 -0
- package/dist/components/GrColorPicker/index.js +2 -2
- package/dist/components/GrColorPicker/styles.css +1 -1
- package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-BJHmkDQv.js → GrCommandPalette-CAHgj0Aa.js} +23 -7
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-CAHgj0Aa.js.map +1 -0
- package/dist/components/GrCommandPalette/index.js +1 -1
- package/dist/components/GrCommandPalette/styles.css +1 -1
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-BzUQwbec.js → GrConfirmDialog-dg021BMd.js} +1 -1
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-BzUQwbec.js.map → GrConfirmDialog-dg021BMd.js.map} +1 -1
- package/dist/components/GrConfirmDialog/index.js +1 -1
- package/dist/components/GrContextMenu/chunks/{GrContextMenu-RpxMHQXH.js → GrContextMenu-bQ1Vvy2c.js} +3 -3
- package/dist/components/GrContextMenu/chunks/{GrContextMenu-RpxMHQXH.js.map → GrContextMenu-bQ1Vvy2c.js.map} +1 -1
- package/dist/components/GrContextMenu/index.js +1 -1
- package/dist/components/GrDataTable/chunks/{GrDataTable-DQxYYgQk.js → GrDataTable-Bb2jWnRG.js} +576 -136
- package/dist/components/GrDataTable/chunks/GrDataTable-Bb2jWnRG.js.map +1 -0
- package/dist/components/GrDataTable/index.js +2 -2
- package/dist/components/GrDelta/chunks/{GrDelta-CgTvfoIN.js → GrDelta-BSv1KdMy.js} +0 -0
- package/dist/components/GrDelta/chunks/{GrDelta-CgTvfoIN.js.map → GrDelta-BSv1KdMy.js.map} +1 -1
- package/dist/components/GrDelta/index.js +2 -2
- package/dist/components/GrDialog/chunks/{GrDialog-DDz_OEhk.js → GrDialog-C9Zu72jB.js} +1 -1
- package/dist/components/GrDialog/chunks/{GrDialog-DDz_OEhk.js.map → GrDialog-C9Zu72jB.js.map} +1 -1
- package/dist/components/GrDialog/index.js +1 -1
- package/dist/components/GrDialogService/chunks/{GrDialogService-Dtq0ZCN5.js → GrDialogService-DLBifO61.js} +2 -2
- package/dist/components/GrDialogService/chunks/{GrDialogService-Dtq0ZCN5.js.map → GrDialogService-DLBifO61.js.map} +1 -1
- package/dist/components/GrDialogService/index.js +1 -1
- package/dist/components/GrDrawer/chunks/{GrDrawer-CNpSMuN-.js → GrDrawer-DOcRTE8G.js} +1 -1
- package/dist/components/GrDrawer/chunks/{GrDrawer-CNpSMuN-.js.map → GrDrawer-DOcRTE8G.js.map} +1 -1
- package/dist/components/GrDrawer/index.js +1 -1
- package/dist/components/GrDropdown/chunks/{GrDropdown-cLZuZMEY.js → GrDropdown-kxwmgfSe.js} +2 -2
- package/dist/components/GrDropdown/chunks/{GrDropdown-cLZuZMEY.js.map → GrDropdown-kxwmgfSe.js.map} +1 -1
- package/dist/components/GrDropdown/index.js +2 -2
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-Dxkz_ry4.js → GrDropdownMenu--VoK3VY0.js} +3 -34
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu--VoK3VY0.js.map +1 -0
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-CkM3BFPL.js +34 -0
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-CkM3BFPL.js.map +1 -0
- package/dist/components/GrDropdownMenu/index.js +2 -1
- package/dist/components/GrEmptyState/chunks/{GrEmptyState-BbvwE-E0.js → GrEmptyState-Bz6-_ED4.js} +42 -6
- package/dist/components/GrEmptyState/chunks/GrEmptyState-Bz6-_ED4.js.map +1 -0
- package/dist/components/GrEmptyState/index.js +1 -1
- package/dist/components/GrFileUpload/chunks/{GrFileUpload-BwMR71zN.js → GrFileUpload-Bgdfnkd8.js} +5 -2
- package/dist/components/GrFileUpload/chunks/GrFileUpload-Bgdfnkd8.js.map +1 -0
- package/dist/components/GrFileUpload/index.js +1 -1
- package/dist/components/GrFormFile/chunks/{GrFormFile-Dlxx-9zi.js → GrFormFile-Ctq1isz-.js} +78 -11
- package/dist/components/GrFormFile/chunks/GrFormFile-Ctq1isz-.js.map +1 -0
- package/dist/components/GrFormFile/index.js +2 -2
- package/dist/components/GrFormFile/styles.css +1 -1
- package/dist/components/GrImageViewer/chunks/{GrImageViewer-DK-iVHHC.js → GrImageViewer-Bnql_dNP.js} +1 -1
- package/dist/components/GrImageViewer/chunks/{GrImageViewer-DK-iVHHC.js.map → GrImageViewer-Bnql_dNP.js.map} +1 -1
- package/dist/components/GrImageViewer/index.js +1 -1
- package/dist/components/GrInput/chunks/{GrInput-DV4gMWPR.js → GrInput-CoaFLpaU.js} +43 -22
- package/dist/components/GrInput/chunks/GrInput-CoaFLpaU.js.map +1 -0
- package/dist/components/GrInput/index.js +1 -1
- package/dist/components/GrInputTag/chunks/{GrInputTag-CO0YU-ok.js → GrInputTag-BzzNRBe3.js} +247 -20
- package/dist/components/GrInputTag/chunks/GrInputTag-BzzNRBe3.js.map +1 -0
- package/dist/components/GrInputTag/index.js +2 -2
- package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-D7CyWzhT.js → GrJsonViewer-B6ZJ3GFH.js} +2 -2
- package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-D7CyWzhT.js.map → GrJsonViewer-B6ZJ3GFH.js.map} +1 -1
- package/dist/components/GrJsonViewer/index.js +1 -1
- package/dist/components/GrKbd/chunks/{GrKbd-BNMeoaLV.js → GrKbd-D2rHDkQv.js} +42 -37
- package/dist/components/GrKbd/chunks/GrKbd-D2rHDkQv.js.map +1 -0
- package/dist/components/GrKbd/index.js +1 -1
- package/dist/components/GrModal/chunks/{GrModal-Cm0mtSXk.js → GrModal-SHb1U2qx.js} +1 -1
- package/dist/components/GrModal/chunks/{GrModal-Cm0mtSXk.js.map → GrModal-SHb1U2qx.js.map} +1 -1
- package/dist/components/GrModal/index.js +1 -1
- package/dist/components/GrNavbar/chunks/{GrNavbar-BRGuksiy.js → GrNavbar-IEIHC5Vt.js} +10 -4
- package/dist/components/GrNavbar/chunks/GrNavbar-IEIHC5Vt.js.map +1 -0
- package/dist/components/GrNavbar/index.js +2 -2
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-BI6-vkcs.js → GrNumberInput-CmnUDaKi.js} +2 -22
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-BI6-vkcs.js.map → GrNumberInput-CmnUDaKi.js.map} +1 -1
- package/dist/components/GrNumberInput/index.js +1 -1
- package/dist/components/GrOtpInput/chunks/GrOtpInput-B_Q-RDLw.js +419 -0
- package/dist/components/GrOtpInput/chunks/GrOtpInput-B_Q-RDLw.js.map +1 -0
- package/dist/components/GrOtpInput/index.js +3 -0
- package/dist/components/GrOtpInput/styles.css +1 -0
- package/dist/components/GrPagination/chunks/{GrPagination-BbaF5eXk.js → GrPagination-AMbn5D8I.js} +1 -1
- package/dist/components/GrPagination/chunks/{GrPagination-BbaF5eXk.js.map → GrPagination-AMbn5D8I.js.map} +1 -1
- package/dist/components/GrPagination/index.js +1 -1
- package/dist/components/GrPopover/chunks/{GrPopover-CcWvr1ZA.js → GrPopover-DjVxt8bf.js} +3 -3
- package/dist/components/GrPopover/chunks/{GrPopover-CcWvr1ZA.js.map → GrPopover-DjVxt8bf.js.map} +1 -1
- package/dist/components/GrPopover/index.js +2 -2
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-BEL-QgwE.js → GrPromptDialog-BhbIZP1f.js} +3 -3
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-BEL-QgwE.js.map → GrPromptDialog-BhbIZP1f.js.map} +1 -1
- package/dist/components/GrPromptDialog/index.js +1 -1
- package/dist/components/GrSelect/chunks/{GrSelect-0iI4wdR_.js → GrSelect-B-ykrHpL.js} +26 -182
- package/dist/components/GrSelect/chunks/GrSelect-B-ykrHpL.js.map +1 -0
- package/dist/components/GrSelect/index.js +2 -2
- package/dist/components/GrSelect/styles.css +1 -1
- package/dist/components/GrSidebar/chunks/GrSidebar-jVvoLGDO.js +543 -0
- package/dist/components/GrSidebar/chunks/GrSidebar-jVvoLGDO.js.map +1 -0
- package/dist/components/GrSidebar/index.js +2 -2
- package/dist/components/GrSlider/chunks/{GrSlider-CO8N9SF6.js → GrSlider-DF2Cq0rV.js} +29 -4
- package/dist/components/GrSlider/chunks/GrSlider-DF2Cq0rV.js.map +1 -0
- package/dist/components/GrSlider/index.js +2 -2
- package/dist/components/GrSortableList/chunks/{GrSortableList-NKriuGm_.js → GrSortableList-ChH9nQBv.js} +1 -1
- package/dist/components/GrSortableList/chunks/{GrSortableList-NKriuGm_.js.map → GrSortableList-ChH9nQBv.js.map} +1 -1
- package/dist/components/GrSortableList/index.js +2 -2
- package/dist/components/GrSwitch/chunks/{GrSwitch-CriHWT2A.js → GrSwitch-D7X42uIA.js} +61 -7
- package/dist/components/GrSwitch/chunks/GrSwitch-D7X42uIA.js.map +1 -0
- package/dist/components/GrSwitch/index.js +2 -2
- package/dist/components/GrTabPanels/chunks/GrTabPanels-BDt5oVdd.js +30 -0
- package/dist/components/GrTabPanels/chunks/GrTabPanels-BDt5oVdd.js.map +1 -0
- package/dist/components/GrTabPanels/chunks/GrTabPanels-BJvAflnA.js +83 -0
- package/dist/components/GrTabPanels/chunks/GrTabPanels-BJvAflnA.js.map +1 -0
- package/dist/components/GrTabPanels/index.js +2 -1
- package/dist/components/GrTable/chunks/{GrTable-CKJ-HrsN.js → GrTable-BQitSDep.js} +52 -16
- package/dist/components/GrTable/chunks/GrTable-BQitSDep.js.map +1 -0
- package/dist/components/GrTable/index.js +2 -2
- package/dist/components/GrTabs/chunks/{GrTabs-s9RzC1WX.js → GrTabs-DVC6nfWB.js} +1 -1
- package/dist/components/GrTabs/chunks/{GrTabs-s9RzC1WX.js.map → GrTabs-DVC6nfWB.js.map} +1 -1
- package/dist/components/GrTabs/index.js +2 -2
- package/dist/components/GrTabsWithPanels/chunks/GrTabsWithPanels-BYtuzouj.js +98 -0
- package/dist/components/GrTabsWithPanels/chunks/GrTabsWithPanels-BYtuzouj.js.map +1 -0
- package/dist/components/GrTabsWithPanels/index.js +3 -0
- package/dist/components/GrTextarea/chunks/{GrTextarea-Bfgc0DD2.js → GrTextarea-BFwyqcHB.js} +22 -5
- package/dist/components/GrTextarea/chunks/GrTextarea-BFwyqcHB.js.map +1 -0
- package/dist/components/GrTextarea/index.js +1 -1
- package/dist/components/GrToaster/chunks/{GrToaster-CZixNk0l.js → GrToaster-OzT1VKcp.js} +163 -32
- package/dist/components/GrToaster/chunks/GrToaster-OzT1VKcp.js.map +1 -0
- package/dist/components/GrToaster/index.js +2 -2
- package/dist/components/GrToaster/styles.css +1 -1
- package/dist/components/GrTooltip/chunks/{GrTooltip-DkMMM0uq.js → GrTooltip-BDcFycvW.js} +26 -13
- package/dist/components/GrTooltip/chunks/GrTooltip-BDcFycvW.js.map +1 -0
- package/dist/components/GrTooltip/index.js +2 -2
- package/dist/components/GrTransfer/chunks/{GrTransfer-DdfBUf35.js → GrTransfer-CV7BL5UK.js} +114 -12
- package/dist/components/GrTransfer/chunks/GrTransfer-CV7BL5UK.js.map +1 -0
- package/dist/components/GrTransfer/index.js +1 -1
- package/dist/components/GrTransfer/styles.css +1 -1
- package/dist/components/GrTree/chunks/{GrTree-6yZrncJE.js → GrTree-DpgaP8hk.js} +39 -1
- package/dist/components/GrTree/chunks/GrTree-DpgaP8hk.js.map +1 -0
- package/dist/components/GrTree/index.js +1 -1
- package/dist/components/GrTree/styles.css +1 -1
- package/dist/components/GrTreeSections/chunks/{GrTreeSections-DcmDcLwj.js → GrTreeSections-BeOj__44.js} +1 -1
- package/dist/components/GrTreeSections/chunks/{GrTreeSections-DcmDcLwj.js.map → GrTreeSections-BeOj__44.js.map} +1 -1
- package/dist/components/GrTreeSections/index.js +1 -1
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-B6KoDYiZ.js → GrTreeSelect-BHq-T8wH.js} +113 -14
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-BHq-T8wH.js.map +1 -0
- package/dist/components/GrTreeSelect/index.js +2 -2
- package/dist/composables/useFloating.js +1 -1
- package/dist/composables/useHotkeys.js +89 -0
- package/dist/composables/useHotkeys.js.map +1 -0
- package/dist/composables/useOverlayLayer.js +1 -1
- package/dist/directives/hotkey.js +19 -46
- package/dist/directives/hotkey.js.map +1 -1
- package/dist/granular-provider-node.js +1 -1
- package/dist/granular-provider.js +1 -1
- package/dist/i18n/all.js +1 -1
- package/dist/i18n/index.js +1 -1
- package/dist/index.js +80 -71
- package/dist/theme.js +1 -1
- package/dist/tokens.js +1 -1
- package/dist/types/components/GrAutocomplete/GrAutocomplete.vue.d.ts +4 -4
- package/dist/types/components/GrAutocomplete/composables/useAutocompleteNavigation.d.ts +12 -3
- package/dist/types/components/GrAutocomplete/composables/useAutocompletePanel.d.ts +12 -2
- package/dist/types/components/GrAutocomplete/composables/useAutocompleteValues.d.ts +7 -4
- package/dist/types/components/GrAutocomplete/composables/useRemoteOptions.d.ts +4 -4
- package/dist/types/components/GrAutocomplete/grAutocompleteStyles.d.ts +15 -1
- package/dist/types/components/GrAutocomplete/index.d.ts +1 -1
- package/dist/types/components/GrBadge/GrBadge.vue.d.ts +15 -1
- package/dist/types/components/GrBadge/grBadgeStyles.d.ts +57 -0
- package/dist/types/components/GrBadge/index.d.ts +1 -1
- package/dist/types/components/GrCarousel/GrCarousel.vue.d.ts +29 -1
- package/dist/types/components/GrCarousel/composables/useCarouselSwipe.d.ts +5 -0
- package/dist/types/components/GrCarousel/grCarouselContext.d.ts +21 -0
- package/dist/types/components/GrCarousel/grCarouselStyles.d.ts +39 -9
- package/dist/types/components/GrCheckbox/GrCheckbox.vue.d.ts +13 -0
- package/dist/types/components/GrColorPicker/GrColorPicker.vue.d.ts +18 -2
- package/dist/types/components/GrColorPicker/color.d.ts +13 -1
- package/dist/types/components/GrColorPicker/colorArea.d.ts +59 -0
- package/dist/types/components/GrColorPicker/defaults.d.ts +3 -1
- package/dist/types/components/GrColorPicker/eyeDropper.d.ts +21 -0
- package/dist/types/components/GrColorPicker/grColorPickerStyles.d.ts +42 -0
- package/dist/types/components/GrCommandPalette/GrCommandPalette.vue.d.ts +10 -1
- package/dist/types/components/GrDataTable/GrDataTable.vue.d.ts +41 -1
- package/dist/types/components/GrDataTable/composables/useDataTableGridNavigation.d.ts +53 -0
- package/dist/types/components/GrDataTable/grDataTableStyles.d.ts +8 -0
- package/dist/types/components/GrDataTable/index.d.ts +1 -1
- package/dist/types/components/GrDelta/grDeltaStyles.d.ts +10 -3
- package/dist/types/components/GrEmptyState/GrEmptyState.vue.d.ts +11 -2
- package/dist/types/components/GrEmptyState/grEmptyStateStyles.d.ts +10 -0
- package/dist/types/components/GrEmptyState/index.d.ts +1 -1
- package/dist/types/components/GrFileUpload/GrFileUpload.vue.d.ts +2 -1
- package/dist/types/components/GrFormFile/GrFormFile.vue.d.ts +10 -0
- package/dist/types/components/GrInput/GrInput.vue.d.ts +15 -0
- package/dist/types/components/GrInputTag/GrInputTag.vue.d.ts +16 -0
- package/dist/types/components/GrInputTag/grInputTagStyles.d.ts +11 -0
- package/dist/types/components/GrKbd/GrKbd.vue.d.ts +14 -0
- package/dist/types/components/GrNavbar/GrNavbar.vue.d.ts +18 -0
- package/dist/types/components/GrNavbar/grNavbarStyles.d.ts +10 -1
- package/dist/types/components/GrNavbar/index.d.ts +1 -0
- package/dist/types/components/GrOtpInput/GrOtpInput.vue.d.ts +164 -0
- package/dist/types/components/GrOtpInput/config.d.ts +1 -0
- package/dist/types/components/GrOtpInput/defaults.d.ts +15 -0
- package/dist/types/components/GrOtpInput/grOtpInputStyles.d.ts +62 -0
- package/dist/types/components/GrOtpInput/index.d.ts +9 -0
- package/dist/types/components/GrOtpInput/otpValue.d.ts +71 -0
- package/dist/types/components/GrOtpInput/safelist.d.ts +7 -0
- package/dist/types/components/GrSelect/composables/useSelectPanelItems.d.ts +8 -34
- package/dist/types/components/GrSelect/composables/useSelectVirtualization.d.ts +7 -0
- package/dist/types/components/GrSelect/grSelectStyles.d.ts +1 -1
- package/dist/types/components/GrSidebar/GrSidebar.vue.d.ts +20 -0
- package/dist/types/components/GrSidebar/GrSidebarItem.vue.d.ts +39 -5
- package/dist/types/components/GrSidebar/grSidebarStyles.d.ts +32 -0
- package/dist/types/components/GrSidebar/index.d.ts +1 -1
- package/dist/types/components/GrSidebar/sidebarContext.d.ts +23 -1
- package/dist/types/components/GrSlider/GrSlider.vue.d.ts +39 -1
- package/dist/types/components/GrSlider/grSliderStyles.d.ts +1 -1
- package/dist/types/components/GrSwitch/GrSwitch.vue.d.ts +42 -4
- package/dist/types/components/GrSwitch/defaults.d.ts +2 -0
- package/dist/types/components/GrSwitch/grSwitchStyles.d.ts +129 -25
- package/dist/types/components/GrSwitch/index.d.ts +1 -1
- package/dist/types/components/GrSwitch/safelist.d.ts +4 -3
- package/dist/types/components/GrTabPanels/context.d.ts +6 -0
- package/dist/types/components/GrTable/GrTable.vue.d.ts +37 -0
- package/dist/types/components/GrTable/grTableStyles.d.ts +16 -7
- package/dist/types/components/GrTabsWithPanels/GrTabsWithPanels.vue.d.ts +77 -0
- package/dist/types/components/GrTabsWithPanels/config.d.ts +1 -0
- package/dist/types/components/GrTabsWithPanels/index.d.ts +4 -0
- package/dist/types/components/GrTextarea/GrTextarea.vue.d.ts +19 -1
- package/dist/types/components/GrToaster/GrToaster.vue.d.ts +12 -0
- package/dist/types/components/GrToaster/grToasterStyles.d.ts +26 -0
- package/dist/types/components/GrTooltip/GrTooltip.vue.d.ts +22 -0
- package/dist/types/components/GrTransfer/GrTransfer.vue.d.ts +23 -0
- package/dist/types/components/GrTreeSelect/grTreeSelectStyles.d.ts +1 -1
- package/dist/types/components/GrTreeSelect/grTreeSelectTypes.d.ts +20 -0
- package/dist/types/components/shared/hotkey.d.ts +8 -9
- package/dist/types/components/shared/optionPanel.d.ts +100 -0
- package/dist/types/components/shared/overlayListPanel.d.ts +18 -0
- package/dist/types/composables/useHotkeys.d.ts +43 -0
- package/dist/types/granular-provider/shared.d.ts +2 -0
- package/dist/types/i18n/messages/en.d.ts +32 -0
- package/dist/types/i18n/messages/es.d.ts +32 -0
- package/dist/types/i18n/messages/ru.d.ts +32 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/internal/hotkeySequence.d.ts +22 -0
- package/dist/types/internal/keyboard.d.ts +45 -0
- package/dist/web-types.json +784 -101
- package/package.json +13 -1
- package/dist/chunks/config-2ZHRsdOc.js.map +0 -1
- package/dist/chunks/config-B42iJ48O.js.map +0 -1
- package/dist/chunks/config-B5SBUa6u.js.map +0 -1
- package/dist/chunks/config-BAse0laT.js.map +0 -1
- package/dist/chunks/config-BHLMTJaR.js.map +0 -1
- package/dist/chunks/config-BXRmsn3t.js.map +0 -1
- package/dist/chunks/config-Bs1HwUcx.js.map +0 -1
- package/dist/chunks/config-CMNfZO7S.js.map +0 -1
- package/dist/chunks/config-CbEbLyDE.js.map +0 -1
- package/dist/chunks/config-CjWOTgLL.js.map +0 -1
- package/dist/chunks/config-D3HOuHDe.js.map +0 -1
- package/dist/chunks/config-DIDz_E5m.js.map +0 -1
- package/dist/chunks/config-DNDgp9bB.js.map +0 -1
- package/dist/chunks/config-Yy67uWHY.js +0 -140
- package/dist/chunks/config-Yy67uWHY.js.map +0 -1
- package/dist/chunks/config-iemgzS4x.js.map +0 -1
- package/dist/chunks/en-Bxyn5lW7.js.map +0 -1
- package/dist/chunks/es-Dtl-a7ui.js.map +0 -1
- package/dist/chunks/grBadgeStyles-DV0DrAew.js.map +0 -1
- package/dist/chunks/grSelectStyles-D9EQ-pgK.js.map +0 -1
- package/dist/chunks/grSliderStyles-kaz6VXZ3.js.map +0 -1
- package/dist/chunks/grTableStyles-DkQPMfx9.js +0 -39
- package/dist/chunks/grTableStyles-DkQPMfx9.js.map +0 -1
- package/dist/chunks/granular-provider-BOQp7N5o.js.map +0 -1
- package/dist/chunks/keyboard-DE2yhz_b.js.map +0 -1
- package/dist/chunks/overlayPanelSurface-BKeMhRx4.js.map +0 -1
- package/dist/chunks/ru-hrB4I1u_.js.map +0 -1
- package/dist/chunks/safelist-x8USecK8.js.map +0 -1
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-C-uovdv8.js.map +0 -1
- package/dist/components/GrBadge/chunks/GrBadge-DBeQXEir.js +0 -47
- package/dist/components/GrBadge/chunks/GrBadge-DBeQXEir.js.map +0 -1
- package/dist/components/GrCarousel/chunks/GrCarousel-ByuughtI.js.map +0 -1
- package/dist/components/GrCheckbox/chunks/GrCheckbox-Dp201frb.js.map +0 -1
- package/dist/components/GrColorPicker/chunks/GrColorPicker-BRM_4lyI.js.map +0 -1
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BJHmkDQv.js.map +0 -1
- package/dist/components/GrDataTable/chunks/GrDataTable-DQxYYgQk.js.map +0 -1
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-Dxkz_ry4.js.map +0 -1
- package/dist/components/GrEmptyState/chunks/GrEmptyState-BbvwE-E0.js.map +0 -1
- package/dist/components/GrFileUpload/chunks/GrFileUpload-BwMR71zN.js.map +0 -1
- package/dist/components/GrFormFile/chunks/GrFormFile-Dlxx-9zi.js.map +0 -1
- package/dist/components/GrInput/chunks/GrInput-DV4gMWPR.js.map +0 -1
- package/dist/components/GrInputTag/chunks/GrInputTag-CO0YU-ok.js.map +0 -1
- package/dist/components/GrKbd/chunks/GrKbd-BNMeoaLV.js.map +0 -1
- package/dist/components/GrNavbar/chunks/GrNavbar-BRGuksiy.js.map +0 -1
- package/dist/components/GrSelect/chunks/GrSelect-0iI4wdR_.js.map +0 -1
- package/dist/components/GrSidebar/chunks/GrSidebar-DoKLlHSw.js +0 -264
- package/dist/components/GrSidebar/chunks/GrSidebar-DoKLlHSw.js.map +0 -1
- package/dist/components/GrSlider/chunks/GrSlider-CO8N9SF6.js.map +0 -1
- package/dist/components/GrSwitch/chunks/GrSwitch-CriHWT2A.js.map +0 -1
- package/dist/components/GrTabPanels/chunks/GrTabPanels-5zsbqS1v.js +0 -92
- package/dist/components/GrTabPanels/chunks/GrTabPanels-5zsbqS1v.js.map +0 -1
- package/dist/components/GrTable/chunks/GrTable-CKJ-HrsN.js.map +0 -1
- package/dist/components/GrTextarea/chunks/GrTextarea-Bfgc0DD2.js.map +0 -1
- package/dist/components/GrToaster/chunks/GrToaster-CZixNk0l.js.map +0 -1
- package/dist/components/GrTooltip/chunks/GrTooltip-DkMMM0uq.js.map +0 -1
- package/dist/components/GrTransfer/chunks/GrTransfer-DdfBUf35.js.map +0 -1
- package/dist/components/GrTree/chunks/GrTree-6yZrncJE.js.map +0 -1
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-B6KoDYiZ.js.map +0 -1
- package/dist/types/components/GrAutocomplete/composables/useAutocompleteVirtual.d.ts +0 -33
|
@@ -3,12 +3,14 @@ import { a as useGrComponentSize, i as useGrComponentProp, s as useGrThemeAttrs
|
|
|
3
3
|
import { n as useGranularityTranslations } from "../../../chunks/granularityI18n-BC5zsj_d.js";
|
|
4
4
|
import { t as usePortalTarget } from "../../../chunks/usePortalTarget-BhrRgdqW.js";
|
|
5
5
|
import { vClickOutside } from "../../../directives/clickOutside.js";
|
|
6
|
-
import {
|
|
6
|
+
import { n as isComposingEvent } from "../../../chunks/keyboard-BiFSgWLt.js";
|
|
7
7
|
import { t as loader_circle_default } from "../../../chunks/loader-circle-CfVLz7lb.js";
|
|
8
8
|
import { useFloating } from "../../../composables/useFloating.js";
|
|
9
9
|
import { useDismissible } from "../../../composables/useDismissible.js";
|
|
10
|
+
import { t as panelPopTransition } from "../../../chunks/overlayTransition-C0FDMx7Q.js";
|
|
11
|
+
import { a as autocompleteShellClass, i as autocompletePanelClasses, o as autocompleteStateClass, r as autocompleteOptionClass, s as isAutocompleteOptionGroup } from "../../../chunks/config-D1oVht-E.js";
|
|
10
12
|
import { a as resolveSelectedOptions, t as filterOptions } from "../../../chunks/optionFilter-DYw9XPPx.js";
|
|
11
|
-
import {
|
|
13
|
+
import { n as useOptionPanelVirtualization, t as buildOptionPanelRows } from "../../../chunks/optionPanel-DvY7Tv_4.js";
|
|
12
14
|
import { useComboboxNavigation } from "../../../composables/useComboboxNavigation.js";
|
|
13
15
|
import { n as useGrFormFieldContext } from "../../../chunks/context-DdNIxa1w.js";
|
|
14
16
|
import { useGrFormControl } from "../../../composables/useGrFormControl.js";
|
|
@@ -16,10 +18,8 @@ import { t as useFocusWithin } from "../../../chunks/useFocusWithin-BwHE0rzm.js"
|
|
|
16
18
|
import { t as useControlledOpen } from "../../../chunks/useControlledOpen-DV3SqLTP.js";
|
|
17
19
|
import { useRovingFocus } from "../../../composables/useRovingFocus.js";
|
|
18
20
|
import { t as useControlAddons } from "../../../chunks/useControlAddons-asUr10Pf.js";
|
|
19
|
-
import { d as chipSizeForBadgeScale } from "../../../chunks/grChipStyles-
|
|
20
|
-
import { t as GrChip_default } from "../../GrChip/chunks/GrChip-
|
|
21
|
-
import { n as panelPopTransition } from "../../../chunks/overlayPanelSurface-BKeMhRx4.js";
|
|
22
|
-
import { a as autocompleteShellClass, i as autocompletePanelClasses, o as autocompleteStateClass, r as autocompleteOptionClass } from "../../../chunks/config-BHLMTJaR.js";
|
|
21
|
+
import { d as chipSizeForBadgeScale } from "../../../chunks/grChipStyles-CA9Wj1_E.js";
|
|
22
|
+
import { t as GrChip_default } from "../../GrChip/chunks/GrChip-DoyS1Dr4.js";
|
|
23
23
|
import { t as check_default } from "../../../chunks/check-BZI24Qs4.js";
|
|
24
24
|
import { t as chevron_down_default } from "../../../chunks/chevron-down-CQS2OG_s.js";
|
|
25
25
|
import { t as _plugin_vue_export_helper_default } from "../../../chunks/_plugin-vue_export-helper-BOaGB7Aw.js";
|
|
@@ -85,7 +85,7 @@ function useRemoteOptions(options) {
|
|
|
85
85
|
* и remote-результаты исчезали бы прямо посреди выбора.
|
|
86
86
|
*/
|
|
87
87
|
function optionsSignature(list) {
|
|
88
|
-
return (list ?? []).map((
|
|
88
|
+
return (list ?? []).map((item) => isAutocompleteOptionGroup(item) ? `${item.label}\u0000${optionsSignature(item.options)}` : `${String(item.value)}\u0000${item.label}`).join("");
|
|
89
89
|
}
|
|
90
90
|
watch(() => optionsSignature(options.options()), () => {
|
|
91
91
|
if (!options.fetchOptions()) return;
|
|
@@ -106,6 +106,11 @@ function useRemoteOptions(options) {
|
|
|
106
106
|
//#region src/components/GrAutocomplete/composables/useAutocompleteValues.ts
|
|
107
107
|
function useAutocompleteValues(options) {
|
|
108
108
|
const optionsResolved = computed(() => options.fetchOptions() && options.remoteAnswered.value ? options.remoteOptions.value : options.options() ?? []);
|
|
109
|
+
/**
|
|
110
|
+
* Плоский список: метку выбранного значения и проверку «такое уже есть» группы
|
|
111
|
+
* не касаются — они про показ, а не про состав.
|
|
112
|
+
*/
|
|
113
|
+
const flatOptions = computed(() => optionsResolved.value.flatMap((item) => isAutocompleteOptionGroup(item) ? item.options : [item]));
|
|
109
114
|
/** `0` — валидное значение, поэтому «пусто» проверяется явно, а не через falsy. */
|
|
110
115
|
function isEmptyValue(value) {
|
|
111
116
|
return value === void 0 || value === null || value === "";
|
|
@@ -123,16 +128,17 @@ function useAutocompleteValues(options) {
|
|
|
123
128
|
const selectedValues = computed(() => options.multiple() ? toArray(options.modelValue()) : isEmptyValue(modelSingle.value) ? [] : [modelSingle.value]);
|
|
124
129
|
const hasSelection = computed(() => selectedValues.value.length > 0);
|
|
125
130
|
function labelFor(value) {
|
|
126
|
-
return
|
|
131
|
+
return flatOptions.value.find((o) => o.value === value)?.label ?? String(value);
|
|
127
132
|
}
|
|
128
133
|
return {
|
|
129
134
|
optionsResolved,
|
|
135
|
+
flatOptions,
|
|
130
136
|
isEmptyValue,
|
|
131
137
|
modelSingle,
|
|
132
138
|
selectedValues,
|
|
133
139
|
hasSelection,
|
|
134
140
|
labelFor,
|
|
135
|
-
selectedOptions: computed(() => resolveSelectedOptions(selectedValues.value,
|
|
141
|
+
selectedOptions: computed(() => resolveSelectedOptions(selectedValues.value, flatOptions.value)),
|
|
136
142
|
singleSelectedLabel: computed(() => options.multiple() || isEmptyValue(modelSingle.value) ? "" : labelFor(modelSingle.value))
|
|
137
143
|
};
|
|
138
144
|
}
|
|
@@ -144,102 +150,75 @@ function useAutocompletePanel(options) {
|
|
|
144
150
|
if (!options.multiple() && !options.dirty.value) return "";
|
|
145
151
|
return options.query.value.trim();
|
|
146
152
|
});
|
|
147
|
-
|
|
153
|
+
/**
|
|
154
|
+
* Строки панели: группы сохраняются, фильтр применяется к их содержимому, и
|
|
155
|
+
* группа, у которой ничего не совпало, исчезает целиком вместе с заголовком —
|
|
156
|
+
* заголовок над пустотой читается как сбой, а не как «здесь ничего нет».
|
|
157
|
+
*/
|
|
158
|
+
const filteredItems = computed(() => {
|
|
159
|
+
const items = [];
|
|
160
|
+
options.optionsResolved.value.forEach((item, index) => {
|
|
161
|
+
if (isAutocompleteOptionGroup(item)) {
|
|
162
|
+
const matched = filterOptions(item.options, searchQuery.value, options.filter());
|
|
163
|
+
if (!matched.length) return;
|
|
164
|
+
const groupKey = `__group__${index}`;
|
|
165
|
+
items.push({
|
|
166
|
+
kind: "group",
|
|
167
|
+
label: item.label,
|
|
168
|
+
key: groupKey
|
|
169
|
+
});
|
|
170
|
+
for (const option of matched) items.push({
|
|
171
|
+
kind: "option",
|
|
172
|
+
option,
|
|
173
|
+
key: `${index}:${String(option.value)}`,
|
|
174
|
+
groupKey
|
|
175
|
+
});
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
if (filterOptions([item], searchQuery.value, options.filter()).length) items.push({
|
|
179
|
+
kind: "option",
|
|
180
|
+
option: item,
|
|
181
|
+
key: `${index}:${String(item.value)}`
|
|
182
|
+
});
|
|
183
|
+
});
|
|
184
|
+
return items;
|
|
185
|
+
});
|
|
148
186
|
const belowMinQuery = computed(() => options.minQueryLength() > 0 && options.query.value.trim().length < options.minQueryLength());
|
|
149
187
|
/**
|
|
150
188
|
* Опции к показу и навигации. Ниже `minQueryLength` — пусто: список ещё
|
|
151
189
|
* относится к прошлому запросу, показывать его под подсказкой «введите ещё N»
|
|
152
190
|
* значит дезинформировать.
|
|
153
191
|
*/
|
|
154
|
-
const
|
|
192
|
+
const panelItems = computed(() => belowMinQuery.value ? [] : filteredItems.value);
|
|
193
|
+
const panelRows = computed(() => buildOptionPanelRows(panelItems.value));
|
|
194
|
+
const effectiveOptions = computed(() => panelItems.value.flatMap((item) => item.kind === "option" ? [item.option] : []));
|
|
155
195
|
const canAddCustom = computed(() => {
|
|
156
196
|
if (!options.allowCustomValue()) return false;
|
|
157
197
|
const v = options.query.value.trim();
|
|
158
198
|
if (!v) return false;
|
|
159
199
|
if (options.multiple() && options.selectedValues.value.includes(v)) return false;
|
|
160
200
|
if (!options.multiple() && v === options.modelSingle.value) return false;
|
|
161
|
-
return !options.
|
|
201
|
+
return !options.flatOptions.value.some((o) => o.value === v || o.label === v);
|
|
162
202
|
});
|
|
163
203
|
return {
|
|
164
204
|
searchQuery,
|
|
165
205
|
belowMinQuery,
|
|
206
|
+
panelItems,
|
|
207
|
+
panelRows,
|
|
166
208
|
effectiveOptions,
|
|
167
209
|
canAddCustom,
|
|
168
210
|
showEmpty: computed(() => !options.isLoading.value && effectiveOptions.value.length === 0 && !canAddCustom.value)
|
|
169
211
|
};
|
|
170
212
|
}
|
|
171
213
|
//#endregion
|
|
172
|
-
//#region src/components/GrAutocomplete/composables/useAutocompleteVirtual.ts
|
|
173
|
-
/** Оценка высоты опции: `py-2` вокруг строки кегля `sm`. Уточняется замером. */
|
|
174
|
-
var OPTION_SIZE_ESTIMATE = 36;
|
|
175
|
-
function useAutocompleteVirtual(options) {
|
|
176
|
-
const addOffset = computed(() => options.canAddCustom.value ? 1 : 0);
|
|
177
|
-
const virtualCount = computed(() => options.effectiveOptions.value.length + addOffset.value);
|
|
178
|
-
const virtualizer = useVirtualList({
|
|
179
|
-
container: options.listboxEl,
|
|
180
|
-
count: () => options.virtual() ? virtualCount.value : 0,
|
|
181
|
-
source: () => options.effectiveOptions.value,
|
|
182
|
-
itemSize: OPTION_SIZE_ESTIMATE,
|
|
183
|
-
viewportSize: () => options.dropdownMaxHeight()
|
|
184
|
-
});
|
|
185
|
-
/** Виден ли «Add …»: вне виртуального окна его рисовать нельзя — он элемент набора. */
|
|
186
|
-
const showAddOption = computed(() => {
|
|
187
|
-
if (!options.canAddCustom.value) return false;
|
|
188
|
-
return !options.virtual() || virtualizer.range.value.start === 0;
|
|
189
|
-
});
|
|
190
|
-
/** Опции к отрисовке вместе с их абсолютным индексом в `effectiveOptions`. */
|
|
191
|
-
const renderedOptions = computed(() => {
|
|
192
|
-
const all = options.effectiveOptions.value;
|
|
193
|
-
if (!options.virtual()) return all.map((option, index) => ({
|
|
194
|
-
option,
|
|
195
|
-
index
|
|
196
|
-
}));
|
|
197
|
-
const { start, end } = virtualizer.range.value;
|
|
198
|
-
const from = Math.max(0, start - addOffset.value);
|
|
199
|
-
const to = Math.max(0, end - addOffset.value);
|
|
200
|
-
return all.slice(from, to).map((option, offset) => ({
|
|
201
|
-
option,
|
|
202
|
-
index: from + offset
|
|
203
|
-
}));
|
|
204
|
-
});
|
|
205
|
-
/**
|
|
206
|
-
* Размер набора и позиция в нём объявляются только при виртуализации: в обычном
|
|
207
|
-
* режиме диктор выводит их из DOM, а при неполном наборе получил бы «3 из 15»
|
|
208
|
-
* на списке в десять тысяч.
|
|
209
|
-
*/
|
|
210
|
-
function optionSetProps(virtualIndex) {
|
|
211
|
-
if (!options.virtual()) return void 0;
|
|
212
|
-
return {
|
|
213
|
-
"aria-setsize": virtualCount.value,
|
|
214
|
-
"aria-posinset": virtualIndex + 1
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
return {
|
|
218
|
-
addOffset,
|
|
219
|
-
virtualCount,
|
|
220
|
-
virtualizer,
|
|
221
|
-
showAddOption,
|
|
222
|
-
renderedOptions,
|
|
223
|
-
optionSetProps,
|
|
224
|
-
listboxStyle: computed(() => {
|
|
225
|
-
const base = { maxHeight: `${options.dropdownMaxHeight()}px` };
|
|
226
|
-
if (!options.virtual()) return base;
|
|
227
|
-
return {
|
|
228
|
-
...base,
|
|
229
|
-
...virtualizer.spacerStyle.value
|
|
230
|
-
};
|
|
231
|
-
})
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
//#endregion
|
|
235
214
|
//#region src/components/GrAutocomplete/composables/useAutocompleteNavigation.ts
|
|
236
215
|
function useAutocompleteNavigation(options) {
|
|
237
216
|
const navigableItems = computed(() => {
|
|
238
217
|
const items = options.canAddCustom.value ? [{ kind: "add" }] : [];
|
|
239
|
-
options.
|
|
240
|
-
if (!option.disabled) items.push({
|
|
218
|
+
options.panelItems.value.forEach((item, index) => {
|
|
219
|
+
if (item.kind === "option" && !item.option.disabled) items.push({
|
|
241
220
|
kind: "option",
|
|
242
|
-
option,
|
|
221
|
+
option: item.option,
|
|
243
222
|
index
|
|
244
223
|
});
|
|
245
224
|
});
|
|
@@ -248,8 +227,22 @@ function useAutocompleteNavigation(options) {
|
|
|
248
227
|
function isSelected(value) {
|
|
249
228
|
return options.selectedValues.value.includes(value);
|
|
250
229
|
}
|
|
251
|
-
|
|
252
|
-
|
|
230
|
+
/**
|
|
231
|
+
* Navigable-индекс по позиции в `panelItems` — O(1) на каждое движение мыши
|
|
232
|
+
* вместо поиска по значению.
|
|
233
|
+
*
|
|
234
|
+
* Поиск по значению здесь ещё и неверен: одно и то же значение может стоять в
|
|
235
|
+
* двух группах, и наведение на вторую опцию подсвечивало бы первую.
|
|
236
|
+
*/
|
|
237
|
+
const navigableIndexByPanelIndex = computed(() => {
|
|
238
|
+
const map = /* @__PURE__ */ new Map();
|
|
239
|
+
navigableItems.value.forEach((item, navIndex) => {
|
|
240
|
+
if (item.kind === "option") map.set(item.index, navIndex);
|
|
241
|
+
});
|
|
242
|
+
return map;
|
|
243
|
+
});
|
|
244
|
+
function navigableIndexOfPanelIndex(index) {
|
|
245
|
+
return navigableIndexByPanelIndex.value.get(index) ?? -1;
|
|
253
246
|
}
|
|
254
247
|
/** Прокрутка к активному: сперва окно виртуального списка, затем доводка. */
|
|
255
248
|
async function scrollActiveIntoView(item) {
|
|
@@ -268,7 +261,7 @@ function useAutocompleteNavigation(options) {
|
|
|
268
261
|
return {
|
|
269
262
|
navigableItems,
|
|
270
263
|
isSelected,
|
|
271
|
-
|
|
264
|
+
navigableIndexOfPanelIndex,
|
|
272
265
|
activeIndex,
|
|
273
266
|
activeItem,
|
|
274
267
|
activeDescendantId,
|
|
@@ -315,7 +308,9 @@ var _hoisted_7 = [
|
|
|
315
308
|
"aria-multiselectable"
|
|
316
309
|
];
|
|
317
310
|
var _hoisted_8 = ["id"];
|
|
318
|
-
var _hoisted_9 = [
|
|
311
|
+
var _hoisted_9 = ["aria-labelledby", "aria-label"];
|
|
312
|
+
var _hoisted_10 = ["id"];
|
|
313
|
+
var _hoisted_11 = [
|
|
319
314
|
"id",
|
|
320
315
|
"disabled",
|
|
321
316
|
"aria-selected",
|
|
@@ -323,22 +318,36 @@ var _hoisted_9 = [
|
|
|
323
318
|
"onClick",
|
|
324
319
|
"onMousemove"
|
|
325
320
|
];
|
|
326
|
-
var
|
|
327
|
-
var
|
|
321
|
+
var _hoisted_12 = { class: "flex items-center gap-2 min-w-0" };
|
|
322
|
+
var _hoisted_13 = {
|
|
328
323
|
class: "inline-block h-4 w-4 shrink-0",
|
|
329
324
|
"aria-hidden": "true"
|
|
330
325
|
};
|
|
331
|
-
var
|
|
332
|
-
var
|
|
326
|
+
var _hoisted_14 = { class: "truncate" };
|
|
327
|
+
var _hoisted_15 = [
|
|
328
|
+
"id",
|
|
329
|
+
"disabled",
|
|
330
|
+
"aria-selected",
|
|
331
|
+
"aria-disabled",
|
|
332
|
+
"onClick",
|
|
333
|
+
"onMousemove"
|
|
334
|
+
];
|
|
335
|
+
var _hoisted_16 = { class: "flex items-center gap-2 min-w-0" };
|
|
336
|
+
var _hoisted_17 = {
|
|
337
|
+
class: "inline-block h-4 w-4 shrink-0",
|
|
338
|
+
"aria-hidden": "true"
|
|
339
|
+
};
|
|
340
|
+
var _hoisted_18 = { class: "truncate" };
|
|
341
|
+
var _hoisted_19 = {
|
|
333
342
|
key: 0,
|
|
334
343
|
"data-gr-autocomplete-loading": "",
|
|
335
344
|
class: "flex items-center gap-2"
|
|
336
345
|
};
|
|
337
|
-
var
|
|
346
|
+
var _hoisted_20 = {
|
|
338
347
|
key: 1,
|
|
339
348
|
"data-gr-autocomplete-hint": ""
|
|
340
349
|
};
|
|
341
|
-
var
|
|
350
|
+
var _hoisted_21 = {
|
|
342
351
|
key: 2,
|
|
343
352
|
"data-gr-autocomplete-empty": ""
|
|
344
353
|
};
|
|
@@ -487,7 +496,7 @@ var GrAutocomplete_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
487
496
|
onSearch: (value) => emit("search", value),
|
|
488
497
|
onSearchError: (error) => emit("searchError", error)
|
|
489
498
|
});
|
|
490
|
-
const { optionsResolved, modelSingle, selectedValues, hasSelection, selectedOptions, singleSelectedLabel } = useAutocompleteValues({
|
|
499
|
+
const { optionsResolved, flatOptions, modelSingle, selectedValues, hasSelection, selectedOptions, singleSelectedLabel } = useAutocompleteValues({
|
|
491
500
|
modelValue: () => props.modelValue,
|
|
492
501
|
options: () => props.options,
|
|
493
502
|
multiple: () => props.multiple,
|
|
@@ -527,8 +536,9 @@ var GrAutocomplete_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
527
536
|
zIndexVar: "--gr-z-dropdown"
|
|
528
537
|
});
|
|
529
538
|
useDismissible(open, closeDropdown);
|
|
530
|
-
const { belowMinQuery,
|
|
539
|
+
const { belowMinQuery, panelItems, panelRows, canAddCustom, showEmpty } = useAutocompletePanel({
|
|
531
540
|
optionsResolved,
|
|
541
|
+
flatOptions,
|
|
532
542
|
query,
|
|
533
543
|
dirty,
|
|
534
544
|
filterable: () => props.filterable,
|
|
@@ -551,21 +561,26 @@ var GrAutocomplete_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
551
561
|
return `${listboxId}-opt-${index}`;
|
|
552
562
|
}
|
|
553
563
|
const addOptionDomId = computed(() => `${listboxId}-add`);
|
|
554
|
-
const {
|
|
564
|
+
const { virtualEnabled, addOffset, scrollToIndex: scrollVirtualToIndex, measure: measureVirtualRow, optionSetProps, leadingRowSetProps, showLeadingRow: showAddOption, renderedPanelRows, listboxStyle } = useOptionPanelVirtualization({
|
|
565
|
+
panelItems,
|
|
566
|
+
panelRows,
|
|
567
|
+
hasLeadingRow: canAddCustom,
|
|
555
568
|
listboxEl,
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
virtual: () => props.virtual,
|
|
559
|
-
dropdownMaxHeight: () => props.dropdownMaxHeight
|
|
569
|
+
enabled: () => props.virtual,
|
|
570
|
+
maxHeight: () => props.dropdownMaxHeight
|
|
560
571
|
});
|
|
561
|
-
|
|
562
|
-
|
|
572
|
+
/** Имя группы для `aria-labelledby`: заголовок живёт внутри своей группы. */
|
|
573
|
+
function groupLabelId(groupKey) {
|
|
574
|
+
return `${listboxId}-${groupKey}`;
|
|
575
|
+
}
|
|
576
|
+
const { isSelected, navigableIndexOfPanelIndex, activeIndex, activeItem, activeDescendantId, initActiveIndex, resetActive, handleNavigationKeys } = useAutocompleteNavigation({
|
|
577
|
+
panelItems,
|
|
563
578
|
canAddCustom,
|
|
564
579
|
selectedValues,
|
|
565
580
|
open,
|
|
566
581
|
virtual: () => props.virtual,
|
|
567
582
|
addOffset,
|
|
568
|
-
scrollToIndex:
|
|
583
|
+
scrollToIndex: scrollVirtualToIndex,
|
|
569
584
|
optionDomId,
|
|
570
585
|
addOptionDomId
|
|
571
586
|
});
|
|
@@ -742,8 +757,8 @@ var GrAutocomplete_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
742
757
|
ref: rootEl,
|
|
743
758
|
"data-gr-autocomplete": "",
|
|
744
759
|
class: "relative w-full",
|
|
745
|
-
onFocusin: _cache[
|
|
746
|
-
onFocusout: _cache[
|
|
760
|
+
onFocusin: _cache[4] || (_cache[4] = (...args) => unref(onFocusIn) && unref(onFocusIn)(...args)),
|
|
761
|
+
onFocusout: _cache[5] || (_cache[5] = (...args) => unref(onFocusOut) && unref(onFocusOut)(...args))
|
|
747
762
|
}, [
|
|
748
763
|
createElementVNode("div", {
|
|
749
764
|
"data-gr-autocomplete-shell": "",
|
|
@@ -874,14 +889,14 @@ var GrAutocomplete_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
874
889
|
"data-gr-autocomplete-panel": "",
|
|
875
890
|
"data-gr-overlay-root": "",
|
|
876
891
|
style: unref(floatingStyle)
|
|
877
|
-
}), [createElementVNode("div", { class: normalizeClass(unref(autocompletePanelClasses)) }, [unref(showAddOption) || unref(
|
|
892
|
+
}), [createElementVNode("div", { class: normalizeClass(unref(autocompletePanelClasses)) }, [unref(showAddOption) || unref(renderedPanelRows).length ? (openBlock(), createElementBlock("div", {
|
|
878
893
|
key: 0,
|
|
879
894
|
id: unref(listboxId),
|
|
880
895
|
ref_key: "listboxEl",
|
|
881
896
|
ref: listboxEl,
|
|
882
897
|
"data-gr-autocomplete-listbox": "",
|
|
883
898
|
"data-gr-virtual": __props.virtual ? "" : void 0,
|
|
884
|
-
class: normalizeClass(["p-1 overflow-auto", __props.virtual ? "flex flex-col" : ""]),
|
|
899
|
+
class: normalizeClass(["p-1 min-h-0 overflow-auto", __props.virtual ? "flex flex-col" : ""]),
|
|
885
900
|
style: normalizeStyle(unref(listboxStyle)),
|
|
886
901
|
role: "listbox",
|
|
887
902
|
"aria-multiselectable": __props.multiple ? "true" : void 0
|
|
@@ -892,7 +907,7 @@ var GrAutocomplete_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
892
907
|
role: "option",
|
|
893
908
|
"aria-selected": "false",
|
|
894
909
|
tabindex: "-1"
|
|
895
|
-
}, unref(
|
|
910
|
+
}, unref(leadingRowSetProps), {
|
|
896
911
|
"data-testid": "gr-autocomplete-add-option",
|
|
897
912
|
"data-gr-autocomplete-add-option": "",
|
|
898
913
|
class: unref(autocompleteOptionClass)({
|
|
@@ -902,44 +917,87 @@ var GrAutocomplete_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
902
917
|
onMousedown: _cache[0] || (_cache[0] = withModifiers(() => {}, ["prevent"])),
|
|
903
918
|
onClick: commitCustom,
|
|
904
919
|
onMousemove: _cache[1] || (_cache[1] = ($event) => activeIndex.value = 0)
|
|
905
|
-
}), toDisplayString(unref(t)("gr.autocomplete.addOption", "Add \"{value}\"", { value: query.value.trim() })), 17, _hoisted_8)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(
|
|
906
|
-
return openBlock(), createElementBlock("
|
|
907
|
-
|
|
908
|
-
|
|
920
|
+
}), toDisplayString(unref(t)("gr.autocomplete.addOption", "Add \"{value}\"", { value: query.value.trim() })), 17, _hoisted_8)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(unref(renderedPanelRows), (row) => {
|
|
921
|
+
return openBlock(), createElementBlock(Fragment, { key: row.key }, [row.kind === "group" ? (openBlock(), createElementBlock("div", {
|
|
922
|
+
key: 0,
|
|
923
|
+
"data-gr-autocomplete-group": "",
|
|
924
|
+
role: "group",
|
|
925
|
+
class: normalizeClass(unref(virtualEnabled) ? "flex flex-col" : ""),
|
|
926
|
+
"aria-labelledby": unref(virtualEnabled) ? void 0 : groupLabelId(row.key),
|
|
927
|
+
"aria-label": unref(virtualEnabled) ? row.label : void 0
|
|
928
|
+
}, [row.labelVisible !== false ? (openBlock(), createElementBlock("div", {
|
|
929
|
+
key: 0,
|
|
930
|
+
id: groupLabelId(row.key),
|
|
931
|
+
ref_for: true,
|
|
932
|
+
ref: (el) => unref(virtualEnabled) && row.labelIndex !== void 0 && unref(measureVirtualRow)(row.labelIndex + unref(addOffset), el),
|
|
933
|
+
"data-gr-autocomplete-group-label": "",
|
|
934
|
+
role: "presentation",
|
|
935
|
+
class: "px-3 pt-2 pb-1 text-[length:var(--gr-text-xs)] leading-[var(--gr-leading-xs)] font-semibold uppercase tracking-wide text-[var(--gr-muted-fg)]"
|
|
936
|
+
}, toDisplayString(row.label), 9, _hoisted_10)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(row.options, (child) => {
|
|
937
|
+
return openBlock(), createElementBlock("button", mergeProps({
|
|
938
|
+
id: optionDomId(child.index),
|
|
939
|
+
key: child.key,
|
|
940
|
+
ref_for: true,
|
|
941
|
+
ref: (el) => unref(virtualEnabled) && unref(measureVirtualRow)(child.index + unref(addOffset), el),
|
|
942
|
+
"data-gr-autocomplete-option": "",
|
|
943
|
+
type: "button",
|
|
944
|
+
role: "option",
|
|
945
|
+
tabindex: "-1"
|
|
946
|
+
}, { ref_for: true }, unref(optionSetProps)(child.index), {
|
|
947
|
+
disabled: child.option.disabled,
|
|
948
|
+
"aria-selected": unref(isSelected)(child.option.value) ? "true" : "false",
|
|
949
|
+
"aria-disabled": child.option.disabled ? "true" : void 0,
|
|
950
|
+
class: unref(autocompleteOptionClass)({
|
|
951
|
+
disabled: !!child.option.disabled,
|
|
952
|
+
active: unref(activeItem)?.kind === "option" && unref(activeItem).index === child.index
|
|
953
|
+
}),
|
|
954
|
+
onMousedown: _cache[2] || (_cache[2] = withModifiers(() => {}, ["prevent"])),
|
|
955
|
+
onClick: ($event) => chooseOption(child.option),
|
|
956
|
+
onMousemove: ($event) => activeIndex.value = unref(navigableIndexOfPanelIndex)(child.index)
|
|
957
|
+
}), [renderSlot(_ctx.$slots, "option", {
|
|
958
|
+
option: child.option,
|
|
959
|
+
selected: unref(isSelected)(child.option.value)
|
|
960
|
+
}, () => [createElementVNode("span", _hoisted_12, [createElementVNode("span", _hoisted_13, [unref(isSelected)(child.option.value) ? (openBlock(), createBlock(unref(check_default), {
|
|
961
|
+
key: 0,
|
|
962
|
+
class: "block h-4 w-4 text-[var(--gr-primary-text)]"
|
|
963
|
+
})) : createCommentVNode("", true)]), createElementVNode("span", _hoisted_14, toDisplayString(child.option.label), 1)])], true)], 16, _hoisted_11);
|
|
964
|
+
}), 128))], 10, _hoisted_9)) : (openBlock(), createElementBlock("button", mergeProps({
|
|
965
|
+
key: 1,
|
|
966
|
+
id: optionDomId(row.index),
|
|
909
967
|
ref_for: true,
|
|
910
|
-
ref: (el) =>
|
|
968
|
+
ref: (el) => unref(virtualEnabled) && unref(measureVirtualRow)(row.index + unref(addOffset), el),
|
|
911
969
|
"data-gr-autocomplete-option": "",
|
|
912
970
|
type: "button",
|
|
913
971
|
role: "option",
|
|
914
972
|
tabindex: "-1"
|
|
915
|
-
}, { ref_for: true }, unref(optionSetProps)(
|
|
916
|
-
disabled: option.disabled,
|
|
917
|
-
"aria-selected": unref(isSelected)(option.value) ? "true" : "false",
|
|
918
|
-
"aria-disabled": option.disabled ? "true" : void 0,
|
|
973
|
+
}, { ref_for: true }, unref(optionSetProps)(row.index), {
|
|
974
|
+
disabled: row.option.disabled,
|
|
975
|
+
"aria-selected": unref(isSelected)(row.option.value) ? "true" : "false",
|
|
976
|
+
"aria-disabled": row.option.disabled ? "true" : void 0,
|
|
919
977
|
class: unref(autocompleteOptionClass)({
|
|
920
|
-
disabled: !!option.disabled,
|
|
921
|
-
active: unref(
|
|
978
|
+
disabled: !!row.option.disabled,
|
|
979
|
+
active: unref(activeItem)?.kind === "option" && unref(activeItem).index === row.index
|
|
922
980
|
}),
|
|
923
|
-
onMousedown: _cache[
|
|
924
|
-
onClick: ($event) => chooseOption(option),
|
|
925
|
-
onMousemove: ($event) => activeIndex.value = unref(
|
|
981
|
+
onMousedown: _cache[3] || (_cache[3] = withModifiers(() => {}, ["prevent"])),
|
|
982
|
+
onClick: ($event) => chooseOption(row.option),
|
|
983
|
+
onMousemove: ($event) => activeIndex.value = unref(navigableIndexOfPanelIndex)(row.index)
|
|
926
984
|
}), [renderSlot(_ctx.$slots, "option", {
|
|
927
|
-
option,
|
|
928
|
-
selected: unref(isSelected)(option.value)
|
|
929
|
-
}, () => [createElementVNode("span",
|
|
985
|
+
option: row.option,
|
|
986
|
+
selected: unref(isSelected)(row.option.value)
|
|
987
|
+
}, () => [createElementVNode("span", _hoisted_16, [createElementVNode("span", _hoisted_17, [unref(isSelected)(row.option.value) ? (openBlock(), createBlock(unref(check_default), {
|
|
930
988
|
key: 0,
|
|
931
989
|
class: "block h-4 w-4 text-[var(--gr-primary-text)]"
|
|
932
|
-
})) : createCommentVNode("", true)]), createElementVNode("span",
|
|
990
|
+
})) : createCommentVNode("", true)]), createElementVNode("span", _hoisted_18, toDisplayString(row.option.label), 1)])], true)], 16, _hoisted_15))], 64);
|
|
933
991
|
}), 128))], 14, _hoisted_7)) : createCommentVNode("", true), isLoading.value || unref(belowMinQuery) || unref(showEmpty) ? (openBlock(), createElementBlock("div", {
|
|
934
992
|
key: 1,
|
|
935
993
|
"data-gr-autocomplete-status": "",
|
|
936
994
|
role: "status",
|
|
937
995
|
"aria-live": "polite",
|
|
938
|
-
class: normalizeClass(unref(autocompleteStateClass))
|
|
939
|
-
}, [isLoading.value ? (openBlock(), createElementBlock("span",
|
|
996
|
+
class: normalizeClass(["shrink-0", unref(autocompleteStateClass)])
|
|
997
|
+
}, [isLoading.value ? (openBlock(), createElementBlock("span", _hoisted_19, [renderSlot(_ctx.$slots, "loading", {}, () => [createVNode(unref(loader_circle_default), {
|
|
940
998
|
class: "block h-4 w-4 animate-spin",
|
|
941
999
|
"aria-hidden": "true"
|
|
942
|
-
}), createElementVNode("span", null, toDisplayString(resolvedLoadingText.value), 1)], true)])) : unref(belowMinQuery) ? (openBlock(), createElementBlock("span",
|
|
1000
|
+
}), createElementVNode("span", null, toDisplayString(resolvedLoadingText.value), 1)], true)])) : unref(belowMinQuery) ? (openBlock(), createElementBlock("span", _hoisted_20, toDisplayString(resolvedTypeMoreText.value), 1)) : (openBlock(), createElementBlock("span", _hoisted_21, [renderSlot(_ctx.$slots, "empty", {}, () => [createTextVNode(toDisplayString(resolvedNoResultsText.value), 1)], true)]))], 2)) : createCommentVNode("", true)], 2)], 16), [[vShow, unref(open)]])]),
|
|
943
1001
|
_: 3
|
|
944
1002
|
}, 8, [
|
|
945
1003
|
"enter-active-class",
|
|
@@ -956,6 +1014,6 @@ var GrAutocomplete_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/*
|
|
|
956
1014
|
}]]);
|
|
957
1015
|
};
|
|
958
1016
|
}
|
|
959
|
-
}), [["__scopeId", "data-v-
|
|
1017
|
+
}), [["__scopeId", "data-v-103fa23f"]]);
|
|
960
1018
|
//#endregion
|
|
961
1019
|
export { GrAutocomplete_default as t };
|