@will-ui/vue 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +48 -0
- package/TAILWIND.md +282 -0
- package/dist/_virtual/_rolldown/runtime.js +13 -0
- package/dist/components/audioPlayer/AudioPlayer.d.ts +123 -0
- package/dist/components/audioPlayer/AudioPlayer.js +375 -0
- package/dist/components/audioPlayer/AudioPlayer.js.map +1 -0
- package/dist/components/audioPlayer/index.d.ts +2 -0
- package/dist/components/audioPlayer/style/index.css +1 -0
- package/dist/components/btn/Btn.d.ts +45 -0
- package/dist/components/btn/Btn.js +165 -0
- package/dist/components/btn/Btn.js.map +1 -0
- package/dist/components/btn/config.d.ts +33 -0
- package/dist/components/btn/config.js +20 -0
- package/dist/components/btn/config.js.map +1 -0
- package/dist/components/btn/context.d.ts +12 -0
- package/dist/components/btn/context.js +6 -0
- package/dist/components/btn/context.js.map +1 -0
- package/dist/components/btn/index.d.ts +5 -0
- package/dist/components/btn/style/index.css +1 -0
- package/dist/components/btnGroup/BtnGroup.d.ts +46 -0
- package/dist/components/btnGroup/BtnGroup.js +43 -0
- package/dist/components/btnGroup/BtnGroup.js.map +1 -0
- package/dist/components/btnGroup/config.d.ts +14 -0
- package/dist/components/btnGroup/config.js +11 -0
- package/dist/components/btnGroup/config.js.map +1 -0
- package/dist/components/btnGroup/index.d.ts +3 -0
- package/dist/components/btnGroup/style/index.css +1 -0
- package/dist/components/cascade/Cascade.d.ts +1957 -0
- package/dist/components/cascade/Cascade.js +283 -0
- package/dist/components/cascade/Cascade.js.map +1 -0
- package/dist/components/cascade/config.d.ts +30 -0
- package/dist/components/cascade/config.js +18 -0
- package/dist/components/cascade/config.js.map +1 -0
- package/dist/components/cascade/index.d.ts +3 -0
- package/dist/components/cascade/style/index.css +1 -0
- package/dist/components/checkbox/Checkbox.d.ts +241 -0
- package/dist/components/checkbox/Checkbox.js +182 -0
- package/dist/components/checkbox/Checkbox.js.map +1 -0
- package/dist/components/checkbox/config.d.ts +18 -0
- package/dist/components/checkbox/config.js +11 -0
- package/dist/components/checkbox/config.js.map +1 -0
- package/dist/components/checkbox/index.d.ts +3 -0
- package/dist/components/checkbox/style/index.css +1 -0
- package/dist/components/choose/Choose.d.ts +1016 -0
- package/dist/components/choose/Choose.js +402 -0
- package/dist/components/choose/Choose.js.map +1 -0
- package/dist/components/choose/config.d.ts +37 -0
- package/dist/components/choose/config.js +21 -0
- package/dist/components/choose/config.js.map +1 -0
- package/dist/components/choose/index.d.ts +3 -0
- package/dist/components/choose/injectionKey.d.ts +12 -0
- package/dist/components/choose/injectionKey.js +11 -0
- package/dist/components/choose/injectionKey.js.map +1 -0
- package/dist/components/choose/style/index.css +1 -0
- package/dist/components/choose2/Choose2.d.ts +1711 -0
- package/dist/components/choose2/Choose2.js +403 -0
- package/dist/components/choose2/Choose2.js.map +1 -0
- package/dist/components/choose2/config.d.ts +37 -0
- package/dist/components/choose2/config.js +20 -0
- package/dist/components/choose2/config.js.map +1 -0
- package/dist/components/choose2/index.d.ts +3 -0
- package/dist/components/choose2/style/index.css +1 -0
- package/dist/components/chooseItem/ChooseItem.d.ts +46 -0
- package/dist/components/chooseItem/ChooseItem.js +72 -0
- package/dist/components/chooseItem/ChooseItem.js.map +1 -0
- package/dist/components/chooseItem/config.d.ts +12 -0
- package/dist/components/chooseItem/config.js +9 -0
- package/dist/components/chooseItem/config.js.map +1 -0
- package/dist/components/chooseItem/index.d.ts +3 -0
- package/dist/components/chooseItem/style/index.css +1 -0
- package/dist/components/circleProgress/CircleProgress.d.ts +83 -0
- package/dist/components/circleProgress/CircleProgress.js +108 -0
- package/dist/components/circleProgress/CircleProgress.js.map +1 -0
- package/dist/components/circleProgress/index.d.ts +1 -0
- package/dist/components/circleProgress/style/index.css +1 -0
- package/dist/components/close/Close.d.ts +114 -0
- package/dist/components/close/Close.js +82 -0
- package/dist/components/close/Close.js.map +1 -0
- package/dist/components/close/index.d.ts +1 -0
- package/dist/components/close/style/index.css +1 -0
- package/dist/components/colorPicker/ColorPicker.d.ts +138 -0
- package/dist/components/colorPicker/ColorPicker.js +404 -0
- package/dist/components/colorPicker/ColorPicker.js.map +1 -0
- package/dist/components/colorPicker/config.d.ts +24 -0
- package/dist/components/colorPicker/config.js +14 -0
- package/dist/components/colorPicker/config.js.map +1 -0
- package/dist/components/colorPicker/index.d.ts +4 -0
- package/dist/components/colorPicker/style/index.css +1 -0
- package/dist/components/confirm/index.d.ts +73 -0
- package/dist/components/confirm/index.js +177 -0
- package/dist/components/confirm/index.js.map +1 -0
- package/dist/components/confirm/src/style/index.css +1 -0
- package/dist/components/copy/Copy.d.ts +28 -0
- package/dist/components/copy/Copy.js +110 -0
- package/dist/components/copy/Copy.js.map +1 -0
- package/dist/components/copy/config.d.ts +25 -0
- package/dist/components/copy/config.js +13 -0
- package/dist/components/copy/config.js.map +1 -0
- package/dist/components/copy/index.d.ts +5 -0
- package/dist/components/copy/spawnCopyToast.d.ts +13 -0
- package/dist/components/copy/spawnCopyToast.js +150 -0
- package/dist/components/copy/spawnCopyToast.js.map +1 -0
- package/dist/components/copy/style/index.css +1 -0
- package/dist/components/cornerEars/CornerEars.d.ts +24 -0
- package/dist/components/cornerEars/CornerEars.js +108 -0
- package/dist/components/cornerEars/CornerEars.js.map +1 -0
- package/dist/components/cornerEars/cornerGeometry.d.ts +8 -0
- package/dist/components/cornerEars/cornerGeometry.js +63 -0
- package/dist/components/cornerEars/cornerGeometry.js.map +1 -0
- package/dist/components/cornerEars/index.d.ts +2 -0
- package/dist/components/cornerEars/style/index.css +1 -0
- package/dist/components/date/DatePanel.js +398 -0
- package/dist/components/date/DatePanel.js.map +1 -0
- package/dist/components/date/DatePicker.d.ts +226 -0
- package/dist/components/date/DatePicker.js +349 -0
- package/dist/components/date/DatePicker.js.map +1 -0
- package/dist/components/date/Days.d.ts +44 -0
- package/dist/components/date/Days.js +93 -0
- package/dist/components/date/Days.js.map +1 -0
- package/dist/components/date/Months.d.ts +32 -0
- package/dist/components/date/Months.js +87 -0
- package/dist/components/date/Months.js.map +1 -0
- package/dist/components/date/QuickDate.d.ts +24 -0
- package/dist/components/date/QuickDate.js +48 -0
- package/dist/components/date/QuickDate.js.map +1 -0
- package/dist/components/date/Years.d.ts +38 -0
- package/dist/components/date/Years.js +85 -0
- package/dist/components/date/Years.js.map +1 -0
- package/dist/components/date/_use/quickDate.d.ts +4 -0
- package/dist/components/date/_use/quickDate.js +30 -0
- package/dist/components/date/_use/quickDate.js.map +1 -0
- package/dist/components/date/_use/useDateModules.d.ts +37 -0
- package/dist/components/date/_use/useDateModules.js +100 -0
- package/dist/components/date/_use/useDateModules.js.map +1 -0
- package/dist/components/date/config.d.ts +32 -0
- package/dist/components/date/config.js +18 -0
- package/dist/components/date/config.js.map +1 -0
- package/dist/components/date/index.d.ts +3 -0
- package/dist/components/date/style/index.css +1 -0
- package/dist/components/date/types.d.ts +32 -0
- package/dist/components/drawer/Drawer.d.ts +332 -0
- package/dist/components/drawer/Drawer.js +329 -0
- package/dist/components/drawer/Drawer.js.map +1 -0
- package/dist/components/drawer/config.d.ts +28 -0
- package/dist/components/drawer/config.js +16 -0
- package/dist/components/drawer/config.js.map +1 -0
- package/dist/components/drawer/index.d.ts +3 -0
- package/dist/components/drawer/src/style/drawer.css +1 -0
- package/dist/components/ellipsis/Ellipsis.d.ts +74 -0
- package/dist/components/ellipsis/Ellipsis.js +103 -0
- package/dist/components/ellipsis/Ellipsis.js.map +1 -0
- package/dist/components/ellipsis/index.d.ts +1 -0
- package/dist/components/ellipsis/style/index.css +1 -0
- package/dist/components/empty/Empty.d.ts +92 -0
- package/dist/components/empty/Empty.js +85 -0
- package/dist/components/empty/Empty.js.map +1 -0
- package/dist/components/empty/config.d.ts +23 -0
- package/dist/components/empty/config.js +14 -0
- package/dist/components/empty/config.js.map +1 -0
- package/dist/components/empty/index.d.ts +3 -0
- package/dist/components/empty/style/index.css +1 -0
- package/dist/components/empty/type.d.ts +9 -0
- package/dist/components/equalizer/Equalizer.d.ts +62 -0
- package/dist/components/equalizer/Equalizer.js +56 -0
- package/dist/components/equalizer/Equalizer.js.map +1 -0
- package/dist/components/equalizer/index.d.ts +1 -0
- package/dist/components/equalizer/style/index.css +1 -0
- package/dist/components/fallback/Fallback.d.ts +44 -0
- package/dist/components/fallback/Fallback.js +55 -0
- package/dist/components/fallback/Fallback.js.map +1 -0
- package/dist/components/fallback/index.d.ts +1 -0
- package/dist/components/fallback/style/index.css +1 -0
- package/dist/components/form/Form.d.ts +169 -0
- package/dist/components/form/Form.js +235 -0
- package/dist/components/form/Form.js.map +1 -0
- package/dist/components/form/_use/formRules.d.ts +18 -0
- package/dist/components/form/_use/formRules.js +80 -0
- package/dist/components/form/_use/formRules.js.map +1 -0
- package/dist/components/form/config.d.ts +35 -0
- package/dist/components/form/config.js +20 -0
- package/dist/components/form/config.js.map +1 -0
- package/dist/components/form/context.d.ts +34 -0
- package/dist/components/form/context.js +8 -0
- package/dist/components/form/context.js.map +1 -0
- package/dist/components/form/index.d.ts +3 -0
- package/dist/components/form/style/index.css +1 -0
- package/dist/components/formItem/FormItem.d.ts +144 -0
- package/dist/components/formItem/FormItem.js +218 -0
- package/dist/components/formItem/FormItem.js.map +1 -0
- package/dist/components/formItem/config.d.ts +21 -0
- package/dist/components/formItem/config.js +12 -0
- package/dist/components/formItem/config.js.map +1 -0
- package/dist/components/formItem/context.d.ts +22 -0
- package/dist/components/formItem/context.js +8 -0
- package/dist/components/formItem/context.js.map +1 -0
- package/dist/components/formItem/index.d.ts +3 -0
- package/dist/components/formItem/style/index.css +1 -0
- package/dist/components/icon/Icon.d.ts +117 -0
- package/dist/components/icon/Icon.js +116 -0
- package/dist/components/icon/Icon.js.map +1 -0
- package/dist/components/icon/config.d.ts +28 -0
- package/dist/components/icon/config.js +16 -0
- package/dist/components/icon/config.js.map +1 -0
- package/dist/components/icon/index.d.ts +4 -0
- package/dist/components/icon/style/index.css +1 -0
- package/dist/components/icon/type.d.ts +16 -0
- package/dist/components/image/Image.d.ts +21 -0
- package/dist/components/image/Image.js +68 -0
- package/dist/components/image/Image.js.map +1 -0
- package/dist/components/image/config.d.ts +21 -0
- package/dist/components/image/config.js +11 -0
- package/dist/components/image/config.js.map +1 -0
- package/dist/components/image/index.d.ts +4 -0
- package/dist/components/image/style/index.css +1 -0
- package/dist/components/index.d.ts +79 -0
- package/dist/components/index.js +124 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/layer/Layer.d.ts +410 -0
- package/dist/components/layer/Layer.js +557 -0
- package/dist/components/layer/Layer.js.map +1 -0
- package/dist/components/layer/index.d.ts +2 -0
- package/dist/components/layer/injectionKey.d.ts +5 -0
- package/dist/components/layer/injectionKey.js +6 -0
- package/dist/components/layer/injectionKey.js.map +1 -0
- package/dist/components/layer/style/index.css +1 -0
- package/dist/components/lcdFont/LcdFont.d.ts +126 -0
- package/dist/components/lcdFont/LcdFont.js +232 -0
- package/dist/components/lcdFont/LcdFont.js.map +1 -0
- package/dist/components/lcdFont/config.d.ts +43 -0
- package/dist/components/lcdFont/config.js +41 -0
- package/dist/components/lcdFont/config.js.map +1 -0
- package/dist/components/lcdFont/format.d.ts +8 -0
- package/dist/components/lcdFont/format.js +39 -0
- package/dist/components/lcdFont/format.js.map +1 -0
- package/dist/components/lcdFont/index.d.ts +5 -0
- package/dist/components/lcdFont/segments.d.ts +32 -0
- package/dist/components/lcdFont/segments.js +326 -0
- package/dist/components/lcdFont/segments.js.map +1 -0
- package/dist/components/lcdFont/style/index.css +1 -0
- package/dist/components/lcdFont/type.d.ts +26 -0
- package/dist/components/list/List.d.ts +480 -0
- package/dist/components/list/List.js +289 -0
- package/dist/components/list/List.js.map +1 -0
- package/dist/components/list/config.d.ts +3 -0
- package/dist/components/list/index.d.ts +3 -0
- package/dist/components/list/style/index.css +1 -0
- package/dist/components/loading/Loading.d.ts +97 -0
- package/dist/components/loading/Loading.js +124 -0
- package/dist/components/loading/Loading.js.map +1 -0
- package/dist/components/loading/config.d.ts +22 -0
- package/dist/components/loading/config.js +13 -0
- package/dist/components/loading/config.js.map +1 -0
- package/dist/components/loading/index.d.ts +3 -0
- package/dist/components/loading/style/index.css +1 -0
- package/dist/components/loading/type.d.ts +13 -0
- package/dist/components/mask/Mask.d.ts +79 -0
- package/dist/components/mask/Mask.js +82 -0
- package/dist/components/mask/Mask.js.map +1 -0
- package/dist/components/mask/config.d.ts +21 -0
- package/dist/components/mask/config.js +14 -0
- package/dist/components/mask/config.js.map +1 -0
- package/dist/components/mask/index.d.ts +3 -0
- package/dist/components/mask/style/mask.css +1 -0
- package/dist/components/match/Match copy.d.ts +1600 -0
- package/dist/components/match/Match.d.ts +1621 -0
- package/dist/components/match/Match.js +343 -0
- package/dist/components/match/Match.js.map +1 -0
- package/dist/components/match/config.d.ts +29 -0
- package/dist/components/match/config.js +17 -0
- package/dist/components/match/config.js.map +1 -0
- package/dist/components/match/index.d.ts +3 -0
- package/dist/components/match/style/index.css +1 -0
- package/dist/components/modal/Modal.d.ts +460 -0
- package/dist/components/modal/Modal.js +297 -0
- package/dist/components/modal/Modal.js.map +1 -0
- package/dist/components/modal/config.d.ts +33 -0
- package/dist/components/modal/config.js +19 -0
- package/dist/components/modal/config.js.map +1 -0
- package/dist/components/modal/index.d.ts +3 -0
- package/dist/components/modal/style/index.css +1 -0
- package/dist/components/notice/Notice.d.ts +137 -0
- package/dist/components/notice/Notice.js +192 -0
- package/dist/components/notice/Notice.js.map +1 -0
- package/dist/components/notice/index.d.ts +51 -0
- package/dist/components/notice/index.js +243 -0
- package/dist/components/notice/index.js.map +1 -0
- package/dist/components/notice/src/_util/index.d.ts +11 -0
- package/dist/components/notice/src/_util/index.js +50 -0
- package/dist/components/notice/src/_util/index.js.map +1 -0
- package/dist/components/notice/src/style/index.css +1 -0
- package/dist/components/notice/types.d.ts +98 -0
- package/dist/components/number/Number copy.d.ts +966 -0
- package/dist/components/number/Number.d.ts +1034 -0
- package/dist/components/number/Number.js +241 -0
- package/dist/components/number/Number.js.map +1 -0
- package/dist/components/number/config.d.ts +26 -0
- package/dist/components/number/config.js +15 -0
- package/dist/components/number/config.js.map +1 -0
- package/dist/components/number/index.d.ts +3 -0
- package/dist/components/number/style/index.css +1 -0
- package/dist/components/pagination/index.d.ts +3 -0
- package/dist/components/pagination/src/Pagination.d.ts +2830 -0
- package/dist/components/pagination/src/Pagination.js +288 -0
- package/dist/components/pagination/src/Pagination.js.map +1 -0
- package/dist/components/pagination/src/config.d.ts +25 -0
- package/dist/components/pagination/src/config.js +20 -0
- package/dist/components/pagination/src/config.js.map +1 -0
- package/dist/components/pagination/src/style/index.css +1 -0
- package/dist/components/picture/Picture.d.ts +18 -0
- package/dist/components/picture/Picture.js +254 -0
- package/dist/components/picture/Picture.js.map +1 -0
- package/dist/components/picture/PictureToolbar.d.ts +29 -0
- package/dist/components/picture/PictureToolbar.js +97 -0
- package/dist/components/picture/PictureToolbar.js.map +1 -0
- package/dist/components/picture/PictureViewport.d.ts +47 -0
- package/dist/components/picture/PictureViewport.js +203 -0
- package/dist/components/picture/PictureViewport.js.map +1 -0
- package/dist/components/picture/config.d.ts +16 -0
- package/dist/components/picture/config.js +16 -0
- package/dist/components/picture/config.js.map +1 -0
- package/dist/components/picture/index.d.ts +5 -0
- package/dist/components/picture/pictureFlip.d.ts +16 -0
- package/dist/components/picture/pictureFlip.js +103 -0
- package/dist/components/picture/pictureFlip.js.map +1 -0
- package/dist/components/picture/style/index.css +1 -0
- package/dist/components/progress/Progress.d.ts +94 -0
- package/dist/components/progress/Progress.js +112 -0
- package/dist/components/progress/Progress.js.map +1 -0
- package/dist/components/progress/index.d.ts +1 -0
- package/dist/components/progress/style/index.css +1 -0
- package/dist/components/radio/Radio.d.ts +112 -0
- package/dist/components/radio/Radio.js +130 -0
- package/dist/components/radio/Radio.js.map +1 -0
- package/dist/components/radio/config.d.ts +29 -0
- package/dist/components/radio/config.js +18 -0
- package/dist/components/radio/config.js.map +1 -0
- package/dist/components/radio/index.d.ts +3 -0
- package/dist/components/radio/style/index.css +1 -0
- package/dist/components/scrollbar/Scrollbar.d.ts +93 -0
- package/dist/components/scrollbar/Scrollbar.js +515 -0
- package/dist/components/scrollbar/Scrollbar.js.map +1 -0
- package/dist/components/scrollbar/index.d.ts +1 -0
- package/dist/components/scrollbar/style/index.css +1 -0
- package/dist/components/sheet/Sheet.d.ts +1448 -0
- package/dist/components/sheet/Sheet.js +592 -0
- package/dist/components/sheet/Sheet.js.map +1 -0
- package/dist/components/sheet/_cell.d.ts +181 -0
- package/dist/components/sheet/_cell.js +132 -0
- package/dist/components/sheet/_cell.js.map +1 -0
- package/dist/components/sheet/_props.d.ts +170 -0
- package/dist/components/sheet/_props.js +183 -0
- package/dist/components/sheet/_props.js.map +1 -0
- package/dist/components/sheet/_row.d.ts +2 -0
- package/dist/components/sheet/_row.js +14 -0
- package/dist/components/sheet/_row.js.map +1 -0
- package/dist/components/sheet/_tbody.d.ts +348 -0
- package/dist/components/sheet/_tbody.js +255 -0
- package/dist/components/sheet/_tbody.js.map +1 -0
- package/dist/components/sheet/_tfoot.d.ts +195 -0
- package/dist/components/sheet/_tfoot.js +78 -0
- package/dist/components/sheet/_tfoot.js.map +1 -0
- package/dist/components/sheet/_thead.d.ts +529 -0
- package/dist/components/sheet/_thead.js +148 -0
- package/dist/components/sheet/_thead.js.map +1 -0
- package/dist/components/sheet/_use.d.ts +38 -0
- package/dist/components/sheet/_use.js +493 -0
- package/dist/components/sheet/_use.js.map +1 -0
- package/dist/components/sheet/_util.d.ts +34 -0
- package/dist/components/sheet/_util.js +111 -0
- package/dist/components/sheet/_util.js.map +1 -0
- package/dist/components/sheet/index.d.ts +1 -0
- package/dist/components/sheet/style/index.css +1 -0
- package/dist/components/slideDown/SlideDown.d.ts +62 -0
- package/dist/components/slideDown/SlideDown.js +128 -0
- package/dist/components/slideDown/SlideDown.js.map +1 -0
- package/dist/components/slideDown/index.d.ts +1 -0
- package/dist/components/slider/Slider.d.ts +1726 -0
- package/dist/components/slider/Slider.js +471 -0
- package/dist/components/slider/Slider.js.map +1 -0
- package/dist/components/slider/index.d.ts +1 -0
- package/dist/components/slider/style/index.css +1 -0
- package/dist/components/svgIcon/SvgIcon.d.ts +37 -0
- package/dist/components/svgIcon/SvgIcon.js +78 -0
- package/dist/components/svgIcon/SvgIcon.js.map +1 -0
- package/dist/components/svgIcon/index.d.ts +3 -0
- package/dist/components/svgIcon/style/index.css +1 -0
- package/dist/components/switch/Switch.d.ts +105 -0
- package/dist/components/switch/Switch.js +158 -0
- package/dist/components/switch/Switch.js.map +1 -0
- package/dist/components/switch/config.d.ts +16 -0
- package/dist/components/switch/config.js +11 -0
- package/dist/components/switch/config.js.map +1 -0
- package/dist/components/switch/index.d.ts +1 -0
- package/dist/components/switch/style/index.css +1 -0
- package/dist/components/tab/Tab.d.ts +113 -0
- package/dist/components/tab/Tab.js +485 -0
- package/dist/components/tab/Tab.js.map +1 -0
- package/dist/components/tab/index.d.ts +2 -0
- package/dist/components/tab/style/index.css +1 -0
- package/dist/components/textarea/Textarea.d.ts +37 -0
- package/dist/components/textarea/Textarea.js +193 -0
- package/dist/components/textarea/Textarea.js.map +1 -0
- package/dist/components/textarea/config.d.ts +30 -0
- package/dist/components/textarea/config.js +16 -0
- package/dist/components/textarea/config.js.map +1 -0
- package/dist/components/textarea/index.d.ts +4 -0
- package/dist/components/textarea/style/index.css +1 -0
- package/dist/components/time/Dial.js +7 -0
- package/dist/components/time/Dial.js.map +1 -0
- package/dist/components/time/Dial.vue_vue_type_script_setup_true_lang.js +178 -0
- package/dist/components/time/Dial.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/time/TimePicker.d.ts +1301 -0
- package/dist/components/time/TimePicker.js +162 -0
- package/dist/components/time/TimePicker.js.map +1 -0
- package/dist/components/time/_use/useTimeModules.d.ts +1 -0
- package/dist/components/time/index.d.ts +1 -0
- package/dist/components/time/style/dial.css +1 -0
- package/dist/components/time/style/index.css +1 -0
- package/dist/components/toggle/Toggle.d.ts +140 -0
- package/dist/components/toggle/Toggle.js +209 -0
- package/dist/components/toggle/Toggle.js.map +1 -0
- package/dist/components/toggle/index.d.ts +1 -0
- package/dist/components/toggle/style/index.css +1 -0
- package/dist/components/toggle/style/scale.css +1 -0
- package/dist/components/toggle/style/translate.css +1 -0
- package/dist/components/tooltip/Tooltip.d.ts +536 -0
- package/dist/components/tooltip/Tooltip.js +51 -0
- package/dist/components/tooltip/Tooltip.js.map +1 -0
- package/dist/components/tooltip/index.d.ts +1 -0
- package/dist/components/tooltip/style/index.css +1 -0
- package/dist/components/tree/Tree.d.ts +187 -0
- package/dist/components/tree/Tree.js +229 -0
- package/dist/components/tree/Tree.js.map +1 -0
- package/dist/components/tree/TreeItem.d.ts +86 -0
- package/dist/components/tree/TreeItem.js +152 -0
- package/dist/components/tree/TreeItem.js.map +1 -0
- package/dist/components/tree/TreeList.d.ts +86 -0
- package/dist/components/tree/TreeList.js +52 -0
- package/dist/components/tree/TreeList.js.map +1 -0
- package/dist/components/tree/_use/treeState.d.ts +45 -0
- package/dist/components/tree/_use/treeState.js +417 -0
- package/dist/components/tree/_use/treeState.js.map +1 -0
- package/dist/components/tree/config.d.ts +27 -0
- package/dist/components/tree/config.js +16 -0
- package/dist/components/tree/config.js.map +1 -0
- package/dist/components/tree/index.d.ts +4 -0
- package/dist/components/tree/style/index.css +1 -0
- package/dist/components/tree-choose/TreeChoose.d.ts +833 -0
- package/dist/components/tree-choose/TreeChoose.js +320 -0
- package/dist/components/tree-choose/TreeChoose.js.map +1 -0
- package/dist/components/tree-choose/config.d.ts +41 -0
- package/dist/components/tree-choose/config.js +19 -0
- package/dist/components/tree-choose/config.js.map +1 -0
- package/dist/components/tree-choose/index.d.ts +4 -0
- package/dist/components/tree-choose/style/index.css +1 -0
- package/dist/components/trigger/Trigger.d.ts +921 -0
- package/dist/components/trigger/Trigger.js +105 -0
- package/dist/components/trigger/Trigger.js.map +1 -0
- package/dist/components/trigger/index.d.ts +1 -0
- package/dist/components/trigger/style/index.css +2 -0
- package/dist/components/upload/Upload.d.ts +249 -0
- package/dist/components/upload/Upload.js +342 -0
- package/dist/components/upload/Upload.js.map +1 -0
- package/dist/components/upload/config.d.ts +39 -0
- package/dist/components/upload/config.js +21 -0
- package/dist/components/upload/config.js.map +1 -0
- package/dist/components/upload/index.d.ts +4 -0
- package/dist/components/upload/style/index.css +1 -0
- package/dist/components/upload/types.d.ts +47 -0
- package/dist/components/virtual/Virtual.d.ts +57 -0
- package/dist/components/virtual/Virtual.js +62 -0
- package/dist/components/virtual/Virtual.js.map +1 -0
- package/dist/components/virtual/Virtual/345/216/237/347/211/210.d.ts +44 -0
- package/dist/components/virtual/index.d.ts +4 -0
- package/dist/components/virtual/style/index.css +1 -0
- package/dist/components/virtual/useVirtualList.d.ts +50 -0
- package/dist/components/virtual/useVirtualList.js +376 -0
- package/dist/components/virtual/useVirtualList.js.map +1 -0
- package/dist/components/write/Write.d.ts +532 -0
- package/dist/components/write/Write.js +228 -0
- package/dist/components/write/Write.js.map +1 -0
- package/dist/components/write/index.d.ts +1 -0
- package/dist/components/write/style/index.css +1 -0
- package/dist/config/dictionary.d.ts +21 -0
- package/dist/config/dictionary.js +28 -0
- package/dist/config/dictionary.js.map +1 -0
- package/dist/config/i18n.d.ts +22 -0
- package/dist/config/i18n.js +53 -0
- package/dist/config/i18n.js.map +1 -0
- package/dist/config/plugin.d.ts +88 -0
- package/dist/config/plugin.js +13 -0
- package/dist/config/plugin.js.map +1 -0
- package/dist/config/types.d.ts +56 -0
- package/dist/directives/clickOutside.d.ts +10 -0
- package/dist/directives/clickOutside.js +69 -0
- package/dist/directives/clickOutside.js.map +1 -0
- package/dist/directives/index.d.ts +3 -0
- package/dist/directives/index.js +13 -0
- package/dist/directives/index.js.map +1 -0
- package/dist/directives/loading.d.ts +19 -0
- package/dist/directives/loading.js +64 -0
- package/dist/directives/loading.js.map +1 -0
- package/dist/index.d.ts +127 -0
- package/dist/index.js +91 -0
- package/dist/locales/de-DE/index.d.ts +144 -0
- package/dist/locales/de-DE/index.js +140 -0
- package/dist/locales/de-DE/index.js.map +1 -0
- package/dist/locales/en-US/index.d.ts +144 -0
- package/dist/locales/en-US/index.js +140 -0
- package/dist/locales/en-US/index.js.map +1 -0
- package/dist/locales/index.d.ts +3 -0
- package/dist/locales/zh-CN/index.d.ts +144 -0
- package/dist/locales/zh-CN/index.js +140 -0
- package/dist/locales/zh-CN/index.js.map +1 -0
- package/dist/plugin.d.ts +6 -0
- package/dist/plugin.js +38 -0
- package/dist/plugin.js.map +1 -0
- package/dist/styles/index.css +49 -0
- package/dist/theme/_transition.css +169 -0
- package/dist/theme/index.css +5 -0
- package/dist/theme/tokens/_base.css +7 -0
- package/dist/theme/tokens/_common.css +37 -0
- package/dist/theme/tokens/_scrollbar.css +53 -0
- package/dist/theme/tokens/_size.css +18 -0
- package/dist/theme/tokens/_text.css +16 -0
- package/dist/theme/tokens/_var.css +1087 -0
- package/dist/theme/tokens/components/audioPlayer.css +542 -0
- package/dist/theme/tokens/components/btn.css +253 -0
- package/dist/theme/tokens/components/btnGroup.css +68 -0
- package/dist/theme/tokens/components/cascade.css +77 -0
- package/dist/theme/tokens/components/checkbox.css +100 -0
- package/dist/theme/tokens/components/choose.css +175 -0
- package/dist/theme/tokens/components/choose2.css +242 -0
- package/dist/theme/tokens/components/chooseItem.css +54 -0
- package/dist/theme/tokens/components/circleProgress.css +61 -0
- package/dist/theme/tokens/components/close.css +12 -0
- package/dist/theme/tokens/components/colorPicker.css +404 -0
- package/dist/theme/tokens/components/confirm.css +128 -0
- package/dist/theme/tokens/components/copy.css +80 -0
- package/dist/theme/tokens/components/cornerEars.css +102 -0
- package/dist/theme/tokens/components/date/days.css +79 -0
- package/dist/theme/tokens/components/date/index.css +249 -0
- package/dist/theme/tokens/components/date/months.css +68 -0
- package/dist/theme/tokens/components/drawer.css +189 -0
- package/dist/theme/tokens/components/ellipsis.css +46 -0
- package/dist/theme/tokens/components/empty.css +24 -0
- package/dist/theme/tokens/components/equalizer.css +51 -0
- package/dist/theme/tokens/components/fallback.css +4 -0
- package/dist/theme/tokens/components/form.css +50 -0
- package/dist/theme/tokens/components/formItem.css +194 -0
- package/dist/theme/tokens/components/icon.css +41 -0
- package/dist/theme/tokens/components/image.css +70 -0
- package/dist/theme/tokens/components/layer.css +190 -0
- package/dist/theme/tokens/components/lcdFont.css +121 -0
- package/dist/theme/tokens/components/list.css +97 -0
- package/dist/theme/tokens/components/loading.css +64 -0
- package/dist/theme/tokens/components/mask.css +26 -0
- package/dist/theme/tokens/components/match.css +119 -0
- package/dist/theme/tokens/components/modal.css +136 -0
- package/dist/theme/tokens/components/notice.css +264 -0
- package/dist/theme/tokens/components/number.css +150 -0
- package/dist/theme/tokens/components/pagination.css +215 -0
- package/dist/theme/tokens/components/picture.css +299 -0
- package/dist/theme/tokens/components/progress.css +101 -0
- package/dist/theme/tokens/components/radio.css +183 -0
- package/dist/theme/tokens/components/scrollbar.css +160 -0
- package/dist/theme/tokens/components/sheet.css +518 -0
- package/dist/theme/tokens/components/slider.css +171 -0
- package/dist/theme/tokens/components/svgIcon.css +6 -0
- package/dist/theme/tokens/components/switch.css +67 -0
- package/dist/theme/tokens/components/tab.css +215 -0
- package/dist/theme/tokens/components/textarea.css +109 -0
- package/dist/theme/tokens/components/time/dial.css +123 -0
- package/dist/theme/tokens/components/time/index.css +29 -0
- package/dist/theme/tokens/components/toggle/index.css +14 -0
- package/dist/theme/tokens/components/toggle/scale.css +34 -0
- package/dist/theme/tokens/components/toggle/translate.css +41 -0
- package/dist/theme/tokens/components/tooltip.css +77 -0
- package/dist/theme/tokens/components/tree-choose.css +154 -0
- package/dist/theme/tokens/components/tree.css +172 -0
- package/dist/theme/tokens/components/trigger.css +90 -0
- package/dist/theme/tokens/components/upload.css +302 -0
- package/dist/theme/tokens/components/virtual.css +6 -0
- package/dist/theme/tokens/components/write.css +155 -0
- package/dist/theme/tokens/iconfont/iconfont.css +103 -0
- package/dist/theme/tokens/iconfont/iconfont.ttf +0 -0
- package/dist/theme/tokens/iconfont/iconfont.woff +0 -0
- package/dist/theme/tokens/iconfont/iconfont.woff2 +0 -0
- package/dist/theme/tokens/index.css +19 -0
- package/dist/use/index.d.ts +34 -0
- package/dist/use/toggle/types.d.ts +27 -0
- package/dist/use/toggle/useToggle.d.ts +22 -0
- package/dist/use/toggle/useToggleArray.d.ts +14 -0
- package/dist/use/toggle/useToggleArray.js +36 -0
- package/dist/use/toggle/useToggleArray.js.map +1 -0
- package/dist/use/toggle/useToggleCycle.d.ts +11 -0
- package/dist/use/toggle/useToggleCycle.js +88 -0
- package/dist/use/toggle/useToggleCycle.js.map +1 -0
- package/dist/use/toggle/useToggleMap.d.ts +10 -0
- package/dist/use/toggle/useToggleObject.d.ts +13 -0
- package/dist/use/useAudioPlayer.d.ts +160 -0
- package/dist/use/useAudioPlayer.js +799 -0
- package/dist/use/useAudioPlayer.js.map +1 -0
- package/dist/use/useBoundingClientRect.d.ts +14 -0
- package/dist/use/useBoundingClientRect.js +54 -0
- package/dist/use/useBoundingClientRect.js.map +1 -0
- package/dist/use/useChildComponentsCollector.js +30 -0
- package/dist/use/useChildComponentsCollector.js.map +1 -0
- package/dist/use/useComponentClass.d.ts +1 -0
- package/dist/use/useComponentClass.js +6 -0
- package/dist/use/useComponentClass.js.map +1 -0
- package/dist/use/useComponentConfig.d.ts +10 -0
- package/dist/use/useComponentConfig.js +31 -0
- package/dist/use/useComponentConfig.js.map +1 -0
- package/dist/use/useCount.d.ts +13 -0
- package/dist/use/useCount.js +36 -0
- package/dist/use/useCount.js.map +1 -0
- package/dist/use/useDate.d.ts +53 -0
- package/dist/use/useDate.js +280 -0
- package/dist/use/useDate.js.map +1 -0
- package/dist/use/useDelay.d.ts +5 -0
- package/dist/use/useDelay.js +38 -0
- package/dist/use/useDelay.js.map +1 -0
- package/dist/use/useDrag.d.ts +17 -0
- package/dist/use/useElement.d.ts +15 -0
- package/dist/use/useElement.js +41 -0
- package/dist/use/useElement.js.map +1 -0
- package/dist/use/useEscStack.d.ts +14 -0
- package/dist/use/useEscStack.js +62 -0
- package/dist/use/useEscStack.js.map +1 -0
- package/dist/use/useEvent.d.ts +9 -0
- package/dist/use/useEvent.js +43 -0
- package/dist/use/useEvent.js.map +1 -0
- package/dist/use/useFormItem.d.ts +9 -0
- package/dist/use/useFormItem.js +20 -0
- package/dist/use/useFormItem.js.map +1 -0
- package/dist/use/useGlobalZIndex.d.ts +6 -0
- package/dist/use/useGlobalZIndex.js +28 -0
- package/dist/use/useGlobalZIndex.js.map +1 -0
- package/dist/use/useMouse.d.ts +15 -0
- package/dist/use/useMouse.js +36 -0
- package/dist/use/useMouse.js.map +1 -0
- package/dist/use/useMousePositionInElement.d.ts +6 -0
- package/dist/use/useMousePositionInElement.js +27 -0
- package/dist/use/useMousePositionInElement.js.map +1 -0
- package/dist/use/useParentNode.d.ts +3 -0
- package/dist/use/useParentNode.js +25 -0
- package/dist/use/useParentNode.js.map +1 -0
- package/dist/use/usePercentDrag.d.ts +20 -0
- package/dist/use/usePercentDrag.js +59 -0
- package/dist/use/usePercentDrag.js.map +1 -0
- package/dist/use/usePictureViewport.d.ts +57 -0
- package/dist/use/usePictureViewport.js +229 -0
- package/dist/use/usePictureViewport.js.map +1 -0
- package/dist/use/useRequest.d.ts +7 -0
- package/dist/use/useRequest.js +31 -0
- package/dist/use/useRequest.js.map +1 -0
- package/dist/use/useScaleFromPoint.d.ts +57 -0
- package/dist/use/useScaleFromPoint.js +325 -0
- package/dist/use/useScaleFromPoint.js.map +1 -0
- package/dist/use/useScroll.d.ts +9 -0
- package/dist/use/useScroll.js +60 -0
- package/dist/use/useScroll.js.map +1 -0
- package/dist/use/useSearch.d.ts +11 -0
- package/dist/use/useSearch.js +65 -0
- package/dist/use/useSearch.js.map +1 -0
- package/dist/use/useSlot.d.ts +10 -0
- package/dist/use/useSlot.js +57 -0
- package/dist/use/useSlot.js.map +1 -0
- package/dist/use/useTabIndex.d.ts +1 -0
- package/dist/use/useTabIndex.js +18 -0
- package/dist/use/useTabIndex.js.map +1 -0
- package/dist/use/useUII18n.js +26 -0
- package/dist/use/useUII18n.js.map +1 -0
- package/dist/use/useUpload.d.ts +49 -0
- package/dist/use/useUpload.js +396 -0
- package/dist/use/useUpload.js.map +1 -0
- package/dist/use/useVisibleResize.d.ts +6 -0
- package/dist/use/useVisibleResize.js +77 -0
- package/dist/use/useVisibleResize.js.map +1 -0
- package/dist/util/calc.d.ts +40 -0
- package/dist/util/calc.js +239 -0
- package/dist/util/calc.js.map +1 -0
- package/dist/util/colors.d.ts +78 -0
- package/dist/util/colors.js +320 -0
- package/dist/util/colors.js.map +1 -0
- package/dist/util/cssVars.d.ts +62 -0
- package/dist/util/cssVars.js +170 -0
- package/dist/util/cssVars.js.map +1 -0
- package/dist/util/dom.d.ts +65 -0
- package/dist/util/dom.js +212 -0
- package/dist/util/dom.js.map +1 -0
- package/dist/util/index.d.ts +5 -0
- package/dist/util/tools.d.ts +54 -0
- package/dist/util/tools.js +90 -0
- package/dist/util/tools.js.map +1 -0
- package/dist/util/vnode.d.ts +2 -0
- package/package.json +88 -0
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
import { isDate as isDate$1, isNumber, isString } from "../util/tools.js";
|
|
2
|
+
import { useUII18n } from "./useUII18n.js";
|
|
3
|
+
import { computed, readonly, unref } from "vue";
|
|
4
|
+
import { addDays, addMonths, addYears, endOfMonth, format, getDate, getDay, getDaysInMonth, getMonth, getYear, isSameDay, isSameMonth, parse, startOfMonth, startOfWeek, subDays, subMonths, subWeeks } from "date-fns";
|
|
5
|
+
//#region use/useDate.ts
|
|
6
|
+
function useDate(date, fmt = "yyyy-MM-dd") {
|
|
7
|
+
const dayNum = 42;
|
|
8
|
+
const { t } = useUII18n();
|
|
9
|
+
const dayMap = computed(() => readonly(/* @__PURE__ */ new Map([
|
|
10
|
+
[1, t("date.weekDays.mon")],
|
|
11
|
+
[2, t("date.weekDays.tue")],
|
|
12
|
+
[3, t("date.weekDays.wed")],
|
|
13
|
+
[4, t("date.weekDays.thu")],
|
|
14
|
+
[5, t("date.weekDays.fri")],
|
|
15
|
+
[6, t("date.weekDays.sat")],
|
|
16
|
+
[0, t("date.weekDays.sun")]
|
|
17
|
+
])));
|
|
18
|
+
const yearPanelLength = 16;
|
|
19
|
+
const currentDate = computed(() => parse$1(unref(date)));
|
|
20
|
+
const year = computed(() => getYear(currentDate.value));
|
|
21
|
+
const month = computed(() => getMonth$1(currentDate.value));
|
|
22
|
+
const day = computed(() => getDate(currentDate.value));
|
|
23
|
+
function addMonths$1(date, n = 1) {
|
|
24
|
+
return addMonths(parse$1(date), n);
|
|
25
|
+
}
|
|
26
|
+
function addYears$1(date, n = 1) {
|
|
27
|
+
return addYears(parse$1(date), n);
|
|
28
|
+
}
|
|
29
|
+
function format$1(date, formart) {
|
|
30
|
+
return format(parse$1(date || currentDate.value, formart), formart || unref(fmt));
|
|
31
|
+
}
|
|
32
|
+
function formatDate(date, formart) {
|
|
33
|
+
if (date !== void 0 && date !== "") {
|
|
34
|
+
if (isDate$1(date) || isNumber(date)) return parse$1(date, formart);
|
|
35
|
+
else if (isString(date)) {
|
|
36
|
+
const arr = date.trim().split(/\s+/);
|
|
37
|
+
const [y, m = 1, d = 1] = arr[0].split("-");
|
|
38
|
+
const [hh, mm, ss] = arr[1] ? arr[1].split(":") : [
|
|
39
|
+
0,
|
|
40
|
+
0,
|
|
41
|
+
0
|
|
42
|
+
];
|
|
43
|
+
return parse$1(new Date(+y, Number(m) - 1, +d, +hh || 0, +mm || 0, +ss || 0), formart);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* 日期月份中总共有多少天
|
|
49
|
+
* @param date Date|number
|
|
50
|
+
* @returns number
|
|
51
|
+
*/
|
|
52
|
+
function getDaysInMonth$1(date) {
|
|
53
|
+
return getDaysInMonth(parse$1(date || currentDate.value));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* getStartDayInMonth
|
|
57
|
+
* 日期月份中的1号是星期几
|
|
58
|
+
*/
|
|
59
|
+
function getStartDayInMonth(date) {
|
|
60
|
+
return getDay(startOfMonth(parse$1(date || currentDate.value)));
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* getDaysInPanel
|
|
64
|
+
* 下拉面板中的所有日期
|
|
65
|
+
* @param date Date | number
|
|
66
|
+
* @returns
|
|
67
|
+
*/
|
|
68
|
+
function getDaysInPanel(date) {
|
|
69
|
+
const parse_date = parse$1(date || currentDate.value);
|
|
70
|
+
const curYear = getYear$1(parse_date);
|
|
71
|
+
const curMonth = getMonth$1(parse_date);
|
|
72
|
+
const cur = Array.from({ length: getDaysInMonth$1(parse_date) }, (_item, index) => [
|
|
73
|
+
curYear,
|
|
74
|
+
curMonth,
|
|
75
|
+
index + 1
|
|
76
|
+
]);
|
|
77
|
+
const d = getStartDayInMonth(parse_date);
|
|
78
|
+
const prevDate = addMonths(parse_date, -1);
|
|
79
|
+
const prevYear = getYear$1(prevDate);
|
|
80
|
+
const prevMonth = getMonth$1(prevDate);
|
|
81
|
+
const nextDate = addMonths(parse_date, 1);
|
|
82
|
+
const nextYear = getYear$1(nextDate);
|
|
83
|
+
const nextMonth = getMonth$1(nextDate);
|
|
84
|
+
const prevDays = Array.from({ length: getDaysInMonth$1(prevDate) }, (_item, index) => index + 1);
|
|
85
|
+
let _d = d - 1;
|
|
86
|
+
if (_d === -1) _d = 6;
|
|
87
|
+
const prev = _d === 0 ? [] : prevDays.slice(-1 * _d).map((d) => [
|
|
88
|
+
prevYear,
|
|
89
|
+
prevMonth,
|
|
90
|
+
d
|
|
91
|
+
]);
|
|
92
|
+
return {
|
|
93
|
+
prev,
|
|
94
|
+
cur,
|
|
95
|
+
next: Array.from({ length: dayNum - cur.length - prev.length }, (_item, index) => [
|
|
96
|
+
nextYear,
|
|
97
|
+
nextMonth,
|
|
98
|
+
index + 1
|
|
99
|
+
])
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* @param date date?:DateType
|
|
105
|
+
* @returns number
|
|
106
|
+
* 返回从1开始计算的月份,注意:date-fns是从0开始计算的月份!
|
|
107
|
+
*/
|
|
108
|
+
function getMonth$1(date) {
|
|
109
|
+
return getMonth(parse$1(date || currentDate.value)) + 1;
|
|
110
|
+
}
|
|
111
|
+
function getYear$1(date) {
|
|
112
|
+
return getYear(parse$1(date || currentDate.value));
|
|
113
|
+
}
|
|
114
|
+
function getYearsInPanel(_year) {
|
|
115
|
+
const num = yearPanelLength;
|
|
116
|
+
const y = _year || year.value;
|
|
117
|
+
const r = getRandomInt(5, 12);
|
|
118
|
+
const prev = Array.from({ length: r }, (_item, index) => y - index).reverse();
|
|
119
|
+
const next = Array.from({ length: num - r }, (_item, index) => y + 1 + index);
|
|
120
|
+
return {
|
|
121
|
+
years: prev.concat(next),
|
|
122
|
+
from: prev[0],
|
|
123
|
+
to: next[next.length - 1]
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
function isSameDay$1(a, b) {
|
|
127
|
+
return isSameDay(parse$1(a), parse$1(b));
|
|
128
|
+
}
|
|
129
|
+
function isSameMonth$1(a, b) {
|
|
130
|
+
return isSameMonth(parse$1(a), parse$1(b));
|
|
131
|
+
}
|
|
132
|
+
function isToday(date) {
|
|
133
|
+
return isSameDay(parse$1(date || currentDate.value), Date.now());
|
|
134
|
+
}
|
|
135
|
+
function parse$1(date, formatString) {
|
|
136
|
+
if (typeof date === "string") return parse(date, formatString || unref(fmt), /* @__PURE__ */ new Date());
|
|
137
|
+
else if (date === void 0) return /* @__PURE__ */ new Date();
|
|
138
|
+
return new Date(date);
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
*
|
|
142
|
+
* @param givenDate 给定的日期
|
|
143
|
+
* @param minDate 要跟哪个日期来比较
|
|
144
|
+
* @returns 如果givenDate比minDate要小,则返回true
|
|
145
|
+
*/
|
|
146
|
+
function isMinDayThanDate(givenDate, minDate) {
|
|
147
|
+
let b = false, f = "yyyy-MM-dd";
|
|
148
|
+
b = Number(parse$1(givenDate, f)) - Number(parse$1(minDate, f)) < 0;
|
|
149
|
+
return b;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
*
|
|
153
|
+
* @param givenDate 给定的日期
|
|
154
|
+
* @param minDate 要跟哪个日期来比较
|
|
155
|
+
* @returns 如果givenDate比minDate要大,则返回true
|
|
156
|
+
*/
|
|
157
|
+
function isMaxDayThanDate(givenDate, minDate) {
|
|
158
|
+
let b = false, f = "yyyy-MM-dd";
|
|
159
|
+
b = Number(parse$1(givenDate, f)) - Number(parse$1(minDate, f)) > 0;
|
|
160
|
+
return b;
|
|
161
|
+
}
|
|
162
|
+
function isMinMonthThanDate(givenDate, minDate) {
|
|
163
|
+
let b = false, f = "yyyy-MM";
|
|
164
|
+
const { year: givenYear, month: givenMonth } = getYearAndMonth(givenDate, f);
|
|
165
|
+
const { year: minYear, month: minMonth } = getYearAndMonth(minDate, f);
|
|
166
|
+
if (givenYear < minYear) b = true;
|
|
167
|
+
else if (givenMonth < minMonth) b = true;
|
|
168
|
+
return b;
|
|
169
|
+
}
|
|
170
|
+
function isMaxMonthThanDate(givenDate, maxDate) {
|
|
171
|
+
let b = false, f = "yyyy-MM";
|
|
172
|
+
const { year: givenYear, month: givenMonth } = getYearAndMonth(givenDate, f);
|
|
173
|
+
const { year: maxYear, month: maxMonth } = getYearAndMonth(maxDate, f);
|
|
174
|
+
if (givenYear > maxYear) b = true;
|
|
175
|
+
else if (givenMonth > maxMonth) b = true;
|
|
176
|
+
return b;
|
|
177
|
+
}
|
|
178
|
+
function isMinYearThanDate(givenDate, minDate) {
|
|
179
|
+
let b = false, f = "yyyy-MM";
|
|
180
|
+
const { year: givenYear } = getYearAndMonth(givenDate, f);
|
|
181
|
+
const { year: minYear } = getYearAndMonth(minDate, f);
|
|
182
|
+
if (givenYear < minYear) b = true;
|
|
183
|
+
return b;
|
|
184
|
+
}
|
|
185
|
+
function isMaxYearThanDate(givenDate, maxDate) {
|
|
186
|
+
let b = false, f = "yyyy-MM";
|
|
187
|
+
const { year: givenYear } = getYearAndMonth(givenDate, f);
|
|
188
|
+
const { year: maxYear } = getYearAndMonth(maxDate, f);
|
|
189
|
+
if (givenYear > maxYear) b = true;
|
|
190
|
+
return b;
|
|
191
|
+
}
|
|
192
|
+
function getYearAndMonth(d, formart) {
|
|
193
|
+
const da = parse$1(d, formart);
|
|
194
|
+
return {
|
|
195
|
+
year: da.getFullYear(),
|
|
196
|
+
month: da.getMonth() + 1
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
return {
|
|
200
|
+
addMonths: addMonths$1,
|
|
201
|
+
addYears: addYears$1,
|
|
202
|
+
day,
|
|
203
|
+
dayMap,
|
|
204
|
+
format: format$1,
|
|
205
|
+
formatDate,
|
|
206
|
+
month,
|
|
207
|
+
year,
|
|
208
|
+
yearPanelLength,
|
|
209
|
+
getDaysInMonth: getDaysInMonth$1,
|
|
210
|
+
getDaysInPanel,
|
|
211
|
+
getYearsInPanel,
|
|
212
|
+
getStartDayInMonth,
|
|
213
|
+
getMonth: getMonth$1,
|
|
214
|
+
getYear: getYear$1,
|
|
215
|
+
isSameDay: isSameDay$1,
|
|
216
|
+
isSameMonth: isSameMonth$1,
|
|
217
|
+
isToday,
|
|
218
|
+
isMaxDayThanDate,
|
|
219
|
+
isMinDayThanDate,
|
|
220
|
+
isMaxMonthThanDate,
|
|
221
|
+
isMinMonthThanDate,
|
|
222
|
+
isMinYearThanDate,
|
|
223
|
+
isMaxYearThanDate,
|
|
224
|
+
parse: parse$1
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
function getRandomInt(from, to) {
|
|
228
|
+
return Math.floor(Math.random() * (to - from)) + from;
|
|
229
|
+
}
|
|
230
|
+
var quickList = {
|
|
231
|
+
Today: "今天",
|
|
232
|
+
Yesterday: "昨天",
|
|
233
|
+
Recent3Day: "近三天",
|
|
234
|
+
Recent7Day: "近七天",
|
|
235
|
+
ThisWeek: "本周",
|
|
236
|
+
PreWeek: "上周",
|
|
237
|
+
ThisMonth: "本月",
|
|
238
|
+
PreMonth: "上月",
|
|
239
|
+
ThisYear: "本年"
|
|
240
|
+
};
|
|
241
|
+
function getRangeDate(_k) {
|
|
242
|
+
const { format } = useDate(/* @__PURE__ */ new Date());
|
|
243
|
+
const now = format(/* @__PURE__ */ new Date());
|
|
244
|
+
let start = now, end = now;
|
|
245
|
+
if (_k) switch (_k) {
|
|
246
|
+
case "Yesterday":
|
|
247
|
+
start = format(addDays(now, -1));
|
|
248
|
+
end = start;
|
|
249
|
+
break;
|
|
250
|
+
case "ThisWeek":
|
|
251
|
+
start = format(addDays(startOfWeek(now), 1));
|
|
252
|
+
break;
|
|
253
|
+
case "PreWeek":
|
|
254
|
+
const lastWeekDate = subWeeks(now, 1);
|
|
255
|
+
const startOfLastWeek = startOfWeek(lastWeekDate);
|
|
256
|
+
start = format(addDays(startOfLastWeek, 1));
|
|
257
|
+
end = format(addDays(startOfLastWeek, 7));
|
|
258
|
+
break;
|
|
259
|
+
case "PreMonth":
|
|
260
|
+
const lastMonthDate = subMonths(now, 1);
|
|
261
|
+
start = format(new Date(lastMonthDate.getFullYear(), lastMonthDate.getMonth(), 1));
|
|
262
|
+
end = format(endOfMonth(lastMonthDate));
|
|
263
|
+
break;
|
|
264
|
+
case "ThisMonth":
|
|
265
|
+
start = now.slice(0, 8) + "01";
|
|
266
|
+
break;
|
|
267
|
+
case "Recent3Day":
|
|
268
|
+
start = format(subDays(now, 2));
|
|
269
|
+
break;
|
|
270
|
+
case "Recent7Day":
|
|
271
|
+
start = format(subDays(now, 6));
|
|
272
|
+
break;
|
|
273
|
+
case "ThisYear": start = now.slice(0, 5) + "01-01";
|
|
274
|
+
}
|
|
275
|
+
return [start, end];
|
|
276
|
+
}
|
|
277
|
+
//#endregion
|
|
278
|
+
export { useDate as default, getRangeDate, quickList };
|
|
279
|
+
|
|
280
|
+
//# sourceMappingURL=useDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDate.js","names":[],"sources":["../../use/useDate.ts"],"sourcesContent":["import type { Ref, ComputedRef } from \"vue\"\r\nimport { computed, unref, readonly } from \"vue\"\r\nimport { isString, isNumber, isDate } from \"../util\"\r\nimport type { DateFormatType } from \"../config/types\"\r\nimport { useUII18n } from \"./useUII18n\"\r\n//注意:date-fns里的月份也是从0开始的!\r\nimport {\r\n addDays,\r\n subWeeks,\r\n subMonths,\r\n subDays,\r\n startOfWeek,\r\n endOfMonth,\r\n addMonths as _addMonths,\r\n addYears as _addYears,\r\n format as _format,\r\n getDaysInMonth as _getDaysInMonth,\r\n getDate as _getDate,\r\n getDay as _getDay,\r\n getMonth as _getMonth,\r\n getYear as _getYear,\r\n //date-fns里的isToday会比较时分秒!\r\n // isToday as _isToday,\r\n isSameDay as _isSameDay,\r\n isSameMonth as _isSameMonth,\r\n parse as _parse,\r\n startOfMonth as _startOfMonth,\r\n} from \"date-fns\"\r\ntype DateType = Date | number | string | undefined\r\ntype DateOptionType = DateType | Ref<DateType> | ComputedRef<DateType>\r\n\r\nexport default function useDate(\r\n date: DateOptionType,\r\n fmt:\r\n | Ref<DateFormatType>\r\n | ComputedRef<DateFormatType>\r\n | DateFormatType = \"yyyy-MM-dd\"\r\n) {\r\n const dayNum = 42\r\n const { t } = useUII18n()\r\n const dayMap = computed(() =>\r\n readonly(\r\n new Map([\r\n [1, t(\"date.weekDays.mon\")],\r\n [2, t(\"date.weekDays.tue\")],\r\n [3, t(\"date.weekDays.wed\")],\r\n [4, t(\"date.weekDays.thu\")],\r\n [5, t(\"date.weekDays.fri\")],\r\n [6, t(\"date.weekDays.sat\")],\r\n [0, t(\"date.weekDays.sun\")],\r\n ])\r\n )\r\n )\r\n const yearPanelLength = 16\r\n const currentDate = computed(() => parse(unref(date)))\r\n const year = computed(() => _getYear(currentDate.value))\r\n const month = computed(() => getMonth(currentDate.value))\r\n const day = computed(() => _getDate(currentDate.value))\r\n\r\n function addMonths(date?: DateType, n: number = 1) {\r\n return _addMonths(parse(date), n)\r\n }\r\n\r\n function addYears(date?: DateType, n: number = 1) {\r\n return _addYears(parse(date), n)\r\n }\r\n\r\n function format(date?: DateType, formart?: DateFormatType) {\r\n // console.log('useDate,format:', date, formart)\r\n return _format(\r\n parse(date || currentDate.value, formart),\r\n formart || (unref(fmt) as string)\r\n )\r\n }\r\n\r\n function formatDate(date: DateType, formart?: DateFormatType) {\r\n if (date !== undefined && date !== \"\") {\r\n //时间戳或者日期对象\r\n //注意,此处没有对数值型的时间戳进行验证到底是不是时间戳!\r\n if (isDate(date) || isNumber(date)) {\r\n // console.log('是日期类型????')\r\n return parse(date, formart)\r\n } else if (isString(date)) {\r\n const arr = date.trim().split(/\\s+/)\r\n const [y, m = 1, d = 1] = arr[0].split(\"-\")\r\n const [hh, mm, ss] = arr[1] ? arr[1].split(\":\") : [0, 0, 0]\r\n return parse(\r\n new Date(+y, Number(m) - 1, +d, +hh || 0, +mm || 0, +ss || 0),\r\n formart\r\n )\r\n }\r\n }\r\n }\r\n /**\r\n * 日期月份中总共有多少天\r\n * @param date Date|number\r\n * @returns number\r\n */\r\n function getDaysInMonth(date?: DateType) {\r\n return _getDaysInMonth(parse(date || currentDate.value))\r\n }\r\n\r\n /**\r\n * getStartDayInMonth\r\n * 日期月份中的1号是星期几\r\n */\r\n function getStartDayInMonth(date?: DateType) {\r\n return _getDay(_startOfMonth(parse(date || currentDate.value)))\r\n }\r\n\r\n /**\r\n * getDaysInPanel\r\n * 下拉面板中的所有日期\r\n * @param date Date | number\r\n * @returns\r\n */\r\n function getDaysInPanel(date?: DateType) {\r\n const parse_date = parse(date || currentDate.value)\r\n const curYear = getYear(parse_date)\r\n const curMonth = getMonth(parse_date)\r\n const cur = Array.from(\r\n { length: getDaysInMonth(parse_date) },\r\n (_item, index) => [curYear, curMonth, index + 1]\r\n )\r\n\r\n const d = getStartDayInMonth(parse_date)\r\n const prevDate = _addMonths(parse_date, -1)\r\n //有可能是上一年\r\n const prevYear = getYear(prevDate)\r\n const prevMonth = getMonth(prevDate)\r\n const nextDate = _addMonths(parse_date, 1)\r\n //有可能是下一年\r\n const nextYear = getYear(nextDate)\r\n const nextMonth = getMonth(nextDate)\r\n const prevDays = Array.from(\r\n { length: getDaysInMonth(prevDate) },\r\n (_item, index) => index + 1\r\n )\r\n let _d = d - 1\r\n if (_d === -1) {\r\n _d = 6\r\n }\r\n const prev =\r\n _d === 0\r\n ? []\r\n : prevDays.slice(-1 * _d).map((d) => [prevYear, prevMonth, d])\r\n const next: number[][] = Array.from(\r\n { length: dayNum - cur.length - prev.length },\r\n (_item, index) => [nextYear, nextMonth, index + 1]\r\n )\r\n\r\n return {\r\n prev,\r\n cur,\r\n next,\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param date date?:DateType\r\n * @returns number\r\n * 返回从1开始计算的月份,注意:date-fns是从0开始计算的月份!\r\n */\r\n function getMonth(date?: DateType) {\r\n return _getMonth(parse(date || currentDate.value)) + 1\r\n }\r\n\r\n function getYear(date?: DateType) {\r\n return _getYear(parse(date || currentDate.value))\r\n }\r\n\r\n function getYearsInPanel(_year?: number) {\r\n const num = yearPanelLength\r\n const y = _year || year.value\r\n const r = getRandomInt(5, 12)\r\n const prev = Array.from(\r\n { length: r },\r\n (_item, index) => y - index\r\n ).reverse()\r\n const next = Array.from(\r\n { length: num - r },\r\n (_item, index) => y + 1 + index\r\n )\r\n return {\r\n years: prev.concat(next),\r\n from: prev[0],\r\n to: next[next.length - 1],\r\n }\r\n }\r\n\r\n function isSameDay(a: DateType, b: DateType) {\r\n return _isSameDay(parse(a), parse(b))\r\n }\r\n\r\n function isSameMonth(a: DateType, b: DateType) {\r\n return _isSameMonth(parse(a), parse(b))\r\n }\r\n\r\n function isToday(date?: DateType) {\r\n return _isSameDay(parse(date || currentDate.value), Date.now())\r\n }\r\n\r\n function parse(date?: DateType, formatString?: DateFormatType) {\r\n // console.log('useDate,parse:', date, formatString)\r\n if (typeof date === \"string\") {\r\n return _parse(date, formatString || (unref(fmt) as string), new Date())\r\n } else if (date === undefined) {\r\n return new Date()\r\n }\r\n return new Date(date)\r\n }\r\n\r\n /**\r\n *\r\n * @param givenDate 给定的日期\r\n * @param minDate 要跟哪个日期来比较\r\n * @returns 如果givenDate比minDate要小,则返回true\r\n */\r\n function isMinDayThanDate(givenDate: DateType, minDate: DateType) {\r\n let b = false,\r\n f = \"yyyy-MM-dd\" as DateFormatType\r\n b = Number(parse(givenDate, f)) - Number(parse(minDate, f)) < 0\r\n return b\r\n }\r\n\r\n /**\r\n *\r\n * @param givenDate 给定的日期\r\n * @param minDate 要跟哪个日期来比较\r\n * @returns 如果givenDate比minDate要大,则返回true\r\n */\r\n function isMaxDayThanDate(givenDate: DateType, minDate: DateType) {\r\n let b = false,\r\n f = \"yyyy-MM-dd\" as DateFormatType\r\n b = Number(parse(givenDate, f)) - Number(parse(minDate, f)) > 0\r\n return b\r\n }\r\n function isMinMonthThanDate(givenDate: DateType, minDate: DateType) {\r\n let b = false,\r\n f = \"yyyy-MM\" as DateFormatType\r\n\r\n const { year: givenYear, month: givenMonth } = getYearAndMonth(givenDate, f)\r\n const { year: minYear, month: minMonth } = getYearAndMonth(minDate, f)\r\n\r\n if (givenYear < minYear) {\r\n b = true\r\n } else {\r\n if (givenMonth < minMonth) {\r\n b = true\r\n }\r\n }\r\n return b\r\n }\r\n function isMaxMonthThanDate(givenDate: DateType, maxDate: DateType) {\r\n let b = false,\r\n f = \"yyyy-MM\" as DateFormatType\r\n\r\n const { year: givenYear, month: givenMonth } = getYearAndMonth(givenDate, f)\r\n const { year: maxYear, month: maxMonth } = getYearAndMonth(maxDate, f)\r\n\r\n if (givenYear > maxYear) {\r\n b = true\r\n } else {\r\n if (givenMonth > maxMonth) {\r\n b = true\r\n }\r\n }\r\n return b\r\n }\r\n\r\n function isMinYearThanDate(givenDate: DateType, minDate: DateType) {\r\n let b = false,\r\n f = \"yyyy-MM\" as DateFormatType\r\n const { year: givenYear } = getYearAndMonth(givenDate, f)\r\n const { year: minYear } = getYearAndMonth(minDate, f)\r\n\r\n if (givenYear < minYear) {\r\n b = true\r\n }\r\n return b\r\n }\r\n function isMaxYearThanDate(givenDate: DateType, maxDate: DateType) {\r\n let b = false,\r\n f = \"yyyy-MM\" as DateFormatType\r\n const { year: givenYear } = getYearAndMonth(givenDate, f)\r\n const { year: maxYear } = getYearAndMonth(maxDate, f)\r\n\r\n if (givenYear > maxYear) {\r\n b = true\r\n }\r\n return b\r\n }\r\n function getYearAndMonth(d: DateType, formart: DateFormatType) {\r\n const da = parse(d, formart)\r\n return { year: da.getFullYear(), month: da.getMonth() + 1 }\r\n }\r\n return {\r\n addMonths,\r\n addYears,\r\n day,\r\n dayMap,\r\n format,\r\n formatDate,\r\n month,\r\n year,\r\n yearPanelLength,\r\n\r\n getDaysInMonth,\r\n getDaysInPanel,\r\n getYearsInPanel,\r\n getStartDayInMonth,\r\n getMonth,\r\n getYear,\r\n isSameDay,\r\n isSameMonth,\r\n isToday,\r\n isMaxDayThanDate,\r\n isMinDayThanDate,\r\n isMaxMonthThanDate,\r\n isMinMonthThanDate,\r\n isMinYearThanDate,\r\n isMaxYearThanDate,\r\n\r\n parse,\r\n }\r\n}\r\n\r\nfunction getRandomInt(from: number, to: number) {\r\n return Math.floor(Math.random() * (to - from)) + from\r\n}\r\n\r\nexport const quickList = {\r\n Today: \"今天\",\r\n Yesterday: \"昨天\",\r\n Recent3Day: \"近三天\",\r\n Recent7Day: \"近七天\",\r\n ThisWeek: \"本周\",\r\n PreWeek: \"上周\",\r\n ThisMonth: \"本月\",\r\n PreMonth: \"上月\",\r\n ThisYear: \"本年\",\r\n}\r\nexport type TQuickKey = keyof typeof quickList\r\nexport function getRangeDate(_k: TQuickKey): [string, string] {\r\n const { format } = useDate(new Date())\r\n const now = format(new Date())\r\n let start = now,\r\n end = now\r\n\r\n // console.log('getRangeDate:', start, end)\r\n if (_k) {\r\n switch (_k) {\r\n case \"Yesterday\":\r\n start = format(addDays(now, -1))\r\n end = start\r\n break\r\n case \"ThisWeek\":\r\n start = format(addDays(startOfWeek(now), 1))\r\n\r\n break\r\n case \"PreWeek\":\r\n // 减去一周得到上周的日期\r\n const lastWeekDate = subWeeks(now, 1)\r\n\r\n // 获取上周的周一\r\n const startOfLastWeek = startOfWeek(lastWeekDate)\r\n start = format(addDays(startOfLastWeek, 1))\r\n end = format(addDays(startOfLastWeek, 7))\r\n break\r\n case \"PreMonth\":\r\n // 减去一个月得到上个月的日期\r\n const lastMonthDate = subMonths(now, 1)\r\n\r\n // 将日期设置为月份的第一天\r\n const firstDayOfLastMonth = new Date(\r\n lastMonthDate.getFullYear(),\r\n lastMonthDate.getMonth(),\r\n 1\r\n )\r\n\r\n start = format(firstDayOfLastMonth)\r\n // 获取上个月最后一天的日期\r\n const lastDayOfLastMonth = endOfMonth(lastMonthDate)\r\n\r\n // 如果需要格式化输出日期\r\n end = format(lastDayOfLastMonth)\r\n break\r\n case \"ThisMonth\":\r\n start = now.slice(0, 8) + \"01\"\r\n break\r\n case \"Recent3Day\":\r\n start = format(subDays(now, 2))\r\n break\r\n case \"Recent7Day\":\r\n start = format(subDays(now, 6))\r\n break\r\n case \"ThisYear\":\r\n start = now.slice(0, 5) + \"01-01\"\r\n break\r\n }\r\n }\r\n return [start, end]\r\n}\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { onUnmounted, ref } from "vue";
|
|
2
|
+
//#region use/useDelay.ts
|
|
3
|
+
function useDelay(msTime = 200) {
|
|
4
|
+
const timer = ref(null);
|
|
5
|
+
function clear() {
|
|
6
|
+
stop();
|
|
7
|
+
timer.value = null;
|
|
8
|
+
}
|
|
9
|
+
function stop() {
|
|
10
|
+
clearTimeout(timer.value);
|
|
11
|
+
}
|
|
12
|
+
async function delay(handler, delayTime) {
|
|
13
|
+
const len = arguments.length;
|
|
14
|
+
const ms = arguments[0];
|
|
15
|
+
stop();
|
|
16
|
+
if (len === 1 && typeof arguments[0] === "number") await new Promise((res) => {
|
|
17
|
+
timer.value = setTimeout(() => {
|
|
18
|
+
res(timer.value);
|
|
19
|
+
}, ms ?? msTime);
|
|
20
|
+
});
|
|
21
|
+
else await new Promise((res) => {
|
|
22
|
+
timer.value = setTimeout(() => {
|
|
23
|
+
if (handler && typeof handler === "function") handler();
|
|
24
|
+
res(timer.value);
|
|
25
|
+
}, delayTime ?? msTime);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
onUnmounted(clear);
|
|
29
|
+
return {
|
|
30
|
+
clear,
|
|
31
|
+
delay,
|
|
32
|
+
stop
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { useDelay as default };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=useDelay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDelay.js","names":[],"sources":["../../use/useDelay.ts"],"sourcesContent":["import { ref, onUnmounted } from \"vue\"\r\nexport default function useDelay(msTime = 200) {\r\n const timer = ref<any>(null)\r\n\r\n function clear() {\r\n stop()\r\n timer.value = null\r\n }\r\n function stop() {\r\n clearTimeout(timer.value)\r\n }\r\n async function delay(handler?: Function | number, delayTime?: number) {\r\n const len = arguments.length\r\n const ms = arguments[0] as number\r\n stop()\r\n if (len === 1 && typeof arguments[0] === \"number\") {\r\n await new Promise((res) => {\r\n timer.value = setTimeout(() => {\r\n res(timer.value)\r\n }, ms ?? msTime)\r\n })\r\n } else {\r\n await new Promise((res) => {\r\n timer.value = setTimeout(() => {\r\n if (handler && typeof handler === \"function\") {\r\n handler()\r\n }\r\n res(timer.value)\r\n }, delayTime ?? msTime)\r\n })\r\n }\r\n }\r\n onUnmounted(clear)\r\n return { clear, delay, stop }\r\n}\r\n"],"mappings":";;AACA,SAAwB,SAAS,SAAS,KAAK;CAC7C,MAAM,QAAQ,IAAS,IAAI;CAE3B,SAAS,QAAQ;EACf,KAAK;EACL,MAAM,QAAQ;CAChB;CACA,SAAS,OAAO;EACd,aAAa,MAAM,KAAK;CAC1B;CACA,eAAe,MAAM,SAA6B,WAAoB;EACpE,MAAM,MAAM,UAAU;EACtB,MAAM,KAAK,UAAU;EACrB,KAAK;EACL,IAAI,QAAQ,KAAK,OAAO,UAAU,OAAO,UACvC,MAAM,IAAI,SAAS,QAAQ;GACzB,MAAM,QAAQ,iBAAiB;IAC7B,IAAI,MAAM,KAAK;GACjB,GAAG,MAAM,MAAM;EACjB,CAAC;OAED,MAAM,IAAI,SAAS,QAAQ;GACzB,MAAM,QAAQ,iBAAiB;IAC7B,IAAI,WAAW,OAAO,YAAY,YAChC,QAAQ;IAEV,IAAI,MAAM,KAAK;GACjB,GAAG,aAAa,MAAM;EACxB,CAAC;CAEL;CACA,YAAY,KAAK;CACjB,OAAO;EAAE;EAAO;EAAO;CAAK;AAC9B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
type MaybeElement = HTMLElement | Ref<HTMLElement>;
|
|
3
|
+
interface DragOptions {
|
|
4
|
+
handler: MaybeElement;
|
|
5
|
+
parent?: MaybeElement;
|
|
6
|
+
direction: {
|
|
7
|
+
x: boolean;
|
|
8
|
+
y: boolean;
|
|
9
|
+
};
|
|
10
|
+
pos?: {
|
|
11
|
+
left?: number;
|
|
12
|
+
top?: number;
|
|
13
|
+
};
|
|
14
|
+
handleDragging: () => void;
|
|
15
|
+
}
|
|
16
|
+
export default function useDrag(options: DragOptions): void;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 获取真实的元素。并获取元素的宽高(元素display:none时,通过其他方式获取!)
|
|
3
|
+
* @param
|
|
4
|
+
* @returns
|
|
5
|
+
*/
|
|
6
|
+
export default function useElement(v?: any): {
|
|
7
|
+
el: import('vue').Ref<any, any>;
|
|
8
|
+
get: (val?: any) => Document | HTMLElement | (Window & typeof globalThis);
|
|
9
|
+
width: import('vue').Ref<number, number>;
|
|
10
|
+
height: import('vue').Ref<number, number>;
|
|
11
|
+
getInvisibleElementSize: (el?: any, nearby?: boolean, relate?: any, transitionName?: string) => {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { getElement, getInvisibleElementSize } from "../util/dom.js";
|
|
2
|
+
import { onMounted, onUpdated, ref } from "vue";
|
|
3
|
+
//#region use/useElement.ts
|
|
4
|
+
/**
|
|
5
|
+
* 获取真实的元素。并获取元素的宽高(元素display:none时,通过其他方式获取!)
|
|
6
|
+
* @param
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
function useElement(v) {
|
|
10
|
+
const el = ref();
|
|
11
|
+
const width = ref(0);
|
|
12
|
+
const height = ref(0);
|
|
13
|
+
function get(val) {
|
|
14
|
+
const _el = getElement(val || v);
|
|
15
|
+
el.value = _el;
|
|
16
|
+
return _el;
|
|
17
|
+
}
|
|
18
|
+
function getInvisibleElementSize$1(el, nearby, relate, transitionName) {
|
|
19
|
+
const s = getInvisibleElementSize(get(el || v), nearby, relate, transitionName);
|
|
20
|
+
width.value = s.width;
|
|
21
|
+
height.value = s.height;
|
|
22
|
+
return s;
|
|
23
|
+
}
|
|
24
|
+
onMounted(() => {
|
|
25
|
+
v && get();
|
|
26
|
+
});
|
|
27
|
+
onUpdated(() => {
|
|
28
|
+
v && get();
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
el,
|
|
32
|
+
get,
|
|
33
|
+
width,
|
|
34
|
+
height,
|
|
35
|
+
getInvisibleElementSize: getInvisibleElementSize$1
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { useElement as default };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=useElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useElement.js","names":[],"sources":["../../use/useElement.ts"],"sourcesContent":["import { onUpdated, onMounted, ref } from \"vue\"\r\nimport { getElement, getInvisibleElementSize as getSize } from \"../util\"\r\n/**\r\n * 获取真实的元素。并获取元素的宽高(元素display:none时,通过其他方式获取!)\r\n * @param\r\n * @returns\r\n */\r\nexport default function useElement(v?: any) {\r\n const el = ref()\r\n const width = ref(0)\r\n const height = ref(0)\r\n function get(val?: any) {\r\n const _el = getElement(val || v)\r\n el.value = _el\r\n return _el\r\n }\r\n function getInvisibleElementSize(\r\n el?: any,\r\n nearby?: boolean,\r\n relate?: any,\r\n transitionName?: string\r\n ) {\r\n const s = getSize(get(el || v), nearby, relate, transitionName)\r\n width.value = s.width\r\n height.value = s.height\r\n return s\r\n }\r\n onMounted(() => {\r\n v && get()\r\n })\r\n onUpdated(() => {\r\n v && get()\r\n })\r\n return { el, get, width, height, getInvisibleElementSize }\r\n}\r\n"],"mappings":";;;;;;;;AAOA,SAAwB,WAAW,GAAS;CAC1C,MAAM,KAAK,IAAI;CACf,MAAM,QAAQ,IAAI,CAAC;CACnB,MAAM,SAAS,IAAI,CAAC;CACpB,SAAS,IAAI,KAAW;EACtB,MAAM,MAAM,WAAW,OAAO,CAAC;EAC/B,GAAG,QAAQ;EACX,OAAO;CACT;CACA,SAAS,0BACP,IACA,QACA,QACA,gBACA;EACA,MAAM,IAAI,wBAAQ,IAAI,MAAM,CAAC,GAAG,QAAQ,QAAQ,cAAc;EAC9D,MAAM,QAAQ,EAAE;EAChB,OAAO,QAAQ,EAAE;EACjB,OAAO;CACT;CACA,gBAAgB;EACd,KAAK,IAAI;CACX,CAAC;CACD,gBAAgB;EACd,KAAK,IAAI;CACX,CAAC;CACD,OAAO;EAAE;EAAI;EAAK;EAAO;EAAQ,yBAAA;CAAwB;AAC3D"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Ref, WatchSource } from 'vue';
|
|
2
|
+
export type EscLayer = {
|
|
3
|
+
id: number;
|
|
4
|
+
zIndex: number;
|
|
5
|
+
onEsc: () => void;
|
|
6
|
+
};
|
|
7
|
+
/** 命令式入栈(后开的在最上);返回出栈函数 */
|
|
8
|
+
export declare function pushEscLayer(zIndex: number, onEsc: () => void): () => void;
|
|
9
|
+
/**
|
|
10
|
+
* @param active 浮层是否处于可 ESC 关闭态
|
|
11
|
+
* @param onEsc 关闭回调(只应由最上层触发)
|
|
12
|
+
* @param getZIndex 入栈时取当前 z-index(建议在 add() 之后)
|
|
13
|
+
*/
|
|
14
|
+
export default function useEscStack(active: WatchSource<boolean> | Ref<boolean>, onEsc: () => void, getZIndex: () => number): void;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { onBeforeUnmount, watch } from "vue";
|
|
2
|
+
//#region use/useEscStack.ts
|
|
3
|
+
/**
|
|
4
|
+
* 浮层 ESC 栈:全局只监听一次 keydown,按 z-index(同值按注册序)只关最上层。
|
|
5
|
+
* Modal / Drawer / Layer / Confirm(Drawer) 共用。
|
|
6
|
+
*/
|
|
7
|
+
var stack = [];
|
|
8
|
+
var seq = 0;
|
|
9
|
+
var listening = false;
|
|
10
|
+
function ensureEscListening() {
|
|
11
|
+
if (typeof window === "undefined" || listening) return;
|
|
12
|
+
listening = true;
|
|
13
|
+
window.addEventListener("keydown", onEscKeydown, true);
|
|
14
|
+
}
|
|
15
|
+
function onEscKeydown(e) {
|
|
16
|
+
if (e.key !== "Escape" && e.key !== "Esc") return;
|
|
17
|
+
if (e.defaultPrevented) return;
|
|
18
|
+
if (!stack.length) return;
|
|
19
|
+
const top = stack[stack.length - 1];
|
|
20
|
+
e.preventDefault();
|
|
21
|
+
e.stopPropagation();
|
|
22
|
+
top.onEsc();
|
|
23
|
+
}
|
|
24
|
+
/** 命令式入栈(后开的在最上);返回出栈函数 */
|
|
25
|
+
function pushEscLayer(zIndex, onEsc) {
|
|
26
|
+
ensureEscListening();
|
|
27
|
+
const id = ++seq;
|
|
28
|
+
const layer = {
|
|
29
|
+
id,
|
|
30
|
+
zIndex,
|
|
31
|
+
onEsc
|
|
32
|
+
};
|
|
33
|
+
stack.push(layer);
|
|
34
|
+
return () => {
|
|
35
|
+
const i = stack.findIndex((l) => l.id === id);
|
|
36
|
+
if (i >= 0) stack.splice(i, 1);
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* @param active 浮层是否处于可 ESC 关闭态
|
|
41
|
+
* @param onEsc 关闭回调(只应由最上层触发)
|
|
42
|
+
* @param getZIndex 入栈时取当前 z-index(建议在 add() 之后)
|
|
43
|
+
*/
|
|
44
|
+
function useEscStack(active, onEsc, getZIndex) {
|
|
45
|
+
let pop;
|
|
46
|
+
const onEscRef = { current: onEsc };
|
|
47
|
+
function clear() {
|
|
48
|
+
pop?.();
|
|
49
|
+
pop = void 0;
|
|
50
|
+
}
|
|
51
|
+
watch(active, (v) => {
|
|
52
|
+
onEscRef.current = onEsc;
|
|
53
|
+
clear();
|
|
54
|
+
if (!v) return;
|
|
55
|
+
pop = pushEscLayer(getZIndex(), () => onEscRef.current());
|
|
56
|
+
}, { immediate: true });
|
|
57
|
+
onBeforeUnmount(clear);
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
export { useEscStack as default, pushEscLayer };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=useEscStack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEscStack.js","names":[],"sources":["../../use/useEscStack.ts"],"sourcesContent":["/**\r\n * 浮层 ESC 栈:全局只监听一次 keydown,按 z-index(同值按注册序)只关最上层。\r\n * Modal / Drawer / Layer / Confirm(Drawer) 共用。\r\n */\r\nimport {\r\n onBeforeUnmount,\r\n watch,\r\n type Ref,\r\n type WatchSource,\r\n} from 'vue'\r\n\r\nexport type EscLayer = {\r\n id: number\r\n zIndex: number\r\n onEsc: () => void\r\n}\r\n\r\nconst stack: EscLayer[] = []\r\nlet seq = 0\r\nlet listening = false\r\n\r\nfunction ensureEscListening() {\r\n if (typeof window === 'undefined' || listening) return\r\n listening = true\r\n window.addEventListener('keydown', onEscKeydown, true)\r\n}\r\n\r\nfunction onEscKeydown(e: KeyboardEvent) {\r\n if (e.key !== 'Escape' && e.key !== 'Esc') return\r\n if (e.defaultPrevented) return\r\n if (!stack.length) return\r\n const top = stack[stack.length - 1]\r\n e.preventDefault()\r\n e.stopPropagation()\r\n top.onEsc()\r\n}\r\n\r\n/** 命令式入栈(后开的在最上);返回出栈函数 */\r\nexport function pushEscLayer(zIndex: number, onEsc: () => void): () => void {\r\n ensureEscListening()\r\n const id = ++seq\r\n const layer: EscLayer = { id, zIndex, onEsc }\r\n stack.push(layer)\r\n return () => {\r\n const i = stack.findIndex((l) => l.id === id)\r\n if (i >= 0) stack.splice(i, 1)\r\n }\r\n}\r\n\r\n/**\r\n * @param active 浮层是否处于可 ESC 关闭态\r\n * @param onEsc 关闭回调(只应由最上层触发)\r\n * @param getZIndex 入栈时取当前 z-index(建议在 add() 之后)\r\n */\r\nexport default function useEscStack(\r\n active: WatchSource<boolean> | Ref<boolean>,\r\n onEsc: () => void,\r\n getZIndex: () => number,\r\n) {\r\n let pop: (() => void) | undefined\r\n const onEscRef = { current: onEsc }\r\n\r\n function clear() {\r\n pop?.()\r\n pop = undefined\r\n }\r\n\r\n watch(\r\n active,\r\n (v) => {\r\n onEscRef.current = onEsc\r\n clear()\r\n if (!v) return\r\n pop = pushEscLayer(getZIndex(), () => onEscRef.current())\r\n },\r\n { immediate: true },\r\n )\r\n\r\n onBeforeUnmount(clear)\r\n}\r\n"],"mappings":";;;;;;AAiBA,IAAM,QAAoB,CAAC;AAC3B,IAAI,MAAM;AACV,IAAI,YAAY;AAEhB,SAAS,qBAAqB;CAC5B,IAAI,OAAO,WAAW,eAAe,WAAW;CAChD,YAAY;CACZ,OAAO,iBAAiB,WAAW,cAAc,IAAI;AACvD;AAEA,SAAS,aAAa,GAAkB;CACtC,IAAI,EAAE,QAAQ,YAAY,EAAE,QAAQ,OAAO;CAC3C,IAAI,EAAE,kBAAkB;CACxB,IAAI,CAAC,MAAM,QAAQ;CACnB,MAAM,MAAM,MAAM,MAAM,SAAS;CACjC,EAAE,eAAe;CACjB,EAAE,gBAAgB;CAClB,IAAI,MAAM;AACZ;;AAGA,SAAgB,aAAa,QAAgB,OAA+B;CAC1E,mBAAmB;CACnB,MAAM,KAAK,EAAE;CACb,MAAM,QAAkB;EAAE;EAAI;EAAQ;CAAM;CAC5C,MAAM,KAAK,KAAK;CAChB,aAAa;EACX,MAAM,IAAI,MAAM,WAAW,MAAM,EAAE,OAAO,EAAE;EAC5C,IAAI,KAAK,GAAG,MAAM,OAAO,GAAG,CAAC;CAC/B;AACF;;;;;;AAOA,SAAwB,YACtB,QACA,OACA,WACA;CACA,IAAI;CACJ,MAAM,WAAW,EAAE,SAAS,MAAM;CAElC,SAAS,QAAQ;EACf,MAAM;EACN,MAAM,KAAA;CACR;CAEA,MACE,SACC,MAAM;EACL,SAAS,UAAU;EACnB,MAAM;EACN,IAAI,CAAC,GAAG;EACR,MAAM,aAAa,UAAU,SAAS,SAAS,QAAQ,CAAC;CAC1D,GACA,EAAE,WAAW,KAAK,CACpB;CAEA,gBAAgB,KAAK;AACvB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Ref, ComputedRef } from 'vue';
|
|
2
|
+
type ElemType = Window | Document | HTMLElement | Ref | ComputedRef;
|
|
3
|
+
type ListenerType = EventListener | Function;
|
|
4
|
+
export default function useEvent(elem?: ElemType, //elem.value可能是HTMLElement,也可能个组件!
|
|
5
|
+
type?: string, listener?: ListenerType): {
|
|
6
|
+
add: (node?: ElemType, eventType?: string, handler?: ListenerType) => ListenerType;
|
|
7
|
+
remove: (node?: ElemType, eventType?: string, handler?: ListenerType) => void;
|
|
8
|
+
};
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { getElement } from "../util/dom.js";
|
|
2
|
+
import useElement from "./useElement.js";
|
|
3
|
+
import { onActivated, onBeforeUnmount, onDeactivated, watch } from "vue";
|
|
4
|
+
//#region use/useEvent.ts
|
|
5
|
+
function useEvent(elem, type, listener) {
|
|
6
|
+
onActivated(() => {
|
|
7
|
+
if (el && el.value) add();
|
|
8
|
+
});
|
|
9
|
+
onDeactivated(() => {
|
|
10
|
+
remove();
|
|
11
|
+
});
|
|
12
|
+
const { el } = useElement(elem);
|
|
13
|
+
function add(node, eventType, handler) {
|
|
14
|
+
const _el = node ? getElement(node) : el.value;
|
|
15
|
+
const _type = eventType || type;
|
|
16
|
+
const fn = handler || listener;
|
|
17
|
+
if (_el) {
|
|
18
|
+
_el.addEventListener(_type, fn);
|
|
19
|
+
el.value = _el;
|
|
20
|
+
}
|
|
21
|
+
return fn;
|
|
22
|
+
}
|
|
23
|
+
function remove(node, eventType, handler) {
|
|
24
|
+
const _el = node ? getElement(node) : el.value;
|
|
25
|
+
const _type = eventType || type;
|
|
26
|
+
const fn = handler || listener;
|
|
27
|
+
if (_el) _el.removeEventListener(_type, fn);
|
|
28
|
+
}
|
|
29
|
+
watch(el, (v) => {
|
|
30
|
+
if (v) add();
|
|
31
|
+
}, { immediate: true });
|
|
32
|
+
onBeforeUnmount(() => {
|
|
33
|
+
remove();
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
add,
|
|
37
|
+
remove
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { useEvent as default };
|
|
42
|
+
|
|
43
|
+
//# sourceMappingURL=useEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEvent.js","names":[],"sources":["../../use/useEvent.ts"],"sourcesContent":["import { onActivated, onDeactivated } from \"vue\"\r\nimport type { Ref, ComputedRef } from \"vue\"\r\nimport { watch, onBeforeUnmount } from \"vue\"\r\nimport { getElement } from \"../util\"\r\nimport useElement from \"./useElement\"\r\ntype ElemType = Window | Document | HTMLElement | Ref | ComputedRef\r\ntype ListenerType = EventListener | Function\r\nexport default function useEvent(\r\n elem?: ElemType, //elem.value可能是HTMLElement,也可能个组件!\r\n type?: string,\r\n listener?: ListenerType\r\n) {\r\n //组件是否处于激活状态,为什么?因为keep-alive下会出现激活和失活状态!\r\n //而在失活状态下触发事件,dom或不存在于页面中,故引起计算错误等问题\r\n\r\n onActivated(() => {\r\n if (el && el.value) {\r\n add()\r\n }\r\n })\r\n onDeactivated(() => {\r\n remove()\r\n })\r\n // const ins = getCurrentInstance()\r\n const { el } = useElement(elem)\r\n function add(node?: ElemType, eventType?: string, handler?: ListenerType) {\r\n const _el = node ? getElement(node) : el.value\r\n const _type = eventType || type\r\n const fn = handler || listener\r\n if (_el) {\r\n _el.addEventListener(_type, fn)\r\n el.value = _el\r\n }\r\n return fn\r\n }\r\n function remove(node?: ElemType, eventType?: string, handler?: ListenerType) {\r\n const _el = node ? getElement(node) : el.value\r\n const _type = eventType || type\r\n const fn = handler || listener\r\n if (_el) {\r\n _el.removeEventListener(_type, fn)\r\n }\r\n // console.log(\"remove\")\r\n }\r\n // if (ins) {\r\n // onMounted(() => {\r\n // elem && add()\r\n // })\r\n // onUpdated(() => {\r\n // // TODO: 这里不能一股脑的remove在add,应当判断elem是否发生了变化\r\n // // remove()\r\n // add()\r\n // })\r\n\r\n // onBeforeUnmount(remove)\r\n // }\r\n\r\n watch(\r\n el,\r\n (v) => {\r\n if (v) {\r\n // console.log(v)\r\n add()\r\n }\r\n },\r\n { immediate: true }\r\n )\r\n onBeforeUnmount(() => {\r\n remove()\r\n })\r\n\r\n return {\r\n add,\r\n remove,\r\n }\r\n}\r\n"],"mappings":";;;;AAOA,SAAwB,SACtB,MACA,MACA,UACA;CAIA,kBAAkB;EAChB,IAAI,MAAM,GAAG,OACX,IAAI;CAER,CAAC;CACD,oBAAoB;EAClB,OAAO;CACT,CAAC;CAED,MAAM,EAAE,OAAO,WAAW,IAAI;CAC9B,SAAS,IAAI,MAAiB,WAAoB,SAAwB;EACxE,MAAM,MAAM,OAAO,WAAW,IAAI,IAAI,GAAG;EACzC,MAAM,QAAQ,aAAa;EAC3B,MAAM,KAAK,WAAW;EACtB,IAAI,KAAK;GACP,IAAI,iBAAiB,OAAO,EAAE;GAC9B,GAAG,QAAQ;EACb;EACA,OAAO;CACT;CACA,SAAS,OAAO,MAAiB,WAAoB,SAAwB;EAC3E,MAAM,MAAM,OAAO,WAAW,IAAI,IAAI,GAAG;EACzC,MAAM,QAAQ,aAAa;EAC3B,MAAM,KAAK,WAAW;EACtB,IAAI,KACF,IAAI,oBAAoB,OAAO,EAAE;CAGrC;CAcA,MACE,KACC,MAAM;EACL,IAAI,GAEF,IAAI;CAER,GACA,EAAE,WAAW,KAAK,CACpB;CACA,sBAAsB;EACpB,OAAO;CACT,CAAC;CAED,OAAO;EACL;EACA;CACF;AACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MaybeRef } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* 表单控件注入 FormItem 上下文(兼容 Symbol 与旧字符串 key)。
|
|
4
|
+
*/
|
|
5
|
+
export declare function useFormItem(): {
|
|
6
|
+
formItem: any;
|
|
7
|
+
useDisabled: (localDisabled?: MaybeRef<boolean | undefined>) => import('vue').ComputedRef<boolean>;
|
|
8
|
+
};
|
|
9
|
+
export default useFormItem;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { FORM_ITEM_KEY } from "../components/formItem/context.js";
|
|
2
|
+
import { computed, inject, unref } from "vue";
|
|
3
|
+
//#region use/useFormItem.ts
|
|
4
|
+
/**
|
|
5
|
+
* 表单控件注入 FormItem 上下文(兼容 Symbol 与旧字符串 key)。
|
|
6
|
+
*/
|
|
7
|
+
function useFormItem() {
|
|
8
|
+
const formItem = inject(FORM_ITEM_KEY, void 0) ?? inject("formItem", void 0);
|
|
9
|
+
function useDisabled(localDisabled) {
|
|
10
|
+
return computed(() => !!(unref(localDisabled) || unref(formItem?.disabled)));
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
formItem,
|
|
14
|
+
useDisabled
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { useFormItem as default, useFormItem };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=useFormItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFormItem.js","names":[],"sources":["../../use/useFormItem.ts"],"sourcesContent":["import { computed, inject, unref, type MaybeRef } from 'vue'\r\nimport {\r\n FORM_ITEM_KEY,\r\n FORM_ITEM_LEGACY_KEY,\r\n type FormItemContext,\r\n} from '../components/formItem/context'\r\n\r\n/**\r\n * 表单控件注入 FormItem 上下文(兼容 Symbol 与旧字符串 key)。\r\n */\r\nexport function useFormItem() {\r\n const formItem =\r\n inject(FORM_ITEM_KEY, undefined) ??\r\n (inject(FORM_ITEM_LEGACY_KEY, undefined) as FormItemContext | undefined)\r\n\r\n function useDisabled(localDisabled?: MaybeRef<boolean | undefined>) {\r\n return computed(\r\n () => !!(unref(localDisabled) || unref(formItem?.disabled as any)),\r\n )\r\n }\r\n\r\n return { formItem, useDisabled }\r\n}\r\n\r\nexport default useFormItem\r\n"],"mappings":";;;;;;AAUA,SAAgB,cAAc;CAC5B,MAAM,WACJ,OAAO,eAAe,KAAA,CAAS,KAC9B,OAAA,YAA6B,KAAA,CAAS;CAEzC,SAAS,YAAY,eAA+C;EAClE,OAAO,eACC,CAAC,EAAE,MAAM,aAAa,KAAK,MAAM,UAAU,QAAe,EAClE;CACF;CAEA,OAAO;EAAE;EAAU;CAAY;AACjC"}
|