@feugene/granularity 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{config-Zc_bUvZY2.js → config-BDfTXHo12.js} +1 -1
- package/dist/chunks/{config-Zc_bUvZY2.js.map → config-BDfTXHo12.js.map} +1 -1
- package/dist/chunks/config-BE6n20np2.js.map +1 -0
- package/dist/chunks/{config-CpwwkFBO.js → config-Baj7Wvx-.js} +1 -1
- package/dist/chunks/{config-CpwwkFBO.js.map → config-Baj7Wvx-.js.map} +1 -1
- package/dist/chunks/config-BoNR7_PD2.js.map +1 -0
- package/dist/chunks/{config-DxCTVBfx.js → config-BsPDQ0dS.js} +2 -2
- package/dist/chunks/config-BsPDQ0dS.js.map +1 -0
- package/dist/chunks/config-CN2ULSQL.js.map +1 -0
- package/dist/chunks/{config-Cw6TDzWv2.js → config-COpuWGr_.js} +1 -1
- package/dist/chunks/config-COpuWGr_.js.map +1 -0
- package/dist/chunks/config-D2aNP7Es.js +70 -0
- package/dist/chunks/config-D2aNP7Es.js.map +1 -0
- package/dist/chunks/config-D94Z9po5.js.map +1 -0
- package/dist/chunks/{config-B-g6lT19.js → config-DA6SnEoy.js} +5 -2
- package/dist/chunks/config-DA6SnEoy.js.map +1 -0
- package/dist/chunks/config-DCFvmHEv2.js.map +1 -0
- package/dist/chunks/config-DEvsMTQE.js +150 -0
- package/dist/chunks/config-DEvsMTQE.js.map +1 -0
- package/dist/chunks/{config-CvC0sX8p.js → config-MRvhUl-O.js} +1 -1
- package/dist/chunks/{config-CvC0sX8p.js.map → config-MRvhUl-O.js.map} +1 -1
- package/dist/chunks/config-ScuvHw6k2.js +42 -0
- package/dist/chunks/config-ScuvHw6k2.js.map +1 -0
- package/dist/chunks/config-T3qdQBgU2.js.map +1 -0
- package/dist/chunks/config-eXB87DOi.js.map +1 -0
- package/dist/chunks/{config-D8tSR2uS.js → config-gvq_hWNM.js} +1 -1
- package/dist/chunks/{config-D8tSR2uS.js.map → config-gvq_hWNM.js.map} +1 -1
- package/dist/chunks/context-BSYR7RZs.js.map +1 -1
- package/dist/chunks/{en-B3xMeswz.js → en-COdzxgAX.js} +30 -5
- package/dist/chunks/en-COdzxgAX.js.map +1 -0
- package/dist/chunks/{es-CA-mkU--.js → es-ClqJ-4hr.js} +30 -5
- package/dist/chunks/es-ClqJ-4hr.js.map +1 -0
- package/dist/chunks/{es-Bv8vvqdT.js → es-DGMHwknJ.js} +3 -3
- package/dist/chunks/{es-Bv8vvqdT.js.map → es-DGMHwknJ.js.map} +1 -1
- package/dist/chunks/grKbdStyles-CeZhGQHr.js +43 -0
- package/dist/chunks/grKbdStyles-CeZhGQHr.js.map +1 -0
- package/dist/chunks/{grTextareaStyles-CWI2SqC8.js → grTextareaStyles-iOcHuVMM.js} +2 -2
- package/dist/chunks/{grTextareaStyles-CWI2SqC8.js.map → grTextareaStyles-iOcHuVMM.js.map} +1 -1
- package/dist/chunks/{granular-provider-CtrXGa7c.js → granular-provider-B9nXQCMu.js} +18 -16
- package/dist/chunks/granular-provider-B9nXQCMu.js.map +1 -0
- package/dist/chunks/{keyboard-zYvvyHd4.js → keyboard-DE2yhz_b.js} +10 -1
- package/dist/chunks/keyboard-DE2yhz_b.js.map +1 -0
- package/dist/chunks/{optionFilter-BVY988pC.js → optionFilter-DYw9XPPx.js} +1 -71
- package/dist/chunks/optionFilter-DYw9XPPx.js.map +1 -0
- package/dist/chunks/{useOverlayLayer-BupuP_hs.js → overlayStack-C8cfsqXa.js} +11 -61
- package/dist/chunks/overlayStack-C8cfsqXa.js.map +1 -0
- package/dist/chunks/{ru-COWxgh2A.js → ru-9z8ix45c.js} +30 -5
- package/dist/chunks/ru-9z8ix45c.js.map +1 -0
- package/dist/chunks/useDragSort-0l47h4yb.js +265 -0
- package/dist/chunks/useDragSort-0l47h4yb.js.map +1 -0
- package/dist/chunks/{useModalOverlay-DCM4d3yA.js → useModalOverlay-BTq-0ImG.js} +1 -1
- package/dist/chunks/{useModalOverlay-DCM4d3yA.js.map → useModalOverlay-BTq-0ImG.js.map} +1 -1
- package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-CQ9T7Lly.js → GrAutocomplete-CPEQxmLZ.js} +4 -3
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-CPEQxmLZ.js.map +1 -0
- package/dist/components/GrAutocomplete/index.js +1 -1
- package/dist/components/GrAutocomplete/styles.css +1 -1
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-bnYBRGk8.js → GrColorPicker-DAdQ-Gc3.js} +4 -4
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-bnYBRGk8.js.map → GrColorPicker-DAdQ-Gc3.js.map} +1 -1
- package/dist/components/GrColorPicker/index.js +2 -2
- package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-MWDYDPNC.js → GrCommandPalette-DMeSqkEv.js} +6 -7
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-DMeSqkEv.js.map +1 -0
- package/dist/components/GrCommandPalette/index.js +1 -1
- package/dist/components/GrCommandPalette/styles.css +1 -1
- package/dist/components/GrConfigProvider/index.js +2 -2
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-DaQmlp1_.js → GrConfirmDialog-hUTi-GdJ.js} +1 -1
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-DaQmlp1_.js.map → GrConfirmDialog-hUTi-GdJ.js.map} +1 -1
- package/dist/components/GrConfirmDialog/index.js +1 -1
- package/dist/components/GrDataTable/chunks/{GrDataTable-DVFho9Cj.js → GrDataTable-DzaGLG3A.js} +495 -47
- package/dist/components/GrDataTable/chunks/GrDataTable-DzaGLG3A.js.map +1 -0
- package/dist/components/GrDataTable/index.js +2 -2
- package/dist/components/GrDialog/chunks/{GrDialog-AE1gIZuz.js → GrDialog-MD9Fzy9C.js} +1 -1
- package/dist/components/GrDialog/chunks/{GrDialog-AE1gIZuz.js.map → GrDialog-MD9Fzy9C.js.map} +1 -1
- package/dist/components/GrDialog/index.js +1 -1
- package/dist/components/GrDialogService/chunks/{GrDialogService-B4DYWDkA.js → GrDialogService-DtgUijMj.js} +2 -2
- package/dist/components/GrDialogService/chunks/{GrDialogService-B4DYWDkA.js.map → GrDialogService-DtgUijMj.js.map} +1 -1
- package/dist/components/GrDialogService/index.js +1 -1
- package/dist/components/GrDrawer/chunks/{GrDrawer-DQwi6aRw.js → GrDrawer-DWHdZZzW.js} +2 -2
- package/dist/components/GrDrawer/chunks/{GrDrawer-DQwi6aRw.js.map → GrDrawer-DWHdZZzW.js.map} +1 -1
- package/dist/components/GrDrawer/index.js +2 -2
- package/dist/components/GrDropdown/chunks/{GrDropdown-BLng6V1m.js → GrDropdown-0tJK01Kq.js} +2 -2
- package/dist/components/GrDropdown/chunks/{GrDropdown-BLng6V1m.js.map → GrDropdown-0tJK01Kq.js.map} +1 -1
- package/dist/components/GrDropdown/index.js +1 -1
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-BImk2Vs7.js → GrDropdownMenu-VPPrpCoA.js} +1 -1
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-BImk2Vs7.js.map → GrDropdownMenu-VPPrpCoA.js.map} +1 -1
- package/dist/components/GrDropdownMenu/index.js +1 -1
- package/dist/components/GrFileUpload/chunks/{GrFileUpload-D0B-BEsd.js → GrFileUpload-DuDzC43S.js} +2 -2
- package/dist/components/GrFileUpload/chunks/{GrFileUpload-D0B-BEsd.js.map → GrFileUpload-DuDzC43S.js.map} +1 -1
- package/dist/components/GrFileUpload/index.js +1 -1
- package/dist/components/GrImageViewer/chunks/{GrImageViewer-BeCnE8XQ.js → GrImageViewer-DE7MBbF8.js} +46 -22
- package/dist/components/GrImageViewer/chunks/GrImageViewer-DE7MBbF8.js.map +1 -0
- package/dist/components/GrImageViewer/index.js +1 -1
- package/dist/components/GrInput/chunks/{GrInput-DD2gYdqS.js → GrInput-2wd7Crs0.js} +1 -1
- package/dist/components/GrInput/chunks/GrInput-2wd7Crs0.js.map +1 -0
- package/dist/components/GrInput/index.js +1 -1
- package/dist/components/GrInputTag/chunks/{GrInputTag-DmNunixz.js → GrInputTag-CyV2eY7Z.js} +20 -33
- package/dist/components/GrInputTag/chunks/GrInputTag-CyV2eY7Z.js.map +1 -0
- package/dist/components/GrInputTag/index.js +1 -1
- package/dist/components/GrKbd/chunks/{GrKbd-DRFPvW3G.js → GrKbd-DU2lBkRV.js} +218 -52
- package/dist/components/GrKbd/chunks/GrKbd-DU2lBkRV.js.map +1 -0
- package/dist/components/GrKbd/index.js +3 -3
- package/dist/components/GrModal/chunks/{GrModal-B8I78T0N.js → GrModal-BbhcsDQ8.js} +1 -1
- package/dist/components/GrModal/chunks/{GrModal-B8I78T0N.js.map → GrModal-BbhcsDQ8.js.map} +1 -1
- package/dist/components/GrModal/index.js +1 -1
- package/dist/components/GrPagination/chunks/{GrPagination-B6N0QZBf.js → GrPagination-waKhxBP7.js} +4 -4
- package/dist/components/GrPagination/chunks/GrPagination-waKhxBP7.js.map +1 -0
- package/dist/components/GrPagination/index.js +1 -1
- package/dist/components/GrPopover/chunks/{GrPopover-B1eRCOoO.js → GrPopover-DuqeoFaI.js} +1 -1
- package/dist/components/GrPopover/chunks/{GrPopover-B1eRCOoO.js.map → GrPopover-DuqeoFaI.js.map} +1 -1
- package/dist/components/GrPopover/index.js +1 -1
- package/dist/components/GrProgressBar/chunks/{GrProgressBar-BiHnaitu.js → GrProgressBar-xwbNM9QB.js} +1 -1
- package/dist/components/GrProgressBar/chunks/GrProgressBar-xwbNM9QB.js.map +1 -0
- package/dist/components/GrProgressBar/index.js +1 -1
- package/dist/components/GrProgressCircle/chunks/{GrProgressCircle-CTogjcHz.js → GrProgressCircle-B8olXRo5.js} +1 -1
- package/dist/components/GrProgressCircle/chunks/{GrProgressCircle-CTogjcHz.js.map → GrProgressCircle-B8olXRo5.js.map} +1 -1
- package/dist/components/GrProgressCircle/index.js +2 -2
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-Ct174NVD.js → GrPromptDialog-JVVqBsPY.js} +3 -3
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-Ct174NVD.js.map → GrPromptDialog-JVVqBsPY.js.map} +1 -1
- package/dist/components/GrPromptDialog/index.js +1 -1
- package/dist/components/GrRadio/chunks/{GrRadio-DksDro_U.js → GrRadio-DWiRaMzt.js} +8 -32
- package/dist/components/GrRadio/chunks/GrRadio-DWiRaMzt.js.map +1 -0
- package/dist/components/GrRadio/index.js +1 -1
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-BOIhejE6.js → GrRadioGroup-DIuBw0wk.js} +34 -27
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-DIuBw0wk.js.map +1 -0
- package/dist/components/GrRadioGroup/index.js +1 -1
- package/dist/components/GrRating/chunks/{GrRating-JrHXz0Rv.js → GrRating-LarIiwJL.js} +2 -2
- package/dist/components/GrRating/chunks/GrRating-LarIiwJL.js.map +1 -0
- package/dist/components/GrRating/index.js +2 -2
- package/dist/components/GrSegmented/chunks/{GrSegmented-BQIlH5KI.js → GrSegmented-CQw3ijqa.js} +47 -65
- package/dist/components/GrSegmented/chunks/GrSegmented-CQw3ijqa.js.map +1 -0
- package/dist/components/GrSegmented/index.js +1 -1
- package/dist/components/GrSelect/chunks/{GrSelect-aqkPCqjd.js → GrSelect-DAdu044K.js} +4 -3
- package/dist/components/GrSelect/chunks/GrSelect-DAdu044K.js.map +1 -0
- package/dist/components/GrSelect/index.js +1 -1
- package/dist/components/GrSlider/chunks/{GrSlider-DkU9IQSX.js → GrSlider-CyhVsNKn.js} +21 -34
- package/dist/components/GrSlider/chunks/GrSlider-CyhVsNKn.js.map +1 -0
- package/dist/components/GrSlider/index.js +2 -2
- package/dist/components/GrSortableList/chunks/GrSortableList-BefVfWKh.js +276 -0
- package/dist/components/GrSortableList/chunks/GrSortableList-BefVfWKh.js.map +1 -0
- package/dist/components/GrSortableList/index.js +3 -0
- package/dist/components/GrSplitter/chunks/{GrSplitter-7To8jbJ8.js → GrSplitter-BzxVQwbY.js} +17 -37
- package/dist/components/GrSplitter/chunks/GrSplitter-BzxVQwbY.js.map +1 -0
- package/dist/components/GrSplitter/index.js +2 -2
- package/dist/components/GrStatistic/chunks/{GrStatistic-CttyoYPT.js → GrStatistic-J4qLs3TH.js} +1 -1
- package/dist/components/GrStatistic/chunks/{GrStatistic-CttyoYPT.js.map → GrStatistic-J4qLs3TH.js.map} +1 -1
- package/dist/components/GrStatistic/index.js +2 -2
- package/dist/components/GrSwitch/chunks/{GrSwitch-B9TYbiih.js → GrSwitch-DpyvVrZG.js} +1 -1
- package/dist/components/GrSwitch/chunks/{GrSwitch-B9TYbiih.js.map → GrSwitch-DpyvVrZG.js.map} +1 -1
- package/dist/components/GrSwitch/index.js +2 -2
- package/dist/components/GrTabPanels/index.js +1 -1
- package/dist/components/GrTable/chunks/{GrTable-BB-mI_NM.js → GrTable-BfqgwETQ.js} +7 -1
- package/dist/components/GrTable/chunks/GrTable-BfqgwETQ.js.map +1 -0
- package/dist/components/GrTable/index.js +1 -1
- package/dist/components/GrTabs/chunks/{GrTabs-B8CDq2D9.js → GrTabs-TeXaU5Uh.js} +50 -61
- package/dist/components/GrTabs/chunks/GrTabs-TeXaU5Uh.js.map +1 -0
- package/dist/components/GrTabs/index.js +1 -1
- package/dist/components/GrTextarea/chunks/{GrTextarea-DUh5Tlo4.js → GrTextarea-DSvd1nSy.js} +1 -1
- package/dist/components/GrTextarea/chunks/{GrTextarea-DUh5Tlo4.js.map → GrTextarea-DSvd1nSy.js.map} +1 -1
- package/dist/components/GrTextarea/index.js +2 -2
- package/dist/components/GrTimeline/chunks/{GrTimeline-CE9b3s18.js → GrTimeline-B-h2Yanw.js} +1 -1
- package/dist/components/GrTimeline/chunks/{GrTimeline-CE9b3s18.js.map → GrTimeline-B-h2Yanw.js.map} +1 -1
- package/dist/components/GrTimeline/index.js +2 -2
- package/dist/components/GrToaster/chunks/{GrToaster-BKQy3Srm.js → GrToaster-Ct-39hga.js} +113 -12
- package/dist/components/GrToaster/chunks/GrToaster-Ct-39hga.js.map +1 -0
- package/dist/components/GrToaster/index.js +2 -2
- package/dist/components/GrToaster/styles.css +1 -1
- package/dist/components/GrTooltip/chunks/{GrTooltip-DEbejfhA.js → GrTooltip-xAcqs0bP.js} +1 -1
- package/dist/components/GrTooltip/chunks/{GrTooltip-DEbejfhA.js.map → GrTooltip-xAcqs0bP.js.map} +1 -1
- package/dist/components/GrTooltip/index.js +2 -2
- package/dist/components/GrTree/chunks/{GrTree-wfdbvygw.js → GrTree-CaYK8dGZ.js} +124 -92
- package/dist/components/GrTree/chunks/GrTree-CaYK8dGZ.js.map +1 -0
- package/dist/components/GrTree/index.js +1 -1
- package/dist/components/GrTree/styles.css +1 -1
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-lLWmAMtI.js → GrTreeSelect-DZp7CqqW.js} +4 -4
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-lLWmAMtI.js.map → GrTreeSelect-DZp7CqqW.js.map} +1 -1
- package/dist/components/GrTreeSelect/index.js +2 -2
- package/dist/composables/useComboboxNavigation.js +71 -0
- package/dist/composables/useComboboxNavigation.js.map +1 -0
- package/dist/composables/useDismissible.js +1 -1
- package/dist/composables/useDragGesture.js +55 -0
- package/dist/composables/useDragGesture.js.map +1 -0
- package/dist/composables/useDragSort.js +2 -0
- package/dist/composables/useFloating.js +22 -1
- package/dist/composables/useFloating.js.map +1 -1
- package/dist/composables/useGrComponentConfig.js +2 -0
- package/dist/composables/useGranularityTranslations.js +2 -0
- package/dist/composables/useOverlayLayer.js +64 -1
- package/dist/composables/useOverlayLayer.js.map +1 -0
- package/dist/composables/useRovingFocus.js +150 -0
- package/dist/composables/useRovingFocus.js.map +1 -0
- package/dist/directives/hotkey.js +13 -7
- 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 +67 -58
- package/dist/tokens.js +84 -0
- package/dist/tokens.js.map +1 -1
- package/dist/types/src/components/GrAlert/defaults.d.ts +1 -1
- package/dist/types/src/components/GrAutocomplete/defaults.d.ts +1 -1
- package/dist/types/src/components/GrAvatar/defaults.d.ts +1 -1
- package/dist/types/src/components/GrBadge/defaults.d.ts +1 -1
- package/dist/types/src/components/GrBottomNav/defaults.d.ts +1 -1
- package/dist/types/src/components/GrBreadcrumbs/defaults.d.ts +1 -1
- package/dist/types/src/components/GrButton/defaults.d.ts +1 -1
- package/dist/types/src/components/GrCard/defaults.d.ts +1 -1
- package/dist/types/src/components/GrCheckbox/defaults.d.ts +1 -1
- package/dist/types/src/components/GrCheckboxGroup/defaults.d.ts +1 -1
- package/dist/types/src/components/GrCollapse/defaults.d.ts +1 -1
- package/dist/types/src/components/GrColorPicker/defaults.d.ts +1 -1
- package/dist/types/src/components/GrColorPicker/grColorPickerStyles.d.ts +2 -2
- package/dist/types/src/components/GrCommandPalette/defaults.d.ts +1 -1
- package/dist/types/src/components/GrConfigProvider/context.d.ts +6 -22
- package/dist/types/src/components/GrConfigProvider/index.d.ts +1 -1
- package/dist/types/src/components/GrConfirmDialog/defaults.d.ts +1 -1
- package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +53 -0
- package/dist/types/src/components/GrDataTable/defaults.d.ts +1 -1
- package/dist/types/src/components/GrDataTable/grDataTableStyles.d.ts +39 -0
- package/dist/types/src/components/GrDialog/defaults.d.ts +1 -1
- package/dist/types/src/components/GrDivider/defaults.d.ts +1 -1
- package/dist/types/src/components/GrDrawer/defaults.d.ts +1 -1
- package/dist/types/src/components/GrEmptyState/defaults.d.ts +1 -1
- package/dist/types/src/components/GrFileUpload/defaults.d.ts +1 -1
- package/dist/types/src/components/GrFormField/defaults.d.ts +1 -1
- package/dist/types/src/components/GrFormFile/defaults.d.ts +1 -1
- package/dist/types/src/components/GrFormSection/defaults.d.ts +1 -1
- package/dist/types/src/components/GrIcon/defaults.d.ts +1 -1
- package/dist/types/src/components/GrImageViewer/composables/usePointerGestures.d.ts +1 -0
- package/dist/types/src/components/GrImageViewer/composables/useZoomPan.d.ts +1 -2
- package/dist/types/src/components/GrInput/defaults.d.ts +1 -1
- package/dist/types/src/components/GrInputTag/defaults.d.ts +1 -1
- package/dist/types/src/components/GrKbd/GrKbd.vue.d.ts +18 -3
- package/dist/types/src/components/GrKbd/defaults.d.ts +1 -1
- package/dist/types/src/components/GrKbd/grKbdStyles.d.ts +20 -3
- package/dist/types/src/components/GrKbd/index.d.ts +6 -0
- package/dist/types/src/components/GrLink/defaults.d.ts +1 -1
- package/dist/types/src/components/GrModal/defaults.d.ts +1 -1
- package/dist/types/src/components/GrNumberInput/defaults.d.ts +1 -1
- package/dist/types/src/components/GrPagination/defaults.d.ts +1 -1
- package/dist/types/src/components/GrPopover/GrPopover.vue.d.ts +1 -1
- package/dist/types/src/components/GrPopover/defaults.d.ts +1 -1
- package/dist/types/src/components/GrProgressBar/defaults.d.ts +1 -1
- package/dist/types/src/components/GrProgressCircle/defaults.d.ts +1 -1
- package/dist/types/src/components/GrProgressCircle/grProgressCircleStyles.d.ts +1 -1
- package/dist/types/src/components/GrPromptDialog/defaults.d.ts +1 -1
- package/dist/types/src/components/GrRadio/defaults.d.ts +1 -1
- package/dist/types/src/components/GrRadio/grRadioGroupContext.d.ts +12 -4
- package/dist/types/src/components/GrRadioGroup/defaults.d.ts +1 -1
- package/dist/types/src/components/GrRating/defaults.d.ts +1 -1
- package/dist/types/src/components/GrSegmented/defaults.d.ts +1 -1
- package/dist/types/src/components/GrSelect/defaults.d.ts +1 -1
- package/dist/types/src/components/GrSlider/defaults.d.ts +1 -1
- package/dist/types/src/components/GrSortableList/GrSortableList.vue.d.ts +68 -0
- package/dist/types/src/components/GrSortableList/config.d.ts +1 -0
- package/dist/types/src/components/GrSortableList/grSortableListStyles.d.ts +38 -0
- package/dist/types/src/components/GrSortableList/index.d.ts +9 -0
- package/dist/types/src/components/GrSortableList/safelist.d.ts +1 -0
- package/dist/types/src/components/GrSplitter/defaults.d.ts +1 -1
- package/dist/types/src/components/GrStatistic/defaults.d.ts +1 -1
- package/dist/types/src/components/GrStatistic/grStatisticStyles.d.ts +1 -1
- package/dist/types/src/components/GrSwitch/defaults.d.ts +1 -1
- package/dist/types/src/components/GrTable/GrTable.vue.d.ts +13 -0
- package/dist/types/src/components/GrTable/defaults.d.ts +1 -1
- package/dist/types/src/components/GrTabs/defaults.d.ts +1 -1
- package/dist/types/src/components/GrTextarea/defaults.d.ts +1 -1
- package/dist/types/src/components/GrTextarea/grTextareaStyles.d.ts +2 -2
- package/dist/types/src/components/GrTimeline/defaults.d.ts +1 -1
- package/dist/types/src/components/GrTimeline/grTimelineStyles.d.ts +1 -1
- package/dist/types/src/components/GrToaster/GrToaster.vue.d.ts +8 -0
- package/dist/types/src/components/GrToaster/grToasterStyles.d.ts +27 -0
- package/dist/types/src/components/GrTooltip/defaults.d.ts +1 -1
- package/dist/types/src/components/GrTree/defaults.d.ts +1 -1
- package/dist/types/src/components/GrTree/grTreeInteractionContext.d.ts +0 -1
- package/dist/types/src/components/GrTreeSelect/defaults.d.ts +1 -1
- package/dist/types/src/components/shared/hotkey.d.ts +7 -15
- package/dist/types/src/components/shared/hotkeyTokens.d.ts +37 -0
- package/dist/types/src/composables/internal/dragSortGeometry.d.ts +59 -0
- package/dist/types/src/composables/internal/overlayStack.d.ts +11 -0
- package/dist/types/src/composables/useDragGesture.d.ts +63 -0
- package/dist/types/src/composables/useDragSort.d.ts +80 -0
- package/dist/types/src/composables/useFloating.d.ts +5 -1
- package/dist/types/src/composables/useGrComponentConfig.d.ts +41 -0
- package/dist/types/src/composables/useGranularityTranslations.d.ts +13 -0
- package/dist/types/src/composables/useRovingFocus.d.ts +108 -0
- package/dist/types/src/granular-provider/shared.d.ts +1 -0
- package/dist/types/src/i18n/messages/en.d.ts +48 -0
- package/dist/types/src/i18n/messages/es.d.ts +48 -0
- package/dist/types/src/i18n/messages/ru.d.ts +48 -0
- package/dist/types/src/index.d.ts +12 -0
- package/dist/types/src/internal/keyboard.d.ts +6 -0
- package/dist/web-types.json +201 -3
- package/package.json +31 -3
- package/dist/chunks/config-B-g6lT19.js.map +0 -1
- package/dist/chunks/config-BE6n20np.js.map +0 -1
- package/dist/chunks/config-BNfQwyL4.js +0 -97
- package/dist/chunks/config-BNfQwyL4.js.map +0 -1
- package/dist/chunks/config-BoNR7_PD.js.map +0 -1
- package/dist/chunks/config-CN2ULSQL2.js.map +0 -1
- package/dist/chunks/config-Cw6TDzWv2.js.map +0 -1
- package/dist/chunks/config-D94Z9po52.js.map +0 -1
- package/dist/chunks/config-DCFvmHEv.js.map +0 -1
- package/dist/chunks/config-DxCTVBfx.js.map +0 -1
- package/dist/chunks/config-LGrZIdaZ.js +0 -21
- package/dist/chunks/config-LGrZIdaZ.js.map +0 -1
- package/dist/chunks/config-T3qdQBgU.js.map +0 -1
- package/dist/chunks/config-eXB87DOi2.js.map +0 -1
- package/dist/chunks/en-B3xMeswz.js.map +0 -1
- package/dist/chunks/es-CA-mkU--.js.map +0 -1
- package/dist/chunks/grKbdStyles-DAoxiytu.js +0 -31
- package/dist/chunks/grKbdStyles-DAoxiytu.js.map +0 -1
- package/dist/chunks/granular-provider-CtrXGa7c.js.map +0 -1
- package/dist/chunks/keyboard-zYvvyHd4.js.map +0 -1
- package/dist/chunks/optionFilter-BVY988pC.js.map +0 -1
- package/dist/chunks/ru-COWxgh2A.js.map +0 -1
- package/dist/chunks/useOverlayLayer-BupuP_hs.js.map +0 -1
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-CQ9T7Lly.js.map +0 -1
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-MWDYDPNC.js.map +0 -1
- package/dist/components/GrDataTable/chunks/GrDataTable-DVFho9Cj.js.map +0 -1
- package/dist/components/GrImageViewer/chunks/GrImageViewer-BeCnE8XQ.js.map +0 -1
- package/dist/components/GrInput/chunks/GrInput-DD2gYdqS.js.map +0 -1
- package/dist/components/GrInputTag/chunks/GrInputTag-DmNunixz.js.map +0 -1
- package/dist/components/GrKbd/chunks/GrKbd-DRFPvW3G.js.map +0 -1
- package/dist/components/GrPagination/chunks/GrPagination-B6N0QZBf.js.map +0 -1
- package/dist/components/GrProgressBar/chunks/GrProgressBar-BiHnaitu.js.map +0 -1
- package/dist/components/GrRadio/chunks/GrRadio-DksDro_U.js.map +0 -1
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-BOIhejE6.js.map +0 -1
- package/dist/components/GrRating/chunks/GrRating-JrHXz0Rv.js.map +0 -1
- package/dist/components/GrSegmented/chunks/GrSegmented-BQIlH5KI.js.map +0 -1
- package/dist/components/GrSelect/chunks/GrSelect-aqkPCqjd.js.map +0 -1
- package/dist/components/GrSlider/chunks/GrSlider-DkU9IQSX.js.map +0 -1
- package/dist/components/GrSplitter/chunks/GrSplitter-7To8jbJ8.js.map +0 -1
- package/dist/components/GrTable/chunks/GrTable-BB-mI_NM.js.map +0 -1
- package/dist/components/GrTabs/chunks/GrTabs-B8CDq2D9.js.map +0 -1
- package/dist/components/GrToaster/chunks/GrToaster-BKQy3Srm.js.map +0 -1
- package/dist/components/GrTree/chunks/GrTree-wfdbvygw.js.map +0 -1
- /package/dist/chunks/{config-BE6n20np.js → config-BE6n20np2.js} +0 -0
- /package/dist/chunks/{config-BoNR7_PD.js → config-BoNR7_PD2.js} +0 -0
- /package/dist/chunks/{config-CN2ULSQL2.js → config-CN2ULSQL.js} +0 -0
- /package/dist/chunks/{config-D94Z9po52.js → config-D94Z9po5.js} +0 -0
- /package/dist/chunks/{config-DCFvmHEv.js → config-DCFvmHEv2.js} +0 -0
- /package/dist/chunks/{config-T3qdQBgU.js → config-T3qdQBgU2.js} +0 -0
- /package/dist/chunks/{config-eXB87DOi2.js → config-eXB87DOi.js} +0 -0
- /package/dist/types/src/composables/{internal/useComboboxNavigation.d.ts → useComboboxNavigation.d.ts} +0 -0
|
@@ -8,7 +8,7 @@ export interface GrNumberInputConfigurableProps {
|
|
|
8
8
|
size: GrNumberInputSize;
|
|
9
9
|
clearable: boolean;
|
|
10
10
|
}
|
|
11
|
-
declare module '
|
|
11
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
12
12
|
interface GrComponentDefaultsRegistry {
|
|
13
13
|
GrNumberInput: GrNumberInputConfigurableProps;
|
|
14
14
|
}
|
|
@@ -3,7 +3,7 @@ import type { GrComponentSize } from '../GrConfigProvider/context';
|
|
|
3
3
|
export interface GrPaginationConfigurableProps {
|
|
4
4
|
size: GrComponentSize;
|
|
5
5
|
}
|
|
6
|
-
declare module '
|
|
6
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
7
7
|
interface GrComponentDefaultsRegistry {
|
|
8
8
|
GrPagination: GrPaginationConfigurableProps;
|
|
9
9
|
}
|
|
@@ -118,10 +118,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
118
118
|
}>, {
|
|
119
119
|
size: GrPopoverSize;
|
|
120
120
|
role: GrPopoverRole;
|
|
121
|
+
modal: boolean;
|
|
121
122
|
placement: UseFloatingPlacement;
|
|
122
123
|
open: boolean;
|
|
123
124
|
disabled: boolean;
|
|
124
|
-
modal: boolean;
|
|
125
125
|
ariaLabel: string;
|
|
126
126
|
labelledBy: string;
|
|
127
127
|
offsetPx: number;
|
|
@@ -8,7 +8,7 @@ import type { GrComponentSize } from '../GrConfigProvider/context';
|
|
|
8
8
|
export interface GrPopoverConfigurableProps {
|
|
9
9
|
size: GrComponentSize;
|
|
10
10
|
}
|
|
11
|
-
declare module '
|
|
11
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
12
12
|
interface GrComponentDefaultsRegistry {
|
|
13
13
|
GrPopover: GrPopoverConfigurableProps;
|
|
14
14
|
}
|
|
@@ -4,7 +4,7 @@ export interface GrProgressBarConfigurableProps {
|
|
|
4
4
|
size: GrComponentSize;
|
|
5
5
|
borderless: boolean;
|
|
6
6
|
}
|
|
7
|
-
declare module '
|
|
7
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
8
8
|
interface GrComponentDefaultsRegistry {
|
|
9
9
|
GrProgressBar: GrProgressBarConfigurableProps;
|
|
10
10
|
}
|
|
@@ -11,7 +11,7 @@ export interface GrProgressCircleConfigurableProps {
|
|
|
11
11
|
shape: GrProgressCircleShape;
|
|
12
12
|
trackless: boolean;
|
|
13
13
|
}
|
|
14
|
-
declare module '
|
|
14
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
15
15
|
interface GrComponentDefaultsRegistry {
|
|
16
16
|
GrProgressCircle: GrProgressCircleConfigurableProps;
|
|
17
17
|
}
|
|
@@ -30,5 +30,5 @@ export declare const svgClass = "block h-full w-full";
|
|
|
30
30
|
* сам по себе кликов не ловит: интерактив в слоте включает их себе обратно.
|
|
31
31
|
*/
|
|
32
32
|
export declare const centerClass = "pointer-events-none absolute inset-0 flex flex-col items-center justify-center gap-0.5 text-center";
|
|
33
|
-
export declare const valueClass = "font-600 text-[var(--gr-fg)]
|
|
33
|
+
export declare const valueClass = "font-600 text-[var(--gr-fg)] tabular-nums";
|
|
34
34
|
export declare function grProgressCircleArcColor(tone: GrProgressCircleTone): string;
|
|
@@ -7,7 +7,7 @@ import type { GrDialogSize } from '../GrDialog/dialogShared';
|
|
|
7
7
|
export interface GrPromptDialogConfigurableProps {
|
|
8
8
|
size: GrDialogSize;
|
|
9
9
|
}
|
|
10
|
-
declare module '
|
|
10
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
11
11
|
interface GrComponentDefaultsRegistry {
|
|
12
12
|
GrPromptDialog: GrPromptDialogConfigurableProps;
|
|
13
13
|
}
|
|
@@ -7,7 +7,7 @@ import type { GrButtonSize } from '../GrButton/grButtonStyles';
|
|
|
7
7
|
export interface GrRadioConfigurableProps {
|
|
8
8
|
size: GrButtonSize;
|
|
9
9
|
}
|
|
10
|
-
declare module '
|
|
10
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
11
11
|
interface GrComponentDefaultsRegistry {
|
|
12
12
|
GrRadio: GrRadioConfigurableProps;
|
|
13
13
|
}
|
|
@@ -10,6 +10,12 @@ export type GrRadioValue = string | number | boolean;
|
|
|
10
10
|
export type GrRadioEntry = {
|
|
11
11
|
value: () => GrRadioValue;
|
|
12
12
|
disabled: () => boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Корневой узел переключателя. Геттер, а не значение: регистрация идёт в
|
|
15
|
+
* `setup`, когда элемента ещё нет. Благодаря ему группа переносит фокус, не
|
|
16
|
+
* обходя DOM селекторами.
|
|
17
|
+
*/
|
|
18
|
+
el: () => HTMLElement | null;
|
|
13
19
|
};
|
|
14
20
|
export type GrRadioGroupContext = {
|
|
15
21
|
modelValue: ComputedRef<GrRadioValue>;
|
|
@@ -37,9 +43,11 @@ export type GrRadioGroupContext = {
|
|
|
37
43
|
* выбрано ничего, остановкой становится первый доступный переключатель.
|
|
38
44
|
*/
|
|
39
45
|
rovingValue: ComputedRef<GrRadioValue | undefined>;
|
|
40
|
-
/**
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Стрелки, `Home`, `End`: переносят выбор и фокус на соседний доступный
|
|
48
|
+
* переключатель. Вернул `true` — клавиша обработана (с `preventDefault`).
|
|
49
|
+
* Кольцо ведёт группа, а не переключатель: только она знает состав.
|
|
50
|
+
*/
|
|
51
|
+
handleNavigationKeys: (event: KeyboardEvent) => boolean;
|
|
44
52
|
};
|
|
45
53
|
export declare const GR_RADIO_GROUP_CONTEXT: InjectionKey<GrRadioGroupContext>;
|
|
@@ -7,7 +7,7 @@ import type { GrButtonSize } from '../GrButton/grButtonStyles';
|
|
|
7
7
|
export interface GrRadioGroupConfigurableProps {
|
|
8
8
|
size: GrButtonSize;
|
|
9
9
|
}
|
|
10
|
-
declare module '
|
|
10
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
11
11
|
interface GrComponentDefaultsRegistry {
|
|
12
12
|
GrRadioGroup: GrRadioGroupConfigurableProps;
|
|
13
13
|
}
|
|
@@ -7,7 +7,7 @@ import type { GrRatingSize } from './grRatingStyles';
|
|
|
7
7
|
export interface GrRatingConfigurableProps {
|
|
8
8
|
size: GrRatingSize;
|
|
9
9
|
}
|
|
10
|
-
declare module '
|
|
10
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
11
11
|
interface GrComponentDefaultsRegistry {
|
|
12
12
|
GrRating: GrRatingConfigurableProps;
|
|
13
13
|
}
|
|
@@ -8,7 +8,7 @@ export interface GrSegmentedConfigurableProps {
|
|
|
8
8
|
size: GrSegmentedSize;
|
|
9
9
|
variant: GrSegmentedVariant;
|
|
10
10
|
}
|
|
11
|
-
declare module '
|
|
11
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
12
12
|
interface GrComponentDefaultsRegistry {
|
|
13
13
|
GrSegmented: GrSegmentedConfigurableProps;
|
|
14
14
|
}
|
|
@@ -10,7 +10,7 @@ export interface GrSelectConfigurableProps {
|
|
|
10
10
|
underline: GrSelectUnderline;
|
|
11
11
|
clearable: boolean;
|
|
12
12
|
}
|
|
13
|
-
declare module '
|
|
13
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
14
14
|
interface GrComponentDefaultsRegistry {
|
|
15
15
|
GrSelect: GrSelectConfigurableProps;
|
|
16
16
|
}
|
|
@@ -7,7 +7,7 @@ import type { GrSliderSize } from './grSliderStyles';
|
|
|
7
7
|
export interface GrSliderConfigurableProps {
|
|
8
8
|
size: GrSliderSize;
|
|
9
9
|
}
|
|
10
|
-
declare module '
|
|
10
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
11
11
|
interface GrComponentDefaultsRegistry {
|
|
12
12
|
GrSlider: GrSliderConfigurableProps;
|
|
13
13
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { type GrCardVariant } from '../GrCard';
|
|
2
|
+
import type { GrSortableOrientation } from './grSortableListStyles';
|
|
3
|
+
export interface GrSortableListProps<TItem = unknown> {
|
|
4
|
+
/** Набор в текущем порядке. `v-model`: наружу уходит новый массив, вход не мутируется. */
|
|
5
|
+
modelValue: TItem[];
|
|
6
|
+
/** Ключ элемента: имя поля или функция. Без него — индекс. */
|
|
7
|
+
itemKey?: string | ((item: TItem, index: number) => string | number);
|
|
8
|
+
/** Список только для чтения: ни указателем, ни с клавиатуры. */
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
/** Ось переноса. `horizontal` — ряд с переносом по ширине. */
|
|
11
|
+
orientation?: GrSortableOrientation;
|
|
12
|
+
/** Поверхность под списком — вариант карточки. */
|
|
13
|
+
variant?: GrCardVariant;
|
|
14
|
+
/** Разделители между строками. */
|
|
15
|
+
divided?: boolean;
|
|
16
|
+
/** Тянуть можно только за ручку. Выключено — тянется вся строка. */
|
|
17
|
+
handleOnly?: boolean;
|
|
18
|
+
/** Высота видимой части: список становится скроллером с автопрокруткой при переносе. */
|
|
19
|
+
maxHeight?: number | string;
|
|
20
|
+
/** Текст пустого состояния. Слот `#empty` сильнее. */
|
|
21
|
+
emptyText?: string;
|
|
22
|
+
/** Имя списка для скринридера. Не задано — берётся из локали. */
|
|
23
|
+
ariaLabel?: string;
|
|
24
|
+
}
|
|
25
|
+
export interface GrSortableListEmits<TItem = unknown> {
|
|
26
|
+
(e: 'update:modelValue', value: TItem[]): void;
|
|
27
|
+
(e: 'move', from: number, to: number): void;
|
|
28
|
+
(e: 'change', value: TItem[]): void;
|
|
29
|
+
}
|
|
30
|
+
declare const __VLS_export: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
31
|
+
props: import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & __VLS_PrettifyLocal<GrSortableListProps<T> & {
|
|
32
|
+
onChange?: ((value: T[]) => any) | undefined;
|
|
33
|
+
onMove?: ((from: number, to: number) => any) | undefined;
|
|
34
|
+
"onUpdate:modelValue"?: ((value: T[]) => any) | undefined;
|
|
35
|
+
}> & (typeof globalThis extends {
|
|
36
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
37
|
+
} ? P : {});
|
|
38
|
+
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
39
|
+
/** Программная перестановка — та же, что делает перенос. */
|
|
40
|
+
move: (from: number, to: number) => void;
|
|
41
|
+
focusItem: (index: number) => Promise<void>;
|
|
42
|
+
}>) => void;
|
|
43
|
+
attrs: any;
|
|
44
|
+
slots: {
|
|
45
|
+
item?: (props: {
|
|
46
|
+
item: T;
|
|
47
|
+
index: number;
|
|
48
|
+
dragging: boolean;
|
|
49
|
+
grabbed: boolean;
|
|
50
|
+
}) => any;
|
|
51
|
+
handle?: (props: {
|
|
52
|
+
item: T;
|
|
53
|
+
index: number;
|
|
54
|
+
disabled: boolean;
|
|
55
|
+
}) => any;
|
|
56
|
+
empty?: () => any;
|
|
57
|
+
};
|
|
58
|
+
emit: GrSortableListEmits<T>;
|
|
59
|
+
}>) => import("vue").VNode & {
|
|
60
|
+
__ctx?: NonNullable<Awaited<typeof __VLS_setup>>;
|
|
61
|
+
};
|
|
62
|
+
declare const _default: typeof __VLS_export;
|
|
63
|
+
export default _default;
|
|
64
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
65
|
+
[K in keyof T]: T[K];
|
|
66
|
+
} : {
|
|
67
|
+
[K in keyof T as K]: T[K];
|
|
68
|
+
}) & {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const grSortableListConfig: import("@feugene/unocss-preset-granular/contract").GranularComponentDescriptor<"GrSortableList">;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
export type GrSortableOrientation = 'horizontal' | 'vertical';
|
|
2
|
+
/**
|
|
3
|
+
* Классы `GrSortableList`. Единственный источник правды для шаблона и
|
|
4
|
+
* `safelist.ts`: литерал, живущий только здесь, до скана UnoCSS не доходит —
|
|
5
|
+
* хелпер уезжает в общий чанк `dist/chunks/`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const listClass: Record<GrSortableOrientation, string>;
|
|
8
|
+
export declare const rowLayoutClass = "relative flex items-center gap-2 px-4 py-3 transition-colors duration-[var(--gr-duration-fast)]";
|
|
9
|
+
/**
|
|
10
|
+
* Строка — остановка роверного фокуса, поэтому кольцо на ней, а не на ручке:
|
|
11
|
+
* с клавиатуры берут строку целиком, ручка остаётся affordance для мыши.
|
|
12
|
+
*/
|
|
13
|
+
export declare const rowFocusClass = "focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)] focus-visible:ring-inset";
|
|
14
|
+
export declare const rowDraggingClass = "bg-[var(--gr-sortable-row-bg-active,var(--gr-muted))]";
|
|
15
|
+
/** Взятая с клавиатуры строка обязана отличаться от просто сфокусированной. */
|
|
16
|
+
export declare const rowGrabbedClass = "bg-[var(--gr-sortable-row-bg-active,var(--gr-muted))] ring-2 ring-[var(--gr-ring)] ring-inset";
|
|
17
|
+
export declare const rowDisabledClass = "cursor-not-allowed bg-[var(--gr-muted)] text-[var(--gr-muted-fg)]";
|
|
18
|
+
export declare const dividedClass = "divide-y divide-[var(--gr-brd)]";
|
|
19
|
+
export declare const emptyClass = "px-4 py-6 text-center text-[length:var(--gr-text-sm)] text-[var(--gr-muted-fg)]";
|
|
20
|
+
/**
|
|
21
|
+
* Ручка не табируется: внутри роверного композита свой таб-стоп сломал бы
|
|
22
|
+
* правило «один Tab на список» — тот же приём, что у ручки `GrTree`.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* `[touch-action:none]` вместо `touch-none`: утилиты нет ни в `presetMini`, ни
|
|
26
|
+
* в extra-rules, класс молча не превратился бы в CSS — и вертикальный свайп по
|
|
27
|
+
* ручке ушёл бы в прокрутку страницы. Тот же приём у дорожки `GrSlider`.
|
|
28
|
+
*/
|
|
29
|
+
export declare const handleClass = "flex shrink-0 items-center justify-center rounded-[var(--gr-radius-sm)] text-[var(--gr-sortable-handle-color,var(--gr-muted-fg))] size-[var(--gr-sortable-handle-size,1.5rem)] cursor-grab [touch-action:none] focus:outline-none";
|
|
30
|
+
export declare const handleDisabledClass = "cursor-not-allowed text-[var(--gr-muted-fg)]";
|
|
31
|
+
export declare const handleIconClass = "i-lucide-grip-vertical";
|
|
32
|
+
export declare const contentClass = "min-w-0 flex-1 text-[length:var(--gr-text-sm)]";
|
|
33
|
+
/**
|
|
34
|
+
* Куда встанет строка — псевдоэлемент самой строки, а не отдельный узел:
|
|
35
|
+
* лишний узел между строками ломает и `divide-y`, и подсчёт позиций.
|
|
36
|
+
*/
|
|
37
|
+
export declare const indicatorBeforeClass = "before:absolute before:inset-x-0 before:top-0 before:h-[var(--gr-sortable-indicator-width,2px)] before:bg-[var(--gr-sortable-indicator,var(--gr-primary))] before:content-empty";
|
|
38
|
+
export declare const indicatorAfterClass = "after:absolute after:inset-x-0 after:bottom-0 after:h-[var(--gr-sortable-indicator-width,2px)] after:bg-[var(--gr-sortable-indicator,var(--gr-primary))] after:content-empty";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ComponentExposed } from '../shared/instance';
|
|
2
|
+
import type GrSortableListComponent from './GrSortableList.vue';
|
|
3
|
+
export { default } from './GrSortableList.vue';
|
|
4
|
+
export { default as GrSortableList } from './GrSortableList.vue';
|
|
5
|
+
export type { GrSortableListEmits, GrSortableListProps } from './GrSortableList.vue';
|
|
6
|
+
export type { GrSortableOrientation } from './grSortableListStyles';
|
|
7
|
+
export { grSortableListConfig } from './config';
|
|
8
|
+
export { grSortableListSafelist } from './safelist';
|
|
9
|
+
export type GrSortableListInstance = ComponentExposed<typeof GrSortableListComponent>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const grSortableListSafelist: string[];
|
|
@@ -9,7 +9,7 @@ export interface GrSplitterConfigurableProps {
|
|
|
9
9
|
orientation: GrSplitterOrientation;
|
|
10
10
|
collapsible: boolean;
|
|
11
11
|
}
|
|
12
|
-
declare module '
|
|
12
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
13
13
|
interface GrComponentDefaultsRegistry {
|
|
14
14
|
GrSplitter: GrSplitterConfigurableProps;
|
|
15
15
|
}
|
|
@@ -7,7 +7,7 @@ import type { GrStatisticSize } from './grStatisticStyles';
|
|
|
7
7
|
export interface GrStatisticConfigurableProps {
|
|
8
8
|
size: GrStatisticSize;
|
|
9
9
|
}
|
|
10
|
-
declare module '
|
|
10
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
11
11
|
interface GrComponentDefaultsRegistry {
|
|
12
12
|
GrStatistic: GrStatisticConfigurableProps;
|
|
13
13
|
}
|
|
@@ -30,7 +30,7 @@ export declare function statisticRootClass(options: {
|
|
|
30
30
|
interactive: boolean;
|
|
31
31
|
}): string;
|
|
32
32
|
/** `tabular-nums` держит ширину строки при переборе чисел и при смене значения. */
|
|
33
|
-
export declare const statisticValueTypographyClass = "font-semibold
|
|
33
|
+
export declare const statisticValueTypographyClass = "font-semibold tabular-nums";
|
|
34
34
|
export declare function statisticValueClass(options: {
|
|
35
35
|
size: GrStatisticSize;
|
|
36
36
|
tone: GrStatisticTone;
|
|
@@ -7,7 +7,7 @@ import type { GrSwitchSize } from './grSwitchStyles';
|
|
|
7
7
|
export interface GrSwitchConfigurableProps {
|
|
8
8
|
size: GrSwitchSize;
|
|
9
9
|
}
|
|
10
|
-
declare module '
|
|
10
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
11
11
|
interface GrComponentDefaultsRegistry {
|
|
12
12
|
GrSwitch: GrSwitchConfigurableProps;
|
|
13
13
|
}
|
|
@@ -57,6 +57,16 @@ export interface GrTableProps {
|
|
|
57
57
|
* `presetMini` нет, и класс молча не превратился бы в CSS.
|
|
58
58
|
*/
|
|
59
59
|
fixedLayout?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Минимальная ширина самой таблицы (число — пиксели).
|
|
62
|
+
*
|
|
63
|
+
* Нужна при `fixedLayout`: с фиксированной раскладкой и шириной `auto`
|
|
64
|
+
* браузер вписывает таблицу в контейнер и делит место между колонками
|
|
65
|
+
* пропорционально — то есть заданные ширины молча ужимаются, а
|
|
66
|
+
* горизонтальной прокрутки, на которой держатся закреплённые колонки, не
|
|
67
|
+
* возникает вовсе.
|
|
68
|
+
*/
|
|
69
|
+
tableMinWidth?: string | number;
|
|
60
70
|
/**
|
|
61
71
|
* Максимальная высота скролл-контейнера (включает вертикальный скролл).
|
|
62
72
|
* Число трактуется как пиксели. Нужен для работы `stickyHeader`.
|
|
@@ -96,6 +106,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
96
106
|
maxHeight: undefined;
|
|
97
107
|
rowCount: undefined;
|
|
98
108
|
fixedLayout: boolean;
|
|
109
|
+
tableMinWidth: undefined;
|
|
99
110
|
}>>, {
|
|
100
111
|
/** Прокрутить скролл-контейнер таблицы — тот же контракт, что у `GrDataTable`. */
|
|
101
112
|
scrollTo: typeof scrollTo;
|
|
@@ -118,6 +129,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
118
129
|
maxHeight: undefined;
|
|
119
130
|
rowCount: undefined;
|
|
120
131
|
fixedLayout: boolean;
|
|
132
|
+
tableMinWidth: undefined;
|
|
121
133
|
}>>> & Readonly<{}>, {
|
|
122
134
|
size: GrTableSize;
|
|
123
135
|
caption: string;
|
|
@@ -135,6 +147,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
135
147
|
stickyHeader: boolean;
|
|
136
148
|
rowCount: number;
|
|
137
149
|
fixedLayout: boolean;
|
|
150
|
+
tableMinWidth: string | number;
|
|
138
151
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
139
152
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
140
153
|
declare const _default: typeof __VLS_export;
|
|
@@ -3,7 +3,7 @@ import type { GrComponentSize } from '../GrConfigProvider/context';
|
|
|
3
3
|
export interface GrTableConfigurableProps {
|
|
4
4
|
size: GrComponentSize;
|
|
5
5
|
}
|
|
6
|
-
declare module '
|
|
6
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
7
7
|
interface GrComponentDefaultsRegistry {
|
|
8
8
|
GrTable: GrTableConfigurableProps;
|
|
9
9
|
}
|
|
@@ -5,7 +5,7 @@ export interface GrTabsConfigurableProps {
|
|
|
5
5
|
size: GrComponentSize;
|
|
6
6
|
variant: GrTabsVariant;
|
|
7
7
|
}
|
|
8
|
-
declare module '
|
|
8
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
9
9
|
interface GrComponentDefaultsRegistry {
|
|
10
10
|
GrTabs: GrTabsConfigurableProps;
|
|
11
11
|
}
|
|
@@ -11,7 +11,7 @@ export interface GrTextareaConfigurableProps {
|
|
|
11
11
|
/** Кнопка очистки значения. */
|
|
12
12
|
clearable: boolean;
|
|
13
13
|
}
|
|
14
|
-
declare module '
|
|
14
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
15
15
|
interface GrComponentDefaultsRegistry {
|
|
16
16
|
GrTextarea: GrTextareaConfigurableProps;
|
|
17
17
|
}
|
|
@@ -30,8 +30,8 @@ export declare const disabledSurfaceClass = "bg-[var(--gr-muted)] text-[var(--gr
|
|
|
30
30
|
*/
|
|
31
31
|
export declare const countRowClass = "mt-1 flex items-baseline justify-between gap-3";
|
|
32
32
|
/** Счётчик строк. Слева, потому что читается раньше: сначала «сколько строк», потом лимит символов. */
|
|
33
|
-
export declare const lineCountClass = "text-[length:var(--gr-control-text-xs)] leading-[var(--gr-leading-xs)] text-[var(--gr-muted-fg)]
|
|
34
|
-
export declare const countClass = "mt-1 text-right text-[length:var(--gr-control-text-xs)] leading-[var(--gr-leading-xs)] text-[var(--gr-muted-fg)]
|
|
33
|
+
export declare const lineCountClass = "text-[length:var(--gr-control-text-xs)] leading-[var(--gr-leading-xs)] text-[var(--gr-muted-fg)] tabular-nums";
|
|
34
|
+
export declare const countClass = "mt-1 text-right text-[length:var(--gr-control-text-xs)] leading-[var(--gr-leading-xs)] text-[var(--gr-muted-fg)] tabular-nums";
|
|
35
35
|
export declare function grTextareaClass(options: {
|
|
36
36
|
state: GrTextareaState;
|
|
37
37
|
invalid: boolean;
|
|
@@ -12,7 +12,7 @@ export interface GrTimelineConfigurableProps {
|
|
|
12
12
|
density: GrTimelineDensity;
|
|
13
13
|
groupHeadingLevel: GrTimelineHeadingLevel;
|
|
14
14
|
}
|
|
15
|
-
declare module '
|
|
15
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
16
16
|
interface GrComponentDefaultsRegistry {
|
|
17
17
|
GrTimeline: GrTimelineConfigurableProps;
|
|
18
18
|
}
|
|
@@ -27,7 +27,7 @@ export declare const markerFilledToneClass: Record<GrTimelineTone, string>;
|
|
|
27
27
|
/** Полая точка: обводка тоном, середина — фон страницы, чтобы ось не просвечивала. */
|
|
28
28
|
export declare const markerOutlinedToneClass: Record<GrTimelineTone, string>;
|
|
29
29
|
export declare const markerBaseClass = "block shrink-0 rounded-[var(--gr-radius-full)]";
|
|
30
|
-
export declare const timeClass = "text-[length:var(--gr-text-xs)] leading-[var(--gr-leading-normal)] text-[var(--gr-muted-fg)]
|
|
30
|
+
export declare const timeClass = "text-[length:var(--gr-text-xs)] leading-[var(--gr-leading-normal)] text-[var(--gr-muted-fg)] tabular-nums";
|
|
31
31
|
export declare const titleClass = "text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-normal)] font-600 text-[var(--gr-fg)]";
|
|
32
32
|
export declare const descriptionClass = "mt-0.5 text-[length:var(--gr-text-sm)] leading-[var(--gr-leading-normal)] text-[var(--gr-muted-fg)]";
|
|
33
33
|
export declare const groupTitleClass = "text-[length:var(--gr-text-xs)] leading-[var(--gr-leading-normal)] font-600 uppercase tracking-wide text-[var(--gr-muted-fg)]";
|
|
@@ -20,6 +20,11 @@ export interface GrToasterProps {
|
|
|
20
20
|
* `F6` — рекомендация APG для перехода между «регионами» страницы.
|
|
21
21
|
*/
|
|
22
22
|
focusHotkey?: string | false;
|
|
23
|
+
/**
|
|
24
|
+
* Смахивание тоста к своему краю экрана. Клавиатурный эквивалент — `Delete`
|
|
25
|
+
* и `Backspace` на сфокусированном тосте — остаётся и при выключенном жесте.
|
|
26
|
+
*/
|
|
27
|
+
swipeDismiss?: boolean;
|
|
23
28
|
}
|
|
24
29
|
/**
|
|
25
30
|
* Слот `actions` полностью заменяет дефолтные action-кнопки тоста. Получает сам
|
|
@@ -44,6 +49,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
44
49
|
regionLabel: undefined;
|
|
45
50
|
width: undefined;
|
|
46
51
|
focusHotkey: string;
|
|
52
|
+
swipeDismiss: boolean;
|
|
47
53
|
}>>, {
|
|
48
54
|
focus: typeof focus;
|
|
49
55
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrToasterProps>, {
|
|
@@ -53,6 +59,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
53
59
|
regionLabel: undefined;
|
|
54
60
|
width: undefined;
|
|
55
61
|
focusHotkey: string;
|
|
62
|
+
swipeDismiss: boolean;
|
|
56
63
|
}>>> & Readonly<{}>, {
|
|
57
64
|
width: string | number;
|
|
58
65
|
placement: GrToasterPlacement;
|
|
@@ -60,6 +67,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
60
67
|
regionLabel: string;
|
|
61
68
|
maxVisible: number;
|
|
62
69
|
focusHotkey: string | false;
|
|
70
|
+
swipeDismiss: boolean;
|
|
63
71
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
64
72
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
65
73
|
declare const _default: typeof __VLS_export;
|
|
@@ -1,2 +1,29 @@
|
|
|
1
1
|
export type GrToasterPlacement = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left';
|
|
2
2
|
export declare const PLACEMENT_CLASS: Record<GrToasterPlacement, string>;
|
|
3
|
+
/**
|
|
4
|
+
* Куда смахивается тост: к своему краю экрана. Стек у правого края уходит
|
|
5
|
+
* вправо, у левого — влево; смахивание «вглубь экрана» читалось бы как попытка
|
|
6
|
+
* достать что-то из-под тоста, а не выбросить его.
|
|
7
|
+
*/
|
|
8
|
+
export declare const SWIPE_DIRECTION: Record<GrToasterPlacement, 1 | -1>;
|
|
9
|
+
/** Доля ширины тоста, после которой отпускание закрывает, а не возвращает. */
|
|
10
|
+
export declare const SWIPE_THRESHOLD_RATIO = 0.25;
|
|
11
|
+
/** Нижняя граница порога: на узком стеке четверть ширины слишком мала. */
|
|
12
|
+
export declare const SWIPE_THRESHOLD_MIN_PX = 56;
|
|
13
|
+
/**
|
|
14
|
+
* Сопротивление движению не в свою сторону. Жест остаётся живым — тост едет за
|
|
15
|
+
* пальцем, — но закрыть его «наоборот» нельзя: это была бы вторая, неочевидная
|
|
16
|
+
* дорога к тому же действию.
|
|
17
|
+
*/
|
|
18
|
+
export declare const SWIPE_RESISTANCE = 4;
|
|
19
|
+
/**
|
|
20
|
+
* Куда уезжает отпущенный тост. Заведомо дальше своей ширины: он должен уйти
|
|
21
|
+
* за край экрана, а не остановиться на полпути.
|
|
22
|
+
*/
|
|
23
|
+
export declare const SWIPE_FLY_OUT_PX = 600;
|
|
24
|
+
/**
|
|
25
|
+
* Смещение, на котором тост становится полностью прозрачным, — вдвое дальше
|
|
26
|
+
* порога. К моменту закрытия он уже наполовину растворён, и уход не выглядит
|
|
27
|
+
* мгновенным исчезновением.
|
|
28
|
+
*/
|
|
29
|
+
export declare function swipeOpacity(offset: number, threshold: number): number;
|
|
@@ -3,7 +3,7 @@ import type { GrComponentSize } from '../GrConfigProvider/context';
|
|
|
3
3
|
export interface GrTooltipConfigurableProps {
|
|
4
4
|
size: GrComponentSize;
|
|
5
5
|
}
|
|
6
|
-
declare module '
|
|
6
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
7
7
|
interface GrComponentDefaultsRegistry {
|
|
8
8
|
GrTooltip: GrTooltipConfigurableProps;
|
|
9
9
|
}
|
|
@@ -3,7 +3,7 @@ import type { GrComponentSize } from '../GrConfigProvider/context';
|
|
|
3
3
|
export interface GrTreeConfigurableProps {
|
|
4
4
|
size: GrComponentSize;
|
|
5
5
|
}
|
|
6
|
-
declare module '
|
|
6
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
7
7
|
interface GrComponentDefaultsRegistry {
|
|
8
8
|
GrTree: GrTreeConfigurableProps;
|
|
9
9
|
}
|
|
@@ -20,7 +20,6 @@ export type GrTreeInteractionEmitters<T> = {
|
|
|
20
20
|
export type GrTreeInteractionContext<T> = {
|
|
21
21
|
hoveredKey: Ref<GrTreeKey | undefined>;
|
|
22
22
|
/** Клавиша узла, держащего roving-фокус (единственный tabindex=0 во всём дереве). */
|
|
23
|
-
focusedKey: Ref<GrTreeKey | undefined>;
|
|
24
23
|
/**
|
|
25
24
|
* Реестр DOM-узлов строк, общий на все уровни дерева. Нужен клавиатуре: без
|
|
26
25
|
* него каждое нажатие стрелки обходило бы весь DOM поддерева в поисках
|
|
@@ -3,7 +3,7 @@ import type { GrComponentSize } from '../GrConfigProvider/context';
|
|
|
3
3
|
export interface GrTreeSelectConfigurableProps {
|
|
4
4
|
size: GrComponentSize;
|
|
5
5
|
}
|
|
6
|
-
declare module '
|
|
6
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
7
7
|
interface GrComponentDefaultsRegistry {
|
|
8
8
|
GrTreeSelect: GrTreeSelectConfigurableProps;
|
|
9
9
|
}
|
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
* а палитра в закрытом состоянии не рендерит ничего. Поэтому здесь — свой
|
|
11
11
|
* матчер на `window`, с тем же синтаксисом комбинаций плюс токен `mod`.
|
|
12
12
|
*/
|
|
13
|
+
import { type HotkeyKeyView } from './hotkeyTokens';
|
|
14
|
+
export { isAppleDevice } from '../../internal/keyboard';
|
|
15
|
+
export { findKbdToken, GR_KBD_TOKENS } from './hotkeyTokens';
|
|
16
|
+
export type { GrKbdKeyName, GrKbdTokenGroup, GrKbdTokenSpec, HotkeyKeyView } from './hotkeyTokens';
|
|
13
17
|
export type ParsedCommandHotkey = {
|
|
14
18
|
key: string;
|
|
15
19
|
ctrl: boolean;
|
|
@@ -20,25 +24,13 @@ export type ParsedCommandHotkey = {
|
|
|
20
24
|
mod: boolean;
|
|
21
25
|
};
|
|
22
26
|
export declare function parseCommandHotkey(combo: string): ParsedCommandHotkey | null;
|
|
23
|
-
/** macOS определяем по платформе — от неё зависит, чем является `mod`. */
|
|
24
|
-
export declare function isAppleDevice(): boolean;
|
|
25
27
|
export declare function matchesCommandHotkey(event: KeyboardEvent, hotkey: ParsedCommandHotkey, apple?: boolean): boolean;
|
|
26
28
|
/** Человекочитаемые клавиши для подсказки в поле ввода (`⌘` / `Ctrl`). */
|
|
27
29
|
export declare function formatCommandHotkey(hotkey: ParsedCommandHotkey, apple?: boolean): string[];
|
|
28
|
-
/** Одна клавиша в человекочитаемом виде. */
|
|
29
|
-
export interface HotkeyKeyView {
|
|
30
|
-
/** Что видно на экране: символ (`⌘`) или слово (`Ctrl`). */
|
|
31
|
-
label: string;
|
|
32
|
-
/**
|
|
33
|
-
* Ключ читаемого имени (`gr.kbd.<name>`) для символьных клавиш. У `K` или
|
|
34
|
-
* `Ctrl` его нет — они и так читаются вслух.
|
|
35
|
-
*/
|
|
36
|
-
name?: 'command' | 'option' | 'shift' | 'control' | 'enter' | 'escape';
|
|
37
|
-
}
|
|
38
30
|
/**
|
|
39
|
-
* Токен → то, что видит пользователь.
|
|
40
|
-
*
|
|
41
|
-
*
|
|
31
|
+
* Токен → то, что видит пользователь. Каталог общий с витриной и докой
|
|
32
|
+
* (`hotkeyTokens.ts`): цепочка `if` расходилась бы со списком, который читает
|
|
33
|
+
* потребитель.
|
|
42
34
|
*/
|
|
43
35
|
export declare function formatHotkeyToken(token: string, apple: boolean): HotkeyKeyView;
|
|
44
36
|
export declare function formatHotkeyTokens(tokens: readonly string[], apple: boolean): HotkeyKeyView[];
|