@feugene/granularity 0.49.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-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-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-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-SPugeaHT.js +37 -0
- package/dist/chunks/config-SPugeaHT.js.map +1 -0
- package/dist/chunks/{en-CsQUoBS2.js → en-mIFywnV2.js} +22 -6
- package/dist/chunks/en-mIFywnV2.js.map +1 -0
- package/dist/chunks/{es-9nbkPvdA.js → es-CvthYwtB.js} +22 -6
- package/dist/chunks/es-CvthYwtB.js.map +1 -0
- package/dist/chunks/{es-DrUz5J6I.js → es-DlGd6Mrj.js} +3 -3
- package/dist/chunks/{es-DrUz5J6I.js.map → es-DlGd6Mrj.js.map} +1 -1
- package/dist/chunks/{generated-CxvC5O0V.js → generated-Cx4C7GRN.js} +84 -0
- package/dist/chunks/{generated-CxvC5O0V.js.map → generated-Cx4C7GRN.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-B6xomapW.js → granular-provider-cv5vaM1a.js} +21 -19
- 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-88i1WG0b.js → ru-CQKDR-kD.js} +22 -6
- package/dist/chunks/ru-CQKDR-kD.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-Chhw65pI.js → GrAutocomplete-Cyr1-ENw.js} +181 -123
- 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/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/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-qnRdAZnn.js → GrInputTag-BzzNRBe3.js} +245 -18
- 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/GrPagination/chunks/{GrPagination-CMrLPzvL.js → GrPagination-AMbn5D8I.js} +1 -1
- package/dist/components/GrPagination/chunks/{GrPagination-CMrLPzvL.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-DvSq-nV-.js → GrSelect-B-ykrHpL.js} +24 -180
- 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/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 +71 -63
- 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/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/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/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 +1 -0
- package/dist/types/i18n/messages/en.d.ts +28 -0
- package/dist/types/i18n/messages/es.d.ts +28 -0
- package/dist/types/i18n/messages/ru.d.ts +28 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/internal/hotkeySequence.d.ts +22 -0
- package/dist/types/internal/keyboard.d.ts +45 -0
- package/dist/web-types.json +463 -26
- package/package.json +9 -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-iemgzS4x.js.map +0 -1
- package/dist/chunks/en-CsQUoBS2.js.map +0 -1
- package/dist/chunks/es-9nbkPvdA.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-B6xomapW.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-88i1WG0b.js.map +0 -1
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-Chhw65pI.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-qnRdAZnn.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-DvSq-nV-.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/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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ComputedRef, Ref, ShallowRef } from 'vue';
|
|
2
|
-
import type { GrAutocompleteModelValue, GrAutocompleteOption, GrAutocompleteValue } from '../GrAutocomplete.vue';
|
|
2
|
+
import type { GrAutocompleteModelValue, GrAutocompleteOption, GrAutocompleteOptionOrGroup, GrAutocompleteValue } from '../GrAutocomplete.vue';
|
|
3
3
|
/**
|
|
4
4
|
* Значение и опции `GrAutocomplete`: что выбрано и как это назвать.
|
|
5
5
|
*
|
|
@@ -9,14 +9,17 @@ import type { GrAutocompleteModelValue, GrAutocompleteOption, GrAutocompleteValu
|
|
|
9
9
|
*/
|
|
10
10
|
export interface UseAutocompleteValuesOptions<TValue extends GrAutocompleteValue> {
|
|
11
11
|
modelValue: () => GrAutocompleteModelValue<TValue>;
|
|
12
|
-
options: () =>
|
|
12
|
+
options: () => GrAutocompleteOptionOrGroup<TValue>[] | undefined;
|
|
13
13
|
multiple: () => boolean;
|
|
14
14
|
fetchOptions: () => unknown;
|
|
15
|
-
remoteOptions: ShallowRef<
|
|
15
|
+
remoteOptions: ShallowRef<GrAutocompleteOptionOrGroup<TValue>[]>;
|
|
16
16
|
remoteAnswered: Ref<boolean>;
|
|
17
17
|
}
|
|
18
18
|
export interface AutocompleteValues<TValue extends GrAutocompleteValue> {
|
|
19
|
-
|
|
19
|
+
/** Список как его задал потребитель — с группами, если они есть. */
|
|
20
|
+
optionsResolved: ComputedRef<GrAutocompleteOptionOrGroup<TValue>[]>;
|
|
21
|
+
/** Тот же список без групп: по нему ищут метку выбранного и проверяют дубли. */
|
|
22
|
+
flatOptions: ComputedRef<GrAutocompleteOption<TValue>[]>;
|
|
20
23
|
isEmptyValue: (value: unknown) => boolean;
|
|
21
24
|
modelSingle: ComputedRef<TValue | ''>;
|
|
22
25
|
selectedValues: ComputedRef<TValue[]>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Ref, ShallowRef } from 'vue';
|
|
2
|
-
import type {
|
|
2
|
+
import type { GrAutocompleteOptionOrGroup, GrAutocompleteValue } from '../GrAutocomplete.vue';
|
|
3
3
|
/**
|
|
4
4
|
* Дебаунснутая удалённая загрузка опций.
|
|
5
5
|
*
|
|
@@ -15,16 +15,16 @@ import type { GrAutocompleteOption, GrAutocompleteValue } from '../GrAutocomplet
|
|
|
15
15
|
* делает потребитель) — модулю место в `composables/internal/`.
|
|
16
16
|
*/
|
|
17
17
|
export interface UseRemoteOptionsOptions<TValue extends GrAutocompleteValue> {
|
|
18
|
-
fetchOptions: () => ((query: string, signal: AbortSignal) => Promise<
|
|
18
|
+
fetchOptions: () => ((query: string, signal: AbortSignal) => Promise<GrAutocompleteOptionOrGroup<TValue>[]>) | undefined;
|
|
19
19
|
/** Стартовый список: его смена сбрасывает ответ сервера. */
|
|
20
|
-
options: () =>
|
|
20
|
+
options: () => GrAutocompleteOptionOrGroup<TValue>[] | undefined;
|
|
21
21
|
debounce: () => number;
|
|
22
22
|
minQueryLength: () => number;
|
|
23
23
|
onSearch: (query: string) => void;
|
|
24
24
|
onSearchError: (error: unknown) => void;
|
|
25
25
|
}
|
|
26
26
|
export interface RemoteOptions<TValue extends GrAutocompleteValue> {
|
|
27
|
-
remoteOptions: ShallowRef<
|
|
27
|
+
remoteOptions: ShallowRef<GrAutocompleteOptionOrGroup<TValue>[]>;
|
|
28
28
|
remoteAnswered: Ref<boolean>;
|
|
29
29
|
remoteLoading: Ref<boolean>;
|
|
30
30
|
scheduleSearch: (value: string) => void;
|
|
@@ -11,6 +11,20 @@ export type GrAutocompleteOption<TValue extends GrAutocompleteValue = string> =
|
|
|
11
11
|
label: string;
|
|
12
12
|
disabled?: boolean;
|
|
13
13
|
};
|
|
14
|
+
/**
|
|
15
|
+
* Группа опций: заголовок `label` + вложенные опции `options`.
|
|
16
|
+
*
|
|
17
|
+
* Форма та же, что у `GrSelect`: два соседних контрола, у которых списки
|
|
18
|
+
* различаются только способом ввода, обязаны принимать данные одинаково.
|
|
19
|
+
*/
|
|
20
|
+
export type GrAutocompleteOptionGroup<TValue extends GrAutocompleteValue = string> = {
|
|
21
|
+
label: string;
|
|
22
|
+
options: GrAutocompleteOption<TValue>[];
|
|
23
|
+
};
|
|
24
|
+
/** Элемент списка: либо одиночная опция, либо группа. */
|
|
25
|
+
export type GrAutocompleteOptionOrGroup<TValue extends GrAutocompleteValue = string> = GrAutocompleteOption<TValue> | GrAutocompleteOptionGroup<TValue>;
|
|
26
|
+
/** Группа опознаётся по наличию вложенного списка, а не по служебному полю. */
|
|
27
|
+
export declare function isAutocompleteOptionGroup<TValue extends GrAutocompleteValue>(item: GrAutocompleteOptionOrGroup<TValue>): item is GrAutocompleteOptionGroup<TValue>;
|
|
14
28
|
export type GrAutocompleteModelValue<TValue extends GrAutocompleteValue = string> = TValue | TValue[];
|
|
15
29
|
/**
|
|
16
30
|
* Оболочка (визуально повторяет `GrInput`): бордер + focus-ring по `focus-within`,
|
|
@@ -60,4 +74,4 @@ export declare const autocompleteStateClass = "flex items-center justify-center
|
|
|
60
74
|
* (card + бордер + shadow-2 + скругление). Держим локальную копию строки,
|
|
61
75
|
* чтобы не тянуть зависимость от `GrSelect` (компоненты гранулярно независимы).
|
|
62
76
|
*/
|
|
63
|
-
export declare const autocompletePanelClasses = "rounded-[var(--gr-radius-xl)] border border-[var(--gr-brd)] bg-[var(--gr-popover)] text-[var(--gr-popover-fg)] shadow-[var(--gr-shadow-2)] overflow-hidden";
|
|
77
|
+
export declare const autocompletePanelClasses = "rounded-[var(--gr-radius-xl)] border border-[var(--gr-brd)] bg-[var(--gr-popover)] text-[var(--gr-popover-fg)] shadow-[var(--gr-shadow-2)] flex flex-col max-h-[var(--gr-floating-available-height,100vh)] overflow-hidden";
|
|
@@ -4,7 +4,7 @@ export { default } from './GrAutocomplete.vue';
|
|
|
4
4
|
export { default as GrAutocomplete } from './GrAutocomplete.vue';
|
|
5
5
|
export { grAutocompleteConfig } from './config';
|
|
6
6
|
export type { GrAutocompleteConfigurableProps } from './defaults';
|
|
7
|
-
export type { GrAutocompleteModelValue, GrAutocompleteOption, GrAutocompleteProps, GrAutocompleteSize, } from './GrAutocomplete.vue';
|
|
7
|
+
export type { GrAutocompleteModelValue, GrAutocompleteOption, GrAutocompleteOptionGroup, GrAutocompleteOptionOrGroup, GrAutocompleteProps, GrAutocompleteSize, } from './GrAutocomplete.vue';
|
|
8
8
|
export { grAutocompleteSafelist } from './safelist';
|
|
9
9
|
export type { GrAutocompleteEmits } from './GrAutocomplete.vue';
|
|
10
10
|
export type GrAutocompleteInstance = ComponentExposed<typeof GrAutocompleteComponent>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GrCarouselActivationMode, GrCarouselIndicators } from './grCarouselStyles';
|
|
1
|
+
import type { GrCarouselActivationMode, GrCarouselIndicators, GrCarouselOrientation } from './grCarouselStyles';
|
|
2
2
|
import type { GrTone } from '../shared/tones';
|
|
3
3
|
export interface GrCarouselProps {
|
|
4
4
|
/** Индекс текущего кадра. Не передан — лента ведёт позицию сама. */
|
|
@@ -9,6 +9,25 @@ export interface GrCarouselProps {
|
|
|
9
9
|
autoplayInterval?: number;
|
|
10
10
|
/** Замкнуть ленту. Выключено — стрелки на краях гаснут. */
|
|
11
11
|
loop?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* Ось движения ленты. По вертикали вьюпорту нужна **определённая высота**:
|
|
14
|
+
* шаг считается от неё, и без высоты лента вырождается в столбец кадров.
|
|
15
|
+
*/
|
|
16
|
+
orientation?: GrCarouselOrientation;
|
|
17
|
+
/**
|
|
18
|
+
* Не рисовать содержимое кадров вдали от текущего.
|
|
19
|
+
*
|
|
20
|
+
* Виртуализируется **нутро кадра, а не кадр**: кадры приходят слотом, и не
|
|
21
|
+
* отрисовать чужой узел лента не может. Пустая обёртка держит место в ряду и
|
|
22
|
+
* почти ничего не весит, а картинки и карточки из DOM уходят.
|
|
23
|
+
*/
|
|
24
|
+
virtual?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Сколько кадров по обе стороны от текущего рисовать сверх него. Меньше
|
|
27
|
+
* единицы ставить нельзя: следующий кадр обязан быть готов **до** перехода,
|
|
28
|
+
* иначе лента поедет на пустоту, а содержимое проявится уже на месте.
|
|
29
|
+
*/
|
|
30
|
+
virtualOverscan?: number;
|
|
12
31
|
/** Вид переключателя кадров. `none` меняет и роль самих слайдов. */
|
|
13
32
|
indicators?: GrCarouselIndicators;
|
|
14
33
|
/** Тон текущего переключателя по общей шкале пакета. */
|
|
@@ -57,6 +76,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
57
76
|
autoplay: boolean;
|
|
58
77
|
autoplayInterval: number;
|
|
59
78
|
loop: boolean;
|
|
79
|
+
orientation: string;
|
|
80
|
+
virtual: boolean;
|
|
81
|
+
virtualOverscan: number;
|
|
60
82
|
indicators: undefined;
|
|
61
83
|
tone: undefined;
|
|
62
84
|
activationMode: undefined;
|
|
@@ -89,6 +111,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
89
111
|
autoplay: boolean;
|
|
90
112
|
autoplayInterval: number;
|
|
91
113
|
loop: boolean;
|
|
114
|
+
orientation: string;
|
|
115
|
+
virtual: boolean;
|
|
116
|
+
virtualOverscan: number;
|
|
92
117
|
indicators: undefined;
|
|
93
118
|
tone: undefined;
|
|
94
119
|
activationMode: undefined;
|
|
@@ -108,11 +133,14 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
108
133
|
tone: GrTone;
|
|
109
134
|
indicators: GrCarouselIndicators;
|
|
110
135
|
activationMode: GrCarouselActivationMode;
|
|
136
|
+
orientation: GrCarouselOrientation;
|
|
111
137
|
ariaLabel: string;
|
|
112
138
|
modelValue: number;
|
|
139
|
+
virtual: boolean;
|
|
113
140
|
autoplay: boolean;
|
|
114
141
|
autoplayInterval: number;
|
|
115
142
|
loop: boolean;
|
|
143
|
+
virtualOverscan: number;
|
|
116
144
|
arrows: boolean;
|
|
117
145
|
swipe: boolean;
|
|
118
146
|
landmark: boolean;
|
|
@@ -9,6 +9,11 @@ export interface UseCarouselSwipeOptions {
|
|
|
9
9
|
atEdge: (direction: 1 | -1) => boolean;
|
|
10
10
|
/** Жест начался: показ пора ставить на паузу. */
|
|
11
11
|
onStart?: () => void;
|
|
12
|
+
/**
|
|
13
|
+
* Ось движения ленты. По вертикали ведущей становится `dy`, а поперечная
|
|
14
|
+
* прокрутка страницы отдаётся ей же — иначе карусель перехватывала бы скролл.
|
|
15
|
+
*/
|
|
16
|
+
orientation?: () => 'horizontal' | 'vertical';
|
|
12
17
|
}
|
|
13
18
|
export interface UseCarouselSwipeReturn {
|
|
14
19
|
isDragging: Ref<boolean>;
|
|
@@ -42,5 +42,26 @@ export interface GrCarouselContext {
|
|
|
42
42
|
tabIdFor: (id: string) => string | undefined;
|
|
43
43
|
/** «N из M» — имя слайда, когда своего `label` у него нет. */
|
|
44
44
|
positionLabel: (id: string) => string;
|
|
45
|
+
/**
|
|
46
|
+
* Смещение слайда в процентах ширины ленты на время замыкания петли.
|
|
47
|
+
*
|
|
48
|
+
* Кольцо делается **без клонирования кадров**: на шаге «последний → первый»
|
|
49
|
+
* первый слайд временно переезжает за последний, лента доезжает до него как
|
|
50
|
+
* до обычного соседа, и уже после перехода индекс снимается на ноль без
|
|
51
|
+
* анимации. Клон здесь невозможен по устройству: кадры приходят слотом, и
|
|
52
|
+
* копия чужого узла унесла бы с собой его состояние и ссылки.
|
|
53
|
+
*/
|
|
54
|
+
displacementOf: (id: string) => number;
|
|
55
|
+
/** Ось движения ленты: по ней кадр выбирает, какой размер занимать целиком. */
|
|
56
|
+
orientation: ComputedRef<'horizontal' | 'vertical'>;
|
|
57
|
+
/**
|
|
58
|
+
* Рисовать ли содержимое кадра.
|
|
59
|
+
*
|
|
60
|
+
* Виртуализация здесь **содержимого, а не самих кадров**: кадры приходят
|
|
61
|
+
* слотом, и не отрисовать чужой узел лента не может — но может попросить его
|
|
62
|
+
* не рисовать своё нутро. Пустая обёртка держит место в ряду и весит
|
|
63
|
+
* пренебрежимо мало, а тяжёлое (картинки, карточки) уходит из DOM.
|
|
64
|
+
*/
|
|
65
|
+
shouldRender: (id: string) => boolean;
|
|
45
66
|
}
|
|
46
67
|
export declare const GR_CAROUSEL_CONTEXT: InjectionKey<GrCarouselContext>;
|
|
@@ -23,24 +23,54 @@ export declare function grCarouselThumbActiveClass(tone: GrTone): string;
|
|
|
23
23
|
export declare const GR_CAROUSEL_ACTIVATION_MODES: readonly ["automatic", "manual"];
|
|
24
24
|
export type GrCarouselActivationMode = typeof GR_CAROUSEL_ACTIVATION_MODES[number];
|
|
25
25
|
export declare const carouselRootBase = "relative w-full";
|
|
26
|
+
/**
|
|
27
|
+
* Вертикальная лента: высоту задаёт потребитель **на корне**, а вьюпорт обязан
|
|
28
|
+
* её получить.
|
|
29
|
+
*
|
|
30
|
+
* Иначе высота вьюпорта выводится из содержимого, процентная `flex-basis`
|
|
31
|
+
* кадров упирается в неопределённый размер и вырождается в высоту содержимого —
|
|
32
|
+
* кадры встают столбцом, а лента честно считает шаг от суммы. Отсюда колонка на
|
|
33
|
+
* корне и `flex-1 min-h-0` на вьюпорте: полоса переключателей остаётся под ним,
|
|
34
|
+
* а вьюпорт забирает остаток.
|
|
35
|
+
*/
|
|
36
|
+
export declare const carouselRootAxis: Record<GrCarouselOrientation, string>;
|
|
37
|
+
export declare const carouselViewportAxis: Record<GrCarouselOrientation, string>;
|
|
26
38
|
export declare const carouselViewportBase = "relative w-full overflow-hidden";
|
|
27
39
|
/**
|
|
28
40
|
* Вертикальная прокрутка страницы остаётся браузеру, горизонталь забирает лента.
|
|
29
41
|
* `select-none` — против выделения текста слайда протяжкой.
|
|
30
42
|
*/
|
|
31
|
-
export declare const carouselViewportSwipeClass = "
|
|
32
|
-
export declare const carouselTrackBase = "flex
|
|
33
|
-
export declare const
|
|
43
|
+
export declare const carouselViewportSwipeClass = "select-none";
|
|
44
|
+
export declare const carouselTrackBase = "flex will-change-transform transition-transform duration-[var(--gr-duration-base)] ease-[var(--gr-ease-out)]";
|
|
45
|
+
export declare const GR_CAROUSEL_ORIENTATIONS: readonly ["horizontal", "vertical"];
|
|
46
|
+
export type GrCarouselOrientation = typeof GR_CAROUSEL_ORIENTATIONS[number];
|
|
47
|
+
export declare const carouselSlideBase = "shrink-0 grow-0 basis-full";
|
|
48
|
+
/**
|
|
49
|
+
* Кадр занимает вьюпорт целиком по оси движения. Поперёк оси он не ограничен:
|
|
50
|
+
* там размер задаёт содержимое, как и раньше.
|
|
51
|
+
*/
|
|
52
|
+
export declare const carouselSlideAxis: Record<GrCarouselOrientation, string>;
|
|
53
|
+
/**
|
|
54
|
+
* Направление ленты. По вертикали ей нужна **определённая высота вьюпорта**:
|
|
55
|
+
* `translateY(-100%)` считается от высоты самой ленты, а она у колонки равна
|
|
56
|
+
* сумме кадров, если вьюпорт высоту не задал.
|
|
57
|
+
*/
|
|
58
|
+
export declare const carouselTrackAxis: Record<GrCarouselOrientation, string>;
|
|
59
|
+
/** Жест по оси движения перехватывается лентой, поперёк — отдаётся странице. */
|
|
60
|
+
export declare const carouselViewportTouchAction: Record<GrCarouselOrientation, string>;
|
|
61
|
+
/**
|
|
62
|
+
* Стрелки стоят по оси движения. По горизонтали позиции логические
|
|
63
|
+
* (`start`/`end`) — они зеркалятся под RTL; по вертикали направление письма ни
|
|
64
|
+
* при чём, поэтому там физические `top`/`bottom`.
|
|
65
|
+
*/
|
|
66
|
+
export declare const carouselControlAxis: Record<GrCarouselOrientation, string>;
|
|
34
67
|
/**
|
|
35
68
|
* Стрелки лежат поверх произвольного содержимого, поэтому несут собственную
|
|
36
69
|
* подложку: на светлом кадре иконка без неё пропадает. `z-10` — порядок внутри
|
|
37
70
|
* собственного stacking-контекста компонента, а не слой страницы.
|
|
38
71
|
*/
|
|
39
|
-
export declare const carouselControlBase = "absolute
|
|
40
|
-
export declare const carouselControlPositions:
|
|
41
|
-
readonly prev: "start-2";
|
|
42
|
-
readonly next: "end-2";
|
|
43
|
-
};
|
|
72
|
+
export declare const carouselControlBase = "absolute z-10 inline-flex h-9 w-9 items-center justify-center rounded-[var(--gr-radius-full)] border border-[var(--gr-brd)] bg-[var(--gr-carousel-control-bg,var(--gr-bg))] text-[var(--gr-carousel-control-fg,var(--gr-fg))] transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]";
|
|
73
|
+
export declare const carouselControlPositions: Record<GrCarouselOrientation, Record<'prev' | 'next', string>>;
|
|
44
74
|
/**
|
|
45
75
|
* Стрелка на краю без `loop` гасится фоном, а не `opacity`: прозрачность
|
|
46
76
|
* разбавляет выверенные на AA токены текста и роняет контраст.
|
|
@@ -75,6 +105,6 @@ export declare const carouselThumbStates: {
|
|
|
75
105
|
export declare const carouselThumbImageClass = "h-full w-full object-cover";
|
|
76
106
|
/** Миниатюры не дали — плитка держит ритм полосы номером слайда. */
|
|
77
107
|
export declare const carouselThumbFallbackClass = "flex h-full w-full items-center justify-center bg-[var(--gr-muted)] text-[var(--gr-muted-fg)] text-[length:var(--gr-control-text-xs)] leading-[var(--gr-control-leading-xs)]";
|
|
78
|
-
export declare function grCarouselControlClass(direction: 'prev' | 'next', disabled: boolean): string;
|
|
108
|
+
export declare function grCarouselControlClass(direction: 'prev' | 'next', disabled: boolean, orientation?: GrCarouselOrientation): string;
|
|
79
109
|
export declare function grCarouselIndicatorsClass(variant: GrCarouselIndicators): string;
|
|
80
110
|
export declare function grCarouselIndicatorClass(variant: GrCarouselIndicators, active: boolean, tone?: GrTone): string;
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { type GrCheckboxLabelPosition, type GrCheckboxSize } from './grCheckboxStyles';
|
|
2
2
|
export type { GrCheckboxLabelPosition, GrCheckboxSize } from './grCheckboxStyles';
|
|
3
3
|
export interface GrCheckboxProps {
|
|
4
|
+
/**
|
|
5
|
+
* Остановка `Tab` у самого переключателя.
|
|
6
|
+
*
|
|
7
|
+
* Нужна составным виджетам, которые забирают таб-порядок себе: в сетке
|
|
8
|
+
* `GrDataTable` (`cell-navigation`) `Tab` принадлежит таблице целиком, и
|
|
9
|
+
* чекбокс в ячейке своей остановки держать не должен — до него добираются
|
|
10
|
+
* стрелкой до ячейки и `Enter`. Выключенный переключатель остаётся вне
|
|
11
|
+
* обхода в любом случае.
|
|
12
|
+
*/
|
|
13
|
+
tabindex?: number;
|
|
4
14
|
/** Не задан внутри `GrCheckboxGroup` — состояние берётся из группы. */
|
|
5
15
|
modelValue?: boolean;
|
|
6
16
|
disabled?: boolean;
|
|
@@ -38,6 +48,7 @@ declare function focus(): void;
|
|
|
38
48
|
declare function blur(): void;
|
|
39
49
|
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrCheckboxProps>, {
|
|
40
50
|
modelValue: undefined;
|
|
51
|
+
tabindex: undefined;
|
|
41
52
|
disabled: undefined;
|
|
42
53
|
name: undefined;
|
|
43
54
|
value: string;
|
|
@@ -60,6 +71,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
60
71
|
blur: (event: FocusEvent) => void;
|
|
61
72
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrCheckboxProps>, {
|
|
62
73
|
modelValue: undefined;
|
|
74
|
+
tabindex: undefined;
|
|
63
75
|
disabled: undefined;
|
|
64
76
|
name: undefined;
|
|
65
77
|
value: string;
|
|
@@ -87,6 +99,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
87
99
|
name: string;
|
|
88
100
|
invalid: boolean;
|
|
89
101
|
id: string;
|
|
102
|
+
tabindex: number;
|
|
90
103
|
ariaLabel: string;
|
|
91
104
|
modelValue: boolean;
|
|
92
105
|
required: boolean;
|
|
@@ -1,10 +1,20 @@
|
|
|
1
|
-
import { type GrColorPickerSize } from './grColorPickerStyles';
|
|
2
|
-
export type { GrColorPickerSize } from './grColorPickerStyles';
|
|
1
|
+
import { type GrColorPickerSize, type GrColorPickerView } from './grColorPickerStyles';
|
|
2
|
+
export type { GrColorPickerSize, GrColorPickerView } from './grColorPickerStyles';
|
|
3
3
|
export interface GrColorPickerProps {
|
|
4
4
|
/** Цвет в hex: `#RRGGBB`, а при `alpha` — `#RRGGBBAA`. Мусор не роняет компонент. */
|
|
5
5
|
modelValue: string;
|
|
6
6
|
/** Четвёртый слайдер и восьмизначная форма hex. */
|
|
7
7
|
alpha?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* Как задаются насыщенность и светлота: двумя бегунками или квадратом.
|
|
10
|
+
* Оттенок и прозрачность остаются бегунками в обоих видах.
|
|
11
|
+
*/
|
|
12
|
+
view?: GrColorPickerView;
|
|
13
|
+
/**
|
|
14
|
+
* Кнопка пипетки. Рисуется только там, где браузер даёт `EyeDropper`, —
|
|
15
|
+
* сегодня это Chromium.
|
|
16
|
+
*/
|
|
17
|
+
eyedropper?: boolean;
|
|
8
18
|
/** Палитра быстрого выбора. Пусто — блок не рендерится. */
|
|
9
19
|
presets?: string[];
|
|
10
20
|
size?: GrColorPickerSize;
|
|
@@ -32,6 +42,8 @@ declare function focus(): void;
|
|
|
32
42
|
declare function blur(): void;
|
|
33
43
|
declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrColorPickerProps>, {
|
|
34
44
|
alpha: boolean;
|
|
45
|
+
view: undefined;
|
|
46
|
+
eyedropper: undefined;
|
|
35
47
|
presets: () => never[];
|
|
36
48
|
size: undefined;
|
|
37
49
|
open: undefined;
|
|
@@ -53,6 +65,8 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
53
65
|
blur: (event: FocusEvent) => void;
|
|
54
66
|
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrColorPickerProps>, {
|
|
55
67
|
alpha: boolean;
|
|
68
|
+
view: undefined;
|
|
69
|
+
eyedropper: undefined;
|
|
56
70
|
presets: () => never[];
|
|
57
71
|
size: undefined;
|
|
58
72
|
open: undefined;
|
|
@@ -73,7 +87,9 @@ declare const __VLS_export: import("vue").DefineComponent<import("vue").ExtractP
|
|
|
73
87
|
placement: "bottom-start" | "bottom-end" | "top-start" | "top-end";
|
|
74
88
|
disabled: boolean;
|
|
75
89
|
readonly: boolean;
|
|
90
|
+
view: GrColorPickerView;
|
|
76
91
|
size: GrColorPickerSize;
|
|
92
|
+
eyedropper: boolean;
|
|
77
93
|
name: string;
|
|
78
94
|
invalid: boolean;
|
|
79
95
|
alpha: boolean;
|
|
@@ -34,5 +34,17 @@ export declare function parseHexColor(value: unknown): GrHsla | null;
|
|
|
34
34
|
export declare function formatHexColor(color: GrHsla, withAlpha?: boolean): string;
|
|
35
35
|
/** CSS-запись цвета для превью и градиентов. */
|
|
36
36
|
export declare function hslaToCss(color: GrHsla): string;
|
|
37
|
-
/**
|
|
37
|
+
/**
|
|
38
|
+
* Приводит произвольный объект к валидному диапазону каналов.
|
|
39
|
+
*
|
|
40
|
+
* Округления нет ни у одного канала, и это то же правило, что у `normalizeHue`,
|
|
41
|
+
* распространённое на насыщенность и светлоту: целочисленная сетка HSL мельче
|
|
42
|
+
* сетки hex, и посадка на неё меняет цвет. Замер на типовых брендовых
|
|
43
|
+
* значениях — 11 расхождений из 12: `#10b981` возвращался как `#10b77f`.
|
|
44
|
+
* Пользователь при этом ничего не двигал, а компонент уже переписал его цвет —
|
|
45
|
+
* достаточно было выбрать пресет или вставить hex в поле.
|
|
46
|
+
*
|
|
47
|
+
* Целые нужны шкалам, и они их и получают: бегунок читает `Math.round` своего
|
|
48
|
+
* канала, а хранимое значение остаётся точным.
|
|
49
|
+
*/
|
|
38
50
|
export declare function normalizeHsla(color: GrHsla): GrHsla;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Арифметика двумерной области насыщенность × светлота.
|
|
3
|
+
*
|
|
4
|
+
* Модуль чистый: ни DOM, ни Vue. Всё, что здесь считается, проверяется без
|
|
5
|
+
* монтирования — а в jsdom у области нет ни размеров, ни попадания указателя.
|
|
6
|
+
*
|
|
7
|
+
* Оси выбраны под модель компонента (HSL), а не под привычный HSV-квадрат.
|
|
8
|
+
* Перевод в HSV дал бы более нарядную заливку, но принёс бы вторую проекцию с
|
|
9
|
+
* потерями: при `v = 0` насыщенность HSV не определена, и чёрный терял бы её
|
|
10
|
+
* ровно так же, как серый теряет оттенок. Компонент уже держит своё состояние
|
|
11
|
+
* именно чтобы такого не было.
|
|
12
|
+
*/
|
|
13
|
+
export type GrColorAreaAxis = 'saturation' | 'lightness';
|
|
14
|
+
/** Точка области в процентах: обе координаты — значения каналов, а не пиксели. */
|
|
15
|
+
export interface GrColorAreaPoint {
|
|
16
|
+
s: number;
|
|
17
|
+
l: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Положение ручки в процентах от левого верхнего угла.
|
|
21
|
+
*
|
|
22
|
+
* Светлота инвертирована: вверху области белое, внизу чёрное — так стоит
|
|
23
|
+
* вертикальная шкала во всех привычных пикерах, и переворачивать её значило бы
|
|
24
|
+
* ломать ожидание ради буквальности.
|
|
25
|
+
*/
|
|
26
|
+
export declare function colorAreaThumbPosition(point: GrColorAreaPoint): {
|
|
27
|
+
x: number;
|
|
28
|
+
y: number;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Значение под указателем.
|
|
32
|
+
*
|
|
33
|
+
* Прямоугольник приходит снаружи: измерять его умеет только вызывающий, а
|
|
34
|
+
* промах мимо области — норма, указатель уходит за её границы при каждом
|
|
35
|
+
* протягивании.
|
|
36
|
+
*/
|
|
37
|
+
export declare function colorAreaPointAt(pointer: {
|
|
38
|
+
clientX: number;
|
|
39
|
+
clientY: number;
|
|
40
|
+
}, rect: {
|
|
41
|
+
left: number;
|
|
42
|
+
top: number;
|
|
43
|
+
width: number;
|
|
44
|
+
height: number;
|
|
45
|
+
}): GrColorAreaPoint;
|
|
46
|
+
/**
|
|
47
|
+
* Клавиша → новое значение и ось, которая изменилась.
|
|
48
|
+
*
|
|
49
|
+
* Ось возвращается не для отчёта: у области два настоящих `input[type=range]`,
|
|
50
|
+
* по одному на канал, и стрелка поперёк оси сфокусированного поля обязана
|
|
51
|
+
* увести фокус на соседнее — иначе диктор промолчит о том, что изменилось.
|
|
52
|
+
*
|
|
53
|
+
* `Home`/`End` и крупный шаг работают по оси **сфокусированного** поля: они
|
|
54
|
+
* относятся к диапазону, а диапазонов здесь два.
|
|
55
|
+
*/
|
|
56
|
+
export declare function colorAreaKeyStep(key: string, point: GrColorAreaPoint, focused: GrColorAreaAxis): {
|
|
57
|
+
point: GrColorAreaPoint;
|
|
58
|
+
axis: GrColorAreaAxis;
|
|
59
|
+
} | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { GrColorPickerSize } from './grColorPickerStyles';
|
|
1
|
+
import type { GrColorPickerSize, GrColorPickerView } from './grColorPickerStyles';
|
|
2
2
|
/**
|
|
3
3
|
* Пропы `GrColorPicker`, настраиваемые глобально через `componentDefaults`.
|
|
4
4
|
*
|
|
@@ -7,6 +7,8 @@ import type { GrColorPickerSize } from './grColorPickerStyles';
|
|
|
7
7
|
*/
|
|
8
8
|
export interface GrColorPickerConfigurableProps {
|
|
9
9
|
size: GrColorPickerSize;
|
|
10
|
+
view: GrColorPickerView;
|
|
11
|
+
eyedropper: boolean;
|
|
10
12
|
}
|
|
11
13
|
declare module '../../composables/useGrComponentConfig' {
|
|
12
14
|
interface GrComponentDefaultsRegistry {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Пипетка экрана поверх `EyeDropper`.
|
|
3
|
+
*
|
|
4
|
+
* API есть не везде (сегодня — браузеры на Chromium), поэтому вызывается через
|
|
5
|
+
* проверку, а не через `try`: кнопка не должна появляться там, где нажатие
|
|
6
|
+
* ничего не даст.
|
|
7
|
+
*
|
|
8
|
+
* Отказ пользователя ошибкой не считается. `open()` отклоняется `AbortError`
|
|
9
|
+
* и на `Esc`, и на обрыв через `AbortSignal` — оба исхода означают «цвет не
|
|
10
|
+
* выбран», и разговаривать о них с пользователем не о чем.
|
|
11
|
+
*/
|
|
12
|
+
/** Поддерживается ли пипетка. Зовётся после монтирования: на сервере `window` нет. */
|
|
13
|
+
export declare function isEyeDropperSupported(): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Открыть пипетку и дождаться цвета. `null` — пользователь отказался или API
|
|
16
|
+
* недоступно.
|
|
17
|
+
*
|
|
18
|
+
* Вызов обязан идти прямо из обработчика нажатия: без свежего жеста браузер
|
|
19
|
+
* отклоняет `open()` как `NotAllowedError`.
|
|
20
|
+
*/
|
|
21
|
+
export declare function pickScreenColor(signal?: AbortSignal): Promise<string | null>;
|
|
@@ -24,6 +24,43 @@ export declare const swatchBaseClass = "relative shrink-0 overflow-hidden rounde
|
|
|
24
24
|
export declare const swatchFillClass = "absolute inset-0";
|
|
25
25
|
export declare const panelBaseClass = "grid";
|
|
26
26
|
export declare const previewClass = "relative h-10 w-full overflow-hidden rounded-[var(--gr-radius-md)] border border-[color-mix(in_srgb,var(--gr-fg)_18%,transparent)]";
|
|
27
|
+
/** Вид панели: лестница каналов или квадрат насыщенность × светлота. */
|
|
28
|
+
export declare const GR_COLOR_PICKER_VIEWS: readonly ["sliders", "area"];
|
|
29
|
+
export type GrColorPickerView = typeof GR_COLOR_PICKER_VIEWS[number];
|
|
30
|
+
/**
|
|
31
|
+
* Высота области. Ширину задаёт панель, поэтому квадрат тут не буквальный:
|
|
32
|
+
* на узкой ступени доля высоты крупнее, иначе область вырождается в полоску.
|
|
33
|
+
*/
|
|
34
|
+
export declare const areaHeightBySize: Record<GrColorPickerSize, string>;
|
|
35
|
+
/**
|
|
36
|
+
* Область насыщенности и светлоты.
|
|
37
|
+
*
|
|
38
|
+
* Кольцо фокуса живёт на обёртке через `focus-within`: фокус получают скрытые
|
|
39
|
+
* `input[type=range]` внутри, и своё кольцо у них было бы шириной в пиксель.
|
|
40
|
+
*/
|
|
41
|
+
export declare const areaBaseClass = "relative w-full overflow-hidden rounded-[var(--gr-radius-md)] border border-[color-mix(in_srgb,var(--gr-fg)_18%,transparent)] [touch-action:none] focus-within:outline-none focus-within:ring-2 focus-within:ring-[var(--gr-ring)]";
|
|
42
|
+
export declare const areaEnabledClass = "cursor-crosshair";
|
|
43
|
+
export declare const areaDisabledClass = "cursor-not-allowed";
|
|
44
|
+
/**
|
|
45
|
+
* Ручка области.
|
|
46
|
+
*
|
|
47
|
+
* Обвода два, светлый и тёмный: ручка лежит поверх произвольного цвета, и
|
|
48
|
+
* одиночный пропадал бы на своём конце шкалы — белый в углу белого, тёмный в
|
|
49
|
+
* углу чёрного.
|
|
50
|
+
*
|
|
51
|
+
* Оба независимы от темы намеренно: под ручкой не подложка компонента, а
|
|
52
|
+
* выбираемый цвет, и `--gr-fg` спорил бы с ним, а не с фоном страницы.
|
|
53
|
+
*/
|
|
54
|
+
export declare const areaThumbClass = "pointer-events-none absolute h-[var(--gr-color-picker-area-thumb-size,0.875rem)] w-[var(--gr-color-picker-area-thumb-size,0.875rem)] -translate-x-1/2 -translate-y-1/2 rounded-[var(--gr-radius-full)] border-2 border-[var(--gr-color-picker-area-thumb-border,#fff)] shadow-[0_0_0_1px_var(--gr-color-picker-area-thumb-ring,rgba(0,0,0,0.45))]";
|
|
55
|
+
/** Оба поля осей: доступны диктору и клавиатуре, но не видны. */
|
|
56
|
+
export declare const areaInputClass = "sr-only";
|
|
57
|
+
/** Пипетка стоит в одном ряду с полем hex и повторяет его высоту. */
|
|
58
|
+
export declare const eyedropperClass = "inline-flex shrink-0 items-center justify-center rounded-[var(--gr-radius-control)] border border-[var(--gr-brd)] bg-[var(--gr-bg)] text-[var(--gr-fg)] transition-colors duration-[var(--gr-duration-fast)] hover:border-[var(--gr-primary)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)] disabled:cursor-not-allowed disabled:border-[var(--gr-brd)] disabled:bg-[var(--gr-muted)] disabled:text-[var(--gr-disabled-fg)]";
|
|
59
|
+
export declare const eyedropperSizeBySize: Record<GrColorPickerSize, string>;
|
|
60
|
+
export declare const eyedropperIconClass = "h-4 w-4 shrink-0";
|
|
61
|
+
/** Поле hex и пипетка стоят рядом: поле тянется, кнопка держит свою ширину. */
|
|
62
|
+
export declare const hexRowClass = "flex items-center gap-2";
|
|
63
|
+
export declare const hexFieldClass = "min-w-0 flex-1";
|
|
27
64
|
export declare const rowClass = "grid grid-cols-[1.25rem_minmax(0,1fr)_2.75rem] items-center gap-2";
|
|
28
65
|
export declare const rowLabelClass = "text-[var(--gr-muted-fg)]";
|
|
29
66
|
export declare const rowValueClass = "text-right text-[var(--gr-muted-fg)] tabular-nums";
|
|
@@ -37,3 +74,8 @@ export declare function grColorPickerTriggerClass(options: {
|
|
|
37
74
|
}): string;
|
|
38
75
|
export declare function grColorPickerPanelClass(size: GrColorPickerSize): string;
|
|
39
76
|
export declare function grColorPickerPresetClass(selected: boolean): string;
|
|
77
|
+
export declare function grColorPickerAreaClass(options: {
|
|
78
|
+
size: GrColorPickerSize;
|
|
79
|
+
locked: boolean;
|
|
80
|
+
}): string;
|
|
81
|
+
export declare function grColorPickerEyedropperClass(size: GrColorPickerSize): string;
|
|
@@ -29,6 +29,12 @@ export interface GrCommandPaletteProps {
|
|
|
29
29
|
size?: GrCommandPaletteSize;
|
|
30
30
|
/** Глобальное сочетание открытия. `null` — не вешать слушатель. */
|
|
31
31
|
hotkey?: string | null;
|
|
32
|
+
/**
|
|
33
|
+
* Идентификатор записи в реестре (`granularityHotkeysPlugin`) вместо
|
|
34
|
+
* сочетания строкой: подсказка и привязка берутся из одного источника и не
|
|
35
|
+
* могут разойтись. Сильнее `hotkey`.
|
|
36
|
+
*/
|
|
37
|
+
hotkeyId?: string;
|
|
32
38
|
/** Локальная фильтрация по запросу. `false` — фильтрует владелец по событию `search`. */
|
|
33
39
|
filterable?: boolean;
|
|
34
40
|
/** Кастомный матчер локальной фильтрации. */
|
|
@@ -83,6 +89,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
83
89
|
placeholder: undefined;
|
|
84
90
|
size: undefined;
|
|
85
91
|
hotkey: string;
|
|
92
|
+
hotkeyId: undefined;
|
|
86
93
|
filterable: boolean;
|
|
87
94
|
filter: undefined;
|
|
88
95
|
loading: boolean;
|
|
@@ -106,6 +113,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
106
113
|
placeholder: undefined;
|
|
107
114
|
size: undefined;
|
|
108
115
|
hotkey: string;
|
|
116
|
+
hotkeyId: undefined;
|
|
109
117
|
filterable: boolean;
|
|
110
118
|
filter: undefined;
|
|
111
119
|
loading: boolean;
|
|
@@ -131,8 +139,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
131
139
|
closeOnSelect: boolean;
|
|
132
140
|
virtual: boolean;
|
|
133
141
|
items: GrCommandItem[];
|
|
134
|
-
recentIds: string[];
|
|
135
142
|
hotkey: string | null;
|
|
143
|
+
recentIds: string[];
|
|
144
|
+
hotkeyId: string;
|
|
136
145
|
showHotkeyHint: boolean;
|
|
137
146
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
138
147
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|