@tuya-miniapp/smart-ui 2.6.4-beta-7 → 2.6.4-beta-9
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/dist/calendar/calendar.wxml +1 -1
- package/dist/common/style/clearfix.css +1 -0
- package/dist/common/style/clearfix.wxss +1 -0
- package/dist/common/style/ellipsis.css +1 -0
- package/dist/common/style/ellipsis.wxss +1 -0
- package/dist/common/style/hairline.css +1 -0
- package/dist/common/style/hairline.wxss +1 -0
- package/dist/common/style/mixins/clearfix.css +0 -0
- package/dist/common/style/mixins/clearfix.wxss +0 -0
- package/dist/common/style/mixins/ellipsis.css +0 -0
- package/dist/common/style/mixins/ellipsis.wxss +0 -0
- package/dist/common/style/mixins/hairline.css +1 -0
- package/dist/common/style/mixins/hairline.wxss +1 -0
- package/dist/common/style/var.css +1 -0
- package/dist/common/style/var.wxss +1 -0
- package/dist/datetime-picker/index.js +2 -2
- package/dist/image/index.js +1 -1
- package/dist/loading/index.css +1 -1
- package/dist/loading/index.js +5 -5
- package/dist/loading/index.wxs +5 -5
- package/dist/loading/index.wxss +1 -1
- package/dist/picker/index.css +1 -1
- package/dist/picker/index.js +11 -4
- package/dist/picker/index.wxml +4 -3
- package/dist/picker/index.wxs +1 -1
- package/dist/picker/index.wxss +1 -1
- package/dist/picker/shared.d.ts +11 -0
- package/dist/picker/shared.js +11 -0
- package/dist/picker-column/index.css +1 -1
- package/dist/picker-column/index.js +202 -266
- package/dist/picker-column/index.wxml +41 -24
- package/dist/picker-column/index.wxs +581 -43
- package/dist/picker-column/index.wxss +1 -1
- package/dist/popup/index.css +1 -0
- package/dist/popup/index.wxss +1 -0
- package/dist/rate/index.css +1 -0
- package/dist/rate/index.wxss +1 -0
- package/dist/row/index.css +1 -0
- package/dist/row/index.wxss +1 -0
- package/dist/search/index.css +1 -0
- package/dist/search/index.wxss +1 -0
- package/dist/sidebar/index.css +1 -0
- package/dist/sidebar/index.wxss +1 -0
- package/dist/sidebar-item/index.css +1 -0
- package/dist/sidebar-item/index.wxss +1 -0
- package/dist/skeleton/index.css +1 -0
- package/dist/skeleton/index.wxss +1 -0
- package/dist/slider/index.css +1 -0
- package/dist/slider/index.wxss +1 -0
- package/dist/stepper/index.css +1 -0
- package/dist/stepper/index.wxss +1 -0
- package/dist/steps/index.css +1 -0
- package/dist/steps/index.wxss +1 -0
- package/dist/sticky/index.css +1 -0
- package/dist/sticky/index.wxss +1 -0
- package/dist/swipe-cell/index.css +1 -0
- package/dist/swipe-cell/index.wxss +1 -0
- package/dist/switch/index.css +1 -0
- package/dist/switch/index.wxss +1 -0
- package/dist/tab/index.css +1 -0
- package/dist/tab/index.wxss +1 -0
- package/dist/tabbar/index.css +1 -0
- package/dist/tabbar/index.wxss +1 -0
- package/dist/tabbar-item/index.css +1 -0
- package/dist/tabbar-item/index.wxss +1 -0
- package/dist/tabs/index.css +1 -0
- package/dist/tabs/index.wxss +1 -0
- package/dist/tag/index.css +1 -0
- package/dist/tag/index.wxss +1 -0
- package/dist/toast/index.css +1 -0
- package/dist/toast/index.wxss +1 -0
- package/dist/transition/index.css +1 -0
- package/dist/transition/index.wxss +1 -0
- package/dist/tree-select/index.css +1 -0
- package/dist/tree-select/index.wxss +1 -0
- package/dist/wxs/utils.wxs +42 -1
- package/lib/action-sheet/index.css +1 -0
- package/lib/action-sheet/index.d.ts +1 -0
- package/lib/action-sheet/index.js +121 -0
- package/lib/action-sheet/index.json +8 -0
- package/lib/action-sheet/index.wxml +87 -0
- package/lib/action-sheet/index.wxss +1 -0
- package/lib/area/index.css +1 -0
- package/lib/area/index.d.ts +1 -0
- package/lib/area/index.js +234 -0
- package/lib/area/index.json +6 -0
- package/lib/area/index.wxml +20 -0
- package/lib/area/index.wxs +8 -0
- package/lib/area/index.wxss +1 -0
- package/lib/battery/index.d.ts +1 -0
- package/lib/battery/index.js +105 -0
- package/lib/battery/index.json +4 -0
- package/lib/battery/index.wxml +1 -0
- package/lib/bottom-sheet/index.css +1 -0
- package/lib/bottom-sheet/index.d.ts +1 -0
- package/lib/bottom-sheet/index.js +82 -0
- package/lib/bottom-sheet/index.json +8 -0
- package/lib/bottom-sheet/index.wxml +43 -0
- package/lib/bottom-sheet/index.wxs +12 -0
- package/lib/bottom-sheet/index.wxss +1 -0
- package/lib/button/index.css +1 -0
- package/lib/button/index.d.ts +1 -0
- package/lib/button/index.js +64 -0
- package/lib/button/index.json +7 -0
- package/lib/button/index.wxml +64 -0
- package/lib/button/index.wxs +39 -0
- package/lib/button/index.wxss +1 -0
- package/lib/calendar/calendar.wxml +84 -0
- package/lib/calendar/index.css +1 -0
- package/lib/calendar/index.d.ts +1 -0
- package/lib/calendar/index.js +465 -0
- package/lib/calendar/index.json +12 -0
- package/lib/calendar/index.wxml +25 -0
- package/lib/calendar/index.wxs +59 -0
- package/lib/calendar/index.wxss +1 -0
- package/lib/calendar-header/index.css +1 -0
- package/lib/calendar-header/index.d.ts +1 -0
- package/lib/calendar-header/index.js +75 -0
- package/lib/calendar-header/index.json +6 -0
- package/lib/calendar-header/index.wxml +27 -0
- package/lib/calendar-header/index.wxss +1 -0
- package/lib/calendar-month/index.css +1 -0
- package/lib/calendar-month/index.d.ts +1 -0
- package/lib/calendar-month/index.js +179 -0
- package/lib/calendar-month/index.json +3 -0
- package/lib/calendar-month/index.wxml +22 -0
- package/lib/calendar-month/index.wxs +73 -0
- package/lib/calendar-month/index.wxss +1 -0
- package/lib/calendar-month-list/index.css +1 -0
- package/lib/calendar-month-list/index.d.ts +1 -0
- package/lib/calendar-month-list/index.js +105 -0
- package/lib/calendar-month-list/index.json +7 -0
- package/lib/calendar-month-list/index.wxml +15 -0
- package/lib/calendar-month-list/index.wxss +1 -0
- package/lib/calendar-utils/types.d.ts +7 -0
- package/lib/calendar-utils/types.js +2 -0
- package/lib/calendar-utils/utils.d.ts +21 -0
- package/lib/calendar-utils/utils.js +175 -0
- package/lib/calendar-utils/utils.wxs +25 -0
- package/lib/calendar-year-list/index.css +1 -0
- package/lib/calendar-year-list/index.d.ts +1 -0
- package/lib/calendar-year-list/index.js +115 -0
- package/lib/calendar-year-list/index.json +7 -0
- package/lib/calendar-year-list/index.wxml +15 -0
- package/lib/calendar-year-list/index.wxss +1 -0
- package/lib/cascader/index.css +1 -0
- package/lib/cascader/index.d.ts +1 -0
- package/lib/cascader/index.js +207 -0
- package/lib/cascader/index.json +8 -0
- package/lib/cascader/index.wxml +56 -0
- package/lib/cascader/index.wxs +21 -0
- package/lib/cascader/index.wxss +1 -0
- package/lib/cell/index.css +1 -0
- package/lib/cell/index.d.ts +1 -0
- package/lib/cell/index.js +48 -0
- package/lib/cell/index.json +6 -0
- package/lib/cell/index.wxml +47 -0
- package/lib/cell/index.wxs +17 -0
- package/lib/cell/index.wxss +1 -0
- package/lib/cell-group/index.css +1 -0
- package/lib/cell-group/index.d.ts +1 -0
- package/lib/cell-group/index.js +14 -0
- package/lib/cell-group/index.json +3 -0
- package/lib/cell-group/index.wxml +15 -0
- package/lib/cell-group/index.wxs +14 -0
- package/lib/cell-group/index.wxss +1 -0
- package/lib/checkbox/index.css +1 -0
- package/lib/checkbox/index.d.ts +1 -0
- package/lib/checkbox/index.js +84 -0
- package/lib/checkbox/index.json +6 -0
- package/lib/checkbox/index.wxml +32 -0
- package/lib/checkbox/index.wxs +20 -0
- package/lib/checkbox/index.wxss +1 -0
- package/lib/checkbox-group/index.css +1 -0
- package/lib/checkbox-group/index.d.ts +1 -0
- package/lib/checkbox-group/index.js +39 -0
- package/lib/checkbox-group/index.json +3 -0
- package/lib/checkbox-group/index.wxml +5 -0
- package/lib/checkbox-group/index.wxss +1 -0
- package/lib/circle/index.css +1 -0
- package/lib/circle/index.d.ts +1 -0
- package/lib/circle/index.js +134 -0
- package/lib/circle/index.json +3 -0
- package/lib/circle/index.rjs +232 -0
- package/lib/circle/index.wxml +8 -0
- package/lib/circle/index.wxss +1 -0
- package/lib/col/index.css +1 -0
- package/lib/col/index.d.ts +1 -0
- package/lib/col/index.js +11 -0
- package/lib/col/index.json +3 -0
- package/lib/col/index.wxml +9 -0
- package/lib/col/index.wxs +18 -0
- package/lib/col/index.wxss +1 -0
- package/lib/collapse/index.css +1 -0
- package/lib/collapse/index.d.ts +1 -0
- package/lib/collapse/index.js +48 -0
- package/lib/collapse/index.json +3 -0
- package/lib/collapse/index.wxml +3 -0
- package/lib/collapse/index.wxss +1 -0
- package/lib/collapse-item/animate.d.ts +2 -0
- package/lib/collapse-item/animate.js +43 -0
- package/lib/collapse-item/index.css +1 -0
- package/lib/collapse-item/index.d.ts +1 -0
- package/lib/collapse-item/index.js +64 -0
- package/lib/collapse-item/index.json +6 -0
- package/lib/collapse-item/index.wxml +45 -0
- package/lib/collapse-item/index.wxss +1 -0
- package/lib/common/appLog.d.ts +10 -0
- package/lib/common/appLog.js +112 -0
- package/lib/common/color.d.ts +7 -0
- package/lib/common/color.js +10 -0
- package/lib/common/component.d.ts +4 -0
- package/lib/common/component.js +49 -0
- package/lib/common/index.css +1 -0
- package/lib/common/index.wxss +1 -0
- package/lib/common/relation.d.ts +15 -0
- package/lib/common/relation.js +65 -0
- package/lib/common/style/clearfix.css +1 -0
- package/lib/common/style/clearfix.wxss +1 -0
- package/lib/common/style/ellipsis.css +1 -0
- package/lib/common/style/ellipsis.wxss +1 -0
- package/lib/common/style/hairline.css +1 -0
- package/lib/common/style/hairline.wxss +1 -0
- package/lib/common/style/mixins/clearfix.css +0 -0
- package/lib/common/style/mixins/clearfix.wxss +0 -0
- package/lib/common/style/mixins/ellipsis.css +0 -0
- package/lib/common/style/mixins/ellipsis.wxss +0 -0
- package/lib/common/style/mixins/hairline.css +1 -0
- package/lib/common/style/mixins/hairline.wxss +1 -0
- package/lib/common/style/var.css +1 -0
- package/lib/common/style/var.wxss +1 -0
- package/lib/common/ty.d.ts +7 -0
- package/lib/common/ty.js +35 -0
- package/lib/common/utils.d.ts +24 -0
- package/lib/common/utils.js +140 -0
- package/lib/common/validator.d.ts +9 -0
- package/lib/common/validator.js +43 -0
- package/lib/common/version.d.ts +15 -0
- package/lib/common/version.js +70 -0
- package/lib/config-provider/index.d.ts +1 -0
- package/lib/config-provider/index.js +11 -0
- package/lib/config-provider/index.json +3 -0
- package/lib/config-provider/index.wxml +5 -0
- package/lib/config-provider/index.wxs +29 -0
- package/lib/count-down/index.css +1 -0
- package/lib/count-down/index.d.ts +1 -0
- package/lib/count-down/index.js +104 -0
- package/lib/count-down/index.json +3 -0
- package/lib/count-down/index.wxml +4 -0
- package/lib/count-down/index.wxss +1 -0
- package/lib/count-down/utils.d.ts +10 -0
- package/lib/count-down/utils.js +64 -0
- package/lib/custom-keyboard/index.css +1 -0
- package/lib/custom-keyboard/index.d.ts +1 -0
- package/lib/custom-keyboard/index.js +156 -0
- package/lib/custom-keyboard/index.json +9 -0
- package/lib/custom-keyboard/index.wxml +44 -0
- package/lib/custom-keyboard/index.wxss +1 -0
- package/lib/datetime-picker/index.css +1 -0
- package/lib/datetime-picker/index.d.ts +1 -0
- package/lib/datetime-picker/index.js +512 -0
- package/lib/datetime-picker/index.json +6 -0
- package/lib/datetime-picker/index.wxml +22 -0
- package/lib/datetime-picker/index.wxss +1 -0
- package/lib/definitions/index.d.ts +29 -0
- package/lib/definitions/index.js +2 -0
- package/lib/dialog/dialog.d.ts +74 -0
- package/lib/dialog/dialog.js +137 -0
- package/lib/dialog/index.css +1 -0
- package/lib/dialog/index.d.ts +1 -0
- package/lib/dialog/index.js +222 -0
- package/lib/dialog/index.json +10 -0
- package/lib/dialog/index.wxml +144 -0
- package/lib/dialog/index.wxss +1 -0
- package/lib/divider/index.css +1 -0
- package/lib/divider/index.d.ts +1 -0
- package/lib/divider/index.js +14 -0
- package/lib/divider/index.json +4 -0
- package/lib/divider/index.wxml +9 -0
- package/lib/divider/index.wxs +18 -0
- package/lib/divider/index.wxss +1 -0
- package/lib/dropdown-item/index.css +1 -0
- package/lib/dropdown-item/index.d.ts +1 -0
- package/lib/dropdown-item/index.js +150 -0
- package/lib/dropdown-item/index.json +8 -0
- package/lib/dropdown-item/index.wxml +52 -0
- package/lib/dropdown-item/index.wxss +1 -0
- package/lib/dropdown-item/shared.d.ts +5 -0
- package/lib/dropdown-item/shared.js +2 -0
- package/lib/dropdown-menu/index.css +1 -0
- package/lib/dropdown-menu/index.d.ts +1 -0
- package/lib/dropdown-menu/index.js +137 -0
- package/lib/dropdown-menu/index.json +6 -0
- package/lib/dropdown-menu/index.wxml +24 -0
- package/lib/dropdown-menu/index.wxs +16 -0
- package/lib/dropdown-menu/index.wxss +1 -0
- package/lib/empty/index.css +1 -0
- package/lib/empty/index.d.ts +1 -0
- package/lib/empty/index.js +31 -0
- package/lib/empty/index.json +4 -0
- package/lib/empty/index.wxml +22 -0
- package/lib/empty/index.wxs +13 -0
- package/lib/empty/index.wxss +1 -0
- package/lib/field/cell-input.wxml +59 -0
- package/lib/field/cell-textarea.wxml +28 -0
- package/lib/field/index.css +1 -0
- package/lib/field/index.d.ts +1 -0
- package/lib/field/index.js +158 -0
- package/lib/field/index.json +7 -0
- package/lib/field/index.wxml +4 -0
- package/lib/field/index.wxs +19 -0
- package/lib/field/index.wxss +1 -0
- package/lib/field/input.wxml +30 -0
- package/lib/field/props.d.ts +4 -0
- package/lib/field/props.js +59 -0
- package/lib/field/textarea.wxml +32 -0
- package/lib/field/types.d.ts +8 -0
- package/lib/field/types.js +2 -0
- package/lib/goods-action/index.css +1 -0
- package/lib/goods-action/index.d.ts +1 -0
- package/lib/goods-action/index.js +17 -0
- package/lib/goods-action/index.json +3 -0
- package/lib/goods-action/index.wxml +5 -0
- package/lib/goods-action/index.wxss +1 -0
- package/lib/goods-action-button/index.css +1 -0
- package/lib/goods-action-button/index.d.ts +1 -0
- package/lib/goods-action-button/index.js +46 -0
- package/lib/goods-action-button/index.json +6 -0
- package/lib/goods-action-button/index.wxml +35 -0
- package/lib/goods-action-button/index.wxss +1 -0
- package/lib/goods-action-icon/index.css +1 -0
- package/lib/goods-action-icon/index.d.ts +1 -0
- package/lib/goods-action-icon/index.js +29 -0
- package/lib/goods-action-icon/index.json +7 -0
- package/lib/goods-action-icon/index.wxml +41 -0
- package/lib/goods-action-icon/index.wxss +1 -0
- package/lib/grid/index.css +1 -0
- package/lib/grid/index.d.ts +1 -0
- package/lib/grid/index.js +57 -0
- package/lib/grid/index.json +3 -0
- package/lib/grid/index.wxml +8 -0
- package/lib/grid/index.wxs +13 -0
- package/lib/grid/index.wxss +1 -0
- package/lib/grid-item/index.css +1 -0
- package/lib/grid-item/index.d.ts +1 -0
- package/lib/grid-item/index.js +54 -0
- package/lib/grid-item/index.json +6 -0
- package/lib/grid-item/index.wxml +27 -0
- package/lib/grid-item/index.wxs +32 -0
- package/lib/grid-item/index.wxss +1 -0
- package/lib/icon/index.css +1 -0
- package/lib/icon/index.d.ts +1 -0
- package/lib/icon/index.js +23 -0
- package/lib/icon/index.json +6 -0
- package/lib/icon/index.wxml +30 -0
- package/lib/icon/index.wxs +98 -0
- package/lib/icon/index.wxss +1 -0
- package/lib/image/index.css +1 -0
- package/lib/image/index.d.ts +1 -0
- package/lib/image/index.js +75 -0
- package/lib/image/index.json +7 -0
- package/lib/image/index.wxml +40 -0
- package/lib/image/index.wxs +42 -0
- package/lib/image/index.wxss +1 -0
- package/lib/index-anchor/index.css +1 -0
- package/lib/index-anchor/index.d.ts +1 -0
- package/lib/index-anchor/index.js +28 -0
- package/lib/index-anchor/index.json +3 -0
- package/lib/index-anchor/index.wxml +14 -0
- package/lib/index-anchor/index.wxss +1 -0
- package/lib/index-bar/index.css +1 -0
- package/lib/index-bar/index.d.ts +1 -0
- package/lib/index-bar/index.js +244 -0
- package/lib/index-bar/index.json +3 -0
- package/lib/index-bar/index.wxml +22 -0
- package/lib/index-bar/index.wxss +1 -0
- package/lib/info/index.css +1 -0
- package/lib/info/index.d.ts +1 -0
- package/lib/info/index.js +10 -0
- package/lib/info/index.json +3 -0
- package/lib/info/index.wxml +7 -0
- package/lib/info/index.wxss +1 -0
- package/lib/loading/index.css +1 -0
- package/lib/loading/index.d.ts +1 -0
- package/lib/loading/index.js +44 -0
- package/lib/loading/index.json +3 -0
- package/lib/loading/index.wxml +17 -0
- package/lib/loading/index.wxs +38 -0
- package/lib/loading/index.wxss +1 -0
- package/lib/mixins/basic.d.ts +1 -0
- package/lib/mixins/basic.js +30 -0
- package/lib/mixins/button.d.ts +1 -0
- package/lib/mixins/button.js +54 -0
- package/lib/mixins/link.d.ts +1 -0
- package/lib/mixins/link.js +26 -0
- package/lib/mixins/page-scroll.d.ts +6 -0
- package/lib/mixins/page-scroll.js +47 -0
- package/lib/mixins/touch.d.ts +1 -0
- package/lib/mixins/touch.js +39 -0
- package/lib/mixins/transition.d.ts +1 -0
- package/lib/mixins/transition.js +235 -0
- package/lib/nav-bar/index.css +1 -0
- package/lib/nav-bar/index.d.ts +1 -0
- package/lib/nav-bar/index.js +116 -0
- package/lib/nav-bar/index.json +6 -0
- package/lib/nav-bar/index.wxml +70 -0
- package/lib/nav-bar/index.wxs +14 -0
- package/lib/nav-bar/index.wxss +1 -0
- package/lib/normal-slider/index.css +1 -0
- package/lib/normal-slider/index.d.ts +1 -0
- package/lib/normal-slider/index.js +160 -0
- package/lib/normal-slider/index.json +6 -0
- package/lib/normal-slider/index.wxml +35 -0
- package/lib/normal-slider/index.wxss +1 -0
- package/lib/notice-bar/index.css +1 -0
- package/lib/notice-bar/index.d.ts +1 -0
- package/lib/notice-bar/index.js +178 -0
- package/lib/notice-bar/index.json +6 -0
- package/lib/notice-bar/index.wxml +52 -0
- package/lib/notice-bar/index.wxs +11 -0
- package/lib/notice-bar/index.wxss +1 -0
- package/lib/notify/index.css +1 -0
- package/lib/notify/index.d.ts +1 -0
- package/lib/notify/index.js +80 -0
- package/lib/notify/index.json +6 -0
- package/lib/notify/index.wxml +22 -0
- package/lib/notify/index.wxs +22 -0
- package/lib/notify/index.wxss +1 -0
- package/lib/notify/notify.d.ts +29 -0
- package/lib/notify/notify.js +72 -0
- package/lib/overlay/index.css +1 -0
- package/lib/overlay/index.d.ts +1 -0
- package/lib/overlay/index.js +32 -0
- package/lib/overlay/index.json +6 -0
- package/lib/overlay/index.wxml +7 -0
- package/lib/overlay/index.wxss +1 -0
- package/lib/overlay/overlay.wxml +10 -0
- package/lib/picker/index.css +1 -0
- package/lib/picker/index.d.ts +1 -0
- package/lib/picker/index.js +193 -0
- package/lib/picker/index.json +7 -0
- package/lib/picker/index.wxml +48 -0
- package/lib/picker/index.wxs +44 -0
- package/lib/picker/index.wxss +1 -0
- package/lib/picker/shared.d.ts +44 -0
- package/lib/picker/shared.js +47 -0
- package/lib/picker/toolbar.wxml +23 -0
- package/lib/picker-column/index.css +1 -0
- package/lib/picker-column/index.d.ts +1 -0
- package/lib/picker-column/index.js +335 -0
- package/lib/picker-column/index.json +3 -0
- package/lib/picker-column/index.wxml +60 -0
- package/lib/picker-column/index.wxs +617 -0
- package/lib/picker-column/index.wxss +1 -0
- package/lib/popover/index.css +1 -0
- package/lib/popover/index.d.ts +1 -0
- package/lib/popover/index.js +220 -0
- package/lib/popover/index.json +7 -0
- package/lib/popover/index.wxml +31 -0
- package/lib/popover/index.wxss +1 -0
- package/lib/popup/index.css +1 -0
- package/lib/popup/index.d.ts +1 -0
- package/lib/popup/index.js +122 -0
- package/lib/popup/index.json +7 -0
- package/lib/popup/index.wxml +21 -0
- package/lib/popup/index.wxs +23 -0
- package/lib/popup/index.wxss +1 -0
- package/lib/popup/popup.wxml +16 -0
- package/lib/progress/index.css +1 -0
- package/lib/progress/index.d.ts +1 -0
- package/lib/progress/index.js +52 -0
- package/lib/progress/index.json +3 -0
- package/lib/progress/index.wxml +20 -0
- package/lib/progress/index.wxs +36 -0
- package/lib/progress/index.wxss +1 -0
- package/lib/radio/index.css +1 -0
- package/lib/radio/index.d.ts +1 -0
- package/lib/radio/index.js +75 -0
- package/lib/radio/index.json +6 -0
- package/lib/radio/index.wxml +32 -0
- package/lib/radio/index.wxs +33 -0
- package/lib/radio/index.wxss +1 -0
- package/lib/radio-group/index.css +1 -0
- package/lib/radio-group/index.d.ts +1 -0
- package/lib/radio-group/index.js +29 -0
- package/lib/radio-group/index.json +3 -0
- package/lib/radio-group/index.wxml +5 -0
- package/lib/radio-group/index.wxss +1 -0
- package/lib/rate/index.css +1 -0
- package/lib/rate/index.d.ts +1 -0
- package/lib/rate/index.js +107 -0
- package/lib/rate/index.json +6 -0
- package/lib/rate/index.wxml +35 -0
- package/lib/rate/index.wxss +1 -0
- package/lib/row/index.css +1 -0
- package/lib/row/index.d.ts +1 -0
- package/lib/row/index.js +26 -0
- package/lib/row/index.json +3 -0
- package/lib/row/index.wxml +5 -0
- package/lib/row/index.wxs +18 -0
- package/lib/row/index.wxss +1 -0
- package/lib/search/index.css +1 -0
- package/lib/search/index.d.ts +1 -0
- package/lib/search/index.js +106 -0
- package/lib/search/index.json +7 -0
- package/lib/search/index.wxml +57 -0
- package/lib/search/index.wxss +1 -0
- package/lib/sidebar/index.css +1 -0
- package/lib/sidebar/index.d.ts +1 -0
- package/lib/sidebar/index.js +36 -0
- package/lib/sidebar/index.json +3 -0
- package/lib/sidebar/index.wxml +3 -0
- package/lib/sidebar/index.wxss +1 -0
- package/lib/sidebar-item/index.css +1 -0
- package/lib/sidebar-item/index.d.ts +1 -0
- package/lib/sidebar-item/index.js +32 -0
- package/lib/sidebar-item/index.json +6 -0
- package/lib/sidebar-item/index.wxml +18 -0
- package/lib/sidebar-item/index.wxss +1 -0
- package/lib/skeleton/index.css +1 -0
- package/lib/skeleton/index.d.ts +1 -0
- package/lib/skeleton/index.js +48 -0
- package/lib/skeleton/index.json +4 -0
- package/lib/skeleton/index.wxml +29 -0
- package/lib/skeleton/index.wxss +1 -0
- package/lib/slider/index.css +1 -0
- package/lib/slider/index.d.ts +1 -0
- package/lib/slider/index.js +208 -0
- package/lib/slider/index.json +3 -0
- package/lib/slider/index.wxml +68 -0
- package/lib/slider/index.wxs +14 -0
- package/lib/slider/index.wxss +1 -0
- package/lib/stepper/index.css +1 -0
- package/lib/stepper/index.d.ts +1 -0
- package/lib/stepper/index.js +225 -0
- package/lib/stepper/index.json +6 -0
- package/lib/stepper/index.wxml +45 -0
- package/lib/stepper/index.wxs +32 -0
- package/lib/stepper/index.wxss +1 -0
- package/lib/steps/index.css +1 -0
- package/lib/steps/index.d.ts +1 -0
- package/lib/steps/index.js +39 -0
- package/lib/steps/index.json +6 -0
- package/lib/steps/index.wxml +54 -0
- package/lib/steps/index.wxss +1 -0
- package/lib/sticky/index.css +1 -0
- package/lib/sticky/index.d.ts +1 -0
- package/lib/sticky/index.js +128 -0
- package/lib/sticky/index.json +3 -0
- package/lib/sticky/index.wxml +8 -0
- package/lib/sticky/index.wxs +25 -0
- package/lib/sticky/index.wxss +1 -0
- package/lib/swipe-cell/index.css +1 -0
- package/lib/swipe-cell/index.d.ts +1 -0
- package/lib/swipe-cell/index.js +142 -0
- package/lib/swipe-cell/index.json +3 -0
- package/lib/swipe-cell/index.wxml +21 -0
- package/lib/swipe-cell/index.wxss +1 -0
- package/lib/switch/index.css +1 -0
- package/lib/switch/index.d.ts +1 -0
- package/lib/switch/index.js +42 -0
- package/lib/switch/index.json +6 -0
- package/lib/switch/index.wxml +39 -0
- package/lib/switch/index.wxs +26 -0
- package/lib/switch/index.wxss +1 -0
- package/lib/tab/index.css +1 -0
- package/lib/tab/index.d.ts +1 -0
- package/lib/tab/index.js +66 -0
- package/lib/tab/index.json +3 -0
- package/lib/tab/index.wxml +8 -0
- package/lib/tab/index.wxss +1 -0
- package/lib/tabbar/index.css +1 -0
- package/lib/tabbar/index.d.ts +1 -0
- package/lib/tabbar/index.js +73 -0
- package/lib/tabbar/index.json +3 -0
- package/lib/tabbar/index.wxml +12 -0
- package/lib/tabbar/index.wxss +1 -0
- package/lib/tabbar-item/index.css +1 -0
- package/lib/tabbar-item/index.d.ts +1 -0
- package/lib/tabbar-item/index.js +79 -0
- package/lib/tabbar-item/index.json +7 -0
- package/lib/tabbar-item/index.wxml +32 -0
- package/lib/tabbar-item/index.wxss +1 -0
- package/lib/tabs/index.css +1 -0
- package/lib/tabs/index.d.ts +1 -0
- package/lib/tabs/index.js +329 -0
- package/lib/tabs/index.json +7 -0
- package/lib/tabs/index.wxml +67 -0
- package/lib/tabs/index.wxs +99 -0
- package/lib/tabs/index.wxss +1 -0
- package/lib/tag/index.css +1 -0
- package/lib/tag/index.d.ts +1 -0
- package/lib/tag/index.js +34 -0
- package/lib/tag/index.json +6 -0
- package/lib/tag/index.wxml +17 -0
- package/lib/tag/index.wxs +13 -0
- package/lib/tag/index.wxss +1 -0
- package/lib/toast/icons.d.ts +3 -0
- package/lib/toast/icons.js +12 -0
- package/lib/toast/index.css +1 -0
- package/lib/toast/index.d.ts +1 -0
- package/lib/toast/index.js +63 -0
- package/lib/toast/index.json +9 -0
- package/lib/toast/index.wxml +33 -0
- package/lib/toast/index.wxss +1 -0
- package/lib/toast/toast.d.ts +35 -0
- package/lib/toast/toast.js +116 -0
- package/lib/transition/index.css +1 -0
- package/lib/transition/index.d.ts +1 -0
- package/lib/transition/index.js +15 -0
- package/lib/transition/index.json +3 -0
- package/lib/transition/index.wxml +9 -0
- package/lib/transition/index.wxs +17 -0
- package/lib/transition/index.wxss +1 -0
- package/lib/tree-select/index.css +1 -0
- package/lib/tree-select/index.d.ts +1 -0
- package/lib/tree-select/index.js +74 -0
- package/lib/tree-select/index.json +8 -0
- package/lib/tree-select/index.wxml +41 -0
- package/lib/tree-select/index.wxs +12 -0
- package/lib/tree-select/index.wxss +1 -0
- package/lib/wxs/add-unit.wxs +12 -0
- package/lib/wxs/array.wxs +5 -0
- package/lib/wxs/bem.wxs +39 -0
- package/lib/wxs/memoize.wxs +55 -0
- package/lib/wxs/object.wxs +13 -0
- package/lib/wxs/style.wxs +46 -0
- package/lib/wxs/utils.wxs +51 -0
- package/package.json +1 -1
|
@@ -1,17 +1,14 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
1
|
import { SmartComponent } from '../common/component';
|
|
11
2
|
import { range } from '../common/utils';
|
|
12
3
|
import { isObj } from '../common/validator';
|
|
13
4
|
import ty from '../common/ty';
|
|
14
5
|
const DEFAULT_DURATION = 400;
|
|
6
|
+
const compIdList = [];
|
|
7
|
+
const getId = () => {
|
|
8
|
+
const id = 'smart-picker-column-' + compIdList.length;
|
|
9
|
+
compIdList.push(id);
|
|
10
|
+
return id;
|
|
11
|
+
};
|
|
15
12
|
SmartComponent({
|
|
16
13
|
classes: ['active-class'],
|
|
17
14
|
props: {
|
|
@@ -31,7 +28,7 @@ SmartComponent({
|
|
|
31
28
|
if (!this.data.isInit)
|
|
32
29
|
return;
|
|
33
30
|
this.updateUint(value);
|
|
34
|
-
this.
|
|
31
|
+
this.checkIndexUpdateList();
|
|
35
32
|
},
|
|
36
33
|
},
|
|
37
34
|
defaultIndex: {
|
|
@@ -40,19 +37,18 @@ SmartComponent({
|
|
|
40
37
|
},
|
|
41
38
|
changeAnimation: {
|
|
42
39
|
type: Boolean,
|
|
43
|
-
value:
|
|
40
|
+
value: false,
|
|
44
41
|
},
|
|
45
42
|
fontStyle: {
|
|
46
43
|
type: String,
|
|
47
44
|
value: '',
|
|
48
45
|
},
|
|
49
46
|
activeIndex: {
|
|
50
|
-
type:
|
|
51
|
-
|
|
52
|
-
observer(index) {
|
|
47
|
+
type: null,
|
|
48
|
+
observer() {
|
|
53
49
|
if (!this.data.isInit)
|
|
54
50
|
return;
|
|
55
|
-
this.
|
|
51
|
+
this.checkIndexUpdateList();
|
|
56
52
|
},
|
|
57
53
|
},
|
|
58
54
|
unit: {
|
|
@@ -63,172 +59,80 @@ SmartComponent({
|
|
|
63
59
|
type: Number,
|
|
64
60
|
value: 300,
|
|
65
61
|
},
|
|
62
|
+
loop: {
|
|
63
|
+
type: Boolean,
|
|
64
|
+
value: false,
|
|
65
|
+
},
|
|
66
66
|
},
|
|
67
67
|
data: {
|
|
68
|
-
startY: 0,
|
|
69
|
-
offset: 0,
|
|
70
|
-
duration: 0,
|
|
71
|
-
startOffset: 0,
|
|
72
|
-
optionsV: [],
|
|
73
|
-
currentIndex: -1,
|
|
74
|
-
renderNum: 0,
|
|
75
|
-
renderStart: 0,
|
|
76
|
-
animate: false,
|
|
77
|
-
playing: false,
|
|
78
68
|
isInit: false,
|
|
79
69
|
maxText: '',
|
|
80
|
-
|
|
81
|
-
|
|
70
|
+
optionsVIndexList: [],
|
|
71
|
+
offsetActiveIndex: 0,
|
|
72
|
+
endTimer: null,
|
|
73
|
+
offsetList: [],
|
|
74
|
+
moving: false,
|
|
75
|
+
movingDirection: 'down',
|
|
76
|
+
startY: 0,
|
|
77
|
+
offsetting: 0,
|
|
78
|
+
animationIndex: 0,
|
|
79
|
+
isDestroy: false,
|
|
82
80
|
},
|
|
83
81
|
created() {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
82
|
+
this.setData({
|
|
83
|
+
instanceId: getId(),
|
|
84
|
+
});
|
|
85
|
+
this.updateUint(this.data.options);
|
|
86
|
+
this.checkIndexUpdateList();
|
|
87
87
|
this.setData({
|
|
88
88
|
isInit: true,
|
|
89
89
|
});
|
|
90
90
|
},
|
|
91
|
+
destroyed() {
|
|
92
|
+
this.setData({
|
|
93
|
+
isDestroy: true,
|
|
94
|
+
});
|
|
95
|
+
},
|
|
91
96
|
methods: {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
if (
|
|
100
|
-
|
|
101
|
-
this.setData({
|
|
102
|
-
timer: null,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
if (!this.data.playing) {
|
|
106
|
-
this.$emit('animation-start');
|
|
107
|
-
}
|
|
108
|
-
this.setData({
|
|
109
|
-
startY: event.touches[0].clientY,
|
|
110
|
-
startOffset: this.data.offset,
|
|
111
|
-
duration: 100,
|
|
112
|
-
playing: true,
|
|
113
|
-
timer: null,
|
|
114
|
-
preOffsetList: [this.data.offset],
|
|
115
|
-
});
|
|
116
|
-
},
|
|
117
|
-
onTouchMove(event) {
|
|
118
|
-
if (this.data.disabled) {
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
const { data } = this;
|
|
122
|
-
const { preOffsetList } = data;
|
|
123
|
-
const deltaY = event.touches[0].clientY - data.startY;
|
|
124
|
-
const offset = range(data.startOffset + deltaY, -(this.getCount() * data.itemHeight), data.itemHeight);
|
|
125
|
-
const direction = this.checkIsDown(offset);
|
|
126
|
-
// 上一次滚动的索引
|
|
127
|
-
const preIndex = range(Math.round(-preOffsetList[preOffsetList.length - 1] / data.itemHeight), 0, this.getCount() - 1);
|
|
128
|
-
// 最终定位索引
|
|
129
|
-
const index = range(Math.round(-offset / data.itemHeight), 0, this.getCount() - 1);
|
|
130
|
-
if ((direction === 'up' && index < data.renderStart + 8) ||
|
|
131
|
-
(direction === 'down' && index > data.renderStart + data.renderNum - 8)) {
|
|
132
|
-
this.updateVisibleOptions(index);
|
|
133
|
-
}
|
|
134
|
-
// 索引变化时 粗发震动反馈
|
|
135
|
-
if (index !== preIndex) {
|
|
136
|
-
// @ts-ignore
|
|
137
|
-
this.vibrateShort();
|
|
97
|
+
checkIndexUpdateList() {
|
|
98
|
+
const { activeIndex, defaultIndex } = this.data;
|
|
99
|
+
const count = this.data.options.length;
|
|
100
|
+
const currIndex = activeIndex !== null ? activeIndex : defaultIndex;
|
|
101
|
+
let animationIndex = this.getAnimationIndex(currIndex);
|
|
102
|
+
animationIndex = this.adjustIndex(animationIndex);
|
|
103
|
+
let currActiveIndex = this.data.loop ? ((animationIndex + 1) % count) - 1 : animationIndex;
|
|
104
|
+
if (currActiveIndex < 0) {
|
|
105
|
+
currActiveIndex += count;
|
|
138
106
|
}
|
|
139
|
-
const
|
|
107
|
+
const optionsVIndexList = this.getVisibleOptions(animationIndex);
|
|
140
108
|
this.setData({
|
|
141
|
-
|
|
109
|
+
activeIndex: currActiveIndex,
|
|
142
110
|
animationIndex: animationIndex,
|
|
143
|
-
|
|
144
|
-
animate: false,
|
|
111
|
+
optionsVIndexList: optionsVIndexList,
|
|
145
112
|
});
|
|
113
|
+
// if (currActiveIndex !== activeIndex) {
|
|
114
|
+
// this.$emit('change', currActiveIndex);
|
|
115
|
+
// }
|
|
146
116
|
},
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
if (isNaN(preOffset))
|
|
156
|
-
preOffset = 0;
|
|
157
|
-
preOffset = Math.min(preOffset, 40);
|
|
158
|
-
// 三次同样的距离 说明用户一直在顶部或者底部滑动 或在move途中已经是上下边缘了
|
|
159
|
-
const isSameTouch = (preOffsetList[preOffsetList.length - 1] === preOffsetList[preOffsetList.length - 2] &&
|
|
160
|
-
preOffsetList[preOffsetList.length - 2] === preOffsetList[preOffsetList.length - 3]) ||
|
|
161
|
-
preOffsetList[preOffsetList.length - 1] === -(this.getCount() * data.itemHeight) ||
|
|
162
|
-
preOffsetList[preOffsetList.length - 1] === data.itemHeight;
|
|
163
|
-
// 是否是向下滚动
|
|
164
|
-
const direction = this.checkIsDown();
|
|
165
|
-
// 当滚动速度比较慢时(<3) 不增加惯性滚动距离
|
|
166
|
-
const offset = Math.abs(preOffset) < 3 || isSameTouch || !direction
|
|
167
|
-
? data.offset
|
|
168
|
-
: data.offset + (direction === 'down' ? -preOffset : preOffset) * 10;
|
|
169
|
-
// 有数字的最大滚动距离
|
|
170
|
-
const countHeight = (this.getCount() - 1) * data.itemHeight;
|
|
171
|
-
// 动画最大滚动距离 上下各加一个 data.itemHeight 的滚动空间
|
|
172
|
-
const animationOffset = range(offset, -(this.getCount() * data.itemHeight), data.itemHeight);
|
|
173
|
-
// 最终定位滚动位置
|
|
174
|
-
const finOffset = animationOffset < -countHeight ? -countHeight : animationOffset > 0 ? 0 : animationOffset;
|
|
175
|
-
// 获取索引
|
|
176
|
-
const index = range(Math.round(-finOffset / data.itemHeight), 0, this.getCount() - 1);
|
|
177
|
-
// 获取索引的标准距离
|
|
178
|
-
const offsetData = -index * data.itemHeight;
|
|
179
|
-
// 增加惯性音效
|
|
180
|
-
if (Math.abs(offsetData - data.offset) > data.itemHeight && !isSameTouch) {
|
|
181
|
-
const countVibrate = Math.abs(offsetData - data.offset) / data.itemHeight;
|
|
182
|
-
// @ts-ignore
|
|
183
|
-
this.vibrateShort(Math.floor(countVibrate), data.animationTime);
|
|
184
|
-
}
|
|
185
|
-
// 最终定位索引
|
|
186
|
-
this.setData({
|
|
187
|
-
duration: isSameTouch ? 150 : data.animationTime,
|
|
188
|
-
animationIndex: index,
|
|
189
|
-
offset: offsetData,
|
|
190
|
-
animate: true,
|
|
191
|
-
});
|
|
192
|
-
// 更新列表
|
|
193
|
-
if ((direction === 'up' && index < data.renderStart + 8) ||
|
|
194
|
-
(direction === 'down' && index > data.renderStart + data.renderNum - 8)) {
|
|
195
|
-
yield this.updateVisibleOptions(index);
|
|
196
|
-
}
|
|
197
|
-
// 更新索引
|
|
198
|
-
if (index !== data.currentIndex) {
|
|
199
|
-
const time = isSameTouch ? 150 : data.animationTime;
|
|
200
|
-
// if (!isSameTouch) {
|
|
201
|
-
// this.timer = setInterval(() => {
|
|
202
|
-
// if (Math.abs(this.data.animationIndex - index) < 0.5) return clearInterval(this.timer);
|
|
203
|
-
// this.setData({
|
|
204
|
-
// animationIndex: this.data.animationIndex + (index - data.currentIndex > 0 ? 1 : -1),
|
|
205
|
-
// });
|
|
206
|
-
// }, data.animationTime / Math.abs(index - data.currentIndex));
|
|
207
|
-
// }
|
|
208
|
-
return this.setData({
|
|
209
|
-
timer: setTimeout(() => __awaiter(this, void 0, void 0, function* () {
|
|
210
|
-
this.setIndex(index, true, false, this.data.animationTime);
|
|
211
|
-
}), time),
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
this.setData({
|
|
215
|
-
playing: false,
|
|
216
|
-
});
|
|
217
|
-
this.$emit('animation-end');
|
|
218
|
-
});
|
|
117
|
+
getAnimationIndex(activeIndex) {
|
|
118
|
+
const { animationIndex } = this.data;
|
|
119
|
+
const length = this.data.options.length || 1;
|
|
120
|
+
if (this.data.loop) {
|
|
121
|
+
const newAnimationIndex = this.getNewAnimationIndex(animationIndex, activeIndex, length, this.data.loop);
|
|
122
|
+
return newAnimationIndex;
|
|
123
|
+
}
|
|
124
|
+
return activeIndex;
|
|
219
125
|
},
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
const { preOffsetList } = data;
|
|
223
|
-
const currOffset = curr === undefined ? preOffsetList[preOffsetList.length - 1] : curr;
|
|
224
|
-
const preOffset = curr === undefined
|
|
225
|
-
? preOffsetList[preOffsetList.length - 2]
|
|
226
|
-
: preOffsetList[preOffsetList.length - 1];
|
|
227
|
-
if (currOffset === undefined || preOffset === undefined || currOffset === preOffset)
|
|
228
|
-
return;
|
|
229
|
-
return currOffset < preOffset ? 'down' : 'up';
|
|
126
|
+
getCount() {
|
|
127
|
+
return this.data.options.length;
|
|
230
128
|
},
|
|
231
129
|
vibrateShort(count, time = DEFAULT_DURATION) {
|
|
130
|
+
if (this.data.vibrateTimer) {
|
|
131
|
+
clearInterval(this.data.vibrateTimer);
|
|
132
|
+
this.setData({
|
|
133
|
+
vibrateTimer: null,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
232
136
|
if (!count) {
|
|
233
137
|
ty.vibrateShort({ type: 'light' });
|
|
234
138
|
return;
|
|
@@ -240,18 +144,11 @@ SmartComponent({
|
|
|
240
144
|
return;
|
|
241
145
|
}
|
|
242
146
|
has++;
|
|
243
|
-
|
|
147
|
+
ty.vibrateShort({ type: 'light' });
|
|
244
148
|
}, time / count - 20);
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
return;
|
|
249
|
-
const { index } = event.currentTarget.dataset;
|
|
250
|
-
if (index === this.data.currentIndex || index < 0 || index > this.data.options.length - 1) {
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
|
-
this.vibrateShort(Math.abs(index - this.data.currentIndex), DEFAULT_DURATION);
|
|
254
|
-
this.setIndex(index, true, true, this.data.animationTime);
|
|
149
|
+
this.setData({
|
|
150
|
+
vibrateTimer: timer,
|
|
151
|
+
});
|
|
255
152
|
},
|
|
256
153
|
updateUint(options) {
|
|
257
154
|
const { unit, valueKey } = this.data;
|
|
@@ -267,42 +164,111 @@ SmartComponent({
|
|
|
267
164
|
this.setData({ maxText });
|
|
268
165
|
}
|
|
269
166
|
},
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
167
|
+
getVisibleOptions(currentIndex) {
|
|
168
|
+
let animationIndex = Math.round(currentIndex !== undefined ? currentIndex : this.data.animationIndex);
|
|
169
|
+
const vOptionLength = this.data.visibleItemCount * 4 - 2;
|
|
170
|
+
const rotateAngle = 360 / vOptionLength;
|
|
171
|
+
const partCount = Math.floor(this.data.visibleItemCount / 2) + 3;
|
|
172
|
+
const newArr = new Array(vOptionLength).fill('');
|
|
173
|
+
const newValueArr = new Array(partCount * 2 + 1).fill('');
|
|
174
|
+
if (this.data.loop) {
|
|
175
|
+
// 循环模式:根据 options 首尾填充 newValueArr 数组
|
|
176
|
+
const optionsLength = this.data.options.length;
|
|
177
|
+
if (optionsLength === 0) {
|
|
178
|
+
// 如果没有选项,填充空值
|
|
179
|
+
newValueArr.fill('');
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
newValueArr.forEach((item, index) => {
|
|
183
|
+
// 计算相对于中心的偏移量
|
|
184
|
+
const offset = index - partCount;
|
|
185
|
+
// 计算目标索引,支持循环
|
|
186
|
+
const targetAnimationIndex = animationIndex + offset;
|
|
187
|
+
let targetIndex = ((targetAnimationIndex + 1) % optionsLength) - 1;
|
|
188
|
+
if (targetIndex < 0) {
|
|
189
|
+
targetIndex += optionsLength;
|
|
190
|
+
}
|
|
191
|
+
newValueArr[index] = targetIndex;
|
|
192
|
+
});
|
|
283
193
|
}
|
|
284
|
-
renderNum = renderEnd - renderStart;
|
|
285
|
-
const optionsV = options.slice(renderStart, renderEnd);
|
|
286
|
-
return this.set({ optionsV, renderStart, renderNum });
|
|
287
194
|
}
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
195
|
+
else {
|
|
196
|
+
if (animationIndex < 0) {
|
|
197
|
+
animationIndex = 0;
|
|
198
|
+
}
|
|
199
|
+
if (animationIndex > this.data.options.length - 1) {
|
|
200
|
+
animationIndex = this.data.options.length - 1;
|
|
201
|
+
}
|
|
202
|
+
newValueArr.forEach((item, index) => {
|
|
203
|
+
const valueIndex = animationIndex - partCount + index >= 0
|
|
204
|
+
? animationIndex - partCount + index
|
|
205
|
+
: undefined;
|
|
206
|
+
if (valueIndex === undefined) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
newValueArr[index] = valueIndex;
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
let rotate = (animationIndex * rotateAngle) % 360;
|
|
213
|
+
if (rotate < 0) {
|
|
214
|
+
rotate += 360;
|
|
215
|
+
}
|
|
216
|
+
const rotateIndex = Math.round(rotate / rotateAngle);
|
|
217
|
+
// 环形结构填充:以rotateIndex为中心,向两边扩展填充newValueArr
|
|
218
|
+
const centerIndex = rotateIndex; // 中心位置
|
|
219
|
+
const halfLength = Math.floor(newValueArr.length / 2); // newValueArr的一半长度
|
|
220
|
+
// 从中心位置开始,向两边填充
|
|
221
|
+
for (let i = 0; i < newValueArr.length; i++) {
|
|
222
|
+
const targetIndex = (centerIndex - halfLength + i + vOptionLength) % vOptionLength; // 确保索引在0-17范围内
|
|
223
|
+
newArr[targetIndex] = newValueArr[i];
|
|
224
|
+
}
|
|
225
|
+
return newArr;
|
|
226
|
+
},
|
|
227
|
+
getNewAnimationIndex(animationIndex, activeIndex, length, loop) {
|
|
228
|
+
const curOptionsNewIndex = Math.floor((animationIndex + 1) / length) * length + activeIndex;
|
|
229
|
+
const preOptionsNewIndex = curOptionsNewIndex - length;
|
|
230
|
+
const afterOptionsNewIndex = curOptionsNewIndex + length;
|
|
231
|
+
const newAnimationIndex = !loop
|
|
232
|
+
? activeIndex
|
|
233
|
+
: Math.abs(preOptionsNewIndex - animationIndex) >
|
|
234
|
+
Math.abs(curOptionsNewIndex - animationIndex)
|
|
235
|
+
? Math.abs(curOptionsNewIndex - animationIndex) >
|
|
236
|
+
Math.abs(afterOptionsNewIndex - animationIndex)
|
|
237
|
+
? afterOptionsNewIndex
|
|
238
|
+
: curOptionsNewIndex
|
|
239
|
+
: Math.abs(preOptionsNewIndex - animationIndex) >
|
|
240
|
+
Math.abs(afterOptionsNewIndex - animationIndex)
|
|
241
|
+
? afterOptionsNewIndex
|
|
242
|
+
: preOptionsNewIndex;
|
|
243
|
+
return newAnimationIndex;
|
|
293
244
|
},
|
|
294
245
|
adjustIndex(index) {
|
|
295
246
|
const { data } = this;
|
|
296
247
|
const count = this.getCount();
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
248
|
+
if (this.data.loop) {
|
|
249
|
+
for (let i = 0; i < count; i++) {
|
|
250
|
+
const targetIndex = index + i;
|
|
251
|
+
let optionIndex = ((targetIndex + 1) % count) - 1;
|
|
252
|
+
if (optionIndex < 0) {
|
|
253
|
+
optionIndex += count;
|
|
254
|
+
}
|
|
255
|
+
if (!this.isDisabled(data.options[optionIndex]) &&
|
|
256
|
+
data.options[optionIndex] !== undefined) {
|
|
257
|
+
return targetIndex;
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
return 0;
|
|
261
|
+
}
|
|
262
|
+
const activeIndex = range(index, 0, count);
|
|
263
|
+
for (let i = activeIndex; i < count; i++) {
|
|
264
|
+
if (!this.isDisabled(data.options[i]) && data.options[i] !== undefined)
|
|
300
265
|
return i;
|
|
301
266
|
}
|
|
302
|
-
for (let i =
|
|
303
|
-
if (!this.isDisabled(data.options[i]))
|
|
267
|
+
for (let i = activeIndex - 1; i >= 0; i--) {
|
|
268
|
+
if (!this.isDisabled(data.options[i]) && data.options[i] !== undefined)
|
|
304
269
|
return i;
|
|
305
270
|
}
|
|
271
|
+
return 0;
|
|
306
272
|
},
|
|
307
273
|
isDisabled(option) {
|
|
308
274
|
return isObj(option) && option.disabled;
|
|
@@ -311,83 +277,53 @@ SmartComponent({
|
|
|
311
277
|
const { data } = this;
|
|
312
278
|
return isObj(option) && data.valueKey in option ? option[data.valueKey] : option;
|
|
313
279
|
},
|
|
314
|
-
setIndex(index, userAction, animate, time = DEFAULT_DURATION) {
|
|
315
|
-
const { data } = this;
|
|
316
|
-
index = this.adjustIndex(index) || 0;
|
|
317
|
-
const offset = -index * data.itemHeight;
|
|
318
|
-
if (this.timer) {
|
|
319
|
-
clearTimeout(this.timer);
|
|
320
|
-
this.timer = null;
|
|
321
|
-
}
|
|
322
|
-
if (!data.playing) {
|
|
323
|
-
this.$emit('animation-start');
|
|
324
|
-
this.setData({
|
|
325
|
-
playing: true,
|
|
326
|
-
});
|
|
327
|
-
}
|
|
328
|
-
if (index !== data.currentIndex) {
|
|
329
|
-
// 需要动画的情况下,保持最大的截取
|
|
330
|
-
this.updateVisibleOptions(index);
|
|
331
|
-
if (animate) {
|
|
332
|
-
return this.set({
|
|
333
|
-
currentIndex: index,
|
|
334
|
-
animationIndex: index,
|
|
335
|
-
offset,
|
|
336
|
-
animate: true,
|
|
337
|
-
duration: time,
|
|
338
|
-
}).then(() => {
|
|
339
|
-
if (!userAction) {
|
|
340
|
-
this.setData({
|
|
341
|
-
playing: false,
|
|
342
|
-
});
|
|
343
|
-
this.$emit('animation-end');
|
|
344
|
-
return;
|
|
345
|
-
}
|
|
346
|
-
this.$emit('change', index);
|
|
347
|
-
this.setData({
|
|
348
|
-
playing: false,
|
|
349
|
-
});
|
|
350
|
-
this.$emit('animation-end');
|
|
351
|
-
});
|
|
352
|
-
}
|
|
353
|
-
return this.set({
|
|
354
|
-
offset,
|
|
355
|
-
currentIndex: index,
|
|
356
|
-
animationIndex: index,
|
|
357
|
-
animate: !!animate,
|
|
358
|
-
}).then(() => {
|
|
359
|
-
if (!userAction) {
|
|
360
|
-
this.setData({
|
|
361
|
-
playing: false,
|
|
362
|
-
});
|
|
363
|
-
this.$emit('animation-end');
|
|
364
|
-
return;
|
|
365
|
-
}
|
|
366
|
-
this.$emit('change', index);
|
|
367
|
-
this.setData({
|
|
368
|
-
playing: false,
|
|
369
|
-
});
|
|
370
|
-
this.$emit('animation-end');
|
|
371
|
-
});
|
|
372
|
-
}
|
|
373
|
-
this.setData({
|
|
374
|
-
playing: false,
|
|
375
|
-
});
|
|
376
|
-
this.$emit('animation-end');
|
|
377
|
-
return this.set({ offset });
|
|
378
|
-
},
|
|
379
280
|
setValue(value) {
|
|
380
281
|
const { options } = this.data;
|
|
381
282
|
for (let i = 0; i < options.length; i++) {
|
|
382
283
|
if (this.getOptionText(options[i]) === value) {
|
|
383
|
-
return this.setIndex(i
|
|
284
|
+
return this.setIndex(i);
|
|
384
285
|
}
|
|
385
286
|
}
|
|
386
287
|
return Promise.resolve();
|
|
387
288
|
},
|
|
289
|
+
setIndex(index) {
|
|
290
|
+
let activeIndex = ((index + 1) % this.data.options.length) - 1;
|
|
291
|
+
if (activeIndex < 0) {
|
|
292
|
+
activeIndex += this.data.options.length;
|
|
293
|
+
}
|
|
294
|
+
this.setData({
|
|
295
|
+
activeIndex: activeIndex,
|
|
296
|
+
animationIndex: index,
|
|
297
|
+
});
|
|
298
|
+
},
|
|
388
299
|
getValue() {
|
|
389
300
|
const { data } = this;
|
|
390
|
-
return data.options[data.
|
|
301
|
+
return isObj(data.options[data.activeIndex])
|
|
302
|
+
? data.options[data.activeIndex][data.valueKey]
|
|
303
|
+
: data.options[data.activeIndex];
|
|
304
|
+
},
|
|
305
|
+
activeIndexChange(index) {
|
|
306
|
+
let activeIndex = ((index + 1) % this.data.options.length) - 1;
|
|
307
|
+
if (activeIndex < 0) {
|
|
308
|
+
activeIndex += this.data.options.length;
|
|
309
|
+
}
|
|
310
|
+
const isSame = activeIndex === this.data.activeIndex;
|
|
311
|
+
this.setData({
|
|
312
|
+
activeIndex: activeIndex,
|
|
313
|
+
animationIndex: index,
|
|
314
|
+
});
|
|
315
|
+
!isSame && this.$emit('change', index);
|
|
316
|
+
},
|
|
317
|
+
animationIndexChange(index) {
|
|
318
|
+
this.setData({
|
|
319
|
+
animationIndex: index,
|
|
320
|
+
});
|
|
321
|
+
},
|
|
322
|
+
animationStart() {
|
|
323
|
+
this.$emit('animation-start');
|
|
324
|
+
},
|
|
325
|
+
animationEnd() {
|
|
326
|
+
this.$emit('animation-end');
|
|
391
327
|
},
|
|
392
328
|
},
|
|
393
329
|
});
|
|
@@ -4,32 +4,49 @@
|
|
|
4
4
|
<view
|
|
5
5
|
class="{{ utils.bem('picker-column', { disabled }) }} custom-class"
|
|
6
6
|
style="{{ computed.rootStyle({ itemHeight, visibleItemCount }) }}"
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
instanceId="{{instanceId}}"
|
|
8
|
+
id="{{instanceId}}"
|
|
9
|
+
data-isdestroy="{{isDestroy}}"
|
|
10
|
+
data-changeanimation="{{changeAnimation}}"
|
|
11
|
+
data-options="{{options}}"
|
|
12
|
+
data-valuekey="{{valueKey}}"
|
|
13
|
+
data-itemheight="{{itemHeight}}"
|
|
14
|
+
data-visibleitemcount="{{visibleItemCount}}"
|
|
15
|
+
data-activeindex="{{activeIndex}}"
|
|
16
|
+
data-loop="{{loop}}"
|
|
17
|
+
data-animationtime="{{animationTime}}"
|
|
18
|
+
isdestroy="{{isDestroy}}"
|
|
19
|
+
options="{{options}}"
|
|
20
|
+
activeindex="{{activeIndex}}"
|
|
21
|
+
changeanimation="{{changeAnimation}}"
|
|
22
|
+
loop="{{loop}}"
|
|
23
|
+
valuekey="{{valueKey}}"
|
|
24
|
+
itemheight="{{itemHeight}}"
|
|
25
|
+
visibleitemcount="{{visibleItemCount}}"
|
|
26
|
+
animationtime="{{animationTime}}"
|
|
27
|
+
change:isdestroy="{{computed.updateValue(instanceId, 'isDestroy')}}"
|
|
28
|
+
change:options="{{computed.updateValue(instanceId, 'options')}}"
|
|
29
|
+
change:valuekey="{{computed.updateValue(instanceId,'valueKey')}}"
|
|
30
|
+
change:itemheight="{{computed.updateValue(instanceId,'itemHeight')}}"
|
|
31
|
+
change:visibleitemcount="{{computed.updateValue(instanceId, 'visibleItemCount')}}"
|
|
32
|
+
change:activeindex="{{computed.updateValue(instanceId,'activeIndex')}}"
|
|
33
|
+
change:loop="{{computed.updateValue(instanceId,'loop')}}"
|
|
34
|
+
change:animationtime="{{computed.updateValue(instanceId,'animationTime')}}"
|
|
35
|
+
change:instanceid="{{computed.updateValue(instanceId,'instanceId')}}"
|
|
36
|
+
bind:touchstart="{{computed.touchStart(instanceId)}}"
|
|
37
|
+
catch:touchmove="{{computed.touchMove(instanceId)}}"
|
|
38
|
+
bind:touchend="{{computed.touchEnd(instanceId)}}"
|
|
39
|
+
bind:touchcancel="{{computed.touchEnd(instanceId)}}"
|
|
11
40
|
>
|
|
12
|
-
<view class="smart-picker-column__offset" style="
|
|
13
|
-
<view
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
wx:for-item="option"
|
|
17
|
-
wx:key="*this"
|
|
18
|
-
data-index="{{ renderStart + index }}"
|
|
19
|
-
style="{{computed.wrapperItemStyle({ itemHeight, fontStyle, activeStyle: renderStart + index === currentIndex ? activeStyle : '', animationIndex, index: renderStart + index, visibleItemCount })}}"
|
|
20
|
-
class="{{ computed.wrapperItemClass({ index, renderStart, animationIndex, option })}}"
|
|
21
|
-
>
|
|
22
|
-
{{ computed.optionText(option, valueKey) }}
|
|
23
|
-
</view>
|
|
24
|
-
</view>
|
|
25
|
-
</view>
|
|
26
|
-
<view class="smart-picker-column__mask">
|
|
27
|
-
<view
|
|
28
|
-
wx:for="{{ visibleItemCount }}"
|
|
41
|
+
<view class="smart-picker-column__offset" style="{{ computed.wrapperStyle({ animationIndex, itemHeight, animationTime, unit, moving, optionsVIndexList, options, valueKey, visibleItemCount, loop, changeAnimation }) }}" id="options">
|
|
42
|
+
<view
|
|
43
|
+
wx:for="{{ optionsVIndexList }}"
|
|
44
|
+
wx:for-item="optionIndex"
|
|
29
45
|
wx:key="index"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
46
|
+
data-index="{{index}}"
|
|
47
|
+
style="{{computed.wrapperItemStyle({ itemHeight, index, visibleItemCount, fontStyle, activeStyle, instanceId, index, optionsVIndexList, animationIndex, options })}}"
|
|
48
|
+
class="smart-picker-column__item_{{index}} smart-ellipsis {{ computed.wrapperItemClass({ index, animationIndex, optionsVIndexList, instanceId, options })}}"
|
|
49
|
+
bind:tap="{{computed.tapItem(instanceId)}}"
|
|
33
50
|
>
|
|
34
51
|
</view>
|
|
35
52
|
</view>
|