cbvirtua 1.0.100 → 1.0.102
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/5111.zip +0 -0
- package/dist/action-sheet/index.d.ts +1 -0
- package/dist/action-sheet/index.js +75 -0
- package/dist/action-sheet/index.json +8 -0
- package/dist/action-sheet/index.wxml +70 -0
- package/dist/action-sheet/index.wxss +1 -0
- package/dist/area/index.d.ts +1 -0
- package/dist/area/index.js +220 -0
- package/dist/area/index.json +6 -0
- package/dist/area/index.wxml +20 -0
- package/dist/area/index.wxs +8 -0
- package/dist/area/index.wxss +1 -0
- package/dist/button/index.d.ts +1 -0
- package/dist/button/index.js +64 -0
- package/dist/button/index.json +7 -0
- package/dist/button/index.wxml +56 -0
- package/dist/button/index.wxs +39 -0
- package/dist/button/index.wxss +1 -0
- package/dist/calendar/calendar.wxml +70 -0
- package/dist/calendar/components/header/index.d.ts +1 -0
- package/dist/calendar/components/header/index.js +37 -0
- package/dist/calendar/components/header/index.json +3 -0
- package/dist/calendar/components/header/index.wxml +16 -0
- package/dist/calendar/components/header/index.wxss +1 -0
- package/dist/calendar/components/month/index.d.ts +6 -0
- package/dist/calendar/components/month/index.js +154 -0
- package/dist/calendar/components/month/index.json +3 -0
- package/dist/calendar/components/month/index.wxml +39 -0
- package/dist/calendar/components/month/index.wxs +71 -0
- package/dist/calendar/components/month/index.wxss +1 -0
- package/dist/calendar/index.d.ts +1 -0
- package/dist/calendar/index.js +360 -0
- package/dist/calendar/index.json +10 -0
- package/dist/calendar/index.wxml +27 -0
- package/dist/calendar/index.wxs +37 -0
- package/dist/calendar/index.wxss +1 -0
- package/dist/calendar/utils.d.ts +12 -0
- package/dist/calendar/utils.js +83 -0
- package/dist/calendar/utils.wxs +25 -0
- package/dist/card/index.d.ts +1 -0
- package/dist/card/index.js +49 -0
- package/dist/card/index.json +6 -0
- package/dist/card/index.wxml +56 -0
- package/dist/card/index.wxss +1 -0
- package/dist/cascader/index.d.ts +1 -0
- package/dist/cascader/index.js +214 -0
- package/dist/cascader/index.json +8 -0
- package/dist/cascader/index.wxml +55 -0
- package/dist/cascader/index.wxs +24 -0
- package/dist/cascader/index.wxss +1 -0
- package/dist/cell/index.d.ts +1 -0
- package/dist/cell/index.js +38 -0
- package/dist/cell/index.json +6 -0
- package/dist/cell/index.wxml +47 -0
- package/dist/cell/index.wxs +17 -0
- package/dist/cell/index.wxss +1 -0
- package/dist/cell-group/index.d.ts +1 -0
- package/dist/cell-group/index.js +11 -0
- package/dist/cell-group/index.json +3 -0
- package/dist/cell-group/index.wxml +11 -0
- package/dist/cell-group/index.wxss +1 -0
- package/dist/checkbox/index.d.ts +1 -0
- package/dist/checkbox/index.js +77 -0
- package/dist/checkbox/index.json +6 -0
- package/dist/checkbox/index.wxml +31 -0
- package/dist/checkbox/index.wxs +20 -0
- package/dist/checkbox/index.wxss +1 -0
- package/dist/checkbox-group/index.d.ts +1 -0
- package/dist/checkbox-group/index.js +36 -0
- package/dist/checkbox-group/index.json +3 -0
- package/dist/checkbox-group/index.wxml +5 -0
- package/dist/checkbox-group/index.wxss +1 -0
- package/dist/circle/canvas.d.ts +4 -0
- package/dist/circle/canvas.js +43 -0
- package/dist/circle/index.d.ts +1 -0
- package/dist/circle/index.js +197 -0
- package/dist/circle/index.json +3 -0
- package/dist/circle/index.wxml +9 -0
- package/dist/circle/index.wxss +1 -0
- package/dist/col/index.d.ts +1 -0
- package/dist/col/index.js +9 -0
- package/dist/col/index.json +3 -0
- package/dist/col/index.wxml +9 -0
- package/dist/col/index.wxs +18 -0
- package/dist/col/index.wxss +1 -0
- package/dist/collapse/index.d.ts +1 -0
- package/dist/collapse/index.js +46 -0
- package/dist/collapse/index.json +3 -0
- package/dist/collapse/index.wxml +3 -0
- package/dist/collapse/index.wxss +1 -0
- package/dist/collapse-item/animate.d.ts +2 -0
- package/dist/collapse-item/animate.js +39 -0
- package/dist/collapse-item/index.d.ts +1 -0
- package/dist/collapse-item/index.js +61 -0
- package/dist/collapse-item/index.json +6 -0
- package/dist/collapse-item/index.wxml +45 -0
- package/dist/collapse-item/index.wxss +1 -0
- package/dist/common/color.d.ts +7 -0
- package/dist/common/color.js +7 -0
- package/dist/common/component.d.ts +4 -0
- package/dist/common/component.js +46 -0
- package/dist/common/index.wxss +1 -0
- package/dist/common/relation.d.ts +15 -0
- package/dist/common/relation.js +56 -0
- package/dist/common/style/clearfix.wxss +1 -0
- package/dist/common/style/ellipsis.wxss +1 -0
- package/dist/common/style/hairline.wxss +1 -0
- package/dist/common/style/mixins/clearfix.wxss +0 -0
- package/dist/common/style/mixins/ellipsis.wxss +0 -0
- package/dist/common/style/mixins/hairline.wxss +0 -0
- package/dist/common/style/var.wxss +0 -0
- package/dist/common/utils.d.ts +21 -0
- package/dist/common/utils.js +86 -0
- package/dist/common/validator.d.ts +9 -0
- package/dist/common/validator.js +31 -0
- package/dist/common/version.d.ts +15 -0
- package/dist/common/version.js +59 -0
- package/dist/config-provider/index.d.ts +1 -0
- package/dist/config-provider/index.js +9 -0
- package/dist/config-provider/index.json +3 -0
- package/dist/config-provider/index.wxml +5 -0
- package/dist/config-provider/index.wxs +29 -0
- package/dist/count-down/index.d.ts +1 -0
- package/dist/count-down/index.js +100 -0
- package/dist/count-down/index.json +3 -0
- package/dist/count-down/index.wxml +4 -0
- package/dist/count-down/index.wxss +1 -0
- package/dist/count-down/utils.d.ts +10 -0
- package/dist/count-down/utils.js +57 -0
- package/dist/datetime-picker/index.d.ts +1 -0
- package/dist/datetime-picker/index.js +295 -0
- package/dist/datetime-picker/index.json +6 -0
- package/dist/datetime-picker/index.wxml +16 -0
- package/dist/datetime-picker/index.wxss +1 -0
- package/dist/definitions/index.d.ts +29 -0
- package/dist/definitions/index.js +1 -0
- package/dist/dialog/dialog.d.ts +55 -0
- package/dist/dialog/dialog.js +77 -0
- package/dist/dialog/index.d.ts +1 -0
- package/dist/dialog/index.js +132 -0
- package/dist/dialog/index.json +9 -0
- package/dist/dialog/index.wxml +126 -0
- package/dist/dialog/index.wxss +1 -0
- package/dist/divider/index.d.ts +1 -0
- package/dist/divider/index.js +12 -0
- package/dist/divider/index.json +4 -0
- package/dist/divider/index.wxml +9 -0
- package/dist/divider/index.wxs +18 -0
- package/dist/divider/index.wxss +1 -0
- package/dist/dropdown-item/index.d.ts +1 -0
- package/dist/dropdown-item/index.js +130 -0
- package/dist/dropdown-item/index.json +8 -0
- package/dist/dropdown-item/index.wxml +50 -0
- package/dist/dropdown-item/index.wxss +1 -0
- package/dist/dropdown-item/shared.d.ts +5 -0
- package/dist/dropdown-item/shared.js +1 -0
- package/dist/dropdown-menu/index.d.ts +1 -0
- package/dist/dropdown-menu/index.js +117 -0
- package/dist/dropdown-menu/index.json +3 -0
- package/dist/dropdown-menu/index.wxml +23 -0
- package/dist/dropdown-menu/index.wxs +16 -0
- package/dist/dropdown-menu/index.wxss +1 -0
- package/dist/empty/index.d.ts +1 -0
- package/dist/empty/index.js +10 -0
- package/dist/empty/index.json +4 -0
- package/dist/empty/index.wxml +22 -0
- package/dist/empty/index.wxs +15 -0
- package/dist/empty/index.wxss +1 -0
- package/dist/field/index.d.ts +1 -0
- package/dist/field/index.js +138 -0
- package/dist/field/index.json +7 -0
- package/dist/field/index.wxml +56 -0
- package/dist/field/index.wxs +18 -0
- package/dist/field/index.wxss +1 -0
- package/dist/field/input.wxml +31 -0
- package/dist/field/props.d.ts +4 -0
- package/dist/field/props.js +56 -0
- package/dist/field/textarea.wxml +32 -0
- package/dist/field/types.d.ts +8 -0
- package/dist/field/types.js +1 -0
- package/dist/goods-action/index.d.ts +1 -0
- package/dist/goods-action/index.js +15 -0
- package/dist/goods-action/index.json +3 -0
- package/dist/goods-action/index.wxml +5 -0
- package/dist/goods-action/index.wxss +1 -0
- package/dist/goods-action-button/index.d.ts +1 -0
- package/dist/goods-action-button/index.js +44 -0
- package/dist/goods-action-button/index.json +6 -0
- package/dist/goods-action-button/index.wxml +35 -0
- package/dist/goods-action-button/index.wxss +1 -0
- package/dist/goods-action-icon/index.d.ts +1 -0
- package/dist/goods-action-icon/index.js +27 -0
- package/dist/goods-action-icon/index.json +7 -0
- package/dist/goods-action-icon/index.wxml +41 -0
- package/dist/goods-action-icon/index.wxss +1 -0
- package/dist/grid/index.d.ts +1 -0
- package/dist/grid/index.js +55 -0
- package/dist/grid/index.json +3 -0
- package/dist/grid/index.wxml +8 -0
- package/dist/grid/index.wxs +13 -0
- package/dist/grid/index.wxss +1 -0
- package/dist/grid-item/index.d.ts +1 -0
- package/dist/grid-item/index.js +52 -0
- package/dist/grid-item/index.json +6 -0
- package/dist/grid-item/index.wxml +27 -0
- package/dist/grid-item/index.wxs +32 -0
- package/dist/grid-item/index.wxss +1 -0
- package/dist/icon/index.d.ts +1 -0
- package/dist/icon/index.js +21 -0
- package/dist/icon/index.json +6 -0
- package/dist/icon/index.wxml +20 -0
- package/dist/icon/index.wxs +43 -0
- package/dist/icon/index.wxss +1 -0
- package/dist/image/index.d.ts +1 -0
- package/dist/image/index.js +64 -0
- package/dist/image/index.json +7 -0
- package/dist/image/index.wxml +35 -0
- package/dist/image/index.wxs +32 -0
- package/dist/image/index.wxss +1 -0
- package/dist/index-anchor/index.d.ts +1 -0
- package/dist/index-anchor/index.js +25 -0
- package/dist/index-anchor/index.json +3 -0
- package/dist/index-anchor/index.wxml +14 -0
- package/dist/index-anchor/index.wxss +1 -0
- package/dist/index-bar/index.d.ts +1 -0
- package/dist/index-bar/index.js +246 -0
- package/dist/index-bar/index.json +3 -0
- package/dist/index-bar/index.wxml +22 -0
- package/dist/index-bar/index.wxss +1 -0
- package/dist/info/index.d.ts +1 -0
- package/dist/info/index.js +8 -0
- package/dist/info/index.json +3 -0
- package/dist/info/index.wxml +7 -0
- package/dist/info/index.wxss +1 -0
- package/dist/loading/index.d.ts +1 -0
- package/dist/loading/index.js +16 -0
- package/dist/loading/index.json +3 -0
- package/dist/loading/index.wxml +19 -0
- package/dist/loading/index.wxs +22 -0
- package/dist/loading/index.wxss +1 -0
- package/dist/mixins/basic.d.ts +1 -0
- package/dist/mixins/basic.js +26 -0
- package/dist/mixins/button.d.ts +1 -0
- package/dist/mixins/button.js +51 -0
- package/dist/mixins/link.d.ts +1 -0
- package/dist/mixins/link.js +23 -0
- package/dist/mixins/page-scroll.d.ts +6 -0
- package/dist/mixins/page-scroll.js +42 -0
- package/dist/mixins/touch.d.ts +1 -0
- package/dist/mixins/touch.js +37 -0
- package/dist/mixins/transition.d.ts +1 -0
- package/dist/mixins/transition.js +136 -0
- package/dist/nav-bar/index.d.ts +1 -0
- package/dist/nav-bar/index.js +65 -0
- package/dist/nav-bar/index.json +6 -0
- package/dist/nav-bar/index.wxml +42 -0
- package/dist/nav-bar/index.wxs +13 -0
- package/dist/nav-bar/index.wxss +1 -0
- package/dist/notice-bar/index.d.ts +1 -0
- package/dist/notice-bar/index.js +132 -0
- package/dist/notice-bar/index.json +6 -0
- package/dist/notice-bar/index.wxml +38 -0
- package/dist/notice-bar/index.wxs +15 -0
- package/dist/notice-bar/index.wxss +1 -0
- package/dist/notify/index.d.ts +1 -0
- package/dist/notify/index.js +65 -0
- package/dist/notify/index.json +6 -0
- package/dist/notify/index.wxml +21 -0
- package/dist/notify/index.wxs +22 -0
- package/dist/notify/index.wxss +1 -0
- package/dist/notify/notify.d.ts +22 -0
- package/dist/notify/notify.js +53 -0
- package/dist/overlay/index.d.ts +1 -0
- package/dist/overlay/index.js +30 -0
- package/dist/overlay/index.json +6 -0
- package/dist/overlay/index.wxml +7 -0
- package/dist/overlay/index.wxss +1 -0
- package/dist/overlay/overlay.wxml +10 -0
- package/dist/panel/index.d.ts +1 -0
- package/dist/panel/index.js +9 -0
- package/dist/panel/index.json +6 -0
- package/dist/panel/index.wxml +19 -0
- package/dist/panel/index.wxss +1 -0
- package/dist/picker/index.d.ts +1 -0
- package/dist/picker/index.js +136 -0
- package/dist/picker/index.json +7 -0
- package/dist/picker/index.wxml +37 -0
- package/dist/picker/index.wxs +42 -0
- package/dist/picker/index.wxss +1 -0
- package/dist/picker/shared.d.ts +21 -0
- package/dist/picker/shared.js +21 -0
- package/dist/picker/toolbar.wxml +23 -0
- package/dist/picker-column/index.d.ts +1 -0
- package/dist/picker-column/index.js +118 -0
- package/dist/picker-column/index.json +3 -0
- package/dist/picker-column/index.wxml +23 -0
- package/dist/picker-column/index.wxs +36 -0
- package/dist/picker-column/index.wxss +1 -0
- package/dist/popup/index.d.ts +1 -0
- package/dist/popup/index.js +97 -0
- package/dist/popup/index.json +7 -0
- package/dist/popup/index.wxml +21 -0
- package/dist/popup/index.wxs +18 -0
- package/dist/popup/index.wxss +1 -0
- package/dist/popup/popup.wxml +16 -0
- package/dist/progress/index.d.ts +1 -0
- package/dist/progress/index.js +51 -0
- package/dist/progress/index.json +3 -0
- package/dist/progress/index.wxml +20 -0
- package/dist/progress/index.wxs +36 -0
- package/dist/progress/index.wxss +1 -0
- package/dist/radio/index.d.ts +1 -0
- package/dist/radio/index.js +66 -0
- package/dist/radio/index.json +6 -0
- package/dist/radio/index.wxml +30 -0
- package/dist/radio/index.wxs +33 -0
- package/dist/radio/index.wxss +1 -0
- package/dist/radio-group/index.d.ts +1 -0
- package/dist/radio-group/index.js +22 -0
- package/dist/radio-group/index.json +3 -0
- package/dist/radio-group/index.wxml +5 -0
- package/dist/radio-group/index.wxss +1 -0
- package/dist/rate/index.d.ts +1 -0
- package/dist/rate/index.js +78 -0
- package/dist/rate/index.json +6 -0
- package/dist/rate/index.wxml +35 -0
- package/dist/rate/index.wxss +1 -0
- package/dist/row/index.d.ts +1 -0
- package/dist/row/index.js +23 -0
- package/dist/row/index.json +3 -0
- package/dist/row/index.wxml +5 -0
- package/dist/row/index.wxs +18 -0
- package/dist/row/index.wxss +1 -0
- package/dist/search/index.d.ts +1 -0
- package/dist/search/index.js +97 -0
- package/dist/search/index.json +6 -0
- package/dist/search/index.wxml +54 -0
- package/dist/search/index.wxss +1 -0
- package/dist/share-sheet/index.d.ts +1 -0
- package/dist/share-sheet/index.js +59 -0
- package/dist/share-sheet/index.json +7 -0
- package/dist/share-sheet/index.wxml +47 -0
- package/dist/share-sheet/index.wxs +12 -0
- package/dist/share-sheet/index.wxss +1 -0
- package/dist/share-sheet/options.d.ts +1 -0
- package/dist/share-sheet/options.js +14 -0
- package/dist/share-sheet/options.json +3 -0
- package/dist/share-sheet/options.wxml +20 -0
- package/dist/share-sheet/options.wxs +14 -0
- package/dist/share-sheet/options.wxss +1 -0
- package/dist/sidebar/index.d.ts +1 -0
- package/dist/sidebar/index.js +34 -0
- package/dist/sidebar/index.json +3 -0
- package/dist/sidebar/index.wxml +3 -0
- package/dist/sidebar/index.wxss +1 -0
- package/dist/sidebar-item/index.d.ts +1 -0
- package/dist/sidebar-item/index.js +29 -0
- package/dist/sidebar-item/index.json +6 -0
- package/dist/sidebar-item/index.wxml +18 -0
- package/dist/sidebar-item/index.wxss +1 -0
- package/dist/skeleton/index.d.ts +1 -0
- package/dist/skeleton/index.js +46 -0
- package/dist/skeleton/index.json +4 -0
- package/dist/skeleton/index.wxml +29 -0
- package/dist/skeleton/index.wxss +1 -0
- package/dist/slider/index.d.ts +1 -0
- package/dist/slider/index.js +207 -0
- package/dist/slider/index.json +3 -0
- package/dist/slider/index.wxml +68 -0
- package/dist/slider/index.wxs +14 -0
- package/dist/slider/index.wxss +1 -0
- package/dist/stepper/index.d.ts +1 -0
- package/dist/stepper/index.js +184 -0
- package/dist/stepper/index.json +3 -0
- package/dist/stepper/index.wxml +43 -0
- package/dist/stepper/index.wxs +22 -0
- package/dist/stepper/index.wxss +1 -0
- package/dist/steps/index.d.ts +1 -0
- package/dist/steps/index.js +33 -0
- package/dist/steps/index.json +6 -0
- package/dist/steps/index.wxml +54 -0
- package/dist/steps/index.wxss +1 -0
- package/dist/sticky/index.d.ts +1 -0
- package/dist/sticky/index.js +120 -0
- package/dist/sticky/index.json +3 -0
- package/dist/sticky/index.wxml +8 -0
- package/dist/sticky/index.wxs +25 -0
- package/dist/sticky/index.wxss +1 -0
- package/dist/submit-bar/index.d.ts +1 -0
- package/dist/submit-bar/index.js +56 -0
- package/dist/submit-bar/index.json +7 -0
- package/dist/submit-bar/index.wxml +44 -0
- package/dist/submit-bar/index.wxss +1 -0
- package/dist/swipe-cell/index.d.ts +1 -0
- package/dist/swipe-cell/index.js +133 -0
- package/dist/swipe-cell/index.json +3 -0
- package/dist/swipe-cell/index.wxml +20 -0
- package/dist/swipe-cell/index.wxss +1 -0
- package/dist/switch/index.d.ts +1 -0
- package/dist/switch/index.js +36 -0
- package/dist/switch/index.json +6 -0
- package/dist/switch/index.wxml +16 -0
- package/dist/switch/index.wxs +26 -0
- package/dist/switch/index.wxss +1 -0
- package/dist/tab/index.d.ts +1 -0
- package/dist/tab/index.js +56 -0
- package/dist/tab/index.json +3 -0
- package/dist/tab/index.wxml +8 -0
- package/dist/tab/index.wxss +1 -0
- package/dist/tabbar/index.d.ts +1 -0
- package/dist/tabbar/index.js +65 -0
- package/dist/tabbar/index.json +3 -0
- package/dist/tabbar/index.wxml +10 -0
- package/dist/tabbar/index.wxss +1 -0
- package/dist/tabbar-item/index.d.ts +1 -0
- package/dist/tabbar-item/index.js +68 -0
- package/dist/tabbar-item/index.json +7 -0
- package/dist/tabbar-item/index.wxml +28 -0
- package/dist/tabbar-item/index.wxss +1 -0
- package/dist/tabs/index.d.ts +1 -0
- package/dist/tabs/index.js +302 -0
- package/dist/tabs/index.json +7 -0
- package/dist/tabs/index.wxml +63 -0
- package/dist/tabs/index.wxs +83 -0
- package/dist/tabs/index.wxss +1 -0
- package/dist/tag/index.d.ts +1 -0
- package/dist/tag/index.js +21 -0
- package/dist/tag/index.json +6 -0
- package/dist/tag/index.wxml +15 -0
- package/dist/tag/index.wxs +13 -0
- package/dist/tag/index.wxss +1 -0
- package/dist/toast/index.d.ts +1 -0
- package/dist/toast/index.js +29 -0
- package/dist/toast/index.json +9 -0
- package/dist/toast/index.wxml +36 -0
- package/dist/toast/index.wxss +1 -0
- package/dist/toast/toast.d.ts +28 -0
- package/dist/toast/toast.js +68 -0
- package/dist/transition/index.d.ts +1 -0
- package/dist/transition/index.js +13 -0
- package/dist/transition/index.json +3 -0
- package/dist/transition/index.wxml +10 -0
- package/dist/transition/index.wxs +17 -0
- package/dist/transition/index.wxss +1 -0
- package/dist/tree-select/index.d.ts +1 -0
- package/dist/tree-select/index.js +68 -0
- package/dist/tree-select/index.json +8 -0
- package/dist/tree-select/index.wxml +41 -0
- package/dist/tree-select/index.wxs +12 -0
- package/dist/tree-select/index.wxss +1 -0
- package/dist/uploader/index.d.ts +1 -0
- package/dist/uploader/index.js +170 -0
- package/dist/uploader/index.json +7 -0
- package/dist/uploader/index.wxml +85 -0
- package/dist/uploader/index.wxs +17 -0
- package/dist/uploader/index.wxss +1 -0
- package/dist/uploader/shared.d.ts +61 -0
- package/dist/uploader/shared.js +65 -0
- package/dist/uploader/utils.d.ts +24 -0
- package/dist/uploader/utils.js +94 -0
- package/dist/wxs/add-unit.wxs +12 -0
- package/dist/wxs/array.wxs +5 -0
- package/dist/wxs/bem.wxs +39 -0
- package/dist/wxs/memoize.wxs +55 -0
- package/dist/wxs/object.wxs +13 -0
- package/dist/wxs/style.wxs +42 -0
- package/dist/wxs/utils.wxs +10 -0
- package/package.json +1 -1
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { VantComponent } from '../common/component';
|
|
2
|
+
import { touch } from '../mixins/touch';
|
|
3
|
+
import { canIUseModel } from '../common/version';
|
|
4
|
+
import { getRect, addUnit, nextTick, addNumber, clamp } from '../common/utils';
|
|
5
|
+
const DRAG_STATUS = {
|
|
6
|
+
START: 'start',
|
|
7
|
+
MOVING: 'moving',
|
|
8
|
+
END: 'end',
|
|
9
|
+
};
|
|
10
|
+
VantComponent({
|
|
11
|
+
mixins: [touch],
|
|
12
|
+
props: {
|
|
13
|
+
range: Boolean,
|
|
14
|
+
disabled: Boolean,
|
|
15
|
+
useButtonSlot: Boolean,
|
|
16
|
+
activeColor: String,
|
|
17
|
+
inactiveColor: String,
|
|
18
|
+
max: {
|
|
19
|
+
type: Number,
|
|
20
|
+
value: 100,
|
|
21
|
+
},
|
|
22
|
+
min: {
|
|
23
|
+
type: Number,
|
|
24
|
+
value: 0,
|
|
25
|
+
},
|
|
26
|
+
step: {
|
|
27
|
+
type: Number,
|
|
28
|
+
value: 1,
|
|
29
|
+
},
|
|
30
|
+
value: {
|
|
31
|
+
type: null,
|
|
32
|
+
value: 0,
|
|
33
|
+
observer(val) {
|
|
34
|
+
if (val !== this.value) {
|
|
35
|
+
this.updateValue(val);
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
vertical: Boolean,
|
|
40
|
+
barHeight: null,
|
|
41
|
+
},
|
|
42
|
+
created() {
|
|
43
|
+
this.updateValue(this.data.value);
|
|
44
|
+
},
|
|
45
|
+
methods: {
|
|
46
|
+
onTouchStart(event) {
|
|
47
|
+
if (this.data.disabled)
|
|
48
|
+
return;
|
|
49
|
+
const { index } = event.currentTarget.dataset;
|
|
50
|
+
if (typeof index === 'number') {
|
|
51
|
+
this.buttonIndex = index;
|
|
52
|
+
}
|
|
53
|
+
this.touchStart(event);
|
|
54
|
+
this.startValue = this.format(this.value);
|
|
55
|
+
this.newValue = this.value;
|
|
56
|
+
if (this.isRange(this.newValue)) {
|
|
57
|
+
this.startValue = this.newValue.map((val) => this.format(val));
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.startValue = this.format(this.newValue);
|
|
61
|
+
}
|
|
62
|
+
this.dragStatus = DRAG_STATUS.START;
|
|
63
|
+
},
|
|
64
|
+
onTouchMove(event) {
|
|
65
|
+
if (this.data.disabled)
|
|
66
|
+
return;
|
|
67
|
+
if (this.dragStatus === DRAG_STATUS.START) {
|
|
68
|
+
this.$emit('drag-start');
|
|
69
|
+
}
|
|
70
|
+
this.touchMove(event);
|
|
71
|
+
this.dragStatus = DRAG_STATUS.MOVING;
|
|
72
|
+
getRect(this, '.van-slider').then((rect) => {
|
|
73
|
+
const { vertical } = this.data;
|
|
74
|
+
const delta = vertical ? this.deltaY : this.deltaX;
|
|
75
|
+
const total = vertical ? rect.height : rect.width;
|
|
76
|
+
const diff = (delta / total) * this.getRange();
|
|
77
|
+
if (this.isRange(this.startValue)) {
|
|
78
|
+
this.newValue[this.buttonIndex] =
|
|
79
|
+
this.startValue[this.buttonIndex] + diff;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.newValue = this.startValue + diff;
|
|
83
|
+
}
|
|
84
|
+
this.updateValue(this.newValue, false, true);
|
|
85
|
+
});
|
|
86
|
+
},
|
|
87
|
+
onTouchEnd() {
|
|
88
|
+
if (this.data.disabled)
|
|
89
|
+
return;
|
|
90
|
+
if (this.dragStatus === DRAG_STATUS.MOVING) {
|
|
91
|
+
this.dragStatus = DRAG_STATUS.END;
|
|
92
|
+
nextTick(() => {
|
|
93
|
+
this.updateValue(this.newValue, true);
|
|
94
|
+
this.$emit('drag-end');
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
onClick(event) {
|
|
99
|
+
if (this.data.disabled)
|
|
100
|
+
return;
|
|
101
|
+
const { min } = this.data;
|
|
102
|
+
getRect(this, '.van-slider').then((rect) => {
|
|
103
|
+
const { vertical } = this.data;
|
|
104
|
+
const touch = event.touches[0];
|
|
105
|
+
const delta = vertical
|
|
106
|
+
? touch.clientY - rect.top
|
|
107
|
+
: touch.clientX - rect.left;
|
|
108
|
+
const total = vertical ? rect.height : rect.width;
|
|
109
|
+
const value = Number(min) + (delta / total) * this.getRange();
|
|
110
|
+
if (this.isRange(this.value)) {
|
|
111
|
+
const [left, right] = this.value;
|
|
112
|
+
const middle = (left + right) / 2;
|
|
113
|
+
if (value <= middle) {
|
|
114
|
+
this.updateValue([value, right], true);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.updateValue([left, value], true);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.updateValue(value, true);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
},
|
|
125
|
+
isRange(val) {
|
|
126
|
+
const { range } = this.data;
|
|
127
|
+
return range && Array.isArray(val);
|
|
128
|
+
},
|
|
129
|
+
handleOverlap(value) {
|
|
130
|
+
if (value[0] > value[1]) {
|
|
131
|
+
return value.slice(0).reverse();
|
|
132
|
+
}
|
|
133
|
+
return value;
|
|
134
|
+
},
|
|
135
|
+
updateValue(value, end, drag) {
|
|
136
|
+
if (this.isRange(value)) {
|
|
137
|
+
value = this.handleOverlap(value).map((val) => this.format(val));
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
value = this.format(value);
|
|
141
|
+
}
|
|
142
|
+
this.value = value;
|
|
143
|
+
const { vertical } = this.data;
|
|
144
|
+
const mainAxis = vertical ? 'height' : 'width';
|
|
145
|
+
this.setData({
|
|
146
|
+
wrapperStyle: `
|
|
147
|
+
background: ${this.data.inactiveColor || ''};
|
|
148
|
+
${vertical ? 'width' : 'height'}: ${addUnit(this.data.barHeight) || ''};
|
|
149
|
+
`,
|
|
150
|
+
barStyle: `
|
|
151
|
+
${mainAxis}: ${this.calcMainAxis()};
|
|
152
|
+
left: ${vertical ? 0 : this.calcOffset()};
|
|
153
|
+
top: ${vertical ? this.calcOffset() : 0};
|
|
154
|
+
${drag ? 'transition: none;' : ''}
|
|
155
|
+
`,
|
|
156
|
+
});
|
|
157
|
+
if (drag) {
|
|
158
|
+
this.$emit('drag', { value });
|
|
159
|
+
}
|
|
160
|
+
if (end) {
|
|
161
|
+
this.$emit('change', value);
|
|
162
|
+
}
|
|
163
|
+
if ((drag || end) && canIUseModel()) {
|
|
164
|
+
this.setData({ value });
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
getScope() {
|
|
168
|
+
return Number(this.data.max) - Number(this.data.min);
|
|
169
|
+
},
|
|
170
|
+
getRange() {
|
|
171
|
+
const { max, min } = this.data;
|
|
172
|
+
return max - min;
|
|
173
|
+
},
|
|
174
|
+
getOffsetWidth(current, min) {
|
|
175
|
+
const scope = this.getScope();
|
|
176
|
+
// 避免最小值小于最小step时出现负数情况
|
|
177
|
+
return `${Math.max(((current - min) * 100) / scope, 0)}%`;
|
|
178
|
+
},
|
|
179
|
+
// 计算选中条的长度百分比
|
|
180
|
+
calcMainAxis() {
|
|
181
|
+
const { value } = this;
|
|
182
|
+
const { min } = this.data;
|
|
183
|
+
if (this.isRange(value)) {
|
|
184
|
+
return this.getOffsetWidth(value[1], value[0]);
|
|
185
|
+
}
|
|
186
|
+
return this.getOffsetWidth(value, Number(min));
|
|
187
|
+
},
|
|
188
|
+
// 计算选中条的开始位置的偏移量
|
|
189
|
+
calcOffset() {
|
|
190
|
+
const { value } = this;
|
|
191
|
+
const { min } = this.data;
|
|
192
|
+
const scope = this.getScope();
|
|
193
|
+
if (this.isRange(value)) {
|
|
194
|
+
return `${((value[0] - Number(min)) * 100) / scope}%`;
|
|
195
|
+
}
|
|
196
|
+
return '0%';
|
|
197
|
+
},
|
|
198
|
+
format(value) {
|
|
199
|
+
const min = +this.data.min;
|
|
200
|
+
const max = +this.data.max;
|
|
201
|
+
const step = +this.data.step;
|
|
202
|
+
value = clamp(value, min, max);
|
|
203
|
+
const diff = Math.round((value - min) / step) * step;
|
|
204
|
+
return addNumber(min, diff);
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
});
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<wxs src="../wxs/utils.wxs" module="utils" />
|
|
2
|
+
<wxs src="../wxs/style.wxs" module="style" />
|
|
3
|
+
|
|
4
|
+
<view
|
|
5
|
+
class="custom-class {{ utils.bem('slider', { disabled, vertical }) }}"
|
|
6
|
+
style="{{ wrapperStyle }}"
|
|
7
|
+
bind:tap="onClick"
|
|
8
|
+
>
|
|
9
|
+
<view
|
|
10
|
+
class="{{ utils.bem('slider__bar') }}"
|
|
11
|
+
style="{{ barStyle }}; {{ style({ backgroundColor: activeColor }) }}"
|
|
12
|
+
>
|
|
13
|
+
<view
|
|
14
|
+
wx:if="{{ range }}"
|
|
15
|
+
class="{{ utils.bem('slider__button-wrapper-left') }}"
|
|
16
|
+
data-index="{{ 0 }}"
|
|
17
|
+
bind:touchstart="onTouchStart"
|
|
18
|
+
catch:touchmove="onTouchMove"
|
|
19
|
+
bind:touchend="onTouchEnd"
|
|
20
|
+
bind:touchcancel="onTouchEnd"
|
|
21
|
+
>
|
|
22
|
+
<slot
|
|
23
|
+
wx:if="{{ useButtonSlot }}"
|
|
24
|
+
name="left-button"
|
|
25
|
+
/>
|
|
26
|
+
<view
|
|
27
|
+
wx:else
|
|
28
|
+
class="{{ utils.bem('slider__button') }}"
|
|
29
|
+
/>
|
|
30
|
+
</view>
|
|
31
|
+
<view
|
|
32
|
+
wx:if="{{ range }}"
|
|
33
|
+
class="{{ utils.bem('slider__button-wrapper-right') }}"
|
|
34
|
+
data-index="{{ 1 }}"
|
|
35
|
+
bind:touchstart="onTouchStart"
|
|
36
|
+
catch:touchmove="onTouchMove"
|
|
37
|
+
bind:touchend="onTouchEnd"
|
|
38
|
+
bind:touchcancel="onTouchEnd"
|
|
39
|
+
>
|
|
40
|
+
<slot
|
|
41
|
+
wx:if="{{ useButtonSlot }}"
|
|
42
|
+
name="right-button"
|
|
43
|
+
/>
|
|
44
|
+
<view
|
|
45
|
+
wx:else
|
|
46
|
+
class="{{ utils.bem('slider__button') }}"
|
|
47
|
+
/>
|
|
48
|
+
</view>
|
|
49
|
+
|
|
50
|
+
<view
|
|
51
|
+
wx:if="{{ !range }}"
|
|
52
|
+
class="{{ utils.bem('slider__button-wrapper') }}"
|
|
53
|
+
bind:touchstart="onTouchStart"
|
|
54
|
+
catch:touchmove="onTouchMove"
|
|
55
|
+
bind:touchend="onTouchEnd"
|
|
56
|
+
bind:touchcancel="onTouchEnd"
|
|
57
|
+
>
|
|
58
|
+
<slot
|
|
59
|
+
wx:if="{{ useButtonSlot }}"
|
|
60
|
+
name="button"
|
|
61
|
+
/>
|
|
62
|
+
<view
|
|
63
|
+
wx:else
|
|
64
|
+
class="{{ utils.bem('slider__button') }}"
|
|
65
|
+
/>
|
|
66
|
+
</view>
|
|
67
|
+
</view>
|
|
68
|
+
</view>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
var style = require('../wxs/style.wxs');
|
|
3
|
+
var addUnit = require('../wxs/add-unit.wxs');
|
|
4
|
+
|
|
5
|
+
function barStyle(barHeight, activeColor) {
|
|
6
|
+
return style({
|
|
7
|
+
height: addUnit(barHeight),
|
|
8
|
+
background: activeColor,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
module.exports = {
|
|
13
|
+
barStyle: barStyle,
|
|
14
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-slider{background-color:var(--slider-inactive-background-color,#ebedf0);border-radius:999px;height:var(--slider-bar-height,2px);position:relative}.van-slider:before{bottom:calc(var(--padding-xs, 8px)*-1);content:"";left:0;position:absolute;right:0;top:calc(var(--padding-xs, 8px)*-1)}.van-slider__bar{background-color:var(--slider-active-background-color,#1989fa);border-radius:inherit;height:100%;position:relative;transition:all .2s;width:100%}.van-slider__button{background-color:var(--slider-button-background-color,#fff);border-radius:var(--slider-button-border-radius,50%);box-shadow:var(--slider-button-box-shadow,0 1px 2px rgba(0,0,0,.5));height:var(--slider-button-height,24px);width:var(--slider-button-width,24px)}.van-slider__button-wrapper,.van-slider__button-wrapper-right{position:absolute;right:0;top:50%;transform:translate3d(50%,-50%,0)}.van-slider__button-wrapper-left{left:0;position:absolute;top:50%;transform:translate3d(-50%,-50%,0)}.van-slider--disabled{opacity:var(--slider-disabled-opacity,.5)}.van-slider--vertical{display:inline-block;height:100%;width:var(--slider-bar-height,2px)}.van-slider--vertical .van-slider__button-wrapper,.van-slider--vertical .van-slider__button-wrapper-right{bottom:0;right:50%;top:auto;transform:translate3d(50%,50%,0)}.van-slider--vertical .van-slider__button-wrapper-left{left:auto;right:50%;top:0;transform:translate3d(50%,-50%,0)}.van-slider--vertical:before{bottom:0;left:-8px;right:-8px;top:0}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { VantComponent } from '../common/component';
|
|
2
|
+
import { isDef } from '../common/validator';
|
|
3
|
+
const LONG_PRESS_START_TIME = 600;
|
|
4
|
+
const LONG_PRESS_INTERVAL = 200;
|
|
5
|
+
// add num and avoid float number
|
|
6
|
+
function add(num1, num2) {
|
|
7
|
+
const cardinal = Math.pow(10, 10);
|
|
8
|
+
return Math.round((num1 + num2) * cardinal) / cardinal;
|
|
9
|
+
}
|
|
10
|
+
function equal(value1, value2) {
|
|
11
|
+
return String(value1) === String(value2);
|
|
12
|
+
}
|
|
13
|
+
VantComponent({
|
|
14
|
+
field: true,
|
|
15
|
+
classes: ['input-class', 'plus-class', 'minus-class'],
|
|
16
|
+
props: {
|
|
17
|
+
value: {
|
|
18
|
+
type: null,
|
|
19
|
+
},
|
|
20
|
+
integer: {
|
|
21
|
+
type: Boolean,
|
|
22
|
+
observer: 'check',
|
|
23
|
+
},
|
|
24
|
+
disabled: Boolean,
|
|
25
|
+
inputWidth: String,
|
|
26
|
+
buttonSize: String,
|
|
27
|
+
asyncChange: Boolean,
|
|
28
|
+
disableInput: Boolean,
|
|
29
|
+
decimalLength: {
|
|
30
|
+
type: Number,
|
|
31
|
+
value: null,
|
|
32
|
+
observer: 'check',
|
|
33
|
+
},
|
|
34
|
+
min: {
|
|
35
|
+
type: null,
|
|
36
|
+
value: 1,
|
|
37
|
+
observer: 'check',
|
|
38
|
+
},
|
|
39
|
+
max: {
|
|
40
|
+
type: null,
|
|
41
|
+
value: Number.MAX_SAFE_INTEGER,
|
|
42
|
+
observer: 'check',
|
|
43
|
+
},
|
|
44
|
+
step: {
|
|
45
|
+
type: null,
|
|
46
|
+
value: 1,
|
|
47
|
+
},
|
|
48
|
+
showPlus: {
|
|
49
|
+
type: Boolean,
|
|
50
|
+
value: true,
|
|
51
|
+
},
|
|
52
|
+
showMinus: {
|
|
53
|
+
type: Boolean,
|
|
54
|
+
value: true,
|
|
55
|
+
},
|
|
56
|
+
disablePlus: Boolean,
|
|
57
|
+
disableMinus: Boolean,
|
|
58
|
+
longPress: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
value: true,
|
|
61
|
+
},
|
|
62
|
+
theme: String,
|
|
63
|
+
alwaysEmbed: Boolean,
|
|
64
|
+
},
|
|
65
|
+
data: {
|
|
66
|
+
currentValue: '',
|
|
67
|
+
},
|
|
68
|
+
watch: {
|
|
69
|
+
value() {
|
|
70
|
+
this.observeValue();
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
created() {
|
|
74
|
+
this.setData({
|
|
75
|
+
currentValue: this.format(this.data.value).newValue,
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
methods: {
|
|
79
|
+
observeValue() {
|
|
80
|
+
const { value } = this.data;
|
|
81
|
+
this.setData({ currentValue: this.format(value).newValue });
|
|
82
|
+
},
|
|
83
|
+
check() {
|
|
84
|
+
const { newValue } = this.format(this.data.currentValue);
|
|
85
|
+
if (!equal(newValue, this.data.currentValue)) {
|
|
86
|
+
this.setData({ currentValue: newValue });
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
isDisabled(type) {
|
|
90
|
+
const { disabled, disablePlus, disableMinus, currentValue, max, min } = this.data;
|
|
91
|
+
if (type === 'plus') {
|
|
92
|
+
return disabled || disablePlus || +currentValue >= +max;
|
|
93
|
+
}
|
|
94
|
+
return disabled || disableMinus || +currentValue <= +min;
|
|
95
|
+
},
|
|
96
|
+
onFocus(event) {
|
|
97
|
+
this.$emit('focus', event.detail);
|
|
98
|
+
},
|
|
99
|
+
onBlur(event) {
|
|
100
|
+
const data = this.format(event.detail.value);
|
|
101
|
+
this.setData({ currentValue: data.newValue });
|
|
102
|
+
this.emitChange(data);
|
|
103
|
+
this.$emit('blur', Object.assign(Object.assign({}, event.detail), { value: +data.newValue }));
|
|
104
|
+
},
|
|
105
|
+
// filter illegal characters
|
|
106
|
+
filter(value) {
|
|
107
|
+
value = String(value).replace(/[^0-9.-]/g, '');
|
|
108
|
+
if (this.data.integer && value.indexOf('.') !== -1) {
|
|
109
|
+
value = value.split('.')[0];
|
|
110
|
+
}
|
|
111
|
+
return value;
|
|
112
|
+
},
|
|
113
|
+
format(value) {
|
|
114
|
+
// filter illegal characters and format integer
|
|
115
|
+
const safeValue = this.filter(value);
|
|
116
|
+
// format range
|
|
117
|
+
const rangeValue = Math.max(Math.min(this.data.max, +safeValue), this.data.min);
|
|
118
|
+
// format decimal
|
|
119
|
+
const newValue = isDef(this.data.decimalLength)
|
|
120
|
+
? rangeValue.toFixed(this.data.decimalLength)
|
|
121
|
+
: String(rangeValue);
|
|
122
|
+
return { value, newValue };
|
|
123
|
+
},
|
|
124
|
+
onInput(event) {
|
|
125
|
+
const { value = '' } = event.detail || {};
|
|
126
|
+
// allow input to be empty
|
|
127
|
+
if (value === '') {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const formatted = this.format(value);
|
|
131
|
+
this.emitChange(formatted);
|
|
132
|
+
},
|
|
133
|
+
emitChange(data) {
|
|
134
|
+
const { value, newValue } = data;
|
|
135
|
+
if (!this.data.asyncChange) {
|
|
136
|
+
// fix when input 11. parsed to 11, unable to enter decimal
|
|
137
|
+
this.setData({ currentValue: +value === +newValue ? value : newValue });
|
|
138
|
+
}
|
|
139
|
+
this.$emit('change', +newValue);
|
|
140
|
+
},
|
|
141
|
+
onChange() {
|
|
142
|
+
const { type } = this;
|
|
143
|
+
if (this.isDisabled(type)) {
|
|
144
|
+
this.$emit('overlimit', type);
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
const diff = type === 'minus' ? -this.data.step : +this.data.step;
|
|
148
|
+
const value = this.format(String(add(+this.data.currentValue, diff)));
|
|
149
|
+
this.emitChange(value);
|
|
150
|
+
this.$emit(type);
|
|
151
|
+
},
|
|
152
|
+
longPressStep() {
|
|
153
|
+
this.longPressTimer = setTimeout(() => {
|
|
154
|
+
this.onChange();
|
|
155
|
+
this.longPressStep();
|
|
156
|
+
}, LONG_PRESS_INTERVAL);
|
|
157
|
+
},
|
|
158
|
+
onTap(event) {
|
|
159
|
+
const { type } = event.currentTarget.dataset;
|
|
160
|
+
this.type = type;
|
|
161
|
+
this.onChange();
|
|
162
|
+
},
|
|
163
|
+
onTouchStart(event) {
|
|
164
|
+
if (!this.data.longPress) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
clearTimeout(this.longPressTimer);
|
|
168
|
+
const { type } = event.currentTarget.dataset;
|
|
169
|
+
this.type = type;
|
|
170
|
+
this.isLongPress = false;
|
|
171
|
+
this.longPressTimer = setTimeout(() => {
|
|
172
|
+
this.isLongPress = true;
|
|
173
|
+
this.onChange();
|
|
174
|
+
this.longPressStep();
|
|
175
|
+
}, LONG_PRESS_START_TIME);
|
|
176
|
+
},
|
|
177
|
+
onTouchEnd() {
|
|
178
|
+
if (!this.data.longPress) {
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
clearTimeout(this.longPressTimer);
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
});
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<wxs src="../wxs/utils.wxs" module="utils" />
|
|
2
|
+
<wxs src="./index.wxs" module="computed" />
|
|
3
|
+
|
|
4
|
+
<view class="{{ utils.bem('stepper', [theme]) }} custom-class">
|
|
5
|
+
<view
|
|
6
|
+
wx:if="{{ showMinus }}"
|
|
7
|
+
data-type="minus"
|
|
8
|
+
style="{{ computed.buttonStyle({ buttonSize }) }}"
|
|
9
|
+
class="minus-class {{ utils.bem('stepper__minus', { disabled: disabled || disableMinus || currentValue <= min }) }}"
|
|
10
|
+
hover-class="van-stepper__minus--hover"
|
|
11
|
+
hover-stay-time="70"
|
|
12
|
+
bind:tap="onTap"
|
|
13
|
+
bind:touchstart="onTouchStart"
|
|
14
|
+
bind:touchend="onTouchEnd"
|
|
15
|
+
>
|
|
16
|
+
<slot name="minus" />
|
|
17
|
+
</view>
|
|
18
|
+
<input
|
|
19
|
+
type="{{ integer ? 'number' : 'digit' }}"
|
|
20
|
+
class="input-class {{ utils.bem('stepper__input', { disabled: disabled || disableInput }) }}"
|
|
21
|
+
style="{{ computed.inputStyle({ buttonSize, inputWidth }) }}"
|
|
22
|
+
value="{{ currentValue }}"
|
|
23
|
+
focus="{{ focus }}"
|
|
24
|
+
disabled="{{ disabled || disableInput }}"
|
|
25
|
+
always-embed="{{ alwaysEmbed }}"
|
|
26
|
+
bindinput="onInput"
|
|
27
|
+
bind:focus="onFocus"
|
|
28
|
+
bind:blur="onBlur"
|
|
29
|
+
/>
|
|
30
|
+
<view
|
|
31
|
+
wx:if="{{ showPlus }}"
|
|
32
|
+
data-type="plus"
|
|
33
|
+
style="{{ computed.buttonStyle({ buttonSize }) }}"
|
|
34
|
+
class="plus-class {{ utils.bem('stepper__plus', { disabled: disabled || disablePlus || currentValue >= max }) }}"
|
|
35
|
+
hover-class="van-stepper__plus--hover"
|
|
36
|
+
hover-stay-time="70"
|
|
37
|
+
bind:tap="onTap"
|
|
38
|
+
bind:touchstart="onTouchStart"
|
|
39
|
+
bind:touchend="onTouchEnd"
|
|
40
|
+
>
|
|
41
|
+
<slot name="plus" />
|
|
42
|
+
</view>
|
|
43
|
+
</view>
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
var style = require('../wxs/style.wxs');
|
|
3
|
+
var addUnit = require('../wxs/add-unit.wxs');
|
|
4
|
+
|
|
5
|
+
function buttonStyle(data) {
|
|
6
|
+
return style({
|
|
7
|
+
width: addUnit(data.buttonSize),
|
|
8
|
+
height: addUnit(data.buttonSize),
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function inputStyle(data) {
|
|
13
|
+
return style({
|
|
14
|
+
width: addUnit(data.inputWidth),
|
|
15
|
+
height: addUnit(data.buttonSize),
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
module.exports = {
|
|
20
|
+
buttonStyle: buttonStyle,
|
|
21
|
+
inputStyle: inputStyle,
|
|
22
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-stepper{font-size:0}.van-stepper__minus,.van-stepper__plus{background-color:var(--stepper-background-color,#f2f3f5);border:0;box-sizing:border-box;color:var(--stepper-button-icon-color,#323233);display:inline-block;height:var(--stepper-input-height,28px);margin:1px;padding:var(--padding-base,4px);position:relative;vertical-align:middle;width:var(--stepper-input-height,28px)}.van-stepper__minus:before,.van-stepper__plus:before{height:1px;width:9px}.van-stepper__minus:after,.van-stepper__plus:after{height:9px;width:1px}.van-stepper__minus:empty.van-stepper__minus:after,.van-stepper__minus:empty.van-stepper__minus:before,.van-stepper__minus:empty.van-stepper__plus:after,.van-stepper__minus:empty.van-stepper__plus:before,.van-stepper__plus:empty.van-stepper__minus:after,.van-stepper__plus:empty.van-stepper__minus:before,.van-stepper__plus:empty.van-stepper__plus:after,.van-stepper__plus:empty.van-stepper__plus:before{background-color:currentColor;bottom:0;content:"";left:0;margin:auto;position:absolute;right:0;top:0}.van-stepper__minus--hover,.van-stepper__plus--hover{background-color:var(--stepper-active-color,#e8e8e8)}.van-stepper__minus--disabled,.van-stepper__plus--disabled{color:var(--stepper-button-disabled-icon-color,#c8c9cc)}.van-stepper__minus--disabled,.van-stepper__minus--disabled.van-stepper__minus--hover,.van-stepper__minus--disabled.van-stepper__plus--hover,.van-stepper__plus--disabled,.van-stepper__plus--disabled.van-stepper__minus--hover,.van-stepper__plus--disabled.van-stepper__plus--hover{background-color:var(--stepper-button-disabled-color,#f7f8fa)}.van-stepper__minus{border-radius:var(--stepper-border-radius,var(--stepper-border-radius,4px)) 0 0 var(--stepper-border-radius,var(--stepper-border-radius,4px))}.van-stepper__minus:after{display:none}.van-stepper__plus{border-radius:0 var(--stepper-border-radius,var(--stepper-border-radius,4px)) var(--stepper-border-radius,var(--stepper-border-radius,4px)) 0}.van-stepper--round .van-stepper__input{background-color:initial!important}.van-stepper--round .van-stepper__minus,.van-stepper--round .van-stepper__plus{border-radius:100%}.van-stepper--round .van-stepper__minus:active,.van-stepper--round .van-stepper__plus:active{opacity:.7}.van-stepper--round .van-stepper__minus--disabled,.van-stepper--round .van-stepper__minus--disabled:active,.van-stepper--round .van-stepper__plus--disabled,.van-stepper--round .van-stepper__plus--disabled:active{opacity:.3}.van-stepper--round .van-stepper__plus{background-color:#ee0a24;color:#fff}.van-stepper--round .van-stepper__minus{background-color:#fff;border:1px solid #ee0a24;color:#ee0a24}.van-stepper__input{-webkit-appearance:none;background-color:var(--stepper-background-color,#f2f3f5);border:0;border-radius:0;border-width:1px 0;box-sizing:border-box;color:var(--stepper-input-text-color,#323233);display:inline-block;font-size:var(--stepper-input-font-size,14px);height:var(--stepper-input-height,28px);margin:1px;min-height:0;padding:1px;text-align:center;vertical-align:middle;width:var(--stepper-input-width,32px)}.van-stepper__input--disabled{background-color:var(--stepper-input-disabled-background-color,#f2f3f5);color:var(--stepper-input-disabled-text-color,#c8c9cc)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { VantComponent } from '../common/component';
|
|
2
|
+
import { GREEN, GRAY_DARK } from '../common/color';
|
|
3
|
+
VantComponent({
|
|
4
|
+
classes: ['desc-class'],
|
|
5
|
+
props: {
|
|
6
|
+
icon: String,
|
|
7
|
+
steps: Array,
|
|
8
|
+
active: Number,
|
|
9
|
+
direction: {
|
|
10
|
+
type: String,
|
|
11
|
+
value: 'horizontal',
|
|
12
|
+
},
|
|
13
|
+
activeColor: {
|
|
14
|
+
type: String,
|
|
15
|
+
value: GREEN,
|
|
16
|
+
},
|
|
17
|
+
inactiveColor: {
|
|
18
|
+
type: String,
|
|
19
|
+
value: GRAY_DARK,
|
|
20
|
+
},
|
|
21
|
+
activeIcon: {
|
|
22
|
+
type: String,
|
|
23
|
+
value: 'checked',
|
|
24
|
+
},
|
|
25
|
+
inactiveIcon: String,
|
|
26
|
+
},
|
|
27
|
+
methods: {
|
|
28
|
+
onClick(event) {
|
|
29
|
+
const { index } = event.currentTarget.dataset;
|
|
30
|
+
this.$emit('click-step', index);
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
});
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<wxs src="../wxs/utils.wxs" module="utils" />
|
|
2
|
+
|
|
3
|
+
<view class="custom-class {{ utils.bem('steps', [direction]) }}">
|
|
4
|
+
<view class="van-step__wrapper">
|
|
5
|
+
<view
|
|
6
|
+
wx:for="{{ steps }}"
|
|
7
|
+
wx:key="index"
|
|
8
|
+
bindtap="onClick"
|
|
9
|
+
data-index="{{ index }}"
|
|
10
|
+
class="{{ utils.bem('step', [direction, status(index, active)]) }} van-hairline"
|
|
11
|
+
style="{{ status(index, active) === 'inactive' ? 'color: ' + inactiveColor: '' }}"
|
|
12
|
+
>
|
|
13
|
+
<view class="van-step__title" style="{{ index === active ? 'color: ' + activeColor : '' }}">
|
|
14
|
+
<view>{{ item.text }}</view>
|
|
15
|
+
<view class="desc-class">{{ item.desc }}</view>
|
|
16
|
+
</view>
|
|
17
|
+
<view class="van-step__circle-container">
|
|
18
|
+
<block wx:if="{{ index !== active }}">
|
|
19
|
+
<van-icon
|
|
20
|
+
wx:if="{{ item.inactiveIcon || inactiveIcon }}"
|
|
21
|
+
color="{{ status(index, active) === 'inactive' ? inactiveColor: activeColor }}"
|
|
22
|
+
name="{{ item.inactiveIcon || inactiveIcon }}"
|
|
23
|
+
class="van-step__icon"
|
|
24
|
+
/>
|
|
25
|
+
<view
|
|
26
|
+
wx:else
|
|
27
|
+
class="van-step__circle"
|
|
28
|
+
style="{{ 'background-color: ' + (index < active ? activeColor : inactiveColor) }}"
|
|
29
|
+
/>
|
|
30
|
+
</block>
|
|
31
|
+
|
|
32
|
+
<van-icon wx:else name="{{ item.activeIcon || activeIcon }}" color="{{ activeColor }}" class="van-step__icon" />
|
|
33
|
+
</view>
|
|
34
|
+
<view
|
|
35
|
+
wx:if="{{ index !== steps.length - 1 }}"
|
|
36
|
+
class="van-step__line" style="{{ 'background-color: ' + (index < active ? activeColor : inactiveColor) }}"
|
|
37
|
+
/>
|
|
38
|
+
</view>
|
|
39
|
+
</view>
|
|
40
|
+
</view>
|
|
41
|
+
|
|
42
|
+
<wxs module="status">
|
|
43
|
+
function get(index, active) {
|
|
44
|
+
if (index < active) {
|
|
45
|
+
return 'finish';
|
|
46
|
+
} else if (index === active) {
|
|
47
|
+
return 'process';
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
return 'inactive';
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
module.exports = get;
|
|
54
|
+
</wxs>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@import '../common/index.wxss';.van-steps{background-color:var(--steps-background-color,#fff);overflow:hidden}.van-steps--horizontal{padding:10px}.van-steps--horizontal .van-step__wrapper{display:flex;overflow:hidden;position:relative}.van-steps--vertical{padding-left:10px}.van-steps--vertical .van-step__wrapper{padding:0 0 0 20px}.van-step{color:var(--step-text-color,#969799);flex:1;font-size:var(--step-font-size,14px);position:relative}.van-step--finish{color:var(--step-finish-text-color,#323233)}.van-step__circle{background-color:var(--step-circle-color,#969799);border-radius:50%;height:var(--step-circle-size,5px);width:var(--step-circle-size,5px)}.van-step--horizontal{padding-bottom:14px}.van-step--horizontal:first-child .van-step__title{transform:none}.van-step--horizontal:first-child .van-step__circle-container{padding:0 8px 0 0;transform:translate3d(0,50%,0)}.van-step--horizontal:last-child{bottom:0;position:absolute;right:0;top:0;width:auto}.van-step--horizontal:last-child .van-step__title{text-align:right;transform:none}.van-step--horizontal:last-child .van-step__circle-container{padding:0 0 0 8px;right:0;transform:translate3d(0,50%,0)}.van-step--horizontal .van-step__circle-container{background-color:#fff;bottom:6px;padding:0 var(--padding-xs,8px);position:absolute;transform:translate3d(-50%,50%,0);z-index:1}.van-step--horizontal .van-step__title{display:inline-block;font-size:var(--step-horizontal-title-font-size,12px);transform:translate3d(-50%,0,0)}.van-step--horizontal .van-step__line{background-color:var(--step-line-color,#ebedf0);bottom:6px;height:1px;left:0;position:absolute;right:0;transform:translate3d(0,50%,0)}.van-step--horizontal.van-step--process{color:var(--step-process-text-color,#323233)}.van-step--horizontal.van-step--process .van-step__icon{display:block;font-size:var(--step-icon-size,12px);line-height:1}.van-step--vertical{line-height:18px;padding:10px 10px 10px 0}.van-step--vertical:after{border-bottom-width:1px}.van-step--vertical:last-child:after{border-bottom-width:none}.van-step--vertical:first-child:before{background-color:#fff;content:"";height:20px;left:-15px;position:absolute;top:0;width:1px;z-index:1}.van-step--vertical .van-step__circle,.van-step--vertical .van-step__icon,.van-step--vertical .van-step__line{left:-14px;position:absolute;top:19px;transform:translate3d(-50%,-50%,0);z-index:2}.van-step--vertical .van-step__icon{background-color:var(--steps-background-color,#fff);font-size:var(--step-icon-size,12px);line-height:1}.van-step--vertical .van-step__line{background-color:var(--step-line-color,#ebedf0);height:100%;transform:translate3d(-50%,0,0);width:1px;z-index:1}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|