@feugene/granularity 0.23.0 → 0.25.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-BFJIxE8b.js +62 -0
- package/dist/chunks/config-BFJIxE8b.js.map +1 -0
- package/dist/chunks/{config-DBQQT-WP.js → config-BIa3ilQm.js} +18 -3
- package/dist/chunks/config-BIa3ilQm.js.map +1 -0
- package/dist/chunks/config-BfsBepkH.js.map +1 -0
- package/dist/chunks/config-BoNR7_PD.js.map +1 -0
- package/dist/chunks/config-BuGlNPE92.js.map +1 -0
- package/dist/chunks/{config-Be9k9bOf.js → config-C8tVRv8i.js} +16 -2
- package/dist/chunks/config-C8tVRv8i.js.map +1 -0
- package/dist/chunks/config-CPSxM7XE.js +8 -0
- package/dist/chunks/config-CPSxM7XE.js.map +1 -0
- package/dist/chunks/config-D7zgE_Gr.js +107 -0
- package/dist/chunks/config-D7zgE_Gr.js.map +1 -0
- package/dist/chunks/config-DAX8Deh1.js.map +1 -0
- package/dist/chunks/config-DGCMHPCR.js +19 -0
- package/dist/chunks/config-DGCMHPCR.js.map +1 -0
- package/dist/chunks/config-DGWFal5h.js +128 -0
- package/dist/chunks/config-DGWFal5h.js.map +1 -0
- package/dist/chunks/config-DKISz9gR.js +39 -0
- package/dist/chunks/config-DKISz9gR.js.map +1 -0
- package/dist/chunks/{config-Bm_Sovla.js → config-DYgfMrIF.js} +14 -2
- package/dist/chunks/config-DYgfMrIF.js.map +1 -0
- package/dist/chunks/{config-BSyiFlbi.js → config-DtgYuGUn2.js} +2 -1
- package/dist/chunks/config-DtgYuGUn2.js.map +1 -0
- package/dist/chunks/config-Iu684VNI.js +21 -0
- package/dist/chunks/config-Iu684VNI.js.map +1 -0
- package/dist/chunks/config-T3qdQBgU.js.map +1 -0
- package/dist/chunks/{config-DCwQBMmJ.js → config-rkcKArZQ.js} +27 -8
- package/dist/chunks/config-rkcKArZQ.js.map +1 -0
- package/dist/chunks/config-zjeAJ4ho2.js.map +1 -0
- package/dist/chunks/context-BfIQv7m12.js.map +1 -0
- package/dist/chunks/context-CTbuwcYs.js.map +1 -1
- package/dist/chunks/{en-DCCFP4qu.js → en-NpP9e7lC.js} +16 -2
- package/dist/chunks/en-NpP9e7lC.js.map +1 -0
- package/dist/chunks/{es-CT34HBVM.js → es-DaeA2Ql-.js} +16 -2
- package/dist/chunks/es-DaeA2Ql-.js.map +1 -0
- package/dist/chunks/{es-DdJsxlUr.js → es-Do2CNrC2.js} +3 -3
- package/dist/chunks/{es-DdJsxlUr.js.map → es-Do2CNrC2.js.map} +1 -1
- package/dist/chunks/{generated-CiCrGDQO.js → generated-CJe6hdiE.js} +138 -6
- package/dist/chunks/{generated-CiCrGDQO.js.map → generated-CJe6hdiE.js.map} +1 -1
- package/dist/chunks/{grBadgeStyles-C2wLlkjF.js → grBadgeStyles-C1S56Alo.js} +6 -1
- package/dist/chunks/{grBadgeStyles-C2wLlkjF.js.map → grBadgeStyles-C1S56Alo.js.map} +1 -1
- package/dist/chunks/grChipGroupContext-DZXkACap.js +4 -0
- package/dist/chunks/grChipGroupContext-DZXkACap.js.map +1 -0
- package/dist/chunks/{config-C5mO5DYZ.js → grDropdownMenuStyles-D1LOkdVj.js} +1 -38
- package/dist/chunks/grDropdownMenuStyles-D1LOkdVj.js.map +1 -0
- package/dist/chunks/{grPopoverStyles-Rz_Z5nLW.js → grPopoverStyles-Cke_BZsM.js} +16 -3
- package/dist/chunks/grPopoverStyles-Cke_BZsM.js.map +1 -0
- package/dist/chunks/{granular-provider-CQKhl5C_.js → granular-provider-BaHkLjFX.js} +26 -16
- package/dist/chunks/granular-provider-BaHkLjFX.js.map +1 -0
- package/dist/chunks/{ru-CLiAMwrx.js → ru-Bg9-DPmg.js} +16 -2
- package/dist/chunks/ru-Bg9-DPmg.js.map +1 -0
- package/dist/chunks/{config-qVg3Zz_A.js → safelist-DOfCQR5O.js} +2 -19
- package/dist/chunks/safelist-DOfCQR5O.js.map +1 -0
- package/dist/chunks/useMenuItemsFocus-OyOnIAlr.js +117 -0
- package/dist/chunks/useMenuItemsFocus-OyOnIAlr.js.map +1 -0
- package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-DsevPtiS.js → GrAutocomplete-D9c9BNFg.js} +1 -1
- package/dist/components/GrAutocomplete/chunks/{GrAutocomplete-DsevPtiS.js.map → GrAutocomplete-D9c9BNFg.js.map} +1 -1
- package/dist/components/GrAutocomplete/index.js +1 -1
- package/dist/components/GrBadge/chunks/{GrBadge-u2ZdS7CN.js → GrBadge-_9rCHuE1.js} +1 -1
- package/dist/components/GrBadge/chunks/{GrBadge-u2ZdS7CN.js.map → GrBadge-_9rCHuE1.js.map} +1 -1
- package/dist/components/GrBadge/index.js +3 -2
- package/dist/components/GrButton/chunks/{GrButton-Bw2AH4uX.js → GrButton-DCz-Wn-V.js} +1 -1
- package/dist/components/GrButton/chunks/{GrButton-Bw2AH4uX.js.map → GrButton-DCz-Wn-V.js.map} +1 -1
- package/dist/components/GrButton/index.js +1 -1
- package/dist/components/GrButtonGroup/chunks/{GrButtonGroup-CKyiAV8K.js → GrButtonGroup-BQo5VQ_c.js} +1 -1
- package/dist/components/GrButtonGroup/chunks/{GrButtonGroup-CKyiAV8K.js.map → GrButtonGroup-BQo5VQ_c.js.map} +1 -1
- package/dist/components/GrButtonGroup/index.js +2 -2
- package/dist/components/GrCard/chunks/{GrCard-Bc7nRfbe.js → GrCard-aQIjk6I9.js} +9 -3
- package/dist/components/GrCard/chunks/GrCard-aQIjk6I9.js.map +1 -0
- package/dist/components/GrCard/index.js +2 -2
- package/dist/components/GrCheckboxGroup/index.js +1 -1
- package/dist/components/GrChip/chunks/GrChip-BnL2FedO.js +222 -0
- package/dist/components/GrChip/chunks/GrChip-BnL2FedO.js.map +1 -0
- package/dist/components/GrChip/index.js +3 -0
- package/dist/components/GrChipGroup/chunks/GrChipGroup-DefmSdY9.js +209 -0
- package/dist/components/GrChipGroup/chunks/GrChipGroup-DefmSdY9.js.map +1 -0
- package/dist/components/GrChipGroup/index.js +3 -0
- package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-BmXCLgLS.js → GrCodeBlock-CyptiEo4.js} +1 -1
- package/dist/components/GrCodeBlock/chunks/{GrCodeBlock-BmXCLgLS.js.map → GrCodeBlock-CyptiEo4.js.map} +1 -1
- package/dist/components/GrCodeBlock/index.js +1 -1
- package/dist/components/GrCollapse/chunks/{GrCollapse-C1rCfbc0.js → GrCollapse-DUROgAgc.js} +1 -1
- package/dist/components/GrCollapse/chunks/{GrCollapse-C1rCfbc0.js.map → GrCollapse-DUROgAgc.js.map} +1 -1
- package/dist/components/GrCollapse/index.js +1 -1
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-qQdoEPHF.js → GrColorPicker-CDaJRVIM.js} +1 -1
- package/dist/components/GrColorPicker/chunks/{GrColorPicker-qQdoEPHF.js.map → GrColorPicker-CDaJRVIM.js.map} +1 -1
- package/dist/components/GrColorPicker/index.js +1 -1
- package/dist/components/GrCommandPalette/chunks/{GrCommandPalette-BFcMf4Pn.js → GrCommandPalette-BPsVN_XU.js} +3 -3
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BPsVN_XU.js.map +1 -0
- package/dist/components/GrCommandPalette/index.js +1 -1
- package/dist/components/GrCommandPalette/styles.css +1 -1
- package/dist/components/GrConfigProvider/chunks/{GrConfigProvider-UP-EaoAf.js → GrConfigProvider-BF7R3hgg.js} +1 -1
- package/dist/components/GrConfigProvider/chunks/GrConfigProvider-BF7R3hgg.js.map +1 -0
- package/dist/components/GrConfigProvider/index.js +1 -1
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-rRtMScJX.js → GrConfirmDialog-CwXNLyzk.js} +3 -3
- package/dist/components/GrConfirmDialog/chunks/{GrConfirmDialog-rRtMScJX.js.map → GrConfirmDialog-CwXNLyzk.js.map} +1 -1
- package/dist/components/GrConfirmDialog/index.js +1 -1
- package/dist/components/GrContextMenu/chunks/GrContextMenu-BbAJholy.js +331 -0
- package/dist/components/GrContextMenu/chunks/GrContextMenu-BbAJholy.js.map +1 -0
- package/dist/components/GrContextMenu/index.js +3 -0
- package/dist/components/GrDataTable/chunks/{GrDataTable-B5MmZFUg.js → GrDataTable-NRbrXpdx.js} +2 -2
- package/dist/components/GrDataTable/chunks/GrDataTable-NRbrXpdx.js.map +1 -0
- package/dist/components/GrDataTable/index.js +1 -1
- package/dist/components/GrDelta/chunks/{GrDelta-DFvxNpmN.js → GrDelta-NE5HhXoo.js} +0 -0
- package/dist/components/GrDelta/chunks/GrDelta-NE5HhXoo.js.map +1 -0
- package/dist/components/GrDelta/index.js +2 -2
- package/dist/components/GrDescriptionList/chunks/{GrDescriptionList-2zFXzX83.js → GrDescriptionList-1mICfrqX.js} +8 -4
- package/dist/components/GrDescriptionList/chunks/GrDescriptionList-1mICfrqX.js.map +1 -0
- package/dist/components/GrDescriptionList/index.js +2 -2
- package/dist/components/GrDialog/chunks/{GrDialog-D0U5iRqV.js → GrDialog-5Y5K87ss.js} +2 -2
- package/dist/components/GrDialog/chunks/{GrDialog-D0U5iRqV.js.map → GrDialog-5Y5K87ss.js.map} +1 -1
- package/dist/components/GrDialog/index.js +1 -1
- package/dist/components/GrDialogService/chunks/{GrDialogService-CrwA4aJq.js → GrDialogService-CHhzGRWy.js} +6 -6
- package/dist/components/GrDialogService/chunks/GrDialogService-CHhzGRWy.js.map +1 -0
- package/dist/components/GrDialogService/index.js +1 -1
- package/dist/components/GrDrawer/chunks/{GrDrawer-C3zAg2tG.js → GrDrawer-CXy3-SVd.js} +2 -2
- package/dist/components/GrDrawer/chunks/GrDrawer-CXy3-SVd.js.map +1 -0
- package/dist/components/GrDrawer/index.js +1 -1
- package/dist/components/GrDropdown/chunks/{GrDropdown-BSfFOcDx.js → GrDropdown-BfTmdPyh.js} +10 -79
- package/dist/components/GrDropdown/chunks/GrDropdown-BfTmdPyh.js.map +1 -0
- package/dist/components/GrDropdown/index.js +1 -1
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-l5HEqzjr.js +130 -0
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-l5HEqzjr.js.map +1 -0
- package/dist/components/GrDropdownMenu/chunks/{GrDropdownMenu-DyS6dWDp.js → GrDropdownMenuList-BGA_xNVo.js} +57 -159
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenuList-BGA_xNVo.js.map +1 -0
- package/dist/components/GrDropdownMenu/index.js +3 -2
- package/dist/components/GrFileUpload/chunks/{GrFileUpload-D3-vC-ap.js → GrFileUpload-wNXzHb5N.js} +1 -1
- package/dist/components/GrFileUpload/chunks/GrFileUpload-wNXzHb5N.js.map +1 -0
- package/dist/components/GrFileUpload/index.js +1 -1
- package/dist/components/GrFormField/chunks/{GrFormField-kqfVY30N.js → GrFormField-DSylU7IU.js} +1 -1
- package/dist/components/GrFormField/chunks/GrFormField-DSylU7IU.js.map +1 -0
- package/dist/components/GrFormField/index.js +1 -1
- package/dist/components/GrFormFile/chunks/{GrFormFile-D722xHn8.js → GrFormFile-DhVkB2gm.js} +1 -1
- package/dist/components/GrFormFile/chunks/{GrFormFile-D722xHn8.js.map → GrFormFile-DhVkB2gm.js.map} +1 -1
- package/dist/components/GrFormFile/index.js +1 -1
- package/dist/components/GrInputTag/chunks/{GrInputTag-C7QVPijj.js → GrInputTag-UI8kIB_F.js} +2 -2
- package/dist/components/GrInputTag/chunks/{GrInputTag-C7QVPijj.js.map → GrInputTag-UI8kIB_F.js.map} +1 -1
- package/dist/components/GrInputTag/index.js +1 -1
- package/dist/components/GrJsonViewer/chunks/{GrJsonViewer-DFUppRNb.js → GrJsonViewer-jk3ylOTc.js} +2 -2
- package/dist/components/GrJsonViewer/chunks/GrJsonViewer-jk3ylOTc.js.map +1 -0
- package/dist/components/GrJsonViewer/index.js +1 -1
- package/dist/components/GrList/chunks/{GrList-BRYhpqIe.js → GrList-B5bclmHV.js} +30 -3
- package/dist/components/GrList/chunks/GrList-B5bclmHV.js.map +1 -0
- package/dist/components/GrList/index.js +1 -1
- package/dist/components/GrList/styles.css +1 -1
- package/dist/components/GrLoading/chunks/{GrLoading-C3DZSSuh.js → GrLoading-DeBFTvFX.js} +1 -1
- package/dist/components/GrLoading/chunks/GrLoading-DeBFTvFX.js.map +1 -0
- package/dist/components/GrLoading/index.js +1 -1
- package/dist/components/GrModal/chunks/{GrModal-CPz7SWD_.js → GrModal-CCoWZuIl.js} +2 -2
- package/dist/components/GrModal/chunks/GrModal-CCoWZuIl.js.map +1 -0
- package/dist/components/GrModal/index.js +1 -1
- package/dist/components/GrNavbar/chunks/{GrNavbar-DWaaoV7n.js → GrNavbar-DPj30sHX.js} +1 -1
- package/dist/components/GrNavbar/chunks/{GrNavbar-DWaaoV7n.js.map → GrNavbar-DPj30sHX.js.map} +1 -1
- package/dist/components/GrNavbar/index.js +1 -1
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-BotnzW77.js → GrNumberInput-V2mZvDDC.js} +1 -1
- package/dist/components/GrNumberInput/chunks/{GrNumberInput-BotnzW77.js.map → GrNumberInput-V2mZvDDC.js.map} +1 -1
- package/dist/components/GrNumberInput/index.js +2 -2
- package/dist/components/GrPagination/chunks/{GrPagination-GtGtSMJG.js → GrPagination-DG7kp6VL.js} +2 -2
- package/dist/components/GrPagination/chunks/{GrPagination-GtGtSMJG.js.map → GrPagination-DG7kp6VL.js.map} +1 -1
- package/dist/components/GrPagination/index.js +1 -1
- package/dist/components/GrPopover/chunks/{GrPopover-b70bIlQ9.js → GrPopover-DDChM1jD.js} +28 -10
- package/dist/components/GrPopover/chunks/GrPopover-DDChM1jD.js.map +1 -0
- package/dist/components/GrPopover/index.js +2 -2
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-CEI8bf-t.js → GrPromptDialog-DjF-5oD9.js} +4 -4
- package/dist/components/GrPromptDialog/chunks/{GrPromptDialog-CEI8bf-t.js.map → GrPromptDialog-DjF-5oD9.js.map} +1 -1
- package/dist/components/GrPromptDialog/index.js +1 -1
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-BVmjKXcv.js → GrRadioGroup-7w4bXIg_.js} +1 -1
- package/dist/components/GrRadioGroup/chunks/{GrRadioGroup-BVmjKXcv.js.map → GrRadioGroup-7w4bXIg_.js.map} +1 -1
- package/dist/components/GrRadioGroup/index.js +1 -1
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CZONq8uT.js → GrResponseErrorBanner-BhP-xw2P.js} +1 -1
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CZONq8uT.js.map → GrResponseErrorBanner-BhP-xw2P.js.map} +1 -1
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CgfAwlg3.js → GrResponseErrorBanner-DA4q90Zt.js} +1 -1
- package/dist/components/GrResponseErrorBanner/chunks/{GrResponseErrorBanner-CgfAwlg3.js.map → GrResponseErrorBanner-DA4q90Zt.js.map} +1 -1
- package/dist/components/GrResponseErrorBanner/index.js +2 -2
- package/dist/components/GrSegmented/chunks/{GrSegmented-D1mjxF_O.js → GrSegmented-DKpo3cnC.js} +30 -5
- package/dist/components/GrSegmented/chunks/GrSegmented-DKpo3cnC.js.map +1 -0
- package/dist/components/GrSegmented/index.js +1 -1
- package/dist/components/GrSelect/chunks/{GrSelect-CaGuyvtb.js → GrSelect-BA1wfX3c.js} +19 -3
- package/dist/components/GrSelect/chunks/GrSelect-BA1wfX3c.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-D7WxRtIu.js → GrSidebar-DY-LgIbS.js} +2 -2
- package/dist/components/GrSidebar/chunks/{GrSidebar-D7WxRtIu.js.map → GrSidebar-DY-LgIbS.js.map} +1 -1
- package/dist/components/GrSidebar/index.js +2 -2
- package/dist/components/GrSlider/index.js +1 -1
- package/dist/components/GrSortableList/chunks/{GrSortableList-DPjxilmN.js → GrSortableList-BMXyxmRc.js} +3 -3
- package/dist/components/GrSortableList/chunks/{GrSortableList-DPjxilmN.js.map → GrSortableList-BMXyxmRc.js.map} +1 -1
- package/dist/components/GrSortableList/index.js +2 -2
- package/dist/components/GrStatistic/chunks/{GrStatistic-C7wQECeS.js → GrStatistic-BJQv5aOS.js} +41 -26
- package/dist/components/GrStatistic/chunks/GrStatistic-BJQv5aOS.js.map +1 -0
- package/dist/components/GrStatistic/index.js +2 -2
- package/dist/components/GrSteps/chunks/GrSteps-Cce4rfr3.js +282 -0
- package/dist/components/GrSteps/chunks/GrSteps-Cce4rfr3.js.map +1 -0
- package/dist/components/GrSteps/index.js +3 -0
- package/dist/components/GrSwitch/chunks/{GrSwitch-x_vQQ6ao.js → GrSwitch-CHiIj9GT.js} +1 -1
- package/dist/components/GrSwitch/chunks/{GrSwitch-x_vQQ6ao.js.map → GrSwitch-CHiIj9GT.js.map} +1 -1
- package/dist/components/GrSwitch/index.js +2 -2
- package/dist/components/GrTabPanels/chunks/{GrTabPanels-AJt1w1XC.js → GrTabPanels-BZQS8-JM.js} +12 -1
- package/dist/components/GrTabPanels/chunks/{GrTabPanels-AJt1w1XC.js.map → GrTabPanels-BZQS8-JM.js.map} +1 -1
- package/dist/components/GrTabPanels/index.js +1 -1
- package/dist/components/GrTimeline/chunks/{GrTimeline-Ch9sHzwL.js → GrTimeline-DIDdkTn7.js} +12 -1
- package/dist/components/GrTimeline/chunks/GrTimeline-DIDdkTn7.js.map +1 -0
- package/dist/components/GrTimeline/index.js +1 -1
- package/dist/components/GrToaster/chunks/{GrToaster-DJUzx3sR.js → GrToaster-CC49q3a4.js} +1 -1
- package/dist/components/GrToaster/chunks/{GrToaster-DJUzx3sR.js.map → GrToaster-CC49q3a4.js.map} +1 -1
- package/dist/components/GrToaster/index.js +1 -1
- package/dist/components/GrTree/chunks/{GrTree-BvOeQ3xJ.js.map → GrTree-J5q8aCya.js.map} +1 -1
- package/dist/components/GrTree/index.js +1 -1
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-_LjTRR7X.js → GrTreeSelect-DEfxWAc3.js} +1 -1
- package/dist/components/GrTreeSelect/chunks/{GrTreeSelect-_LjTRR7X.js.map → GrTreeSelect-DEfxWAc3.js.map} +1 -1
- package/dist/components/GrTreeSelect/index.js +1 -1
- package/dist/components/GrValue/chunks/GrValue-CZsuZ4x-.js +38 -0
- package/dist/components/GrValue/chunks/GrValue-CZsuZ4x-.js.map +1 -0
- package/dist/components/GrValue/index.js +3 -0
- package/dist/composables/useFloating.js +47 -7
- package/dist/composables/useFloating.js.map +1 -1
- package/dist/composables/useTheme.js.map +1 -1
- package/dist/composables/useToast.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 +74 -62
- package/dist/styles/themes/dark.css +11 -6
- package/dist/styles/themes/light.css +5 -0
- package/dist/theme.js +1 -1
- package/dist/tokens.js +1 -1
- package/dist/types/components/GrBadge/grBadgeStyles.d.ts +7 -0
- package/dist/types/components/GrCard/GrCard.vue.d.ts +1 -1
- package/dist/types/components/GrCard/grCardStyles.d.ts +11 -0
- package/dist/types/components/GrChip/GrChip.vue.d.ts +118 -0
- package/dist/types/components/GrChip/config.d.ts +1 -0
- package/dist/types/components/GrChip/defaults.d.ts +16 -0
- package/dist/types/components/GrChip/grChipGroupContext.d.ts +52 -0
- package/dist/types/components/GrChip/grChipStyles.d.ts +64 -0
- package/dist/types/components/GrChip/index.d.ts +11 -0
- package/dist/types/components/GrChip/safelist.d.ts +7 -0
- package/dist/types/components/GrChipGroup/GrChipGroup.vue.d.ts +128 -0
- package/dist/types/components/GrChipGroup/config.d.ts +1 -0
- package/dist/types/components/GrChipGroup/defaults.d.ts +13 -0
- package/dist/types/components/GrChipGroup/grChipGroupStyles.d.ts +7 -0
- package/dist/types/components/GrChipGroup/index.d.ts +9 -0
- package/dist/types/components/GrChipGroup/safelist.d.ts +1 -0
- package/dist/types/components/GrContextMenu/GrContextMenu.vue.d.ts +157 -0
- package/dist/types/components/GrContextMenu/config.d.ts +1 -0
- package/dist/types/components/GrContextMenu/contextMenuAnchor.d.ts +29 -0
- package/dist/types/components/GrContextMenu/index.d.ts +7 -0
- package/dist/types/components/GrDataTable/GrDataTable.vue.d.ts +1 -1
- package/dist/types/components/GrDelta/grDeltaStyles.d.ts +13 -1
- package/dist/types/components/GrDescriptionList/grDescriptionListStyles.d.ts +29 -1
- package/dist/types/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +3 -3
- package/dist/types/components/GrDropdownMenu/GrDropdownMenuEntries.vue.d.ts +22 -0
- package/dist/types/components/GrFilePreview/GrFilePreview.vue.d.ts +1 -1
- package/dist/types/components/GrList/GrListItem.vue.d.ts +1 -1
- package/dist/types/components/GrPopover/GrPopover.vue.d.ts +21 -2
- package/dist/types/components/GrPopover/grPopoverStyles.d.ts +11 -1
- package/dist/types/components/GrPopover/index.d.ts +1 -1
- package/dist/types/components/GrStatistic/GrStatistic.vue.d.ts +6 -6
- package/dist/types/components/GrStatistic/grStatisticStyles.d.ts +9 -0
- package/dist/types/components/GrSteps/GrSteps.vue.d.ts +118 -0
- package/dist/types/components/GrSteps/config.d.ts +1 -0
- package/dist/types/components/GrSteps/defaults.d.ts +18 -0
- package/dist/types/components/GrSteps/grStepsStyles.d.ts +63 -0
- package/dist/types/components/GrSteps/index.d.ts +11 -0
- package/dist/types/components/GrSteps/safelist.d.ts +1 -0
- package/dist/types/components/GrSteps/stepsModel.d.ts +57 -0
- package/dist/types/components/GrValue/GrValue.vue.d.ts +51 -0
- package/dist/types/components/GrValue/config.d.ts +1 -0
- package/dist/types/components/GrValue/grValueStyles.d.ts +34 -0
- package/dist/types/components/GrValue/index.d.ts +5 -0
- package/dist/types/components/GrValue/safelist.d.ts +1 -0
- package/dist/types/components/shared/truncationTitle.d.ts +16 -0
- package/dist/types/composables/internal/useMenuItemsFocus.d.ts +24 -0
- package/dist/types/composables/internal/useTypeahead.d.ts +30 -0
- package/dist/types/composables/useFloating.d.ts +33 -2
- package/dist/types/granular-provider/shared.d.ts +5 -0
- package/dist/types/i18n/messages/en.d.ts +26 -0
- package/dist/types/i18n/messages/es.d.ts +26 -0
- package/dist/types/i18n/messages/ru.d.ts +26 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/web-types.json +799 -195
- package/package.json +22 -2
- package/tokens/themes/dark.json +26 -6
- package/tokens/themes/light.json +20 -0
- package/dist/chunks/config-BSyiFlbi.js.map +0 -1
- package/dist/chunks/config-Be9k9bOf.js.map +0 -1
- package/dist/chunks/config-BfsBepkH2.js.map +0 -1
- package/dist/chunks/config-Bm_Sovla.js.map +0 -1
- package/dist/chunks/config-BoNR7_PD2.js.map +0 -1
- package/dist/chunks/config-BuGlNPE9.js.map +0 -1
- package/dist/chunks/config-C5mO5DYZ.js.map +0 -1
- package/dist/chunks/config-DAX8Deh12.js.map +0 -1
- package/dist/chunks/config-DBQQT-WP.js.map +0 -1
- package/dist/chunks/config-DCwQBMmJ.js.map +0 -1
- package/dist/chunks/config-T3qdQBgU2.js.map +0 -1
- package/dist/chunks/config-qVg3Zz_A.js.map +0 -1
- package/dist/chunks/config-zjeAJ4ho.js.map +0 -1
- package/dist/chunks/context-BfIQv7m1.js.map +0 -1
- package/dist/chunks/en-DCCFP4qu.js.map +0 -1
- package/dist/chunks/es-CT34HBVM.js.map +0 -1
- package/dist/chunks/grPopoverStyles-Rz_Z5nLW.js.map +0 -1
- package/dist/chunks/granular-provider-CQKhl5C_.js.map +0 -1
- package/dist/chunks/ru-CLiAMwrx.js.map +0 -1
- package/dist/components/GrCard/chunks/GrCard-Bc7nRfbe.js.map +0 -1
- package/dist/components/GrCommandPalette/chunks/GrCommandPalette-BFcMf4Pn.js.map +0 -1
- package/dist/components/GrConfigProvider/chunks/GrConfigProvider-UP-EaoAf.js.map +0 -1
- package/dist/components/GrDataTable/chunks/GrDataTable-B5MmZFUg.js.map +0 -1
- package/dist/components/GrDelta/chunks/GrDelta-DFvxNpmN.js.map +0 -1
- package/dist/components/GrDescriptionList/chunks/GrDescriptionList-2zFXzX83.js.map +0 -1
- package/dist/components/GrDialogService/chunks/GrDialogService-CrwA4aJq.js.map +0 -1
- package/dist/components/GrDrawer/chunks/GrDrawer-C3zAg2tG.js.map +0 -1
- package/dist/components/GrDropdown/chunks/GrDropdown-BSfFOcDx.js.map +0 -1
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-DyS6dWDp.js.map +0 -1
- package/dist/components/GrFileUpload/chunks/GrFileUpload-D3-vC-ap.js.map +0 -1
- package/dist/components/GrFormField/chunks/GrFormField-kqfVY30N.js.map +0 -1
- package/dist/components/GrJsonViewer/chunks/GrJsonViewer-DFUppRNb.js.map +0 -1
- package/dist/components/GrList/chunks/GrList-BRYhpqIe.js.map +0 -1
- package/dist/components/GrLoading/chunks/GrLoading-C3DZSSuh.js.map +0 -1
- package/dist/components/GrModal/chunks/GrModal-CPz7SWD_.js.map +0 -1
- package/dist/components/GrPopover/chunks/GrPopover-b70bIlQ9.js.map +0 -1
- package/dist/components/GrSegmented/chunks/GrSegmented-D1mjxF_O.js.map +0 -1
- package/dist/components/GrSelect/chunks/GrSelect-CaGuyvtb.js.map +0 -1
- package/dist/components/GrStatistic/chunks/GrStatistic-C7wQECeS.js.map +0 -1
- package/dist/components/GrTimeline/chunks/GrTimeline-Ch9sHzwL.js.map +0 -1
- package/dist/chunks/{config-BfsBepkH2.js → config-BfsBepkH.js} +0 -0
- package/dist/chunks/{config-BoNR7_PD2.js → config-BoNR7_PD.js} +0 -0
- package/dist/chunks/{config-BuGlNPE9.js → config-BuGlNPE92.js} +0 -0
- package/dist/chunks/{config-DAX8Deh12.js → config-DAX8Deh1.js} +0 -0
- package/dist/chunks/{config-T3qdQBgU2.js → config-T3qdQBgU.js} +0 -0
- package/dist/chunks/{config-zjeAJ4ho.js → config-zjeAJ4ho2.js} +0 -0
- package/dist/chunks/{context-BfIQv7m1.js → context-BfIQv7m12.js} +0 -0
- package/dist/components/GrTree/chunks/{GrTree-BvOeQ3xJ.js → GrTree-J5q8aCya.js} +1 -1
package/dist/theme.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as grThemeTokens, n as grDerivedTokens, t as grComponentTokens } from "./chunks/generated-
|
|
1
|
+
import { a as grThemeTokens, n as grDerivedTokens, t as grComponentTokens } from "./chunks/generated-CJe6hdiE.js";
|
|
2
2
|
//#region src/theme/color.ts
|
|
3
3
|
function parseHex(value) {
|
|
4
4
|
const match = value.trim().match(/^#([\da-f]{3}|[\da-f]{6})$/i);
|
package/dist/tokens.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as grThemeTokens, i as grThemeNames, n as grDerivedTokens, r as grFoundationTokens, t as grComponentTokens } from "./chunks/generated-
|
|
1
|
+
import { a as grThemeTokens, i as grThemeNames, n as grDerivedTokens, r as grFoundationTokens, t as grComponentTokens } from "./chunks/generated-CJe6hdiE.js";
|
|
2
2
|
export { grComponentTokens, grDerivedTokens, grFoundationTokens, grThemeNames, grThemeTokens };
|
|
@@ -18,6 +18,13 @@ export declare const lightToneClassByTone: Record<GrBadgeTone, string>;
|
|
|
18
18
|
* оставляет прежние роли. Значения — `themes/{light,dark}.css`.
|
|
19
19
|
*/
|
|
20
20
|
export declare const darkToneClassByTone: Record<GrBadgeTone, string>;
|
|
21
|
+
/**
|
|
22
|
+
* Экспортируются ради `GrChip`: у чипа те же три радиуса и та же палитра тонов,
|
|
23
|
+
* и копия этих двух ветвлений разошлась бы с оригиналом молча. Свои у чипа
|
|
24
|
+
* только размеры — он интерактивен, и цель нажатия у него не метки, а контрола.
|
|
25
|
+
*/
|
|
26
|
+
export declare function radiusClass(radius: GrBadgeRadius, size: GrBadgeSize): string;
|
|
27
|
+
export declare function toneClass(tone: GrBadgeTone, dark: boolean): string;
|
|
21
28
|
export declare function grBadgeClass(options: {
|
|
22
29
|
tone: GrBadgeTone;
|
|
23
30
|
dark: boolean;
|
|
@@ -73,11 +73,11 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
73
73
|
variant: GrCardVariant;
|
|
74
74
|
padding: GrCardPadding;
|
|
75
75
|
headingLevel: GrCardHeadingLevel;
|
|
76
|
+
clickable: boolean;
|
|
76
77
|
title: string;
|
|
77
78
|
description: string;
|
|
78
79
|
href: string;
|
|
79
80
|
as: string | Component;
|
|
80
|
-
clickable: boolean;
|
|
81
81
|
hoverable: boolean;
|
|
82
82
|
bodyClass: string;
|
|
83
83
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
@@ -12,6 +12,17 @@ export declare const variantClass: Record<GrCardVariant, string>;
|
|
|
12
12
|
export declare const paddingClass: Record<GrCardPadding, string>;
|
|
13
13
|
export declare const sectionDividerTopClass = "border-t border-[var(--gr-brd)]";
|
|
14
14
|
export declare const sectionDividerBottomClass = "border-b border-[var(--gr-brd)]";
|
|
15
|
+
/**
|
|
16
|
+
* Отступ шапки, которую карточка рисует сама из `title`.
|
|
17
|
+
*
|
|
18
|
+
* Не берётся из `padding`: тот описывает **содержимое**, и дефолт `none` у него
|
|
19
|
+
* осмыслен — на `GrCard` стоят `GrCollapse` и `GrList`, а карточка с таблицей
|
|
20
|
+
* хочет её край в край. Заголовок же принадлежит самой карточке, и прижатым к
|
|
21
|
+
* рамке вместе с разделителем он выглядеть не должен ни при каком `padding`.
|
|
22
|
+
*
|
|
23
|
+
* По вертикали отступ меньше горизонтального: шапка — строка, а не блок.
|
|
24
|
+
*/
|
|
25
|
+
export declare const ownHeaderPaddingClass = "px-4 py-3";
|
|
15
26
|
/**
|
|
16
27
|
* Уровень заголовка карточки. `h1` намеренно нет: его задаёт страница, а
|
|
17
28
|
* карточка — блок внутри уже существующей структуры.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { GrChipValue } from './grChipGroupContext';
|
|
2
|
+
import type { GrChipRadius, GrChipSize, GrChipTone } from './grChipStyles';
|
|
3
|
+
/**
|
|
4
|
+
* Интерактивный тег: снимаемый, выбираемый, с иконкой.
|
|
5
|
+
*
|
|
6
|
+
* От `GrBadge` отличается не видом, а природой: бейдж — метка, чип — виджет.
|
|
7
|
+
* Поэтому цвета и радиусы взяты у бейджа как есть (в одном ряду они обязаны
|
|
8
|
+
* совпадать), а роль, клавиатура и размеры — свои.
|
|
9
|
+
*/
|
|
10
|
+
export interface GrChipProps {
|
|
11
|
+
/** Значение чипа в группе. Вне `GrChipGroup` не используется. */
|
|
12
|
+
value?: GrChipValue;
|
|
13
|
+
/**
|
|
14
|
+
* Подпись. Нужна отдельно от слота: из неё собирается имя кнопки снятия —
|
|
15
|
+
* «Убрать» на двадцати кнопках подряд не даёт выбрать нужную.
|
|
16
|
+
*/
|
|
17
|
+
label?: string;
|
|
18
|
+
tone?: GrChipTone;
|
|
19
|
+
dark?: boolean;
|
|
20
|
+
size?: GrChipSize;
|
|
21
|
+
radius?: GrChipRadius;
|
|
22
|
+
/** Чип становится переключателем: `aria-pressed`, `Enter`/`Space`. */
|
|
23
|
+
selectable?: boolean;
|
|
24
|
+
/** Состояние переключателя вне группы. Внутри группы значение ведёт группа. */
|
|
25
|
+
selected?: boolean;
|
|
26
|
+
/** Крестик. Внутри виджета он не кнопка — см. блок про роли ниже. */
|
|
27
|
+
closable?: boolean;
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
/** Доступное имя, когда подпись не объясняет назначения. */
|
|
30
|
+
ariaLabel?: string;
|
|
31
|
+
/** Имя кнопки снятия целиком. Перебивает собранное из `label`. */
|
|
32
|
+
removeLabel?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface GrChipEmits {
|
|
35
|
+
(e: 'update:selected', value: boolean): void;
|
|
36
|
+
(e: 'remove'): void;
|
|
37
|
+
}
|
|
38
|
+
type __VLS_Slots = {
|
|
39
|
+
/** Подпись чипа. Внутри выбираемого чипа — только фразовое содержимое. */
|
|
40
|
+
default?: () => unknown;
|
|
41
|
+
/** Иконка перед подписью. */
|
|
42
|
+
icon?: () => unknown;
|
|
43
|
+
};
|
|
44
|
+
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrChipProps>, {
|
|
45
|
+
value: undefined;
|
|
46
|
+
label: undefined;
|
|
47
|
+
tone: undefined;
|
|
48
|
+
dark: undefined;
|
|
49
|
+
size: undefined;
|
|
50
|
+
radius: undefined;
|
|
51
|
+
selectable: boolean;
|
|
52
|
+
selected: boolean;
|
|
53
|
+
closable: boolean;
|
|
54
|
+
disabled: boolean;
|
|
55
|
+
ariaLabel: undefined;
|
|
56
|
+
removeLabel: undefined;
|
|
57
|
+
}>>, {
|
|
58
|
+
focus: () => void | undefined;
|
|
59
|
+
blur: () => void | undefined;
|
|
60
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
61
|
+
"update:selected": (value: boolean) => void;
|
|
62
|
+
remove: () => void;
|
|
63
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrChipProps>, {
|
|
64
|
+
value: undefined;
|
|
65
|
+
label: undefined;
|
|
66
|
+
tone: undefined;
|
|
67
|
+
dark: undefined;
|
|
68
|
+
size: undefined;
|
|
69
|
+
radius: undefined;
|
|
70
|
+
selectable: boolean;
|
|
71
|
+
selected: boolean;
|
|
72
|
+
closable: boolean;
|
|
73
|
+
disabled: boolean;
|
|
74
|
+
ariaLabel: undefined;
|
|
75
|
+
removeLabel: undefined;
|
|
76
|
+
}>>> & Readonly<{
|
|
77
|
+
"onUpdate:selected"?: ((value: boolean) => any) | undefined;
|
|
78
|
+
onRemove?: (() => any) | undefined;
|
|
79
|
+
}>, {
|
|
80
|
+
tone: GrChipTone;
|
|
81
|
+
closable: boolean;
|
|
82
|
+
size: GrChipSize;
|
|
83
|
+
radius: GrChipRadius;
|
|
84
|
+
dark: boolean;
|
|
85
|
+
value: GrChipValue;
|
|
86
|
+
label: string;
|
|
87
|
+
disabled: boolean;
|
|
88
|
+
ariaLabel: string;
|
|
89
|
+
selectable: boolean;
|
|
90
|
+
selected: boolean;
|
|
91
|
+
removeLabel: string;
|
|
92
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
93
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
94
|
+
declare const _default: typeof __VLS_export;
|
|
95
|
+
export default _default;
|
|
96
|
+
type __VLS_TypePropsToOption<T> = {
|
|
97
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
98
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
99
|
+
} : {
|
|
100
|
+
type: import('vue').PropType<T[K]>;
|
|
101
|
+
required: true;
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
type __VLS_WithDefaults<P, D> = {
|
|
105
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
106
|
+
default: D[K];
|
|
107
|
+
}> : P[K];
|
|
108
|
+
};
|
|
109
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
110
|
+
new (): {
|
|
111
|
+
$slots: S;
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
115
|
+
[K in keyof T]: T[K];
|
|
116
|
+
} : {
|
|
117
|
+
[K in keyof T as K]: T[K];
|
|
118
|
+
}) & {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const grChipConfig: import("@feugene/unocss-preset-granular/contract").GranularComponentDescriptor<"GrChip">;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { GrChipRadius, GrChipSize, GrChipTone } from './grChipStyles';
|
|
2
|
+
/**
|
|
3
|
+
* Пропы `GrChip`, настраиваемые глобально через `componentDefaults`.
|
|
4
|
+
* Только оформление: выбор и снятие относятся к экземпляру.
|
|
5
|
+
*/
|
|
6
|
+
export interface GrChipConfigurableProps {
|
|
7
|
+
tone: GrChipTone;
|
|
8
|
+
size: GrChipSize;
|
|
9
|
+
radius: GrChipRadius;
|
|
10
|
+
dark: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
13
|
+
interface GrComponentDefaultsRegistry {
|
|
14
|
+
GrChip: GrChipConfigurableProps;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ComputedRef, InjectionKey } from 'vue';
|
|
2
|
+
import type { GrChipRadius, GrChipSize, GrChipTone } from './grChipStyles';
|
|
3
|
+
/**
|
|
4
|
+
* Значение чипа в группе.
|
|
5
|
+
*
|
|
6
|
+
* Не только строка: набор фильтров чаще всего адресуется id. Объекты сюда
|
|
7
|
+
* намеренно не входят — значение уходит в `data-value` и в скрытое поле
|
|
8
|
+
* нативной формы, а значит обязано иметь однозначное строковое представление.
|
|
9
|
+
*/
|
|
10
|
+
export type GrChipValue = string | number | boolean;
|
|
11
|
+
/** Как группа обращается со множественностью выбора. */
|
|
12
|
+
export type GrChipSelection = 'single' | 'multiple';
|
|
13
|
+
export type GrChipEntry = {
|
|
14
|
+
value: () => GrChipValue;
|
|
15
|
+
disabled: () => boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Корневой узел чипа. Геттер, а не значение: регистрация идёт в `setup`,
|
|
18
|
+
* когда элемента ещё нет. Благодаря ему группа переносит фокус, не обходя
|
|
19
|
+
* DOM селекторами.
|
|
20
|
+
*/
|
|
21
|
+
el: () => HTMLElement | null;
|
|
22
|
+
};
|
|
23
|
+
export type GrChipGroupContext = {
|
|
24
|
+
selection: ComputedRef<GrChipSelection>;
|
|
25
|
+
isSelected: (value: GrChipValue) => boolean;
|
|
26
|
+
toggle: (value: GrChipValue) => void;
|
|
27
|
+
/** Снятие чипа группа не выполняет — состав рисует потребитель; она ретранслирует. */
|
|
28
|
+
requestRemove: (value: GrChipValue) => void;
|
|
29
|
+
disabled: ComputedRef<boolean>;
|
|
30
|
+
/** Выбор видно, но он не меняется. Группа объявляет это `aria-readonly` на себе. */
|
|
31
|
+
readonly: ComputedRef<boolean>;
|
|
32
|
+
invalid: ComputedRef<boolean>;
|
|
33
|
+
closable: ComputedRef<boolean>;
|
|
34
|
+
size: ComputedRef<GrChipSize>;
|
|
35
|
+
tone: ComputedRef<GrChipTone | undefined>;
|
|
36
|
+
radius: ComputedRef<GrChipRadius | undefined>;
|
|
37
|
+
dark: ComputedRef<boolean | undefined>;
|
|
38
|
+
/**
|
|
39
|
+
* Регистрация чипа в группе. Порядок регистрации совпадает с порядком в
|
|
40
|
+
* документе (setup детей идёт сверху вниз), поэтому состав известен и на
|
|
41
|
+
* сервере — без обхода DOM.
|
|
42
|
+
*/
|
|
43
|
+
register: (entry: GrChipEntry) => () => void;
|
|
44
|
+
/**
|
|
45
|
+
* Значение чипа, который держит `tabindex="0"`. Roving tabindex: группа —
|
|
46
|
+
* одна остановка Tab, внутрь попадают стрелками.
|
|
47
|
+
*/
|
|
48
|
+
rovingValue: ComputedRef<GrChipValue | undefined>;
|
|
49
|
+
/** Стрелки, `Home`, `End`. Вернул `true` — клавиша обработана. */
|
|
50
|
+
handleNavigationKeys: (event: KeyboardEvent) => boolean;
|
|
51
|
+
};
|
|
52
|
+
export declare const GR_CHIP_GROUP_CONTEXT: InjectionKey<GrChipGroupContext>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { GrBadgeRadius, GrBadgeTone } from '../GrBadge/grBadgeStyles';
|
|
2
|
+
import type { GrComponentSize } from '../shared/sizes';
|
|
3
|
+
export type GrChipTone = GrBadgeTone;
|
|
4
|
+
export type GrChipSize = GrComponentSize;
|
|
5
|
+
export type GrChipRadius = GrBadgeRadius;
|
|
6
|
+
/**
|
|
7
|
+
* Размеры у чипа свои, а не бейджевые.
|
|
8
|
+
*
|
|
9
|
+
* Шкал кегля в пакете две: контрольная `xs…lg` (12/13/14/16) у полей и мельче
|
|
10
|
+
* `3xs…md` (10/11/12/14) у метки — `GrBadge`, `GrTooltip`. Чип берёт
|
|
11
|
+
* контрольную: по нему кликают, и цель нажатия обязана совпадать с соседним
|
|
12
|
+
* контролом, а не с подписью. Отсюда же явная высота — у метки её нет вовсе,
|
|
13
|
+
* а у цели нажатия она и есть главное.
|
|
14
|
+
*
|
|
15
|
+
* Тона и радиусы при этом переиспользуются у `GrBadge` без изменений: чип
|
|
16
|
+
* должен стоять с бейджем в одном ряду и не расходиться с ним по цвету.
|
|
17
|
+
*/
|
|
18
|
+
export declare const chipSizeClassBySize: Record<GrChipSize, string>;
|
|
19
|
+
/** Крестик и иконка не растут вместе с кеглем один в один — плитка бы разъехалась. */
|
|
20
|
+
export declare const chipIconSizeClassBySize: Record<GrChipSize, string>;
|
|
21
|
+
/**
|
|
22
|
+
* `leading-none` осознанно: у контрольной шкалы парных ступеней межстрочного
|
|
23
|
+
* нет, и без явного значения плитка поехала бы за `line-height` приложения.
|
|
24
|
+
* Тот же приём у `GrBadge` и `GrKbd`.
|
|
25
|
+
*/
|
|
26
|
+
export declare const chipRootClass = "inline-flex max-w-full items-center border align-middle leading-none whitespace-nowrap";
|
|
27
|
+
/** Подпись жмётся, а не ломает ряд: чип с длинным тегом не должен рвать раскладку. */
|
|
28
|
+
export declare const chipLabelClass = "min-w-0 truncate";
|
|
29
|
+
export declare const chipInteractiveClass = "cursor-pointer transition-colors duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-out)] focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)] focus-visible:ring-offset-1 focus-visible:ring-offset-[var(--gr-bg)]";
|
|
30
|
+
/**
|
|
31
|
+
* Disabled гасится токеном фона, а не `opacity`: прозрачность разбавляет
|
|
32
|
+
* выверенные на AA токены текста и роняет контраст (`library-conventions.md`).
|
|
33
|
+
*/
|
|
34
|
+
export declare const chipDisabledClass = "cursor-not-allowed bg-[var(--gr-chip-disabled-bg,var(--gr-muted))] text-[var(--gr-chip-disabled-fg,var(--gr-disabled-fg))] border-[var(--gr-chip-disabled-brd,var(--gr-brd))]";
|
|
35
|
+
/**
|
|
36
|
+
* Выбранный чип берёт **плотный** вариант своего тона, а не оттенок соседнего.
|
|
37
|
+
*
|
|
38
|
+
* Тон остаётся тем же — иначе набор фильтров превратился бы в радугу, — но
|
|
39
|
+
* меняется вес заливки: светлая подложка сменяется насыщенной, как у
|
|
40
|
+
* filled-бейджа. Это перепад светлоты, а не оттенка, поэтому различие
|
|
41
|
+
* переживает и монохром, и дальтонизм.
|
|
42
|
+
*
|
|
43
|
+
* Одной заливки всё же мало: **`font-600` остаётся вторым, нецветовым
|
|
44
|
+
* каналом** (WCAG 1.4.1). Он же вытягивает случай, когда потребитель поставил
|
|
45
|
+
* `dark` всему набору и заливка у выбранного и невыбранного совпадает.
|
|
46
|
+
*/
|
|
47
|
+
export declare const chipSelectedClass = "font-600";
|
|
48
|
+
/** Крестик наследует цвет тона: своей роли у него нет, он часть плитки. */
|
|
49
|
+
export declare const chipCloseClass = "shrink-0 inline-flex items-center justify-center rounded-[var(--gr-radius-full)] text-current transition-colors duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-out)] hover:bg-[color-mix(in_srgb,currentColor_18%,transparent)]";
|
|
50
|
+
/**
|
|
51
|
+
* Крестик-кнопка стоит в таб-порядке и обязана показывать фокус сама: она
|
|
52
|
+
* появляется только там, где чип не виджет, то есть кольца на корне нет.
|
|
53
|
+
*/
|
|
54
|
+
export declare const chipCloseButtonClass = "shrink-0 inline-flex items-center justify-center rounded-[var(--gr-radius-full)] text-current transition-colors duration-[var(--gr-duration-fast)] ease-[var(--gr-ease-out)] hover:bg-[color-mix(in_srgb,currentColor_18%,transparent)] cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-[var(--gr-ring)]";
|
|
55
|
+
export declare const chipIconClass = "shrink-0";
|
|
56
|
+
export declare function grChipClass(options: {
|
|
57
|
+
tone: GrChipTone;
|
|
58
|
+
dark: boolean;
|
|
59
|
+
size: GrChipSize;
|
|
60
|
+
radius: GrChipRadius;
|
|
61
|
+
interactive: boolean;
|
|
62
|
+
selected: boolean;
|
|
63
|
+
disabled: boolean;
|
|
64
|
+
}): string;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ComponentExposed } from '../shared/instance';
|
|
2
|
+
import type GrChipComponent from './GrChip.vue';
|
|
3
|
+
export { default } from './GrChip.vue';
|
|
4
|
+
export { default as GrChip } from './GrChip.vue';
|
|
5
|
+
export { grChipConfig } from './config';
|
|
6
|
+
export type { GrChipConfigurableProps } from './defaults';
|
|
7
|
+
export type { GrChipGroupContext, GrChipSelection, GrChipValue } from './grChipGroupContext';
|
|
8
|
+
export type { GrChipRadius, GrChipSize, GrChipTone } from './grChipStyles';
|
|
9
|
+
export { grChipSafelist } from './safelist';
|
|
10
|
+
export type { GrChipEmits, GrChipProps } from './GrChip.vue';
|
|
11
|
+
export type GrChipInstance = ComponentExposed<typeof GrChipComponent>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Тона и радиусы приходят из `grBadgeStyles.ts`, поэтому их safelist берётся
|
|
3
|
+
* ссылкой, а не копией: копия разошлась бы с оригиналом молча. Ребро
|
|
4
|
+
* `GrChip → GrBadge` объявлено в `config.ts` — без него пресет не подмешает
|
|
5
|
+
* стили бейджа при гранулярной селекции, и чип придёт бесцветным.
|
|
6
|
+
*/
|
|
7
|
+
export declare const grChipSafelist: string[];
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { GrChipSelection, GrChipValue } from '../GrChip/grChipGroupContext';
|
|
2
|
+
import type { GrChipRadius, GrChipSize, GrChipTone } from '../GrChip/grChipStyles';
|
|
3
|
+
/**
|
|
4
|
+
* GrChipGroup — набор выбираемых чипов: фильтры, теги записи, быстрый выбор.
|
|
5
|
+
*
|
|
6
|
+
* Составной виджет: одна остановка `Tab`, внутрь попадают стрелками
|
|
7
|
+
* (roving tabindex). Роль зависит от множественности выбора — `radiogroup`
|
|
8
|
+
* в одиночном, `listbox` с `aria-multiselectable` во множественном; чипы
|
|
9
|
+
* получают парную роль через контекст и сами её не выбирают.
|
|
10
|
+
*
|
|
11
|
+
* Состав группа не рисует: чипы приходят слотом, потому что у каждого своя
|
|
12
|
+
* подпись и иконка. Отсюда же и `remove` — группа его ретранслирует, а снимает
|
|
13
|
+
* чип потребитель, у которого лежит массив.
|
|
14
|
+
*/
|
|
15
|
+
export interface GrChipGroupProps {
|
|
16
|
+
/** Одиночный выбор — значение, множественный — массив. */
|
|
17
|
+
modelValue?: GrChipValue | GrChipValue[] | null;
|
|
18
|
+
selection?: GrChipSelection;
|
|
19
|
+
/** Имя для нативной формы. Множественный выбор отдаёт по полю на значение. */
|
|
20
|
+
name?: string;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
/** Выбор видно, но он не меняется. */
|
|
23
|
+
readonly?: boolean;
|
|
24
|
+
invalid?: boolean;
|
|
25
|
+
required?: boolean;
|
|
26
|
+
/** Крестик у всех чипов набора. Точечно перебивается пропом самого чипа. */
|
|
27
|
+
closable?: boolean;
|
|
28
|
+
size?: GrChipSize;
|
|
29
|
+
tone?: GrChipTone;
|
|
30
|
+
radius?: GrChipRadius;
|
|
31
|
+
dark?: boolean;
|
|
32
|
+
ariaLabel?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface GrChipGroupEmits {
|
|
35
|
+
(e: 'update:modelValue', value: GrChipValue | GrChipValue[] | null): void;
|
|
36
|
+
(e: 'change', value: GrChipValue | GrChipValue[] | null): void;
|
|
37
|
+
(e: 'remove', value: GrChipValue): void;
|
|
38
|
+
(e: 'focus', event: FocusEvent): void;
|
|
39
|
+
(e: 'blur', event: FocusEvent): void;
|
|
40
|
+
}
|
|
41
|
+
type __VLS_Slots = {
|
|
42
|
+
/** Чипы набора. */
|
|
43
|
+
default?: () => unknown;
|
|
44
|
+
};
|
|
45
|
+
declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrChipGroupProps>, {
|
|
46
|
+
modelValue: undefined;
|
|
47
|
+
selection: string;
|
|
48
|
+
name: undefined;
|
|
49
|
+
disabled: boolean;
|
|
50
|
+
readonly: boolean;
|
|
51
|
+
invalid: boolean;
|
|
52
|
+
required: boolean;
|
|
53
|
+
closable: boolean;
|
|
54
|
+
size: undefined;
|
|
55
|
+
tone: undefined;
|
|
56
|
+
radius: undefined;
|
|
57
|
+
dark: undefined;
|
|
58
|
+
ariaLabel: undefined;
|
|
59
|
+
}>>, {
|
|
60
|
+
focus: () => void | undefined;
|
|
61
|
+
blur: () => void | undefined;
|
|
62
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
63
|
+
"update:modelValue": (value: GrChipValue | GrChipValue[] | null) => void;
|
|
64
|
+
change: (value: GrChipValue | GrChipValue[] | null) => void;
|
|
65
|
+
remove: (value: GrChipValue) => void;
|
|
66
|
+
focus: (event: FocusEvent) => void;
|
|
67
|
+
blur: (event: FocusEvent) => void;
|
|
68
|
+
}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<GrChipGroupProps>, {
|
|
69
|
+
modelValue: undefined;
|
|
70
|
+
selection: string;
|
|
71
|
+
name: undefined;
|
|
72
|
+
disabled: boolean;
|
|
73
|
+
readonly: boolean;
|
|
74
|
+
invalid: boolean;
|
|
75
|
+
required: boolean;
|
|
76
|
+
closable: boolean;
|
|
77
|
+
size: undefined;
|
|
78
|
+
tone: undefined;
|
|
79
|
+
radius: undefined;
|
|
80
|
+
dark: undefined;
|
|
81
|
+
ariaLabel: undefined;
|
|
82
|
+
}>>> & Readonly<{
|
|
83
|
+
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
84
|
+
onChange?: ((value: GrChipValue | GrChipValue[] | null) => any) | undefined;
|
|
85
|
+
onFocus?: ((event: FocusEvent) => any) | undefined;
|
|
86
|
+
"onUpdate:modelValue"?: ((value: GrChipValue | GrChipValue[] | null) => any) | undefined;
|
|
87
|
+
onRemove?: ((value: GrChipValue) => any) | undefined;
|
|
88
|
+
}>, {
|
|
89
|
+
tone: GrChipTone;
|
|
90
|
+
closable: boolean;
|
|
91
|
+
size: GrChipSize;
|
|
92
|
+
radius: GrChipRadius;
|
|
93
|
+
dark: boolean;
|
|
94
|
+
readonly: boolean;
|
|
95
|
+
name: string;
|
|
96
|
+
invalid: boolean;
|
|
97
|
+
disabled: boolean;
|
|
98
|
+
modelValue: GrChipValue | GrChipValue[] | null;
|
|
99
|
+
required: boolean;
|
|
100
|
+
ariaLabel: string;
|
|
101
|
+
selection: GrChipSelection;
|
|
102
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
103
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
104
|
+
declare const _default: typeof __VLS_export;
|
|
105
|
+
export default _default;
|
|
106
|
+
type __VLS_TypePropsToOption<T> = {
|
|
107
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
|
108
|
+
type: import('vue').PropType<Required<T>[K]>;
|
|
109
|
+
} : {
|
|
110
|
+
type: import('vue').PropType<T[K]>;
|
|
111
|
+
required: true;
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
type __VLS_WithDefaults<P, D> = {
|
|
115
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
|
|
116
|
+
default: D[K];
|
|
117
|
+
}> : P[K];
|
|
118
|
+
};
|
|
119
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
120
|
+
new (): {
|
|
121
|
+
$slots: S;
|
|
122
|
+
};
|
|
123
|
+
};
|
|
124
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
125
|
+
[K in keyof T]: T[K];
|
|
126
|
+
} : {
|
|
127
|
+
[K in keyof T as K]: T[K];
|
|
128
|
+
}) & {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const grChipGroupConfig: import("@feugene/unocss-preset-granular/contract").GranularComponentDescriptor<"GrChipGroup">;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { GrChipSize } from '../GrChip/grChipStyles';
|
|
2
|
+
/**
|
|
3
|
+
* Пропы `GrChipGroup`, настраиваемые глобально через `componentDefaults`.
|
|
4
|
+
* Размер группы доезжает до чипов контекстом — задавать его на каждом не нужно.
|
|
5
|
+
*/
|
|
6
|
+
export interface GrChipGroupConfigurableProps {
|
|
7
|
+
size: GrChipSize;
|
|
8
|
+
}
|
|
9
|
+
declare module '../../composables/useGrComponentConfig' {
|
|
10
|
+
interface GrComponentDefaultsRegistry {
|
|
11
|
+
GrChipGroup: GrChipGroupConfigurableProps;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* У группы своих вариантов нет: она раскладывает чипы и ничего не красит.
|
|
3
|
+
* Класс вынесен сюда, а не оставлен литералом в шаблоне, только ради safelist —
|
|
4
|
+
* из `.vue` литералы попадают в скан сами, но тогда список классов группы жил
|
|
5
|
+
* бы в двух местах.
|
|
6
|
+
*/
|
|
7
|
+
export declare const chipGroupRootClass = "flex flex-wrap items-center gap-2";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ComponentExposed } from '../shared/instance';
|
|
2
|
+
import type GrChipGroupComponent from './GrChipGroup.vue';
|
|
3
|
+
export { default } from './GrChipGroup.vue';
|
|
4
|
+
export { default as GrChipGroup } from './GrChipGroup.vue';
|
|
5
|
+
export { grChipGroupConfig } from './config';
|
|
6
|
+
export type { GrChipGroupConfigurableProps } from './defaults';
|
|
7
|
+
export { grChipGroupSafelist } from './safelist';
|
|
8
|
+
export type { GrChipGroupEmits, GrChipGroupProps } from './GrChipGroup.vue';
|
|
9
|
+
export type GrChipGroupInstance = ComponentExposed<typeof GrChipGroupComponent>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const grChipGroupSafelist: string[];
|