@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,187 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { default as useTreeState } from './_use/treeState';
|
|
3
|
+
import { CssVars } from '../../util';
|
|
4
|
+
export type { TreeGlobalConfig } from './config';
|
|
5
|
+
export { TREE_FALLBACK } from './config';
|
|
6
|
+
/** 树节点数据的基础类型约束 */
|
|
7
|
+
export type TreeDataType = Record<string, any>;
|
|
8
|
+
/** useTreeState 返回值,供 ref / TreeChoose 复用 */
|
|
9
|
+
export type TreeState = ReturnType<typeof useTreeState>;
|
|
10
|
+
/**
|
|
11
|
+
* ref 暴露:常用方法可直接调用;完整能力见 treeState。
|
|
12
|
+
* @example
|
|
13
|
+
* treeRef.value?.revealToNode('1-1-2')
|
|
14
|
+
* treeRef.value?.treeState.getSubmitData()
|
|
15
|
+
*/
|
|
16
|
+
export type TreeExpose = {
|
|
17
|
+
treeState: TreeState;
|
|
18
|
+
expandAll: TreeState['expandAll'];
|
|
19
|
+
collapseAll: TreeState['collapseAll'];
|
|
20
|
+
expandToNode: TreeState['expandToNode'];
|
|
21
|
+
revealToNode: TreeState['revealToNode'];
|
|
22
|
+
scrollToNode: TreeState['scrollToNode'];
|
|
23
|
+
getSubmitData: TreeState['getSubmitData'];
|
|
24
|
+
getCheckedKeys: () => Array<string | number>;
|
|
25
|
+
getSpreadKeys: () => Array<string | number>;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* 运行时 props —— TreeChoose 通过 spread 复用。
|
|
29
|
+
* 可全局配置的字段 default 须为 undefined。
|
|
30
|
+
*/
|
|
31
|
+
export declare const runtimeProps: {
|
|
32
|
+
data: {
|
|
33
|
+
type: PropType<TreeDataType[]>;
|
|
34
|
+
default: () => TreeDataType[];
|
|
35
|
+
};
|
|
36
|
+
modelValue: {
|
|
37
|
+
type: PropType<string | number>;
|
|
38
|
+
default: any;
|
|
39
|
+
};
|
|
40
|
+
keys: {
|
|
41
|
+
type: PropType<Array<string | number>>;
|
|
42
|
+
default: any;
|
|
43
|
+
};
|
|
44
|
+
keyField: {
|
|
45
|
+
type: PropType<string>;
|
|
46
|
+
default: any;
|
|
47
|
+
};
|
|
48
|
+
textField: {
|
|
49
|
+
type: PropType<string>;
|
|
50
|
+
default: any;
|
|
51
|
+
};
|
|
52
|
+
childField: {
|
|
53
|
+
type: PropType<string>;
|
|
54
|
+
default: any;
|
|
55
|
+
};
|
|
56
|
+
indent: {
|
|
57
|
+
type: PropType<number>;
|
|
58
|
+
default: any;
|
|
59
|
+
};
|
|
60
|
+
hasCheckbox: {
|
|
61
|
+
type: PropType<boolean>;
|
|
62
|
+
default: any;
|
|
63
|
+
};
|
|
64
|
+
checkedMode: {
|
|
65
|
+
type: PropType<"some" | "every">;
|
|
66
|
+
default: any;
|
|
67
|
+
};
|
|
68
|
+
onlyOneSpread: {
|
|
69
|
+
type: PropType<boolean>;
|
|
70
|
+
default: any;
|
|
71
|
+
};
|
|
72
|
+
onlyChooseLeaf: {
|
|
73
|
+
type: PropType<boolean>;
|
|
74
|
+
default: any;
|
|
75
|
+
};
|
|
76
|
+
checkable: {
|
|
77
|
+
type: PropType<(item: TreeDataType) => boolean>;
|
|
78
|
+
default: any;
|
|
79
|
+
};
|
|
80
|
+
/** 实例行高(px),写入 `--w-prop-tree-size` */
|
|
81
|
+
size: {
|
|
82
|
+
type: PropType<number>;
|
|
83
|
+
default: any;
|
|
84
|
+
};
|
|
85
|
+
/** 品牌主色 → `--w-prop-tree-color` */
|
|
86
|
+
color: {
|
|
87
|
+
type: PropType<string>;
|
|
88
|
+
default: any;
|
|
89
|
+
};
|
|
90
|
+
/** 实例 CSS 变量 */
|
|
91
|
+
cssVars: {
|
|
92
|
+
type: PropType<CssVars>;
|
|
93
|
+
default: any;
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* 泛型树组件。可全局配置字段见 TreeGlobalConfig / TREE_FALLBACK。
|
|
98
|
+
*/
|
|
99
|
+
declare const Tree: new <T extends TreeDataType = TreeDataType>(props: ({
|
|
100
|
+
data?: T[];
|
|
101
|
+
modelValue?: string | number;
|
|
102
|
+
keys?: Array<string | number>;
|
|
103
|
+
keyField?: string;
|
|
104
|
+
textField?: string;
|
|
105
|
+
childField?: string;
|
|
106
|
+
indent?: number;
|
|
107
|
+
hasCheckbox?: boolean;
|
|
108
|
+
checkedMode?: "some" | "every";
|
|
109
|
+
onlyOneSpread?: boolean;
|
|
110
|
+
onlyChooseLeaf?: boolean;
|
|
111
|
+
checkable?: (item: T) => boolean;
|
|
112
|
+
/** 实例行高(px),写入 `--w-tree-size` */
|
|
113
|
+
size?: number;
|
|
114
|
+
/** 品牌主色 → `--w-prop-tree-color` */
|
|
115
|
+
color?: string;
|
|
116
|
+
} & ({
|
|
117
|
+
[x: `on${Capitalize<string>}`]: (...args: any[]) => any;
|
|
118
|
+
} | {
|
|
119
|
+
[x: `on${Capitalize<string>}`]: (...args: any[]) => any;
|
|
120
|
+
})) & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps) => import('vue').CreateComponentPublicInstanceWithMixins<{
|
|
121
|
+
data?: T[];
|
|
122
|
+
modelValue?: string | number;
|
|
123
|
+
keys?: Array<string | number>;
|
|
124
|
+
keyField?: string;
|
|
125
|
+
textField?: string;
|
|
126
|
+
childField?: string;
|
|
127
|
+
indent?: number;
|
|
128
|
+
hasCheckbox?: boolean;
|
|
129
|
+
checkedMode?: "some" | "every";
|
|
130
|
+
onlyOneSpread?: boolean;
|
|
131
|
+
onlyChooseLeaf?: boolean;
|
|
132
|
+
checkable?: (item: T) => boolean;
|
|
133
|
+
/** 实例行高(px),写入 `--w-tree-size` */
|
|
134
|
+
size?: number;
|
|
135
|
+
/** 品牌主色 → `--w-prop-tree-color` */
|
|
136
|
+
color?: string;
|
|
137
|
+
} & ({
|
|
138
|
+
[x: `on${Capitalize<string>}`]: (...args: any[]) => any;
|
|
139
|
+
} | {
|
|
140
|
+
[x: `on${Capitalize<string>}`]: (...args: any[]) => any;
|
|
141
|
+
}), {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, import('vue').EmitsOptions, import('vue').PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
142
|
+
P: {};
|
|
143
|
+
B: {};
|
|
144
|
+
D: {};
|
|
145
|
+
C: {};
|
|
146
|
+
M: {};
|
|
147
|
+
Defaults: {};
|
|
148
|
+
}, ({
|
|
149
|
+
data?: T[];
|
|
150
|
+
modelValue?: string | number;
|
|
151
|
+
keys?: Array<string | number>;
|
|
152
|
+
keyField?: string;
|
|
153
|
+
textField?: string;
|
|
154
|
+
childField?: string;
|
|
155
|
+
indent?: number;
|
|
156
|
+
hasCheckbox?: boolean;
|
|
157
|
+
checkedMode?: "some" | "every";
|
|
158
|
+
onlyOneSpread?: boolean;
|
|
159
|
+
onlyChooseLeaf?: boolean;
|
|
160
|
+
checkable?: (item: T) => boolean;
|
|
161
|
+
/** 实例行高(px),写入 `--w-tree-size` */
|
|
162
|
+
size?: number;
|
|
163
|
+
/** 品牌主色 → `--w-prop-tree-color` */
|
|
164
|
+
color?: string;
|
|
165
|
+
} & {
|
|
166
|
+
[x: `on${Capitalize<string>}`]: (...args: any[]) => any;
|
|
167
|
+
}) | ({
|
|
168
|
+
data?: T[];
|
|
169
|
+
modelValue?: string | number;
|
|
170
|
+
keys?: Array<string | number>;
|
|
171
|
+
keyField?: string;
|
|
172
|
+
textField?: string;
|
|
173
|
+
childField?: string;
|
|
174
|
+
indent?: number;
|
|
175
|
+
hasCheckbox?: boolean;
|
|
176
|
+
checkedMode?: "some" | "every";
|
|
177
|
+
onlyOneSpread?: boolean;
|
|
178
|
+
onlyChooseLeaf?: boolean;
|
|
179
|
+
checkable?: (item: T) => boolean;
|
|
180
|
+
/** 实例行高(px),写入 `--w-tree-size` */
|
|
181
|
+
size?: number;
|
|
182
|
+
/** 品牌主色 → `--w-prop-tree-color` */
|
|
183
|
+
color?: string;
|
|
184
|
+
} & {
|
|
185
|
+
[x: `on${Capitalize<string>}`]: (...args: any[]) => any;
|
|
186
|
+
}), {}, {}, {}, {}, {}>;
|
|
187
|
+
export default Tree;
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
import useComponentConfig from "../../use/useComponentConfig.js";
|
|
2
|
+
import { getParent } from "../../util/tools.js";
|
|
3
|
+
import { mergeStyle, propColorToCssVars, propSizeToCssVars, toCssVarsStyle } from "../../util/cssVars.js";
|
|
4
|
+
import TreeList_default from "./TreeList.js";
|
|
5
|
+
import useTreeState from "./_use/treeState.js";
|
|
6
|
+
import { TREE_FALLBACK } from "./config.js";
|
|
7
|
+
import { computed, createVNode, defineComponent, nextTick, provide, reactive, ref, watch } from "vue";
|
|
8
|
+
//#region components/tree/Tree.tsx
|
|
9
|
+
/** 树节点数据的基础类型约束 */
|
|
10
|
+
/** useTreeState 返回值,供 ref / TreeChoose 复用 */
|
|
11
|
+
/**
|
|
12
|
+
* ref 暴露:常用方法可直接调用;完整能力见 treeState。
|
|
13
|
+
* @example
|
|
14
|
+
* treeRef.value?.revealToNode('1-1-2')
|
|
15
|
+
* treeRef.value?.treeState.getSubmitData()
|
|
16
|
+
*/
|
|
17
|
+
var TreeEmits = [
|
|
18
|
+
"toggle-spread",
|
|
19
|
+
"toggle-check",
|
|
20
|
+
"change",
|
|
21
|
+
"unchange",
|
|
22
|
+
"update:modelValue",
|
|
23
|
+
"update:keys"
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* 运行时 props —— TreeChoose 通过 spread 复用。
|
|
27
|
+
* 可全局配置的字段 default 须为 undefined。
|
|
28
|
+
*/
|
|
29
|
+
var runtimeProps = {
|
|
30
|
+
data: {
|
|
31
|
+
type: Array,
|
|
32
|
+
default: () => []
|
|
33
|
+
},
|
|
34
|
+
modelValue: {
|
|
35
|
+
type: [String, Number],
|
|
36
|
+
default: void 0
|
|
37
|
+
},
|
|
38
|
+
keys: {
|
|
39
|
+
type: Array,
|
|
40
|
+
default: void 0
|
|
41
|
+
},
|
|
42
|
+
keyField: {
|
|
43
|
+
type: String,
|
|
44
|
+
default: void 0
|
|
45
|
+
},
|
|
46
|
+
textField: {
|
|
47
|
+
type: String,
|
|
48
|
+
default: void 0
|
|
49
|
+
},
|
|
50
|
+
childField: {
|
|
51
|
+
type: String,
|
|
52
|
+
default: void 0
|
|
53
|
+
},
|
|
54
|
+
indent: {
|
|
55
|
+
type: Number,
|
|
56
|
+
default: void 0
|
|
57
|
+
},
|
|
58
|
+
hasCheckbox: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
default: void 0
|
|
61
|
+
},
|
|
62
|
+
checkedMode: {
|
|
63
|
+
type: String,
|
|
64
|
+
default: void 0
|
|
65
|
+
},
|
|
66
|
+
onlyOneSpread: {
|
|
67
|
+
type: Boolean,
|
|
68
|
+
default: void 0
|
|
69
|
+
},
|
|
70
|
+
onlyChooseLeaf: {
|
|
71
|
+
type: Boolean,
|
|
72
|
+
default: void 0
|
|
73
|
+
},
|
|
74
|
+
checkable: {
|
|
75
|
+
type: Function,
|
|
76
|
+
default: void 0
|
|
77
|
+
},
|
|
78
|
+
/** 实例行高(px),写入 `--w-prop-tree-size` */
|
|
79
|
+
size: {
|
|
80
|
+
type: Number,
|
|
81
|
+
default: void 0
|
|
82
|
+
},
|
|
83
|
+
/** 品牌主色 → `--w-prop-tree-color` */
|
|
84
|
+
color: {
|
|
85
|
+
type: String,
|
|
86
|
+
default: void 0
|
|
87
|
+
},
|
|
88
|
+
/** 实例 CSS 变量 */
|
|
89
|
+
cssVars: {
|
|
90
|
+
type: Object,
|
|
91
|
+
default: void 0
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* 泛型树组件。可全局配置字段见 TreeGlobalConfig / TREE_FALLBACK。
|
|
96
|
+
*/
|
|
97
|
+
var Tree = /* @__PURE__ */ defineComponent((_props, ctx) => {
|
|
98
|
+
const { emit, slots, expose } = ctx;
|
|
99
|
+
const props = _props;
|
|
100
|
+
const cfg = useComponentConfig("Tree", props, TREE_FALLBACK);
|
|
101
|
+
const keyField = computed(() => cfg.value.keyField);
|
|
102
|
+
const textField = computed(() => cfg.value.textField);
|
|
103
|
+
const childField = computed(() => cfg.value.childField);
|
|
104
|
+
const indent = computed(() => cfg.value.indent);
|
|
105
|
+
const hasCheckbox = computed(() => !!cfg.value.hasCheckbox);
|
|
106
|
+
const checkedMode = computed(() => cfg.value.checkedMode);
|
|
107
|
+
const onlyOneSpread = computed(() => !!cfg.value.onlyOneSpread);
|
|
108
|
+
const onlyChooseLeaf = computed(() => !!cfg.value.onlyChooseLeaf);
|
|
109
|
+
const treeRootRef = ref(null);
|
|
110
|
+
const stateOptions = reactive({
|
|
111
|
+
keyField,
|
|
112
|
+
childField,
|
|
113
|
+
sourceData: computed(() => props.data),
|
|
114
|
+
checkedMode,
|
|
115
|
+
onlyOneSpread,
|
|
116
|
+
rootElement: treeRootRef
|
|
117
|
+
});
|
|
118
|
+
const treeState = useTreeState(stateOptions);
|
|
119
|
+
const originalToggleSpread = treeState.toggleSpread.bind(treeState);
|
|
120
|
+
treeState.toggleSpread = (key) => {
|
|
121
|
+
originalToggleSpread(key);
|
|
122
|
+
emit("toggle-spread", {
|
|
123
|
+
key,
|
|
124
|
+
isSpread: treeState.isSpread(key)
|
|
125
|
+
});
|
|
126
|
+
};
|
|
127
|
+
const originalOnCheckOne = treeState.onCheckOne.bind(treeState);
|
|
128
|
+
treeState.onCheckOne = (params) => {
|
|
129
|
+
originalOnCheckOne(params);
|
|
130
|
+
emit("toggle-check", {
|
|
131
|
+
...params,
|
|
132
|
+
getCheckedKeys: () => treeState.getCheckedKeys.value,
|
|
133
|
+
getSubmitData: treeState.getSubmitData
|
|
134
|
+
});
|
|
135
|
+
if (props.keys !== void 0) emit("update:keys", Array.from(treeState.checkedKeys.value));
|
|
136
|
+
};
|
|
137
|
+
function handleNodeSelect(key, item) {
|
|
138
|
+
emit("update:modelValue", key);
|
|
139
|
+
emit("change", {
|
|
140
|
+
key,
|
|
141
|
+
item,
|
|
142
|
+
getParent: () => getParent({
|
|
143
|
+
value: key,
|
|
144
|
+
arr: props.data,
|
|
145
|
+
prop: keyField.value,
|
|
146
|
+
children: childField.value
|
|
147
|
+
})
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
function handleNodeUnselect(key, item) {
|
|
151
|
+
emit("unchange", {
|
|
152
|
+
key,
|
|
153
|
+
item
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
provide("treeState", treeState);
|
|
157
|
+
provide("treeProps", reactive({
|
|
158
|
+
hasCheckbox,
|
|
159
|
+
modelValue: computed(() => props.modelValue),
|
|
160
|
+
onlyChooseLeaf,
|
|
161
|
+
checkable: computed(() => props.checkable)
|
|
162
|
+
}));
|
|
163
|
+
provide("treeSlots", slots);
|
|
164
|
+
provide("treeActions", {
|
|
165
|
+
handleNodeSelect,
|
|
166
|
+
handleNodeUnselect
|
|
167
|
+
});
|
|
168
|
+
/** 回显:把选中/勾选节点的祖先路径展开(不折叠其它节点) */
|
|
169
|
+
function revealSelection() {
|
|
170
|
+
nextTick(() => {
|
|
171
|
+
if (hasCheckbox.value) {
|
|
172
|
+
const keys = props.keys;
|
|
173
|
+
if (Array.isArray(keys)) keys.forEach((k) => treeState.revealToNode(k, false));
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
const v = props.modelValue;
|
|
177
|
+
if (v !== void 0 && v !== null) treeState.revealToNode(v, false);
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
watch(() => props.keys, (newKeys) => {
|
|
181
|
+
if (newKeys !== void 0 && Array.isArray(newKeys)) {
|
|
182
|
+
treeState.checkedKeys.value = new Set(newKeys);
|
|
183
|
+
revealSelection();
|
|
184
|
+
}
|
|
185
|
+
}, { immediate: true });
|
|
186
|
+
watch(() => [
|
|
187
|
+
props.modelValue,
|
|
188
|
+
props.data,
|
|
189
|
+
hasCheckbox.value
|
|
190
|
+
], () => {
|
|
191
|
+
revealSelection();
|
|
192
|
+
}, { immediate: true });
|
|
193
|
+
expose({
|
|
194
|
+
treeState,
|
|
195
|
+
expandAll: (...args) => treeState.expandAll(...args),
|
|
196
|
+
collapseAll: () => treeState.collapseAll(),
|
|
197
|
+
expandToNode: (key) => treeState.expandToNode(key),
|
|
198
|
+
revealToNode: (key, scroll) => treeState.revealToNode(key, scroll),
|
|
199
|
+
scrollToNode: (key) => treeState.scrollToNode(key),
|
|
200
|
+
getSubmitData: () => treeState.getSubmitData(),
|
|
201
|
+
getCheckedKeys: () => treeState.getCheckedKeys.value,
|
|
202
|
+
getSpreadKeys: () => treeState.getSpreadKeys.value
|
|
203
|
+
});
|
|
204
|
+
return () => createVNode("div", {
|
|
205
|
+
"class": "w-tree",
|
|
206
|
+
"ref": treeRootRef,
|
|
207
|
+
"style": mergeStyle(toCssVarsStyle({
|
|
208
|
+
...indent.value != null ? { "--w-tree-indent": `${indent.value}px` } : void 0,
|
|
209
|
+
...propSizeToCssVars("tree", props.size),
|
|
210
|
+
...propColorToCssVars("tree", props.color),
|
|
211
|
+
...props.cssVars
|
|
212
|
+
}))
|
|
213
|
+
}, [createVNode(TreeList_default, {
|
|
214
|
+
"data": props.data,
|
|
215
|
+
"keyField": keyField.value,
|
|
216
|
+
"textField": textField.value,
|
|
217
|
+
"childField": childField.value,
|
|
218
|
+
"hasCheckbox": hasCheckbox.value,
|
|
219
|
+
"level": 0
|
|
220
|
+
}, null)]);
|
|
221
|
+
}, {
|
|
222
|
+
name: "Tree",
|
|
223
|
+
props: runtimeProps,
|
|
224
|
+
emits: TreeEmits
|
|
225
|
+
});
|
|
226
|
+
//#endregion
|
|
227
|
+
export { Tree as default, runtimeProps };
|
|
228
|
+
|
|
229
|
+
//# sourceMappingURL=Tree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tree.js","names":["defineComponent","provide","reactive","computed","ref","watch","nextTick","createVNode","_createVNode","TreeList","useTreeState","getParent","mergeStyle","propSizeToCssVars","propColorToCssVars","toCssVarsStyle","useComponentConfig","TREE_FALLBACK","TreeEmits","runtimeProps","data","type","Array","default","modelValue","String","Number","undefined","keys","keyField","textField","childField","indent","hasCheckbox","Boolean","checkedMode","onlyOneSpread","onlyChooseLeaf","checkable","Function","size","color","cssVars","Object","Tree","_props","ctx","emit","slots","expose","props","cfg","value","treeRootRef","stateOptions","sourceData","rootElement","treeState","originalToggleSpread","toggleSpread","bind","key","isSpread","originalOnCheckOne","onCheckOne","params","getCheckedKeys","getSubmitData","from","checkedKeys","handleNodeSelect","item","arr","prop","children","handleNodeUnselect","revealSelection","isArray","forEach","k","revealToNode","v","newKeys","Set","immediate","expandAll","args","collapseAll","expandToNode","scroll","scrollToNode","getSpreadKeys","name","emits"],"sources":["../../../components/tree/Tree.tsx"],"sourcesContent":["import {\r\n defineComponent,\r\n provide,\r\n reactive,\r\n computed,\r\n ref,\r\n watch,\r\n nextTick,\r\n} from 'vue'\r\nimport type { PropType, SetupContext } from 'vue'\r\nimport TreeList from './TreeList'\r\nimport useTreeState from './_use/treeState'\r\nimport { getParent } from '../../util'\r\nimport { mergeStyle, propSizeToCssVars, propColorToCssVars, toCssVarsStyle, type CssVars } from '../../util'\r\nimport useComponentConfig from '../../use/useComponentConfig'\r\nimport { TREE_FALLBACK } from './config'\r\n\r\nexport type { TreeGlobalConfig } from './config'\r\nexport { TREE_FALLBACK } from './config'\r\n\r\n/** 树节点数据的基础类型约束 */\r\nexport type TreeDataType = Record<string, any>\r\n\r\n/** useTreeState 返回值,供 ref / TreeChoose 复用 */\r\nexport type TreeState = ReturnType<typeof useTreeState>\r\n\r\n/**\r\n * ref 暴露:常用方法可直接调用;完整能力见 treeState。\r\n * @example\r\n * treeRef.value?.revealToNode('1-1-2')\r\n * treeRef.value?.treeState.getSubmitData()\r\n */\r\nexport type TreeExpose = {\r\n treeState: TreeState\r\n expandAll: TreeState['expandAll']\r\n collapseAll: TreeState['collapseAll']\r\n expandToNode: TreeState['expandToNode']\r\n revealToNode: TreeState['revealToNode']\r\n scrollToNode: TreeState['scrollToNode']\r\n getSubmitData: TreeState['getSubmitData']\r\n getCheckedKeys: () => Array<string | number>\r\n getSpreadKeys: () => Array<string | number>\r\n}\r\n\r\nconst TreeEmits = [\r\n 'toggle-spread',\r\n 'toggle-check',\r\n 'change',\r\n 'unchange',\r\n 'update:modelValue',\r\n 'update:keys',\r\n] as const\r\n\r\n/**\r\n * 运行时 props —— TreeChoose 通过 spread 复用。\r\n * 可全局配置的字段 default 须为 undefined。\r\n */\r\nexport const runtimeProps = {\r\n data: {\r\n type: Array as PropType<TreeDataType[]>,\r\n default: () => [] as TreeDataType[],\r\n },\r\n modelValue: {\r\n type: [String, Number] as PropType<string | number>,\r\n default: undefined,\r\n },\r\n keys: {\r\n type: Array as PropType<Array<string | number>>,\r\n default: undefined,\r\n },\r\n keyField: { type: String as PropType<string>, default: undefined },\r\n textField: { type: String as PropType<string>, default: undefined },\r\n childField: { type: String as PropType<string>, default: undefined },\r\n indent: { type: Number as PropType<number>, default: undefined },\r\n hasCheckbox: { type: Boolean as PropType<boolean>, default: undefined },\r\n checkedMode: {\r\n type: String as PropType<'some' | 'every'>,\r\n default: undefined,\r\n },\r\n onlyOneSpread: { type: Boolean as PropType<boolean>, default: undefined },\r\n onlyChooseLeaf: { type: Boolean as PropType<boolean>, default: undefined },\r\n checkable: {\r\n type: Function as PropType<(item: TreeDataType) => boolean>,\r\n default: undefined,\r\n },\r\n /** 实例行高(px),写入 `--w-prop-tree-size` */\r\n size: { type: Number as PropType<number>, default: undefined },\r\n /** 品牌主色 → `--w-prop-tree-color` */\r\n color: { type: String as PropType<string>, default: undefined },\r\n /** 实例 CSS 变量 */\r\n cssVars: { type: Object as PropType<CssVars>, default: undefined },\r\n}\r\n\r\n/**\r\n * 泛型树组件。可全局配置字段见 TreeGlobalConfig / TREE_FALLBACK。\r\n */\r\nconst Tree = defineComponent(\r\n <T extends TreeDataType = TreeDataType>(\r\n _props: {\r\n data?: T[]\r\n modelValue?: string | number\r\n keys?: Array<string | number>\r\n keyField?: string\r\n textField?: string\r\n childField?: string\r\n indent?: number\r\n hasCheckbox?: boolean\r\n checkedMode?: 'some' | 'every'\r\n onlyOneSpread?: boolean\r\n onlyChooseLeaf?: boolean\r\n checkable?: (item: T) => boolean\r\n /** 实例行高(px),写入 `--w-tree-size` */\r\n size?: number\r\n /** 品牌主色 → `--w-prop-tree-color` */\r\n color?: string\r\n },\r\n ctx: SetupContext,\r\n ) => {\r\n const { emit, slots, expose } = ctx\r\n const props = _props as Record<string, any>\r\n const cfg = useComponentConfig('Tree', props, TREE_FALLBACK)\r\n\r\n const keyField = computed(() => cfg.value.keyField as string)\r\n const textField = computed(() => cfg.value.textField as string)\r\n const childField = computed(() => cfg.value.childField as string)\r\n const indent = computed(() => cfg.value.indent as number | undefined)\r\n const hasCheckbox = computed(() => !!cfg.value.hasCheckbox)\r\n const checkedMode = computed(() => cfg.value.checkedMode)\r\n const onlyOneSpread = computed(() => !!cfg.value.onlyOneSpread)\r\n const onlyChooseLeaf = computed(() => !!cfg.value.onlyChooseLeaf)\r\n\r\n const treeRootRef = ref<HTMLElement | null>(null)\r\n\r\n const stateOptions = reactive({\r\n keyField,\r\n childField,\r\n sourceData: computed(() => props.data as TreeDataType[]),\r\n checkedMode,\r\n onlyOneSpread,\r\n rootElement: treeRootRef,\r\n })\r\n const treeState = useTreeState(stateOptions)\r\n\r\n const originalToggleSpread = treeState.toggleSpread.bind(treeState)\r\n treeState.toggleSpread = (key: string | number) => {\r\n originalToggleSpread(key)\r\n emit('toggle-spread', { key, isSpread: treeState.isSpread(key) })\r\n }\r\n\r\n type OnCheckOneParams = Parameters<typeof treeState.onCheckOne>[0]\r\n const originalOnCheckOne: (params: OnCheckOneParams) => void =\r\n treeState.onCheckOne.bind(treeState)\r\n treeState.onCheckOne = (params: OnCheckOneParams) => {\r\n originalOnCheckOne(params)\r\n emit('toggle-check', {\r\n ...params,\r\n getCheckedKeys: () => treeState.getCheckedKeys.value,\r\n getSubmitData: treeState.getSubmitData,\r\n })\r\n if (props.keys !== undefined) {\r\n emit('update:keys', Array.from(treeState.checkedKeys.value))\r\n }\r\n }\r\n\r\n function handleNodeSelect(key: string | number, item: Record<string, any>) {\r\n emit('update:modelValue', key)\r\n emit('change', {\r\n key,\r\n item,\r\n getParent: () =>\r\n getParent({\r\n value: key,\r\n arr: props.data,\r\n prop: keyField.value,\r\n children: childField.value,\r\n }),\r\n })\r\n }\r\n function handleNodeUnselect(\r\n key: string | number,\r\n item: Record<string, any>,\r\n ) {\r\n emit('unchange', { key, item })\r\n }\r\n\r\n provide('treeState', treeState)\r\n provide(\r\n 'treeProps',\r\n reactive({\r\n hasCheckbox,\r\n modelValue: computed(() => props.modelValue),\r\n onlyChooseLeaf,\r\n checkable: computed(() => props.checkable),\r\n }),\r\n )\r\n provide('treeSlots', slots)\r\n provide('treeActions', {\r\n handleNodeSelect,\r\n handleNodeUnselect,\r\n })\r\n\r\n /** 回显:把选中/勾选节点的祖先路径展开(不折叠其它节点) */\r\n function revealSelection() {\r\n nextTick(() => {\r\n if (hasCheckbox.value) {\r\n const keys = props.keys\r\n if (Array.isArray(keys)) {\r\n keys.forEach((k: string | number) =>\r\n treeState.revealToNode(k, false),\r\n )\r\n }\r\n return\r\n }\r\n const v = props.modelValue\r\n if (v !== undefined && v !== null) {\r\n treeState.revealToNode(v, false)\r\n }\r\n })\r\n }\r\n\r\n watch(\r\n () => props.keys,\r\n (newKeys: any) => {\r\n if (newKeys !== undefined && Array.isArray(newKeys)) {\r\n treeState.checkedKeys.value = new Set(newKeys)\r\n revealSelection()\r\n }\r\n },\r\n { immediate: true },\r\n )\r\n\r\n watch(\r\n () => [props.modelValue, props.data, hasCheckbox.value] as const,\r\n () => {\r\n revealSelection()\r\n },\r\n { immediate: true },\r\n )\r\n\r\n expose({\r\n treeState,\r\n expandAll: (...args: Parameters<TreeState['expandAll']>) =>\r\n treeState.expandAll(...args),\r\n collapseAll: () => treeState.collapseAll(),\r\n expandToNode: (key: string | number) => treeState.expandToNode(key),\r\n revealToNode: (key: string | number, scroll?: boolean) =>\r\n treeState.revealToNode(key, scroll),\r\n scrollToNode: (key: string | number) => treeState.scrollToNode(key),\r\n getSubmitData: () => treeState.getSubmitData(),\r\n getCheckedKeys: () => treeState.getCheckedKeys.value,\r\n getSpreadKeys: () => treeState.getSpreadKeys.value,\r\n } satisfies TreeExpose)\r\n\r\n return () => (\r\n <div\r\n class=\"w-tree\"\r\n ref={treeRootRef}\r\n style={mergeStyle(\r\n toCssVarsStyle({\r\n ...(indent.value != null\r\n ? { '--w-tree-indent': `${indent.value}px` }\r\n : undefined),\r\n ...propSizeToCssVars('tree', props.size),\r\n ...propColorToCssVars('tree', props.color),\r\n ...props.cssVars,\r\n }),\r\n )}>\r\n <TreeList\r\n data={props.data}\r\n keyField={keyField.value}\r\n textField={textField.value}\r\n childField={childField.value}\r\n hasCheckbox={hasCheckbox.value}\r\n level={0}\r\n />\r\n </div>\r\n )\r\n },\r\n {\r\n name: 'Tree',\r\n props: runtimeProps as any,\r\n emits: TreeEmits,\r\n } as any,\r\n)\r\n\r\nexport default Tree\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { TreeDataType } from './Tree';
|
|
3
|
+
export declare const TreeItemProps: {
|
|
4
|
+
item: {
|
|
5
|
+
type: PropType<TreeDataType>;
|
|
6
|
+
required: boolean;
|
|
7
|
+
};
|
|
8
|
+
keyField: {
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
12
|
+
textField: {
|
|
13
|
+
type: StringConstructor;
|
|
14
|
+
default: string;
|
|
15
|
+
};
|
|
16
|
+
childField: {
|
|
17
|
+
type: StringConstructor;
|
|
18
|
+
default: string;
|
|
19
|
+
};
|
|
20
|
+
hasCheckbox: {
|
|
21
|
+
type: BooleanConstructor;
|
|
22
|
+
default: boolean;
|
|
23
|
+
};
|
|
24
|
+
level: {
|
|
25
|
+
type: NumberConstructor;
|
|
26
|
+
default: number;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
30
|
+
item: {
|
|
31
|
+
type: PropType<TreeDataType>;
|
|
32
|
+
required: boolean;
|
|
33
|
+
};
|
|
34
|
+
keyField: {
|
|
35
|
+
type: StringConstructor;
|
|
36
|
+
default: string;
|
|
37
|
+
};
|
|
38
|
+
textField: {
|
|
39
|
+
type: StringConstructor;
|
|
40
|
+
default: string;
|
|
41
|
+
};
|
|
42
|
+
childField: {
|
|
43
|
+
type: StringConstructor;
|
|
44
|
+
default: string;
|
|
45
|
+
};
|
|
46
|
+
hasCheckbox: {
|
|
47
|
+
type: BooleanConstructor;
|
|
48
|
+
default: boolean;
|
|
49
|
+
};
|
|
50
|
+
level: {
|
|
51
|
+
type: NumberConstructor;
|
|
52
|
+
default: number;
|
|
53
|
+
};
|
|
54
|
+
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
55
|
+
item: {
|
|
56
|
+
type: PropType<TreeDataType>;
|
|
57
|
+
required: boolean;
|
|
58
|
+
};
|
|
59
|
+
keyField: {
|
|
60
|
+
type: StringConstructor;
|
|
61
|
+
default: string;
|
|
62
|
+
};
|
|
63
|
+
textField: {
|
|
64
|
+
type: StringConstructor;
|
|
65
|
+
default: string;
|
|
66
|
+
};
|
|
67
|
+
childField: {
|
|
68
|
+
type: StringConstructor;
|
|
69
|
+
default: string;
|
|
70
|
+
};
|
|
71
|
+
hasCheckbox: {
|
|
72
|
+
type: BooleanConstructor;
|
|
73
|
+
default: boolean;
|
|
74
|
+
};
|
|
75
|
+
level: {
|
|
76
|
+
type: NumberConstructor;
|
|
77
|
+
default: number;
|
|
78
|
+
};
|
|
79
|
+
}>> & Readonly<{}>, {
|
|
80
|
+
keyField: string;
|
|
81
|
+
textField: string;
|
|
82
|
+
childField: string;
|
|
83
|
+
hasCheckbox: boolean;
|
|
84
|
+
level: number;
|
|
85
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
86
|
+
export default _default;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import Icon_default from "../icon/Icon.js";
|
|
2
|
+
import Checkbox_default from "../checkbox/Checkbox.js";
|
|
3
|
+
import SlideDown_default from "../slideDown/SlideDown.js";
|
|
4
|
+
import TreeList_default from "./TreeList.js";
|
|
5
|
+
import { computed, createVNode, defineComponent, inject } from "vue";
|
|
6
|
+
//#region components/tree/TreeItem.tsx
|
|
7
|
+
/**
|
|
8
|
+
* 树节点组件
|
|
9
|
+
* 渲染单个树节点,包含:展开箭头、复选框、节点文本
|
|
10
|
+
* 并在子节点展开时递归渲染 TreeList
|
|
11
|
+
*/
|
|
12
|
+
var TreeItemProps = {
|
|
13
|
+
item: {
|
|
14
|
+
type: Object,
|
|
15
|
+
required: true
|
|
16
|
+
},
|
|
17
|
+
keyField: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: "Id"
|
|
20
|
+
},
|
|
21
|
+
textField: {
|
|
22
|
+
type: String,
|
|
23
|
+
default: "Name"
|
|
24
|
+
},
|
|
25
|
+
childField: {
|
|
26
|
+
type: String,
|
|
27
|
+
default: "Childs"
|
|
28
|
+
},
|
|
29
|
+
hasCheckbox: {
|
|
30
|
+
type: Boolean,
|
|
31
|
+
default: false
|
|
32
|
+
},
|
|
33
|
+
level: {
|
|
34
|
+
type: Number,
|
|
35
|
+
default: 0
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var TreeItem_default = /* @__PURE__ */ defineComponent({
|
|
39
|
+
name: "TreeItem",
|
|
40
|
+
props: TreeItemProps,
|
|
41
|
+
setup(props) {
|
|
42
|
+
const treeState = inject("treeState", {});
|
|
43
|
+
const treeProps = inject("treeProps", {});
|
|
44
|
+
const treeSlots = inject("treeSlots", {});
|
|
45
|
+
const treeActions = inject("treeActions", {});
|
|
46
|
+
const nodeKey = computed(() => props.item[props.keyField]);
|
|
47
|
+
const nodeText = computed(() => {
|
|
48
|
+
return props.item[props.textField];
|
|
49
|
+
});
|
|
50
|
+
const children = computed(() => {
|
|
51
|
+
const childData = props.item[props.childField];
|
|
52
|
+
return Array.isArray(childData) ? childData : [];
|
|
53
|
+
});
|
|
54
|
+
const hasChildren = computed(() => children.value.length > 0);
|
|
55
|
+
const isSpread = computed(() => treeState.isSpread(nodeKey.value));
|
|
56
|
+
const isCheckable = computed(() => {
|
|
57
|
+
if (!treeProps.checkable) return true;
|
|
58
|
+
return treeProps.checkable(props.item);
|
|
59
|
+
});
|
|
60
|
+
function handleToggleSpread() {
|
|
61
|
+
if (hasChildren.value) treeState.toggleSpread(nodeKey.value);
|
|
62
|
+
}
|
|
63
|
+
function RenderIcon() {
|
|
64
|
+
let DefaultIcon = createVNode(Icon_default, {
|
|
65
|
+
"name": "w-icon-sort-down",
|
|
66
|
+
"rotate": !isSpread.value,
|
|
67
|
+
"deg": -90,
|
|
68
|
+
"direction": "z"
|
|
69
|
+
}, null);
|
|
70
|
+
let SpreadIcon;
|
|
71
|
+
let FoldIcon;
|
|
72
|
+
let LeafIcon;
|
|
73
|
+
if (treeSlots) {
|
|
74
|
+
if (treeSlots.icon) DefaultIcon = treeSlots.icon({ isSpread: isSpread.value });
|
|
75
|
+
else {
|
|
76
|
+
if (treeSlots["icon-spread"]) SpreadIcon = treeSlots["icon-spread"]();
|
|
77
|
+
if (treeSlots["icon-fold"]) FoldIcon = treeSlots["icon-fold"]();
|
|
78
|
+
}
|
|
79
|
+
if (treeSlots["icon-leaf"]) LeafIcon = treeSlots["icon-leaf"]();
|
|
80
|
+
}
|
|
81
|
+
if (hasChildren.value) {
|
|
82
|
+
if (SpreadIcon && FoldIcon) return isSpread.value ? SpreadIcon : FoldIcon;
|
|
83
|
+
return DefaultIcon;
|
|
84
|
+
} else if (LeafIcon) return LeafIcon;
|
|
85
|
+
else if (SpreadIcon) return createVNode("div", { "style": "visibility: hidden;pointer-events: none;" }, [SpreadIcon]);
|
|
86
|
+
else return createVNode("div", { "style": "visibility: hidden;pointer-events: none;" }, [DefaultIcon]);
|
|
87
|
+
}
|
|
88
|
+
function RenderNodeLabel() {
|
|
89
|
+
if (treeSlots && treeSlots.label) return treeSlots.label({ item: props.item });
|
|
90
|
+
return createVNode("span", { "class": "w-tree-item-label" }, [nodeText.value]);
|
|
91
|
+
}
|
|
92
|
+
function handleNodeClick() {
|
|
93
|
+
if (!props.hasCheckbox && treeActions.handleNodeSelect) {
|
|
94
|
+
if (treeProps.onlyChooseLeaf && hasChildren.value) {
|
|
95
|
+
treeActions.handleNodeUnselect(nodeKey.value, props.item);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (!isCheckable.value) {
|
|
99
|
+
treeActions.handleNodeUnselect(nodeKey.value, props.item);
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
if (treeProps.modelValue !== nodeKey.value) treeActions.handleNodeSelect(nodeKey.value, props.item);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
return () => createVNode("div", { "class": ["w-tree-node-wrapper"] }, [createVNode("div", {
|
|
106
|
+
"class": [
|
|
107
|
+
"w-tree-item",
|
|
108
|
+
treeProps.modelValue === nodeKey.value ? "w-tree-item-active" : "",
|
|
109
|
+
!props.hasCheckbox && !isCheckable.value ? "w-tree-item-disabled" : ""
|
|
110
|
+
],
|
|
111
|
+
"style": { paddingLeft: `calc(${props.level} * var(--w-tree-indent))` },
|
|
112
|
+
"data-key": nodeKey.value
|
|
113
|
+
}, [
|
|
114
|
+
createVNode("div", {
|
|
115
|
+
"class": `w-tree-item-arrow ${!hasChildren.value ? "no-children" : ""}`,
|
|
116
|
+
"onClick": handleToggleSpread
|
|
117
|
+
}, [RenderIcon()]),
|
|
118
|
+
props.hasCheckbox && createVNode("div", {
|
|
119
|
+
"class": "w-tree-item-checkbox",
|
|
120
|
+
"onClick": (e) => e.stopPropagation()
|
|
121
|
+
}, [createVNode(Checkbox_default, {
|
|
122
|
+
"value": nodeKey.value,
|
|
123
|
+
"modelValue": treeState.checkedKeys.value,
|
|
124
|
+
"disabled": !isCheckable.value,
|
|
125
|
+
"onUpdate:model-value": (s) => {
|
|
126
|
+
treeState.checkedKeys.value = s;
|
|
127
|
+
const isChecked = s.has ? s.has(nodeKey.value) : s.includes(nodeKey.value);
|
|
128
|
+
treeState.onCheckOne({
|
|
129
|
+
key: nodeKey.value,
|
|
130
|
+
item: props.item,
|
|
131
|
+
checked: isChecked
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}, null)]),
|
|
135
|
+
createVNode("div", {
|
|
136
|
+
"class": "w-tree-item-label-wrapper",
|
|
137
|
+
"onClick": handleNodeClick
|
|
138
|
+
}, [createVNode(RenderNodeLabel, null, null)])
|
|
139
|
+
]), createVNode(SlideDown_default, null, { default: () => [hasChildren.value && isSpread.value && createVNode(TreeList_default, {
|
|
140
|
+
"data": children.value,
|
|
141
|
+
"keyField": props.keyField,
|
|
142
|
+
"textField": props.textField,
|
|
143
|
+
"childField": props.childField,
|
|
144
|
+
"hasCheckbox": props.hasCheckbox,
|
|
145
|
+
"level": props.level + 1
|
|
146
|
+
}, null)] })]);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
//#endregion
|
|
150
|
+
export { TreeItemProps, TreeItem_default as default };
|
|
151
|
+
|
|
152
|
+
//# sourceMappingURL=TreeItem.js.map
|