@feugene/granularity 0.16.0 → 0.19.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/chevron-left-D8AUBAM7.js +23 -0
- package/dist/chunks/chevron-left-D8AUBAM7.js.map +1 -0
- package/dist/chunks/{chevron-right-BfqMVpbB.js → chevron-right-C6Z01h0X.js} +1 -22
- package/dist/chunks/chevron-right-C6Z01h0X.js.map +1 -0
- package/dist/chunks/config-8Pcutu1j2.js.map +1 -0
- package/dist/chunks/{config-K0C2tcLB.js → config-9PYRZlKE.js} +1 -1
- package/dist/chunks/{config-K0C2tcLB.js.map → config-9PYRZlKE.js.map} +1 -1
- 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-BJ7Bv_G2.js +148 -0
- package/dist/chunks/config-BJ7Bv_G2.js.map +1 -0
- package/dist/chunks/config-BKvX0q102.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-D8tSR2uS.js → config-Be9k9bOf.js} +2 -8
- package/dist/chunks/config-Be9k9bOf.js.map +1 -0
- 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-DpqOnJiz2.js → config-CDat1wXf2.js} +1 -1
- package/dist/chunks/config-CDat1wXf2.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-CY0_6cMi2.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-DAX8Deh1.js +68 -0
- package/dist/chunks/config-DAX8Deh1.js.map +1 -0
- package/dist/chunks/config-DKdlqXiY.js.map +1 -1
- 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-Rw9OyW702.js.map +1 -0
- package/dist/chunks/config-ScuvHw6k2.js +42 -0
- package/dist/chunks/config-ScuvHw6k2.js.map +1 -0
- package/dist/chunks/config-T3qdQBgU2.js.map +1 -0
- package/dist/chunks/config-eXB87DOi.js.map +1 -0
- 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/generated-BRkbhyxk.js +3270 -0
- package/dist/chunks/generated-BRkbhyxk.js.map +1 -0
- 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-C6uAujdJ.js} +23 -21
- package/dist/chunks/granular-provider-C6uAujdJ.js.map +1 -0
- package/dist/chunks/grip-vertical-lRha2S7q.js +16 -0
- package/dist/chunks/grip-vertical-lRha2S7q.js.map +1 -0
- package/dist/chunks/icon-Dag2tIMs.js +21 -0
- package/dist/chunks/icon-Dag2tIMs.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/{portalRoot-CWD4zHBm.js → portalRoot-CVhCgdG6.js} +10 -1
- package/dist/chunks/{portalRoot-CWD4zHBm.js.map → portalRoot-CVhCgdG6.js.map} +1 -1
- 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-DrQVYwwA.js} +2 -2
- package/dist/chunks/{useModalOverlay-DCM4d3yA.js.map → useModalOverlay-DrQVYwwA.js.map} +1 -1
- package/dist/chunks/{usePortalTarget-RyzEgNTb.js → usePortalTarget-Cn-Wiz5d.js} +1 -1
- package/dist/chunks/{usePortalTarget-RyzEgNTb.js.map → usePortalTarget-Cn-Wiz5d.js.map} +1 -1
- package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-CQ9T7Lly.js → GrAutocomplete-gY4Xopza.js} +35 -26
- package/dist/components/GrAutocomplete/chunks/GrAutocomplete-gY4Xopza.js.map +1 -0
- package/dist/components/GrAutocomplete/index.js +1 -1
- package/dist/components/GrAutocomplete/styles.css +1 -1
- package/dist/components/GrBreadcrumbs/chunks/{GrBreadcrumbs-BCNGDS6k.js → GrBreadcrumbs-DS_-PBVt.js} +8 -7
- package/dist/components/GrBreadcrumbs/chunks/GrBreadcrumbs-DS_-PBVt.js.map +1 -0
- package/dist/components/GrBreadcrumbs/index.js +1 -1
- package/dist/components/GrCollapse/chunks/{GrCollapse-B2Fc6A9r.js.map → GrCollapse-Kk0DE8tb.js.map} +1 -1
- package/dist/components/GrCollapse/index.js +1 -1
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-bnYBRGk8.js → GrColorPicker-CkBTzkqn.js} +4 -4
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-bnYBRGk8.js.map → GrColorPicker-CkBTzkqn.js.map} +1 -1
- package/dist/components/GrColorPicker/index.js +2 -2
- package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-MWDYDPNC.js → GrCommandPalette-BugTlGdj.js} +41 -16
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BugTlGdj.js.map +1 -0
- package/dist/components/GrCommandPalette/index.js +2 -2
- 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-Ds5T0GiR.js} +1 -1
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-DaQmlp1_.js.map → GrConfirmDialog-Ds5T0GiR.js.map} +1 -1
- package/dist/components/GrConfirmDialog/index.js +1 -1
- package/dist/components/GrDataTable/chunks/{GrDataTable-DVFho9Cj.js → GrDataTable-CYe2A2WA.js} +498 -48
- package/dist/components/GrDataTable/chunks/GrDataTable-CYe2A2WA.js.map +1 -0
- package/dist/components/GrDataTable/index.js +2 -2
- package/dist/components/GrDialog/chunks/{GrDialog-AE1gIZuz.js → GrDialog-C3tYaA8v.js} +1 -1
- package/dist/components/GrDialog/chunks/{GrDialog-AE1gIZuz.js.map → GrDialog-C3tYaA8v.js.map} +1 -1
- package/dist/components/GrDialog/index.js +1 -1
- package/dist/components/GrDialogService/chunks/{GrDialogService-B4DYWDkA.js → GrDialogService-CTBiiJDI.js} +3 -3
- package/dist/components/GrDialogService/chunks/{GrDialogService-B4DYWDkA.js.map → GrDialogService-CTBiiJDI.js.map} +1 -1
- package/dist/components/GrDialogService/index.js +1 -1
- package/dist/components/GrDivider/chunks/{GrDivider-B2Xwc_QO.js → GrDivider-xxq1_fIl.js} +1 -1
- package/dist/components/GrDivider/chunks/{GrDivider-B2Xwc_QO.js.map → GrDivider-xxq1_fIl.js.map} +1 -1
- package/dist/components/GrDivider/index.js +2 -2
- package/dist/components/GrDrawer/chunks/{GrDrawer-DQwi6aRw.js → GrDrawer-BSSuiNHU.js} +1 -1
- package/dist/components/GrDrawer/chunks/{GrDrawer-DQwi6aRw.js.map → GrDrawer-BSSuiNHU.js.map} +1 -1
- package/dist/components/GrDrawer/index.js +1 -1
- package/dist/components/GrDropdown/chunks/{GrDropdown-BLng6V1m.js → GrDropdown-Bh6UK2M5.js} +3 -3
- package/dist/components/GrDropdown/chunks/{GrDropdown-BLng6V1m.js.map → GrDropdown-Bh6UK2M5.js.map} +1 -1
- package/dist/components/GrDropdown/index.js +1 -1
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-BImk2Vs7.js → GrDropdownMenu-LyfEFUbg.js} +2 -2
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-BImk2Vs7.js.map → GrDropdownMenu-LyfEFUbg.js.map} +1 -1
- package/dist/components/GrDropdownMenu/index.js +2 -2
- 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-DfD4euH5.js} +48 -23
- package/dist/components/GrImageViewer/chunks/GrImageViewer-DfD4euH5.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-CbMMr6W1.js} +1 -1
- package/dist/components/GrModal/chunks/{GrModal-B8I78T0N.js.map → GrModal-CbMMr6W1.js.map} +1 -1
- package/dist/components/GrModal/index.js +1 -1
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-CZOyPz4J.js → GrNumberInput-B5CHZDBj.js} +2 -1
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-CZOyPz4J.js.map → GrNumberInput-B5CHZDBj.js.map} +1 -1
- package/dist/components/GrNumberInput/index.js +1 -1
- package/dist/components/GrPagination/chunks/{GrPagination-B6N0QZBf.js → GrPagination-BM4FrD6Q.js} +4 -4
- package/dist/components/GrPagination/chunks/GrPagination-BM4FrD6Q.js.map +1 -0
- package/dist/components/GrPagination/index.js +1 -1
- package/dist/components/GrPopover/chunks/{GrPopover-B1eRCOoO.js → GrPopover-DMH4Jjst.js} +1 -1
- package/dist/components/GrPopover/chunks/{GrPopover-B1eRCOoO.js.map → GrPopover-DMH4Jjst.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-Pwr9NPxK.js} +3 -3
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-Ct174NVD.js.map → GrPromptDialog-Pwr9NPxK.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-DVFH3lYu.js} +10 -9
- package/dist/components/GrRating/chunks/GrRating-DVFH3lYu.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-B-Voni7D.js} +69 -55
- package/dist/components/GrSelect/chunks/GrSelect-B-Voni7D.js.map +1 -0
- package/dist/components/GrSelect/index.js +1 -1
- package/dist/components/GrSelect/styles.css +1 -1
- package/dist/components/GrSidebar/chunks/{GrSidebar-DRGnnViw.js → GrSidebar-i7AxjhY_.js} +3 -2
- package/dist/components/GrSidebar/chunks/{GrSidebar-DRGnnViw.js.map → GrSidebar-i7AxjhY_.js.map} +1 -1
- package/dist/components/GrSidebar/index.js +2 -2
- package/dist/components/GrSkeleton/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-XB7mXM1W.js +277 -0
- package/dist/components/GrSortableList/chunks/GrSortableList-XB7mXM1W.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-DOsM6s5V.js} +54 -7
- package/dist/components/GrStatistic/chunks/GrStatistic-DOsM6s5V.js.map +1 -0
- 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-f3-oQenu.js} +55 -65
- package/dist/components/GrTabs/chunks/GrTabs-f3-oQenu.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-Dqja0Lf9.js} +114 -13
- package/dist/components/GrToaster/chunks/GrToaster-Dqja0Lf9.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-Cn08heWz.js} +2 -2
- package/dist/components/GrTooltip/chunks/{GrTooltip-DEbejfhA.js.map → GrTooltip-Cn08heWz.js.map} +1 -1
- package/dist/components/GrTooltip/index.js +2 -2
- package/dist/components/GrTree/chunks/{GrTree-wfdbvygw.js → GrTree-BR9a2pay.js} +148 -111
- package/dist/components/GrTree/chunks/GrTree-BR9a2pay.js.map +1 -0
- package/dist/components/GrTree/index.js +2 -2
- package/dist/components/GrTree/styles.css +1 -1
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-lLWmAMtI.js → GrTreeSelect--muUeB0v.js} +28 -14
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect--muUeB0v.js.map +1 -0
- package/dist/components/GrTreeSelect/index.js +1 -1
- package/dist/composables/useAnnouncer.js +1 -1
- 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/usePortalTarget.js +1 -1
- 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/directives/loading.js +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 +77 -68
- package/dist/styles/themes/dark.css +6 -1
- package/dist/testing.js +199 -0
- package/dist/testing.js.map +1 -0
- package/dist/theme-apply.js +33 -0
- package/dist/theme-apply.js.map +1 -0
- package/dist/theme.js +501 -0
- package/dist/theme.js.map +1 -0
- package/dist/tokens.js +1 -3131
- 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/GrBreadcrumbs/grBreadcrumbsStyles.d.ts +5 -2
- 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/GrCommandPalette.vue.d.ts +6 -6
- package/dist/types/src/components/GrCommandPalette/defaults.d.ts +1 -1
- package/dist/types/src/components/GrCommandPalette/filtering.d.ts +6 -2
- 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 +38 -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/GrRating.vue.d.ts +9 -4
- 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 +37 -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/GrStatistic.vue.d.ts +12 -9
- package/dist/types/src/components/GrStatistic/defaults.d.ts +1 -1
- package/dist/types/src/components/GrStatistic/grStatisticStyles.d.ts +1 -2
- 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/GrTabs.vue.d.ts +6 -2
- 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/GrTree/grTreeProps.d.ts +11 -4
- package/dist/types/src/components/GrTree/safelist.d.ts +1 -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/components/shared/icon.d.ts +13 -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/types/src/testing/announcer.d.ts +10 -0
- package/dist/types/src/testing/context.d.ts +36 -0
- package/dist/types/src/testing/env.d.ts +25 -0
- package/dist/types/src/testing/geometry.d.ts +23 -0
- package/dist/types/src/testing/index.d.ts +12 -0
- package/dist/types/src/testing/pointer.d.ts +31 -0
- package/dist/types/src/theme/apply.d.ts +27 -0
- package/dist/types/src/theme/color.d.ts +35 -0
- package/dist/types/src/theme/extendTheme.d.ts +63 -0
- package/dist/types/src/theme/index.d.ts +22 -0
- package/dist/types/src/theme/roles.d.ts +16 -0
- package/dist/types/src/theme/tone.d.ts +32 -0
- package/dist/types/src/theme/validate.d.ts +16 -0
- package/dist/types/src/tokens/types.d.ts +8 -0
- package/dist/web-types.json +214 -13
- package/package.json +47 -4
- package/tokens/themes/dark.json +2 -1
- package/dist/chunks/chevron-right-BfqMVpbB.js.map +0 -1
- package/dist/chunks/config-8Pcutu1j.js.map +0 -1
- package/dist/chunks/config-B-g6lT19.js.map +0 -1
- package/dist/chunks/config-BE6n20np.js.map +0 -1
- package/dist/chunks/config-BKvX0q10.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-CY0_6cMi.js.map +0 -1
- package/dist/chunks/config-Cw6TDzWv2.js.map +0 -1
- package/dist/chunks/config-D8tSR2uS.js.map +0 -1
- package/dist/chunks/config-DpqOnJiz2.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-Rw9OyW70.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/GrBreadcrumbs/chunks/GrBreadcrumbs-BCNGDS6k.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/GrStatistic/chunks/GrStatistic-CttyoYPT.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/components/GrTreeSelect/chunks/GrTreeSelect-lLWmAMtI.js.map +0 -1
- package/dist/tokens.js.map +0 -1
- package/dist/chunks/{config-8Pcutu1j.js → config-8Pcutu1j2.js} +0 -0
- package/dist/chunks/{config-BE6n20np.js → config-BE6n20np2.js} +0 -0
- package/dist/chunks/{config-BKvX0q10.js → config-BKvX0q102.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-CY0_6cMi.js → config-CY0_6cMi2.js} +0 -0
- package/dist/chunks/{config-Rw9OyW70.js → config-Rw9OyW702.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/components/GrCollapse/chunks/{GrCollapse-B2Fc6A9r.js → GrCollapse-Kk0DE8tb.js} +1 -1
- /package/dist/types/src/composables/{internal/useComboboxNavigation.d.ts → useComboboxNavigation.d.ts} +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Цветовая математика пакета — один источник на всех.
|
|
3
|
+
*
|
|
4
|
+
* Одну и ту же формулу считают три разных потребителя: генератор токенов
|
|
5
|
+
* (фолбэки `@supports not (color-mix)`), композиция тем (`extendTheme`, `tone`)
|
|
6
|
+
* и гейты контраста. Расхождение здесь не абстрактно: фолбэки уже жили
|
|
7
|
+
* отдельной копией из сорока хексов, которые обязаны были совпадать с живым
|
|
8
|
+
* `color-mix` до байта, и не совпадали.
|
|
9
|
+
*
|
|
10
|
+
* Модуль читает и генератор (`scripts/generate-tokens.mjs`, запускается
|
|
11
|
+
* `node --experimental-strip-types`), поэтому синтаксис здесь только стираемый:
|
|
12
|
+
* ни `enum`, ни `namespace`, ни параметров-свойств в конструкторах.
|
|
13
|
+
*/
|
|
14
|
+
export type Rgb = [number, number, number];
|
|
15
|
+
export declare function parseHex(value: string): Rgb;
|
|
16
|
+
export declare function toHex(channels: Rgb): string;
|
|
17
|
+
/**
|
|
18
|
+
* `color-mix(in srgb, base <amount>%, other)` для непрозрачных цветов — это
|
|
19
|
+
* линейная интерполяция в gamma-кодированном sRGB, то есть ровно то, что делает
|
|
20
|
+
* браузер. Поэтому посчитанный здесь фолбэк совпадает с живым `color-mix`.
|
|
21
|
+
*/
|
|
22
|
+
export declare function mixSrgb(baseHex: string, otherHex: string, amount: number): string;
|
|
23
|
+
export declare function luminance(color: string | Rgb): number;
|
|
24
|
+
/** Отношение контраста по WCAG 2.1: от 1 (одинаковые) до 21 (чёрное на белом). */
|
|
25
|
+
export declare function contrast(foreground: string | Rgb, background: string | Rgb): number;
|
|
26
|
+
/**
|
|
27
|
+
* Воспринимаемое расстояние между цветами (ΔE, CIE76).
|
|
28
|
+
*
|
|
29
|
+
* Контраст отвечает на вопрос «читается ли текст», а этот — на вопрос
|
|
30
|
+
* «различит ли человек два тона рядом». Порог заметности около 2.3; всё, что
|
|
31
|
+
* ниже, для глаза один цвет, каким бы разным ни выглядел hex.
|
|
32
|
+
*/
|
|
33
|
+
export declare function deltaE(first: string | Rgb, second: string | Rgb): number;
|
|
34
|
+
/** Цвет — это hex, а не `var()`/`rgb()`: производные и контраст считаются только по нему. */
|
|
35
|
+
export declare function isHex(value: string): boolean;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { GrThemeName } from '../tokens/types';
|
|
2
|
+
import { type GrThemeTokens } from './roles';
|
|
3
|
+
import { type GrThemeIssue } from './validate';
|
|
4
|
+
export interface GrTheme {
|
|
5
|
+
name: string;
|
|
6
|
+
/** Селектор, под которым тема объявлена: по умолчанию `[data-theme='<name>']`. */
|
|
7
|
+
selector: string;
|
|
8
|
+
/** Полный набор ролей: своё поверх базы. */
|
|
9
|
+
tokens: GrThemeTokens;
|
|
10
|
+
/** Покомпонентные токены темы, если заданы. */
|
|
11
|
+
componentTokens: GrThemeTokens;
|
|
12
|
+
/** Готовый CSS, включая фолбэк производных для браузеров без `color-mix`. */
|
|
13
|
+
css: string;
|
|
14
|
+
}
|
|
15
|
+
export interface ExtendThemeOptions {
|
|
16
|
+
name: string;
|
|
17
|
+
/** Готовая тема пакета, чужая тема или просто набор ролей. */
|
|
18
|
+
base: GrThemeName | GrTheme | GrThemeTokens;
|
|
19
|
+
selector?: string;
|
|
20
|
+
/** Что меняем. Всё, чего здесь нет, приходит из базы. */
|
|
21
|
+
tokens?: GrThemeTokens;
|
|
22
|
+
/**
|
|
23
|
+
* Покомпонентные токены (`--gr-button-primary-bg`) — у них своя природа:
|
|
24
|
+
* пакет держит для них отдельный слой и **не** наследует их между темами.
|
|
25
|
+
* Поэтому они не достраиваются из базы, а просто едут в тот же селектор:
|
|
26
|
+
* заданы — переопределены, не заданы — работает дефолт компонента.
|
|
27
|
+
*/
|
|
28
|
+
componentTokens?: GrThemeTokens;
|
|
29
|
+
/**
|
|
30
|
+
* Проверка контраста и различимости тонов перед выдачей. Включена: тема,
|
|
31
|
+
* которая не читается, — это дефект, и узнать о нём на сборке дешевле, чем от
|
|
32
|
+
* пользователя. Выключать осознанно, для заведомо декоративных тем.
|
|
33
|
+
*/
|
|
34
|
+
validate?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export declare class GrThemeError extends Error {
|
|
37
|
+
issues: GrThemeIssue[];
|
|
38
|
+
constructor(name: string, issues: GrThemeIssue[]);
|
|
39
|
+
}
|
|
40
|
+
export declare function renderThemeCss(theme: Pick<GrTheme, 'name' | 'selector' | 'tokens'> & Partial<Pick<GrTheme, 'componentTokens'>>): string;
|
|
41
|
+
/**
|
|
42
|
+
* Тема поверх готовой: объявляем только то, что меняем.
|
|
43
|
+
*
|
|
44
|
+
* Роль, которую тема не объявила, наследуется не от «своей» базы, а из `:root`,
|
|
45
|
+
* то есть из светлой темы: тёмная тема с забытой ролью получает светлое пятно.
|
|
46
|
+
* Поэтому здесь тема достраивается до полного набора **всех** ролей пакета — и
|
|
47
|
+
* роль, добавленная пакетом завтра, приедет в неё сама, без правок потребителя.
|
|
48
|
+
*/
|
|
49
|
+
export declare function extendTheme(options: ExtendThemeOptions): GrTheme;
|
|
50
|
+
/**
|
|
51
|
+
* Тема с нуля: без базы, все роли свои.
|
|
52
|
+
*
|
|
53
|
+
* «Без базы» — это не «ни от чего не наследуется»: в CSS так нельзя. Роль,
|
|
54
|
+
* которую тема не объявила, придёт из `:root`, а `:root` — это **светлая тема
|
|
55
|
+
* пакета**. Независимой тема становится ровно тогда, когда объявляет все роли
|
|
56
|
+
* сама, и здесь это проверяется: не хватает — сборка падает со списком, а не
|
|
57
|
+
* молча подмешивает чужую палитру.
|
|
58
|
+
*
|
|
59
|
+
* Цена честная и её видно: `extendTheme` получает новую роль пакета
|
|
60
|
+
* автоматически, а тема с нуля — упадёт на следующей сборке и потребует решения.
|
|
61
|
+
* Это и есть смысл выбора: полный контроль в обмен на сопровождение.
|
|
62
|
+
*/
|
|
63
|
+
export declare function createTheme(options: Omit<ExtendThemeOptions, 'base'>): GrTheme;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Композиция тем — `@feugene/granularity/theme`.
|
|
3
|
+
*
|
|
4
|
+
* Тема объявляет только то, что меняет: остальное приезжает из базы, а не из
|
|
5
|
+
* `:root` (то есть не из светлой темы, как было бы у CSS-файла с пропущенной
|
|
6
|
+
* ролью). Роль, добавленная пакетом завтра, попадёт в собранную тему сама.
|
|
7
|
+
*
|
|
8
|
+
* Точка входа сборочная: она тянет справочник токенов, и место ей в скрипте
|
|
9
|
+
* или конфиге, а не в бандле приложения. Подключение готового CSS в браузере —
|
|
10
|
+
* `@feugene/granularity/theme/apply`.
|
|
11
|
+
*
|
|
12
|
+
* Документация: `docs/theming.md`.
|
|
13
|
+
*/
|
|
14
|
+
export { createTheme, extendTheme, GrThemeError, renderThemeCss } from './extendTheme';
|
|
15
|
+
export type { ExtendThemeOptions, GrTheme } from './extendTheme';
|
|
16
|
+
export { GrToneError, tone } from './tone';
|
|
17
|
+
export type { ToneOptions, ToneRole } from './tone';
|
|
18
|
+
export { validateTheme } from './validate';
|
|
19
|
+
export type { GrThemeIssue } from './validate';
|
|
20
|
+
export { resolveRole, themeRoleNames } from './roles';
|
|
21
|
+
export type { GrThemeTokens } from './roles';
|
|
22
|
+
export { contrast, deltaE, mixSrgb } from './color';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/** Значения ролей темы: `--gr-bg` → `#041e2b`. */
|
|
2
|
+
export type GrThemeTokens = Record<string, string>;
|
|
3
|
+
/** Роли, известные пакету, в порядке объявления. */
|
|
4
|
+
export declare function themeRoleNames(): string[];
|
|
5
|
+
/**
|
|
6
|
+
* Значение роли, годное для арифметики.
|
|
7
|
+
*
|
|
8
|
+
* Роль вправе ссылаться на другую (`--gr-invalid-brd: var(--gr-danger)`) — такую
|
|
9
|
+
* ссылку разворачиваем, иначе фолбэк и проверки считать не из чего. Всё, что не
|
|
10
|
+
* разворачивается в hex (`rgb(… / .45)` у подложки, `var()` за пределы темы),
|
|
11
|
+
* возвращается как `null`: посчитать нельзя, и выдумывать не надо.
|
|
12
|
+
*
|
|
13
|
+
* Цикл рвём с ошибкой: тема потребителя вправе ошибиться, и упасть надо с
|
|
14
|
+
* именами ролей, а не переполнением стека.
|
|
15
|
+
*/
|
|
16
|
+
export declare function resolveRole(tokens: GrThemeTokens, name: string, seen?: string[]): string | null;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { GrThemeName } from '../tokens/types';
|
|
2
|
+
import { type GrThemeTokens } from './roles';
|
|
3
|
+
export type ToneRole = 'fill' | 'solid' | 'light' | 'text';
|
|
4
|
+
export interface ToneOptions {
|
|
5
|
+
/** Тема, в которой тон будет жить: от неё зависят фон, текст и направление сдвигов. */
|
|
6
|
+
base: GrThemeName | {
|
|
7
|
+
tokens: GrThemeTokens;
|
|
8
|
+
} | GrThemeTokens;
|
|
9
|
+
/**
|
|
10
|
+
* Что выводить. По умолчанию — ровно те роли, которые у этого тона есть **в
|
|
11
|
+
* реестре пакета**: у `--gr-accent` это только `-fg`, у `--gr-primary` нет
|
|
12
|
+
* `-light`. Для имени, которого в реестре нет, выводится полная семья.
|
|
13
|
+
*/
|
|
14
|
+
roles?: ToneRole[];
|
|
15
|
+
}
|
|
16
|
+
export declare class GrToneError extends Error {
|
|
17
|
+
constructor(role: string, actual: number, expected: number);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Семья ролей тона из одного цвета.
|
|
21
|
+
*
|
|
22
|
+
* Без неё композиция снимает только объём работы: перекрасив `--gr-success`, вы
|
|
23
|
+
* оставляете `-light`, `-text` и `-solid*` от базовой темы, и они расходятся с
|
|
24
|
+
* новым тоном по контрасту — ловушка №3 из `docs/theming.md`. Правила вывода
|
|
25
|
+
* взяты оттуда же (§«Суффиксы ролей»), пороги проверяются на каждом шаге:
|
|
26
|
+
* не вышло — падаем с именем роли, а не отдаём нечитаемое.
|
|
27
|
+
*
|
|
28
|
+
* ```ts
|
|
29
|
+
* extendTheme({ name: 'ocean', base: 'dark', tokens: { ...tone('success', '#3ddc97', { base: 'dark' }) } })
|
|
30
|
+
* ```
|
|
31
|
+
*/
|
|
32
|
+
export declare function tone(name: string, seed: string, options: ToneOptions): GrThemeTokens;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { GrTheme } from './extendTheme';
|
|
2
|
+
import { type GrThemeTokens } from './roles';
|
|
3
|
+
export interface GrThemeIssue {
|
|
4
|
+
kind: 'contrast' | 'distance';
|
|
5
|
+
/** Роль, из-за которой всё встало. */
|
|
6
|
+
token: string;
|
|
7
|
+
/** На чём проверяли: поверхность либо второй тон. */
|
|
8
|
+
against: string;
|
|
9
|
+
actual: number;
|
|
10
|
+
expected: number;
|
|
11
|
+
message: string;
|
|
12
|
+
}
|
|
13
|
+
export declare function validateTheme(theme: GrTheme | {
|
|
14
|
+
name: string;
|
|
15
|
+
tokens: GrThemeTokens;
|
|
16
|
+
}): GrThemeIssue[];
|
|
@@ -50,5 +50,13 @@ export interface GrDerivedToken {
|
|
|
50
50
|
section: string;
|
|
51
51
|
description: string;
|
|
52
52
|
formula: string;
|
|
53
|
+
/**
|
|
54
|
+
* Слагаемые формулы отдельно от её текста: по ним пересчитывается фолбэк
|
|
55
|
+
* `@supports not (color-mix)` для темы, которой на момент сборки пакета не
|
|
56
|
+
* существовало (`extendTheme`).
|
|
57
|
+
*/
|
|
58
|
+
base: string;
|
|
59
|
+
amount: number;
|
|
60
|
+
mixWith: string;
|
|
53
61
|
values: GrTokenValues;
|
|
54
62
|
}
|
package/dist/web-types.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"name": "@feugene/granularity",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.19.0",
|
|
5
5
|
"framework": "vue",
|
|
6
6
|
"js-types-syntax": "typescript",
|
|
7
7
|
"description-markup": "markdown",
|
|
@@ -2414,6 +2414,42 @@
|
|
|
2414
2414
|
"kind": "expression",
|
|
2415
2415
|
"type": "string | number | undefined"
|
|
2416
2416
|
}
|
|
2417
|
+
},
|
|
2418
|
+
{
|
|
2419
|
+
"name": "reorderableColumns",
|
|
2420
|
+
"description": "Пользовательский порядок колонок: в шапке появляется ручка переноса. Колонка тянется указателем и двигается `Shift`+`←`/`→` с клавиатуры.",
|
|
2421
|
+
"default": "false",
|
|
2422
|
+
"value": {
|
|
2423
|
+
"kind": "expression",
|
|
2424
|
+
"type": "boolean | undefined"
|
|
2425
|
+
}
|
|
2426
|
+
},
|
|
2427
|
+
{
|
|
2428
|
+
"name": "columnOrder",
|
|
2429
|
+
"description": "Контролируемый порядок колонок — ключи в нужном порядке (`v-model:columnOrder`). Не задан — порядок компонент помнит сам, начиная с порядка `columns`.",
|
|
2430
|
+
"default": "undefined",
|
|
2431
|
+
"value": {
|
|
2432
|
+
"kind": "expression",
|
|
2433
|
+
"type": "string[] | undefined"
|
|
2434
|
+
}
|
|
2435
|
+
},
|
|
2436
|
+
{
|
|
2437
|
+
"name": "resizableColumns",
|
|
2438
|
+
"description": "Пользовательская ширина колонок: у правого края заголовка появляется ручка. Тянется указателем, с клавиатуры — стрелками (паттерн window splitter). Включает фиксированную раскладку таблицы: без неё браузер пересчитывает ширины по содержимому и заданная пользователем пропадает.",
|
|
2439
|
+
"default": "false",
|
|
2440
|
+
"value": {
|
|
2441
|
+
"kind": "expression",
|
|
2442
|
+
"type": "boolean | undefined"
|
|
2443
|
+
}
|
|
2444
|
+
},
|
|
2445
|
+
{
|
|
2446
|
+
"name": "columnWidths",
|
|
2447
|
+
"description": "Контролируемые ширины в пикселях по ключу колонки (`v-model:columnWidths`). Не заданы — ширины компонент помнит сам.",
|
|
2448
|
+
"default": "undefined",
|
|
2449
|
+
"value": {
|
|
2450
|
+
"kind": "expression",
|
|
2451
|
+
"type": "Record<string, number> | undefined"
|
|
2452
|
+
}
|
|
2417
2453
|
}
|
|
2418
2454
|
],
|
|
2419
2455
|
"slots": [
|
|
@@ -2446,6 +2482,18 @@
|
|
|
2446
2482
|
},
|
|
2447
2483
|
{
|
|
2448
2484
|
"name": "rowClick"
|
|
2485
|
+
},
|
|
2486
|
+
{
|
|
2487
|
+
"name": "update:columnOrder"
|
|
2488
|
+
},
|
|
2489
|
+
{
|
|
2490
|
+
"name": "columnReorder"
|
|
2491
|
+
},
|
|
2492
|
+
{
|
|
2493
|
+
"name": "update:columnWidths"
|
|
2494
|
+
},
|
|
2495
|
+
{
|
|
2496
|
+
"name": "columnResize"
|
|
2449
2497
|
}
|
|
2450
2498
|
]
|
|
2451
2499
|
}
|
|
@@ -4939,6 +4987,15 @@
|
|
|
4939
4987
|
"symbol": "GrKbd"
|
|
4940
4988
|
},
|
|
4941
4989
|
"props": [
|
|
4990
|
+
{
|
|
4991
|
+
"name": "variant",
|
|
4992
|
+
"description": "`merged` (по умолчанию) — сочетание одной плашкой, как его пишут сами системы: `⌘K` на macOS, `Ctrl+K` на прочих. `split` — по плашке на клавишу. `sequence` — аккорд «G затем I»: клавиши нажимают одну за другой.",
|
|
4993
|
+
"default": "\"merged\"",
|
|
4994
|
+
"value": {
|
|
4995
|
+
"kind": "expression",
|
|
4996
|
+
"type": "\"split\" | \"merged\" | \"sequence\" | undefined"
|
|
4997
|
+
}
|
|
4998
|
+
},
|
|
4942
4999
|
{
|
|
4943
5000
|
"name": "keys",
|
|
4944
5001
|
"description": "Сочетание: строкой (`\"mod+shift+K\"`) или набором токенов (`['mod', 'K']`). Токен `mod` — Cmd на macOS, Ctrl на остальных.",
|
|
@@ -4958,8 +5015,8 @@
|
|
|
4958
5015
|
},
|
|
4959
5016
|
{
|
|
4960
5017
|
"name": "separator",
|
|
4961
|
-
"description": "Разделитель между
|
|
4962
|
-
"default": "
|
|
5018
|
+
"description": "Разделитель между клавишами. Не задан — авто: в общей плашке символы склеиваются (`⌘K`), а слова разделяются плюсом (`Ctrl+K`); у `split` это плюс, у `sequence` — слово из локали. Пустая строка — только зазор.",
|
|
5019
|
+
"default": "undefined",
|
|
4963
5020
|
"value": {
|
|
4964
5021
|
"kind": "expression",
|
|
4965
5022
|
"type": "string | undefined"
|
|
@@ -6967,11 +7024,11 @@
|
|
|
6967
7024
|
},
|
|
6968
7025
|
{
|
|
6969
7026
|
"name": "icon",
|
|
6970
|
-
"description": "
|
|
7027
|
+
"description": "Символ вместо встроенной звезды: Vue-компонент либо класс иконки вашей UnoCSS-сборки (`'i-lucide-heart'` — тогда нужен ваш `presetIcons`, см. `docs/installation.md`).",
|
|
6971
7028
|
"default": "undefined",
|
|
6972
7029
|
"value": {
|
|
6973
7030
|
"kind": "expression",
|
|
6974
|
-
"type": "string | undefined"
|
|
7031
|
+
"type": "string | Component | undefined"
|
|
6975
7032
|
}
|
|
6976
7033
|
},
|
|
6977
7034
|
{
|
|
@@ -8207,6 +8264,129 @@
|
|
|
8207
8264
|
]
|
|
8208
8265
|
}
|
|
8209
8266
|
},
|
|
8267
|
+
{
|
|
8268
|
+
"name": "GrSortableList",
|
|
8269
|
+
"source": {
|
|
8270
|
+
"module": "@feugene/granularity/components/GrSortableList",
|
|
8271
|
+
"symbol": "GrSortableList"
|
|
8272
|
+
},
|
|
8273
|
+
"props": [
|
|
8274
|
+
{
|
|
8275
|
+
"name": "modelValue",
|
|
8276
|
+
"required": true,
|
|
8277
|
+
"description": "Набор в текущем порядке. `v-model`: наружу уходит новый массив, вход не мутируется.",
|
|
8278
|
+
"value": {
|
|
8279
|
+
"kind": "expression",
|
|
8280
|
+
"type": "T[]"
|
|
8281
|
+
}
|
|
8282
|
+
},
|
|
8283
|
+
{
|
|
8284
|
+
"name": "itemKey",
|
|
8285
|
+
"description": "Ключ элемента: имя поля или функция. Без него — индекс.",
|
|
8286
|
+
"default": "undefined",
|
|
8287
|
+
"value": {
|
|
8288
|
+
"kind": "expression",
|
|
8289
|
+
"type": "string | ((item: T, index: number) => string | number) | undefined"
|
|
8290
|
+
}
|
|
8291
|
+
},
|
|
8292
|
+
{
|
|
8293
|
+
"name": "disabled",
|
|
8294
|
+
"description": "Список только для чтения: ни указателем, ни с клавиатуры.",
|
|
8295
|
+
"default": "false",
|
|
8296
|
+
"value": {
|
|
8297
|
+
"kind": "expression",
|
|
8298
|
+
"type": "boolean | undefined"
|
|
8299
|
+
}
|
|
8300
|
+
},
|
|
8301
|
+
{
|
|
8302
|
+
"name": "orientation",
|
|
8303
|
+
"description": "Ось переноса. `horizontal` — ряд с переносом по ширине.",
|
|
8304
|
+
"default": "\"vertical\"",
|
|
8305
|
+
"value": {
|
|
8306
|
+
"kind": "expression",
|
|
8307
|
+
"type": "GrSortableOrientation | undefined"
|
|
8308
|
+
}
|
|
8309
|
+
},
|
|
8310
|
+
{
|
|
8311
|
+
"name": "variant",
|
|
8312
|
+
"description": "Поверхность под списком — вариант карточки.",
|
|
8313
|
+
"default": "undefined",
|
|
8314
|
+
"value": {
|
|
8315
|
+
"kind": "expression",
|
|
8316
|
+
"type": "GrCardVariant | undefined"
|
|
8317
|
+
}
|
|
8318
|
+
},
|
|
8319
|
+
{
|
|
8320
|
+
"name": "divided",
|
|
8321
|
+
"description": "Разделители между строками.",
|
|
8322
|
+
"default": "true",
|
|
8323
|
+
"value": {
|
|
8324
|
+
"kind": "expression",
|
|
8325
|
+
"type": "boolean | undefined"
|
|
8326
|
+
}
|
|
8327
|
+
},
|
|
8328
|
+
{
|
|
8329
|
+
"name": "handleOnly",
|
|
8330
|
+
"description": "Тянуть можно только за ручку. Выключено — тянется вся строка.",
|
|
8331
|
+
"default": "true",
|
|
8332
|
+
"value": {
|
|
8333
|
+
"kind": "expression",
|
|
8334
|
+
"type": "boolean | undefined"
|
|
8335
|
+
}
|
|
8336
|
+
},
|
|
8337
|
+
{
|
|
8338
|
+
"name": "maxHeight",
|
|
8339
|
+
"description": "Высота видимой части: список становится скроллером с автопрокруткой при переносе.",
|
|
8340
|
+
"default": "undefined",
|
|
8341
|
+
"value": {
|
|
8342
|
+
"kind": "expression",
|
|
8343
|
+
"type": "string | number | undefined"
|
|
8344
|
+
}
|
|
8345
|
+
},
|
|
8346
|
+
{
|
|
8347
|
+
"name": "emptyText",
|
|
8348
|
+
"description": "Текст пустого состояния. Слот `#empty` сильнее.",
|
|
8349
|
+
"default": "undefined",
|
|
8350
|
+
"value": {
|
|
8351
|
+
"kind": "expression",
|
|
8352
|
+
"type": "string | undefined"
|
|
8353
|
+
}
|
|
8354
|
+
},
|
|
8355
|
+
{
|
|
8356
|
+
"name": "ariaLabel",
|
|
8357
|
+
"description": "Имя списка для скринридера. Не задано — берётся из локали.",
|
|
8358
|
+
"default": "undefined",
|
|
8359
|
+
"value": {
|
|
8360
|
+
"kind": "expression",
|
|
8361
|
+
"type": "string | undefined"
|
|
8362
|
+
}
|
|
8363
|
+
}
|
|
8364
|
+
],
|
|
8365
|
+
"slots": [
|
|
8366
|
+
{
|
|
8367
|
+
"name": "item"
|
|
8368
|
+
},
|
|
8369
|
+
{
|
|
8370
|
+
"name": "handle"
|
|
8371
|
+
},
|
|
8372
|
+
{
|
|
8373
|
+
"name": "empty"
|
|
8374
|
+
}
|
|
8375
|
+
],
|
|
8376
|
+
"js": {
|
|
8377
|
+
"events": [
|
|
8378
|
+
{
|
|
8379
|
+
"name": "update:modelValue"
|
|
8380
|
+
},
|
|
8381
|
+
{
|
|
8382
|
+
"name": "move"
|
|
8383
|
+
},
|
|
8384
|
+
{
|
|
8385
|
+
"name": "change"
|
|
8386
|
+
}
|
|
8387
|
+
]
|
|
8388
|
+
}
|
|
8389
|
+
},
|
|
8210
8390
|
{
|
|
8211
8391
|
"name": "GrSplitter",
|
|
8212
8392
|
"source": {
|
|
@@ -8374,11 +8554,11 @@
|
|
|
8374
8554
|
},
|
|
8375
8555
|
{
|
|
8376
8556
|
"name": "icon",
|
|
8377
|
-
"description": "
|
|
8557
|
+
"description": "Иконка слева от блока: Vue-компонент либо класс иконки вашей UnoCSS-сборки (`'i-lucide-users'` — тогда нужен ваш `presetIcons`, см. `docs/installation.md`).",
|
|
8378
8558
|
"default": "undefined",
|
|
8379
8559
|
"value": {
|
|
8380
8560
|
"kind": "expression",
|
|
8381
|
-
"type": "string | undefined"
|
|
8561
|
+
"type": "string | Component | undefined"
|
|
8382
8562
|
}
|
|
8383
8563
|
},
|
|
8384
8564
|
{
|
|
@@ -8895,6 +9075,15 @@
|
|
|
8895
9075
|
"kind": "expression",
|
|
8896
9076
|
"type": "boolean | undefined"
|
|
8897
9077
|
}
|
|
9078
|
+
},
|
|
9079
|
+
{
|
|
9080
|
+
"name": "tableMinWidth",
|
|
9081
|
+
"description": "Минимальная ширина самой таблицы (число — пиксели). Нужна при `fixedLayout`: с фиксированной раскладкой и шириной `auto` браузер вписывает таблицу в контейнер и делит место между колонками пропорционально — то есть заданные ширины молча ужимаются, а горизонтальной прокрутки, на которой держатся закреплённые колонки, не возникает вовсе.",
|
|
9082
|
+
"default": "undefined",
|
|
9083
|
+
"value": {
|
|
9084
|
+
"kind": "expression",
|
|
9085
|
+
"type": "string | number | undefined"
|
|
9086
|
+
}
|
|
8898
9087
|
}
|
|
8899
9088
|
],
|
|
8900
9089
|
"slots": [
|
|
@@ -9420,6 +9609,15 @@
|
|
|
9420
9609
|
"kind": "expression",
|
|
9421
9610
|
"type": "string | false | undefined"
|
|
9422
9611
|
}
|
|
9612
|
+
},
|
|
9613
|
+
{
|
|
9614
|
+
"name": "swipeDismiss",
|
|
9615
|
+
"description": "Смахивание тоста к своему краю экрана. Клавиатурный эквивалент — `Delete` и `Backspace` на сфокусированном тосте — остаётся и при выключенном жесте.",
|
|
9616
|
+
"default": "true",
|
|
9617
|
+
"value": {
|
|
9618
|
+
"kind": "expression",
|
|
9619
|
+
"type": "boolean | undefined"
|
|
9620
|
+
}
|
|
9423
9621
|
}
|
|
9424
9622
|
],
|
|
9425
9623
|
"slots": [
|
|
@@ -9654,18 +9852,20 @@
|
|
|
9654
9852
|
},
|
|
9655
9853
|
{
|
|
9656
9854
|
"name": "expandIcon",
|
|
9657
|
-
"
|
|
9855
|
+
"description": "Иконка свёрнутого узла: Vue-компонент либо класс иконки вашей UnoCSS-сборки (`'i-lucide-plus'` — тогда нужен ваш `presetIcons`, см. `docs/installation.md`). Не задана — встроенная стрелка.",
|
|
9856
|
+
"default": "undefined",
|
|
9658
9857
|
"value": {
|
|
9659
9858
|
"kind": "expression",
|
|
9660
|
-
"type": "string | undefined"
|
|
9859
|
+
"type": "string | Component | undefined"
|
|
9661
9860
|
}
|
|
9662
9861
|
},
|
|
9663
9862
|
{
|
|
9664
9863
|
"name": "collapseIcon",
|
|
9665
|
-
"
|
|
9864
|
+
"description": "Иконка раскрытого узла. Не задана — та же встроенная стрелка, повёрнутая.",
|
|
9865
|
+
"default": "undefined",
|
|
9666
9866
|
"value": {
|
|
9667
9867
|
"kind": "expression",
|
|
9668
|
-
"type": "string | undefined"
|
|
9868
|
+
"type": "string | Component | undefined"
|
|
9669
9869
|
}
|
|
9670
9870
|
},
|
|
9671
9871
|
{
|
|
@@ -9838,10 +10038,11 @@
|
|
|
9838
10038
|
},
|
|
9839
10039
|
{
|
|
9840
10040
|
"name": "dragHandleIcon",
|
|
9841
|
-
"
|
|
10041
|
+
"description": "Иконка ручки переноса: компонент, класс иконки или ничего — тогда встроенная.",
|
|
10042
|
+
"default": "undefined",
|
|
9842
10043
|
"value": {
|
|
9843
10044
|
"kind": "expression",
|
|
9844
|
-
"type": "string | undefined"
|
|
10045
|
+
"type": "string | Component | undefined"
|
|
9845
10046
|
}
|
|
9846
10047
|
},
|
|
9847
10048
|
{
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@feugene/granularity",
|
|
3
3
|
"description": "Granularity design system package with Vue 3 components, consumed via the `@feugene/unocss-preset-granular` preset.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.19.0",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Evgeniy Fureev",
|
|
@@ -276,6 +276,10 @@
|
|
|
276
276
|
"types": "./dist/types/src/components/GrSlider/index.d.ts",
|
|
277
277
|
"import": "./dist/components/GrSlider/index.js"
|
|
278
278
|
},
|
|
279
|
+
"./components/GrSortableList": {
|
|
280
|
+
"types": "./dist/types/src/components/GrSortableList/index.d.ts",
|
|
281
|
+
"import": "./dist/components/GrSortableList/index.js"
|
|
282
|
+
},
|
|
279
283
|
"./components/GrSplitter": {
|
|
280
284
|
"types": "./dist/types/src/components/GrSplitter/index.d.ts",
|
|
281
285
|
"import": "./dist/components/GrSplitter/index.js"
|
|
@@ -348,10 +352,34 @@
|
|
|
348
352
|
"types": "./dist/types/src/composables/useOverlayLayer.d.ts",
|
|
349
353
|
"import": "./dist/composables/useOverlayLayer.js"
|
|
350
354
|
},
|
|
355
|
+
"./composables/useRovingFocus": {
|
|
356
|
+
"types": "./dist/types/src/composables/useRovingFocus.d.ts",
|
|
357
|
+
"import": "./dist/composables/useRovingFocus.js"
|
|
358
|
+
},
|
|
359
|
+
"./composables/useGrComponentConfig": {
|
|
360
|
+
"types": "./dist/types/src/composables/useGrComponentConfig.d.ts",
|
|
361
|
+
"import": "./dist/composables/useGrComponentConfig.js"
|
|
362
|
+
},
|
|
363
|
+
"./composables/useComboboxNavigation": {
|
|
364
|
+
"types": "./dist/types/src/composables/useComboboxNavigation.d.ts",
|
|
365
|
+
"import": "./dist/composables/useComboboxNavigation.js"
|
|
366
|
+
},
|
|
367
|
+
"./composables/useGranularityTranslations": {
|
|
368
|
+
"types": "./dist/types/src/composables/useGranularityTranslations.d.ts",
|
|
369
|
+
"import": "./dist/composables/useGranularityTranslations.js"
|
|
370
|
+
},
|
|
351
371
|
"./composables/useTheme": {
|
|
352
372
|
"types": "./dist/types/src/composables/useTheme.d.ts",
|
|
353
373
|
"import": "./dist/composables/useTheme.js"
|
|
354
374
|
},
|
|
375
|
+
"./composables/useDragGesture": {
|
|
376
|
+
"types": "./dist/types/src/composables/useDragGesture.d.ts",
|
|
377
|
+
"import": "./dist/composables/useDragGesture.js"
|
|
378
|
+
},
|
|
379
|
+
"./composables/useDragSort": {
|
|
380
|
+
"types": "./dist/types/src/composables/useDragSort.d.ts",
|
|
381
|
+
"import": "./dist/composables/useDragSort.js"
|
|
382
|
+
},
|
|
355
383
|
"./composables/useVirtualList": {
|
|
356
384
|
"types": "./dist/types/src/composables/useVirtualList.d.ts",
|
|
357
385
|
"import": "./dist/composables/useVirtualList.js"
|
|
@@ -419,11 +447,26 @@
|
|
|
419
447
|
"import": "./dist/tokens.js",
|
|
420
448
|
"default": "./dist/tokens.js"
|
|
421
449
|
},
|
|
450
|
+
"./testing": {
|
|
451
|
+
"types": "./dist/types/src/testing/index.d.ts",
|
|
452
|
+
"import": "./dist/testing.js",
|
|
453
|
+
"default": "./dist/testing.js"
|
|
454
|
+
},
|
|
455
|
+
"./theme": {
|
|
456
|
+
"types": "./dist/types/src/theme/index.d.ts",
|
|
457
|
+
"import": "./dist/theme.js",
|
|
458
|
+
"default": "./dist/theme.js"
|
|
459
|
+
},
|
|
460
|
+
"./theme/apply": {
|
|
461
|
+
"types": "./dist/types/src/theme/apply.d.ts",
|
|
462
|
+
"import": "./dist/theme-apply.js",
|
|
463
|
+
"default": "./dist/theme-apply.js"
|
|
464
|
+
},
|
|
422
465
|
"./tokens/*.json": "./tokens/*.json"
|
|
423
466
|
},
|
|
424
467
|
"peerDependencies": {
|
|
425
468
|
"@feugene/fint-i18n": "^0.6.0",
|
|
426
|
-
"@feugene/unocss-preset-granular": "^0.
|
|
469
|
+
"@feugene/unocss-preset-granular": "^0.9.1",
|
|
427
470
|
"@floating-ui/dom": "^1.8.0",
|
|
428
471
|
"vue": "^3.5.40"
|
|
429
472
|
},
|
|
@@ -438,7 +481,7 @@
|
|
|
438
481
|
"devDependencies": {
|
|
439
482
|
"@antfu/eslint-config": "^9.1.0",
|
|
440
483
|
"@feugene/fint-i18n": "^0.6.0",
|
|
441
|
-
"@feugene/unocss-preset-granular": "^0.
|
|
484
|
+
"@feugene/unocss-preset-granular": "^0.9.1",
|
|
442
485
|
"@floating-ui/dom": "^1.8.0",
|
|
443
486
|
"@iconify-json/lucide": "^1.2.117",
|
|
444
487
|
"@types/node": "^25.9.5",
|
|
@@ -464,7 +507,7 @@
|
|
|
464
507
|
"dev": "vite build --watch",
|
|
465
508
|
"doctor": "granular doctor ./granular.options.mjs --strict",
|
|
466
509
|
"generate:registry": "node scripts/generate-registry.mjs",
|
|
467
|
-
"generate:tokens": "node scripts/generate-tokens.mjs",
|
|
510
|
+
"generate:tokens": "node --experimental-strip-types scripts/generate-tokens.mjs",
|
|
468
511
|
"lint": "eslint . --cache",
|
|
469
512
|
"lint:fix": "eslint . --cache --fix",
|
|
470
513
|
"test": "vitest --config vitest.config.ts",
|
package/tokens/themes/dark.json
CHANGED
|
@@ -465,7 +465,8 @@
|
|
|
465
465
|
},
|
|
466
466
|
{
|
|
467
467
|
"name": "--gr-sidebar-primary",
|
|
468
|
-
"
|
|
468
|
+
"note": "Белый текст на #6366f1 даёт 4.47:1 — тот же недолёт AA, из-за которого\nперекрашен `--gr-primary` (заметка выше). Здесь взят минимальный шаг, снимающий\nнедолёт без смены вида: 4.52:1 при ΔE 0.42 к прежнему цвету.",
|
|
469
|
+
"value": "#6365f0",
|
|
469
470
|
"description": "Акцентный цвет активных/ключевых элементов внутри sidebar."
|
|
470
471
|
},
|
|
471
472
|
{
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chevron-right-BfqMVpbB.js","names":[],"sources":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"config-8Pcutu1j.js","names":[],"sources":["../../src/components/GrSkeleton/config.ts"],"sourcesContent":["import { defineGranularComponent } from '@feugene/unocss-preset-granular/contract'\n\nexport const grSkeletonConfig = defineGranularComponent(import.meta.url, {\n name: 'GrSkeleton',\n})\n"],"mappings":";;AAEA,IAAa,mBAAmB,wBAAwB,OAAO,KAAK,KAAK,EACvE,MAAM,aACR,CAAC"}
|