@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,193 @@
|
|
|
1
|
+
import useComponentConfig from "../../use/useComponentConfig.js";
|
|
2
|
+
import { propColorToCssVars, propSizeToCssVars, toCssVarsStyle } from "../../util/cssVars.js";
|
|
3
|
+
import useFormItem from "../../use/useFormItem.js";
|
|
4
|
+
import { TEXTAREA_FALLBACK } from "./config.js";
|
|
5
|
+
import { computed, createVNode, defineComponent, mergeProps, nextTick, onBeforeUnmount, onMounted, ref, watch } from "vue";
|
|
6
|
+
//#region components/textarea/Textarea.tsx
|
|
7
|
+
function ghostText(value) {
|
|
8
|
+
if (!value) return "\xA0";
|
|
9
|
+
return value.endsWith("\n") ? `${value}\u00A0` : value;
|
|
10
|
+
}
|
|
11
|
+
var TextareaImpl = /* @__PURE__ */ defineComponent({
|
|
12
|
+
name: "Textarea",
|
|
13
|
+
inheritAttrs: false,
|
|
14
|
+
props: {
|
|
15
|
+
modelValue: {
|
|
16
|
+
type: String,
|
|
17
|
+
default: ""
|
|
18
|
+
},
|
|
19
|
+
size: {
|
|
20
|
+
type: Number,
|
|
21
|
+
default: void 0
|
|
22
|
+
},
|
|
23
|
+
color: {
|
|
24
|
+
type: String,
|
|
25
|
+
default: void 0
|
|
26
|
+
},
|
|
27
|
+
placeholder: {
|
|
28
|
+
type: String,
|
|
29
|
+
default: void 0
|
|
30
|
+
},
|
|
31
|
+
maxlength: {
|
|
32
|
+
type: Number,
|
|
33
|
+
default: void 0
|
|
34
|
+
},
|
|
35
|
+
disabled: {
|
|
36
|
+
type: Boolean,
|
|
37
|
+
default: void 0
|
|
38
|
+
},
|
|
39
|
+
readonly: {
|
|
40
|
+
type: Boolean,
|
|
41
|
+
default: void 0
|
|
42
|
+
},
|
|
43
|
+
block: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: void 0
|
|
46
|
+
},
|
|
47
|
+
saveDelay: {
|
|
48
|
+
type: Number,
|
|
49
|
+
default: void 0
|
|
50
|
+
},
|
|
51
|
+
validateEvent: {
|
|
52
|
+
type: Boolean,
|
|
53
|
+
default: void 0
|
|
54
|
+
},
|
|
55
|
+
cssVars: {
|
|
56
|
+
type: Object,
|
|
57
|
+
default: void 0
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
emits: {
|
|
61
|
+
"update:modelValue": (value) => typeof value === "string",
|
|
62
|
+
input: (value) => typeof value === "string",
|
|
63
|
+
change: (value) => typeof value === "string",
|
|
64
|
+
save: (value) => typeof value === "string"
|
|
65
|
+
},
|
|
66
|
+
setup(props, { attrs, emit, expose }) {
|
|
67
|
+
const cfg = useComponentConfig("Textarea", props, TEXTAREA_FALLBACK);
|
|
68
|
+
const { formItem, useDisabled } = useFormItem();
|
|
69
|
+
const disabled = useDisabled(computed(() => cfg.value.disabled));
|
|
70
|
+
const fieldRef = ref();
|
|
71
|
+
const inner = ref(props.modelValue ?? "");
|
|
72
|
+
const composing = ref(false);
|
|
73
|
+
let saveTimer;
|
|
74
|
+
watch(() => props.modelValue, (v) => {
|
|
75
|
+
const next = v ?? "";
|
|
76
|
+
if (next !== inner.value) inner.value = next;
|
|
77
|
+
});
|
|
78
|
+
function clearSaveTimer() {
|
|
79
|
+
if (saveTimer !== void 0) {
|
|
80
|
+
clearTimeout(saveTimer);
|
|
81
|
+
saveTimer = void 0;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
function scheduleSave(value) {
|
|
85
|
+
clearSaveTimer();
|
|
86
|
+
const ms = Math.max(0, cfg.value.saveDelay ?? TEXTAREA_FALLBACK.saveDelay);
|
|
87
|
+
saveTimer = setTimeout(() => {
|
|
88
|
+
saveTimer = void 0;
|
|
89
|
+
emit("save", value);
|
|
90
|
+
}, ms);
|
|
91
|
+
}
|
|
92
|
+
function syncScrollTop() {
|
|
93
|
+
nextTick(() => {
|
|
94
|
+
if (fieldRef.value) fieldRef.value.scrollTop = 0;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
function commit(value, opts) {
|
|
98
|
+
let next = value;
|
|
99
|
+
const max = cfg.value.maxlength;
|
|
100
|
+
if (max != null && next.length > max) {
|
|
101
|
+
next = next.slice(0, max);
|
|
102
|
+
if (fieldRef.value) fieldRef.value.value = next;
|
|
103
|
+
}
|
|
104
|
+
inner.value = next;
|
|
105
|
+
emit("update:modelValue", next);
|
|
106
|
+
emit("input", next);
|
|
107
|
+
if (opts?.save !== false) scheduleSave(next);
|
|
108
|
+
syncScrollTop();
|
|
109
|
+
}
|
|
110
|
+
function onInput(e) {
|
|
111
|
+
commit(e.target.value, { save: !composing.value });
|
|
112
|
+
}
|
|
113
|
+
function onCompositionStart() {
|
|
114
|
+
composing.value = true;
|
|
115
|
+
}
|
|
116
|
+
function onCompositionEnd(e) {
|
|
117
|
+
composing.value = false;
|
|
118
|
+
commit(e.target.value);
|
|
119
|
+
}
|
|
120
|
+
function onChange(e) {
|
|
121
|
+
const val = e.target.value;
|
|
122
|
+
if (cfg.value.validateEvent !== false) formItem?.validate("change");
|
|
123
|
+
emit("change", val);
|
|
124
|
+
}
|
|
125
|
+
function onBlur() {
|
|
126
|
+
if (cfg.value.validateEvent !== false) formItem?.validate("blur");
|
|
127
|
+
}
|
|
128
|
+
function onKeydownEnter() {
|
|
129
|
+
syncScrollTop();
|
|
130
|
+
}
|
|
131
|
+
function onWindowResize() {
|
|
132
|
+
syncScrollTop();
|
|
133
|
+
}
|
|
134
|
+
onMounted(() => {
|
|
135
|
+
window.addEventListener("resize", onWindowResize);
|
|
136
|
+
});
|
|
137
|
+
onBeforeUnmount(() => {
|
|
138
|
+
window.removeEventListener("resize", onWindowResize);
|
|
139
|
+
clearSaveTimer();
|
|
140
|
+
});
|
|
141
|
+
expose({
|
|
142
|
+
focus: () => fieldRef.value?.focus(),
|
|
143
|
+
blur: () => fieldRef.value?.blur(),
|
|
144
|
+
select: () => fieldRef.value?.select(),
|
|
145
|
+
get textarea() {
|
|
146
|
+
return fieldRef.value;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
return () => {
|
|
150
|
+
const { class: klass, style: attrStyle, ...rest } = attrs;
|
|
151
|
+
const rootProps = mergeProps({
|
|
152
|
+
class: [
|
|
153
|
+
"w-textarea",
|
|
154
|
+
{
|
|
155
|
+
"w-textarea--block": cfg.value.block,
|
|
156
|
+
"w-textarea--disabled": disabled.value
|
|
157
|
+
},
|
|
158
|
+
klass
|
|
159
|
+
],
|
|
160
|
+
style: [toCssVarsStyle({
|
|
161
|
+
...propSizeToCssVars("textarea", cfg.value.size),
|
|
162
|
+
...propColorToCssVars("textarea", cfg.value.color),
|
|
163
|
+
...props.cssVars
|
|
164
|
+
}), attrStyle]
|
|
165
|
+
}, {});
|
|
166
|
+
return createVNode("div", rootProps, [createVNode("div", {
|
|
167
|
+
"class": "w-textarea-ghost",
|
|
168
|
+
"aria-hidden": "true"
|
|
169
|
+
}, [ghostText(inner.value)]), createVNode("textarea", mergeProps(rest, {
|
|
170
|
+
"ref": fieldRef,
|
|
171
|
+
"class": "w-textarea-field",
|
|
172
|
+
"value": inner.value,
|
|
173
|
+
"placeholder": cfg.value.placeholder,
|
|
174
|
+
"maxlength": cfg.value.maxlength,
|
|
175
|
+
"disabled": disabled.value || void 0,
|
|
176
|
+
"readonly": cfg.value.readonly || void 0,
|
|
177
|
+
"rows": 1,
|
|
178
|
+
"onInput": onInput,
|
|
179
|
+
"onChange": onChange,
|
|
180
|
+
"onBlur": onBlur,
|
|
181
|
+
"onCompositionstart": onCompositionStart,
|
|
182
|
+
"onCompositionend": onCompositionEnd,
|
|
183
|
+
"onKeydown": (e) => {
|
|
184
|
+
if (e.key === "Enter") onKeydownEnter();
|
|
185
|
+
}
|
|
186
|
+
}), null)]);
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
});
|
|
190
|
+
//#endregion
|
|
191
|
+
export { TextareaImpl as default };
|
|
192
|
+
|
|
193
|
+
//# sourceMappingURL=Textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.js","names":["computed","defineComponent","mergeProps","nextTick","onBeforeUnmount","onMounted","ref","watch","createVNode","_createVNode","_mergeProps","propColorToCssVars","propSizeToCssVars","toCssVarsStyle","useComponentConfig","useFormItem","TEXTAREA_FALLBACK","ghostText","value","endsWith","TextareaImpl","name","inheritAttrs","props","modelValue","type","String","default","size","Number","undefined","color","placeholder","maxlength","disabled","Boolean","readonly","block","saveDelay","validateEvent","cssVars","Object","emits","input","change","save","setup","attrs","emit","expose","cfg","formItem","useDisabled","fieldRef","inner","composing","saveTimer","v","next","clearSaveTimer","clearTimeout","scheduleSave","ms","Math","max","setTimeout","syncScrollTop","scrollTop","commit","opts","length","slice","onInput","e","target","onCompositionStart","onCompositionEnd","onChange","val","validate","onBlur","onKeydownEnter","onWindowResize","window","addEventListener","removeEventListener","api","focus","blur","select","textarea","class","klass","style","attrStyle","rest","rootProps","key"],"sources":["../../../components/textarea/Textarea.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n mergeProps,\r\n nextTick,\r\n onBeforeUnmount,\r\n onMounted,\r\n ref,\r\n watch,\r\n type PropType,\r\n} from 'vue'\r\nimport {\r\n propColorToCssVars,\r\n propSizeToCssVars,\r\n toCssVarsStyle,\r\n type CssVars,\r\n} from '../../util'\r\nimport useComponentConfig from '../../use/useComponentConfig'\r\nimport useFormItem from '../../use/useFormItem'\r\nimport { TEXTAREA_FALLBACK } from './config'\r\n\r\nexport type { TextareaGlobalConfig } from './config'\r\nexport { TEXTAREA_FALLBACK } from './config'\r\n\r\nexport type TextareaProps = {\r\n modelValue?: string\r\n size?: number\r\n color?: string\r\n placeholder?: string\r\n maxlength?: number\r\n disabled?: boolean\r\n readonly?: boolean\r\n block?: boolean\r\n /** 停输后触发 save 的防抖毫秒;默认 3000 */\r\n saveDelay?: number\r\n validateEvent?: boolean\r\n cssVars?: CssVars\r\n}\r\n\r\nexport type TextareaJSXProps = TextareaProps &\r\n Omit<\r\n JSX.IntrinsicElements['div'],\r\n keyof TextareaProps | 'ref' | 'onInput' | 'onChange'\r\n >\r\n\r\nexport type TextareaExpose = {\r\n focus: () => void\r\n blur: () => void\r\n select: () => void\r\n textarea: HTMLTextAreaElement | undefined\r\n}\r\n\r\nexport type TextareaComponent = {\r\n new (): {\r\n $props: TextareaJSXProps\r\n $emit: {\r\n (e: 'update:modelValue', value: string): void\r\n (e: 'input', value: string): void\r\n (e: 'change', value: string): void\r\n (e: 'save', value: string): void\r\n }\r\n } & TextareaExpose\r\n}\r\n\r\nfunction ghostText(value: string): string {\r\n if (!value) return '\\u00A0'\r\n return value.endsWith('\\n') ? `${value}\\u00A0` : value\r\n}\r\n\r\nconst TextareaImpl = defineComponent({\r\n name: 'Textarea',\r\n inheritAttrs: false,\r\n props: {\r\n modelValue: { type: String, default: '' },\r\n size: { type: Number, default: undefined },\r\n color: { type: String, default: undefined },\r\n placeholder: { type: String, default: undefined },\r\n maxlength: { type: Number, default: undefined },\r\n disabled: { type: Boolean, default: undefined },\r\n readonly: { type: Boolean, default: undefined },\r\n block: { type: Boolean, default: undefined },\r\n saveDelay: { type: Number, default: undefined },\r\n validateEvent: { type: Boolean, default: undefined },\r\n cssVars: { type: Object as PropType<CssVars>, default: undefined },\r\n },\r\n emits: {\r\n 'update:modelValue': (value: string) => typeof value === 'string',\r\n input: (value: string) => typeof value === 'string',\r\n change: (value: string) => typeof value === 'string',\r\n save: (value: string) => typeof value === 'string',\r\n },\r\n setup(props, { attrs, emit, expose }) {\r\n const cfg = useComponentConfig('Textarea', props, TEXTAREA_FALLBACK)\r\n const { formItem, useDisabled } = useFormItem()\r\n const disabled = useDisabled(computed(() => cfg.value.disabled))\r\n\r\n const fieldRef = ref<HTMLTextAreaElement>()\r\n const inner = ref(props.modelValue ?? '')\r\n const composing = ref(false)\r\n let saveTimer: ReturnType<typeof setTimeout> | undefined\r\n\r\n watch(\r\n () => props.modelValue,\r\n (v) => {\r\n const next = v ?? ''\r\n if (next !== inner.value) inner.value = next\r\n },\r\n )\r\n\r\n function clearSaveTimer() {\r\n if (saveTimer !== undefined) {\r\n clearTimeout(saveTimer)\r\n saveTimer = undefined\r\n }\r\n }\r\n\r\n function scheduleSave(value: string) {\r\n clearSaveTimer()\r\n const ms = Math.max(0, cfg.value.saveDelay ?? TEXTAREA_FALLBACK.saveDelay)\r\n saveTimer = setTimeout(() => {\r\n saveTimer = undefined\r\n emit('save', value)\r\n }, ms)\r\n }\r\n\r\n function syncScrollTop() {\r\n nextTick(() => {\r\n if (fieldRef.value) fieldRef.value.scrollTop = 0\r\n })\r\n }\r\n\r\n function commit(value: string, opts?: { save?: boolean }) {\r\n let next = value\r\n const max = cfg.value.maxlength\r\n if (max != null && next.length > max) {\r\n next = next.slice(0, max)\r\n if (fieldRef.value) fieldRef.value.value = next\r\n }\r\n inner.value = next\r\n emit('update:modelValue', next)\r\n emit('input', next)\r\n if (opts?.save !== false) scheduleSave(next)\r\n syncScrollTop()\r\n }\r\n\r\n function onInput(e: Event) {\r\n // 组字过程也要同步,避免父级重渲染冲掉输入;结束前不触发 save\r\n commit((e.target as HTMLTextAreaElement).value, {\r\n save: !composing.value,\r\n })\r\n }\r\n\r\n function onCompositionStart() {\r\n composing.value = true\r\n }\r\n\r\n function onCompositionEnd(e: CompositionEvent) {\r\n composing.value = false\r\n commit((e.target as HTMLTextAreaElement).value)\r\n }\r\n\r\n function onChange(e: Event) {\r\n const val = (e.target as HTMLTextAreaElement).value\r\n if (cfg.value.validateEvent !== false) {\r\n formItem?.validate('change')\r\n }\r\n emit('change', val)\r\n }\r\n\r\n function onBlur() {\r\n if (cfg.value.validateEvent !== false) {\r\n formItem?.validate('blur')\r\n }\r\n }\r\n\r\n function onKeydownEnter() {\r\n syncScrollTop()\r\n }\r\n\r\n function onWindowResize() {\r\n syncScrollTop()\r\n }\r\n\r\n onMounted(() => {\r\n window.addEventListener('resize', onWindowResize)\r\n })\r\n\r\n onBeforeUnmount(() => {\r\n window.removeEventListener('resize', onWindowResize)\r\n clearSaveTimer()\r\n })\r\n\r\n const api: TextareaExpose = {\r\n focus: () => fieldRef.value?.focus(),\r\n blur: () => fieldRef.value?.blur(),\r\n select: () => fieldRef.value?.select(),\r\n get textarea() {\r\n return fieldRef.value\r\n },\r\n }\r\n expose(api)\r\n\r\n return () => {\r\n const { class: klass, style: attrStyle, ...rest } = attrs\r\n const rootProps = mergeProps(\r\n {\r\n class: [\r\n 'w-textarea',\r\n {\r\n 'w-textarea--block': cfg.value.block,\r\n 'w-textarea--disabled': disabled.value,\r\n },\r\n klass,\r\n ],\r\n style: [\r\n toCssVarsStyle({\r\n ...propSizeToCssVars('textarea', cfg.value.size),\r\n ...propColorToCssVars('textarea', cfg.value.color),\r\n ...props.cssVars,\r\n }),\r\n attrStyle as any,\r\n ],\r\n },\r\n {},\r\n )\r\n\r\n return (\r\n <div {...rootProps}>\r\n <div class=\"w-textarea-ghost\" aria-hidden=\"true\">\r\n {ghostText(inner.value)}\r\n </div>\r\n <textarea\r\n {...rest}\r\n ref={fieldRef}\r\n class=\"w-textarea-field\"\r\n value={inner.value}\r\n placeholder={cfg.value.placeholder}\r\n maxlength={cfg.value.maxlength}\r\n disabled={disabled.value || undefined}\r\n readonly={cfg.value.readonly || undefined}\r\n rows={1}\r\n onInput={onInput}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n onCompositionstart={onCompositionStart}\r\n onCompositionend={onCompositionEnd}\r\n onKeydown={(e: KeyboardEvent) => {\r\n if (e.key === 'Enter') onKeydownEnter()\r\n }}\r\n />\r\n </div>\r\n )\r\n }\r\n },\r\n})\r\n\r\nexport default TextareaImpl as unknown as TextareaComponent\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 可通过 `app.use(UI, { components: { Textarea: {...} } })` 配置的项。
|
|
3
|
+
* 不宜全局配置:modelValue(受控值)、一次性回调。
|
|
4
|
+
*/
|
|
5
|
+
export type TextareaGlobalConfig = Partial<{
|
|
6
|
+
/** 尺度核(px)→ `--w-prop-textarea-size` */
|
|
7
|
+
size: number;
|
|
8
|
+
/** 品牌主色 → `--w-prop-textarea-color`(focus 描边) */
|
|
9
|
+
color: string;
|
|
10
|
+
placeholder: string;
|
|
11
|
+
maxlength: number;
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
readonly: boolean;
|
|
14
|
+
block: boolean;
|
|
15
|
+
/** 停输后触发 save 的防抖毫秒 */
|
|
16
|
+
saveDelay: number;
|
|
17
|
+
/** blur/change 时是否触发 FormItem 校验 */
|
|
18
|
+
validateEvent: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
export declare const TEXTAREA_FALLBACK: {
|
|
21
|
+
size: number | undefined;
|
|
22
|
+
color: string | undefined;
|
|
23
|
+
placeholder: string | undefined;
|
|
24
|
+
maxlength: number | undefined;
|
|
25
|
+
disabled: boolean;
|
|
26
|
+
readonly: boolean;
|
|
27
|
+
block: boolean;
|
|
28
|
+
saveDelay: number;
|
|
29
|
+
validateEvent: boolean;
|
|
30
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region components/textarea/config.ts
|
|
2
|
+
var TEXTAREA_FALLBACK = {
|
|
3
|
+
size: void 0,
|
|
4
|
+
color: void 0,
|
|
5
|
+
placeholder: void 0,
|
|
6
|
+
maxlength: void 0,
|
|
7
|
+
disabled: false,
|
|
8
|
+
readonly: false,
|
|
9
|
+
block: false,
|
|
10
|
+
saveDelay: 3e3,
|
|
11
|
+
validateEvent: true
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { TEXTAREA_FALLBACK };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","names":[],"sources":["../../../components/textarea/config.ts"],"sourcesContent":["/**\r\n * 可通过 `app.use(UI, { components: { Textarea: {...} } })` 配置的项。\r\n * 不宜全局配置:modelValue(受控值)、一次性回调。\r\n */\r\nexport type TextareaGlobalConfig = Partial<{\r\n /** 尺度核(px)→ `--w-prop-textarea-size` */\r\n size: number\r\n /** 品牌主色 → `--w-prop-textarea-color`(focus 描边) */\r\n color: string\r\n placeholder: string\r\n maxlength: number\r\n disabled: boolean\r\n readonly: boolean\r\n block: boolean\r\n /** 停输后触发 save 的防抖毫秒 */\r\n saveDelay: number\r\n /** blur/change 时是否触发 FormItem 校验 */\r\n validateEvent: boolean\r\n}>\r\n\r\nexport const TEXTAREA_FALLBACK = {\r\n size: undefined as number | undefined,\r\n color: undefined as string | undefined,\r\n placeholder: undefined as string | undefined,\r\n maxlength: undefined as number | undefined,\r\n disabled: false,\r\n readonly: false,\r\n block: false,\r\n saveDelay: 3000,\r\n validateEvent: true,\r\n}\r\n"],"mappings":";AAoBA,IAAa,oBAAoB;CAC/B,MAAM,KAAA;CACN,OAAO,KAAA;CACP,aAAa,KAAA;CACb,WAAW,KAAA;CACX,UAAU;CACV,UAAU;CACV,OAAO;CACP,WAAW;CACX,eAAe;AACjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../../../theme/tokens/components/textarea.css';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import Dial_vue_vue_type_script_setup_true_lang_default from "./Dial.vue_vue_type_script_setup_true_lang.js";
|
|
2
|
+
//#region components/time/Dial.vue
|
|
3
|
+
var Dial_default = Dial_vue_vue_type_script_setup_true_lang_default;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { Dial_default as default };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=Dial.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dial.js","names":[],"sources":["../../../components/time/Dial.vue"],"sourcesContent":["<template>\r\n <div class=\"w-time-dial\">\r\n <div class=\"w-time-dial-title\">\r\n <span v-if=\"has.h\">{{ t(\"time.hour\") }}</span>\r\n <span v-if=\"has.m\">{{ t(\"time.minute\") }}</span>\r\n <span v-if=\"has.s\">{{ t(\"time.second\") }}</span>\r\n </div>\r\n <div class=\"w-time-dial-btn\" ref=\"top_btn\"></div>\r\n <div class=\"w-time-dial-list\" v-if=\"isMounted\">\r\n <Toggle\r\n v-for=\"(a, i) in arr\"\r\n v-bind=\"toggleOptions\"\r\n :data=\"a\"\r\n :index=\"getIndex(i)\"\r\n @wheel=\"handleWheel(i, $event)\">\r\n <template #default=\"{ item }\">\r\n <div\r\n v-for=\"n in item\"\r\n :class=\"[\r\n 'w-dial-item-item',\r\n {\r\n 'w-dial-item-readonly':\r\n (i === 0 && !has.h) ||\r\n (i === 1 && !can.m) ||\r\n (i === 2 && !can.s),\r\n 'w-dial-item-selected':\r\n (i === 0 && h == n) ||\r\n (i === 1 && m == n) ||\r\n (i === 2 && s == n),\r\n },\r\n ]\"\r\n @click=\"handleClick(i, n)\">\r\n {{ n }}\r\n </div>\r\n </template>\r\n <template #use=\"{ prev, next }\">\r\n <teleport :to=\"top_btn\">\r\n <Icon name=\"w-icon-sort-down\" size=\"var(--__icon)\" rotate @click=\"prev\" />\r\n </teleport>\r\n <teleport :to=\"bottom_btn\">\r\n <Icon name=\"w-icon-sort-down\" size=\"var(--__icon)\" @click=\"next\" />\r\n </teleport>\r\n </template>\r\n </Toggle>\r\n </div>\r\n <div class=\"w-time-dial-btn\" ref=\"bottom_btn\"></div>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport \"./style/dial.css\"\r\nimport { ref, onMounted, computed, watchEffect } from \"vue\"\r\nimport Toggle from \"../toggle/index\"\r\nimport Icon from \"../icon/index\"\r\nimport type { TimeFormatType } from \"../../config/types\"\r\nimport { useUII18n } from \"../../use/useUII18n\"\r\n\r\nconst { t } = useUII18n()\r\nconst props = withDefaults(\r\n defineProps<{\r\n format?: TimeFormatType\r\n value?: string\r\n }>(),\r\n { format: \"HH:mm:ss\" }\r\n)\r\nconst emit = defineEmits<{ (e: \"change\", hms?: string): void }>()\r\nconst [h, m, s] = useHms(props as any)\r\nconst isMounted = ref(false)\r\nconst bottom_btn = ref<HTMLElement>()\r\nconst top_btn = ref<HTMLElement>()\r\nconst createNumberArray = (total: number, size: number = 6) =>\r\n Array.from({ length: total / size }, (el, i) =>\r\n Array.from({ length: size }, (item, index) =>\r\n (i * size + index).toString().padStart(2, \"0\")\r\n )\r\n )\r\n//展不展示时分秒\r\nconst has = computed(() => {\r\n const f = props.format\r\n const m = f.indexOf(\"mm\") > -1\r\n const h = f.indexOf(\"HH\") > -1\r\n const s = f.indexOf(\"ss\") > -1\r\n // console.log(f, h)\r\n return { m, h, s }\r\n})\r\n//能不能进行选择时分秒的操作\r\nconst can = computed(() => {\r\n const v = props.value\r\n const len = v?.length\r\n if (len) {\r\n let h = true,\r\n m = false,\r\n s = false\r\n if (len >= 2) {\r\n m = true\r\n }\r\n if (len >= 5) {\r\n s = true\r\n }\r\n return { h: h && has.value.h, m: m && has.value.m, s: s && has.value.s }\r\n }\r\n return { h: false, m: false, s: false }\r\n})\r\nconst arr = computed(() => {\r\n const a: string[][][] = []\r\n if (has.value.h) {\r\n a.push(createNumberArray(24))\r\n if (has.value.m) {\r\n a.push(createNumberArray(60))\r\n if (has.value.s) {\r\n a.push(createNumberArray(60))\r\n }\r\n }\r\n }\r\n return a\r\n})\r\nconst toggleOptions = {\r\n class: \"w-dial-item\",\r\n transform: \"translate\" as \"translate\",\r\n direction: \"y\" as \"y\",\r\n itemClass: \"w-dial-toggle-item\",\r\n}\r\n\r\n//template里可以推断出组件定义的数据类型,但这里仍然要定义一遍,有其他办法重用类型吗?\r\nfunction handleWheel(\r\n i: number,\r\n {\r\n event,\r\n prev,\r\n next,\r\n delay,\r\n }: {\r\n event: WheelEvent\r\n [k: string]: any\r\n }\r\n) {\r\n if (event.deltaY > 0) {\r\n delay(next, 100)\r\n } else {\r\n delay(prev, 100)\r\n }\r\n}\r\n\r\nfunction handleClick(i: number, v: string) {\r\n // console.log(v, 'vvv')\r\n\r\n const arr: string[] = []\r\n if (i === 0) {\r\n if (has.value.h) h.value = v\r\n } else if (i === 1) {\r\n if (can.value.m) m.value = v\r\n else {\r\n return\r\n }\r\n } else {\r\n if (can.value.s) s.value = v\r\n else {\r\n return\r\n }\r\n }\r\n if (h.value) {\r\n arr.push(h.value)\r\n }\r\n if (m.value) {\r\n arr.push(m.value)\r\n }\r\n if (s.value) {\r\n arr.push(s.value)\r\n }\r\n emit(\"change\", arr.join(\":\"))\r\n}\r\n\r\nfunction getIndex(i: number) {\r\n if (i === 0) {\r\n if (h.value === undefined) {\r\n return 0\r\n } else {\r\n const j = parseInt(\"\" + Number(h.value) / 6)\r\n return j\r\n }\r\n } else if (i === 1) {\r\n if (m.value === undefined) {\r\n return 0\r\n } else {\r\n return parseInt(\"\" + Number(m.value) / 6)\r\n }\r\n } else if (i === 2) {\r\n if (s.value === undefined) {\r\n return 0\r\n } else {\r\n return parseInt(\"\" + Number(s.value) / 6)\r\n }\r\n }\r\n}\r\n\r\nonMounted(() => {\r\n isMounted.value = true\r\n})\r\n\r\nfunction useHms(props: Record<string, string>) {\r\n const h = ref<string>()\r\n const m = ref<string>()\r\n const s = ref<string>()\r\n watchEffect(() => {\r\n ;[h.value, m.value, s.value] = (props.value || \"\").split(\":\")\r\n\r\n // console.log(h.value, m.value, s.value)\r\n })\r\n\r\n return [h, m, s]\r\n}\r\n</script>\r\n"],"mappings":""}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import Icon_default from "../icon/Icon.js";
|
|
2
|
+
import { useUII18n } from "../../use/useUII18n.js";
|
|
3
|
+
import Toggle_default from "../toggle/Toggle.js";
|
|
4
|
+
import { Fragment, Teleport, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, normalizeClass, onMounted, openBlock, ref, renderList, toDisplayString, unref, watchEffect, withCtx } from "vue";
|
|
5
|
+
import "./style/dial.css";
|
|
6
|
+
//#region components/time/Dial.vue?vue&type=script&setup=true&lang.ts
|
|
7
|
+
var _hoisted_1 = { class: "w-time-dial" };
|
|
8
|
+
var _hoisted_2 = { class: "w-time-dial-title" };
|
|
9
|
+
var _hoisted_3 = { key: 0 };
|
|
10
|
+
var _hoisted_4 = { key: 1 };
|
|
11
|
+
var _hoisted_5 = { key: 2 };
|
|
12
|
+
var _hoisted_6 = {
|
|
13
|
+
key: 0,
|
|
14
|
+
class: "w-time-dial-list"
|
|
15
|
+
};
|
|
16
|
+
var _hoisted_7 = ["onClick"];
|
|
17
|
+
var Dial_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
|
|
18
|
+
__name: "Dial",
|
|
19
|
+
props: {
|
|
20
|
+
format: { default: "HH:mm:ss" },
|
|
21
|
+
value: {}
|
|
22
|
+
},
|
|
23
|
+
emits: ["change"],
|
|
24
|
+
setup(__props, { emit: __emit }) {
|
|
25
|
+
const { t } = useUII18n();
|
|
26
|
+
const props = __props;
|
|
27
|
+
const emit = __emit;
|
|
28
|
+
const [h, m, s] = useHms(props);
|
|
29
|
+
const isMounted = ref(false);
|
|
30
|
+
const bottom_btn = ref();
|
|
31
|
+
const top_btn = ref();
|
|
32
|
+
const createNumberArray = (total, size = 6) => Array.from({ length: total / size }, (el, i) => Array.from({ length: size }, (item, index) => (i * size + index).toString().padStart(2, "0")));
|
|
33
|
+
const has = computed(() => {
|
|
34
|
+
const f = props.format;
|
|
35
|
+
return {
|
|
36
|
+
m: f.indexOf("mm") > -1,
|
|
37
|
+
h: f.indexOf("HH") > -1,
|
|
38
|
+
s: f.indexOf("ss") > -1
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
const can = computed(() => {
|
|
42
|
+
const len = props.value?.length;
|
|
43
|
+
if (len) {
|
|
44
|
+
let m = false, s = false;
|
|
45
|
+
if (len >= 2) m = true;
|
|
46
|
+
if (len >= 5) s = true;
|
|
47
|
+
return {
|
|
48
|
+
h: has.value.h,
|
|
49
|
+
m: m && has.value.m,
|
|
50
|
+
s: s && has.value.s
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
return {
|
|
54
|
+
h: false,
|
|
55
|
+
m: false,
|
|
56
|
+
s: false
|
|
57
|
+
};
|
|
58
|
+
});
|
|
59
|
+
const arr = computed(() => {
|
|
60
|
+
const a = [];
|
|
61
|
+
if (has.value.h) {
|
|
62
|
+
a.push(createNumberArray(24));
|
|
63
|
+
if (has.value.m) {
|
|
64
|
+
a.push(createNumberArray(60));
|
|
65
|
+
if (has.value.s) a.push(createNumberArray(60));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return a;
|
|
69
|
+
});
|
|
70
|
+
const toggleOptions = {
|
|
71
|
+
class: "w-dial-item",
|
|
72
|
+
transform: "translate",
|
|
73
|
+
direction: "y",
|
|
74
|
+
itemClass: "w-dial-toggle-item"
|
|
75
|
+
};
|
|
76
|
+
function handleWheel(i, { event, prev, next, delay }) {
|
|
77
|
+
if (event.deltaY > 0) delay(next, 100);
|
|
78
|
+
else delay(prev, 100);
|
|
79
|
+
}
|
|
80
|
+
function handleClick(i, v) {
|
|
81
|
+
const arr = [];
|
|
82
|
+
if (i === 0) {
|
|
83
|
+
if (has.value.h) h.value = v;
|
|
84
|
+
} else if (i === 1) {
|
|
85
|
+
if (can.value.m) m.value = v;
|
|
86
|
+
else return;
|
|
87
|
+
} else if (can.value.s) s.value = v;
|
|
88
|
+
else return;
|
|
89
|
+
if (h.value) arr.push(h.value);
|
|
90
|
+
if (m.value) arr.push(m.value);
|
|
91
|
+
if (s.value) arr.push(s.value);
|
|
92
|
+
emit("change", arr.join(":"));
|
|
93
|
+
}
|
|
94
|
+
function getIndex(i) {
|
|
95
|
+
if (i === 0) {
|
|
96
|
+
if (h.value === void 0) return 0;
|
|
97
|
+
else return parseInt("" + Number(h.value) / 6);
|
|
98
|
+
} else if (i === 1) {
|
|
99
|
+
if (m.value === void 0) return 0;
|
|
100
|
+
else return parseInt("" + Number(m.value) / 6);
|
|
101
|
+
} else if (i === 2) {
|
|
102
|
+
if (s.value === void 0) return 0;
|
|
103
|
+
else return parseInt("" + Number(s.value) / 6);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
onMounted(() => {
|
|
107
|
+
isMounted.value = true;
|
|
108
|
+
});
|
|
109
|
+
function useHms(props) {
|
|
110
|
+
const h = ref();
|
|
111
|
+
const m = ref();
|
|
112
|
+
const s = ref();
|
|
113
|
+
watchEffect(() => {
|
|
114
|
+
[h.value, m.value, s.value] = (props.value || "").split(":");
|
|
115
|
+
});
|
|
116
|
+
return [
|
|
117
|
+
h,
|
|
118
|
+
m,
|
|
119
|
+
s
|
|
120
|
+
];
|
|
121
|
+
}
|
|
122
|
+
return (_ctx, _cache) => {
|
|
123
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
124
|
+
createElementVNode("div", _hoisted_2, [
|
|
125
|
+
has.value.h ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(unref(t)("time.hour")), 1)) : createCommentVNode("", true),
|
|
126
|
+
has.value.m ? (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(unref(t)("time.minute")), 1)) : createCommentVNode("", true),
|
|
127
|
+
has.value.s ? (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(unref(t)("time.second")), 1)) : createCommentVNode("", true)
|
|
128
|
+
]),
|
|
129
|
+
createElementVNode("div", {
|
|
130
|
+
class: "w-time-dial-btn",
|
|
131
|
+
ref_key: "top_btn",
|
|
132
|
+
ref: top_btn
|
|
133
|
+
}, null, 512),
|
|
134
|
+
isMounted.value ? (openBlock(), createElementBlock("div", _hoisted_6, [(openBlock(true), createElementBlock(Fragment, null, renderList(arr.value, (a, i) => {
|
|
135
|
+
return openBlock(), createBlock(unref(Toggle_default), mergeProps({ ref_for: true }, toggleOptions, {
|
|
136
|
+
data: a,
|
|
137
|
+
index: getIndex(i),
|
|
138
|
+
onWheel: ($event) => handleWheel(i, $event)
|
|
139
|
+
}), {
|
|
140
|
+
default: withCtx(({ item }) => [(openBlock(true), createElementBlock(Fragment, null, renderList(item, (n) => {
|
|
141
|
+
return openBlock(), createElementBlock("div", {
|
|
142
|
+
class: normalizeClass(["w-dial-item-item", {
|
|
143
|
+
"w-dial-item-readonly": i === 0 && !has.value.h || i === 1 && !can.value.m || i === 2 && !can.value.s,
|
|
144
|
+
"w-dial-item-selected": i === 0 && unref(h) == n || i === 1 && unref(m) == n || i === 2 && unref(s) == n
|
|
145
|
+
}]),
|
|
146
|
+
onClick: ($event) => handleClick(i, n)
|
|
147
|
+
}, toDisplayString(n), 11, _hoisted_7);
|
|
148
|
+
}), 256))]),
|
|
149
|
+
use: withCtx(({ prev, next }) => [(openBlock(), createBlock(Teleport, { to: top_btn.value }, [createVNode(unref(Icon_default), {
|
|
150
|
+
name: "w-icon-sort-down",
|
|
151
|
+
size: "var(--__icon)",
|
|
152
|
+
rotate: "",
|
|
153
|
+
onClick: prev
|
|
154
|
+
}, null, 8, ["onClick"])], 8, ["to"])), (openBlock(), createBlock(Teleport, { to: bottom_btn.value }, [createVNode(unref(Icon_default), {
|
|
155
|
+
name: "w-icon-sort-down",
|
|
156
|
+
size: "var(--__icon)",
|
|
157
|
+
onClick: next
|
|
158
|
+
}, null, 8, ["onClick"])], 8, ["to"]))]),
|
|
159
|
+
_: 2
|
|
160
|
+
}, 1040, [
|
|
161
|
+
"data",
|
|
162
|
+
"index",
|
|
163
|
+
"onWheel"
|
|
164
|
+
]);
|
|
165
|
+
}), 256))])) : createCommentVNode("", true),
|
|
166
|
+
createElementVNode("div", {
|
|
167
|
+
class: "w-time-dial-btn",
|
|
168
|
+
ref_key: "bottom_btn",
|
|
169
|
+
ref: bottom_btn
|
|
170
|
+
}, null, 512)
|
|
171
|
+
]);
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
//#endregion
|
|
176
|
+
export { Dial_vue_vue_type_script_setup_true_lang_default as default };
|
|
177
|
+
|
|
178
|
+
//# sourceMappingURL=Dial.vue_vue_type_script_setup_true_lang.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dial.vue_vue_type_script_setup_true_lang.js","names":[],"sources":["../../../components/time/Dial.vue"],"sourcesContent":["<template>\r\n <div class=\"w-time-dial\">\r\n <div class=\"w-time-dial-title\">\r\n <span v-if=\"has.h\">{{ t(\"time.hour\") }}</span>\r\n <span v-if=\"has.m\">{{ t(\"time.minute\") }}</span>\r\n <span v-if=\"has.s\">{{ t(\"time.second\") }}</span>\r\n </div>\r\n <div class=\"w-time-dial-btn\" ref=\"top_btn\"></div>\r\n <div class=\"w-time-dial-list\" v-if=\"isMounted\">\r\n <Toggle\r\n v-for=\"(a, i) in arr\"\r\n v-bind=\"toggleOptions\"\r\n :data=\"a\"\r\n :index=\"getIndex(i)\"\r\n @wheel=\"handleWheel(i, $event)\">\r\n <template #default=\"{ item }\">\r\n <div\r\n v-for=\"n in item\"\r\n :class=\"[\r\n 'w-dial-item-item',\r\n {\r\n 'w-dial-item-readonly':\r\n (i === 0 && !has.h) ||\r\n (i === 1 && !can.m) ||\r\n (i === 2 && !can.s),\r\n 'w-dial-item-selected':\r\n (i === 0 && h == n) ||\r\n (i === 1 && m == n) ||\r\n (i === 2 && s == n),\r\n },\r\n ]\"\r\n @click=\"handleClick(i, n)\">\r\n {{ n }}\r\n </div>\r\n </template>\r\n <template #use=\"{ prev, next }\">\r\n <teleport :to=\"top_btn\">\r\n <Icon name=\"w-icon-sort-down\" size=\"var(--__icon)\" rotate @click=\"prev\" />\r\n </teleport>\r\n <teleport :to=\"bottom_btn\">\r\n <Icon name=\"w-icon-sort-down\" size=\"var(--__icon)\" @click=\"next\" />\r\n </teleport>\r\n </template>\r\n </Toggle>\r\n </div>\r\n <div class=\"w-time-dial-btn\" ref=\"bottom_btn\"></div>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport \"./style/dial.css\"\r\nimport { ref, onMounted, computed, watchEffect } from \"vue\"\r\nimport Toggle from \"../toggle/index\"\r\nimport Icon from \"../icon/index\"\r\nimport type { TimeFormatType } from \"../../config/types\"\r\nimport { useUII18n } from \"../../use/useUII18n\"\r\n\r\nconst { t } = useUII18n()\r\nconst props = withDefaults(\r\n defineProps<{\r\n format?: TimeFormatType\r\n value?: string\r\n }>(),\r\n { format: \"HH:mm:ss\" }\r\n)\r\nconst emit = defineEmits<{ (e: \"change\", hms?: string): void }>()\r\nconst [h, m, s] = useHms(props as any)\r\nconst isMounted = ref(false)\r\nconst bottom_btn = ref<HTMLElement>()\r\nconst top_btn = ref<HTMLElement>()\r\nconst createNumberArray = (total: number, size: number = 6) =>\r\n Array.from({ length: total / size }, (el, i) =>\r\n Array.from({ length: size }, (item, index) =>\r\n (i * size + index).toString().padStart(2, \"0\")\r\n )\r\n )\r\n//展不展示时分秒\r\nconst has = computed(() => {\r\n const f = props.format\r\n const m = f.indexOf(\"mm\") > -1\r\n const h = f.indexOf(\"HH\") > -1\r\n const s = f.indexOf(\"ss\") > -1\r\n // console.log(f, h)\r\n return { m, h, s }\r\n})\r\n//能不能进行选择时分秒的操作\r\nconst can = computed(() => {\r\n const v = props.value\r\n const len = v?.length\r\n if (len) {\r\n let h = true,\r\n m = false,\r\n s = false\r\n if (len >= 2) {\r\n m = true\r\n }\r\n if (len >= 5) {\r\n s = true\r\n }\r\n return { h: h && has.value.h, m: m && has.value.m, s: s && has.value.s }\r\n }\r\n return { h: false, m: false, s: false }\r\n})\r\nconst arr = computed(() => {\r\n const a: string[][][] = []\r\n if (has.value.h) {\r\n a.push(createNumberArray(24))\r\n if (has.value.m) {\r\n a.push(createNumberArray(60))\r\n if (has.value.s) {\r\n a.push(createNumberArray(60))\r\n }\r\n }\r\n }\r\n return a\r\n})\r\nconst toggleOptions = {\r\n class: \"w-dial-item\",\r\n transform: \"translate\" as \"translate\",\r\n direction: \"y\" as \"y\",\r\n itemClass: \"w-dial-toggle-item\",\r\n}\r\n\r\n//template里可以推断出组件定义的数据类型,但这里仍然要定义一遍,有其他办法重用类型吗?\r\nfunction handleWheel(\r\n i: number,\r\n {\r\n event,\r\n prev,\r\n next,\r\n delay,\r\n }: {\r\n event: WheelEvent\r\n [k: string]: any\r\n }\r\n) {\r\n if (event.deltaY > 0) {\r\n delay(next, 100)\r\n } else {\r\n delay(prev, 100)\r\n }\r\n}\r\n\r\nfunction handleClick(i: number, v: string) {\r\n // console.log(v, 'vvv')\r\n\r\n const arr: string[] = []\r\n if (i === 0) {\r\n if (has.value.h) h.value = v\r\n } else if (i === 1) {\r\n if (can.value.m) m.value = v\r\n else {\r\n return\r\n }\r\n } else {\r\n if (can.value.s) s.value = v\r\n else {\r\n return\r\n }\r\n }\r\n if (h.value) {\r\n arr.push(h.value)\r\n }\r\n if (m.value) {\r\n arr.push(m.value)\r\n }\r\n if (s.value) {\r\n arr.push(s.value)\r\n }\r\n emit(\"change\", arr.join(\":\"))\r\n}\r\n\r\nfunction getIndex(i: number) {\r\n if (i === 0) {\r\n if (h.value === undefined) {\r\n return 0\r\n } else {\r\n const j = parseInt(\"\" + Number(h.value) / 6)\r\n return j\r\n }\r\n } else if (i === 1) {\r\n if (m.value === undefined) {\r\n return 0\r\n } else {\r\n return parseInt(\"\" + Number(m.value) / 6)\r\n }\r\n } else if (i === 2) {\r\n if (s.value === undefined) {\r\n return 0\r\n } else {\r\n return parseInt(\"\" + Number(s.value) / 6)\r\n }\r\n }\r\n}\r\n\r\nonMounted(() => {\r\n isMounted.value = true\r\n})\r\n\r\nfunction useHms(props: Record<string, string>) {\r\n const h = ref<string>()\r\n const m = ref<string>()\r\n const s = ref<string>()\r\n watchEffect(() => {\r\n ;[h.value, m.value, s.value] = (props.value || \"\").split(\":\")\r\n\r\n // console.log(h.value, m.value, s.value)\r\n })\r\n\r\n return [h, m, s]\r\n}\r\n</script>\r\n"],"mappings":"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"}
|