@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,218 @@
|
|
|
1
|
+
import useComponentConfig from "../../use/useComponentConfig.js";
|
|
2
|
+
import { propSizeToCssVars, toCssVarsStyle } from "../../util/cssVars.js";
|
|
3
|
+
import { FORM_ITEM_KEY, FORM_ITEM_LEGACY_KEY } from "./context.js";
|
|
4
|
+
import { FORM_KEY } from "../form/context.js";
|
|
5
|
+
import { cloneValue, filterRulesByTrigger, getPropByPath, isRequiredFromRules, mergeFieldRules, setPropByPath, toCssWidth } from "../form/_use/formRules.js";
|
|
6
|
+
import { FORM_ITEM_FALLBACK } from "./config.js";
|
|
7
|
+
import { Transition, computed, createVNode, defineComponent, inject, nextTick, onMounted, onUnmounted, provide, reactive, ref, toRefs } from "vue";
|
|
8
|
+
import AsyncValidator from "async-validator";
|
|
9
|
+
//#region components/formItem/FormItem.tsx
|
|
10
|
+
var FormItem_default = /* @__PURE__ */ defineComponent({
|
|
11
|
+
name: "FormItem",
|
|
12
|
+
props: {
|
|
13
|
+
label: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: void 0
|
|
16
|
+
},
|
|
17
|
+
prop: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: void 0
|
|
20
|
+
},
|
|
21
|
+
labelWidth: {
|
|
22
|
+
type: [String, Number],
|
|
23
|
+
default: void 0
|
|
24
|
+
},
|
|
25
|
+
required: {
|
|
26
|
+
type: Boolean,
|
|
27
|
+
default: void 0
|
|
28
|
+
},
|
|
29
|
+
rules: {
|
|
30
|
+
type: [Object, Array],
|
|
31
|
+
default: void 0
|
|
32
|
+
},
|
|
33
|
+
error: {
|
|
34
|
+
type: String,
|
|
35
|
+
default: void 0
|
|
36
|
+
},
|
|
37
|
+
validateStatus: {
|
|
38
|
+
type: String,
|
|
39
|
+
default: void 0
|
|
40
|
+
},
|
|
41
|
+
showMessage: {
|
|
42
|
+
type: Boolean,
|
|
43
|
+
default: void 0
|
|
44
|
+
},
|
|
45
|
+
disabled: {
|
|
46
|
+
type: Boolean,
|
|
47
|
+
default: void 0
|
|
48
|
+
},
|
|
49
|
+
position: {
|
|
50
|
+
type: String,
|
|
51
|
+
default: void 0
|
|
52
|
+
},
|
|
53
|
+
/** 行高基准 → `--w-prop-form-item-size` */
|
|
54
|
+
size: {
|
|
55
|
+
type: Number,
|
|
56
|
+
default: void 0
|
|
57
|
+
},
|
|
58
|
+
/** 实例 CSS 变量 */
|
|
59
|
+
cssVars: {
|
|
60
|
+
type: Object,
|
|
61
|
+
default: void 0
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
emits: { validate: (_payload) => true },
|
|
65
|
+
slots: Object,
|
|
66
|
+
setup(props, { slots, emit, expose }) {
|
|
67
|
+
const cfg = useComponentConfig("FormItem", props, FORM_ITEM_FALLBACK);
|
|
68
|
+
const form = inject(FORM_KEY, void 0) ?? inject("formData", void 0);
|
|
69
|
+
const message = ref("");
|
|
70
|
+
const validateState = ref("");
|
|
71
|
+
const initialValue = ref();
|
|
72
|
+
const rootEl = ref(null);
|
|
73
|
+
const displayState = computed(() => {
|
|
74
|
+
if (props.validateStatus) return props.validateStatus;
|
|
75
|
+
if (props.error) return "error";
|
|
76
|
+
return validateState.value;
|
|
77
|
+
});
|
|
78
|
+
const errorMsg = computed(() => props.error || message.value);
|
|
79
|
+
const labelWidthCss = computed(() => toCssWidth(cfg.value.labelWidth ?? form?.labelWidth));
|
|
80
|
+
const labelStyle = computed(() => {
|
|
81
|
+
const ret = {};
|
|
82
|
+
if (form?.labelPosition === "top") return ret;
|
|
83
|
+
if (slots.label || props.label) {
|
|
84
|
+
if (labelWidthCss.value) ret.width = labelWidthCss.value;
|
|
85
|
+
} else ret.width = "0px";
|
|
86
|
+
return ret;
|
|
87
|
+
});
|
|
88
|
+
const labelAlignClass = computed(() => {
|
|
89
|
+
const pos = cfg.value.position || "center";
|
|
90
|
+
if (pos === "top") return "w-form-item-label-pos-top";
|
|
91
|
+
if (pos === "bottom") return "w-form-item-label-pos-bottom";
|
|
92
|
+
return "w-form-item-label-pos-center";
|
|
93
|
+
});
|
|
94
|
+
const labelPositionClass = computed(() => {
|
|
95
|
+
const p = form?.labelPosition || "right";
|
|
96
|
+
if (p === "left") return "w-form-item-label-left";
|
|
97
|
+
if (p === "top") return "w-form-item-label-top";
|
|
98
|
+
return "w-form-item-label-default";
|
|
99
|
+
});
|
|
100
|
+
const isTopLabel = computed(() => form?.labelPosition === "top");
|
|
101
|
+
function getRules() {
|
|
102
|
+
return mergeFieldRules({
|
|
103
|
+
formRules: form?.rules,
|
|
104
|
+
prop: props.prop,
|
|
105
|
+
itemRules: props.rules,
|
|
106
|
+
required: cfg.value.required
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
const required = computed(() => isRequiredFromRules(getRules(), cfg.value.required));
|
|
110
|
+
const fieldValue = computed(() => {
|
|
111
|
+
if (!form?.model || !props.prop) return void 0;
|
|
112
|
+
return getPropByPath(form.model, props.prop);
|
|
113
|
+
});
|
|
114
|
+
const validate = (trigger = "", callback) => {
|
|
115
|
+
return new Promise((resolve) => {
|
|
116
|
+
const finish = (isValid, msg = "", invalidFields) => {
|
|
117
|
+
if (!isValid) {
|
|
118
|
+
validateState.value = "error";
|
|
119
|
+
message.value = props.error || msg;
|
|
120
|
+
} else {
|
|
121
|
+
validateState.value = "success";
|
|
122
|
+
message.value = "";
|
|
123
|
+
}
|
|
124
|
+
callback?.(isValid ? void 0 : message.value, invalidFields);
|
|
125
|
+
emit("validate", {
|
|
126
|
+
prop: props.prop,
|
|
127
|
+
isValid,
|
|
128
|
+
message: isValid ? null : message.value
|
|
129
|
+
});
|
|
130
|
+
form?.emitValidate?.(props.prop || "", isValid, isValid ? null : message.value);
|
|
131
|
+
resolve(isValid);
|
|
132
|
+
};
|
|
133
|
+
if (!props.prop) {
|
|
134
|
+
finish(true);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
const rules = filterRulesByTrigger(getRules(), trigger);
|
|
138
|
+
if (!rules.length) {
|
|
139
|
+
finish(true);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
validateState.value = "validating";
|
|
143
|
+
const descriptor = { [props.prop]: rules };
|
|
144
|
+
const validator = new AsyncValidator(descriptor);
|
|
145
|
+
const model = { [props.prop]: fieldValue.value };
|
|
146
|
+
validator.validate(model, { firstFields: true }, (errors, fields) => {
|
|
147
|
+
if (errors?.length) finish(false, errors[0].message || `${props.prop} is required`, fields);
|
|
148
|
+
else finish(true, "", fields);
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
const clearValidate = () => {
|
|
153
|
+
validateState.value = "";
|
|
154
|
+
message.value = "";
|
|
155
|
+
};
|
|
156
|
+
const resetField = () => {
|
|
157
|
+
if (form?.model && props.prop) setPropByPath(form.model, props.prop, cloneValue(initialValue.value));
|
|
158
|
+
nextTick(() => clearValidate());
|
|
159
|
+
};
|
|
160
|
+
const formItemContext = reactive({
|
|
161
|
+
...toRefs(props),
|
|
162
|
+
disabled: computed(() => !!(props.disabled || form?.disabled)),
|
|
163
|
+
validateState,
|
|
164
|
+
validate,
|
|
165
|
+
clearValidate,
|
|
166
|
+
resetField,
|
|
167
|
+
get $el() {
|
|
168
|
+
return rootEl.value;
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
provide(FORM_ITEM_KEY, formItemContext);
|
|
172
|
+
provide(FORM_ITEM_LEGACY_KEY, formItemContext);
|
|
173
|
+
onMounted(() => {
|
|
174
|
+
if (props.prop) {
|
|
175
|
+
initialValue.value = cloneValue(fieldValue.value);
|
|
176
|
+
form?.addField(formItemContext);
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
onUnmounted(() => {
|
|
180
|
+
form?.removeField(formItemContext);
|
|
181
|
+
});
|
|
182
|
+
expose({
|
|
183
|
+
validate,
|
|
184
|
+
clearValidate,
|
|
185
|
+
resetField
|
|
186
|
+
});
|
|
187
|
+
return () => {
|
|
188
|
+
const msg = errorMsg.value;
|
|
189
|
+
const showError = displayState.value === "error" && cfg.value.showMessage && !!msg;
|
|
190
|
+
return createVNode("div", {
|
|
191
|
+
"ref": rootEl,
|
|
192
|
+
"class": [
|
|
193
|
+
"w-form-item",
|
|
194
|
+
isTopLabel.value ? "w-form-item-top" : "",
|
|
195
|
+
displayState.value === "error" ? "is-error" : "",
|
|
196
|
+
displayState.value === "success" ? "is-success" : "",
|
|
197
|
+
displayState.value === "validating" ? "is-validating" : ""
|
|
198
|
+
],
|
|
199
|
+
"style": toCssVarsStyle({
|
|
200
|
+
...propSizeToCssVars("form-item", cfg.value.size),
|
|
201
|
+
...props.cssVars
|
|
202
|
+
})
|
|
203
|
+
}, [(slots.label || props.label) && createVNode("div", {
|
|
204
|
+
"style": labelStyle.value,
|
|
205
|
+
"class": [
|
|
206
|
+
"w-form-item-label",
|
|
207
|
+
labelPositionClass.value,
|
|
208
|
+
isTopLabel.value ? "" : labelAlignClass.value,
|
|
209
|
+
required.value ? "w-form-item-label-required" : ""
|
|
210
|
+
]
|
|
211
|
+
}, [createVNode("label", null, [slots.label?.() || props.label])]), createVNode("div", { "class": "w-form-item-content" }, [createVNode("div", { "class": ["w-form-item-wrapper", displayState.value === "error" && form?.errorBorder ? "w-form-item-wrapper-error" : ""] }, [slots.default?.()]), createVNode(Transition, { "name": "w-form-error" }, { default: () => [showError ? createVNode("div", { "class": ["w-form-item-error", form?.errorPosition === "right" ? "w-form-item-error-right" : "w-form-item-error-bottom"] }, [slots.error?.(msg) || slots.message?.(msg) || msg]) : null] })])]);
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
//#endregion
|
|
216
|
+
export { FormItem_default as default };
|
|
217
|
+
|
|
218
|
+
//# sourceMappingURL=FormItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormItem.js","names":["computed","defineComponent","inject","nextTick","onMounted","onUnmounted","provide","reactive","ref","toRefs","Transition","createVNode","_createVNode","AsyncValidator","useComponentConfig","FORM_DATA_LEGACY_KEY","FORM_KEY","filterRulesByTrigger","getPropByPath","isRequiredFromRules","mergeFieldRules","setPropByPath","cloneValue","toCssWidth","FORM_ITEM_FALLBACK","FORM_ITEM_KEY","FORM_ITEM_LEGACY_KEY","propSizeToCssVars","toCssVarsStyle","name","props","label","type","String","default","undefined","prop","labelWidth","Number","required","Boolean","rules","Object","Array","error","validateStatus","showMessage","disabled","position","size","cssVars","emits","validate","_payload","slots","setup","emit","expose","cfg","form","message","validateState","initialValue","rootEl","displayState","value","errorMsg","labelWidthCss","labelStyle","ret","labelPosition","width","labelAlignClass","pos","labelPositionClass","p","isTopLabel","getRules","formRules","itemRules","fieldValue","model","trigger","callback","Promise","resolve","finish","isValid","msg","invalidFields","emitValidate","length","descriptor","validator","firstFields","errors","fields","clearValidate","resetField","formItemContext","$el","addField","removeField","showError","errorBorder","errorPosition"],"sources":["../../../components/formItem/FormItem.tsx"],"sourcesContent":["import {\r\n computed,\r\n defineComponent,\r\n inject,\r\n nextTick,\r\n onMounted,\r\n onUnmounted,\r\n provide,\r\n reactive,\r\n ref,\r\n toRefs,\r\n Transition,\r\n type CSSProperties,\r\n type PropType,\r\n type SlotsType,\r\n} from 'vue'\r\nimport AsyncValidator from 'async-validator'\r\nimport type { FormRuleItem } from '../../config/types'\r\nimport useComponentConfig from '../../use/useComponentConfig'\r\nimport {\r\n FORM_DATA_LEGACY_KEY,\r\n FORM_KEY,\r\n type FormContext,\r\n} from '../form/context'\r\nimport {\r\n filterRulesByTrigger,\r\n getPropByPath,\r\n isRequiredFromRules,\r\n mergeFieldRules,\r\n setPropByPath,\r\n cloneValue,\r\n toCssWidth,\r\n} from '../form/_use/formRules'\r\nimport { FORM_ITEM_FALLBACK } from './config'\r\nimport {\r\n FORM_ITEM_KEY,\r\n FORM_ITEM_LEGACY_KEY,\r\n type FormItemExpose,\r\n type FormItemValidateCallback,\r\n type FormItemValidateState,\r\n} from './context'\r\nimport { propSizeToCssVars, toCssVarsStyle, type CssVars } from '../../util'\r\n\r\nexport type { FormItemGlobalConfig } from './config'\r\nexport { FORM_ITEM_FALLBACK } from './config'\r\nexport type {\r\n FormItemContext,\r\n FormItemExpose,\r\n FormItemValidateState,\r\n} from './context'\r\nexport { FORM_ITEM_KEY } from './context'\r\n\r\ntype FormItemSlots = {\r\n label?: () => any\r\n default?: () => any\r\n error?: (message: string) => any\r\n /** @deprecated 使用 error */\r\n message?: (message: string) => any\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'FormItem',\r\n props: {\r\n label: { type: String, default: undefined },\r\n prop: { type: String, default: undefined },\r\n labelWidth: {\r\n type: [String, Number] as PropType<string | number>,\r\n default: undefined,\r\n },\r\n required: { type: Boolean, default: undefined },\r\n rules: {\r\n type: [Object, Array] as PropType<FormRuleItem | FormRuleItem[]>,\r\n default: undefined,\r\n },\r\n error: { type: String, default: undefined },\r\n validateStatus: {\r\n type: String as PropType<FormItemValidateState>,\r\n default: undefined,\r\n },\r\n showMessage: { type: Boolean, default: undefined },\r\n disabled: { type: Boolean, default: undefined },\r\n position: {\r\n type: String as PropType<'top' | 'bottom' | 'center'>,\r\n default: undefined,\r\n },\r\n /** 行高基准 → `--w-prop-form-item-size` */\r\n size: { type: Number, default: undefined },\r\n /** 实例 CSS 变量 */\r\n cssVars: { type: Object as PropType<CssVars>, default: undefined },\r\n },\r\n emits: {\r\n validate: (_payload: {\r\n prop?: string\r\n isValid: boolean\r\n message: string | null\r\n }) => true,\r\n },\r\n slots: Object as SlotsType<FormItemSlots>,\r\n setup(props, { slots, emit, expose }) {\r\n const cfg = useComponentConfig('FormItem', props, FORM_ITEM_FALLBACK)\r\n const form =\r\n inject(FORM_KEY, undefined) ??\r\n (inject(FORM_DATA_LEGACY_KEY, undefined) as FormContext | undefined)\r\n\r\n const message = ref('')\r\n const validateState = ref<FormItemValidateState>('')\r\n const initialValue = ref<any>()\r\n const rootEl = ref<HTMLElement | null>(null)\r\n\r\n const displayState = computed(() => {\r\n if (props.validateStatus) return props.validateStatus\r\n if (props.error) return 'error'\r\n return validateState.value\r\n })\r\n\r\n const errorMsg = computed(() => props.error || message.value)\r\n\r\n const labelWidthCss = computed(() =>\r\n toCssWidth(cfg.value.labelWidth ?? form?.labelWidth),\r\n )\r\n\r\n const labelStyle = computed(() => {\r\n const ret: CSSProperties = {}\r\n if (form?.labelPosition === 'top') return ret\r\n if (slots.label || props.label) {\r\n if (labelWidthCss.value) ret.width = labelWidthCss.value\r\n } else {\r\n ret.width = '0px'\r\n }\r\n return ret\r\n })\r\n\r\n const labelAlignClass = computed(() => {\r\n const pos = cfg.value.position || 'center'\r\n if (pos === 'top') return 'w-form-item-label-pos-top'\r\n if (pos === 'bottom') return 'w-form-item-label-pos-bottom'\r\n return 'w-form-item-label-pos-center'\r\n })\r\n\r\n const labelPositionClass = computed(() => {\r\n const p = form?.labelPosition || 'right'\r\n if (p === 'left') return 'w-form-item-label-left'\r\n if (p === 'top') return 'w-form-item-label-top'\r\n return 'w-form-item-label-default'\r\n })\r\n\r\n const isTopLabel = computed(() => form?.labelPosition === 'top')\r\n\r\n function getRules(): FormRuleItem[] {\r\n return mergeFieldRules({\r\n formRules: form?.rules,\r\n prop: props.prop,\r\n itemRules: props.rules,\r\n required: cfg.value.required,\r\n })\r\n }\r\n\r\n const required = computed(() =>\r\n isRequiredFromRules(getRules(), cfg.value.required),\r\n )\r\n\r\n const fieldValue = computed(() => {\r\n if (!form?.model || !props.prop) return undefined\r\n return getPropByPath(form.model, props.prop)\r\n })\r\n\r\n const validate = (\r\n trigger = '',\r\n callback?: FormItemValidateCallback,\r\n ): Promise<boolean> => {\r\n return new Promise((resolve) => {\r\n const finish = (\r\n isValid: boolean,\r\n msg = '',\r\n invalidFields?: Record<string, any>,\r\n ) => {\r\n if (!isValid) {\r\n validateState.value = 'error'\r\n message.value = props.error || msg\r\n } else {\r\n validateState.value = 'success'\r\n message.value = ''\r\n }\r\n callback?.(isValid ? undefined : message.value, invalidFields)\r\n emit('validate', {\r\n prop: props.prop,\r\n isValid,\r\n message: isValid ? null : message.value,\r\n })\r\n form?.emitValidate?.(\r\n props.prop || '',\r\n isValid,\r\n isValid ? null : message.value,\r\n )\r\n resolve(isValid)\r\n }\r\n\r\n if (!props.prop) {\r\n finish(true)\r\n return\r\n }\r\n\r\n const rules = filterRulesByTrigger(getRules(), trigger)\r\n if (!rules.length) {\r\n finish(true)\r\n return\r\n }\r\n\r\n validateState.value = 'validating'\r\n const descriptor: Record<string, FormRuleItem[]> = {\r\n [props.prop]: rules,\r\n }\r\n const validator = new AsyncValidator(descriptor)\r\n const model = { [props.prop]: fieldValue.value }\r\n\r\n validator.validate(model, { firstFields: true }, (errors, fields) => {\r\n if (errors?.length) {\r\n finish(\r\n false,\r\n errors[0].message || `${props.prop} is required`,\r\n fields as any,\r\n )\r\n } else {\r\n finish(true, '', fields as any)\r\n }\r\n })\r\n })\r\n }\r\n\r\n const clearValidate = () => {\r\n validateState.value = ''\r\n message.value = ''\r\n }\r\n\r\n const resetField = () => {\r\n if (form?.model && props.prop) {\r\n setPropByPath(form.model, props.prop, cloneValue(initialValue.value))\r\n }\r\n nextTick(() => clearValidate())\r\n }\r\n\r\n const formItemContext = reactive({\r\n ...toRefs(props),\r\n disabled: computed(() => !!(props.disabled || form?.disabled)),\r\n validateState,\r\n validate,\r\n clearValidate,\r\n resetField,\r\n get $el() {\r\n return rootEl.value\r\n },\r\n })\r\n\r\n provide(FORM_ITEM_KEY, formItemContext)\r\n provide(FORM_ITEM_LEGACY_KEY, formItemContext)\r\n\r\n onMounted(() => {\r\n if (props.prop) {\r\n initialValue.value = cloneValue(fieldValue.value)\r\n form?.addField(formItemContext as any)\r\n }\r\n })\r\n onUnmounted(() => {\r\n form?.removeField(formItemContext as any)\r\n })\r\n\r\n expose({\r\n validate,\r\n clearValidate,\r\n resetField,\r\n } satisfies FormItemExpose)\r\n\r\n return () => {\r\n const msg = errorMsg.value\r\n const showError =\r\n displayState.value === 'error' && cfg.value.showMessage && !!msg\r\n\r\n return (\r\n <div\r\n ref={rootEl}\r\n class={[\r\n 'w-form-item',\r\n isTopLabel.value ? 'w-form-item-top' : '',\r\n displayState.value === 'error' ? 'is-error' : '',\r\n displayState.value === 'success' ? 'is-success' : '',\r\n displayState.value === 'validating' ? 'is-validating' : '',\r\n ]}\r\n style={toCssVarsStyle({\r\n ...propSizeToCssVars('form-item', cfg.value.size),\r\n ...props.cssVars,\r\n })}>\r\n {(slots.label || props.label) && (\r\n <div\r\n style={labelStyle.value}\r\n class={[\r\n 'w-form-item-label',\r\n labelPositionClass.value,\r\n isTopLabel.value ? '' : labelAlignClass.value,\r\n required.value ? 'w-form-item-label-required' : '',\r\n ]}>\r\n <label>{slots.label?.() || props.label}</label>\r\n </div>\r\n )}\r\n <div class=\"w-form-item-content\">\r\n <div\r\n class={[\r\n 'w-form-item-wrapper',\r\n displayState.value === 'error' && form?.errorBorder\r\n ? 'w-form-item-wrapper-error'\r\n : '',\r\n ]}>\r\n {slots.default?.()}\r\n </div>\r\n <Transition name=\"w-form-error\">\r\n {showError ? (\r\n <div\r\n class={[\r\n 'w-form-item-error',\r\n form?.errorPosition === 'right'\r\n ? 'w-form-item-error-right'\r\n : 'w-form-item-error-bottom',\r\n ]}>\r\n {slots.error?.(msg) || slots.message?.(msg) || msg}\r\n </div>\r\n ) : null}\r\n </Transition>\r\n </div>\r\n </div>\r\n )\r\n }\r\n },\r\n})\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { FormItemRules } from './context';
|
|
2
|
+
/**
|
|
3
|
+
* 可通过 `app.use(UI, { components: { FormItem: {...} } })` 配置的项。
|
|
4
|
+
* 不宜全局配置:prop、rules、label(实例字段)。
|
|
5
|
+
*/
|
|
6
|
+
export type FormItemGlobalConfig = Partial<{
|
|
7
|
+
labelWidth: string | number;
|
|
8
|
+
showMessage: boolean;
|
|
9
|
+
required: boolean;
|
|
10
|
+
position: 'top' | 'bottom' | 'center';
|
|
11
|
+
/** 行高基准 → `--w-prop-form-item-size`(label min-height 等) */
|
|
12
|
+
size: number;
|
|
13
|
+
}>;
|
|
14
|
+
export declare const FORM_ITEM_FALLBACK: {
|
|
15
|
+
labelWidth: string | number | undefined;
|
|
16
|
+
showMessage: boolean;
|
|
17
|
+
required: boolean | undefined;
|
|
18
|
+
position: "top" | "bottom" | "center";
|
|
19
|
+
size: number | undefined;
|
|
20
|
+
};
|
|
21
|
+
export type { FormItemRules };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region components/formItem/config.ts
|
|
2
|
+
var FORM_ITEM_FALLBACK = {
|
|
3
|
+
labelWidth: void 0,
|
|
4
|
+
showMessage: true,
|
|
5
|
+
required: void 0,
|
|
6
|
+
position: "center",
|
|
7
|
+
size: void 0
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
export { FORM_ITEM_FALLBACK };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","names":[],"sources":["../../../components/formItem/config.ts"],"sourcesContent":["import type { FormItemRules } from './context'\r\n\r\n/**\r\n * 可通过 `app.use(UI, { components: { FormItem: {...} } })` 配置的项。\r\n * 不宜全局配置:prop、rules、label(实例字段)。\r\n */\r\nexport type FormItemGlobalConfig = Partial<{\r\n labelWidth: string | number\r\n showMessage: boolean\r\n required: boolean\r\n position: 'top' | 'bottom' | 'center'\r\n /** 行高基准 → `--w-prop-form-item-size`(label min-height 等) */\r\n size: number\r\n}>\r\n\r\nexport const FORM_ITEM_FALLBACK = {\r\n labelWidth: undefined as string | number | undefined,\r\n showMessage: true,\r\n required: undefined as boolean | undefined,\r\n position: 'center' as 'top' | 'bottom' | 'center',\r\n size: undefined as number | undefined,\r\n}\r\n\r\nexport type { FormItemRules }\r\n"],"mappings":";AAeA,IAAa,qBAAqB;CAChC,YAAY,KAAA;CACZ,aAAa;CACb,UAAU,KAAA;CACV,UAAU;CACV,MAAM,KAAA;AACR"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ComputedRef, Ref } from 'vue';
|
|
2
|
+
import { FormRuleItem } from '../../config/types';
|
|
3
|
+
export type FormItemValidateState = '' | 'validating' | 'success' | 'error';
|
|
4
|
+
export declare const FORM_ITEM_KEY: unique symbol;
|
|
5
|
+
/** @deprecated 兼容旧 inject('formItem') */
|
|
6
|
+
export declare const FORM_ITEM_LEGACY_KEY = "formItem";
|
|
7
|
+
export type FormItemValidateCallback = (message?: string, invalidFields?: Record<string, any>) => void;
|
|
8
|
+
export interface FormItemContext {
|
|
9
|
+
prop?: string;
|
|
10
|
+
disabled?: boolean | ComputedRef<boolean> | Ref<boolean>;
|
|
11
|
+
validateState: Ref<FormItemValidateState> | FormItemValidateState;
|
|
12
|
+
validate: (trigger: string, callback?: FormItemValidateCallback) => Promise<boolean>;
|
|
13
|
+
clearValidate: () => void;
|
|
14
|
+
resetField: () => void;
|
|
15
|
+
$el?: HTMLElement | null;
|
|
16
|
+
}
|
|
17
|
+
export interface FormItemExpose {
|
|
18
|
+
validate: (trigger?: string, callback?: FormItemValidateCallback) => Promise<boolean>;
|
|
19
|
+
clearValidate: () => void;
|
|
20
|
+
resetField: () => void;
|
|
21
|
+
}
|
|
22
|
+
export type FormItemRules = FormRuleItem | FormRuleItem[];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
//#region components/formItem/context.ts
|
|
2
|
+
var FORM_ITEM_KEY = Symbol("w-form-item");
|
|
3
|
+
/** @deprecated 兼容旧 inject('formItem') */
|
|
4
|
+
var FORM_ITEM_LEGACY_KEY = "formItem";
|
|
5
|
+
//#endregion
|
|
6
|
+
export { FORM_ITEM_KEY, FORM_ITEM_LEGACY_KEY };
|
|
7
|
+
|
|
8
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","names":[],"sources":["../../../components/formItem/context.ts"],"sourcesContent":["import type { ComputedRef, Ref } from 'vue'\r\nimport type { FormRuleItem } from '../../config/types'\r\n\r\nexport type FormItemValidateState = '' | 'validating' | 'success' | 'error'\r\n\r\nexport const FORM_ITEM_KEY = Symbol('w-form-item')\r\n/** @deprecated 兼容旧 inject('formItem') */\r\nexport const FORM_ITEM_LEGACY_KEY = 'formItem'\r\n\r\nexport type FormItemValidateCallback = (\r\n message?: string,\r\n invalidFields?: Record<string, any>,\r\n) => void\r\n\r\nexport interface FormItemContext {\r\n prop?: string\r\n disabled?: boolean | ComputedRef<boolean> | Ref<boolean>\r\n validateState: Ref<FormItemValidateState> | FormItemValidateState\r\n validate: (\r\n trigger: string,\r\n callback?: FormItemValidateCallback,\r\n ) => Promise<boolean>\r\n clearValidate: () => void\r\n resetField: () => void\r\n $el?: HTMLElement | null\r\n}\r\n\r\nexport interface FormItemExpose {\r\n validate: (\r\n trigger?: string,\r\n callback?: FormItemValidateCallback,\r\n ) => Promise<boolean>\r\n clearValidate: () => void\r\n resetField: () => void\r\n}\r\n\r\nexport type FormItemRules = FormRuleItem | FormRuleItem[]\r\n"],"mappings":";AAKA,IAAa,gBAAgB,OAAO,aAAa;;AAEjD,IAAa,uBAAuB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../../../theme/tokens/components/formItem.css';
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { IconRotateDirection } from './type';
|
|
3
|
+
export type { IconRotateDirection, IconComponentProps } from './type';
|
|
4
|
+
export type { IconGlobalConfig } from './config';
|
|
5
|
+
export { ICON_FALLBACK } from './config';
|
|
6
|
+
/** name 未带 w-icon- 前缀时自动补全 */
|
|
7
|
+
export declare function resolveIconName(name?: string): string | undefined;
|
|
8
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
9
|
+
name: {
|
|
10
|
+
type: PropType<string>;
|
|
11
|
+
default: any;
|
|
12
|
+
};
|
|
13
|
+
fontClassName: {
|
|
14
|
+
type: StringConstructor;
|
|
15
|
+
default: any;
|
|
16
|
+
};
|
|
17
|
+
color: {
|
|
18
|
+
type: StringConstructor;
|
|
19
|
+
default: any;
|
|
20
|
+
};
|
|
21
|
+
hoverColor: {
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
default: any;
|
|
24
|
+
};
|
|
25
|
+
size: {
|
|
26
|
+
type: PropType<string | number>;
|
|
27
|
+
default: any;
|
|
28
|
+
};
|
|
29
|
+
spin: {
|
|
30
|
+
type: BooleanConstructor;
|
|
31
|
+
default: any;
|
|
32
|
+
};
|
|
33
|
+
/** 静态翻转(箭头展开等);与 spin 同时开时以 spin 优先 */
|
|
34
|
+
rotate: {
|
|
35
|
+
type: BooleanConstructor;
|
|
36
|
+
default: any;
|
|
37
|
+
};
|
|
38
|
+
deg: {
|
|
39
|
+
type: NumberConstructor;
|
|
40
|
+
default: any;
|
|
41
|
+
};
|
|
42
|
+
direction: {
|
|
43
|
+
type: PropType<IconRotateDirection>;
|
|
44
|
+
default: any;
|
|
45
|
+
};
|
|
46
|
+
title: {
|
|
47
|
+
type: StringConstructor;
|
|
48
|
+
default: any;
|
|
49
|
+
};
|
|
50
|
+
ariaLabel: {
|
|
51
|
+
type: StringConstructor;
|
|
52
|
+
default: any;
|
|
53
|
+
};
|
|
54
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
55
|
+
click: (e: MouseEvent) => boolean;
|
|
56
|
+
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
57
|
+
name: {
|
|
58
|
+
type: PropType<string>;
|
|
59
|
+
default: any;
|
|
60
|
+
};
|
|
61
|
+
fontClassName: {
|
|
62
|
+
type: StringConstructor;
|
|
63
|
+
default: any;
|
|
64
|
+
};
|
|
65
|
+
color: {
|
|
66
|
+
type: StringConstructor;
|
|
67
|
+
default: any;
|
|
68
|
+
};
|
|
69
|
+
hoverColor: {
|
|
70
|
+
type: StringConstructor;
|
|
71
|
+
default: any;
|
|
72
|
+
};
|
|
73
|
+
size: {
|
|
74
|
+
type: PropType<string | number>;
|
|
75
|
+
default: any;
|
|
76
|
+
};
|
|
77
|
+
spin: {
|
|
78
|
+
type: BooleanConstructor;
|
|
79
|
+
default: any;
|
|
80
|
+
};
|
|
81
|
+
/** 静态翻转(箭头展开等);与 spin 同时开时以 spin 优先 */
|
|
82
|
+
rotate: {
|
|
83
|
+
type: BooleanConstructor;
|
|
84
|
+
default: any;
|
|
85
|
+
};
|
|
86
|
+
deg: {
|
|
87
|
+
type: NumberConstructor;
|
|
88
|
+
default: any;
|
|
89
|
+
};
|
|
90
|
+
direction: {
|
|
91
|
+
type: PropType<IconRotateDirection>;
|
|
92
|
+
default: any;
|
|
93
|
+
};
|
|
94
|
+
title: {
|
|
95
|
+
type: StringConstructor;
|
|
96
|
+
default: any;
|
|
97
|
+
};
|
|
98
|
+
ariaLabel: {
|
|
99
|
+
type: StringConstructor;
|
|
100
|
+
default: any;
|
|
101
|
+
};
|
|
102
|
+
}>> & Readonly<{
|
|
103
|
+
onClick?: (e: MouseEvent) => any;
|
|
104
|
+
}>, {
|
|
105
|
+
title: string;
|
|
106
|
+
deg: number;
|
|
107
|
+
size: string | number;
|
|
108
|
+
name: string;
|
|
109
|
+
fontClassName: string;
|
|
110
|
+
color: string;
|
|
111
|
+
hoverColor: string;
|
|
112
|
+
spin: boolean;
|
|
113
|
+
rotate: boolean;
|
|
114
|
+
direction: IconRotateDirection;
|
|
115
|
+
ariaLabel: string;
|
|
116
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
117
|
+
export default _default;
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import useComponentConfig from "../../use/useComponentConfig.js";
|
|
2
|
+
import { ICON_FALLBACK } from "./config.js";
|
|
3
|
+
import { computed, createVNode, defineComponent, mergeProps } from "vue";
|
|
4
|
+
//#region components/icon/Icon.tsx
|
|
5
|
+
/** name 未带 w-icon- 前缀时自动补全 */
|
|
6
|
+
function resolveIconName(name) {
|
|
7
|
+
if (!name) return void 0;
|
|
8
|
+
return name.startsWith("w-icon-") ? name : `w-icon-${name}`;
|
|
9
|
+
}
|
|
10
|
+
function toFontSize(size) {
|
|
11
|
+
if (size === void 0 || size === "") return void 0;
|
|
12
|
+
return typeof size === "number" ? `${size}px` : size;
|
|
13
|
+
}
|
|
14
|
+
var Icon_default = /* @__PURE__ */ defineComponent({
|
|
15
|
+
name: "Icon",
|
|
16
|
+
inheritAttrs: false,
|
|
17
|
+
props: {
|
|
18
|
+
name: {
|
|
19
|
+
type: String,
|
|
20
|
+
default: void 0
|
|
21
|
+
},
|
|
22
|
+
fontClassName: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: void 0
|
|
25
|
+
},
|
|
26
|
+
color: {
|
|
27
|
+
type: String,
|
|
28
|
+
default: void 0
|
|
29
|
+
},
|
|
30
|
+
hoverColor: {
|
|
31
|
+
type: String,
|
|
32
|
+
default: void 0
|
|
33
|
+
},
|
|
34
|
+
size: {
|
|
35
|
+
type: [String, Number],
|
|
36
|
+
default: void 0
|
|
37
|
+
},
|
|
38
|
+
spin: {
|
|
39
|
+
type: Boolean,
|
|
40
|
+
default: void 0
|
|
41
|
+
},
|
|
42
|
+
/** 静态翻转(箭头展开等);与 spin 同时开时以 spin 优先 */
|
|
43
|
+
rotate: {
|
|
44
|
+
type: Boolean,
|
|
45
|
+
default: void 0
|
|
46
|
+
},
|
|
47
|
+
deg: {
|
|
48
|
+
type: Number,
|
|
49
|
+
default: void 0
|
|
50
|
+
},
|
|
51
|
+
direction: {
|
|
52
|
+
type: String,
|
|
53
|
+
default: void 0
|
|
54
|
+
},
|
|
55
|
+
title: {
|
|
56
|
+
type: String,
|
|
57
|
+
default: void 0
|
|
58
|
+
},
|
|
59
|
+
ariaLabel: {
|
|
60
|
+
type: String,
|
|
61
|
+
default: void 0
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
emits: { click: (e) => e instanceof Event },
|
|
65
|
+
setup(props, { slots, attrs, emit }) {
|
|
66
|
+
const cfg = useComponentConfig("Icon", props, ICON_FALLBACK);
|
|
67
|
+
const iconName = computed(() => resolveIconName(props.name));
|
|
68
|
+
const isSpin = computed(() => !!cfg.value.spin);
|
|
69
|
+
const isRotate = computed(() => !!cfg.value.rotate && !isSpin.value);
|
|
70
|
+
const direction = computed(() => cfg.value.direction || "x");
|
|
71
|
+
const deg = computed(() => cfg.value.deg ?? 180);
|
|
72
|
+
const a11y = computed(() => {
|
|
73
|
+
const label = props.ariaLabel || props.title;
|
|
74
|
+
if (label) return {
|
|
75
|
+
title: props.title,
|
|
76
|
+
"aria-label": label,
|
|
77
|
+
role: "img"
|
|
78
|
+
};
|
|
79
|
+
return {
|
|
80
|
+
title: void 0,
|
|
81
|
+
"aria-hidden": "true"
|
|
82
|
+
};
|
|
83
|
+
});
|
|
84
|
+
const iconOptions = computed(() => {
|
|
85
|
+
const fontSize = toFontSize(cfg.value.size);
|
|
86
|
+
const style = {
|
|
87
|
+
...fontSize ? { "font-size": fontSize } : {},
|
|
88
|
+
"--w-icon-color": cfg.value.color,
|
|
89
|
+
"--w-icon-hover-color": cfg.value.hoverColor
|
|
90
|
+
};
|
|
91
|
+
if (isRotate.value) style["--w-icon-rotate-deg"] = `${deg.value}deg`;
|
|
92
|
+
return {
|
|
93
|
+
class: [
|
|
94
|
+
cfg.value.fontClassName,
|
|
95
|
+
"w-icon",
|
|
96
|
+
iconName.value,
|
|
97
|
+
{
|
|
98
|
+
"w-icon-spin": isSpin.value,
|
|
99
|
+
[`w-icon-rotate-${direction.value}`]: isRotate.value
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
style,
|
|
103
|
+
...a11y.value,
|
|
104
|
+
onClick: (e) => emit("click", e)
|
|
105
|
+
};
|
|
106
|
+
});
|
|
107
|
+
return () => {
|
|
108
|
+
const merged = mergeProps(iconOptions.value, attrs);
|
|
109
|
+
return createVNode("i", merged, [slots.default?.()]);
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
//#endregion
|
|
114
|
+
export { Icon_default as default, resolveIconName };
|
|
115
|
+
|
|
116
|
+
//# sourceMappingURL=Icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Icon.js","names":["computed","defineComponent","mergeProps","createVNode","_createVNode","useComponentConfig","ICON_FALLBACK","resolveIconName","name","undefined","startsWith","toFontSize","size","inheritAttrs","props","type","String","default","fontClassName","color","hoverColor","Number","spin","Boolean","rotate","deg","direction","title","ariaLabel","emits","click","e","Event","setup","slots","attrs","emit","cfg","iconName","isSpin","value","isRotate","a11y","label","role","iconOptions","fontSize","style","class","onClick","merged"],"sources":["../../../components/icon/Icon.tsx"],"sourcesContent":["import type { PropType, StyleValue } from 'vue'\r\nimport { computed, defineComponent, mergeProps } from 'vue'\r\nimport useComponentConfig from '../../use/useComponentConfig'\r\nimport { ICON_FALLBACK } from './config'\r\nimport type { IconRotateDirection } from './type'\r\n\r\nexport type { IconRotateDirection, IconComponentProps } from './type'\r\nexport type { IconGlobalConfig } from './config'\r\nexport { ICON_FALLBACK } from './config'\r\n\r\n/** name 未带 w-icon- 前缀时自动补全 */\r\nexport function resolveIconName(name?: string): string | undefined {\r\n if (!name) return undefined\r\n return name.startsWith('w-icon-') ? name : `w-icon-${name}`\r\n}\r\n\r\nfunction toFontSize(size: string | number | undefined): string | undefined {\r\n if (size === undefined || size === '') return undefined\r\n return typeof size === 'number' ? `${size}px` : size\r\n}\r\n\r\nexport default defineComponent({\r\n name: 'Icon',\r\n inheritAttrs: false,\r\n props: {\r\n name: { type: String as PropType<string>, default: undefined },\r\n fontClassName: { type: String, default: undefined },\r\n color: { type: String, default: undefined },\r\n hoverColor: { type: String, default: undefined },\r\n size: { type: [String, Number] as PropType<string | number>, default: undefined },\r\n spin: { type: Boolean, default: undefined },\r\n /** 静态翻转(箭头展开等);与 spin 同时开时以 spin 优先 */\r\n rotate: { type: Boolean, default: undefined },\r\n deg: { type: Number, default: undefined },\r\n direction: {\r\n type: String as PropType<IconRotateDirection>,\r\n default: undefined,\r\n },\r\n title: { type: String, default: undefined },\r\n ariaLabel: { type: String, default: undefined },\r\n },\r\n emits: {\r\n click: (e: MouseEvent) => e instanceof Event,\r\n },\r\n setup(props, { slots, attrs, emit }) {\r\n const cfg = useComponentConfig('Icon', props, ICON_FALLBACK)\r\n\r\n const iconName = computed(() => resolveIconName(props.name))\r\n\r\n const isSpin = computed(() => !!cfg.value.spin)\r\n const isRotate = computed(() => !!cfg.value.rotate && !isSpin.value)\r\n const direction = computed(\r\n () => (cfg.value.direction || 'x') as IconRotateDirection,\r\n )\r\n const deg = computed(() => cfg.value.deg ?? 180)\r\n\r\n const a11y = computed(() => {\r\n const label = props.ariaLabel || props.title\r\n if (label) {\r\n return {\r\n title: props.title,\r\n 'aria-label': label,\r\n role: 'img' as const,\r\n }\r\n }\r\n return {\r\n title: undefined as string | undefined,\r\n 'aria-hidden': 'true' as const,\r\n }\r\n })\r\n\r\n const iconOptions = computed(() => {\r\n const fontSize = toFontSize(cfg.value.size)\r\n const style: Record<string, string | undefined> = {\r\n ...(fontSize ? { 'font-size': fontSize } : {}),\r\n '--w-icon-color': cfg.value.color,\r\n '--w-icon-hover-color': cfg.value.hoverColor,\r\n }\r\n if (isRotate.value) {\r\n style['--w-icon-rotate-deg'] = `${deg.value}deg`\r\n }\r\n\r\n return {\r\n class: [\r\n cfg.value.fontClassName,\r\n 'w-icon',\r\n iconName.value,\r\n {\r\n 'w-icon-spin': isSpin.value,\r\n [`w-icon-rotate-${direction.value}`]: isRotate.value,\r\n },\r\n ],\r\n style: style as StyleValue,\r\n ...a11y.value,\r\n onClick: (e: MouseEvent) => emit('click', e),\r\n }\r\n })\r\n\r\n return () => {\r\n const merged = mergeProps(iconOptions.value, attrs)\r\n return <i {...merged}>{slots.default?.()}</i>\r\n }\r\n },\r\n})\r\n"],"mappings":";;;;;AAWA,SAAgBO,gBAAgBC,MAAmC;CACjE,IAAI,CAACA,MAAM,OAAOC,KAAAA;CAClB,OAAOD,KAAKE,WAAW,SAAS,IAAIF,OAAO,UAAUA;AACvD;AAEA,SAASG,WAAWC,MAAuD;CACzE,IAAIA,SAASH,KAAAA,KAAaG,SAAS,IAAI,OAAOH,KAAAA;CAC9C,OAAO,OAAOG,SAAS,WAAW,GAAGA,KAAI,MAAOA;AAClD;AAEA,IAAA,eAAeX,gCAAgB;CAC7BO,MAAM;CACNK,cAAc;CACdC,OAAO;EACLN,MAAM;GAAEO,MAAMC;GAA4BC,SAASR,KAAAA;EAAU;EAC7DS,eAAe;GAAEH,MAAMC;GAAQC,SAASR,KAAAA;EAAU;EAClDU,OAAO;GAAEJ,MAAMC;GAAQC,SAASR,KAAAA;EAAU;EAC1CW,YAAY;GAAEL,MAAMC;GAAQC,SAASR,KAAAA;EAAU;EAC/CG,MAAM;GAAEG,MAAM,CAACC,QAAQK,MAAM;GAAgCJ,SAASR,KAAAA;EAAU;EAChFa,MAAM;GAAEP,MAAMQ;GAASN,SAASR,KAAAA;EAAU;;EAE1Ce,QAAQ;GAAET,MAAMQ;GAASN,SAASR,KAAAA;EAAU;EAC5CgB,KAAK;GAAEV,MAAMM;GAAQJ,SAASR,KAAAA;EAAU;EACxCiB,WAAW;GACTX,MAAMC;GACNC,SAASR,KAAAA;EACX;EACAkB,OAAO;GAAEZ,MAAMC;GAAQC,SAASR,KAAAA;EAAU;EAC1CmB,WAAW;GAAEb,MAAMC;GAAQC,SAASR,KAAAA;EAAU;CAChD;CACAoB,OAAO,EACLC,QAAQC,MAAkBA,aAAaC,MACzC;CACAC,MAAMnB,OAAO,EAAEoB,OAAOC,OAAOC,QAAQ;EACnC,MAAMC,MAAMhC,mBAAmB,QAAQS,OAAOR,aAAa;EAE3D,MAAMgC,WAAWtC,eAAeO,gBAAgBO,MAAMN,IAAI,CAAC;EAE3D,MAAM+B,SAASvC,eAAe,CAAC,CAACqC,IAAIG,MAAMlB,IAAI;EAC9C,MAAMmB,WAAWzC,eAAe,CAAC,CAACqC,IAAIG,MAAMhB,UAAU,CAACe,OAAOC,KAAK;EACnE,MAAMd,YAAY1B,eACTqC,IAAIG,MAAMd,aAAa,GAChC;EACA,MAAMD,MAAMzB,eAAeqC,IAAIG,MAAMf,OAAO,GAAG;EAE/C,MAAMiB,OAAO1C,eAAe;GAC1B,MAAM2C,QAAQ7B,MAAMc,aAAad,MAAMa;GACvC,IAAIgB,OACF,OAAO;IACLhB,OAAOb,MAAMa;IACb,cAAcgB;IACdC,MAAM;GACR;GAEF,OAAO;IACLjB,OAAOlB,KAAAA;IACP,eAAe;GACjB;EACF,CAAC;EAED,MAAMoC,cAAc7C,eAAe;GACjC,MAAM8C,WAAWnC,WAAW0B,IAAIG,MAAM5B,IAAI;GAC1C,MAAMmC,QAA4C;IAChD,GAAID,WAAW,EAAE,aAAaA,SAAS,IAAI,CAAC;IAC5C,kBAAkBT,IAAIG,MAAMrB;IAC5B,wBAAwBkB,IAAIG,MAAMpB;GACpC;GACA,IAAIqB,SAASD,OACXO,MAAM,yBAAyB,GAAGtB,IAAIe,MAAK;GAG7C,OAAO;IACLQ,OAAO;KACLX,IAAIG,MAAMtB;KACV;KACAoB,SAASE;KACT;MACE,eAAeD,OAAOC;OACrB,iBAAiBd,UAAUc,UAAUC,SAASD;KACjD;IAAC;IAEIO;IACP,GAAGL,KAAKF;IACRS,UAAUlB,MAAkBK,KAAK,SAASL,CAAC;GAC7C;EACF,CAAC;EAED,aAAa;GACX,MAAMmB,SAAShD,WAAW2C,YAAYL,OAAOL,KAAK;GAClD,OAAA/B,YAAA,KAAc8C,QAAM,CAAGhB,MAAMjB,UAAU,CAAC,CAAA;EAC1C;CACF;AACF,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { IconRotateDirection } from './type';
|
|
2
|
+
/**
|
|
3
|
+
* 可通过 `app.use(UI, { components: { Icon: {...} } })` 配置的项。
|
|
4
|
+
* Boolean / 可全局覆盖的字段请在 props 设 `default: undefined`。
|
|
5
|
+
*
|
|
6
|
+
* 不宜全局配置:name(实例图标名)。
|
|
7
|
+
*/
|
|
8
|
+
export type IconGlobalConfig = Partial<{
|
|
9
|
+
fontClassName: string;
|
|
10
|
+
size: string | number;
|
|
11
|
+
color: string;
|
|
12
|
+
hoverColor: string;
|
|
13
|
+
spin: boolean;
|
|
14
|
+
rotate: boolean;
|
|
15
|
+
deg: number;
|
|
16
|
+
direction: IconRotateDirection;
|
|
17
|
+
}>;
|
|
18
|
+
/** 未传 props、也未配全局时的默认值 */
|
|
19
|
+
export declare const ICON_FALLBACK: {
|
|
20
|
+
fontClassName: string;
|
|
21
|
+
size: string | number | undefined;
|
|
22
|
+
color: string | undefined;
|
|
23
|
+
hoverColor: string | undefined;
|
|
24
|
+
spin: boolean;
|
|
25
|
+
rotate: boolean;
|
|
26
|
+
deg: number;
|
|
27
|
+
direction: IconRotateDirection;
|
|
28
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region components/icon/config.ts
|
|
2
|
+
/** 未传 props、也未配全局时的默认值 */
|
|
3
|
+
var ICON_FALLBACK = {
|
|
4
|
+
fontClassName: "iconfont-linkd",
|
|
5
|
+
size: void 0,
|
|
6
|
+
color: void 0,
|
|
7
|
+
hoverColor: void 0,
|
|
8
|
+
spin: false,
|
|
9
|
+
rotate: false,
|
|
10
|
+
deg: 180,
|
|
11
|
+
direction: "x"
|
|
12
|
+
};
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ICON_FALLBACK };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","names":[],"sources":["../../../components/icon/config.ts"],"sourcesContent":["import type { IconRotateDirection } from './type'\r\n\r\n/**\r\n * 可通过 `app.use(UI, { components: { Icon: {...} } })` 配置的项。\r\n * Boolean / 可全局覆盖的字段请在 props 设 `default: undefined`。\r\n *\r\n * 不宜全局配置:name(实例图标名)。\r\n */\r\nexport type IconGlobalConfig = Partial<{\r\n fontClassName: string\r\n size: string | number\r\n color: string\r\n hoverColor: string\r\n spin: boolean\r\n rotate: boolean\r\n deg: number\r\n direction: IconRotateDirection\r\n}>\r\n\r\n/** 未传 props、也未配全局时的默认值 */\r\nexport const ICON_FALLBACK = {\r\n fontClassName: 'iconfont-linkd',\r\n size: undefined as string | number | undefined,\r\n color: undefined as string | undefined,\r\n hoverColor: undefined as string | undefined,\r\n spin: false,\r\n rotate: false,\r\n deg: 180,\r\n direction: 'x' as IconRotateDirection,\r\n}\r\n"],"mappings":";;AAoBA,IAAa,gBAAgB;CAC3B,eAAe;CACf,MAAM,KAAA;CACN,OAAO,KAAA;CACP,YAAY,KAAA;CACZ,MAAM;CACN,QAAQ;CACR,KAAK;CACL,WAAW;AACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../../../theme/tokens/components/icon.css';
|