@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,315 @@
|
|
|
1
|
+
import { t as x_default } from "../../../chunks/x-Pa6C2hwi.js";
|
|
2
|
+
import { t as GrButton_default } from "../../GrButton/chunks/GrButton-BmGdp8-4.js";
|
|
3
|
+
import { t as _plugin_vue_export_helper_default } from "../../../chunks/_plugin-vue_export-helper-BG_EqiDU.js";
|
|
4
|
+
import { t as GrIcon_default } from "../../GrIcon/chunks/GrIcon-BV7RBU_0.js";
|
|
5
|
+
import { i as vDropzone } from "../../../chunks/directives-Cuib0yOO.js";
|
|
6
|
+
import { l as runFileValidators, o as acceptValidator, u as FileValidationError } from "../../../chunks/fileValidation-CgjTGoUx.js";
|
|
7
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, markRaw, nextTick, normalizeClass, openBlock, ref, renderList, renderSlot, toDisplayString, unref, watch, withCtx, withDirectives, withModifiers } from "vue";
|
|
8
|
+
import '../../../GrFormFile.css';//#region ~icons/lucide/upload
|
|
9
|
+
var _hoisted_1$1 = {
|
|
10
|
+
viewBox: "0 0 24 24",
|
|
11
|
+
width: "1.2em",
|
|
12
|
+
height: "1.2em"
|
|
13
|
+
};
|
|
14
|
+
function render$1(_ctx, _cache) {
|
|
15
|
+
return openBlock(), createElementBlock("svg", _hoisted_1$1, [..._cache[0] || (_cache[0] = [createElementVNode("path", {
|
|
16
|
+
fill: "none",
|
|
17
|
+
stroke: "currentColor",
|
|
18
|
+
"stroke-linecap": "round",
|
|
19
|
+
"stroke-linejoin": "round",
|
|
20
|
+
"stroke-width": "2",
|
|
21
|
+
d: "M12 3v12m5-7l-5-5l-5 5m14 7v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"
|
|
22
|
+
}, null, -1)])]);
|
|
23
|
+
}
|
|
24
|
+
var upload_default = markRaw({
|
|
25
|
+
name: "lucide-upload",
|
|
26
|
+
render: render$1
|
|
27
|
+
});
|
|
28
|
+
//#endregion
|
|
29
|
+
//#region src/components/GrFormFile/GrFormFile.vue?vue&type=script&setup=true&lang.ts
|
|
30
|
+
var _hoisted_1 = [
|
|
31
|
+
"multiple",
|
|
32
|
+
"accept",
|
|
33
|
+
"disabled"
|
|
34
|
+
];
|
|
35
|
+
var _hoisted_2 = { class: "flex flex-col gap-2" };
|
|
36
|
+
var _hoisted_3 = { class: "flex flex-wrap items-center gap-3" };
|
|
37
|
+
var _hoisted_4 = { class: "ml-2" };
|
|
38
|
+
var _hoisted_5 = { class: "ml-2" };
|
|
39
|
+
var _hoisted_6 = { class: "ml-2" };
|
|
40
|
+
var _hoisted_7 = ["title"];
|
|
41
|
+
var _hoisted_8 = {
|
|
42
|
+
key: 3,
|
|
43
|
+
class: "text-sm text-[var(--muted-fg)]",
|
|
44
|
+
"data-ds-form-file-placeholder": ""
|
|
45
|
+
};
|
|
46
|
+
var _hoisted_9 = {
|
|
47
|
+
key: 0,
|
|
48
|
+
class: "flex flex-col gap-2"
|
|
49
|
+
};
|
|
50
|
+
var _hoisted_10 = ["title"];
|
|
51
|
+
var _hoisted_11 = ["disabled", "onClick"];
|
|
52
|
+
var _hoisted_12 = {
|
|
53
|
+
key: 0,
|
|
54
|
+
class: "text-sm text-[var(--ds-danger)]",
|
|
55
|
+
"data-ds-form-file-errors": ""
|
|
56
|
+
};
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region src/components/GrFormFile/GrFormFile.vue
|
|
59
|
+
var GrFormFile_default = /* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
60
|
+
name: "GrFormFile",
|
|
61
|
+
__name: "GrFormFile",
|
|
62
|
+
props: {
|
|
63
|
+
modelValue: {},
|
|
64
|
+
multiple: {
|
|
65
|
+
type: Boolean,
|
|
66
|
+
default: false
|
|
67
|
+
},
|
|
68
|
+
disabled: {
|
|
69
|
+
type: Boolean,
|
|
70
|
+
default: false
|
|
71
|
+
},
|
|
72
|
+
accept: { default: void 0 },
|
|
73
|
+
validators: { default: void 0 },
|
|
74
|
+
uploadText: { default: "Upload file" },
|
|
75
|
+
changeText: { default: "Change file" },
|
|
76
|
+
removeText: { default: "Remove" },
|
|
77
|
+
clearAllText: { default: "Clear all" },
|
|
78
|
+
placeholder: { default: "No files selected" },
|
|
79
|
+
validate: {
|
|
80
|
+
type: Function,
|
|
81
|
+
default: void 0
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
emits: [
|
|
85
|
+
"update:modelValue",
|
|
86
|
+
"change",
|
|
87
|
+
"clear",
|
|
88
|
+
"validation",
|
|
89
|
+
"update:errors"
|
|
90
|
+
],
|
|
91
|
+
setup(__props, { emit: __emit }) {
|
|
92
|
+
const props = __props;
|
|
93
|
+
const emit = __emit;
|
|
94
|
+
const inputRef = ref(null);
|
|
95
|
+
const localErrors = ref([]);
|
|
96
|
+
const files = computed(() => {
|
|
97
|
+
if (props.multiple) return Array.isArray(props.modelValue) ? props.modelValue : [];
|
|
98
|
+
return props.modelValue instanceof File ? [props.modelValue] : [];
|
|
99
|
+
});
|
|
100
|
+
const hasFiles = computed(() => files.value.length > 0);
|
|
101
|
+
function clearInputValue() {
|
|
102
|
+
if (!inputRef.value) return;
|
|
103
|
+
inputRef.value.value = "";
|
|
104
|
+
}
|
|
105
|
+
function setErrors(next) {
|
|
106
|
+
localErrors.value = next;
|
|
107
|
+
emit("validation", next);
|
|
108
|
+
emit("update:errors", next);
|
|
109
|
+
}
|
|
110
|
+
function clearErrors() {
|
|
111
|
+
if (localErrors.value.length === 0) return;
|
|
112
|
+
setErrors([]);
|
|
113
|
+
}
|
|
114
|
+
function openDialog() {
|
|
115
|
+
if (props.disabled) return;
|
|
116
|
+
inputRef.value?.click();
|
|
117
|
+
}
|
|
118
|
+
function emitModel(nextFiles) {
|
|
119
|
+
const value = props.multiple ? nextFiles : nextFiles[0] ?? null;
|
|
120
|
+
emit("update:modelValue", value);
|
|
121
|
+
emit("change", value);
|
|
122
|
+
}
|
|
123
|
+
async function applyFiles(nextFiles) {
|
|
124
|
+
const isPromiseLike = (value) => {
|
|
125
|
+
return !!value && typeof value.then === "function";
|
|
126
|
+
};
|
|
127
|
+
const customValidator = props.validate ? async ({ files }) => await props.validate?.(files) ?? [] : void 0;
|
|
128
|
+
const res = runFileValidators(nextFiles, [
|
|
129
|
+
acceptValidator(props.accept),
|
|
130
|
+
...props.validators ?? [],
|
|
131
|
+
...customValidator ? [customValidator] : []
|
|
132
|
+
], {
|
|
133
|
+
source: "input",
|
|
134
|
+
multiple: props.multiple
|
|
135
|
+
});
|
|
136
|
+
const { files: picked, issues } = isPromiseLike(res) ? await res : res;
|
|
137
|
+
if (issues.length > 0) {
|
|
138
|
+
setErrors(issues);
|
|
139
|
+
clearInputValue();
|
|
140
|
+
await nextTick();
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
clearErrors();
|
|
144
|
+
emitModel(picked);
|
|
145
|
+
clearInputValue();
|
|
146
|
+
await nextTick();
|
|
147
|
+
}
|
|
148
|
+
async function onInputChange(event) {
|
|
149
|
+
if (props.disabled) return;
|
|
150
|
+
const target = event.target;
|
|
151
|
+
const nextFiles = target?.files ? Array.prototype.slice.call(target.files) : [];
|
|
152
|
+
if (target) target.value = "";
|
|
153
|
+
await nextTick();
|
|
154
|
+
await applyFiles(nextFiles);
|
|
155
|
+
}
|
|
156
|
+
function clearAll() {
|
|
157
|
+
if (props.disabled) return;
|
|
158
|
+
clearErrors();
|
|
159
|
+
clearInputValue();
|
|
160
|
+
emit("clear");
|
|
161
|
+
emit("update:modelValue", props.multiple ? [] : null);
|
|
162
|
+
emit("change", props.multiple ? [] : null);
|
|
163
|
+
}
|
|
164
|
+
function removeAt(index) {
|
|
165
|
+
if (props.disabled) return;
|
|
166
|
+
if (!props.multiple) {
|
|
167
|
+
clearAll();
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
const next = files.value.slice();
|
|
171
|
+
next.splice(index, 1);
|
|
172
|
+
emit("update:modelValue", next);
|
|
173
|
+
emit("change", next);
|
|
174
|
+
}
|
|
175
|
+
function issueMessage(issue) {
|
|
176
|
+
if (issue.fileName) return `${issue.fileName}: ${issue.message}`;
|
|
177
|
+
return issue.message;
|
|
178
|
+
}
|
|
179
|
+
const dropzone = computed(() => {
|
|
180
|
+
const customValidator = props.validate ? async ({ files }) => await props.validate?.(files) ?? [] : void 0;
|
|
181
|
+
const validators = [
|
|
182
|
+
acceptValidator(props.accept),
|
|
183
|
+
...props.validators ?? [],
|
|
184
|
+
...customValidator ? [customValidator] : []
|
|
185
|
+
];
|
|
186
|
+
return {
|
|
187
|
+
enabled: !props.disabled,
|
|
188
|
+
multiple: props.multiple,
|
|
189
|
+
validators,
|
|
190
|
+
onFiles: async (dropped) => {
|
|
191
|
+
clearErrors();
|
|
192
|
+
emitModel(dropped);
|
|
193
|
+
clearInputValue();
|
|
194
|
+
await nextTick();
|
|
195
|
+
},
|
|
196
|
+
onError: (error) => {
|
|
197
|
+
if (error instanceof FileValidationError) setErrors(error.issues);
|
|
198
|
+
else setErrors([{
|
|
199
|
+
code: "accept",
|
|
200
|
+
message: "Failed to validate dropped files"
|
|
201
|
+
}]);
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
});
|
|
205
|
+
watch(() => props.modelValue, (value) => {
|
|
206
|
+
if (!inputRef.value) return;
|
|
207
|
+
if (!value || Array.isArray(value) && value.length === 0) inputRef.value.value = "";
|
|
208
|
+
});
|
|
209
|
+
return (_ctx, _cache) => {
|
|
210
|
+
return withDirectives((openBlock(), createElementBlock("div", {
|
|
211
|
+
"data-ds-form-file": "",
|
|
212
|
+
class: normalizeClass(["rounded-[var(--ds-radius-md)]", __props.disabled ? "opacity-60 cursor-not-allowed" : ""])
|
|
213
|
+
}, [createElementVNode("input", {
|
|
214
|
+
ref_key: "inputRef",
|
|
215
|
+
ref: inputRef,
|
|
216
|
+
"data-ds-form-file-input": "",
|
|
217
|
+
type: "file",
|
|
218
|
+
tabindex: "-1",
|
|
219
|
+
"aria-hidden": "true",
|
|
220
|
+
class: "absolute opacity-0 w-px h-px pointer-events-none",
|
|
221
|
+
multiple: __props.multiple,
|
|
222
|
+
accept: __props.accept,
|
|
223
|
+
disabled: __props.disabled,
|
|
224
|
+
onChange: onInputChange
|
|
225
|
+
}, null, 40, _hoisted_1), createElementVNode("div", _hoisted_2, [
|
|
226
|
+
createElementVNode("div", _hoisted_3, [
|
|
227
|
+
createVNode(GrButton_default, {
|
|
228
|
+
variant: "secondary",
|
|
229
|
+
size: "sm",
|
|
230
|
+
"data-ds-form-file-upload-btn": "",
|
|
231
|
+
disabled: __props.disabled,
|
|
232
|
+
onClick: withModifiers(openDialog, ["prevent"])
|
|
233
|
+
}, {
|
|
234
|
+
default: withCtx(() => [createVNode(GrIcon_default, {
|
|
235
|
+
size: "sm",
|
|
236
|
+
"aria-hidden": "true"
|
|
237
|
+
}, {
|
|
238
|
+
default: withCtx(() => [createVNode(unref(upload_default))]),
|
|
239
|
+
_: 1
|
|
240
|
+
}), createElementVNode("span", _hoisted_4, toDisplayString(hasFiles.value ? __props.changeText : __props.uploadText), 1)]),
|
|
241
|
+
_: 1
|
|
242
|
+
}, 8, ["disabled"]),
|
|
243
|
+
hasFiles.value && !__props.multiple ? (openBlock(), createBlock(GrButton_default, {
|
|
244
|
+
key: 0,
|
|
245
|
+
variant: "secondary",
|
|
246
|
+
size: "sm",
|
|
247
|
+
"data-ds-form-file-clear-btn": "",
|
|
248
|
+
disabled: __props.disabled,
|
|
249
|
+
onClick: withModifiers(clearAll, ["prevent"])
|
|
250
|
+
}, {
|
|
251
|
+
default: withCtx(() => [createVNode(GrIcon_default, {
|
|
252
|
+
size: "sm",
|
|
253
|
+
"aria-hidden": "true"
|
|
254
|
+
}, {
|
|
255
|
+
default: withCtx(() => [createVNode(unref(x_default))]),
|
|
256
|
+
_: 1
|
|
257
|
+
}), createElementVNode("span", _hoisted_5, toDisplayString(__props.removeText), 1)]),
|
|
258
|
+
_: 1
|
|
259
|
+
}, 8, ["disabled"])) : createCommentVNode("", true),
|
|
260
|
+
__props.multiple && hasFiles.value ? (openBlock(), createBlock(GrButton_default, {
|
|
261
|
+
key: 1,
|
|
262
|
+
variant: "secondary",
|
|
263
|
+
size: "sm",
|
|
264
|
+
"data-ds-form-file-clear-all-btn": "",
|
|
265
|
+
disabled: __props.disabled,
|
|
266
|
+
onClick: withModifiers(clearAll, ["prevent"])
|
|
267
|
+
}, {
|
|
268
|
+
default: withCtx(() => [createVNode(GrIcon_default, {
|
|
269
|
+
size: "sm",
|
|
270
|
+
"aria-hidden": "true"
|
|
271
|
+
}, {
|
|
272
|
+
default: withCtx(() => [createVNode(unref(x_default))]),
|
|
273
|
+
_: 1
|
|
274
|
+
}), createElementVNode("span", _hoisted_6, toDisplayString(__props.clearAllText), 1)]),
|
|
275
|
+
_: 1
|
|
276
|
+
}, 8, ["disabled"])) : createCommentVNode("", true),
|
|
277
|
+
!__props.multiple && hasFiles.value ? (openBlock(), createElementBlock("span", {
|
|
278
|
+
key: 2,
|
|
279
|
+
class: "text-sm text-[var(--muted-fg)] truncate max-w-[240px]",
|
|
280
|
+
"data-ds-form-file-single-name": "",
|
|
281
|
+
title: files.value[0]?.name
|
|
282
|
+
}, toDisplayString(files.value[0]?.name), 9, _hoisted_7)) : createCommentVNode("", true),
|
|
283
|
+
!hasFiles.value ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString(__props.placeholder), 1)) : createCommentVNode("", true)
|
|
284
|
+
]),
|
|
285
|
+
__props.multiple && hasFiles.value ? (openBlock(), createElementBlock("div", _hoisted_9, [(openBlock(true), createElementBlock(Fragment, null, renderList(files.value, (file, index) => {
|
|
286
|
+
return openBlock(), createElementBlock("div", {
|
|
287
|
+
key: `${file.name}-${file.size}-${index}`,
|
|
288
|
+
class: "flex items-center gap-2",
|
|
289
|
+
"data-ds-form-file-item": ""
|
|
290
|
+
}, [createElementVNode("span", {
|
|
291
|
+
class: "text-sm text-[var(--muted-fg)] truncate max-w-[240px]",
|
|
292
|
+
title: file.name,
|
|
293
|
+
"data-ds-form-file-item-name": ""
|
|
294
|
+
}, toDisplayString(file.name), 9, _hoisted_10), createElementVNode("button", {
|
|
295
|
+
type: "button",
|
|
296
|
+
class: "text-xs text-[var(--muted-fg)] hover:text-[var(--fg)]",
|
|
297
|
+
"data-ds-form-file-item-remove": "",
|
|
298
|
+
disabled: __props.disabled,
|
|
299
|
+
onClick: withModifiers(($event) => removeAt(index), ["prevent"])
|
|
300
|
+
}, toDisplayString(__props.removeText), 9, _hoisted_11)]);
|
|
301
|
+
}), 128))])) : createCommentVNode("", true),
|
|
302
|
+
renderSlot(_ctx.$slots, "errors", { errors: localErrors.value }, () => [localErrors.value.length ? (openBlock(), createElementBlock("div", _hoisted_12, [(openBlock(true), createElementBlock(Fragment, null, renderList(localErrors.value, (e, i) => {
|
|
303
|
+
return openBlock(), createElementBlock("div", {
|
|
304
|
+
key: i,
|
|
305
|
+
"data-ds-form-file-error": ""
|
|
306
|
+
}, toDisplayString(issueMessage(e)), 1);
|
|
307
|
+
}), 128))])) : createCommentVNode("", true)], true)
|
|
308
|
+
])], 2)), [[unref(vDropzone), dropzone.value]]);
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
}), [["__scopeId", "data-v-a60cb9f7"]]);
|
|
312
|
+
//#endregion
|
|
313
|
+
export { GrFormFile_default as t };
|
|
314
|
+
|
|
315
|
+
//# sourceMappingURL=GrFormFile-DtZOypJW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrFormFile-DtZOypJW.js","names":[],"sources":["../../../../src/components/GrFormFile/GrFormFile.vue","../../../../src/components/GrFormFile/GrFormFile.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, nextTick, ref, watch } from 'vue'\n\nimport IconUpload from '~icons/lucide/upload'\nimport IconX from '~icons/lucide/x'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrIcon from '../GrIcon/GrIcon.vue'\nimport { vDropzone } from '../../directives'\nimport { acceptValidator, FileValidationError, runFileValidators } from '../../fileValidation'\nimport type { FileValidationIssue, FileValidator } from '../../fileValidation'\n\ndefineOptions({\n name: 'GrFormFile',\n})\n\nexport type GrFormFileError = FileValidationIssue\n\n/**\n * Пропы `GrFormFile` — форма-поле для выбора файлов с встроенной валидацией,\n * drag&drop (через `v-dropzone`) и списком выбранных файлов.\n *\n * Все `*Text`/`placeholder` — i18n-friendly, принимают готовые строки локали.\n */\nexport interface GrFormFileProps {\n modelValue: File | File[] | null\n multiple?: boolean\n disabled?: boolean\n /** W3C `accept` для `<input type=\"file\">` + sugar к `acceptValidator(...)`. */\n accept?: string\n validators?: FileValidator[]\n uploadText?: string\n changeText?: string\n removeText?: string\n clearAllText?: string\n placeholder?: string\n /** Дополнительная (кастомная) валидация на стороне потребителя. */\n validate?: (files: File[]) => GrFormFileError[] | Promise<GrFormFileError[]>\n}\n\nconst props = withDefaults(\n defineProps<GrFormFileProps>(),\n {\n multiple: false,\n disabled: false,\n accept: undefined,\n uploadText: 'Upload file',\n changeText: 'Change file',\n removeText: 'Remove',\n clearAllText: 'Clear all',\n placeholder: 'No files selected',\n validators: undefined,\n validate: undefined,\n },\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: File | File[] | null): void\n (e: 'change', value: File | File[] | null): void\n (e: 'clear'): void\n (e: 'validation', errors: GrFormFileError[]): void\n (e: 'update:errors', errors: GrFormFileError[]): void\n}>()\n\nconst inputRef = ref<HTMLInputElement | null>(null)\nconst localErrors = ref<GrFormFileError[]>([])\n\nconst files = computed<File[]>(() => {\n if (props.multiple) {\n return Array.isArray(props.modelValue) ? props.modelValue : []\n }\n\n return props.modelValue instanceof File ? [props.modelValue] : []\n})\n\nconst hasFiles = computed(() => files.value.length > 0)\n\nfunction clearInputValue() {\n if (!inputRef.value) return\n inputRef.value.value = ''\n}\n\nfunction setErrors(next: GrFormFileError[]) {\n localErrors.value = next\n emit('validation', next)\n emit('update:errors', next)\n}\n\nfunction clearErrors() {\n if (localErrors.value.length === 0) return\n setErrors([])\n}\n\nfunction openDialog() {\n if (props.disabled) return\n inputRef.value?.click()\n}\n\nfunction emitModel(nextFiles: File[]) {\n const value: File | File[] | null = props.multiple\n ? nextFiles\n : (nextFiles[0] ?? null)\n\n emit('update:modelValue', value)\n emit('change', value)\n}\n\nasync function applyFiles(nextFiles: File[]) {\n const isPromiseLike = (value: unknown): value is PromiseLike<any> => {\n return !!value && typeof (value as any).then === 'function'\n }\n\n const customValidator: FileValidator | undefined = props.validate\n ? async ({ files }) => (await props.validate?.(files)) ?? []\n : undefined\n\n const validators: FileValidator[] = [\n acceptValidator(props.accept),\n ...(props.validators ?? []),\n ...(customValidator ? [customValidator] : []),\n ]\n\n const res = runFileValidators(nextFiles, validators, {\n source: 'input',\n multiple: props.multiple,\n })\n\n const { files: picked, issues } = isPromiseLike(res) ? await res : res\n\n if (issues.length > 0) {\n setErrors(issues)\n clearInputValue()\n await nextTick()\n return\n }\n\n clearErrors()\n emitModel(picked)\n clearInputValue()\n await nextTick()\n}\n\nasync function onInputChange(event: Event) {\n if (props.disabled) return\n\n const target = event.target as HTMLInputElement | null\n const nextFiles = target?.files ? Array.prototype.slice.call(target.files) as File[] : []\n\n // Reset value so selecting the same file twice triggers change.\n if (target) target.value = ''\n await nextTick()\n\n await applyFiles(nextFiles)\n}\n\nfunction clearAll() {\n if (props.disabled) return\n clearErrors()\n clearInputValue()\n emit('clear')\n\n emit('update:modelValue', props.multiple ? [] : null)\n emit('change', props.multiple ? [] : null)\n}\n\nfunction removeAt(index: number) {\n if (props.disabled) return\n if (!props.multiple) {\n clearAll()\n return\n }\n\n const next = files.value.slice()\n next.splice(index, 1)\n\n emit('update:modelValue', next)\n emit('change', next)\n}\n\nfunction issueMessage(issue: GrFormFileError): string {\n if (issue.fileName) return `${issue.fileName}: ${issue.message}`\n return issue.message\n}\n\nconst dropzone = computed(() => {\n const customValidator: FileValidator | undefined = props.validate\n ? async ({ files }) => (await props.validate?.(files)) ?? []\n : undefined\n\n const validators: FileValidator[] = [\n acceptValidator(props.accept),\n ...(props.validators ?? []),\n ...(customValidator ? [customValidator] : []),\n ]\n\n return {\n enabled: !props.disabled,\n multiple: props.multiple,\n validators,\n onFiles: async (dropped: File[]) => {\n // `v-dropzone` уже выполнил валидаторы и нормализацию по `multiple`.\n clearErrors()\n emitModel(dropped)\n clearInputValue()\n await nextTick()\n },\n onError: (error: unknown) => {\n if (error instanceof FileValidationError) {\n setErrors(error.issues)\n }\n else {\n setErrors([\n {\n code: 'accept',\n message: 'Failed to validate dropped files',\n },\n ])\n }\n },\n }\n})\n\nwatch(\n () => props.modelValue,\n (value) => {\n if (!inputRef.value) return\n\n if (!value || (Array.isArray(value) && value.length === 0)) {\n // Позволяет выбрать тот же файл снова после внешнего сброса.\n inputRef.value.value = ''\n }\n },\n)\n</script>\n\n<template>\n <div\n v-dropzone=\"dropzone\"\n data-ds-form-file\n class=\"rounded-[var(--ds-radius-md)]\"\n :class=\"disabled ? 'opacity-60 cursor-not-allowed' : ''\"\n >\n <input\n ref=\"inputRef\"\n data-ds-form-file-input\n type=\"file\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n class=\"absolute opacity-0 w-px h-px pointer-events-none\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n :disabled=\"disabled\"\n @change=\"onInputChange\"\n >\n\n <div class=\"flex flex-col gap-2\">\n <div class=\"flex flex-wrap items-center gap-3\">\n <GrButton\n variant=\"secondary\"\n size=\"sm\"\n data-ds-form-file-upload-btn\n :disabled=\"disabled\"\n @click.prevent=\"openDialog\"\n >\n <GrIcon size=\"sm\" aria-hidden=\"true\">\n <IconUpload />\n </GrIcon>\n <span class=\"ml-2\">{{ hasFiles ? changeText : uploadText }}</span>\n </GrButton>\n\n <GrButton\n v-if=\"hasFiles && !multiple\"\n variant=\"secondary\"\n size=\"sm\"\n data-ds-form-file-clear-btn\n :disabled=\"disabled\"\n @click.prevent=\"clearAll\"\n >\n <GrIcon size=\"sm\" aria-hidden=\"true\">\n <IconX />\n </GrIcon>\n <span class=\"ml-2\">{{ removeText }}</span>\n </GrButton>\n\n <GrButton\n v-if=\"multiple && hasFiles\"\n variant=\"secondary\"\n size=\"sm\"\n data-ds-form-file-clear-all-btn\n :disabled=\"disabled\"\n @click.prevent=\"clearAll\"\n >\n <GrIcon size=\"sm\" aria-hidden=\"true\">\n <IconX />\n </GrIcon>\n <span class=\"ml-2\">{{ clearAllText }}</span>\n </GrButton>\n\n <span\n v-if=\"!multiple && hasFiles\"\n class=\"text-sm text-[var(--muted-fg)] truncate max-w-[240px]\"\n data-ds-form-file-single-name\n :title=\"files[0]?.name\"\n >\n {{ files[0]?.name }}\n </span>\n\n <span\n v-if=\"!hasFiles\"\n class=\"text-sm text-[var(--muted-fg)]\"\n data-ds-form-file-placeholder\n >\n {{ placeholder }}\n </span>\n </div>\n\n <div v-if=\"multiple && hasFiles\" class=\"flex flex-col gap-2\">\n <div\n v-for=\"(file, index) in files\"\n :key=\"`${file.name}-${file.size}-${index}`\"\n class=\"flex items-center gap-2\"\n data-ds-form-file-item\n >\n <span\n class=\"text-sm text-[var(--muted-fg)] truncate max-w-[240px]\"\n :title=\"file.name\"\n data-ds-form-file-item-name\n >\n {{ file.name }}\n </span>\n\n <button\n type=\"button\"\n class=\"text-xs text-[var(--muted-fg)] hover:text-[var(--fg)]\"\n data-ds-form-file-item-remove\n :disabled=\"disabled\"\n @click.prevent=\"removeAt(index)\"\n >\n {{ removeText }}\n </button>\n </div>\n </div>\n\n <slot name=\"errors\" :errors=\"localErrors\">\n <div v-if=\"localErrors.length\" class=\"text-sm text-[var(--ds-danger)]\" data-ds-form-file-errors>\n <div v-for=\"(e, i) in localErrors\" :key=\"i\" data-ds-form-file-error>\n {{ issueMessage(e) }}\n </div>\n </div>\n </slot>\n </div>\n </div>\n</template>\n\n<style scoped>\n[data-ds-form-file].ds-dropzone--over {\n outline: 2px solid var(--ring);\n outline-offset: 2px;\n}\n</style>\n","<script setup lang=\"ts\">\nimport { computed, nextTick, ref, watch } from 'vue'\n\nimport IconUpload from '~icons/lucide/upload'\nimport IconX from '~icons/lucide/x'\n\nimport GrButton from '../GrButton/GrButton.vue'\nimport GrIcon from '../GrIcon/GrIcon.vue'\nimport { vDropzone } from '../../directives'\nimport { acceptValidator, FileValidationError, runFileValidators } from '../../fileValidation'\nimport type { FileValidationIssue, FileValidator } from '../../fileValidation'\n\ndefineOptions({\n name: 'GrFormFile',\n})\n\nexport type GrFormFileError = FileValidationIssue\n\n/**\n * Пропы `GrFormFile` — форма-поле для выбора файлов с встроенной валидацией,\n * drag&drop (через `v-dropzone`) и списком выбранных файлов.\n *\n * Все `*Text`/`placeholder` — i18n-friendly, принимают готовые строки локали.\n */\nexport interface GrFormFileProps {\n modelValue: File | File[] | null\n multiple?: boolean\n disabled?: boolean\n /** W3C `accept` для `<input type=\"file\">` + sugar к `acceptValidator(...)`. */\n accept?: string\n validators?: FileValidator[]\n uploadText?: string\n changeText?: string\n removeText?: string\n clearAllText?: string\n placeholder?: string\n /** Дополнительная (кастомная) валидация на стороне потребителя. */\n validate?: (files: File[]) => GrFormFileError[] | Promise<GrFormFileError[]>\n}\n\nconst props = withDefaults(\n defineProps<GrFormFileProps>(),\n {\n multiple: false,\n disabled: false,\n accept: undefined,\n uploadText: 'Upload file',\n changeText: 'Change file',\n removeText: 'Remove',\n clearAllText: 'Clear all',\n placeholder: 'No files selected',\n validators: undefined,\n validate: undefined,\n },\n)\n\nconst emit = defineEmits<{\n (e: 'update:modelValue', value: File | File[] | null): void\n (e: 'change', value: File | File[] | null): void\n (e: 'clear'): void\n (e: 'validation', errors: GrFormFileError[]): void\n (e: 'update:errors', errors: GrFormFileError[]): void\n}>()\n\nconst inputRef = ref<HTMLInputElement | null>(null)\nconst localErrors = ref<GrFormFileError[]>([])\n\nconst files = computed<File[]>(() => {\n if (props.multiple) {\n return Array.isArray(props.modelValue) ? props.modelValue : []\n }\n\n return props.modelValue instanceof File ? [props.modelValue] : []\n})\n\nconst hasFiles = computed(() => files.value.length > 0)\n\nfunction clearInputValue() {\n if (!inputRef.value) return\n inputRef.value.value = ''\n}\n\nfunction setErrors(next: GrFormFileError[]) {\n localErrors.value = next\n emit('validation', next)\n emit('update:errors', next)\n}\n\nfunction clearErrors() {\n if (localErrors.value.length === 0) return\n setErrors([])\n}\n\nfunction openDialog() {\n if (props.disabled) return\n inputRef.value?.click()\n}\n\nfunction emitModel(nextFiles: File[]) {\n const value: File | File[] | null = props.multiple\n ? nextFiles\n : (nextFiles[0] ?? null)\n\n emit('update:modelValue', value)\n emit('change', value)\n}\n\nasync function applyFiles(nextFiles: File[]) {\n const isPromiseLike = (value: unknown): value is PromiseLike<any> => {\n return !!value && typeof (value as any).then === 'function'\n }\n\n const customValidator: FileValidator | undefined = props.validate\n ? async ({ files }) => (await props.validate?.(files)) ?? []\n : undefined\n\n const validators: FileValidator[] = [\n acceptValidator(props.accept),\n ...(props.validators ?? []),\n ...(customValidator ? [customValidator] : []),\n ]\n\n const res = runFileValidators(nextFiles, validators, {\n source: 'input',\n multiple: props.multiple,\n })\n\n const { files: picked, issues } = isPromiseLike(res) ? await res : res\n\n if (issues.length > 0) {\n setErrors(issues)\n clearInputValue()\n await nextTick()\n return\n }\n\n clearErrors()\n emitModel(picked)\n clearInputValue()\n await nextTick()\n}\n\nasync function onInputChange(event: Event) {\n if (props.disabled) return\n\n const target = event.target as HTMLInputElement | null\n const nextFiles = target?.files ? Array.prototype.slice.call(target.files) as File[] : []\n\n // Reset value so selecting the same file twice triggers change.\n if (target) target.value = ''\n await nextTick()\n\n await applyFiles(nextFiles)\n}\n\nfunction clearAll() {\n if (props.disabled) return\n clearErrors()\n clearInputValue()\n emit('clear')\n\n emit('update:modelValue', props.multiple ? [] : null)\n emit('change', props.multiple ? [] : null)\n}\n\nfunction removeAt(index: number) {\n if (props.disabled) return\n if (!props.multiple) {\n clearAll()\n return\n }\n\n const next = files.value.slice()\n next.splice(index, 1)\n\n emit('update:modelValue', next)\n emit('change', next)\n}\n\nfunction issueMessage(issue: GrFormFileError): string {\n if (issue.fileName) return `${issue.fileName}: ${issue.message}`\n return issue.message\n}\n\nconst dropzone = computed(() => {\n const customValidator: FileValidator | undefined = props.validate\n ? async ({ files }) => (await props.validate?.(files)) ?? []\n : undefined\n\n const validators: FileValidator[] = [\n acceptValidator(props.accept),\n ...(props.validators ?? []),\n ...(customValidator ? [customValidator] : []),\n ]\n\n return {\n enabled: !props.disabled,\n multiple: props.multiple,\n validators,\n onFiles: async (dropped: File[]) => {\n // `v-dropzone` уже выполнил валидаторы и нормализацию по `multiple`.\n clearErrors()\n emitModel(dropped)\n clearInputValue()\n await nextTick()\n },\n onError: (error: unknown) => {\n if (error instanceof FileValidationError) {\n setErrors(error.issues)\n }\n else {\n setErrors([\n {\n code: 'accept',\n message: 'Failed to validate dropped files',\n },\n ])\n }\n },\n }\n})\n\nwatch(\n () => props.modelValue,\n (value) => {\n if (!inputRef.value) return\n\n if (!value || (Array.isArray(value) && value.length === 0)) {\n // Позволяет выбрать тот же файл снова после внешнего сброса.\n inputRef.value.value = ''\n }\n },\n)\n</script>\n\n<template>\n <div\n v-dropzone=\"dropzone\"\n data-ds-form-file\n class=\"rounded-[var(--ds-radius-md)]\"\n :class=\"disabled ? 'opacity-60 cursor-not-allowed' : ''\"\n >\n <input\n ref=\"inputRef\"\n data-ds-form-file-input\n type=\"file\"\n tabindex=\"-1\"\n aria-hidden=\"true\"\n class=\"absolute opacity-0 w-px h-px pointer-events-none\"\n :multiple=\"multiple\"\n :accept=\"accept\"\n :disabled=\"disabled\"\n @change=\"onInputChange\"\n >\n\n <div class=\"flex flex-col gap-2\">\n <div class=\"flex flex-wrap items-center gap-3\">\n <GrButton\n variant=\"secondary\"\n size=\"sm\"\n data-ds-form-file-upload-btn\n :disabled=\"disabled\"\n @click.prevent=\"openDialog\"\n >\n <GrIcon size=\"sm\" aria-hidden=\"true\">\n <IconUpload />\n </GrIcon>\n <span class=\"ml-2\">{{ hasFiles ? changeText : uploadText }}</span>\n </GrButton>\n\n <GrButton\n v-if=\"hasFiles && !multiple\"\n variant=\"secondary\"\n size=\"sm\"\n data-ds-form-file-clear-btn\n :disabled=\"disabled\"\n @click.prevent=\"clearAll\"\n >\n <GrIcon size=\"sm\" aria-hidden=\"true\">\n <IconX />\n </GrIcon>\n <span class=\"ml-2\">{{ removeText }}</span>\n </GrButton>\n\n <GrButton\n v-if=\"multiple && hasFiles\"\n variant=\"secondary\"\n size=\"sm\"\n data-ds-form-file-clear-all-btn\n :disabled=\"disabled\"\n @click.prevent=\"clearAll\"\n >\n <GrIcon size=\"sm\" aria-hidden=\"true\">\n <IconX />\n </GrIcon>\n <span class=\"ml-2\">{{ clearAllText }}</span>\n </GrButton>\n\n <span\n v-if=\"!multiple && hasFiles\"\n class=\"text-sm text-[var(--muted-fg)] truncate max-w-[240px]\"\n data-ds-form-file-single-name\n :title=\"files[0]?.name\"\n >\n {{ files[0]?.name }}\n </span>\n\n <span\n v-if=\"!hasFiles\"\n class=\"text-sm text-[var(--muted-fg)]\"\n data-ds-form-file-placeholder\n >\n {{ placeholder }}\n </span>\n </div>\n\n <div v-if=\"multiple && hasFiles\" class=\"flex flex-col gap-2\">\n <div\n v-for=\"(file, index) in files\"\n :key=\"`${file.name}-${file.size}-${index}`\"\n class=\"flex items-center gap-2\"\n data-ds-form-file-item\n >\n <span\n class=\"text-sm text-[var(--muted-fg)] truncate max-w-[240px]\"\n :title=\"file.name\"\n data-ds-form-file-item-name\n >\n {{ file.name }}\n </span>\n\n <button\n type=\"button\"\n class=\"text-xs text-[var(--muted-fg)] hover:text-[var(--fg)]\"\n data-ds-form-file-item-remove\n :disabled=\"disabled\"\n @click.prevent=\"removeAt(index)\"\n >\n {{ removeText }}\n </button>\n </div>\n </div>\n\n <slot name=\"errors\" :errors=\"localErrors\">\n <div v-if=\"localErrors.length\" class=\"text-sm text-[var(--ds-danger)]\" data-ds-form-file-errors>\n <div v-for=\"(e, i) in localErrors\" :key=\"i\" data-ds-form-file-error>\n {{ issueMessage(e) }}\n </div>\n </div>\n </slot>\n </div>\n </div>\n</template>\n\n<style scoped>\n[data-ds-form-file].ds-dropzone--over {\n outline: 2px solid var(--ring);\n outline-offset: 2px;\n}\n</style>\n"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createCommentVNode, createElementBlock, createElementVNode, defineComponent, openBlock, renderSlot, toDisplayString, unref, useId } from "vue";
|
|
2
|
+
//#region src/components/GrFormSection/GrFormSection.vue?vue&type=script&setup=true&lang.ts
|
|
3
|
+
var _hoisted_1 = ["aria-labelledby", "aria-describedby"];
|
|
4
|
+
var _hoisted_2 = ["id"];
|
|
5
|
+
var _hoisted_3 = ["id"];
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region src/components/GrFormSection/GrFormSection.vue
|
|
8
|
+
var GrFormSection_default = /* @__PURE__ */ defineComponent({
|
|
9
|
+
__name: "GrFormSection",
|
|
10
|
+
props: {
|
|
11
|
+
title: {},
|
|
12
|
+
description: { default: void 0 }
|
|
13
|
+
},
|
|
14
|
+
setup(__props) {
|
|
15
|
+
const titleId = useId();
|
|
16
|
+
const descriptionId = useId();
|
|
17
|
+
return (_ctx, _cache) => {
|
|
18
|
+
return openBlock(), createElementBlock("section", {
|
|
19
|
+
"data-ds-form-section": "",
|
|
20
|
+
class: "grid gap-4",
|
|
21
|
+
"aria-labelledby": unref(titleId),
|
|
22
|
+
"aria-describedby": __props.description ? unref(descriptionId) : void 0
|
|
23
|
+
}, [createElementVNode("div", null, [createElementVNode("div", {
|
|
24
|
+
id: unref(titleId),
|
|
25
|
+
class: "text-[14px] font-700"
|
|
26
|
+
}, toDisplayString(__props.title), 9, _hoisted_2), __props.description ? (openBlock(), createElementBlock("div", {
|
|
27
|
+
key: 0,
|
|
28
|
+
id: unref(descriptionId),
|
|
29
|
+
class: "mt-1 text-[13px] text-[var(--muted-fg)]"
|
|
30
|
+
}, toDisplayString(__props.description), 9, _hoisted_3)) : createCommentVNode("", true)]), renderSlot(_ctx.$slots, "default")], 8, _hoisted_1);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
//#endregion
|
|
35
|
+
export { GrFormSection_default as t };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=GrFormSection-BIPB1RIk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrFormSection-BIPB1RIk.js","names":[],"sources":["../../../../src/components/GrFormSection/GrFormSection.vue","../../../../src/components/GrFormSection/GrFormSection.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useId } from 'vue'\n\n/**\n * GrFormSection — секция формы с заголовком, опциональным описанием и контентом.\n *\n * - `section` связан с заголовком через `aria-labelledby` и c описанием\n * (если есть) через `aria-describedby` — для a11y.\n */\nexport interface GrFormSectionProps {\n title: string\n description?: string\n}\n\nwithDefaults(defineProps<GrFormSectionProps>(), {\n description: undefined,\n})\n\nconst titleId = useId()\nconst descriptionId = useId()\n</script>\n\n<template>\n <section\n data-ds-form-section\n class=\"grid gap-4\"\n :aria-labelledby=\"titleId\"\n :aria-describedby=\"description ? descriptionId : undefined\"\n >\n <div>\n <div :id=\"titleId\" class=\"text-[14px] font-700\">\n {{ title }}\n </div>\n <div\n v-if=\"description\"\n :id=\"descriptionId\"\n class=\"mt-1 text-[13px] text-[var(--muted-fg)]\"\n >\n {{ description }}\n </div>\n </div>\n <slot />\n </section>\n</template>\n","<script setup lang=\"ts\">\nimport { useId } from 'vue'\n\n/**\n * GrFormSection — секция формы с заголовком, опциональным описанием и контентом.\n *\n * - `section` связан с заголовком через `aria-labelledby` и c описанием\n * (если есть) через `aria-describedby` — для a11y.\n */\nexport interface GrFormSectionProps {\n title: string\n description?: string\n}\n\nwithDefaults(defineProps<GrFormSectionProps>(), {\n description: undefined,\n})\n\nconst titleId = useId()\nconst descriptionId = useId()\n</script>\n\n<template>\n <section\n data-ds-form-section\n class=\"grid gap-4\"\n :aria-labelledby=\"titleId\"\n :aria-describedby=\"description ? descriptionId : undefined\"\n >\n <div>\n <div :id=\"titleId\" class=\"text-[14px] font-700\">\n {{ title }}\n </div>\n <div\n v-if=\"description\"\n :id=\"descriptionId\"\n class=\"mt-1 text-[13px] text-[var(--muted-fg)]\"\n >\n {{ description }}\n </div>\n </div>\n <slot />\n </section>\n</template>\n"],"mappings":";;;;;;;;;;;;;;EAkBA,MAAM,UAAU,OAAM;EACtB,MAAM,gBAAgB,OAAM;;uBAI1B,mBAmBU,WAAA;IAlBR,wBAAA;IACA,OAAM;IACL,mBAAiB,MAAA,QAAO;IACxB,oBAAkB,QAAA,cAAc,MAAA,cAAa,GAAG,KAAA;OAEjD,mBAWM,OAAA,MAAA,CAVJ,mBAEM,OAAA;IAFA,IAAI,MAAA,QAAO;IAAE,OAAM;sBACpB,QAAA,MAAK,EAAA,GAAA,WAAA,EAGF,QAAA,eAAA,WAAA,EADR,mBAMM,OAAA;;IAJH,IAAI,MAAA,cAAa;IAClB,OAAM;sBAEH,QAAA,YAAW,EAAA,GAAA,WAAA,IAAA,mBAAA,IAAA,KAAA,CAAA,CAAA,EAGlB,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,GAAA,WAAA"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { computed, createElementBlock, defineComponent, normalizeStyle, openBlock, renderSlot } from "vue";
|
|
2
|
+
import '../../../GrIcon.css';//#endregion
|
|
3
|
+
//#region src/components/GrIcon/GrIcon.vue
|
|
4
|
+
var GrIcon_default = /* @__PURE__ */ defineComponent({
|
|
5
|
+
__name: "GrIcon",
|
|
6
|
+
props: { size: {} },
|
|
7
|
+
setup(__props) {
|
|
8
|
+
const GR_ICON_SIZE_MAP = {
|
|
9
|
+
sm: 16,
|
|
10
|
+
md: 18,
|
|
11
|
+
lg: 20
|
|
12
|
+
};
|
|
13
|
+
function resolveGrIconSizePx(size) {
|
|
14
|
+
if (typeof size === "number") return size;
|
|
15
|
+
return GR_ICON_SIZE_MAP[size];
|
|
16
|
+
}
|
|
17
|
+
const props = __props;
|
|
18
|
+
const resolvedSize = computed(() => props.size ?? "md");
|
|
19
|
+
const iconStyle = computed(() => {
|
|
20
|
+
return { "--ds-icon-size": `${resolveGrIconSizePx(resolvedSize.value)}px` };
|
|
21
|
+
});
|
|
22
|
+
return (_ctx, _cache) => {
|
|
23
|
+
return openBlock(), createElementBlock("span", {
|
|
24
|
+
"data-ds-icon": "",
|
|
25
|
+
class: "ds-icon inline-flex items-center justify-center align-middle",
|
|
26
|
+
style: normalizeStyle(iconStyle.value)
|
|
27
|
+
}, [renderSlot(_ctx.$slots, "default")], 4);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//#endregion
|
|
32
|
+
export { GrIcon_default as t };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=GrIcon-BV7RBU_0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GrIcon-BV7RBU_0.js","names":[],"sources":["../../../../src/components/GrIcon/GrIcon.vue","../../../../src/components/GrIcon/GrIcon.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {computed} from 'vue'\n\nexport type GrIconSize = 'sm' | 'md' | 'lg'\n\nconst GR_ICON_SIZE_MAP: Record<GrIconSize, number> = {\n sm: 16,\n md: 18,\n lg: 20,\n}\n\nfunction resolveGrIconSizePx(size: GrIconSize | number): number {\n if (typeof size === 'number') return size\n return GR_ICON_SIZE_MAP[size]\n}\n\nconst props = defineProps<{\n size?: GrIconSize | number\n}>()\n\nconst resolvedSize = computed(() => props.size ?? 'md')\n\nconst iconStyle = computed(() => {\n return {\n '--ds-icon-size': `${resolveGrIconSizePx(resolvedSize.value)}px`,\n } as Record<string, string>\n})\n</script>\n\n<template>\n <span\n data-ds-icon\n class=\"ds-icon inline-flex items-center justify-center align-middle\"\n :style=\"iconStyle\"\n >\n <slot />\n </span>\n</template>\n<style>\n/*\n * GrIcon.\n *\n * This must be global because icons are usually passed via slots (SVG),\n * and we want consistent sizing without relying on SFC scoped + :deep.\n */\n:where(.ds-icon) {\n --ds-icon-size: 18px;\n width: var(--ds-icon-size);\n min-width: var(--ds-icon-size);\n height: var(--ds-icon-size);\n line-height: 0;\n flex: none;\n}\n\n:where(.ds-icon svg) {\n width: 100%;\n height: 100%;\n display: block;\n}\n</style>","<script setup lang=\"ts\">\nimport {computed} from 'vue'\n\nexport type GrIconSize = 'sm' | 'md' | 'lg'\n\nconst GR_ICON_SIZE_MAP: Record<GrIconSize, number> = {\n sm: 16,\n md: 18,\n lg: 20,\n}\n\nfunction resolveGrIconSizePx(size: GrIconSize | number): number {\n if (typeof size === 'number') return size\n return GR_ICON_SIZE_MAP[size]\n}\n\nconst props = defineProps<{\n size?: GrIconSize | number\n}>()\n\nconst resolvedSize = computed(() => props.size ?? 'md')\n\nconst iconStyle = computed(() => {\n return {\n '--ds-icon-size': `${resolveGrIconSizePx(resolvedSize.value)}px`,\n } as Record<string, string>\n})\n</script>\n\n<template>\n <span\n data-ds-icon\n class=\"ds-icon inline-flex items-center justify-center align-middle\"\n :style=\"iconStyle\"\n >\n <slot />\n </span>\n</template>\n<style>\n/*\n * GrIcon.\n *\n * This must be global because icons are usually passed via slots (SVG),\n * and we want consistent sizing without relying on SFC scoped + :deep.\n */\n:where(.ds-icon) {\n --ds-icon-size: 18px;\n width: var(--ds-icon-size);\n min-width: var(--ds-icon-size);\n height: var(--ds-icon-size);\n line-height: 0;\n flex: none;\n}\n\n:where(.ds-icon svg) {\n width: 100%;\n height: 100%;\n display: block;\n}\n</style>"],"mappings":";;;;;;;EAKA,MAAM,mBAA+C;GACnD,IAAI;GACJ,IAAI;GACJ,IAAI;GACN;EAEA,SAAS,oBAAoB,MAAmC;AAC9D,OAAI,OAAO,SAAS,SAAU,QAAO;AACrC,UAAO,iBAAiB;;EAG1B,MAAM,QAAQ;EAId,MAAM,eAAe,eAAe,MAAM,QAAQ,KAAI;EAEtD,MAAM,YAAY,eAAe;AAC/B,UAAO,EACL,kBAAkB,GAAG,oBAAoB,aAAa,MAAM,CAAC,KAC9D;IACF;;uBAIC,mBAMO,QAAA;IALH,gBAAA;IACA,OAAM;IACL,OAAK,eAAE,UAAA,MAAS;OAEnB,WAAQ,KAAA,QAAA,UAAA,CAAA,EAAA,EAAA"}
|