@feugene/granularity 0.3.2 → 0.4.1
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/GrFormFile.css +1 -0
- package/dist/GrTree.css +1 -0
- package/dist/chunks/_plugin-vue_export-helper-BG_EqiDU.js +8 -0
- package/dist/chunks/adapter-C7fKeUa4.js +6 -0
- package/dist/chunks/adapter-C7fKeUa4.js.map +1 -0
- package/dist/chunks/arrow-up-DNXrMoAI.js +25 -0
- package/dist/chunks/arrow-up-DNXrMoAI.js.map +1 -0
- package/dist/chunks/classTokens-BPeBXNzu.js +8 -0
- package/dist/chunks/classTokens-BPeBXNzu.js.map +1 -0
- package/dist/chunks/config-2wgwWaAB.js +10 -0
- package/dist/chunks/config-2wgwWaAB.js.map +1 -0
- package/dist/chunks/config-BKRmlivc.js +10 -0
- package/dist/chunks/config-BKRmlivc.js.map +1 -0
- package/dist/chunks/config-BRU5PR8_.js +10 -0
- package/dist/chunks/config-BRU5PR8_.js.map +1 -0
- package/dist/chunks/config-BUGfFjmC.js +16 -0
- package/dist/chunks/config-BUGfFjmC.js.map +1 -0
- package/dist/chunks/config-BXffa3ta.js +60 -0
- package/dist/chunks/config-BXffa3ta.js.map +1 -0
- package/dist/chunks/config-BaMO9dQh.js +22 -0
- package/dist/chunks/config-BaMO9dQh.js.map +1 -0
- package/dist/chunks/config-BbtK511H.js +11 -0
- package/dist/chunks/config-BbtK511H.js.map +1 -0
- package/dist/chunks/config-BcFOkUhh.js +15 -0
- package/dist/chunks/config-BcFOkUhh.js.map +1 -0
- package/dist/chunks/config-BcpRsZTe.js +10 -0
- package/dist/chunks/config-BcpRsZTe.js.map +1 -0
- package/dist/chunks/config-BhubOeci.js +15 -0
- package/dist/chunks/config-BhubOeci.js.map +1 -0
- package/dist/chunks/config-BhvNm4Pp.js +173 -0
- package/dist/chunks/config-BhvNm4Pp.js.map +1 -0
- package/dist/chunks/config-Bv2G0OU6.js +10 -0
- package/dist/chunks/config-Bv2G0OU6.js.map +1 -0
- package/dist/chunks/config-Bv5Dok4j.js +41 -0
- package/dist/chunks/config-Bv5Dok4j.js.map +1 -0
- package/dist/chunks/config-BzQ4S4Hb.js +11 -0
- package/dist/chunks/config-BzQ4S4Hb.js.map +1 -0
- package/dist/chunks/config-BzZGpWsj.js +11 -0
- package/dist/chunks/config-BzZGpWsj.js.map +1 -0
- package/dist/chunks/config-C0b_3LJV.js +42 -0
- package/dist/chunks/config-C0b_3LJV.js.map +1 -0
- package/dist/chunks/config-C2JKq8-2.js +60 -0
- package/dist/chunks/config-C2JKq8-2.js.map +1 -0
- package/dist/chunks/config-C6SBJxcH.js +10 -0
- package/dist/chunks/config-C6SBJxcH.js.map +1 -0
- package/dist/chunks/config-CJbjLC5X.js +55 -0
- package/dist/chunks/config-CJbjLC5X.js.map +1 -0
- package/dist/chunks/config-CJeyaUTp.js +40 -0
- package/dist/chunks/config-CJeyaUTp.js.map +1 -0
- package/dist/chunks/config-CMZE2fu0.js +11 -0
- package/dist/chunks/config-CMZE2fu0.js.map +1 -0
- package/dist/chunks/config-CU_CBd0k.js +24 -0
- package/dist/chunks/config-CU_CBd0k.js.map +1 -0
- package/dist/chunks/config-CYPU3ztl.js +26 -0
- package/dist/chunks/config-CYPU3ztl.js.map +1 -0
- package/dist/chunks/config-CcmeMlic.js +19 -0
- package/dist/chunks/config-CcmeMlic.js.map +1 -0
- package/dist/chunks/config-CdAx6ify2.js +11 -0
- package/dist/chunks/config-CdAx6ify2.js.map +1 -0
- package/dist/chunks/config-CxCAfXZ1.js +23 -0
- package/dist/chunks/config-CxCAfXZ1.js.map +1 -0
- package/dist/chunks/config-D1gSaT52.js +11 -0
- package/dist/chunks/config-D1gSaT52.js.map +1 -0
- package/dist/chunks/config-D7iuXJbl.js +11 -0
- package/dist/chunks/config-D7iuXJbl.js.map +1 -0
- package/dist/chunks/config-D7tRu8u3.js +11 -0
- package/dist/chunks/config-D7tRu8u3.js.map +1 -0
- package/dist/chunks/config-DBYCntwl.js +10 -0
- package/dist/chunks/config-DBYCntwl.js.map +1 -0
- package/dist/chunks/config-DFRYOcrP.js +11 -0
- package/dist/chunks/config-DFRYOcrP.js.map +1 -0
- package/dist/chunks/config-DW_RqmUp.js +10 -0
- package/dist/chunks/config-DW_RqmUp.js.map +1 -0
- package/dist/chunks/config-Dkq0HeLe.js +11 -0
- package/dist/chunks/config-Dkq0HeLe.js.map +1 -0
- package/dist/chunks/config-DlLE49_I.js +11 -0
- package/dist/chunks/config-DlLE49_I.js.map +1 -0
- package/dist/chunks/config-DvTUDLT1.js +46 -0
- package/dist/chunks/config-DvTUDLT1.js.map +1 -0
- package/dist/chunks/config-DwB5-qdP2.js +10 -0
- package/dist/chunks/config-DwB5-qdP2.js.map +1 -0
- package/dist/chunks/config-DxqMXzNV2.js +25 -0
- package/dist/chunks/config-DxqMXzNV2.js.map +1 -0
- package/dist/chunks/config-DxqpV-KM.js +47 -0
- package/dist/chunks/config-DxqpV-KM.js.map +1 -0
- package/dist/chunks/config-Dzz9P-GV2.js +11 -0
- package/dist/chunks/config-Dzz9P-GV2.js.map +1 -0
- package/dist/chunks/config-KGTIAFD92.js +10 -0
- package/dist/chunks/config-KGTIAFD92.js.map +1 -0
- package/dist/chunks/config-TyzU6gLf.js +10 -0
- package/dist/chunks/config-TyzU6gLf.js.map +1 -0
- package/dist/chunks/config-cn6knwud.js +37 -0
- package/dist/chunks/config-cn6knwud.js.map +1 -0
- package/dist/chunks/config-dD6Po-Cq.js +10 -0
- package/dist/chunks/config-dD6Po-Cq.js.map +1 -0
- package/dist/chunks/config-rFwazRKi.js +11 -0
- package/dist/chunks/config-rFwazRKi.js.map +1 -0
- package/dist/chunks/config-rQlbnEKn.js +10 -0
- package/dist/chunks/config-rQlbnEKn.js.map +1 -0
- package/dist/chunks/config-rxFL-6yF2.js +80 -0
- package/dist/chunks/config-rxFL-6yF2.js.map +1 -0
- package/dist/chunks/config-ug8O8epd.js +13 -0
- package/dist/chunks/config-ug8O8epd.js.map +1 -0
- package/dist/chunks/dialogShared-BtXUk6Zc.js +34 -0
- package/dist/chunks/dialogShared-BtXUk6Zc.js.map +1 -0
- package/dist/chunks/directives-Cuib0yOO.js +728 -0
- package/dist/chunks/directives-Cuib0yOO.js.map +1 -0
- package/dist/chunks/en-BMjJZttK.js +50 -0
- package/dist/chunks/en-BMjJZttK.js.map +1 -0
- package/dist/chunks/es-Cu_RlgIr.js +22 -0
- package/dist/chunks/es-Cu_RlgIr.js.map +1 -0
- package/dist/chunks/es-EYCf8G_1.js +50 -0
- package/dist/chunks/es-EYCf8G_1.js.map +1 -0
- package/dist/chunks/fileValidation-CgjTGoUx.js +221 -0
- package/dist/chunks/fileValidation-CgjTGoUx.js.map +1 -0
- package/dist/chunks/grBadgeStyles-pqqbVgLk.js +50 -0
- package/dist/chunks/grBadgeStyles-pqqbVgLk.js.map +1 -0
- package/dist/chunks/grButtonStyles-BxZW2x0-.js +193 -0
- package/dist/chunks/grButtonStyles-BxZW2x0-.js.map +1 -0
- package/dist/chunks/grDropdownStyles-DQfLh-bp.js +34 -0
- package/dist/chunks/grDropdownStyles-DQfLh-bp.js.map +1 -0
- package/dist/chunks/grLoadingStyles-CERsxyk9.js +19 -0
- package/dist/chunks/grLoadingStyles-CERsxyk9.js.map +1 -0
- package/dist/chunks/grModalStyles-Dv2NXBKi.js +49 -0
- package/dist/chunks/grModalStyles-Dv2NXBKi.js.map +1 -0
- package/dist/chunks/grSelectStyles-C1zNEkV7.js +52 -0
- package/dist/chunks/grSelectStyles-C1zNEkV7.js.map +1 -0
- package/dist/chunks/granularityI18n-BEWP9aJs.js +28 -0
- package/dist/chunks/granularityI18n-BEWP9aJs.js.map +1 -0
- package/dist/chunks/info-C0bHmdZq.js +28 -0
- package/dist/chunks/info-C0bHmdZq.js.map +1 -0
- package/dist/chunks/loader-circle-B2rWDk5u.js +25 -0
- package/dist/chunks/loader-circle-B2rWDk5u.js.map +1 -0
- package/dist/chunks/ru-DKswMSdd.js +50 -0
- package/dist/chunks/ru-DKswMSdd.js.map +1 -0
- package/dist/chunks/safelist-BF822K15.js +15 -0
- package/dist/chunks/safelist-BF822K15.js.map +1 -0
- package/dist/chunks/safelist-BY7z8fOl.js +26 -0
- package/dist/chunks/safelist-BY7z8fOl.js.map +1 -0
- package/dist/chunks/shared-Bvjkhhm2.js +164 -0
- package/dist/chunks/shared-Bvjkhhm2.js.map +1 -0
- package/dist/chunks/transition-mJ3PZCHH.js +1694 -0
- package/dist/chunks/transition-mJ3PZCHH.js.map +1 -0
- package/dist/chunks/x-Pa6C2hwi.js +25 -0
- package/dist/chunks/x-Pa6C2hwi.js.map +1 -0
- package/dist/chunks/x-circle-DQSlBLmX.js +69 -0
- package/dist/chunks/x-circle-DQSlBLmX.js.map +1 -0
- package/dist/components/GrAlert/chunks/GrAlert-BjerGcU8.js +148 -0
- package/dist/components/GrAlert/chunks/GrAlert-BjerGcU8.js.map +1 -0
- package/dist/components/GrAlert/index.js +3 -0
- package/dist/components/GrAvatar/chunks/GrAvatar-BjnPKNAL.js +43 -0
- package/dist/components/GrAvatar/chunks/GrAvatar-BjnPKNAL.js.map +1 -0
- package/dist/components/GrAvatar/index.js +3 -0
- package/dist/components/GrBadge/chunks/GrBadge-wuIb4_2K.js +34 -0
- package/dist/components/GrBadge/chunks/GrBadge-wuIb4_2K.js.map +1 -0
- package/dist/components/GrBadge/index.js +3 -0
- package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-CxtamOZ-.js +35 -0
- package/dist/components/GrBadgeWrap/chunks/GrBadgeWrap-CxtamOZ-.js.map +1 -0
- package/dist/components/GrBadgeWrap/index.js +3 -0
- package/dist/components/GrBottomNav/chunks/GrBottomNav-CsmQ7mTJ.js +33 -0
- package/dist/components/GrBottomNav/chunks/GrBottomNav-CsmQ7mTJ.js.map +1 -0
- package/dist/components/GrBottomNav/index.js +3 -0
- package/dist/components/GrButton/chunks/GrButton-BmGdp8-4.js +85 -0
- package/dist/components/GrButton/chunks/GrButton-BmGdp8-4.js.map +1 -0
- package/dist/components/GrButton/index.js +5 -0
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CBj4tpms.js +23 -0
- package/dist/components/GrButtonGroup/chunks/GrButtonGroup-CBj4tpms.js.map +1 -0
- package/dist/components/GrButtonGroup/index.js +3 -0
- package/dist/components/GrCard/chunks/GrCard-xtDcXBr7.js +13 -0
- package/dist/components/GrCard/chunks/GrCard-xtDcXBr7.js.map +1 -0
- package/dist/components/GrCard/index.js +3 -0
- package/dist/components/GrCheckbox/chunks/GrCheckbox-Bt3d7ckE.js +136 -0
- package/dist/components/GrCheckbox/chunks/GrCheckbox-Bt3d7ckE.js.map +1 -0
- package/dist/components/GrCheckbox/index.js +3 -0
- package/dist/components/GrCollapse/chunks/GrCollapse-HU20VTVn.js +207 -0
- package/dist/components/GrCollapse/chunks/GrCollapse-HU20VTVn.js.map +1 -0
- package/dist/components/GrCollapse/index.js +3 -0
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-DjGOX9Hd.js +133 -0
- package/dist/components/GrConfirmDialog/chunks/GrConfirmDialog-DjGOX9Hd.js.map +1 -0
- package/dist/components/GrConfirmDialog/index.js +3 -0
- package/dist/components/GrDataTable/chunks/GrDataTable-QDOJWmdY.js +181 -0
- package/dist/components/GrDataTable/chunks/GrDataTable-QDOJWmdY.js.map +1 -0
- package/dist/components/GrDataTable/index.js +3 -0
- package/dist/components/GrDialog/chunks/GrDialog-gObmaVEl.js +223 -0
- package/dist/components/GrDialog/chunks/GrDialog-gObmaVEl.js.map +1 -0
- package/dist/components/GrDialog/index.js +4 -0
- package/dist/components/GrDrawer/chunks/GrDrawer-BJL_gTxI.js +158 -0
- package/dist/components/GrDrawer/chunks/GrDrawer-BJL_gTxI.js.map +1 -0
- package/dist/components/GrDrawer/index.js +3 -0
- package/dist/components/GrDropdown/chunks/GrDropdown-DVTU32T_.js +153 -0
- package/dist/components/GrDropdown/chunks/GrDropdown-DVTU32T_.js.map +1 -0
- package/dist/components/GrDropdown/index.js +3 -0
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-fePQRcgh.js +311 -0
- package/dist/components/GrDropdownMenu/chunks/GrDropdownMenu-fePQRcgh.js.map +1 -0
- package/dist/components/GrDropdownMenu/index.js +3 -0
- package/dist/components/GrEmptyState/chunks/GrEmptyState-Bs8d3tgb.js +64 -0
- package/dist/components/GrEmptyState/chunks/GrEmptyState-Bs8d3tgb.js.map +1 -0
- package/dist/components/GrEmptyState/index.js +3 -0
- package/dist/components/GrFileUpload/chunks/GrFileUpload-DVv8yXpl.js +370 -0
- package/dist/components/GrFileUpload/chunks/GrFileUpload-DVv8yXpl.js.map +1 -0
- package/dist/components/GrFileUpload/index.js +4 -0
- package/dist/components/GrFormField/chunks/GrFormField-BzezYcS8.js +37 -0
- package/dist/components/GrFormField/chunks/GrFormField-BzezYcS8.js.map +1 -0
- package/dist/components/GrFormField/index.js +3 -0
- package/dist/components/GrFormFile/chunks/GrFormFile-DtZOypJW.js +315 -0
- package/dist/components/GrFormFile/chunks/GrFormFile-DtZOypJW.js.map +1 -0
- package/dist/components/GrFormFile/index.js +3 -0
- package/dist/components/GrFormSection/chunks/GrFormSection-BIPB1RIk.js +37 -0
- package/dist/components/GrFormSection/chunks/GrFormSection-BIPB1RIk.js.map +1 -0
- package/dist/components/GrFormSection/index.js +3 -0
- package/dist/components/GrIcon/chunks/GrIcon-BV7RBU_0.js +34 -0
- package/dist/components/GrIcon/chunks/GrIcon-BV7RBU_0.js.map +1 -0
- package/dist/components/GrIcon/index.js +3 -0
- package/dist/components/GrImageViewer/chunks/GrImageViewer-fn8ilJTA.js +399 -0
- package/dist/components/GrImageViewer/chunks/GrImageViewer-fn8ilJTA.js.map +1 -0
- package/dist/components/GrImageViewer/index.js +3 -0
- package/dist/components/GrInput/chunks/GrInput-DLLRrH1A.js +213 -0
- package/dist/components/GrInput/chunks/GrInput-DLLRrH1A.js.map +1 -0
- package/dist/components/GrInput/index.js +3 -0
- package/dist/components/GrInputTag/chunks/GrInputTag-CzrrBxgU.js +259 -0
- package/dist/components/GrInputTag/chunks/GrInputTag-CzrrBxgU.js.map +1 -0
- package/dist/components/GrInputTag/index.js +3 -0
- package/dist/components/GrLink/chunks/GrLink-Dhkid3Mp.js +82 -0
- package/dist/components/GrLink/chunks/GrLink-Dhkid3Mp.js.map +1 -0
- package/dist/components/GrLink/index.js +3 -0
- package/dist/components/GrList/chunks/GrList-CjgeVjhY.js +79 -0
- package/dist/components/GrList/chunks/GrList-CjgeVjhY.js.map +1 -0
- package/dist/components/GrList/index.js +3 -0
- package/dist/components/GrLoading/chunks/GrLoading-DihGX3ol.js +71 -0
- package/dist/components/GrLoading/chunks/GrLoading-DihGX3ol.js.map +1 -0
- package/dist/components/GrLoading/index.js +3 -0
- package/dist/components/GrModal/chunks/GrModal-gvfvlp7k.js +170 -0
- package/dist/components/GrModal/chunks/GrModal-gvfvlp7k.js.map +1 -0
- package/dist/components/GrModal/index.js +4 -0
- package/dist/components/GrNavbar/chunks/GrNavbar-CQOAfO6y.js +77 -0
- package/dist/components/GrNavbar/chunks/GrNavbar-CQOAfO6y.js.map +1 -0
- package/dist/components/GrNavbar/index.js +3 -0
- package/dist/components/GrNumberInput/chunks/GrNumberInput-CyHgUotG.js +399 -0
- package/dist/components/GrNumberInput/chunks/GrNumberInput-CyHgUotG.js.map +1 -0
- package/dist/components/GrNumberInput/index.js +3 -0
- package/dist/components/GrPagination/chunks/GrPagination-C5cxRJsF.js +116 -0
- package/dist/components/GrPagination/chunks/GrPagination-C5cxRJsF.js.map +1 -0
- package/dist/components/GrPagination/index.js +3 -0
- package/dist/components/GrProgressBar/chunks/GrProgressBar-C9wAAFxR.js +41 -0
- package/dist/components/GrProgressBar/chunks/GrProgressBar-C9wAAFxR.js.map +1 -0
- package/dist/components/GrProgressBar/index.js +3 -0
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-Cfq9bvL3.js +192 -0
- package/dist/components/GrPromptDialog/chunks/GrPromptDialog-Cfq9bvL3.js.map +1 -0
- package/dist/components/GrPromptDialog/index.js +3 -0
- package/dist/components/GrRadio/chunks/GrRadio-B_t_ZNVl.js +186 -0
- package/dist/components/GrRadio/chunks/GrRadio-B_t_ZNVl.js.map +1 -0
- package/dist/components/GrRadio/index.js +3 -0
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-CVlgpUBr.js +82 -0
- package/dist/components/GrRadioGroup/chunks/GrRadioGroup-CVlgpUBr.js.map +1 -0
- package/dist/components/GrRadioGroup/index.js +3 -0
- package/dist/components/GrSegmented/chunks/GrSegmented-BPl1koHc.js +325 -0
- package/dist/components/GrSegmented/chunks/GrSegmented-BPl1koHc.js.map +1 -0
- package/dist/components/GrSegmented/index.js +3 -0
- package/dist/components/GrSelect/chunks/GrSelect-aVqUL-1F.js +445 -0
- package/dist/components/GrSelect/chunks/GrSelect-aVqUL-1F.js.map +1 -0
- package/dist/components/GrSelect/index.js +3 -0
- package/dist/components/GrSidebar/chunks/GrSidebar-DVucgcfV.js +46 -0
- package/dist/components/GrSidebar/chunks/GrSidebar-DVucgcfV.js.map +1 -0
- package/dist/components/GrSidebar/index.js +3 -0
- package/dist/components/GrSkeleton/chunks/GrSkeleton-CDTvCSoH.js +35 -0
- package/dist/components/GrSkeleton/chunks/GrSkeleton-CDTvCSoH.js.map +1 -0
- package/dist/components/GrSkeleton/index.js +3 -0
- package/dist/components/GrSwitch/chunks/GrSwitch-Bnamgqb2.js +81 -0
- package/dist/components/GrSwitch/chunks/GrSwitch-Bnamgqb2.js.map +1 -0
- package/dist/components/GrSwitch/index.js +3 -0
- package/dist/components/GrTable/chunks/GrTable-CyQ9uw8A.js +59 -0
- package/dist/components/GrTable/chunks/GrTable-CyQ9uw8A.js.map +1 -0
- package/dist/components/GrTable/index.js +3 -0
- package/dist/components/GrTabs/chunks/GrTabs-CiGmcmvm.js +120 -0
- package/dist/components/GrTabs/chunks/GrTabs-CiGmcmvm.js.map +1 -0
- package/dist/components/GrTabs/index.js +3 -0
- package/dist/components/GrTextarea/chunks/GrTextarea-VBSc6A7D.js +73 -0
- package/dist/components/GrTextarea/chunks/GrTextarea-VBSc6A7D.js.map +1 -0
- package/dist/components/GrTextarea/index.js +3 -0
- package/dist/components/GrToaster/chunks/GrToaster-I1e-zCpf.js +173 -0
- package/dist/components/GrToaster/chunks/GrToaster-I1e-zCpf.js.map +1 -0
- package/dist/components/GrToaster/index.js +3 -0
- package/dist/components/GrTooltip/chunks/GrTooltip-CrV1gI_c.js +57 -0
- package/dist/components/GrTooltip/chunks/GrTooltip-CrV1gI_c.js.map +1 -0
- package/dist/components/GrTooltip/index.js +3 -0
- package/dist/components/GrTree/chunks/GrTree-Dlev9oBd.js +736 -0
- package/dist/components/GrTree/chunks/GrTree-Dlev9oBd.js.map +1 -0
- package/dist/components/GrTree/index.js +3 -0
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-DN6XFjOD.js +456 -0
- package/dist/components/GrTreeSelect/chunks/GrTreeSelect-DN6XFjOD.js.map +1 -0
- package/dist/components/GrTreeSelect/index.js +3 -0
- package/dist/composables/useTheme.js +41 -30
- package/dist/composables/useTheme.js.map +1 -0
- package/dist/composables/useToast.js +43 -34
- package/dist/composables/useToast.js.map +1 -0
- package/dist/directives/index.js +2 -2
- package/dist/fileValidation/index.js +2 -2
- package/dist/granular-provider-node.js +28 -17
- package/dist/granular-provider-node.js.map +1 -0
- package/dist/granular-provider.js +5 -3
- package/dist/granular-provider.js.map +1 -0
- package/dist/i18n/all.js +11 -0
- package/dist/i18n/all.js.map +1 -0
- package/dist/i18n/index.js +3 -9
- package/dist/index.js +115 -115
- package/dist/types/src/components/GrAlert/GrAlert.vue.d.ts +70 -0
- package/dist/types/src/components/GrAlert/config.d.ts +1 -0
- package/dist/types/src/components/GrAlert/index.d.ts +4 -0
- package/dist/types/src/components/GrAvatar/GrAvatar.vue.d.ts +53 -0
- package/dist/types/src/components/GrAvatar/config.d.ts +1 -0
- package/dist/types/src/components/GrAvatar/grAvatarStyles.d.ts +3 -0
- package/dist/types/src/components/GrAvatar/index.d.ts +5 -0
- package/dist/types/src/components/GrAvatar/safelist.d.ts +4 -0
- package/dist/types/src/components/GrBadge/GrBadge.vue.d.ts +54 -0
- package/dist/types/src/components/GrBadge/config.d.ts +1 -0
- package/dist/types/src/components/GrBadge/grBadgeStyles.d.ts +13 -0
- package/dist/types/src/components/GrBadge/index.d.ts +5 -0
- package/dist/types/src/components/GrBadge/safelist.d.ts +1 -0
- package/dist/types/src/components/GrBadgeWrap/config.d.ts +1 -0
- package/dist/types/src/components/GrBadgeWrap/index.d.ts +3 -0
- package/dist/types/src/components/GrBottomNav/GrBottomNav.vue.d.ts +23 -0
- package/dist/types/src/components/GrBottomNav/config.d.ts +1 -0
- package/dist/types/src/components/GrBottomNav/index.d.ts +4 -0
- package/dist/types/src/components/GrButton/GrButton.vue.d.ts +70 -0
- package/dist/types/src/components/GrButton/config.d.ts +1 -0
- package/dist/types/src/components/GrButton/config.node.d.ts +1 -0
- package/dist/types/src/components/GrButton/grButtonStyles.d.ts +30 -0
- package/dist/types/src/components/GrButton/index.d.ts +6 -0
- package/dist/types/src/components/GrButton/safelist.d.ts +7 -0
- package/dist/types/src/components/GrButtonGroup/config.d.ts +1 -0
- package/dist/types/src/components/GrButtonGroup/index.d.ts +3 -0
- package/dist/types/src/components/GrCard/config.d.ts +1 -0
- package/dist/types/src/components/GrCard/index.d.ts +3 -0
- package/dist/types/src/components/GrCheckbox/GrCheckbox.vue.d.ts +69 -0
- package/dist/types/src/components/GrCheckbox/config.d.ts +1 -0
- package/dist/types/src/components/GrCheckbox/index.d.ts +4 -0
- package/dist/types/src/components/GrCollapse/GrCollapse.vue.d.ts +67 -0
- package/dist/types/src/components/GrCollapse/GrCollapseItem.vue.d.ts +58 -0
- package/dist/types/src/components/GrCollapse/config.d.ts +1 -0
- package/dist/types/src/components/GrCollapse/grCollapseContext.d.ts +10 -0
- package/dist/types/src/components/GrCollapse/index.d.ts +6 -0
- package/dist/types/src/components/GrConfirmDialog/GrConfirmDialog.vue.d.ts +114 -0
- package/dist/types/src/components/GrConfirmDialog/config.d.ts +1 -0
- package/dist/types/src/components/GrConfirmDialog/index.d.ts +4 -0
- package/dist/types/src/components/GrDataTable/GrDataTable.vue.d.ts +51 -0
- package/dist/types/src/components/GrDataTable/config.d.ts +1 -0
- package/dist/types/src/components/GrDataTable/index.d.ts +4 -0
- package/dist/types/src/components/GrDialog/GrDialog.vue.d.ts +86 -0
- package/dist/types/src/components/GrDialog/GrDialogFooter.vue.d.ts +41 -0
- package/dist/types/src/components/GrDialog/GrDialogHeader.vue.d.ts +59 -0
- package/dist/types/src/components/GrDialog/config.d.ts +1 -0
- package/dist/types/src/components/GrDialog/dialogShared.d.ts +15 -0
- package/dist/types/src/components/GrDialog/index.d.ts +7 -0
- package/dist/types/src/components/GrDialog/safelist.d.ts +1 -0
- package/dist/types/src/components/GrDrawer/GrDrawer.vue.d.ts +77 -0
- package/dist/types/src/components/GrDrawer/config.d.ts +1 -0
- package/dist/types/src/components/GrDrawer/grDrawerStyles.d.ts +10 -0
- package/dist/types/src/components/GrDrawer/index.d.ts +6 -0
- package/dist/types/src/components/GrDrawer/safelist.d.ts +1 -0
- package/dist/types/src/components/GrDropdown/GrDropdown.vue.d.ts +72 -0
- package/dist/types/src/components/GrDropdown/config.d.ts +1 -0
- package/dist/types/src/components/GrDropdown/grDropdownStyles.d.ts +7 -0
- package/dist/types/src/components/GrDropdown/index.d.ts +6 -0
- package/dist/types/src/components/GrDropdown/safelist.d.ts +1 -0
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenu.vue.d.ts +86 -0
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuColumn.vue.d.ts +41 -0
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuColumns.vue.d.ts +40 -0
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuDivider.vue.d.ts +30 -0
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuGroup.vue.d.ts +53 -0
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuHeader.vue.d.ts +49 -0
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuItem.vue.d.ts +55 -0
- package/dist/types/src/components/GrDropdownMenu/GrDropdownMenuList.vue.d.ts +48 -0
- package/dist/types/src/components/GrDropdownMenu/config.d.ts +1 -0
- package/dist/types/src/components/GrDropdownMenu/index.d.ts +18 -0
- package/dist/types/src/components/GrEmptyState/GrEmptyState.vue.d.ts +50 -0
- package/dist/types/src/components/GrEmptyState/config.d.ts +1 -0
- package/dist/types/src/components/GrEmptyState/index.d.ts +4 -0
- package/dist/types/src/components/GrFileUpload/GrFileUpload.vue.d.ts +149 -0
- package/dist/types/src/components/GrFileUpload/config.d.ts +1 -0
- package/dist/types/src/components/GrFileUpload/index.d.ts +5 -0
- package/dist/types/src/components/GrFormField/config.d.ts +1 -0
- package/dist/types/src/components/GrFormField/index.d.ts +3 -0
- package/dist/types/src/components/GrFormFile/GrFormFile.vue.d.ts +108 -0
- package/dist/types/src/components/GrFormFile/config.d.ts +1 -0
- package/dist/types/src/components/GrFormFile/index.d.ts +4 -0
- package/dist/types/src/components/GrFormSection/GrFormSection.vue.d.ts +47 -0
- package/dist/types/src/components/GrFormSection/config.d.ts +1 -0
- package/dist/types/src/components/GrFormSection/index.d.ts +4 -0
- package/dist/types/src/components/GrIcon/GrIcon.vue.d.ts +25 -0
- package/dist/types/src/components/GrIcon/config.d.ts +1 -0
- package/dist/types/src/components/GrIcon/index.d.ts +3 -0
- package/dist/types/src/components/GrImageViewer/GrImageViewer.vue.d.ts +166 -0
- package/dist/types/src/components/GrImageViewer/config.d.ts +1 -0
- package/dist/types/src/components/GrImageViewer/index.d.ts +3 -0
- package/dist/types/src/components/GrInput/GrInput.vue.d.ts +109 -0
- package/dist/types/src/components/GrInput/config.d.ts +1 -0
- package/dist/types/src/components/GrInput/index.d.ts +5 -0
- package/dist/types/src/components/GrInput/safelist.d.ts +1 -0
- package/dist/types/src/components/GrInputTag/GrInputTag.vue.d.ts +133 -0
- package/dist/types/src/components/GrInputTag/config.d.ts +1 -0
- package/dist/types/src/components/GrInputTag/grInputTagStyles.d.ts +13 -0
- package/dist/types/src/components/GrInputTag/index.d.ts +6 -0
- package/dist/types/src/components/GrInputTag/safelist.d.ts +1 -0
- package/dist/types/src/components/GrLink/GrLink.vue.d.ts +75 -0
- package/dist/types/src/components/GrLink/config.d.ts +1 -0
- package/dist/types/src/components/GrLink/grLinkStyles.d.ts +15 -0
- package/dist/types/src/components/GrLink/index.d.ts +5 -0
- package/dist/types/src/components/GrLink/safelist.d.ts +1 -0
- package/dist/types/src/components/GrList/GrList.vue.d.ts +43 -0
- package/dist/types/src/components/GrList/GrListItem.vue.d.ts +58 -0
- package/dist/types/src/components/GrList/config.d.ts +1 -0
- package/dist/types/src/components/GrList/index.d.ts +6 -0
- package/dist/types/src/components/GrLoading/GrLoading.vue.d.ts +72 -0
- package/dist/types/src/components/GrLoading/config.d.ts +1 -0
- package/dist/types/src/components/GrLoading/grLoadingStyles.d.ts +11 -0
- package/dist/types/src/components/GrLoading/index.d.ts +5 -0
- package/dist/types/src/components/GrLoading/safelist.d.ts +1 -0
- package/dist/types/src/components/GrModal/GrModal.vue.d.ts +58 -0
- package/dist/types/src/components/GrModal/config.d.ts +1 -0
- package/dist/types/src/components/GrModal/grModalStyles.d.ts +26 -0
- package/dist/types/src/components/GrModal/index.d.ts +7 -0
- package/dist/types/src/components/GrModal/safelist.d.ts +15 -0
- package/dist/types/src/components/GrNavbar/GrNavbar.vue.d.ts +60 -0
- package/dist/types/src/components/GrNavbar/config.d.ts +1 -0
- package/dist/types/src/components/GrNavbar/index.d.ts +4 -0
- package/dist/types/src/components/GrNumberInput/GrNumberInput.vue.d.ts +147 -0
- package/dist/types/src/components/GrNumberInput/config.d.ts +1 -0
- package/dist/types/src/components/GrNumberInput/grNumberInputStyles.d.ts +19 -0
- package/dist/types/src/components/GrNumberInput/index.d.ts +6 -0
- package/dist/types/src/components/GrNumberInput/safelist.d.ts +1 -0
- package/dist/types/src/components/GrPagination/GrPagination.vue.d.ts +45 -0
- package/dist/types/src/components/GrPagination/config.d.ts +1 -0
- package/dist/types/src/components/GrPagination/index.d.ts +3 -0
- package/dist/types/src/components/GrProgressBar/GrProgressBar.vue.d.ts +43 -0
- package/dist/types/src/components/GrProgressBar/config.d.ts +1 -0
- package/dist/types/src/components/GrProgressBar/config.node.d.ts +1 -0
- package/dist/types/src/components/GrProgressBar/grStyle.d.ts +2 -0
- package/dist/types/src/components/GrProgressBar/index.d.ts +5 -0
- package/dist/types/src/components/GrProgressBar/safelist.d.ts +4 -0
- package/dist/types/src/components/GrPromptDialog/GrPromptDialog.vue.d.ts +134 -0
- package/dist/types/src/components/GrPromptDialog/config.d.ts +1 -0
- package/dist/types/src/components/GrPromptDialog/index.d.ts +4 -0
- package/dist/types/src/components/GrRadio/GrRadio.vue.d.ts +106 -0
- package/dist/types/src/components/GrRadio/config.d.ts +1 -0
- package/dist/types/src/components/GrRadio/grRadioGroupContext.d.ts +10 -0
- package/dist/types/src/components/GrRadio/grRadioStyles.d.ts +23 -0
- package/dist/types/src/components/GrRadio/index.d.ts +7 -0
- package/dist/types/src/components/GrRadio/safelist.d.ts +1 -0
- package/dist/types/src/components/GrRadioGroup/GrRadioGroup.vue.d.ts +79 -0
- package/dist/types/src/components/GrRadioGroup/config.d.ts +1 -0
- package/dist/types/src/components/GrRadioGroup/index.d.ts +4 -0
- package/dist/types/src/components/GrSegmented/GrSegmented.vue.d.ts +83 -0
- package/dist/types/src/components/GrSegmented/config.d.ts +1 -0
- package/dist/types/src/components/GrSegmented/grSegmentedStyles.d.ts +41 -0
- package/dist/types/src/components/GrSegmented/index.d.ts +6 -0
- package/dist/types/src/components/GrSegmented/safelist.d.ts +17 -0
- package/dist/types/src/components/GrSelect/GrSelect.vue.d.ts +140 -0
- package/dist/types/src/components/GrSelect/config.d.ts +1 -0
- package/dist/types/src/components/GrSelect/grSelectStyles.d.ts +39 -0
- package/dist/types/src/components/GrSelect/index.d.ts +5 -0
- package/dist/types/src/components/GrSelect/safelist.d.ts +1 -0
- package/dist/types/src/components/GrSidebar/GrSidebar.vue.d.ts +54 -0
- package/dist/types/src/components/GrSidebar/config.d.ts +1 -0
- package/dist/types/src/components/GrSidebar/index.d.ts +3 -0
- package/dist/types/src/components/GrSkeleton/GrSkeleton.vue.d.ts +44 -0
- package/dist/types/src/components/GrSkeleton/config.d.ts +1 -0
- package/dist/types/src/components/GrSkeleton/index.d.ts +3 -0
- package/dist/types/src/components/GrSwitch/GrSwitch.vue.d.ts +68 -0
- package/dist/types/src/components/GrSwitch/config.d.ts +1 -0
- package/dist/types/src/components/GrSwitch/grSwitchStyles.d.ts +19 -0
- package/dist/types/src/components/GrSwitch/index.d.ts +5 -0
- package/dist/types/src/components/GrSwitch/safelist.d.ts +10 -0
- package/dist/types/src/components/GrTable/GrTable.vue.d.ts +78 -0
- package/dist/types/src/components/GrTable/config.d.ts +1 -0
- package/dist/types/src/components/GrTable/index.d.ts +4 -0
- package/dist/types/src/components/GrTabs/GrTabs.vue.d.ts +25 -0
- package/dist/types/src/components/GrTabs/config.d.ts +1 -0
- package/dist/types/src/components/GrTabs/index.d.ts +4 -0
- package/dist/types/src/components/GrTextarea/GrTextarea.vue.d.ts +80 -0
- package/dist/types/src/components/GrTextarea/config.d.ts +1 -0
- package/dist/types/src/components/GrTextarea/grTextareaStyles.d.ts +6 -0
- package/dist/types/src/components/GrTextarea/index.d.ts +6 -0
- package/dist/types/src/components/GrTextarea/safelist.d.ts +1 -0
- package/dist/types/src/components/GrToaster/GrToaster.vue.d.ts +43 -0
- package/dist/types/src/components/GrToaster/config.d.ts +1 -0
- package/dist/types/src/components/GrToaster/grToasterStyles.d.ts +2 -0
- package/dist/types/src/components/GrToaster/index.d.ts +6 -0
- package/dist/types/src/components/GrToaster/safelist.d.ts +1 -0
- package/dist/types/src/components/GrTooltip/GrTooltip.vue.d.ts +42 -0
- package/dist/types/src/components/GrTooltip/config.d.ts +1 -0
- package/dist/types/src/components/GrTooltip/index.d.ts +4 -0
- package/dist/types/src/components/GrTree/GrTree.vue.d.ts +35 -0
- package/dist/types/src/components/GrTree/config.d.ts +1 -0
- package/dist/types/src/components/GrTree/grTreeDataAdapter.d.ts +14 -0
- package/dist/types/src/components/GrTree/grTreeInteractionContext.d.ts +31 -0
- package/dist/types/src/components/GrTree/grTreeProps.d.ts +63 -0
- package/dist/types/src/components/GrTree/grTreeStore.d.ts +45 -0
- package/dist/types/src/components/GrTree/grTreeTypes.d.ts +24 -0
- package/dist/types/src/components/GrTree/index.d.ts +6 -0
- package/dist/types/src/components/GrTree/safelist.d.ts +1 -0
- package/dist/types/src/components/GrTreeSelect/GrTreeSelect.vue.d.ts +48 -0
- package/dist/types/src/components/GrTreeSelect/config.d.ts +1 -0
- package/dist/types/src/components/GrTreeSelect/grTreeSelectStyles.d.ts +10 -0
- package/dist/types/src/components/GrTreeSelect/grTreeSelectTypes.d.ts +33 -0
- package/dist/types/src/components/GrTreeSelect/index.d.ts +5 -0
- package/dist/types/src/components/GrTreeSelect/safelist.d.ts +1 -0
- package/dist/types/src/composables/useToast.d.ts +3 -3
- package/dist/types/src/granular-provider/shared.d.ts +50 -50
- package/dist/types/src/i18n/all.d.ts +23 -0
- package/dist/types/src/i18n/messages/const.d.ts +1 -0
- package/dist/types/src/i18n/messages/en.d.ts +100 -0
- package/dist/types/src/i18n/messages/es.d.ts +93 -0
- package/dist/types/src/i18n/messages/index.d.ts +25 -0
- package/dist/types/src/i18n/messages/ru.d.ts +93 -0
- package/dist/types/src/index.d.ts +49 -49
- package/dist/types/src/vue/plugin.d.ts +5 -5
- package/dist/vue/index.js +66 -26
- package/dist/vue/index.js.map +1 -0
- package/package.json +155 -145
- package/dist/DsFormFile.css +0 -1
- package/dist/DsTree.css +0 -1
- package/dist/chunks/_plugin-vue_export-helper-CHO2XVys.js +0 -8
- package/dist/chunks/adapter-veOBOjv3.js +0 -4
- package/dist/chunks/arrow-up-Dv3dC3hu.js +0 -23
- package/dist/chunks/classTokens-CT1tqF2j.js +0 -6
- package/dist/chunks/config-B36QoWkx2.js +0 -8
- package/dist/chunks/config-BG-m3THf.js +0 -17
- package/dist/chunks/config-BNQb1Tdk.js +0 -9
- package/dist/chunks/config-BPuskn3r.js +0 -8
- package/dist/chunks/config-BWJ22IjI2.js +0 -9
- package/dist/chunks/config-BYoxgIeM.js +0 -18
- package/dist/chunks/config-Bb8NpnGF.js +0 -34
- package/dist/chunks/config-Bo4SoxQg.js +0 -27
- package/dist/chunks/config-BscZj6l42.js +0 -66
- package/dist/chunks/config-C0CVsc4Y.js +0 -48
- package/dist/chunks/config-C2wd640N.js +0 -9
- package/dist/chunks/config-C7KNHOmN.js +0 -33
- package/dist/chunks/config-CLG4pCF9.js +0 -9
- package/dist/chunks/config-COfLMM02.js +0 -8
- package/dist/chunks/config-CY0RJaK-.js +0 -15
- package/dist/chunks/config-C_CXjTfh2.js +0 -9
- package/dist/chunks/config-C_bF_fTb.js +0 -8
- package/dist/chunks/config-CcqnIunr.js +0 -9
- package/dist/chunks/config-Cibru2a2.js +0 -9
- package/dist/chunks/config-CnClbuiL.js +0 -9
- package/dist/chunks/config-CtI_S-zH.js +0 -8
- package/dist/chunks/config-CtgK8aLQ.js +0 -37
- package/dist/chunks/config-CvuvJeih.js +0 -9
- package/dist/chunks/config-CzEeKJ6F2.js +0 -20
- package/dist/chunks/config-D-soL_Ul.js +0 -149
- package/dist/chunks/config-D3ihNj1i.js +0 -14
- package/dist/chunks/config-D9kbijTN.js +0 -9
- package/dist/chunks/config-DGGgsQ-8.js +0 -47
- package/dist/chunks/config-DJxFkysW.js +0 -40
- package/dist/chunks/config-DN1-oywd.js +0 -13
- package/dist/chunks/config-DO9E5iXl2.js +0 -8
- package/dist/chunks/config-DQdLgKLJ.js +0 -8
- package/dist/chunks/config-DThxz0fj.js +0 -8
- package/dist/chunks/config-DU-WqEnv.js +0 -9
- package/dist/chunks/config-DeL48aIt.js +0 -8
- package/dist/chunks/config-DfTEy9G3.js +0 -14
- package/dist/chunks/config-DoJaEy4X.js +0 -21
- package/dist/chunks/config-DopZCwNe.js +0 -10
- package/dist/chunks/config-DpluHp1i.js +0 -8
- package/dist/chunks/config-DrTFt1re.js +0 -8
- package/dist/chunks/config-E9sOdSx6.js +0 -8
- package/dist/chunks/config-EhfVxSIR.js +0 -9
- package/dist/chunks/config-J_2KglMu.js +0 -8
- package/dist/chunks/config-YyVxx9dW.js +0 -8
- package/dist/chunks/config-Zksyb5FX.js +0 -35
- package/dist/chunks/config-ltfe9Xvy.js +0 -47
- package/dist/chunks/config-udLUeY_k.js +0 -9
- package/dist/chunks/dialogShared-B7Ruf0mn.js +0 -26
- package/dist/chunks/directives-K8Vo0VhP.js +0 -530
- package/dist/chunks/dsBadgeStyles-2fcy07ls.js +0 -43
- package/dist/chunks/dsButtonStyles-xdMl54zJ.js +0 -183
- package/dist/chunks/dsDropdownStyles-_XO6eeSE.js +0 -31
- package/dist/chunks/dsLoadingStyles-lw20OWhs.js +0 -15
- package/dist/chunks/dsModalStyles-DovGcwjh.js +0 -38
- package/dist/chunks/dsSelectStyles-BCrj5Fty.js +0 -40
- package/dist/chunks/en-BkL6iabg.js +0 -41
- package/dist/chunks/es-Dh_K9iry.js +0 -41
- package/dist/chunks/fileValidation-LFD-vwil.js +0 -193
- package/dist/chunks/granularityI18n-DYNnonoE.js +0 -24
- package/dist/chunks/info-CNJnuTYC.js +0 -26
- package/dist/chunks/loader-circle-C5vCCMfB.js +0 -23
- package/dist/chunks/ru-kTbw8Tku.js +0 -41
- package/dist/chunks/safelist-CQOSs_yj.js +0 -13
- package/dist/chunks/safelist-Gujf4bDO.js +0 -22
- package/dist/chunks/shared-Dk9xmulE.js +0 -124
- package/dist/chunks/transition-BJXMi52x.js +0 -1617
- package/dist/chunks/x--kxrj3ez.js +0 -23
- package/dist/chunks/x-circle-ChJ87u1v.js +0 -61
- package/dist/components/DsAlert/chunks/DsAlert-2ItscoqG.js +0 -129
- package/dist/components/DsAlert/index.js +0 -3
- package/dist/components/DsAvatar/chunks/DsAvatar-D7tQ9wfl.js +0 -32
- package/dist/components/DsAvatar/index.js +0 -3
- package/dist/components/DsBadge/chunks/DsBadge-B9aZxvZb.js +0 -27
- package/dist/components/DsBadge/index.js +0 -3
- package/dist/components/DsBadgeWrap/chunks/DsBadgeWrap-DO8TjFYg.js +0 -26
- package/dist/components/DsBadgeWrap/index.js +0 -3
- package/dist/components/DsBottomNav/chunks/DsBottomNav-NRtHfcmQ.js +0 -21
- package/dist/components/DsBottomNav/index.js +0 -3
- package/dist/components/DsButton/chunks/DsButton-9cB_fHZt.js +0 -67
- package/dist/components/DsButton/index.js +0 -5
- package/dist/components/DsButtonGroup/chunks/DsButtonGroup-DPK1W3Hk.js +0 -16
- package/dist/components/DsButtonGroup/index.js +0 -3
- package/dist/components/DsCard/chunks/DsCard-Bnelx1JF.js +0 -10
- package/dist/components/DsCard/index.js +0 -3
- package/dist/components/DsCheckbox/chunks/DsCheckbox-B3YN7RYo.js +0 -111
- package/dist/components/DsCheckbox/index.js +0 -3
- package/dist/components/DsCollapse/chunks/DsCollapse-7D6FTuFJ.js +0 -150
- package/dist/components/DsCollapse/index.js +0 -3
- package/dist/components/DsConfirmDialog/chunks/DsConfirmDialog-NkhfmD4Y.js +0 -111
- package/dist/components/DsConfirmDialog/index.js +0 -3
- package/dist/components/DsDataTable/chunks/DsDataTable-nK4XgT1y.js +0 -142
- package/dist/components/DsDataTable/index.js +0 -3
- package/dist/components/DsDialog/chunks/DsDialog-BH23MSq-.js +0 -169
- package/dist/components/DsDialog/index.js +0 -4
- package/dist/components/DsDrawer/chunks/DsDrawer-GW4JyPf_.js +0 -135
- package/dist/components/DsDrawer/index.js +0 -3
- package/dist/components/DsDropdown/chunks/DsDropdown-DmR1NWyV.js +0 -110
- package/dist/components/DsDropdown/index.js +0 -3
- package/dist/components/DsDropdownMenu/chunks/DsDropdownMenu-BlpO8mUO.js +0 -233
- package/dist/components/DsDropdownMenu/index.js +0 -3
- package/dist/components/DsEmptyState/chunks/DsEmptyState-tKYwSiP1.js +0 -49
- package/dist/components/DsEmptyState/index.js +0 -3
- package/dist/components/DsFileUpload/chunks/DsFileUpload-Dya9vyG0.js +0 -294
- package/dist/components/DsFileUpload/index.js +0 -4
- package/dist/components/DsFormField/chunks/DsFormField-QvWyAReX.js +0 -28
- package/dist/components/DsFormField/index.js +0 -3
- package/dist/components/DsFormFile/chunks/DsFormFile-BFfRuM1G.js +0 -248
- package/dist/components/DsFormFile/index.js +0 -3
- package/dist/components/DsFormSection/chunks/DsFormSection-Dzspqv9R.js +0 -27
- package/dist/components/DsFormSection/index.js +0 -3
- package/dist/components/DsIcon/chunks/DsIcon-Bk6qc4Kh.js +0 -25
- package/dist/components/DsIcon/index.js +0 -3
- package/dist/components/DsImageViewer/chunks/DsImageViewer-_LWdAHAd.js +0 -322
- package/dist/components/DsImageViewer/index.js +0 -3
- package/dist/components/DsInput/chunks/DsInput-B8RhHkKQ.js +0 -158
- package/dist/components/DsInput/index.js +0 -3
- package/dist/components/DsInputTag/chunks/DsInputTag-DVmvJ0A_.js +0 -214
- package/dist/components/DsInputTag/index.js +0 -3
- package/dist/components/DsLink/chunks/DsLink-DXClMbuX.js +0 -59
- package/dist/components/DsLink/index.js +0 -3
- package/dist/components/DsList/chunks/DsList-BEuPowc2.js +0 -55
- package/dist/components/DsList/index.js +0 -3
- package/dist/components/DsLoading/chunks/DsLoading-uYpDF-nK.js +0 -53
- package/dist/components/DsLoading/index.js +0 -3
- package/dist/components/DsModal/chunks/DsModal-B2DLXV7F.js +0 -136
- package/dist/components/DsModal/index.js +0 -4
- package/dist/components/DsNavbar/chunks/DsNavbar-O-ud_du_.js +0 -62
- package/dist/components/DsNavbar/index.js +0 -3
- package/dist/components/DsNumberInput/chunks/DsNumberInput-BJTpcTRc.js +0 -315
- package/dist/components/DsNumberInput/index.js +0 -3
- package/dist/components/DsPagination/chunks/DsPagination-hw_-VMRK.js +0 -93
- package/dist/components/DsPagination/index.js +0 -3
- package/dist/components/DsProgressBar/chunks/DsProgressBar-CgIQj39W.js +0 -29
- package/dist/components/DsProgressBar/index.js +0 -3
- package/dist/components/DsPromptDialog/chunks/DsPromptDialog-_8v3Puaj.js +0 -158
- package/dist/components/DsPromptDialog/index.js +0 -3
- package/dist/components/DsRadio/chunks/DsRadio-DKbrUFUZ.js +0 -147
- package/dist/components/DsRadio/index.js +0 -3
- package/dist/components/DsRadioGroup/chunks/DsRadioGroup-BQo7Nc5-.js +0 -66
- package/dist/components/DsRadioGroup/index.js +0 -3
- package/dist/components/DsSegmented/chunks/DsSegmented-SbqzdCNX.js +0 -250
- package/dist/components/DsSegmented/index.js +0 -3
- package/dist/components/DsSelect/chunks/DsSelect-DN-vZIEG.js +0 -314
- package/dist/components/DsSelect/index.js +0 -3
- package/dist/components/DsSidebar/chunks/DsSidebar-DdofI1lo.js +0 -29
- package/dist/components/DsSidebar/index.js +0 -3
- package/dist/components/DsSkeleton/chunks/DsSkeleton-DJSQ4gGR.js +0 -25
- package/dist/components/DsSkeleton/index.js +0 -3
- package/dist/components/DsSwitch/chunks/DsSwitch-Dh4_bd6e.js +0 -64
- package/dist/components/DsSwitch/index.js +0 -3
- package/dist/components/DsTable/chunks/DsTable-C27_FR_h.js +0 -44
- package/dist/components/DsTable/index.js +0 -3
- package/dist/components/DsTabs/chunks/DsTabs-FLWaGtbo.js +0 -98
- package/dist/components/DsTabs/index.js +0 -3
- package/dist/components/DsTextarea/chunks/DsTextarea-D61wwTwK.js +0 -57
- package/dist/components/DsTextarea/index.js +0 -3
- package/dist/components/DsToaster/chunks/DsToaster-Bzepxxi_.js +0 -115
- package/dist/components/DsToaster/index.js +0 -3
- package/dist/components/DsTooltip/chunks/DsTooltip-BNkQOtpm.js +0 -37
- package/dist/components/DsTooltip/index.js +0 -3
- package/dist/components/DsTree/chunks/DsTree-DK0aOkKS.js +0 -614
- package/dist/components/DsTree/index.js +0 -3
- package/dist/components/DsTreeSelect/chunks/DsTreeSelect-BnG-oplE.js +0 -353
- package/dist/components/DsTreeSelect/index.js +0 -3
- package/dist/types/src/components/DsAlert/DsAlert.vue.d.ts +0 -70
- package/dist/types/src/components/DsAlert/config.d.ts +0 -1
- package/dist/types/src/components/DsAlert/index.d.ts +0 -4
- package/dist/types/src/components/DsAvatar/DsAvatar.vue.d.ts +0 -53
- package/dist/types/src/components/DsAvatar/config.d.ts +0 -1
- package/dist/types/src/components/DsAvatar/dsAvatarStyles.d.ts +0 -3
- package/dist/types/src/components/DsAvatar/index.d.ts +0 -5
- package/dist/types/src/components/DsAvatar/safelist.d.ts +0 -4
- package/dist/types/src/components/DsBadge/DsBadge.vue.d.ts +0 -54
- package/dist/types/src/components/DsBadge/config.d.ts +0 -1
- package/dist/types/src/components/DsBadge/dsBadgeStyles.d.ts +0 -13
- package/dist/types/src/components/DsBadge/index.d.ts +0 -5
- package/dist/types/src/components/DsBadge/safelist.d.ts +0 -1
- package/dist/types/src/components/DsBadgeWrap/config.d.ts +0 -1
- package/dist/types/src/components/DsBadgeWrap/index.d.ts +0 -3
- package/dist/types/src/components/DsBottomNav/DsBottomNav.vue.d.ts +0 -23
- package/dist/types/src/components/DsBottomNav/config.d.ts +0 -1
- package/dist/types/src/components/DsBottomNav/index.d.ts +0 -4
- package/dist/types/src/components/DsButton/DsButton.vue.d.ts +0 -70
- package/dist/types/src/components/DsButton/config.d.ts +0 -1
- package/dist/types/src/components/DsButton/config.node.d.ts +0 -1
- package/dist/types/src/components/DsButton/dsButtonStyles.d.ts +0 -30
- package/dist/types/src/components/DsButton/index.d.ts +0 -6
- package/dist/types/src/components/DsButton/safelist.d.ts +0 -7
- package/dist/types/src/components/DsButtonGroup/config.d.ts +0 -1
- package/dist/types/src/components/DsButtonGroup/index.d.ts +0 -3
- package/dist/types/src/components/DsCard/config.d.ts +0 -1
- package/dist/types/src/components/DsCard/index.d.ts +0 -3
- package/dist/types/src/components/DsCheckbox/DsCheckbox.vue.d.ts +0 -69
- package/dist/types/src/components/DsCheckbox/config.d.ts +0 -1
- package/dist/types/src/components/DsCheckbox/index.d.ts +0 -4
- package/dist/types/src/components/DsCollapse/DsCollapse.vue.d.ts +0 -67
- package/dist/types/src/components/DsCollapse/DsCollapseItem.vue.d.ts +0 -58
- package/dist/types/src/components/DsCollapse/config.d.ts +0 -1
- package/dist/types/src/components/DsCollapse/dsCollapseContext.d.ts +0 -10
- package/dist/types/src/components/DsCollapse/index.d.ts +0 -6
- package/dist/types/src/components/DsConfirmDialog/DsConfirmDialog.vue.d.ts +0 -114
- package/dist/types/src/components/DsConfirmDialog/config.d.ts +0 -1
- package/dist/types/src/components/DsConfirmDialog/index.d.ts +0 -4
- package/dist/types/src/components/DsDataTable/DsDataTable.vue.d.ts +0 -51
- package/dist/types/src/components/DsDataTable/config.d.ts +0 -1
- package/dist/types/src/components/DsDataTable/index.d.ts +0 -4
- package/dist/types/src/components/DsDialog/DsDialog.vue.d.ts +0 -86
- package/dist/types/src/components/DsDialog/DsDialogFooter.vue.d.ts +0 -41
- package/dist/types/src/components/DsDialog/DsDialogHeader.vue.d.ts +0 -59
- package/dist/types/src/components/DsDialog/config.d.ts +0 -1
- package/dist/types/src/components/DsDialog/dialogShared.d.ts +0 -15
- package/dist/types/src/components/DsDialog/index.d.ts +0 -7
- package/dist/types/src/components/DsDialog/safelist.d.ts +0 -1
- package/dist/types/src/components/DsDrawer/DsDrawer.vue.d.ts +0 -77
- package/dist/types/src/components/DsDrawer/config.d.ts +0 -1
- package/dist/types/src/components/DsDrawer/dsDrawerStyles.d.ts +0 -10
- package/dist/types/src/components/DsDrawer/index.d.ts +0 -6
- package/dist/types/src/components/DsDrawer/safelist.d.ts +0 -1
- package/dist/types/src/components/DsDropdown/DsDropdown.vue.d.ts +0 -72
- package/dist/types/src/components/DsDropdown/config.d.ts +0 -1
- package/dist/types/src/components/DsDropdown/dsDropdownStyles.d.ts +0 -7
- package/dist/types/src/components/DsDropdown/index.d.ts +0 -6
- package/dist/types/src/components/DsDropdown/safelist.d.ts +0 -1
- package/dist/types/src/components/DsDropdownMenu/DsDropdownMenu.vue.d.ts +0 -86
- package/dist/types/src/components/DsDropdownMenu/DsDropdownMenuColumn.vue.d.ts +0 -41
- package/dist/types/src/components/DsDropdownMenu/DsDropdownMenuColumns.vue.d.ts +0 -40
- package/dist/types/src/components/DsDropdownMenu/DsDropdownMenuDivider.vue.d.ts +0 -30
- package/dist/types/src/components/DsDropdownMenu/DsDropdownMenuGroup.vue.d.ts +0 -53
- package/dist/types/src/components/DsDropdownMenu/DsDropdownMenuHeader.vue.d.ts +0 -49
- package/dist/types/src/components/DsDropdownMenu/DsDropdownMenuItem.vue.d.ts +0 -55
- package/dist/types/src/components/DsDropdownMenu/DsDropdownMenuList.vue.d.ts +0 -48
- package/dist/types/src/components/DsDropdownMenu/config.d.ts +0 -1
- package/dist/types/src/components/DsDropdownMenu/index.d.ts +0 -18
- package/dist/types/src/components/DsEmptyState/DsEmptyState.vue.d.ts +0 -50
- package/dist/types/src/components/DsEmptyState/config.d.ts +0 -1
- package/dist/types/src/components/DsEmptyState/index.d.ts +0 -4
- package/dist/types/src/components/DsFileUpload/DsFileUpload.vue.d.ts +0 -149
- package/dist/types/src/components/DsFileUpload/config.d.ts +0 -1
- package/dist/types/src/components/DsFileUpload/index.d.ts +0 -5
- package/dist/types/src/components/DsFormField/config.d.ts +0 -1
- package/dist/types/src/components/DsFormField/index.d.ts +0 -3
- package/dist/types/src/components/DsFormFile/DsFormFile.vue.d.ts +0 -108
- package/dist/types/src/components/DsFormFile/config.d.ts +0 -1
- package/dist/types/src/components/DsFormFile/index.d.ts +0 -4
- package/dist/types/src/components/DsFormSection/DsFormSection.vue.d.ts +0 -47
- package/dist/types/src/components/DsFormSection/config.d.ts +0 -1
- package/dist/types/src/components/DsFormSection/index.d.ts +0 -4
- package/dist/types/src/components/DsIcon/DsIcon.vue.d.ts +0 -25
- package/dist/types/src/components/DsIcon/config.d.ts +0 -1
- package/dist/types/src/components/DsIcon/index.d.ts +0 -3
- package/dist/types/src/components/DsImageViewer/DsImageViewer.vue.d.ts +0 -166
- package/dist/types/src/components/DsImageViewer/config.d.ts +0 -1
- package/dist/types/src/components/DsImageViewer/index.d.ts +0 -3
- package/dist/types/src/components/DsInput/DsInput.vue.d.ts +0 -109
- package/dist/types/src/components/DsInput/config.d.ts +0 -1
- package/dist/types/src/components/DsInput/index.d.ts +0 -5
- package/dist/types/src/components/DsInput/safelist.d.ts +0 -1
- package/dist/types/src/components/DsInputTag/DsInputTag.vue.d.ts +0 -133
- package/dist/types/src/components/DsInputTag/config.d.ts +0 -1
- package/dist/types/src/components/DsInputTag/dsInputTagStyles.d.ts +0 -13
- package/dist/types/src/components/DsInputTag/index.d.ts +0 -6
- package/dist/types/src/components/DsInputTag/safelist.d.ts +0 -1
- package/dist/types/src/components/DsLink/DsLink.vue.d.ts +0 -75
- package/dist/types/src/components/DsLink/config.d.ts +0 -1
- package/dist/types/src/components/DsLink/dsLinkStyles.d.ts +0 -15
- package/dist/types/src/components/DsLink/index.d.ts +0 -5
- package/dist/types/src/components/DsLink/safelist.d.ts +0 -1
- package/dist/types/src/components/DsList/DsList.vue.d.ts +0 -43
- package/dist/types/src/components/DsList/DsListItem.vue.d.ts +0 -58
- package/dist/types/src/components/DsList/config.d.ts +0 -1
- package/dist/types/src/components/DsList/index.d.ts +0 -6
- package/dist/types/src/components/DsLoading/DsLoading.vue.d.ts +0 -72
- package/dist/types/src/components/DsLoading/config.d.ts +0 -1
- package/dist/types/src/components/DsLoading/dsLoadingStyles.d.ts +0 -11
- package/dist/types/src/components/DsLoading/index.d.ts +0 -5
- package/dist/types/src/components/DsLoading/safelist.d.ts +0 -1
- package/dist/types/src/components/DsModal/DsModal.vue.d.ts +0 -58
- package/dist/types/src/components/DsModal/config.d.ts +0 -1
- package/dist/types/src/components/DsModal/dsModalStyles.d.ts +0 -26
- package/dist/types/src/components/DsModal/index.d.ts +0 -7
- package/dist/types/src/components/DsModal/safelist.d.ts +0 -15
- package/dist/types/src/components/DsNavbar/DsNavbar.vue.d.ts +0 -60
- package/dist/types/src/components/DsNavbar/config.d.ts +0 -1
- package/dist/types/src/components/DsNavbar/index.d.ts +0 -4
- package/dist/types/src/components/DsNumberInput/DsNumberInput.vue.d.ts +0 -147
- package/dist/types/src/components/DsNumberInput/config.d.ts +0 -1
- package/dist/types/src/components/DsNumberInput/dsNumberInputStyles.d.ts +0 -19
- package/dist/types/src/components/DsNumberInput/index.d.ts +0 -6
- package/dist/types/src/components/DsNumberInput/safelist.d.ts +0 -1
- package/dist/types/src/components/DsPagination/DsPagination.vue.d.ts +0 -45
- package/dist/types/src/components/DsPagination/config.d.ts +0 -1
- package/dist/types/src/components/DsPagination/index.d.ts +0 -3
- package/dist/types/src/components/DsProgressBar/DsProgressBar.vue.d.ts +0 -43
- package/dist/types/src/components/DsProgressBar/config.d.ts +0 -1
- package/dist/types/src/components/DsProgressBar/config.node.d.ts +0 -1
- package/dist/types/src/components/DsProgressBar/dsStyle.d.ts +0 -2
- package/dist/types/src/components/DsProgressBar/index.d.ts +0 -5
- package/dist/types/src/components/DsProgressBar/safelist.d.ts +0 -4
- package/dist/types/src/components/DsPromptDialog/DsPromptDialog.vue.d.ts +0 -134
- package/dist/types/src/components/DsPromptDialog/config.d.ts +0 -1
- package/dist/types/src/components/DsPromptDialog/index.d.ts +0 -4
- package/dist/types/src/components/DsRadio/DsRadio.vue.d.ts +0 -106
- package/dist/types/src/components/DsRadio/config.d.ts +0 -1
- package/dist/types/src/components/DsRadio/dsRadioGroupContext.d.ts +0 -10
- package/dist/types/src/components/DsRadio/dsRadioStyles.d.ts +0 -23
- package/dist/types/src/components/DsRadio/index.d.ts +0 -7
- package/dist/types/src/components/DsRadio/safelist.d.ts +0 -1
- package/dist/types/src/components/DsRadioGroup/DsRadioGroup.vue.d.ts +0 -79
- package/dist/types/src/components/DsRadioGroup/config.d.ts +0 -1
- package/dist/types/src/components/DsRadioGroup/index.d.ts +0 -4
- package/dist/types/src/components/DsSegmented/DsSegmented.vue.d.ts +0 -83
- package/dist/types/src/components/DsSegmented/config.d.ts +0 -1
- package/dist/types/src/components/DsSegmented/dsSegmentedStyles.d.ts +0 -41
- package/dist/types/src/components/DsSegmented/index.d.ts +0 -6
- package/dist/types/src/components/DsSegmented/safelist.d.ts +0 -17
- package/dist/types/src/components/DsSelect/DsSelect.vue.d.ts +0 -140
- package/dist/types/src/components/DsSelect/config.d.ts +0 -1
- package/dist/types/src/components/DsSelect/dsSelectStyles.d.ts +0 -39
- package/dist/types/src/components/DsSelect/index.d.ts +0 -5
- package/dist/types/src/components/DsSelect/safelist.d.ts +0 -1
- package/dist/types/src/components/DsSidebar/DsSidebar.vue.d.ts +0 -54
- package/dist/types/src/components/DsSidebar/config.d.ts +0 -1
- package/dist/types/src/components/DsSidebar/index.d.ts +0 -3
- package/dist/types/src/components/DsSkeleton/DsSkeleton.vue.d.ts +0 -44
- package/dist/types/src/components/DsSkeleton/config.d.ts +0 -1
- package/dist/types/src/components/DsSkeleton/index.d.ts +0 -3
- package/dist/types/src/components/DsSwitch/DsSwitch.vue.d.ts +0 -68
- package/dist/types/src/components/DsSwitch/config.d.ts +0 -1
- package/dist/types/src/components/DsSwitch/dsSwitchStyles.d.ts +0 -19
- package/dist/types/src/components/DsSwitch/index.d.ts +0 -5
- package/dist/types/src/components/DsSwitch/safelist.d.ts +0 -10
- package/dist/types/src/components/DsTable/DsTable.vue.d.ts +0 -78
- package/dist/types/src/components/DsTable/config.d.ts +0 -1
- package/dist/types/src/components/DsTable/index.d.ts +0 -4
- package/dist/types/src/components/DsTabs/DsTabs.vue.d.ts +0 -25
- package/dist/types/src/components/DsTabs/config.d.ts +0 -1
- package/dist/types/src/components/DsTabs/index.d.ts +0 -4
- package/dist/types/src/components/DsTextarea/DsTextarea.vue.d.ts +0 -80
- package/dist/types/src/components/DsTextarea/config.d.ts +0 -1
- package/dist/types/src/components/DsTextarea/dsTextareaStyles.d.ts +0 -6
- package/dist/types/src/components/DsTextarea/index.d.ts +0 -6
- package/dist/types/src/components/DsTextarea/safelist.d.ts +0 -1
- package/dist/types/src/components/DsToaster/DsToaster.vue.d.ts +0 -43
- package/dist/types/src/components/DsToaster/config.d.ts +0 -1
- package/dist/types/src/components/DsToaster/dsToasterStyles.d.ts +0 -2
- package/dist/types/src/components/DsToaster/index.d.ts +0 -6
- package/dist/types/src/components/DsToaster/safelist.d.ts +0 -1
- package/dist/types/src/components/DsTooltip/DsTooltip.vue.d.ts +0 -42
- package/dist/types/src/components/DsTooltip/config.d.ts +0 -1
- package/dist/types/src/components/DsTooltip/index.d.ts +0 -4
- package/dist/types/src/components/DsTree/DsTree.vue.d.ts +0 -35
- package/dist/types/src/components/DsTree/config.d.ts +0 -1
- package/dist/types/src/components/DsTree/dsTreeDataAdapter.d.ts +0 -14
- package/dist/types/src/components/DsTree/dsTreeInteractionContext.d.ts +0 -31
- package/dist/types/src/components/DsTree/dsTreeProps.d.ts +0 -63
- package/dist/types/src/components/DsTree/dsTreeStore.d.ts +0 -45
- package/dist/types/src/components/DsTree/dsTreeTypes.d.ts +0 -24
- package/dist/types/src/components/DsTree/index.d.ts +0 -6
- package/dist/types/src/components/DsTree/safelist.d.ts +0 -1
- package/dist/types/src/components/DsTreeSelect/DsTreeSelect.vue.d.ts +0 -48
- package/dist/types/src/components/DsTreeSelect/config.d.ts +0 -1
- package/dist/types/src/components/DsTreeSelect/dsTreeSelectStyles.d.ts +0 -10
- package/dist/types/src/components/DsTreeSelect/dsTreeSelectTypes.d.ts +0 -33
- package/dist/types/src/components/DsTreeSelect/index.d.ts +0 -5
- package/dist/types/src/components/DsTreeSelect/safelist.d.ts +0 -1
- package/dist/types/src/i18n/messages.d.ts +0 -280
- /package/dist/{DsButtonGroup.css → GrButtonGroup.css} +0 -0
- /package/dist/{DsIcon.css → GrIcon.css} +0 -0
- /package/dist/{DsLoading.css → GrLoading.css} +0 -0
- /package/dist/{DsSkeleton.css → GrSkeleton.css} +0 -0
- /package/dist/types/src/components/{DsBadgeWrap/DsBadgeWrap.vue.d.ts → GrBadgeWrap/GrBadgeWrap.vue.d.ts} +0 -0
- /package/dist/types/src/components/{DsButtonGroup/DsButtonGroup.vue.d.ts → GrButtonGroup/GrButtonGroup.vue.d.ts} +0 -0
- /package/dist/types/src/components/{DsCard/DsCard.vue.d.ts → GrCard/GrCard.vue.d.ts} +0 -0
- /package/dist/types/src/components/{DsDialog/DsDialogCloseButton.vue.d.ts → GrDialog/GrDialogCloseButton.vue.d.ts} +0 -0
- /package/dist/types/src/components/{DsFileUpload → GrFileUpload}/FileValidationError.d.ts +0 -0
- /package/dist/types/src/components/{DsFileUpload → GrFileUpload}/acceptValidator.d.ts +0 -0
- /package/dist/types/src/components/{DsFileUpload → GrFileUpload}/matchAccept.d.ts +0 -0
- /package/dist/types/src/components/{DsFileUpload → GrFileUpload}/maxSizeMbValidator.d.ts +0 -0
- /package/dist/types/src/components/{DsFileUpload → GrFileUpload}/runFileValidators.d.ts +0 -0
- /package/dist/types/src/components/{DsFileUpload → GrFileUpload}/types.d.ts +0 -0
- /package/dist/types/src/components/{DsFormField/DsFormField.vue.d.ts → GrFormField/GrFormField.vue.d.ts} +0 -0
- /package/dist/types/src/components/{DsInput/dsInputStyles.d.ts → GrInput/grInputStyles.d.ts} +0 -0
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
import { a as vClickOutside } from "../../../chunks/directives-Cuib0yOO.js";
|
|
2
|
+
import { t as GrInput_default } from "../../GrInput/chunks/GrInput-DLLRrH1A.js";
|
|
3
|
+
import { a as linkBaseClass, i as grSelectTriggerClass, n as grSelectNativeClass, r as grSelectPanelClasses, t as defaultBaseClass } from "../../../chunks/grSelectStyles-C1zNEkV7.js";
|
|
4
|
+
import { Fragment, Teleport, Transition, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, nextTick, normalizeClass, normalizeStyle, onUnmounted, openBlock, ref, renderList, renderSlot, toDisplayString, unref, vShow, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
|
|
5
|
+
//#region src/components/GrSelect/GrSelect.vue?vue&type=script&setup=true&lang.ts
|
|
6
|
+
var _hoisted_1 = [
|
|
7
|
+
"value",
|
|
8
|
+
"multiple",
|
|
9
|
+
"disabled",
|
|
10
|
+
"aria-label"
|
|
11
|
+
];
|
|
12
|
+
var _hoisted_2 = {
|
|
13
|
+
key: 0,
|
|
14
|
+
value: ""
|
|
15
|
+
};
|
|
16
|
+
var _hoisted_3 = ["value"];
|
|
17
|
+
var _hoisted_4 = ["value"];
|
|
18
|
+
var _hoisted_5 = {
|
|
19
|
+
key: 0,
|
|
20
|
+
"data-testid": "ds-select-chevron",
|
|
21
|
+
class: "absolute top-1/2 -translate-y-1/2 right-3 text-[var(--muted-fg)] pointer-events-none"
|
|
22
|
+
};
|
|
23
|
+
var _hoisted_6 = [
|
|
24
|
+
"disabled",
|
|
25
|
+
"aria-label",
|
|
26
|
+
"aria-expanded"
|
|
27
|
+
];
|
|
28
|
+
var _hoisted_7 = { class: "min-w-0 flex-1" };
|
|
29
|
+
var _hoisted_8 = {
|
|
30
|
+
key: 0,
|
|
31
|
+
class: "shrink-0 h-4 w-4",
|
|
32
|
+
"aria-hidden": "true"
|
|
33
|
+
};
|
|
34
|
+
var _hoisted_9 = {
|
|
35
|
+
key: 1,
|
|
36
|
+
"data-testid": "ds-select-chevron",
|
|
37
|
+
class: "shrink-0 text-[var(--muted-fg)] pointer-events-none"
|
|
38
|
+
};
|
|
39
|
+
var _hoisted_10 = ["disabled", "aria-label"];
|
|
40
|
+
var _hoisted_11 = {
|
|
41
|
+
key: 0,
|
|
42
|
+
class: "p-2 border-b border-[var(--brd)]"
|
|
43
|
+
};
|
|
44
|
+
var _hoisted_12 = ["aria-multiselectable"];
|
|
45
|
+
var _hoisted_13 = ["aria-selected", "onClick"];
|
|
46
|
+
var _hoisted_14 = { class: "flex items-center gap-2 min-w-0" };
|
|
47
|
+
var _hoisted_15 = { class: "truncate" };
|
|
48
|
+
//#endregion
|
|
49
|
+
//#region src/components/GrSelect/GrSelect.vue
|
|
50
|
+
var GrSelect_default = /* @__PURE__ */ defineComponent({
|
|
51
|
+
__name: "GrSelect",
|
|
52
|
+
props: {
|
|
53
|
+
modelValue: {},
|
|
54
|
+
options: { default: void 0 },
|
|
55
|
+
disabled: {
|
|
56
|
+
type: Boolean,
|
|
57
|
+
default: false
|
|
58
|
+
},
|
|
59
|
+
ariaLabel: { default: void 0 },
|
|
60
|
+
view: { default: "default" },
|
|
61
|
+
size: { default: "md" },
|
|
62
|
+
placeholder: { default: void 0 },
|
|
63
|
+
multiple: {
|
|
64
|
+
type: Boolean,
|
|
65
|
+
default: false
|
|
66
|
+
},
|
|
67
|
+
optionsView: { default: "native" },
|
|
68
|
+
allowCustomValue: {
|
|
69
|
+
type: Boolean,
|
|
70
|
+
default: false
|
|
71
|
+
},
|
|
72
|
+
customValuePlaceholder: { default: "Add value…" },
|
|
73
|
+
dropdownMaxHeight: { default: 280 },
|
|
74
|
+
closeOnSelect: {
|
|
75
|
+
type: Boolean,
|
|
76
|
+
default: true
|
|
77
|
+
},
|
|
78
|
+
clearable: {
|
|
79
|
+
type: Boolean,
|
|
80
|
+
default: false
|
|
81
|
+
},
|
|
82
|
+
clearLabel: { default: "Clear" },
|
|
83
|
+
variant: { default: "primary" },
|
|
84
|
+
underline: { default: "auto" }
|
|
85
|
+
},
|
|
86
|
+
emits: ["update:modelValue"],
|
|
87
|
+
setup(__props, { emit: __emit }) {
|
|
88
|
+
const props = __props;
|
|
89
|
+
const baseClassName = computed(() => props.view === "link" ? linkBaseClass : defaultBaseClass);
|
|
90
|
+
const rootClass = computed(() => props.view === "link" ? "relative inline-block align-baseline" : "relative w-full");
|
|
91
|
+
const emit = __emit;
|
|
92
|
+
const optionsResolved = computed(() => props.options ?? []);
|
|
93
|
+
function modelToArray(value) {
|
|
94
|
+
if (Array.isArray(value)) return value;
|
|
95
|
+
if (!value) return [];
|
|
96
|
+
return [value];
|
|
97
|
+
}
|
|
98
|
+
const modelSingle = computed(() => {
|
|
99
|
+
return Array.isArray(props.modelValue) ? props.modelValue[0] ?? "" : props.modelValue;
|
|
100
|
+
});
|
|
101
|
+
const modelMultiple = computed(() => modelToArray(props.modelValue));
|
|
102
|
+
const selectedValues = computed(() => {
|
|
103
|
+
return props.multiple ? modelMultiple.value : modelSingle.value ? [modelSingle.value] : [];
|
|
104
|
+
});
|
|
105
|
+
const hasSelection = computed(() => selectedValues.value.length > 0);
|
|
106
|
+
const selectedOptions = computed(() => {
|
|
107
|
+
const byValue = new Map(optionsResolved.value.map((o) => [o.value, o]));
|
|
108
|
+
return selectedValues.value.map((v) => byValue.get(v) ?? {
|
|
109
|
+
value: v,
|
|
110
|
+
label: v
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
const hasModelInOptions = computed(() => {
|
|
114
|
+
if (props.multiple) return false;
|
|
115
|
+
return optionsResolved.value.some((o) => o.value === modelSingle.value);
|
|
116
|
+
});
|
|
117
|
+
const displayLabel = computed(() => {
|
|
118
|
+
if (props.multiple) {
|
|
119
|
+
if (!selectedValues.value.length) return "";
|
|
120
|
+
return selectedValues.value.map((v) => optionsResolved.value.find((o) => o.value === v)?.label ?? v).join(", ");
|
|
121
|
+
}
|
|
122
|
+
return optionsResolved.value.find((o) => o.value === modelSingle.value)?.label ?? modelSingle.value;
|
|
123
|
+
});
|
|
124
|
+
const displayText = computed(() => {
|
|
125
|
+
if (hasSelection.value) return displayLabel.value;
|
|
126
|
+
return props.placeholder ?? "";
|
|
127
|
+
});
|
|
128
|
+
const nativeCustomOptionVisible = computed(() => {
|
|
129
|
+
if (!props.allowCustomValue) return false;
|
|
130
|
+
if (props.optionsView !== "native") return false;
|
|
131
|
+
if (props.multiple) return false;
|
|
132
|
+
if (!props.options) return false;
|
|
133
|
+
if (modelSingle.value === "") return false;
|
|
134
|
+
return !hasModelInOptions.value;
|
|
135
|
+
});
|
|
136
|
+
const customValue = ref("");
|
|
137
|
+
const open = ref(false);
|
|
138
|
+
const rootEl = ref(null);
|
|
139
|
+
const panelEl = ref(null);
|
|
140
|
+
const customInputRef = ref(null);
|
|
141
|
+
const clickOutsideExclude = [() => panelEl.value];
|
|
142
|
+
const panelStyle = ref({
|
|
143
|
+
left: "0px",
|
|
144
|
+
top: "0px",
|
|
145
|
+
width: "0px",
|
|
146
|
+
zIndex: "2147483647"
|
|
147
|
+
});
|
|
148
|
+
function syncPanelPosition() {
|
|
149
|
+
if (typeof window === "undefined") return;
|
|
150
|
+
const root = rootEl.value;
|
|
151
|
+
if (!root) return;
|
|
152
|
+
const rect = root.getBoundingClientRect();
|
|
153
|
+
panelStyle.value = {
|
|
154
|
+
left: `${rect.left}px`,
|
|
155
|
+
top: `${rect.bottom + 8}px`,
|
|
156
|
+
width: `${rect.width}px`,
|
|
157
|
+
zIndex: "2147483647"
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
function bindPanelPositionListeners() {
|
|
161
|
+
if (typeof window === "undefined") return;
|
|
162
|
+
window.addEventListener("resize", syncPanelPosition);
|
|
163
|
+
window.addEventListener("scroll", syncPanelPosition, true);
|
|
164
|
+
}
|
|
165
|
+
function unbindPanelPositionListeners() {
|
|
166
|
+
if (typeof window === "undefined") return;
|
|
167
|
+
window.removeEventListener("resize", syncPanelPosition);
|
|
168
|
+
window.removeEventListener("scroll", syncPanelPosition, true);
|
|
169
|
+
}
|
|
170
|
+
function closeDropdown() {
|
|
171
|
+
open.value = false;
|
|
172
|
+
}
|
|
173
|
+
function toggleDropdown() {
|
|
174
|
+
if (props.disabled) return;
|
|
175
|
+
open.value = !open.value;
|
|
176
|
+
}
|
|
177
|
+
function closeOnEscape(e) {
|
|
178
|
+
if (e.key === "Escape") closeDropdown();
|
|
179
|
+
}
|
|
180
|
+
watch(open, async (isOpen) => {
|
|
181
|
+
if (typeof document === "undefined") return;
|
|
182
|
+
document.removeEventListener("keydown", closeOnEscape);
|
|
183
|
+
unbindPanelPositionListeners();
|
|
184
|
+
if (isOpen) document.addEventListener("keydown", closeOnEscape);
|
|
185
|
+
if (!isOpen) {
|
|
186
|
+
customValue.value = "";
|
|
187
|
+
return;
|
|
188
|
+
}
|
|
189
|
+
bindPanelPositionListeners();
|
|
190
|
+
await nextTick();
|
|
191
|
+
syncPanelPosition();
|
|
192
|
+
if (props.allowCustomValue) customInputRef.value?.focus();
|
|
193
|
+
}, { immediate: true });
|
|
194
|
+
onUnmounted(() => {
|
|
195
|
+
if (typeof document === "undefined") return;
|
|
196
|
+
document.removeEventListener("keydown", closeOnEscape);
|
|
197
|
+
unbindPanelPositionListeners();
|
|
198
|
+
});
|
|
199
|
+
const panelClasses = computed(() => {
|
|
200
|
+
return grSelectPanelClasses;
|
|
201
|
+
});
|
|
202
|
+
const visibleOptions = computed(() => {
|
|
203
|
+
const base = optionsResolved.value;
|
|
204
|
+
const withCustom = (() => {
|
|
205
|
+
if (!props.allowCustomValue) return base;
|
|
206
|
+
if (props.multiple) return base;
|
|
207
|
+
if (modelSingle.value === "") return base;
|
|
208
|
+
if (hasModelInOptions.value) return base;
|
|
209
|
+
return [{
|
|
210
|
+
value: modelSingle.value,
|
|
211
|
+
label: modelSingle.value
|
|
212
|
+
}, ...base];
|
|
213
|
+
})();
|
|
214
|
+
if (!props.allowCustomValue) return withCustom;
|
|
215
|
+
const q = customValue.value.trim().toLowerCase();
|
|
216
|
+
if (!q) return withCustom;
|
|
217
|
+
return withCustom.filter((o) => {
|
|
218
|
+
return o.label.toLowerCase().includes(q) || o.value.toLowerCase().includes(q);
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
const canAddCustom = computed(() => {
|
|
222
|
+
if (!props.allowCustomValue) return false;
|
|
223
|
+
if (props.optionsView !== "panel") return false;
|
|
224
|
+
const v = customValue.value.trim();
|
|
225
|
+
if (!v) return false;
|
|
226
|
+
if (props.multiple) {
|
|
227
|
+
if (selectedValues.value.includes(v)) return false;
|
|
228
|
+
return !optionsResolved.value.some((o) => o.value === v);
|
|
229
|
+
}
|
|
230
|
+
if (v === modelSingle.value) return false;
|
|
231
|
+
return !optionsResolved.value.some((o) => o.value === v);
|
|
232
|
+
});
|
|
233
|
+
function emitValue(value) {
|
|
234
|
+
emit("update:modelValue", value);
|
|
235
|
+
}
|
|
236
|
+
function isSelected(value) {
|
|
237
|
+
return selectedValues.value.includes(value);
|
|
238
|
+
}
|
|
239
|
+
function selectValue(value) {
|
|
240
|
+
emitValue(value);
|
|
241
|
+
if (props.closeOnSelect) closeDropdown();
|
|
242
|
+
}
|
|
243
|
+
function toggleValue(value) {
|
|
244
|
+
if (!props.multiple) {
|
|
245
|
+
selectValue(value);
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
const next = selectedValues.value.slice();
|
|
249
|
+
const idx = next.indexOf(value);
|
|
250
|
+
if (idx >= 0) next.splice(idx, 1);
|
|
251
|
+
else next.push(value);
|
|
252
|
+
emitValue(next);
|
|
253
|
+
if (props.closeOnSelect) closeDropdown();
|
|
254
|
+
}
|
|
255
|
+
function addCustom() {
|
|
256
|
+
const v = customValue.value.trim();
|
|
257
|
+
if (!v) return;
|
|
258
|
+
toggleValue(v);
|
|
259
|
+
}
|
|
260
|
+
const showNativeChevron = computed(() => {
|
|
261
|
+
return props.optionsView === "native" && props.view !== "link" && !props.multiple;
|
|
262
|
+
});
|
|
263
|
+
const nativeClearOptionVisible = computed(() => {
|
|
264
|
+
if (!props.clearable) return false;
|
|
265
|
+
if (props.optionsView !== "native") return false;
|
|
266
|
+
if (props.multiple) return false;
|
|
267
|
+
if (!props.options) return true;
|
|
268
|
+
return !props.options.some((o) => o.value === "");
|
|
269
|
+
});
|
|
270
|
+
const panelClearVisible = computed(() => {
|
|
271
|
+
if (!props.clearable) return false;
|
|
272
|
+
if (props.optionsView !== "panel") return false;
|
|
273
|
+
if (props.view === "link") return false;
|
|
274
|
+
return hasSelection.value;
|
|
275
|
+
});
|
|
276
|
+
const nativeClassName = computed(() => {
|
|
277
|
+
return grSelectNativeClass({
|
|
278
|
+
view: props.view,
|
|
279
|
+
size: props.size,
|
|
280
|
+
disabled: props.disabled,
|
|
281
|
+
variant: props.variant,
|
|
282
|
+
underline: props.underline,
|
|
283
|
+
showNativeChevron: showNativeChevron.value
|
|
284
|
+
});
|
|
285
|
+
});
|
|
286
|
+
const triggerClassName = computed(() => {
|
|
287
|
+
return grSelectTriggerClass({
|
|
288
|
+
view: props.view,
|
|
289
|
+
optionsView: props.optionsView,
|
|
290
|
+
size: props.size,
|
|
291
|
+
disabled: props.disabled,
|
|
292
|
+
variant: props.variant,
|
|
293
|
+
underline: props.underline
|
|
294
|
+
});
|
|
295
|
+
});
|
|
296
|
+
function onChange(e) {
|
|
297
|
+
const el = e.target;
|
|
298
|
+
if (props.multiple) {
|
|
299
|
+
emit("update:modelValue", Array.from(el.selectedOptions, (o) => o.value));
|
|
300
|
+
return;
|
|
301
|
+
}
|
|
302
|
+
emit("update:modelValue", el.value);
|
|
303
|
+
}
|
|
304
|
+
function clearSelection() {
|
|
305
|
+
if (props.disabled) return;
|
|
306
|
+
emitValue(props.multiple ? [] : "");
|
|
307
|
+
}
|
|
308
|
+
return (_ctx, _cache) => {
|
|
309
|
+
return __props.optionsView === "native" ? (openBlock(), createElementBlock("div", {
|
|
310
|
+
key: 0,
|
|
311
|
+
"data-ds-select": "",
|
|
312
|
+
class: normalizeClass(rootClass.value)
|
|
313
|
+
}, [createElementVNode("select", {
|
|
314
|
+
"data-ds-select-native": "",
|
|
315
|
+
value: __props.multiple ? modelMultiple.value : modelSingle.value,
|
|
316
|
+
multiple: __props.multiple,
|
|
317
|
+
disabled: __props.disabled,
|
|
318
|
+
"aria-label": __props.ariaLabel,
|
|
319
|
+
class: normalizeClass([baseClassName.value, nativeClassName.value]),
|
|
320
|
+
onChange
|
|
321
|
+
}, [nativeClearOptionVisible.value ? (openBlock(), createElementBlock("option", _hoisted_2)) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default", {}, () => [nativeCustomOptionVisible.value ? (openBlock(), createElementBlock("option", {
|
|
322
|
+
key: 0,
|
|
323
|
+
value: modelSingle.value
|
|
324
|
+
}, toDisplayString(modelSingle.value), 9, _hoisted_3)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (opt) => {
|
|
325
|
+
return openBlock(), createElementBlock("option", {
|
|
326
|
+
key: opt.value,
|
|
327
|
+
value: opt.value
|
|
328
|
+
}, toDisplayString(opt.label), 9, _hoisted_4);
|
|
329
|
+
}), 128))])], 42, _hoisted_1), showNativeChevron.value ? (openBlock(), createElementBlock("span", _hoisted_5, [..._cache[1] || (_cache[1] = [createElementVNode("span", {
|
|
330
|
+
class: "i-lucide-chevron-down h-4 w-4",
|
|
331
|
+
"aria-hidden": "true"
|
|
332
|
+
}, null, -1)])])) : createCommentVNode("", true)], 2)) : withDirectives((openBlock(), createElementBlock("div", {
|
|
333
|
+
key: 1,
|
|
334
|
+
ref_key: "rootEl",
|
|
335
|
+
ref: rootEl,
|
|
336
|
+
"data-ds-select": "",
|
|
337
|
+
class: normalizeClass(rootClass.value)
|
|
338
|
+
}, [
|
|
339
|
+
createElementVNode("button", {
|
|
340
|
+
"data-testid": "ds-select-trigger",
|
|
341
|
+
"data-ds-select-trigger": "",
|
|
342
|
+
type: "button",
|
|
343
|
+
disabled: __props.disabled,
|
|
344
|
+
"aria-label": __props.ariaLabel,
|
|
345
|
+
role: "combobox",
|
|
346
|
+
"aria-readonly": "true",
|
|
347
|
+
"aria-expanded": open.value ? "true" : "false",
|
|
348
|
+
class: normalizeClass([baseClassName.value, triggerClassName.value]),
|
|
349
|
+
onClick: toggleDropdown
|
|
350
|
+
}, [createElementVNode("span", _hoisted_7, [renderSlot(_ctx.$slots, "value", {
|
|
351
|
+
selectedOptions: selectedOptions.value,
|
|
352
|
+
selectedValues: selectedValues.value,
|
|
353
|
+
displayLabel: displayLabel.value,
|
|
354
|
+
placeholder: __props.placeholder,
|
|
355
|
+
hasSelection: hasSelection.value
|
|
356
|
+
}, () => [createElementVNode("span", { class: normalizeClass(["block truncate", !hasSelection.value ? "text-[var(--muted-fg)]" : ""]) }, toDisplayString(displayText.value), 3)])]), panelClearVisible.value ? (openBlock(), createElementBlock("span", _hoisted_8)) : (openBlock(), createElementBlock("span", _hoisted_9, [..._cache[2] || (_cache[2] = [createElementVNode("span", {
|
|
357
|
+
class: "i-lucide-chevron-down h-4 w-4",
|
|
358
|
+
"aria-hidden": "true"
|
|
359
|
+
}, null, -1)])]))], 10, _hoisted_6),
|
|
360
|
+
panelClearVisible.value ? (openBlock(), createElementBlock("button", {
|
|
361
|
+
key: 0,
|
|
362
|
+
"data-testid": "ds-select-clear",
|
|
363
|
+
"data-ds-select-clear": "",
|
|
364
|
+
type: "button",
|
|
365
|
+
class: "absolute top-1/2 -translate-y-1/2 right-3 h-6 w-6 inline-flex items-center justify-center rounded-md text-[var(--muted-fg)] hover:text-[var(--fg)] hover:bg-[color-mix(in_srgb,var(--muted)_25%,transparent)] disabled:opacity-50",
|
|
366
|
+
disabled: __props.disabled,
|
|
367
|
+
"aria-label": __props.clearLabel,
|
|
368
|
+
onClick: withModifiers(clearSelection, ["stop"])
|
|
369
|
+
}, [..._cache[3] || (_cache[3] = [createElementVNode("span", {
|
|
370
|
+
class: "i-lucide-x h-4 w-4",
|
|
371
|
+
"aria-hidden": "true"
|
|
372
|
+
}, null, -1)])], 8, _hoisted_10)) : createCommentVNode("", true),
|
|
373
|
+
(openBlock(), createBlock(Teleport, { to: "body" }, [createVNode(Transition, {
|
|
374
|
+
"enter-active-class": "transition ease-out duration-150",
|
|
375
|
+
"enter-from-class": "transform opacity-0 scale-95",
|
|
376
|
+
"enter-to-class": "transform opacity-100 scale-100",
|
|
377
|
+
"leave-active-class": "transition ease-in duration-100",
|
|
378
|
+
"leave-from-class": "transform opacity-100 scale-100",
|
|
379
|
+
"leave-to-class": "transform opacity-0 scale-95"
|
|
380
|
+
}, {
|
|
381
|
+
default: withCtx(() => [withDirectives(createElementVNode("div", {
|
|
382
|
+
ref_key: "panelEl",
|
|
383
|
+
ref: panelEl,
|
|
384
|
+
"data-testid": "ds-select-panel",
|
|
385
|
+
"data-ds-select-panel": "",
|
|
386
|
+
class: "fixed w-full",
|
|
387
|
+
style: normalizeStyle(panelStyle.value)
|
|
388
|
+
}, [createElementVNode("div", { class: normalizeClass(panelClasses.value) }, [__props.allowCustomValue ? (openBlock(), createElementBlock("div", _hoisted_11, [createVNode(GrInput_default, {
|
|
389
|
+
ref_key: "customInputRef",
|
|
390
|
+
ref: customInputRef,
|
|
391
|
+
modelValue: customValue.value,
|
|
392
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => customValue.value = $event),
|
|
393
|
+
"data-testid": "ds-select-custom-input",
|
|
394
|
+
type: "text",
|
|
395
|
+
placeholder: __props.customValuePlaceholder,
|
|
396
|
+
size: "sm",
|
|
397
|
+
onKeydown: withKeys(withModifiers(addCustom, ["prevent"]), ["enter"])
|
|
398
|
+
}, null, 8, [
|
|
399
|
+
"modelValue",
|
|
400
|
+
"placeholder",
|
|
401
|
+
"onKeydown"
|
|
402
|
+
])])) : createCommentVNode("", true), createElementVNode("div", {
|
|
403
|
+
"data-ds-select-listbox": "",
|
|
404
|
+
class: "p-1 overflow-auto",
|
|
405
|
+
style: normalizeStyle({ maxHeight: `${__props.dropdownMaxHeight}px` }),
|
|
406
|
+
role: "listbox",
|
|
407
|
+
"aria-multiselectable": __props.multiple ? "true" : void 0
|
|
408
|
+
}, [canAddCustom.value ? (openBlock(), createElementBlock("button", {
|
|
409
|
+
key: 0,
|
|
410
|
+
"data-testid": "ds-select-add-option",
|
|
411
|
+
"data-ds-select-add-option": "",
|
|
412
|
+
type: "button",
|
|
413
|
+
class: "w-full rounded-[10px] px-3 py-2 text-left text-[13px] hover:bg-[color-mix(in_srgb,var(--muted)_30%,transparent)]",
|
|
414
|
+
onClick: addCustom
|
|
415
|
+
}, " Add “" + toDisplayString(customValue.value.trim()) + "” ", 1)) : createCommentVNode("", true), (openBlock(true), createElementBlock(Fragment, null, renderList(visibleOptions.value, (opt) => {
|
|
416
|
+
return openBlock(), createElementBlock("button", {
|
|
417
|
+
key: opt.value,
|
|
418
|
+
"data-ds-select-option": "",
|
|
419
|
+
type: "button",
|
|
420
|
+
role: "option",
|
|
421
|
+
"aria-selected": isSelected(opt.value) ? "true" : "false",
|
|
422
|
+
class: "w-full rounded-[10px] px-3 py-2 text-left text-[13px] hover:bg-[color-mix(in_srgb,var(--muted)_30%,transparent)]",
|
|
423
|
+
onClick: ($event) => toggleValue(opt.value)
|
|
424
|
+
}, [renderSlot(_ctx.$slots, "option", {
|
|
425
|
+
option: opt,
|
|
426
|
+
selected: isSelected(opt.value)
|
|
427
|
+
}, () => [createElementVNode("span", _hoisted_14, [createElementVNode("span", {
|
|
428
|
+
class: normalizeClass(["h-4 w-4 shrink-0", isSelected(opt.value) ? "i-lucide-check text-[var(--primary)]" : ""]),
|
|
429
|
+
"aria-hidden": "true"
|
|
430
|
+
}, null, 2), createElementVNode("span", _hoisted_15, toDisplayString(opt.label), 1)])])], 8, _hoisted_13);
|
|
431
|
+
}), 128))], 12, _hoisted_12)], 2)], 4), [[vShow, open.value]])]),
|
|
432
|
+
_: 3
|
|
433
|
+
})]))
|
|
434
|
+
], 2)), [[unref(vClickOutside), {
|
|
435
|
+
handler: closeDropdown,
|
|
436
|
+
enabled: open.value,
|
|
437
|
+
exclude: clickOutsideExclude
|
|
438
|
+
}]]);
|
|
439
|
+
};
|
|
440
|
+
}
|
|
441
|
+
});
|
|
442
|
+
//#endregion
|
|
443
|
+
export { GrSelect_default as t };
|
|
444
|
+
|
|
445
|
+
//# sourceMappingURL=GrSelect-aVqUL-1F.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrSelect-aVqUL-1F.js","names":[],"sources":["../../../../src/components/GrSelect/GrSelect.vue","../../../../src/components/GrSelect/GrSelect.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, nextTick, onUnmounted, ref, watch } from 'vue'\n\nimport GrInput from '../GrInput/GrInput.vue'\nimport { vClickOutside } from '../../directives'\n\nimport {\n defaultBaseClass,\n grSelectNativeClass,\n grSelectPanelClasses,\n grSelectTriggerClass,\n linkBaseClass,\n type GrSelectModelValue,\n type GrSelectOption,\n type GrSelectOptionsView,\n type GrSelectSize,\n type GrSelectUnderline,\n type GrSelectVariant,\n type GrSelectView,\n} from './grSelectStyles'\n\nexport type {\n GrSelectModelValue,\n GrSelectOption,\n GrSelectOptionsView,\n GrSelectSize,\n GrSelectUnderline,\n GrSelectVariant,\n GrSelectView,\n} from './grSelectStyles'\n\n/**\n * Пропсы публичного DS-примитива «Select».\n */\nexport interface GrSelectProps {\n modelValue: GrSelectModelValue\n options?: GrSelectOption[]\n disabled?: boolean\n ariaLabel?: string\n view?: GrSelectView\n size?: GrSelectSize\n /** Placeholder (показывается, когда значение не выбрано). */\n placeholder?: string\n /** Multiple selection. */\n multiple?: boolean\n /** Как отображать список опций: нативный `<select>` или кастомная панель. */\n optionsView?: GrSelectOptionsView\n /** Разрешает ввод/выбор значения, которого нет в `options`. */\n allowCustomValue?: boolean\n /** Placeholder для инпута кастомного значения (только в `optionsView=\"panel\"`). */\n customValuePlaceholder?: string\n /** Максимальная высота панели (только в `optionsView=\"panel\"`). */\n dropdownMaxHeight?: number\n /** Закрывать панель после выбора (только в `optionsView=\"panel\"`). */\n closeOnSelect?: boolean\n /** Разрешает очистку выбранного значения. */\n clearable?: boolean\n /** i18n-label для кнопки очистки (`aria-label`). */\n clearLabel?: string\n /**\n * Цвет/вариант ссылки для `view=\"link\"` (аналогично `GrLink`).\n * В `view=\"default\"` не используется.\n */\n variant?: GrSelectVariant\n /**\n * Подчёркивание для `view=\"link\"` (аналогично `GrLink`).\n * В `view=\"default\"` не используется.\n */\n underline?: GrSelectUnderline\n}\n\nconst props = withDefaults(\n defineProps<GrSelectProps>(),\n {\n options: undefined,\n disabled: false,\n ariaLabel: undefined,\n view: 'default',\n size: 'md',\n\n placeholder: undefined,\n multiple: false,\n\n optionsView: 'native',\n allowCustomValue: false,\n customValuePlaceholder: 'Add value…',\n dropdownMaxHeight: 280,\n closeOnSelect: true,\n clearable: false,\n clearLabel: 'Clear',\n variant: 'primary',\n underline: 'auto',\n },\n)\n\nconst baseClassName = computed(() => props.view === 'link' ? linkBaseClass : defaultBaseClass)\n\nconst rootClass = computed(() => props.view === 'link' ? 'relative inline-block align-baseline' : 'relative w-full')\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: GrSelectModelValue): void\n}>()\n\nconst optionsResolved = computed(() => props.options ?? [])\n\nfunction modelToArray(value: GrSelectModelValue): string[] {\n if (Array.isArray(value)) return value\n if (!value) return []\n return [value]\n}\n\nconst modelSingle = computed(() => {\n return Array.isArray(props.modelValue) ? (props.modelValue[0] ?? '') : props.modelValue\n})\n\nconst modelMultiple = computed(() => modelToArray(props.modelValue))\n\nconst selectedValues = computed(() => {\n return props.multiple ? modelMultiple.value : (modelSingle.value ? [modelSingle.value] : [])\n})\n\nconst hasSelection = computed(() => selectedValues.value.length > 0)\n\nconst selectedOptions = computed<GrSelectOption[]>(() => {\n const byValue = new Map(optionsResolved.value.map(o => [o.value, o]))\n return selectedValues.value.map((v) => byValue.get(v) ?? { value: v, label: v })\n})\n\nconst hasModelInOptions = computed(() => {\n if (props.multiple) return false\n return optionsResolved.value.some((o) => o.value === modelSingle.value)\n})\n\nconst displayLabel = computed(() => {\n if (props.multiple) {\n if (!selectedValues.value.length) return ''\n return selectedValues.value\n .map((v) => optionsResolved.value.find((o) => o.value === v)?.label ?? v)\n .join(', ')\n }\n\n return optionsResolved.value.find((o) => o.value === modelSingle.value)?.label ?? modelSingle.value\n})\n\nconst displayText = computed(() => {\n if (hasSelection.value) return displayLabel.value\n return props.placeholder ?? ''\n})\n\nconst nativeCustomOptionVisible = computed(() => {\n if (!props.allowCustomValue) return false\n if (props.optionsView !== 'native') return false\n if (props.multiple) return false\n if (!props.options) return false\n if (modelSingle.value === '') return false\n return !hasModelInOptions.value\n})\n\nconst customValue = ref('')\nconst open = ref(false)\nconst rootEl = ref<HTMLElement | null>(null)\nconst panelEl = ref<HTMLElement | null>(null)\nconst customInputRef = ref<InstanceType<typeof GrInput> | null>(null)\nconst clickOutsideExclude = [() => panelEl.value]\nconst panelStyle = ref<Record<string, string>>({\n left: '0px',\n top: '0px',\n width: '0px',\n zIndex: '2147483647',\n})\n\nfunction syncPanelPosition(): void {\n if (typeof window === 'undefined') return\n\n const root = rootEl.value\n if (!root) return\n\n const rect = root.getBoundingClientRect()\n\n panelStyle.value = {\n left: `${rect.left}px`,\n top: `${rect.bottom + 8}px`,\n width: `${rect.width}px`,\n zIndex: '2147483647',\n }\n}\n\nfunction bindPanelPositionListeners(): void {\n if (typeof window === 'undefined') return\n window.addEventListener('resize', syncPanelPosition)\n window.addEventListener('scroll', syncPanelPosition, true)\n}\n\nfunction unbindPanelPositionListeners(): void {\n if (typeof window === 'undefined') return\n window.removeEventListener('resize', syncPanelPosition)\n window.removeEventListener('scroll', syncPanelPosition, true)\n}\n\nfunction closeDropdown(): void {\n open.value = false\n}\n\nfunction toggleDropdown(): void {\n if (props.disabled) return\n open.value = !open.value\n}\n\nfunction closeOnEscape(e: KeyboardEvent): void {\n if (e.key === 'Escape') closeDropdown()\n}\n\nwatch(\n open,\n async (isOpen) => {\n if (typeof document === 'undefined') return\n\n document.removeEventListener('keydown', closeOnEscape)\n unbindPanelPositionListeners()\n\n if (isOpen) document.addEventListener('keydown', closeOnEscape)\n\n if (!isOpen) {\n customValue.value = ''\n return\n }\n\n bindPanelPositionListeners()\n await nextTick()\n syncPanelPosition()\n\n if (props.allowCustomValue) {\n customInputRef.value?.focus()\n }\n },\n { immediate: true },\n)\n\nonUnmounted(() => {\n if (typeof document === 'undefined') return\n document.removeEventListener('keydown', closeOnEscape)\n unbindPanelPositionListeners()\n})\n\nconst panelClasses = computed(() => {\n return grSelectPanelClasses\n})\n\nconst visibleOptions = computed(() => {\n const base = optionsResolved.value\n\n const withCustom = (() => {\n if (!props.allowCustomValue) return base\n if (props.multiple) return base\n if (modelSingle.value === '') return base\n if (hasModelInOptions.value) return base\n return [{ value: modelSingle.value, label: modelSingle.value }, ...base]\n })()\n\n if (!props.allowCustomValue) return withCustom\n\n const q = customValue.value.trim().toLowerCase()\n if (!q) return withCustom\n\n return withCustom.filter((o) => {\n return o.label.toLowerCase().includes(q) || o.value.toLowerCase().includes(q)\n })\n})\n\nconst canAddCustom = computed(() => {\n if (!props.allowCustomValue) return false\n if (props.optionsView !== 'panel') return false\n const v = customValue.value.trim()\n if (!v) return false\n\n if (props.multiple) {\n if (selectedValues.value.includes(v)) return false\n return !optionsResolved.value.some((o) => o.value === v)\n }\n\n if (v === modelSingle.value) return false\n return !optionsResolved.value.some((o) => o.value === v)\n})\n\nfunction emitValue(value: GrSelectModelValue): void {\n emit('update:modelValue', value)\n}\n\nfunction isSelected(value: string): boolean {\n return selectedValues.value.includes(value)\n}\n\nfunction selectValue(value: string): void {\n emitValue(value)\n if (props.closeOnSelect) {\n closeDropdown()\n }\n}\n\nfunction toggleValue(value: string): void {\n if (!props.multiple) {\n selectValue(value)\n return\n }\n\n const next = selectedValues.value.slice()\n const idx = next.indexOf(value)\n if (idx >= 0) {\n next.splice(idx, 1)\n }\n else {\n next.push(value)\n }\n\n emitValue(next)\n if (props.closeOnSelect) {\n closeDropdown()\n }\n}\n\nfunction addCustom(): void {\n const v = customValue.value.trim()\n if (!v) return\n toggleValue(v)\n}\n\nconst showNativeChevron = computed(() => {\n return props.optionsView === 'native' && props.view !== 'link' && !props.multiple\n})\n\nconst nativeClearOptionVisible = computed(() => {\n if (!props.clearable) return false\n if (props.optionsView !== 'native') return false\n if (props.multiple) return false\n if (!props.options) return true\n return !props.options.some(o => o.value === '')\n})\n\nconst panelClearVisible = computed(() => {\n if (!props.clearable) return false\n if (props.optionsView !== 'panel') return false\n if (props.view === 'link') return false\n return hasSelection.value\n})\n\nconst nativeClassName = computed(() => {\n return grSelectNativeClass({\n view: props.view,\n size: props.size,\n disabled: props.disabled,\n variant: props.variant,\n underline: props.underline,\n showNativeChevron: showNativeChevron.value,\n })\n})\n\nconst triggerClassName = computed(() => {\n return grSelectTriggerClass({\n view: props.view,\n optionsView: props.optionsView,\n size: props.size,\n disabled: props.disabled,\n variant: props.variant,\n underline: props.underline,\n })\n})\n\nfunction onChange(e: Event): void {\n const el = e.target as HTMLSelectElement\n\n if (props.multiple) {\n const values = Array.from(el.selectedOptions, o => o.value)\n emit('update:modelValue', values)\n return\n }\n\n emit('update:modelValue', el.value)\n}\n\nfunction clearSelection(): void {\n if (props.disabled) return\n emitValue(props.multiple ? [] : '')\n}\n</script>\n\n<template>\n <div\n v-if=\"optionsView === 'native'\"\n data-ds-select\n :class=\"rootClass\"\n >\n <select\n data-ds-select-native\n :value=\"multiple ? modelMultiple : modelSingle\"\n :multiple=\"multiple\"\n :disabled=\"disabled\"\n :aria-label=\"ariaLabel\"\n :class=\"[baseClassName, nativeClassName]\"\n @change=\"onChange\"\n >\n <option v-if=\"nativeClearOptionVisible\" value=\"\" />\n\n <slot>\n <option v-if=\"nativeCustomOptionVisible\" :value=\"modelSingle\">\n {{ modelSingle }}\n </option>\n <option v-for=\"opt in options\" :key=\"opt.value\" :value=\"opt.value\">\n {{ opt.label }}\n </option>\n </slot>\n </select>\n\n <span\n v-if=\"showNativeChevron\"\n data-testid=\"ds-select-chevron\"\n class=\"absolute top-1/2 -translate-y-1/2 right-3 text-[var(--muted-fg)] pointer-events-none\"\n >\n <span class=\"i-lucide-chevron-down h-4 w-4\" aria-hidden=\"true\" />\n </span>\n </div>\n\n <div\n v-else\n ref=\"rootEl\"\n v-click-outside=\"{ handler: closeDropdown, enabled: open, exclude: clickOutsideExclude }\"\n data-ds-select\n :class=\"rootClass\"\n >\n <button\n data-testid=\"ds-select-trigger\"\n data-ds-select-trigger\n type=\"button\"\n :disabled=\"disabled\"\n :aria-label=\"ariaLabel\"\n role=\"combobox\"\n aria-readonly=\"true\"\n :aria-expanded=\"open ? 'true' : 'false'\"\n :class=\"[baseClassName, triggerClassName]\"\n @click=\"toggleDropdown\"\n >\n <span class=\"min-w-0 flex-1\">\n <slot\n name=\"value\"\n :selected-options=\"selectedOptions\"\n :selected-values=\"selectedValues\"\n :display-label=\"displayLabel\"\n :placeholder=\"placeholder\"\n :has-selection=\"hasSelection\"\n >\n <span\n class=\"block truncate\"\n :class=\"!hasSelection ? 'text-[var(--muted-fg)]' : ''\"\n >\n {{ displayText }}\n </span>\n </slot>\n </span>\n\n <span\n v-if=\"panelClearVisible\"\n class=\"shrink-0 h-4 w-4\"\n aria-hidden=\"true\"\n />\n\n <span\n v-else\n data-testid=\"ds-select-chevron\"\n class=\"shrink-0 text-[var(--muted-fg)] pointer-events-none\"\n >\n <span class=\"i-lucide-chevron-down h-4 w-4\" aria-hidden=\"true\" />\n </span>\n </button>\n\n <button\n v-if=\"panelClearVisible\"\n data-testid=\"ds-select-clear\"\n data-ds-select-clear\n type=\"button\"\n class=\"absolute top-1/2 -translate-y-1/2 right-3 h-6 w-6 inline-flex items-center justify-center rounded-md text-[var(--muted-fg)] hover:text-[var(--fg)] hover:bg-[color-mix(in_srgb,var(--muted)_25%,transparent)] disabled:opacity-50\"\n :disabled=\"disabled\"\n :aria-label=\"clearLabel\"\n @click.stop=\"clearSelection\"\n >\n <span class=\"i-lucide-x h-4 w-4\" aria-hidden=\"true\" />\n </button>\n\n <teleport to=\"body\">\n <transition\n enter-active-class=\"transition ease-out duration-150\"\n enter-from-class=\"transform opacity-0 scale-95\"\n enter-to-class=\"transform opacity-100 scale-100\"\n leave-active-class=\"transition ease-in duration-100\"\n leave-from-class=\"transform opacity-100 scale-100\"\n leave-to-class=\"transform opacity-0 scale-95\"\n >\n <div\n v-show=\"open\"\n ref=\"panelEl\"\n data-testid=\"ds-select-panel\"\n data-ds-select-panel\n class=\"fixed w-full\"\n :style=\"panelStyle\"\n >\n <div :class=\"panelClasses\">\n <div v-if=\"allowCustomValue\" class=\"p-2 border-b border-[var(--brd)]\">\n <GrInput\n ref=\"customInputRef\"\n v-model=\"customValue\"\n data-testid=\"ds-select-custom-input\"\n type=\"text\"\n :placeholder=\"customValuePlaceholder\"\n size=\"sm\"\n @keydown.enter.prevent=\"addCustom\"\n />\n </div>\n\n <div\n data-ds-select-listbox\n class=\"p-1 overflow-auto\"\n :style=\"{ maxHeight: `${dropdownMaxHeight}px` }\"\n role=\"listbox\"\n :aria-multiselectable=\"multiple ? 'true' : undefined\"\n >\n <button\n v-if=\"canAddCustom\"\n data-testid=\"ds-select-add-option\"\n data-ds-select-add-option\n type=\"button\"\n class=\"w-full rounded-[10px] px-3 py-2 text-left text-[13px] hover:bg-[color-mix(in_srgb,var(--muted)_30%,transparent)]\"\n @click=\"addCustom\"\n >\n Add “{{ customValue.trim() }}”\n </button>\n\n <button\n v-for=\"opt in visibleOptions\"\n :key=\"opt.value\"\n data-ds-select-option\n type=\"button\"\n role=\"option\"\n :aria-selected=\"isSelected(opt.value) ? 'true' : 'false'\"\n class=\"w-full rounded-[10px] px-3 py-2 text-left text-[13px] hover:bg-[color-mix(in_srgb,var(--muted)_30%,transparent)]\"\n @click=\"toggleValue(opt.value)\"\n >\n <slot name=\"option\" :option=\"opt\" :selected=\"isSelected(opt.value)\">\n <span class=\"flex items-center gap-2 min-w-0\">\n <span\n class=\"h-4 w-4 shrink-0\"\n :class=\"isSelected(opt.value) ? 'i-lucide-check text-[var(--primary)]' : ''\"\n aria-hidden=\"true\"\n />\n <span class=\"truncate\">{{ opt.label }}</span>\n </span>\n </slot>\n </button>\n </div>\n </div>\n </div>\n </transition>\n </teleport>\n </div>\n</template>\n","<script setup lang=\"ts\">\nimport { computed, nextTick, onUnmounted, ref, watch } from 'vue'\n\nimport GrInput from '../GrInput/GrInput.vue'\nimport { vClickOutside } from '../../directives'\n\nimport {\n defaultBaseClass,\n grSelectNativeClass,\n grSelectPanelClasses,\n grSelectTriggerClass,\n linkBaseClass,\n type GrSelectModelValue,\n type GrSelectOption,\n type GrSelectOptionsView,\n type GrSelectSize,\n type GrSelectUnderline,\n type GrSelectVariant,\n type GrSelectView,\n} from './grSelectStyles'\n\nexport type {\n GrSelectModelValue,\n GrSelectOption,\n GrSelectOptionsView,\n GrSelectSize,\n GrSelectUnderline,\n GrSelectVariant,\n GrSelectView,\n} from './grSelectStyles'\n\n/**\n * Пропсы публичного DS-примитива «Select».\n */\nexport interface GrSelectProps {\n modelValue: GrSelectModelValue\n options?: GrSelectOption[]\n disabled?: boolean\n ariaLabel?: string\n view?: GrSelectView\n size?: GrSelectSize\n /** Placeholder (показывается, когда значение не выбрано). */\n placeholder?: string\n /** Multiple selection. */\n multiple?: boolean\n /** Как отображать список опций: нативный `<select>` или кастомная панель. */\n optionsView?: GrSelectOptionsView\n /** Разрешает ввод/выбор значения, которого нет в `options`. */\n allowCustomValue?: boolean\n /** Placeholder для инпута кастомного значения (только в `optionsView=\"panel\"`). */\n customValuePlaceholder?: string\n /** Максимальная высота панели (только в `optionsView=\"panel\"`). */\n dropdownMaxHeight?: number\n /** Закрывать панель после выбора (только в `optionsView=\"panel\"`). */\n closeOnSelect?: boolean\n /** Разрешает очистку выбранного значения. */\n clearable?: boolean\n /** i18n-label для кнопки очистки (`aria-label`). */\n clearLabel?: string\n /**\n * Цвет/вариант ссылки для `view=\"link\"` (аналогично `GrLink`).\n * В `view=\"default\"` не используется.\n */\n variant?: GrSelectVariant\n /**\n * Подчёркивание для `view=\"link\"` (аналогично `GrLink`).\n * В `view=\"default\"` не используется.\n */\n underline?: GrSelectUnderline\n}\n\nconst props = withDefaults(\n defineProps<GrSelectProps>(),\n {\n options: undefined,\n disabled: false,\n ariaLabel: undefined,\n view: 'default',\n size: 'md',\n\n placeholder: undefined,\n multiple: false,\n\n optionsView: 'native',\n allowCustomValue: false,\n customValuePlaceholder: 'Add value…',\n dropdownMaxHeight: 280,\n closeOnSelect: true,\n clearable: false,\n clearLabel: 'Clear',\n variant: 'primary',\n underline: 'auto',\n },\n)\n\nconst baseClassName = computed(() => props.view === 'link' ? linkBaseClass : defaultBaseClass)\n\nconst rootClass = computed(() => props.view === 'link' ? 'relative inline-block align-baseline' : 'relative w-full')\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: GrSelectModelValue): void\n}>()\n\nconst optionsResolved = computed(() => props.options ?? [])\n\nfunction modelToArray(value: GrSelectModelValue): string[] {\n if (Array.isArray(value)) return value\n if (!value) return []\n return [value]\n}\n\nconst modelSingle = computed(() => {\n return Array.isArray(props.modelValue) ? (props.modelValue[0] ?? '') : props.modelValue\n})\n\nconst modelMultiple = computed(() => modelToArray(props.modelValue))\n\nconst selectedValues = computed(() => {\n return props.multiple ? modelMultiple.value : (modelSingle.value ? [modelSingle.value] : [])\n})\n\nconst hasSelection = computed(() => selectedValues.value.length > 0)\n\nconst selectedOptions = computed<GrSelectOption[]>(() => {\n const byValue = new Map(optionsResolved.value.map(o => [o.value, o]))\n return selectedValues.value.map((v) => byValue.get(v) ?? { value: v, label: v })\n})\n\nconst hasModelInOptions = computed(() => {\n if (props.multiple) return false\n return optionsResolved.value.some((o) => o.value === modelSingle.value)\n})\n\nconst displayLabel = computed(() => {\n if (props.multiple) {\n if (!selectedValues.value.length) return ''\n return selectedValues.value\n .map((v) => optionsResolved.value.find((o) => o.value === v)?.label ?? v)\n .join(', ')\n }\n\n return optionsResolved.value.find((o) => o.value === modelSingle.value)?.label ?? modelSingle.value\n})\n\nconst displayText = computed(() => {\n if (hasSelection.value) return displayLabel.value\n return props.placeholder ?? ''\n})\n\nconst nativeCustomOptionVisible = computed(() => {\n if (!props.allowCustomValue) return false\n if (props.optionsView !== 'native') return false\n if (props.multiple) return false\n if (!props.options) return false\n if (modelSingle.value === '') return false\n return !hasModelInOptions.value\n})\n\nconst customValue = ref('')\nconst open = ref(false)\nconst rootEl = ref<HTMLElement | null>(null)\nconst panelEl = ref<HTMLElement | null>(null)\nconst customInputRef = ref<InstanceType<typeof GrInput> | null>(null)\nconst clickOutsideExclude = [() => panelEl.value]\nconst panelStyle = ref<Record<string, string>>({\n left: '0px',\n top: '0px',\n width: '0px',\n zIndex: '2147483647',\n})\n\nfunction syncPanelPosition(): void {\n if (typeof window === 'undefined') return\n\n const root = rootEl.value\n if (!root) return\n\n const rect = root.getBoundingClientRect()\n\n panelStyle.value = {\n left: `${rect.left}px`,\n top: `${rect.bottom + 8}px`,\n width: `${rect.width}px`,\n zIndex: '2147483647',\n }\n}\n\nfunction bindPanelPositionListeners(): void {\n if (typeof window === 'undefined') return\n window.addEventListener('resize', syncPanelPosition)\n window.addEventListener('scroll', syncPanelPosition, true)\n}\n\nfunction unbindPanelPositionListeners(): void {\n if (typeof window === 'undefined') return\n window.removeEventListener('resize', syncPanelPosition)\n window.removeEventListener('scroll', syncPanelPosition, true)\n}\n\nfunction closeDropdown(): void {\n open.value = false\n}\n\nfunction toggleDropdown(): void {\n if (props.disabled) return\n open.value = !open.value\n}\n\nfunction closeOnEscape(e: KeyboardEvent): void {\n if (e.key === 'Escape') closeDropdown()\n}\n\nwatch(\n open,\n async (isOpen) => {\n if (typeof document === 'undefined') return\n\n document.removeEventListener('keydown', closeOnEscape)\n unbindPanelPositionListeners()\n\n if (isOpen) document.addEventListener('keydown', closeOnEscape)\n\n if (!isOpen) {\n customValue.value = ''\n return\n }\n\n bindPanelPositionListeners()\n await nextTick()\n syncPanelPosition()\n\n if (props.allowCustomValue) {\n customInputRef.value?.focus()\n }\n },\n { immediate: true },\n)\n\nonUnmounted(() => {\n if (typeof document === 'undefined') return\n document.removeEventListener('keydown', closeOnEscape)\n unbindPanelPositionListeners()\n})\n\nconst panelClasses = computed(() => {\n return grSelectPanelClasses\n})\n\nconst visibleOptions = computed(() => {\n const base = optionsResolved.value\n\n const withCustom = (() => {\n if (!props.allowCustomValue) return base\n if (props.multiple) return base\n if (modelSingle.value === '') return base\n if (hasModelInOptions.value) return base\n return [{ value: modelSingle.value, label: modelSingle.value }, ...base]\n })()\n\n if (!props.allowCustomValue) return withCustom\n\n const q = customValue.value.trim().toLowerCase()\n if (!q) return withCustom\n\n return withCustom.filter((o) => {\n return o.label.toLowerCase().includes(q) || o.value.toLowerCase().includes(q)\n })\n})\n\nconst canAddCustom = computed(() => {\n if (!props.allowCustomValue) return false\n if (props.optionsView !== 'panel') return false\n const v = customValue.value.trim()\n if (!v) return false\n\n if (props.multiple) {\n if (selectedValues.value.includes(v)) return false\n return !optionsResolved.value.some((o) => o.value === v)\n }\n\n if (v === modelSingle.value) return false\n return !optionsResolved.value.some((o) => o.value === v)\n})\n\nfunction emitValue(value: GrSelectModelValue): void {\n emit('update:modelValue', value)\n}\n\nfunction isSelected(value: string): boolean {\n return selectedValues.value.includes(value)\n}\n\nfunction selectValue(value: string): void {\n emitValue(value)\n if (props.closeOnSelect) {\n closeDropdown()\n }\n}\n\nfunction toggleValue(value: string): void {\n if (!props.multiple) {\n selectValue(value)\n return\n }\n\n const next = selectedValues.value.slice()\n const idx = next.indexOf(value)\n if (idx >= 0) {\n next.splice(idx, 1)\n }\n else {\n next.push(value)\n }\n\n emitValue(next)\n if (props.closeOnSelect) {\n closeDropdown()\n }\n}\n\nfunction addCustom(): void {\n const v = customValue.value.trim()\n if (!v) return\n toggleValue(v)\n}\n\nconst showNativeChevron = computed(() => {\n return props.optionsView === 'native' && props.view !== 'link' && !props.multiple\n})\n\nconst nativeClearOptionVisible = computed(() => {\n if (!props.clearable) return false\n if (props.optionsView !== 'native') return false\n if (props.multiple) return false\n if (!props.options) return true\n return !props.options.some(o => o.value === '')\n})\n\nconst panelClearVisible = computed(() => {\n if (!props.clearable) return false\n if (props.optionsView !== 'panel') return false\n if (props.view === 'link') return false\n return hasSelection.value\n})\n\nconst nativeClassName = computed(() => {\n return grSelectNativeClass({\n view: props.view,\n size: props.size,\n disabled: props.disabled,\n variant: props.variant,\n underline: props.underline,\n showNativeChevron: showNativeChevron.value,\n })\n})\n\nconst triggerClassName = computed(() => {\n return grSelectTriggerClass({\n view: props.view,\n optionsView: props.optionsView,\n size: props.size,\n disabled: props.disabled,\n variant: props.variant,\n underline: props.underline,\n })\n})\n\nfunction onChange(e: Event): void {\n const el = e.target as HTMLSelectElement\n\n if (props.multiple) {\n const values = Array.from(el.selectedOptions, o => o.value)\n emit('update:modelValue', values)\n return\n }\n\n emit('update:modelValue', el.value)\n}\n\nfunction clearSelection(): void {\n if (props.disabled) return\n emitValue(props.multiple ? [] : '')\n}\n</script>\n\n<template>\n <div\n v-if=\"optionsView === 'native'\"\n data-ds-select\n :class=\"rootClass\"\n >\n <select\n data-ds-select-native\n :value=\"multiple ? modelMultiple : modelSingle\"\n :multiple=\"multiple\"\n :disabled=\"disabled\"\n :aria-label=\"ariaLabel\"\n :class=\"[baseClassName, nativeClassName]\"\n @change=\"onChange\"\n >\n <option v-if=\"nativeClearOptionVisible\" value=\"\" />\n\n <slot>\n <option v-if=\"nativeCustomOptionVisible\" :value=\"modelSingle\">\n {{ modelSingle }}\n </option>\n <option v-for=\"opt in options\" :key=\"opt.value\" :value=\"opt.value\">\n {{ opt.label }}\n </option>\n </slot>\n </select>\n\n <span\n v-if=\"showNativeChevron\"\n data-testid=\"ds-select-chevron\"\n class=\"absolute top-1/2 -translate-y-1/2 right-3 text-[var(--muted-fg)] pointer-events-none\"\n >\n <span class=\"i-lucide-chevron-down h-4 w-4\" aria-hidden=\"true\" />\n </span>\n </div>\n\n <div\n v-else\n ref=\"rootEl\"\n v-click-outside=\"{ handler: closeDropdown, enabled: open, exclude: clickOutsideExclude }\"\n data-ds-select\n :class=\"rootClass\"\n >\n <button\n data-testid=\"ds-select-trigger\"\n data-ds-select-trigger\n type=\"button\"\n :disabled=\"disabled\"\n :aria-label=\"ariaLabel\"\n role=\"combobox\"\n aria-readonly=\"true\"\n :aria-expanded=\"open ? 'true' : 'false'\"\n :class=\"[baseClassName, triggerClassName]\"\n @click=\"toggleDropdown\"\n >\n <span class=\"min-w-0 flex-1\">\n <slot\n name=\"value\"\n :selected-options=\"selectedOptions\"\n :selected-values=\"selectedValues\"\n :display-label=\"displayLabel\"\n :placeholder=\"placeholder\"\n :has-selection=\"hasSelection\"\n >\n <span\n class=\"block truncate\"\n :class=\"!hasSelection ? 'text-[var(--muted-fg)]' : ''\"\n >\n {{ displayText }}\n </span>\n </slot>\n </span>\n\n <span\n v-if=\"panelClearVisible\"\n class=\"shrink-0 h-4 w-4\"\n aria-hidden=\"true\"\n />\n\n <span\n v-else\n data-testid=\"ds-select-chevron\"\n class=\"shrink-0 text-[var(--muted-fg)] pointer-events-none\"\n >\n <span class=\"i-lucide-chevron-down h-4 w-4\" aria-hidden=\"true\" />\n </span>\n </button>\n\n <button\n v-if=\"panelClearVisible\"\n data-testid=\"ds-select-clear\"\n data-ds-select-clear\n type=\"button\"\n class=\"absolute top-1/2 -translate-y-1/2 right-3 h-6 w-6 inline-flex items-center justify-center rounded-md text-[var(--muted-fg)] hover:text-[var(--fg)] hover:bg-[color-mix(in_srgb,var(--muted)_25%,transparent)] disabled:opacity-50\"\n :disabled=\"disabled\"\n :aria-label=\"clearLabel\"\n @click.stop=\"clearSelection\"\n >\n <span class=\"i-lucide-x h-4 w-4\" aria-hidden=\"true\" />\n </button>\n\n <teleport to=\"body\">\n <transition\n enter-active-class=\"transition ease-out duration-150\"\n enter-from-class=\"transform opacity-0 scale-95\"\n enter-to-class=\"transform opacity-100 scale-100\"\n leave-active-class=\"transition ease-in duration-100\"\n leave-from-class=\"transform opacity-100 scale-100\"\n leave-to-class=\"transform opacity-0 scale-95\"\n >\n <div\n v-show=\"open\"\n ref=\"panelEl\"\n data-testid=\"ds-select-panel\"\n data-ds-select-panel\n class=\"fixed w-full\"\n :style=\"panelStyle\"\n >\n <div :class=\"panelClasses\">\n <div v-if=\"allowCustomValue\" class=\"p-2 border-b border-[var(--brd)]\">\n <GrInput\n ref=\"customInputRef\"\n v-model=\"customValue\"\n data-testid=\"ds-select-custom-input\"\n type=\"text\"\n :placeholder=\"customValuePlaceholder\"\n size=\"sm\"\n @keydown.enter.prevent=\"addCustom\"\n />\n </div>\n\n <div\n data-ds-select-listbox\n class=\"p-1 overflow-auto\"\n :style=\"{ maxHeight: `${dropdownMaxHeight}px` }\"\n role=\"listbox\"\n :aria-multiselectable=\"multiple ? 'true' : undefined\"\n >\n <button\n v-if=\"canAddCustom\"\n data-testid=\"ds-select-add-option\"\n data-ds-select-add-option\n type=\"button\"\n class=\"w-full rounded-[10px] px-3 py-2 text-left text-[13px] hover:bg-[color-mix(in_srgb,var(--muted)_30%,transparent)]\"\n @click=\"addCustom\"\n >\n Add “{{ customValue.trim() }}”\n </button>\n\n <button\n v-for=\"opt in visibleOptions\"\n :key=\"opt.value\"\n data-ds-select-option\n type=\"button\"\n role=\"option\"\n :aria-selected=\"isSelected(opt.value) ? 'true' : 'false'\"\n class=\"w-full rounded-[10px] px-3 py-2 text-left text-[13px] hover:bg-[color-mix(in_srgb,var(--muted)_30%,transparent)]\"\n @click=\"toggleValue(opt.value)\"\n >\n <slot name=\"option\" :option=\"opt\" :selected=\"isSelected(opt.value)\">\n <span class=\"flex items-center gap-2 min-w-0\">\n <span\n class=\"h-4 w-4 shrink-0\"\n :class=\"isSelected(opt.value) ? 'i-lucide-check text-[var(--primary)]' : ''\"\n aria-hidden=\"true\"\n />\n <span class=\"truncate\">{{ opt.label }}</span>\n </span>\n </slot>\n </button>\n </div>\n </div>\n </div>\n </transition>\n </teleport>\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, openBlock, renderSlot, toDisplayString } from "vue";
|
|
2
|
+
//#region src/components/GrSidebar/GrSidebar.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var _hoisted_1 = {
|
|
4
|
+
"data-ds-sidebar": "",
|
|
5
|
+
class: "border-r border-[var(--sidebar-brd)] bg-[var(--sidebar)] text-[var(--sidebar-fg)]"
|
|
6
|
+
};
|
|
7
|
+
var _hoisted_2 = {
|
|
8
|
+
key: 0,
|
|
9
|
+
"data-ds-sidebar-header": "",
|
|
10
|
+
class: "border-b border-[var(--sidebar-brd)] px-4 py-4"
|
|
11
|
+
};
|
|
12
|
+
var _hoisted_3 = {
|
|
13
|
+
key: 0,
|
|
14
|
+
"data-ds-sidebar-subtitle": "",
|
|
15
|
+
class: "text-[14px] text-[var(--muted-fg)]"
|
|
16
|
+
};
|
|
17
|
+
var _hoisted_4 = {
|
|
18
|
+
key: 1,
|
|
19
|
+
"data-ds-sidebar-title": "",
|
|
20
|
+
class: "text-[18px] font-700"
|
|
21
|
+
};
|
|
22
|
+
var _hoisted_5 = { class: "p-3" };
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/components/GrSidebar/GrSidebar.vue
|
|
25
|
+
var GrSidebar_default = /* @__PURE__ */ defineComponent({
|
|
26
|
+
__name: "GrSidebar",
|
|
27
|
+
props: {
|
|
28
|
+
title: { default: void 0 },
|
|
29
|
+
subtitle: { default: void 0 }
|
|
30
|
+
},
|
|
31
|
+
setup(__props) {
|
|
32
|
+
/**
|
|
33
|
+
* GrSidebar — боковая панель приложения с заголовком и слотом контента.
|
|
34
|
+
*
|
|
35
|
+
* Слоты `#title` / `#subtitle` имеют приоритет над одноимёнными пропами
|
|
36
|
+
* и позволяют передать произвольную разметку (иконки, бейджи, действия).
|
|
37
|
+
*/
|
|
38
|
+
return (_ctx, _cache) => {
|
|
39
|
+
return openBlock(), createElementBlock("aside", _hoisted_1, [_ctx.$slots.title || __props.title || _ctx.$slots.subtitle || __props.subtitle ? (openBlock(), createElementBlock("div", _hoisted_2, [_ctx.$slots.subtitle || __props.subtitle ? (openBlock(), createElementBlock("div", _hoisted_3, [renderSlot(_ctx.$slots, "subtitle", {}, () => [createTextVNode(toDisplayString(__props.subtitle), 1)])])) : createCommentVNode("", true), _ctx.$slots.title || __props.title ? (openBlock(), createElementBlock("div", _hoisted_4, [renderSlot(_ctx.$slots, "title", {}, () => [createTextVNode(toDisplayString(__props.title), 1)])])) : createCommentVNode("", true)])) : createCommentVNode("", true), createElementVNode("div", _hoisted_5, [renderSlot(_ctx.$slots, "default")])]);
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
//#endregion
|
|
44
|
+
export { GrSidebar_default as t };
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=GrSidebar-DVucgcfV.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrSidebar-DVucgcfV.js","names":["$slots"],"sources":["../../../../src/components/GrSidebar/GrSidebar.vue","../../../../src/components/GrSidebar/GrSidebar.vue"],"sourcesContent":["<script setup lang=\"ts\">\n/**\n * GrSidebar — боковая панель приложения с заголовком и слотом контента.\n *\n * Слоты `#title` / `#subtitle` имеют приоритет над одноимёнными пропами\n * и позволяют передать произвольную разметку (иконки, бейджи, действия).\n */\nexport interface GrSidebarProps {\n title?: string\n subtitle?: string\n}\n\nwithDefaults(defineProps<GrSidebarProps>(), {\n title: undefined,\n subtitle: undefined,\n})\n</script>\n\n<template>\n <aside\n data-ds-sidebar\n class=\"border-r border-[var(--sidebar-brd)] bg-[var(--sidebar)] text-[var(--sidebar-fg)]\"\n >\n <div\n v-if=\"$slots.title || title || $slots.subtitle || subtitle\"\n data-ds-sidebar-header\n class=\"border-b border-[var(--sidebar-brd)] px-4 py-4\"\n >\n <div\n v-if=\"$slots.subtitle || subtitle\"\n data-ds-sidebar-subtitle\n class=\"text-[14px] text-[var(--muted-fg)]\"\n >\n <slot name=\"subtitle\">\n {{ subtitle }}\n </slot>\n </div>\n <div\n v-if=\"$slots.title || title\"\n data-ds-sidebar-title\n class=\"text-[18px] font-700\"\n >\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n </div>\n <div class=\"p-3\">\n <slot />\n </div>\n </aside>\n</template>\n","<script setup lang=\"ts\">\n/**\n * GrSidebar — боковая панель приложения с заголовком и слотом контента.\n *\n * Слоты `#title` / `#subtitle` имеют приоритет над одноимёнными пропами\n * и позволяют передать произвольную разметку (иконки, бейджи, действия).\n */\nexport interface GrSidebarProps {\n title?: string\n subtitle?: string\n}\n\nwithDefaults(defineProps<GrSidebarProps>(), {\n title: undefined,\n subtitle: undefined,\n})\n</script>\n\n<template>\n <aside\n data-ds-sidebar\n class=\"border-r border-[var(--sidebar-brd)] bg-[var(--sidebar)] text-[var(--sidebar-fg)]\"\n >\n <div\n v-if=\"$slots.title || title || $slots.subtitle || subtitle\"\n data-ds-sidebar-header\n class=\"border-b border-[var(--sidebar-brd)] px-4 py-4\"\n >\n <div\n v-if=\"$slots.subtitle || subtitle\"\n data-ds-sidebar-subtitle\n class=\"text-[14px] text-[var(--muted-fg)]\"\n >\n <slot name=\"subtitle\">\n {{ subtitle }}\n </slot>\n </div>\n <div\n v-if=\"$slots.title || title\"\n data-ds-sidebar-title\n class=\"text-[18px] font-700\"\n >\n <slot name=\"title\">\n {{ title }}\n </slot>\n </div>\n </div>\n <div class=\"p-3\">\n <slot />\n </div>\n </aside>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAmBE,mBA+BQ,SA/BR,YA+BQ,CA1BEA,KAAAA,OAAO,SAAS,QAAA,SAASA,KAAAA,OAAO,YAAY,QAAA,YAAA,WAAA,EADpD,mBAuBM,OAvBN,YAuBM,CAjBIA,KAAAA,OAAO,YAAY,QAAA,YAAA,WAAA,EAD3B,mBAQM,OARN,YAQM,CAHJ,WAEO,KAAA,QAAA,YAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,QAAA,SAAQ,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,IAAA,mBAAA,IAAA,KAAA,EAIPA,KAAAA,OAAO,SAAS,QAAA,SAAA,WAAA,EADxB,mBAQM,OARN,YAQM,CAHJ,WAEO,KAAA,QAAA,SAAA,EAAA,QAAA,CAAA,gBAAA,gBADF,QAAA,MAAK,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA,IAAA,mBAAA,IAAA,KAAA,EAId,mBAEM,OAFN,YAEM,CADJ,WAAQ,KAAA,QAAA,UAAA,CAAA,CAAA,CAAA,CAAA"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createElementBlock, defineComponent, normalizeStyle, openBlock } from "vue";
|
|
2
|
+
import '../../../GrSkeleton.css';//#endregion
|
|
3
|
+
//#region src/components/GrSkeleton/GrSkeleton.vue
|
|
4
|
+
var GrSkeleton_default = /* @__PURE__ */ defineComponent({
|
|
5
|
+
__name: "GrSkeleton",
|
|
6
|
+
props: {
|
|
7
|
+
height: { default: "12px" },
|
|
8
|
+
width: { default: "100%" },
|
|
9
|
+
rounded: { default: "9999px" }
|
|
10
|
+
},
|
|
11
|
+
setup(__props) {
|
|
12
|
+
/**
|
|
13
|
+
* GrSkeleton — заглушка-плейсхолдер для загружающегося контента.
|
|
14
|
+
*
|
|
15
|
+
* Помечен `aria-hidden="true"`, чтобы скринридер не озвучивал «пустой» узел;
|
|
16
|
+
* внешний контейнер обычно имеет `aria-busy="true"` + `aria-live`.
|
|
17
|
+
*/
|
|
18
|
+
return (_ctx, _cache) => {
|
|
19
|
+
return openBlock(), createElementBlock("div", {
|
|
20
|
+
"data-ds-skeleton": "",
|
|
21
|
+
"aria-hidden": "true",
|
|
22
|
+
class: "bg-[var(--muted)] border border-[var(--brd)]",
|
|
23
|
+
style: normalizeStyle({
|
|
24
|
+
height: __props.height,
|
|
25
|
+
width: __props.width,
|
|
26
|
+
borderRadius: __props.rounded
|
|
27
|
+
})
|
|
28
|
+
}, null, 4);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
//#endregion
|
|
33
|
+
export { GrSkeleton_default as t };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=GrSkeleton-CDTvCSoH.js.map
|