Browse Source

first commit

master
lihenian 6 years ago
parent
commit
c93d8dccf7
  1. 47
      app.js
  2. 142
      app.json
  3. 77
      app.wxss
  4. 34
      components/completeInfoDialog/completeInfoDialog.js
  5. 3
      components/completeInfoDialog/completeInfoDialog.json
  6. 13
      components/completeInfoDialog/completeInfoDialog.wxml
  7. 75
      components/completeInfoDialog/completeInfoDialog.wxss
  8. 14
      components/loadMore/loadMore.js
  9. 3
      components/loadMore/loadMore.json
  10. 7
      components/loadMore/loadMore.wxml
  11. 18
      components/loadMore/loadMore.wxss
  12. 40
      components/navbar/index.js
  13. 3
      components/navbar/index.json
  14. 14
      components/navbar/index.wxml
  15. 53
      components/navbar/index.wxss
  16. 70
      components/pullDownRefresh/pullDownRefresh.js
  17. 3
      components/pullDownRefresh/pullDownRefresh.json
  18. 9
      components/pullDownRefresh/pullDownRefresh.wxml
  19. 27
      components/pullDownRefresh/pullDownRefresh.wxss
  20. 1
      dist/actionsheet/index.js
  21. 6
      dist/actionsheet/index.json
  22. 41
      dist/actionsheet/index.wxml
  23. 1
      dist/actionsheet/index.wxss
  24. 1
      dist/alert/index.js
  25. 6
      dist/alert/index.json
  26. 25
      dist/alert/index.wxml
  27. 1
      dist/alert/index.wxss
  28. 1
      dist/animation-group/index.js
  29. 3
      dist/animation-group/index.json
  30. 3
      dist/animation-group/index.wxml
  31. 1
      dist/animation-group/index.wxss
  32. 1
      dist/avatar/index.js
  33. 3
      dist/avatar/index.json
  34. 6
      dist/avatar/index.wxml
  35. 1
      dist/avatar/index.wxss
  36. 1
      dist/backdrop/index.js
  37. 6
      dist/backdrop/index.json
  38. 1
      dist/backdrop/index.wxml
  39. 1
      dist/backdrop/index.wxss
  40. 1
      dist/badge/index.js
  41. 3
      dist/badge/index.json
  42. 10
      dist/badge/index.wxml
  43. 1
      dist/badge/index.wxss
  44. 1
      dist/button/index.js
  45. 3
      dist/button/index.json
  46. 26
      dist/button/index.wxml
  47. 1
      dist/button/index.wxss
  48. 1
      dist/calendar/index.js
  49. 6
      dist/calendar/index.json
  50. 67
      dist/calendar/index.wxml
  51. 1
      dist/calendar/index.wxss
  52. 1
      dist/card/index.js
  53. 3
      dist/card/index.json
  54. 28
      dist/card/index.wxml
  55. 1
      dist/card/index.wxss
  56. 1
      dist/cascader-picker-view/index.js
  57. 6
      dist/cascader-picker-view/index.json
  58. 17
      dist/cascader-picker-view/index.wxml
  59. 0
      dist/cascader-picker-view/index.wxss
  60. 1
      dist/cascader/index.js
  61. 6
      dist/cascader/index.json
  62. 33
      dist/cascader/index.wxml
  63. 1
      dist/cascader/index.wxss
  64. 1
      dist/cell-group/index.js
  65. 3
      dist/cell-group/index.json
  66. 7
      dist/cell-group/index.wxml
  67. 1
      dist/cell-group/index.wxss
  68. 1
      dist/cell/index.js
  69. 3
      dist/cell/index.json
  70. 42
      dist/cell/index.wxml
  71. 1
      dist/cell/index.wxss
  72. 1
      dist/checkbox-group/index.js
  73. 7
      dist/checkbox-group/index.json
  74. 26
      dist/checkbox-group/index.wxml
  75. 0
      dist/checkbox-group/index.wxss
  76. 1
      dist/checkbox/index.js
  77. 7
      dist/checkbox/index.json
  78. 3
      dist/checkbox/index.wxml
  79. 1
      dist/checkbox/index.wxss
  80. 1
      dist/countdown/index.js
  81. 1
      dist/countup/index.js
  82. 1
      dist/dialog/index.js
  83. 6
      dist/dialog/index.json
  84. 56
      dist/dialog/index.wxml
  85. 1
      dist/dialog/index.wxss
  86. 1
      dist/field/index.js
  87. 3
      dist/field/index.json
  88. 1
      dist/field/index.wxml
  89. 0
      dist/field/index.wxss
  90. 1
      dist/filterbar/index.js
  91. 11
      dist/filterbar/index.json
  92. 134
      dist/filterbar/index.wxml
  93. 1
      dist/filterbar/index.wxss
  94. 1
      dist/form/index.js
  95. 3
      dist/form/index.json
  96. 1
      dist/form/index.wxml
  97. 0
      dist/form/index.wxss
  98. 1
      dist/gallery/index.js
  99. 6
      dist/gallery/index.json
  100. 16
      dist/gallery/index.wxml

47
app.js

@ -0,0 +1,47 @@
import checkoutVersion from './utils/checkVersion'
App({
onLaunch: function (options) {
// 判断是否由分享进入小程序
if (options.scene == 1007 || options.scene == 1008) {
this.globalData.share = true
} else {
this.globalData.share = false
};
//获取设备顶部窗口的高度(不同设备窗口高度不一样,根据这个来设置自定义导航栏的高度)
//这个最初我是在组件中获取,但是出现了一个问题,当第一次进入小程序时导航栏会把
//页面内容盖住一部分,当打开调试重新进入时就没有问题,这个问题弄得我是莫名其妙
//虽然最后解决了,但是花费了不少时间
wx.getSystemInfo({
success: (res) => {
this.globalData.height = res.statusBarHeight
}
})
// 检查版本更新
checkoutVersion()
},
globalData: {
flag: false,
exitApp: false,
userInfo: null,
accountState: 0, // 未注册
share: false, // 分享默认为false
height: 0,
infoCompleted: 0, // 0-未完善 1,2,3...-已完善
tempGridId: '',
userInfo : { // 当前登陆的用户信息
userId: '',
username: '',
userMobile: '',
partyFlag: ''
},
groupInfo: { // 友邻社群-当前展示的社群信息
groupAvatar: '',
groupLeader: '',
groupName:'',
groupId: '',
lordFlag: ''
},
previewImage: false, // 预览图片后会触发onShow,加个状态区分一下
}
})

142
app.json

@ -0,0 +1,142 @@
{
"pages": [
"pages/index/index",
"pages/mine/mine",
"pages/association/association",
"pages/discussion/discussion",
"pages/toRegister/toRegister",
"pages/toScan/toScan",
"pages/complete/complete",
"pages/formid/formid",
"pages/register/register",
"pages/detail/detail",
"pages/accept/accept",
"pages/gridLeaderRegister/gridLeaderRegister"
],
"subPackages": [
{
"root": "subpages/home",
"name": "home",
"pages": [
"pages/webview/webview",
"pages/agreement/agreement",
"pages/notice/notice",
"pages/info/info",
"pages/noticeDetail/noticeDetail",
"pages/newsDetail/newsDetail"
]
},
{
"root": "subpages/changegrid",
"name": "changeGrid",
"pages": [
"pages/changeGrid/changeGrid"
]
},
{
"root": "subpages/association",
"name": "association",
"pages": [
"pages/joinassociation/joinassociation",
"pages/createassociation/createassociation",
"pages/associationMember/associationMember",
"pages/associationDetail/associationDetail",
"pages/inviteFriend/inviteFriend",
"pages/incomingVerify/incomingVerify",
"pages/unpassAssociation/unpassAssociation",
"pages/topicList/topicList",
"pages/addTopic/addTopic",
"pages/topicDetail/topicDetail",
"pages/replyOrRemark/replyOrRemark",
"pages/changeToIssue/changeToIssue"
]
},
{
"root": "subpages/discussion",
"name": "discussion",
"pages": [
"pages/addIssue/addIssue",
"pages/discussionDetail/discussionDetail",
"pages/publishEvaluation/publishEvaluation",
"pages/remarkOrReply/remarkOrReply",
"pages/searchDiscussion/searchDiscussion",
"pages/categoryList/categoryList"
]
},
{
"root": "subpages/mine",
"name": "mine",
"pages": [
"pages/eventDetail/eventDetail",
"pages/inviteRecord/inviteRecord",
"pages/gridManage/gridManage"
]
}
],
"preloadRule": {
"pages/index/index": {
"network": "all",
"packages": ["subpages/changegrid"]
},
"pages/discussion/discussion": {
"network": "all",
"packages": ["discussion"]
},
"pages/association/association": {
"network": "all",
"packages": ["subpages/association"]
},
"pages/mine/mine": {
"network": "all",
"packages": ["mine"]
}
},
"tabBar": {
"color": "#666666",
"selectedColor": "#FF0000",
"backgroundColor": "#FFFFFF",
"borderStyle": "white",
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "images/home.png",
"selectedIconPath": "images/homeSelected.png"
},
{
"pagePath": "pages/discussion/discussion",
"text": "党群议事",
"iconPath": "images/discuss.png",
"selectedIconPath": "images/discussSelected.png"
},
{
"pagePath": "pages/association/association",
"text": "邻里党群",
"iconPath": "images/association.png",
"selectedIconPath": "images/association-select.png"
},
{
"pagePath": "pages/mine/mine",
"text": "我的",
"iconPath": "images/mine.png",
"selectedIconPath": "images/mineSelected.png"
}
]
},
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle": "black"
},
"networkTimeout": {
"request": 6000
},
"permission": {
"scope.userLocation": {
"desc": "党群e家将获取您的位置信息"
}
},
"sitemapLocation": "sitemap84.json"
}

77
app.wxss

@ -0,0 +1,77 @@
/**app.wxss**/
/* Wux Weapp Utility 工具类 */
@import './dist/styles/index.wxss';
page {
height: 100%;
display: flex;
/* flex-direction: column;
box-sizing: border-box; */
background: #f7f7f7;
position: relative;
z-index: 9999998;
}
.card {
display: flex;
margin: 10px 10px 10px 10px;
background: #ffffff;
border-radius: 8px;
height: calc(100% - 20px);
box-shadow: 0px 0px 5px #eeeeee;
flex-direction: column;
}
.fixed{
margin: auto;
position: fixed;
bottom: 50px;
left: 0;
right: 0;
}
.fixed2{
margin: auto;
position: fixed;
bottom: 125px;
left: 0;
right: 0;
}
.buttons {
width: 560rpx;
height: 84rpx;
font-size: 32rpx;
font-weight: bold;
margin: auto;
left: 0;
right: 0;
}
.btn_label{
position: absolute;
color: #fff;
z-index: 99;
width: 560rpx;
height: 84rpx;
text-align: center;
line-height: 84rpx;
}
.btn_label2{
position: absolute;
color: #fff;
z-index: 99;
width: 560rpx;
height: 84rpx;
text-align: center;
line-height: 84rpx;
}
.ic_btn {
width: 560rpx;
height: 84rpx;
position: fixed;
}
.ic_btn2 {
width: 560rpx;
height: 84rpx;
}
.btn {
width: 560rpx;
height: 84rpx;
opacity: 0;
}

34
components/completeInfoDialog/completeInfoDialog.js

@ -0,0 +1,34 @@
Component({
data: {
visible: false
},
properties: {
completeInfoDialogVisible: {
type: Boolean,
value: false,
observer (value) {
this.setData({
visible: !this.data.visible
})
}
}
},
methods: {
navigateToComplete () {
wx.navigateTo({
url: '/pages/complete/complete'
})
this.setData({
visible: false
})
},
closeDialog () {
this.setData({
visible: false
})
},
catchmove () {
}
}
})

3
components/completeInfoDialog/completeInfoDialog.json

@ -0,0 +1,3 @@
{
"component": true
}

13
components/completeInfoDialog/completeInfoDialog.wxml

@ -0,0 +1,13 @@
<view class="complete-info-dialog" wx:if="{{visible}}" catchtouchmove="catchmove">
<view class="content">
<view class="close-dialog">
<image bindtap="closeDialog" src="../../images/association/IC_guanbi@2x.png" />
</view>
<view class="title">提示</view>
<view class="tip">请先完善用户信息</view>
<view class="operation">
<view class="cancel" bindtap="closeDialog">下次再说</view>
<view class="confirm" bindtap="navigateToComplete">立即完善</view>
</view>
</view>
</view>

75
components/completeInfoDialog/completeInfoDialog.wxss

@ -0,0 +1,75 @@
.complete-info-dialog {
width: 100%;
height:100vh;
position: fixed;
left: 0;
top: 0;
background: rgba(0,0,0, 0.6);
display: flex;
justify-content: center;
align-items: center;
z-index: 1000;
}
.complete-info-dialog .content {
width: 530rpx;
border-radius: 16rpx;
background: #fff;
box-sizing: border-box;
padding: 0 20rpx;
}
.complete-info-dialog .content .close-dialog {
width: 100%;
height: 60rpx;
display: flex;
align-items: center;
justify-content: flex-end;
}
.complete-info-dialog .content .close-dialog image {
width:24rpx;
height:24rpx;
}
.complete-info-dialog .content .title {
font-size: 36rpx;
color: #333;
width:100%;
line-height: 60rpx;
height: 60rpx;
text-align: center;
margin-bottom: 27rpx;
}
.complete-info-dialog .content .tip {
font-size: 32rpx;
color: #666;
line-height: 50rpx;
text-align:center;
margin-bottom: 36rpx;
}
.complete-info-dialog .content .operation {
width: 100%;
height: 105rpx;
box-sizing: border-box;
padding: 15rpx 0;
display: flex;
justify-content: space-around;
align-items: center;
border-top: 1rpx solid #eaeaea;
}
.complete-info-dialog .content .operation .cancel {
width: 100%;
height:100%;
text-align: center;
line-height: 75rpx;
font-size: 36rpx;
color: #666;
}
.complete-info-dialog .content .operation .cancel + .confirm {
border-left: 1rpx solid #eaeaea;
}
.complete-info-dialog .content .operation .confirm {
width: 100%;
height:100%;
text-align: center;
line-height: 75rpx;
font-size: 36rpx;
color: #04BCA0;
}

14
components/loadMore/loadMore.js

@ -0,0 +1,14 @@
Component({
data: {
},
properties: {
loadMoreVisible: {
type: Boolean,
value: false
},
loadMoreType: {
type: String,
value: 'loading'
}
}
})

3
components/loadMore/loadMore.json

@ -0,0 +1,3 @@
{
"component": true
}

7
components/loadMore/loadMore.wxml

@ -0,0 +1,7 @@
<view class="load-more" style="visibility: {{loadMoreVisible ? 'visible' : 'hidden'}}">
<block wx:if="{{loadMoreType == 'loading'}}">
<image class="load-image" src="../../images/loading.gif" />
<view class="load-text">正在加载中...</view>
</block>
<view wx:else class="load-text">没有更多了~</view>
</view>

18
components/loadMore/loadMore.wxss

@ -0,0 +1,18 @@
.load-more {
width: 100%;
height: 100rpx;
background: #f7f7f7;
display: flex;
justify-content: center;
align-items: center;
}
.load-more .load-text {
color: #999;
font-size: 26rpx;
}
.load-more .load-image {
width: 30rpx;
height: 30rpx;
object-fit: cover;
margin-right: 10rpx;
}

40
components/navbar/index.js

@ -0,0 +1,40 @@
const app = getApp()
Component({
properties: {
navbarData: { //navbarData 由父页面传递的数据,变量名字自命名
type: Object,
value: {},
observer: function (newVal, oldVal) {}
}
},
data: {
height: '',
//默认值 默认显示左上角
navbarData: {
showCapsule: 1
}
},
attached: function () {
// 获取是否是通过分享进入的小程序
this.setData({
share: app.globalData.share
})
// 定义导航栏的高度 方便对齐
this.setData({
height: app.globalData.height
})
},
methods: {
// 返回上一页面
_navback() {
wx.navigateBack()
},
//返回到首页
_backhome() {
wx.switchTab({
url: '/pages/index/index',
})
}
}
})

3
components/navbar/index.json

@ -0,0 +1,3 @@
{
"component": true
}

14
components/navbar/index.wxml

@ -0,0 +1,14 @@
<view class='nav-wrap' style='height: {{height*2 + 20}}px;'>
<view class='nav-title' style='line-height: {{height*2 + 44}}px;'>{{navbarData.title}}</view>
<view style='display: flex; justify-content: space-around;flex-direction: column'>
<view class='nav-capsule' style='height: {{height*2 + 44}}px;' wx:if='{{navbarData.showCapsule}}'>
<!-- <view bindtap='_navback' wx:if='{{!share}}'>
<image src='/imgs/back-pre.png' mode='aspectFill' class='back-pre'></image>
</view>
<view class='navbar-v-line' wx:if='{{!share}}'></view> -->
<view bindtap='_backhome'>
<image src='/images/back-home.png' mode='aspectFill' class='back-home'></image>
</view>
</view>
</view>
</view>

53
components/navbar/index.wxss

@ -0,0 +1,53 @@
/* 顶部要固定定位 标题要居中 自定义按钮和标题要和右边微信原生的胶囊上下对齐 */
.nav-wrap {
position: fixed;
width: 100%;
top: 0;
background: #fff;
color: #000;
z-index: 9999999;
}
/* 标题要居中 */
.nav-title {
position: absolute;
text-align: center;
max-width: 400rpx;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
font-size: 36rpx;
color: #2c2b2b;
font-weight: 600;
}
.nav-capsule {
display: flex;
align-items: center;
margin-left: 30rpx;
width: 140rpx;
justify-content: space-between;
height: 100%;
}
.navbar-v-line {
width: 1px;
height: 32rpx;
background-color: #e5e5e5;
}
.back-pre, .back-home {
width: 36rpx;
height: 36rpx;
margin-top: 8rpx;
padding: 10rpx;
}
.nav-capsule .back-home {
width: 36rpx;
height: 36rpx;
margin-top: 6rpx;
}

70
components/pullDownRefresh/pullDownRefresh.js

@ -0,0 +1,70 @@
Component({
data: {
lastY: '',
translateHeight: 0,
state: -1,
scrollTop: 0,
enablePulldownFresh: false
},
options: {
multipleSlots: true
},
properties: {
upperDistance: {
type: Number,
value: 80
}
},
methods: {
onPageScroll (e) {
this.data.scrollTop = e.scrollTop
this.data.enablePulldownFresh = false
},
touchstart (e) {
this.data.lastY = e.touches[0].clientY
if (this.data.scrollTop === 0) {
this.data.enablePulldownFresh = true
} else {
this.data.enablePulldownFresh = false
}
},
touchmove (e) {
let clientY = e.touches[0].clientY
let offset = clientY - this.data.lastY
if (this.data.scrollTop > 0 || offset < 0) {
return false
}
this.data.translateHeight = offset
this.data.state = 1
if (this.data.enablePulldownFresh) {
if (this.data.translateHeight > this.data.upperDistance) {
this.data.state = 2
}
this.setData({
translateHeight: this.data.translateHeight > 100 ? 100 : this.data.translateHeight,
state: this.data.state
})
}
},
touchend (e) {
if (this.data.translateHeight > this.data.upperDistance) {
if (this.data.enablePulldownFresh) {
this.setData({
translateHeight: 100,
state: 3
})
this.triggerEvent('pullDownRefresh')
}
} else if (this.data.scrollTop <= 0) {
this.stopRefresh()
}
},
stopRefresh () {
this.setData({
translateHeight: 0,
state: -1
})
}
}
})

3
components/pullDownRefresh/pullDownRefresh.json

@ -0,0 +1,3 @@
{
"component": true
}

9
components/pullDownRefresh/pullDownRefresh.wxml

@ -0,0 +1,9 @@
<view class="pulldown-refresh" bindtouchstart="touchstart" bindtouchmove="touchmove" bindtouchend="touchend">
<view class="pulldown-state">
<image class="loading" src="../../images/loading.gif" />
<view class="loading-state">{{state == 1 ? '下拉刷新' : state == 2 ? '松开刷新' : '刷新中...'}}</view>
</view>
<view class="pulldown-content" style="transform: translateY({{translateHeight}}rpx)">
<slot name="content"></slot>
</view>
</view>

27
components/pullDownRefresh/pullDownRefresh.wxss

@ -0,0 +1,27 @@
.pulldown-refresh {
width:100%;
background: #f7f7f7;
}
.pulldown-refresh .pulldown-state {
width:100%;
height: 100rpx;
display:flex;
justify-content: center;
align-items: center;
margin-bottom: -100rpx;
}
.pulldown-refresh .pulldown-state .loading {
width: 30rpx;
height: 30rpx;
margin-right: 10rpx;
}
.pulldown-refresh .pulldown-state .loading-state {
font-size: 25rpx;
color:#666;
}
.pulldown-refresh .pulldown-content {
width:100%;
height:auto;
transition: transform 0.05s linear;
}

1
dist/actionsheet/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames7=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(n,!0).forEach(function(e){_defineProperty(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var defaults={prefixCls:"wux-actionsheet",theme:"ios",className:"",titleText:"",buttons:[],buttonClicked:function(){},cancelText:"取消",cancel:function(){}};(0,_baseComponent.default)({useFunc:!0,data:defaults,computed:{classes:["prefixCls, theme, buttons, cancelText",function(n,e,t,r){var o,c=(0,_classNames7.default)(n),a="".concat(n,"__popup"),s=(0,_classNames7.default)("".concat(n,"__content"),(_defineProperty(o={},"".concat(n,"__content--theme-").concat(e),e),_defineProperty(o,"".concat(n,"__content--has-cancel"),r),o)),i=(0,_classNames7.default)("".concat(n,"__group"),_defineProperty({},"".concat(n,"__group--options"),!0)),u="".concat(n,"__title"),d=(0,_classNames7.default)("".concat(n,"__button"),_defineProperty({},"".concat(n,"__button--destructive"),!0));return{wrap:c,popup:a,content:s,options:i,title:u,button:t.map(function(e){var t;return{wrap:(0,_classNames7.default)("".concat(n,"__button"),(_defineProperty(t={},"".concat(n,"__button--option"),!0),_defineProperty(t,"".concat(n,"__button--disabled"),e.disabled),_defineProperty(t,"".concat(e.className),e.className),t)),hover:e.hoverClass&&"default"!==e.hoverClass?e.hoverClass:"".concat(n,"__button--hover")}}),icon:"".concat(n,"__icon"),text:"".concat(n,"__text"),destructive:d,group:(0,_classNames7.default)("".concat(n,"__group"),_defineProperty({},"".concat(n,"__group--cancel"),!0)),cancel:(0,_classNames7.default)("".concat(n,"__button"),_defineProperty({},"".concat(n,"__button--cancel"),!0)),hover:"".concat(n,"__button--hover")}}]},methods:{showSheet:function(e){var t=0<arguments.length&&void 0!==e?e:{},n=this.$$mergeOptionsAndBindMethods(Object.assign({},defaults,t));return this.removed=!1,this.$$setData(_objectSpread({in:!0},n)),this.cancel.bind(this)},removeSheet:function(e){if(this.removed)return!1;this.removed=!0,this.$$setData({in:!1}),"function"==typeof e&&e(this.data.buttons)},buttonClicked:function(e){var t=e.currentTarget.dataset.index;!0===this.fns.buttonClicked(t,this.data.buttons[t])&&this.removeSheet()},destructiveButtonClicked:function(){!0===this.fns.destructiveButtonClicked()&&this.removeSheet()},cancel:function(){this.removeSheet(this.fns.cancel)},bindgetuserinfo:function(e){this.triggerEvent("getuserinfo",_objectSpread({},e.detail,{},e.currentTarget.dataset))},bindcontact:function(e){this.triggerEvent("contact",_objectSpread({},e.detail,{},e.currentTarget.dataset))},bindgetphonenumber:function(e){this.triggerEvent("getphonenumber",_objectSpread({},e.detail,{},e.currentTarget.dataset))},bindopensetting:function(e){this.triggerEvent("opensetting",_objectSpread({},e.detail,{},e.currentTarget.dataset))},onError:function(e){this.triggerEvent("error",_objectSpread({},e.detail,{},e.currentTarget.dataset))}}});

6
dist/actionsheet/index.json

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"wux-popup": "../popup/index"
}
}

41
dist/actionsheet/index.wxml

@ -0,0 +1,41 @@
<wux-popup wux-content-class="{{ theme === 'ios' ? classes.popup : '' }}" position="bottom" visible="{{ in }}" safeArea="bottom" bind:close="cancel">
<view class="wux-class {{ classes.wrap }}">
<view class="{{ classes.content }}">
<view class="{{ classes.options }}">
<view class="{{ classes.title }}" wx:if="{{ titleText }}">{{ titleText }}</view>
<block wx:for="{{ buttons }}" wx:for-item="button" wx:key="index">
<button
class="{{ classes.button[index].wrap }}"
data-index="{{ index }}"
disabled="{{ button.disabled }}"
open-type="{{ button.openType }}"
hover-class="{{ !button.disabled ? classes.button[index].hover : 'none' }}"
hover-stop-propagation="{{ button.hoverStopPropagation }}"
hover-start-time="{{ button.hoverStartTime }}"
hover-stay-time="{{ button.hoverStayTime }}"
lang="{{ button.lang }}"
bindgetuserinfo="bindgetuserinfo"
session-from="{{ button.sessionFrom }}"
send-message-title="{{ button.sendMessageTitle }}"
send-message-path="{{ button.sendMessagePath }}"
send-message-img="{{ button.sendMessageImg }}"
show-message-card="{{ button.showMessageCard }}"
bindcontact="bindcontact"
bindgetphonenumber="bindgetphonenumber"
app-parameter="{{ button.appParameter }}"
binderror="onError"
bindopensetting="bindopensetting"
catchtap="buttonClicked"
>
<image class="{{ classes.icon }}" src="{{ button.icon }}" wx:if="{{ button.icon }}" />
<text class="{{ classes.text }}">{{ button.text }}</text>
</button>
</block>
<button class="{{ classes.destructive }}" wx:if="{{ destructiveText }}" catchtap="destructiveButtonClicked">{{ destructiveText }}</button>
</view>
<view class="{{ classes.group }}" wx:if="{{ cancelText }}">
<button class="{{ classes.cancel }}" hover-class="{{ classes.hover }}" catchtap="cancel">{{ cancelText }}</button>
</view>
</view>
</view>
</wux-popup>

1
dist/actionsheet/index.wxss

@ -0,0 +1 @@
.wux-actionsheet__popup{background-color:transparent}.wux-actionsheet__content{margin-left:16rpx;margin-right:16rpx;width:auto;overflow:hidden}.wux-actionsheet__content--theme-wx{margin-left:0;margin-right:0;margin-bottom:0}.wux-actionsheet__content--theme-wx .wux-actionsheet__group{border-radius:0;margin-bottom:12rpx}.wux-actionsheet__content--theme-wx .wux-actionsheet__group--options{background-color:#fff}.wux-actionsheet__content--theme-wx .wux-actionsheet__group--cancel{margin-bottom:0}.wux-actionsheet__content--theme-wx .wux-actionsheet__button{font-size:36rpx;color:#000}.wux-actionsheet__content--theme-wx .wux-actionsheet__button--cancel{font-weight:400}.wux-actionsheet__content--theme-wx.wux-actionsheet__content--has-cancel{background-color:#efeff4}.wux-actionsheet__group{margin-bottom:16rpx;border-radius:8rpx;background-color:#fff;overflow:hidden}.wux-actionsheet__group--options{background-color:#f1f2f3}.wux-actionsheet__title{padding:32rpx;color:#8f8f8f;text-align:center;font-size:26rpx}.wux-actionsheet__button{position:relative;display:block;margin:0;padding:0;min-width:104rpx;min-height:96rpx;vertical-align:top;text-align:center;text-overflow:ellipsis;cursor:pointer;width:100%;border-radius:0;background-color:transparent;color:#007aff;font-size:42rpx;line-height:96rpx;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.wux-actionsheet__button--hover{box-shadow:none;border-color:#d1d3d6;color:#007aff;background:#e4e5e7}.wux-actionsheet__button--destructive{color:#ff3b30!important}.wux-actionsheet__button--cancel{font-weight:500}.wux-actionsheet__button--disabled{opacity:.3!important}.wux-actionsheet__group .wux-actionsheet__button{border-top:none}.wux-actionsheet__group .wux-actionsheet__button:after{transform:none;transform-origin:none;border:none;border-radius:0;content:" ";position:absolute;left:0;top:0;right:0;height:2rpx;border-top:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 0;transform:scaleY(.5)}.wux-actionsheet__group .wux-actionsheet__button:first-child:last-child:after{border-width:0}.wux-actionsheet__icon{display:inline-block;width:48rpx;height:48rpx;margin-right:20rpx}

1
dist/alert/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-alert"},classNames:{type:null,value:"wux-animate--fadeIn"},theme:{type:String,value:"balanced"},thumb:{type:String,value:""},title:{type:String,value:""},label:{type:String,value:""},closable:{type:Boolean,value:!1}},data:{visible:!0},computed:{classes:["prefixCls, theme",function(e,t){return{wrap:(0,_classNames2.default)(e,_defineProperty({},"".concat(e,"--").concat(t),t)),hd:"".concat(e,"__hd"),thumb:"".concat(e,"__thumb"),bd:"".concat(e,"__bd"),text:"".concat(e,"__text"),desc:"".concat(e,"__desc"),ft:"".concat(e,"__ft"),closable:"".concat(e,"__closable")}}]},methods:{onClose:function(){this.data.closable&&this.setData({visible:!1}),this.triggerEvent("click")},onClick:function(){this.triggerEvent("click")}}});

6
dist/alert/index.json

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"wux-animation-group": "../animation-group/index"
}
}

25
dist/alert/index.wxml

@ -0,0 +1,25 @@
<wux-animation-group in="{{ visible }}" classNames="{{ classNames }}">
<view class="wux-class {{ classes.wrap }}" bindtap="onClick">
<view class="{{ classes.hd }}">
<block wx:if="{{ thumb }}">
<image class="{{ classes.thumb }}" src="{{ thumb }}" />
</block>
<block wx:else>
<slot name="header"></slot>
</block>
</view>
<view class="{{ classes.bd }}">
<view wx:if="{{ title }}" class="{{ classes.text }}">{{ title }}</view>
<view wx:if="{{ label }}" class="{{ classes.desc }}">{{ label }}</view>
<slot></slot>
</view>
<view class="{{ classes.ft }}">
<block wx:if="{{ closable }}">
<view class="{{ classes.closable }}" catchtap="onClose">×</view>
</block>
<block wx:else>
<slot name="footer"></slot>
</block>
</view>
</view>
</wux-animation-group>

1
dist/alert/index.wxss

@ -0,0 +1 @@
.wux-alert{padding:20rpx 30rpx;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-radius:4rpx;font-size:28rpx}.wux-alert__thumb{display:block;width:40rpx;height:40rpx;margin-right:10rpx}.wux-alert__bd{-ms-flex:1;flex:1}.wux-alert__text{text-align:left}.wux-alert__desc{text-align:left;line-height:1.2;font-size:24rpx}.wux-alert--light{color:#fff;background-color:#ddd}.wux-alert--stable{color:#fff;background-color:#b2b2b2}.wux-alert--positive{color:#fff;background-color:#387ef5}.wux-alert--calm{color:#fff;background-color:#11c1f3}.wux-alert--assertive{color:#fff;background-color:#ef473a}.wux-alert--balanced{color:#fff;background-color:#33cd5f}.wux-alert--energized{color:#fff;background-color:#ffc900}.wux-alert--royal{color:#fff;background-color:#886aea}.wux-alert--dark{color:#fff;background-color:#444}

1
dist/animation-group/index.js

File diff suppressed because one or more lines are too long

3
dist/animation-group/index.json

@ -0,0 +1,3 @@
{
"component": true
}

3
dist/animation-group/index.wxml

@ -0,0 +1,3 @@
<view class="wux-class {{ wrapCls }} {{ animateCss }}" bindtap="onTap" catchtouchmove="{{ disableScroll ? 'noop' : '' }}" bindtransitionend="onTransitionEnd" bindanimationend="onAnimationEnd" wx:if="{{ animateStatus !== 'unmounted' }}" style="{{ extStyle }}">
<slot></slot>
</view>

1
dist/animation-group/index.wxss

@ -0,0 +1 @@
.wux-animate--fadeIn-enter{transition:opacity .3s;opacity:0}.wux-animate--fadeIn-enter-active,.wux-animate--fadeIn-enter-done{opacity:1}.wux-animate--fadeIn-exit{transition:opacity .3s;opacity:1}.wux-animate--fadeIn-exit-active,.wux-animate--fadeIn-exit-done{opacity:0}.wux-animate--fadeInDown-enter{transition:opacity .3s,transform .3s;opacity:0;transform:translate3d(0,-100%,0)}.wux-animate--fadeInDown-enter-active,.wux-animate--fadeInDown-enter-done{opacity:1;transform:none}.wux-animate--fadeInDown-exit{transition:opacity .3s,transform .3s;opacity:1;transform:none}.wux-animate--fadeInDown-exit-active,.wux-animate--fadeInDown-exit-done{opacity:0;transform:translate3d(0,-100%,0)}.wux-animate--fadeInLeft-enter{transition:opacity .3s,transform .3s;opacity:0;transform:translate3d(-100%,0,0)}.wux-animate--fadeInLeft-enter-active,.wux-animate--fadeInLeft-enter-done{opacity:1;transform:none}.wux-animate--fadeInLeft-exit{transition:opacity .3s,transform .3s;opacity:1;transform:none}.wux-animate--fadeInLeft-exit-active,.wux-animate--fadeInLeft-exit-done{opacity:0;transform:translate3d(-100%,0,0)}.wux-animate--fadeInRight-enter{transition:opacity .3s,transform .3s;opacity:0;transform:translate3d(100%,0,0)}.wux-animate--fadeInRight-enter-active,.wux-animate--fadeInRight-enter-done{opacity:1;transform:none}.wux-animate--fadeInRight-exit{transition:opacity .3s,transform .3s;opacity:1;transform:none}.wux-animate--fadeInRight-exit-active,.wux-animate--fadeInRight-exit-done{opacity:0;transform:translate3d(100%,0,0)}.wux-animate--fadeInUp-enter{transition:opacity .3s,transform .3s;opacity:0;transform:translate3d(0,100%,0)}.wux-animate--fadeInUp-enter-active,.wux-animate--fadeInUp-enter-done{opacity:1;transform:none}.wux-animate--fadeInUp-exit{transition:opacity .3s,transform .3s;opacity:1;transform:none}.wux-animate--fadeInUp-exit-active,.wux-animate--fadeInUp-exit-done{opacity:0;transform:translate3d(0,100%,0)}.wux-animate--slideInUp-enter{transition:transform .3s;transform:translate3d(0,100%,0);visibility:visible}.wux-animate--slideInUp-enter-active,.wux-animate--slideInUp-enter-done{transform:translateZ(0)}.wux-animate--slideInUp-exit{transition:transform .3s;transform:translateZ(0)}.wux-animate--slideInUp-exit-active,.wux-animate--slideInUp-exit-done{transform:translate3d(0,100%,0);visibility:visible}.wux-animate--slideInDown-enter{transition:transform .3s;transform:translate3d(0,-100%,0);visibility:visible}.wux-animate--slideInDown-enter-active,.wux-animate--slideInDown-enter-done{transform:translateZ(0)}.wux-animate--slideInDown-exit{transition:transform .3s;transform:translateZ(0)}.wux-animate--slideInDown-exit-active,.wux-animate--slideInDown-exit-done{transform:translate3d(0,-100%,0);visibility:visible}.wux-animate--slideInLeft-enter{transition:transform .3s;transform:translate3d(-100%,0,0);visibility:visible}.wux-animate--slideInLeft-enter-active,.wux-animate--slideInLeft-enter-done{transform:translateZ(0)}.wux-animate--slideInLeft-exit{transition:transform .3s;transform:translateZ(0)}.wux-animate--slideInLeft-exit-active,.wux-animate--slideInLeft-exit-done{transform:translate3d(-100%,0,0);visibility:visible}.wux-animate--slideInRight-enter{transition:transform .3s;transform:translate3d(100%,0,0);visibility:visible}.wux-animate--slideInRight-enter-active,.wux-animate--slideInRight-enter-done{transform:none}.wux-animate--slideInRight-exit{transition:transform .3s;transform:none}.wux-animate--slideInRight-exit-active,.wux-animate--slideInRight-exit-done{transform:translate3d(100%,0,0);visibility:visible}.wux-animate--zoom-enter{transition:all .3s cubic-bezier(.215,.61,.355,1);opacity:.01;transform:scale(.75)}.wux-animate--zoom-enter-active,.wux-animate--zoom-enter-done{opacity:1;transform:none}.wux-animate--zoom-exit{transition:all .25s linear;transform:none}.wux-animate--zoom-exit-active,.wux-animate--zoom-exit-done{opacity:.01;transform:scale(.75)}.wux-animate--punch-enter{transition:all .3s cubic-bezier(.215,.61,.355,1);opacity:.01;transform:scale(1.35)}.wux-animate--punch-enter-active,.wux-animate--punch-enter-done{opacity:1;transform:none}.wux-animate--punch-exit{transition:all .25s linear;transform:none}.wux-animate--punch-exit-active,.wux-animate--punch-exit-done{opacity:.01;transform:scale(1.35)}

1
dist/avatar/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames")),_styleToCssString=_interopRequireDefault(require("../helpers/styleToCssString"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _slicedToArray(e,t){return _arrayWithHoles(e)||_iterableToArrayLimit(e,t)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function _iterableToArrayLimit(e,t){var r=[],n=!0,a=!1,i=void 0;try{for(var l,o=e[Symbol.iterator]();!(n=(l=o.next()).done)&&(r.push(l.value),!t||r.length!==t);n=!0);}catch(e){a=!0,i=e}finally{try{n||null==o.return||o.return()}finally{if(a)throw i}}return r}function _arrayWithHoles(e){if(Array.isArray(e))return e}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-avatar"},shape:{type:String,value:"circle"},size:{type:String,value:"default"},src:{type:String,value:""},bodyStyle:{type:[String,Object],value:"",observer:function(e){this.setData({extStyle:(0,_styleToCssString.default)(e)})}},scale:{type:Boolean,value:!1}},data:{extStyle:"",childrenStyle:""},computed:{classes:["prefixCls, shape, size, src",function(e,t,r,n){var a;return{wrap:(0,_classNames2.default)(e,(_defineProperty(a={},"".concat(e,"--").concat(t),t),_defineProperty(a,"".concat(e,"--").concat(r),r),_defineProperty(a,"".concat(e,"--thumb"),n),a)),string:"".concat(e,"__string")}}]},methods:{setScale:function(){var l=this,e=this.data.prefixCls,t=wx.createSelectorQuery().in(this);t.select(".".concat(e)).boundingClientRect(),t.select(".".concat(e,"__string")).boundingClientRect(),t.exec(function(e){if(!e.filter(function(e){return!e}).length){var t=_slicedToArray(e,2),r=t[0],n=t[1],a=r.width-8<n.width?(r.width-8)/n.width:1,i=1!=a?"position: absolute; display: inline-block; transform: scale(".concat(a,"); left: calc(50% - ").concat(Math.round(n.width/2),"px)"):"";l.setData({childrenStyle:i})}})}},ready:function(){!this.data.src&&this.data.scale&&this.setScale()}});

3
dist/avatar/index.json

@ -0,0 +1,3 @@
{
"component": true
}

6
dist/avatar/index.wxml

@ -0,0 +1,6 @@
<view class="wux-class {{ classes.wrap }}" style="{{ extStyle }}">
<image src="{{ src }}" wx:if="{{ src }}" />
<text class="{{ classes.string }}" style="{{ childrenStyle }}" wx:else>
<slot></slot>
</text>
</view>

1
dist/avatar/index.wxss

@ -0,0 +1 @@
.wux-avatar{font-family:Monospaced Number,Chinese Quote,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:28rpx;line-height:1.5;color:rgba(0,0,0,.65);box-sizing:border-box;display:inline-block;text-align:center;background:#ccc;color:#fff;white-space:nowrap;position:relative;overflow:hidden;vertical-align:middle;width:64rpx;height:64rpx;line-height:64rpx;border-radius:32rpx;font-size:36rpx}.wux-avatar .wux-avatar__string{line-height:64rpx}.wux-avatar--small{width:48rpx;height:48rpx;line-height:48rpx;border-radius:24rpx;font-size:28rpx}.wux-avatar--small .wux-avatar__string{line-height:48rpx}.wux-avatar--large{width:80rpx;height:80rpx;line-height:80rpx;border-radius:40rpx;font-size:48rpx}.wux-avatar--large .wux-avatar__string{line-height:80rpx}.wux-avatar--square{border-radius:8rpx}.wux-avatar--thumb{background:0 0}.wux-avatar>image{width:100%;height:100%}

1
dist/backdrop/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-backdrop"},transparent:{type:Boolean,value:!1},zIndex:{type:Number,value:1e3},classNames:{type:null,value:"wux-animate--fadeIn"}},computed:{classes:["prefixCls, transparent",function(e,t){return{wrap:t?"".concat(e,"--transparent"):e}}]},methods:{retain:function(){"number"==typeof this.backdropHolds&&this.backdropHolds||(this.backdropHolds=0),this.backdropHolds=this.backdropHolds+1,1===this.backdropHolds&&this.setData({in:!0})},release:function(){1===this.backdropHolds&&this.setData({in:!1}),this.backdropHolds=Math.max(0,this.backdropHolds-1)},onClick:function(){this.triggerEvent("click")}}});

6
dist/backdrop/index.json

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"wux-animation-group": "../animation-group/index"
}
}

1
dist/backdrop/index.wxml

@ -0,0 +1 @@
<wux-animation-group wux-class="{{ classes.wrap }}" in="{{ in }}" classNames="{{ classNames }}" bind:click="onClick" wrapStyle="{{ { zIndex } }}" disableScroll />

1
dist/backdrop/index.wxss

@ -0,0 +1 @@
.wux-backdrop{background:rgba(0,0,0,.4)}.wux-backdrop,.wux-backdrop--transparent{position:fixed;z-index:1000;top:0;right:0;left:0;bottom:0}.wux-backdrop--transparent{background:0 0}

1
dist/badge/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}(0,_baseComponent.default)({externalClasses:["wux-class-badge"],properties:{prefixCls:{type:String,value:"wux-badge"},count:{type:Number,value:0,observer:"updated"},overflowCount:{type:Number,value:99},dot:{type:Boolean,value:!1},showZero:{type:Boolean,value:!1},status:{type:String,value:""},text:{type:String,value:""}},data:{finalCount:0},computed:{classes:["prefixCls, status",function(e,t){return{wrap:(0,_classNames2.default)(e),status:"".concat(e,"__status"),statusDot:(0,_classNames2.default)("".concat(e,"__status-dot"),_defineProperty({},"".concat(e,"__status-dot--").concat(t),t)),statusText:"".concat(e,"__status-text"),dot:"".concat(e,"__dot"),count:"".concat(e,"__count")}}]},methods:{updated:function(e){var t=0<arguments.length&&void 0!==e?e:this.data.count,a=this.data.overflowCount,s=a<=t?"".concat(a,"+"):t;this.setData({finalCount:s})}}});

3
dist/badge/index.json

@ -0,0 +1,3 @@
{
"component": true
}

10
dist/badge/index.wxml

@ -0,0 +1,10 @@
<view class="wux-class {{ classes.wrap }}">
<slot></slot>
<view class="{{ classes.status }}" wx:if="{{ status }}">
<view class="{{ classes.statusDot }}"></view>
<view class="{{ classes.statusText }}" wx:if="{{ text }}">{{ text }}</view>
</view>
<view class="{{ classes.dot }}" wx:elif="{{ dot }}"></view>
<view class="{{ classes.count }} wux-class-badge" wx:elif="{{ showZero && count === 0 }}">{{ finalCount }}</view>
<view class="{{ classes.count }} wux-class-badge" wx:elif="{{ count !== 0 }}">{{ finalCount }}</view>
</view>

1
dist/badge/index.wxss

@ -0,0 +1 @@
.wux-badge{position:relative;display:inline-block;line-height:1;vertical-align:middle}.wux-badge__count{position:absolute;transform:translateX(50%);top:-12rpx;right:0;height:36rpx;border-radius:18rpx;min-width:36rpx;background:#ed3f14;border:2rpx solid transparent;color:#fff;line-height:36rpx;text-align:center;padding:0 10rpx;font-size:24rpx;white-space:nowrap;transform-origin:-10% center;z-index:10;box-shadow:0 0 0 2rpx #fff;box-sizing:border-box;text-rendering:optimizeLegibility}.wux-badge__dot{position:absolute;transform:translateX(-50%);transform-origin:0 center;top:-8rpx;right:-16rpx;height:16rpx;width:16rpx;border-radius:100%;background:#ed3f14;z-index:10;box-shadow:0 0 0 2rpx #fff}.wux-badge__status{line-height:inherit;vertical-align:baseline}.wux-badge__status-dot{width:12rpx;height:12rpx;display:inline-block;border-radius:50%;vertical-align:middle;position:relative;top:-2rpx}.wux-badge__status-dot--success{background-color:#52c41a}.wux-badge__status-dot--processing{background-color:#1890ff;position:relative}.wux-badge__status-dot--processing:after{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:50%;border:2rpx solid #1890ff;content:"";animation:statusProcessing 1.2s infinite ease-in-out}.wux-badge__status-dot--default{background-color:#d9d9d9}.wux-badge__status-dot--error{background-color:#f5222d}.wux-badge__status-dot--warning{background-color:#faad14}.wux-badge__status-text{display:inline-block;color:rgba(0,0,0,.65);font-size:28rpx;margin-left:16rpx}@keyframes statusProcessing{0%{transform:scale(.8);opacity:.5}to{transform:scale(2.4);opacity:0}}

1
dist/button/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-button"},type:{type:String,value:"stable"},clear:{type:Boolean,value:!1},block:{type:Boolean,value:!1},full:{type:Boolean,value:!1},outline:{type:Boolean,value:!1},bordered:{type:Boolean,value:!0},size:{type:String,value:"default"},disabled:{type:Boolean,value:!1},loading:{type:Boolean,value:!1},formType:{type:String,value:""},openType:{type:String,value:""},hoverClass:{type:String,value:"default"},hoverStopPropagation:{type:Boolean,value:!1},hoverStartTime:{type:Number,value:20},hoverStayTime:{type:Number,value:70},lang:{type:String,value:"en"},sessionFrom:{type:String,value:""},sendMessageTitle:{type:String,value:""},sendMessagePath:{type:String,value:""},sendMessageImg:{type:String,value:""},showMessageCard:{type:Boolean,value:!1},appParameter:{type:String,value:""}},computed:{classes:["prefixCls, hoverClass, type, size, block, full, clear, outline, bordered, disabled",function(e,t,n,r,a,o,i,l,u,s){var p;return{wrap:(0,_classNames2.default)(e,(_defineProperty(p={},"".concat(e,"--").concat(n),n),_defineProperty(p,"".concat(e,"--").concat(r),r),_defineProperty(p,"".concat(e,"--block"),a),_defineProperty(p,"".concat(e,"--full"),o),_defineProperty(p,"".concat(e,"--clear"),i),_defineProperty(p,"".concat(e,"--outline"),l),_defineProperty(p,"".concat(e,"--bordered"),u),_defineProperty(p,"".concat(e,"--disabled"),s),p)),hover:t&&"default"!==t?t:"".concat(e,"--hover")}}]},methods:{onTap:function(){this.data.disabled||this.data.loading||this.triggerEvent("click")},bindgetuserinfo:function(e){this.triggerEvent("getuserinfo",e.detail)},bindcontact:function(e){this.triggerEvent("contact",e.detail)},bindgetphonenumber:function(e){this.triggerEvent("getphonenumber",e.detail)},bindopensetting:function(e){this.triggerEvent("opensetting",e.detail)},onError:function(e){this.triggerEvent("error",e.detail)}}});

3
dist/button/index.json

@ -0,0 +1,3 @@
{
"component": true
}

26
dist/button/index.wxml

@ -0,0 +1,26 @@
<button
class="wux-class {{ classes.wrap }}"
disabled="{{ disabled }}"
loading="{{ loading }}"
form-type="{{ formType }}"
open-type="{{ openType }}"
hover-class="wux-hover-class {{ !disabled ? classes.hover : 'none' }}"
hover-stop-propagation="{{ hoverStopPropagation }}"
hover-start-time="{{ hoverStartTime }}"
hover-stay-time="{{ hoverStayTime }}"
lang="{{ lang }}"
bindgetuserinfo="bindgetuserinfo"
session-from="{{ sessionFrom }}"
send-message-title="{{ sendMessageTitle }}"
send-message-path="{{ sendMessagePath }}"
send-message-img="{{ sendMessageImg }}"
show-message-card="{{ showMessageCard }}"
bindcontact="bindcontact"
bindgetphonenumber="bindgetphonenumber"
app-parameter="{{ appParameter }}"
binderror="onError"
bindopensetting="bindopensetting"
bindtap="onTap"
>
<slot></slot>
</button>

1
dist/button/index.wxss

File diff suppressed because one or more lines are too long

1
dist/calendar/index.js

File diff suppressed because one or more lines are too long

6
dist/calendar/index.json

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"wux-popup": "../popup/index"
}
}

67
dist/calendar/index.wxml

@ -0,0 +1,67 @@
<wux-popup position="bottom" visible="{{ in }}" zIndex="1010" safeArea="bottom" bind:close="close">
<view class="wux-class {{ classes.wrap }}">
<view class="{{ classes.content }}">
<view class="{{ classes.hd }}" wx:if="{{ toolbar }}">
<view class="{{ classes.toolbar }}">
<view class="{{ classes.picker }}">
<view class="{{ classes.link }}" bindtap="prevMonth">
<view class="{{ classes.prev }}"></view>
</view>
<view class="{{ classes.value }}">{{ currentMonthName }}</view>
<view class="{{ classes.link }}" bindtap="nextMonth">
<view class="{{ classes.next }}"></view>
</view>
</view>
<view class="{{ classes.picker }}">
<view class="{{ classes.link }}" bindtap="prevYear">
<view class="{{ classes.prev }}"></view>
</view>
<text class="{{ classes.value }}">{{ currentYear }}</text>
<view class="{{ classes.link }}" bindtap="nextYear">
<view class="{{ classes.next }}"></view>
</view>
</view>
</view>
</view>
<view class="{{ classes.bd }}">
<view class="{{ classes.weekdays }}" wx:if="{{ weekHeader }}">
<block wx:for="{{ weeks }}" wx:key="">
<view class="{{ classes.weekday }} {{ item.weekend ? prefixCls + '__weekday--weekend' : '' }}">
{{ item.dayName }}
</view>
</block>
</view>
<view class="{{ classes.months }}">
<view class="{{ classes.monthsContent }}" bindtouchstart="onTouchStart" catchtouchmove="{{ swiping ? 'noop' : '' }}" capture-bind:touchmove="onTouchMove" bindtouchend="onTouchEnd" style="{{ wrapperTranslate }}">
<block wx:for="{{ months }}" wx:for-item="month" wx:key="">
<view
data-year="{{ month.year }}"
data-month="{{ month.month }}"
class="{{ classes.month }} {{ index === 0 ? (prefixCls + '__month--prev') : index === 1 ? (prefixCls + '__month--current') : (prefixCls + '__month--next') }}"
style="{{ monthsTranslate[index] }}"
>
<block wx:for="{{ month.items }}" wx:for-item="row" wx:key="">
<view class="{{ classes.days }}">
<block wx:for="{{ row }}" wx:for-item="col" wx:key="">
<view
data-year="{{ col.year }}"
data-month="{{ col.month }}"
data-day="{{ col.day }}"
data-date="{{ col.date }}"
data-type="{{ col.type }}"
class="{{ classes.day }} {{ col.type.prev ? prefixCls + '__day--prev' : '' }} {{ col.type.next ? prefixCls + '__day--next' : '' }} {{ col.type.today ? prefixCls + '__day--today' : '' }} {{ col.type.selected ? prefixCls + '__day--selected' : '' }} {{ col.type.weekend ? prefixCls + '__day--weekend' : '' }} {{ col.type.disabled ? prefixCls + '__day--disabled' : '' }}"
bindtap="onDayClick"
>
<text class="{{ classes.text }}">{{ col.day }}</text>
</view>
</block>
</view>
</block>
</view>
</block>
</view>
</view>
</view>
</view>
</view>
</wux-popup>

1
dist/calendar/index.wxss

@ -0,0 +1 @@
.wux-calendar{position:relative;background:#fff;height:600rpx;width:100%;overflow:hidden}.wux-calendar__content{position:relative;width:100%;height:100%;transition:transform .3s}.wux-calendar__bd{height:100%;position:relative;overflow:hidden}.wux-calendar__hd{position:relative;width:100%}.wux-calendar__hd:before{content:" ";position:absolute;left:0;top:0;right:0;height:2rpx;border-top:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 0;transform:scaleY(.5)}.wux-calendar__hd+.wux-calendar__bd{height:calc(97.8%)}.wux-calendar__toolbar{height:2.2rem;display:-ms-flexbox;display:flex;text-align:center}.wux-calendar__picker{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;width:50%;max-width:400rpx;-ms-flex-negative:10;flex-shrink:10;display:block;line-height:2.2rem}.wux-calendar__link{float:left;width:25%;height:2.2rem;line-height:2rem;min-width:72rpx}.wux-calendar__icon{display:inline-block;vertical-align:middle;background-size:100% auto;background-position:center}.wux-calendar__icon--next,.wux-calendar__icon--prev{width:.75rem;height:.75rem}.wux-calendar__icon--next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M1%2C1.6l11.8%2C5.8L1%2C13.4V1.6%20M0%2C0v15l15-7.6L0%2C0L0%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.wux-calendar__icon--prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2015%2015'%3E%3Cg%3E%3Cpath%20fill%3D'%23007aff'%20d%3D'M14%2C1.6v11.8L2.2%2C7.6L14%2C1.6%20M15%2C0L0%2C7.6L15%2C15V0L15%2C0z'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.wux-calendar__value{-ms-flex-negative:1;flex-shrink:1;position:relative;overflow:hidden;text-overflow:ellipsis;float:left;width:50%;height:2.2rem}.wux-calendar__weekdays{height:36rpx;background:#f7f7f8;display:-ms-flexbox;display:flex;font-size:22rpx;box-sizing:border-box;position:relative}.wux-calendar__weekdays:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:2rpx;border-bottom:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 100%;transform:scaleY(.5)}.wux-calendar__weekdays+.wux-calendar__months{height:calc(82%)}.wux-calendar__weekday{-ms-flex-negative:1;flex-shrink:1;width:14.28571429%;width:calc(14.28571429%);line-height:34rpx;text-align:center}.wux-calendar__months{width:100%;height:100%;overflow:hidden;position:relative}.wux-calendar__months-content{width:100%;height:100%;display:-ms-flexbox;display:flex;position:relative;-webkit-backface-visibility:hidden;transform:translate3d(0,0,0)}.wux-calendar__month{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;height:100%;position:absolute;left:0;top:0}.wux-calendar__days{height:16.66666667%;height:calc(16.66666667%);display:-ms-flexbox;display:flex;-ms-flex-negative:1;flex-shrink:1;width:100%;position:relative}.wux-calendar__days:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:2rpx;border-bottom:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 100%;transform:scaleY(.5)}.wux-calendar__days:last-child:after{display:none}.wux-calendar__day{-ms-flex-negative:1;flex-shrink:1;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;box-sizing:border-box;width:14.28571429%;width:calc(14.28571429%);text-align:center;color:#3d4145;font-size:30rpx;cursor:pointer}.wux-calendar__day--next,.wux-calendar__day--prev{color:#ccc}.wux-calendar__day--disabled{color:#d4d4d4;cursor:auto}.wux-calendar__day--today .wux-calendar__text{background:#e3e3e3}.wux-calendar__day--selected .wux-calendar__text{background:#0894ec;color:#fff}.wux-calendar__text{display:inline-block;border-radius:100%;width:60rpx;height:60rpx;line-height:60rpx}

1
dist/card/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames3=_interopRequireDefault(require("../helpers/classNames")),_styleToCssString=_interopRequireDefault(require("../helpers/styleToCssString"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-card"},bordered:{type:Boolean,value:!0},full:{type:Boolean,value:!1},title:{type:String,value:""},thumb:{type:String,value:""},thumbStyle:{type:[String,Object],value:"",observer:function(e){this.setData({extStyle:(0,_styleToCssString.default)(e)})}},extra:{type:String,value:""},actions:{type:Array,value:[]}},data:{extStyle:""},computed:{classes:["prefixCls, bordered, full, actions",function(a,e,t,n){var r;return{wrap:(0,_classNames3.default)(a,(_defineProperty(r={},"".concat(a,"--bordered"),e),_defineProperty(r,"".concat(a,"--full"),t),_defineProperty(r,"".concat(a,"--has-actions"),0<n.length),r)),hd:"".concat(a,"__hd"),content:"".concat(a,"__content"),thumb:"".concat(a,"__thumb"),extra:"".concat(a,"__extra"),bd:"".concat(a,"__bd"),ft:"".concat(a,"__ft"),actions:"".concat(a,"__actions"),action:n.map(function(e){var t;return{wrap:(0,_classNames3.default)("".concat(a,"__action"),(_defineProperty(t={},"".concat(a,"__action--").concat(e.type||"default"),e.type||"default"),_defineProperty(t,"".concat(a,"__action--bold"),e.bold),_defineProperty(t,"".concat(a,"__action--disabled"),e.disabled),_defineProperty(t,"".concat(e.className),e.className),t)),hover:e.hoverClass&&"default"!==e.hoverClass?e.hoverClass:"".concat(a,"__action--hover")}})}}]},methods:{onAction:function(e){var t=e.currentTarget.dataset.index,a=this.data.actions,n=a[t];n.disabled||this.triggerEvent("action",{index:t,action:n,actions:a})}}});

3
dist/card/index.json

@ -0,0 +1,3 @@
{
"component": true
}

28
dist/card/index.wxml

@ -0,0 +1,28 @@
<view class="wux-class {{ classes.wrap }}">
<view class="{{ classes.hd }}" wx:if="{{ thumb || title || extra }}">
<view class="{{ classes.content }}" wx:if="{{ thumb || title }}">
<image class="{{ classes.thumb }}" src="{{ thumb }}" mode="aspectFit" style="{{ extStyle }}" wx:if="{{ thumb }}" />
<text>{{ title }}</text>
</view>
<view class="{{ classes.extra }}" wx:if="{{ extra }}">{{ extra }}</view>
<slot name="extra" wx:else></slot>
</view>
<view class="{{ classes.bd }}">
<slot name="body"></slot>
</view>
<view class="{{ classes.ft }}">
<slot name="footer"></slot>
</view>
<view class="{{ classes.actions }}" wx:if="{{ actions.length > 0 }}">
<block wx:for="{{ actions }}" wx:for-item="action" wx:key="">
<view
class="{{ classes.action[index].wrap }}"
hover-class="{{ !action.disabled ? classes.action[index].hover : 'none' }}"
data-index="{{ index }}"
bindtap="onAction"
>
{{ action.text }}
</view>
</block>
</view>
</view>

1
dist/card/index.wxss

@ -0,0 +1 @@
.wux-card{position:relative;min-height:192rpx;padding-bottom:12rpx;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;background-color:#fff}.wux-card--bordered:before{content:" ";position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #d9d9d9;border-radius:20rpx;border-top-width:2rpx;border-right-width:2rpx;border-bottom-width:2rpx;border-left-width:2rpx}.wux-card--full:before{border-radius:0;border-right-width:0;border-left-width:0}.wux-card--has-actions{padding-bottom:0}.wux-card__hd{position:relative;display:-ms-flexbox;display:flex;font-size:34rpx;padding:18rpx 30rpx;-ms-flex-align:center;align-items:center}.wux-card__hd:before{content:" ";position:absolute;left:0;bottom:0;right:0;height:2rpx;border-bottom:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 100%;transform:scaleY(.5)}.wux-card__content{-ms-flex:1;flex:1;text-align:left;color:#000}.wux-card__thumb{display:inline-block;width:64rpx;height:64rpx;position:relative;margin-left:auto;margin-right:10rpx;overflow:hidden;vertical-align:middle}.wux-card__extra{-ms-flex:1;flex:1;text-align:right;font-size:34rpx;color:#888}.wux-card__bd{position:relative;padding:30rpx 30rpx 12rpx;font-size:30rpx;color:#333;min-height:80rpx}.wux-card__ft{display:-ms-flexbox;display:flex;font-size:28rpx;color:#888;padding:0 30rpx}.wux-card__actions{position:relative;display:-ms-flexbox;display:flex;line-height:100rpx;margin-top:12rpx;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.wux-card__actions:before{content:" ";position:absolute;left:0;top:0;right:0;height:2rpx;border-top:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 0;transform:scaleY(.5)}.wux-card__action{position:relative;display:block;-ms-flex:1;flex:1;color:#33cd5f;text-align:center}.wux-card__action:before{content:" ";position:absolute;right:0;top:0;width:2rpx;bottom:0;border-right:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:100% 0;transform:scaleX(.5)}.wux-card__action:last-child:before{display:none}.wux-card__action--default{color:#353535}.wux-card__action--primary{color:#33cd5f!important}.wux-card__action--bold{font-weight:500!important}.wux-card__action--hover{background-color:#ececec!important}.wux-card__action--disabled{opacity:.3}

1
dist/cascader-picker-view/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames=_interopRequireDefault(require("../helpers/classNames")),_arrayTreeFilter=_interopRequireDefault(require("../helpers/arrayTreeFilter")),_props=require("../multi-picker-view/props");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}function ownKeys(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(r,!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}(0,_baseComponent.default)({properties:_objectSpread({},_props.props,{cols:{type:Number,value:3}}),data:{inputValue:[],showOptions:[],fieldNames:_props.defaultFieldNames},observers:_defineProperty({inputValue:function(e){var r=this.getFieldName("value"),n=this.getFieldName("label"),t=this.getShowOptions(e).reduce(function(e,t){return[].concat(_toConsumableArray(e),[t.map(function(e){var t;return _defineProperty(t={},r,e[r]),_defineProperty(t,n,e[n]),_defineProperty(t,"disabled",!!e.disabled),t})])},[]);this.setData({showOptions:t})}},"value, options, cols",function(e,t,r){this.setValue(e,t,r)}),methods:{updated:function(e){this.data.inputValue!==e&&this.setData({inputValue:e})},setValue:function(e,t,r){var n=0<arguments.length&&void 0!==e?e:this.data.inputValue,i=1<arguments.length&&void 0!==t?t:this.data.options,a=2<arguments.length&&void 0!==r?r:this.data.cols,o=this.getRealValue(i,n,a);this.updated(o)},onValueChange:function(e){var t=e.detail,r=t.value,n=t.index,i=this.getNextValue(r,n),a=this.getRealValue(this.data.options,i),o=this.getValue(a);this.updated(a),this.triggerEvent("valueChange",_objectSpread({},o,{index:n}))},getValue:function(e){var t=0<arguments.length&&void 0!==e?e:this.data.inputValue,r=this.getRealValue(this.data.options,t),n=this.getShowOptions(r);return this.picker=this.picker||this.selectComponent("#wux-picker"),this.picker.getValue(r,n)},getNextValue:function(r,n){for(var e=this.data.options,i=this.getFieldName("value"),t=this.getFieldName("children"),a=(0,_arrayTreeFilter.default)(e,function(e,t){return t<=n&&e[i]===r[t]},{childrenKeyName:t})[n],o=n+1;o<this.data.cols;)a&&a[t]&&a[t].length&&(a=a[t][0],r[o]=a[i]),o++;return r.length=o,r},getRealValue:function(o,u,e){var l=this,s=2<arguments.length&&void 0!==e?e:this.data.cols;if(!u||!u.length||-1<u.indexOf(void 0)||u.length!==s){var t=function(){for(var t=l.getFieldName("value"),e=l.getFieldName("children"),r=[],n=_toConsumableArray(o),i=0;i<s;){if(n&&n.length){r[i]=u[i]||n[0][t];var a=0;r[i]&&-1===(a=n.map(function(e){return e[t]}).indexOf(r[i]))&&(a=0,r[i]=n[0][t]),n=n[a][e]}i++}return{v:r}}();if("object"===_typeof(t))return t.v}return u},getActiveOptions:function(r){var e=this.data.options,n=this.getFieldName("value"),t=this.getFieldName("children");return(0,_arrayTreeFilter.default)(e,function(e,t){return e[n]===r[t]},{childrenKeyName:t})},getShowOptions:function(e){var t=this.data,r=t.options,n=t.cols,i=this.getFieldName("children"),a=this.getActiveOptions(e).map(function(e){return e[i]}).filter(function(e){return!!e});return[r].concat(_toConsumableArray(a)).filter(function(e,t){return t<n})},getFieldName:function(e){return this.data.fieldNames[e]}},attached:function(){var e=this.data,t=e.value,r=e.options,n=e.cols,i=Object.assign({},_props.defaultFieldNames,this.data.defaultFieldNames);this.setData({fieldNames:i}),this.setValue(t,r,n)}});

6
dist/cascader-picker-view/index.json

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"wux-multi-picker-view": "../multi-picker-view/index"
}
}

17
dist/cascader-picker-view/index.wxml

@ -0,0 +1,17 @@
<wux-multi-picker-view
id="wux-picker"
prefixCls="{{ prefixCls }}"
pickerPrefixCls="{{ pickerPrefixCls }}"
value="{{ inputValue }}"
itemHeight="{{ itemHeight }}"
itemStyle="{{ itemStyle }}"
indicatorStyle="{{ indicatorStyle }}"
indicatorClass="{{ indicatorClass }}"
maskStyle="{{ maskStyle }}"
maskClass="{{ maskClass }}"
labelAlign="{{ labelAlign }}"
defaultFieldNames="{{ fieldNames }}"
options="{{ showOptions }}"
loading="{{ loading }}"
bind:valueChange="onValueChange"
/>

0
dist/cascader-picker-view/index.wxss

1
dist/cascader/index.js

File diff suppressed because one or more lines are too long

6
dist/cascader/index.json

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"wux-popup": "../popup/index"
}
}

33
dist/cascader/index.wxml

@ -0,0 +1,33 @@
<wux-popup position="bottom" visible="{{ visible }}" safeArea="bottom" bind:close="onPopupClose">
<view class="wux-class {{ classes.wrap }}">
<view class="{{ classes.hd }}">
<view class="{{ classes.title }}" wx:if="{{ title }}">{{ title }}</view>
<view class="{{ classes.menus }}" wx:if="{{ activeOptions.length }}">
<block wx:for="{{ activeOptions }}" wx:key="">
<view class="{{ classes.menu }} {{ activeIndex === index ? prefixCls + '__menu--active' : '' }}" data-menu-index="{{ index }}" bindtap="onMenuClick">{{ item[fieldNames['label']] }}</view>
</block>
</view>
</view>
<view class="{{ classes.bd }}" style="{{ bodyStyle }}">
<block wx:for="{{ showOptions }}" wx:for-item="option" wx:for-index="optionIndex" wx:key="">
<view class="{{ classes.inner }}">
<scroll-view scroll-y class="wux-scroll-view-class {{ classes.scrollView }}">
<view class="{{ classes.option }}">
<block wx:for="{{ option }}" wx:key="">
<view
class="{{ classes.item }} {{ activeValue[optionIndex] === item[fieldNames['value']] ? prefixCls + '__item--active' : '' }} {{ item.disabled ? prefixCls + '__item--disabled' : '' }}"
data-option-index="{{ optionIndex }}"
data-item="{{ item }}"
bindtap="onItemSelect"
>
<text>{{ item[fieldNames['label']] }}</text>
<icon class="{{ classes.icon }}" type="success_no_circle" size="16" color="#ef473a" wx:if="{{ activeValue[optionIndex] === item[fieldNames['value']] }}" />
</view>
</block>
</view>
</scroll-view>
</view>
</block>
</view>
</view>
</wux-popup>

1
dist/cascader/index.wxss

@ -0,0 +1 @@
.wux-cascader__hd{position:relative;width:100%;font-size:34rpx;line-height:1.5;color:#444}.wux-cascader__hd:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:2rpx;border-bottom:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 100%;transform:scaleY(.5)}.wux-cascader__title{position:relative;height:88rpx;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;text-align:center;box-sizing:border-box}.wux-cascader__title:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:2rpx;border-bottom:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 100%;transform:scaleY(.5)}.wux-cascader__menus{display:-ms-flexbox;display:flex;height:88rpx;padding:0 20rpx;-ms-flex-align:center;align-items:center;box-sizing:border-box}.wux-cascader__menu{font-size:26rpx;padding:0 20rpx;max-width:40%;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.wux-cascader__menu--active{color:#ef473a}.wux-cascader__bd{width:100%;display:-ms-flexbox;display:flex;transition:transform .3s;background-color:#f5f5f5}.wux-cascader__inner{display:block;height:inherit;width:50%;-ms-flex:0 0 50%;flex:0 0 50%;background-color:#fff}.wux-cascader__inner:nth-child(2n){background-color:#f5f5f5}.wux-cascader__scroll-view{max-height:540rpx}.wux-cascader__option{width:100%;height:inherit;display:block;padding:0 40rpx;box-sizing:border-box}.wux-cascader__item{position:relative;z-index:10;display:block;color:#333;font-size:26rpx;height:80rpx;line-height:80rpx;text-align:left;padding-right:36rpx;width:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-wrap:normal}.wux-cascader__item:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:2rpx;border-bottom:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 100%;transform:scaleY(.5)}.wux-cascader__item--active{color:#ef473a}.wux-cascader__item--disabled{opacity:.3}.wux-cascader__icon{position:absolute;top:24rpx;right:0;z-index:20;font-size:0;line-height:1}

1
dist/cell-group/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(0,_baseComponent.default)({options:{multipleSlots:!1},relations:{"../cell/index":{type:"descendant",observer:function(){this.debounce(this.updateIsLastElement)}}},properties:{prefixCls:{type:String,value:"wux-cell-group"},title:{type:String,value:""},label:{type:String,value:""}},computed:{classes:["prefixCls",function(e){return{wrap:(0,_classNames.default)(e),hd:"".concat(e,"__hd"),bd:"".concat(e,"__bd"),ft:"".concat(e,"__ft")}}]},methods:{updateIsLastElement:function(){var e=this.getRelationNodes("../cell/index");if(0<e.length){var n=e.length-1;e.forEach(function(e,t){e.updateIsLastElement(t===n)})}},getBoundingClientRect:function(t){var n=this,e=".".concat(this.data.prefixCls);wx.createSelectorQuery().in(this).select(e).boundingClientRect(function(e){e&&t.call(n,e.height)}).exec()}}});

3
dist/cell-group/index.json

@ -0,0 +1,3 @@
{
"component": true
}

7
dist/cell-group/index.wxml

@ -0,0 +1,7 @@
<view class="wux-class {{ classes.wrap }}">
<view class="{{ classes.hd }}" wx:if="{{ title }}">{{ title }}</view>
<view class="{{ classes.bd }}">
<slot></slot>
</view>
<view class="{{ classes.ft }}" wx:if="{{ label }}">{{ label }}</view>
</view>

1
dist/cell-group/index.wxss

@ -0,0 +1 @@
.wux-cell-group__hd{padding:30rpx 30rpx 18rpx;font-size:28rpx;color:#888;width:100%;box-sizing:border-box}.wux-cell-group__bd{position:relative;background-color:#fff}.wux-cell-group__bd:after{content:" ";position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #d9d9d9;border-top-width:2rpx;border-bottom-width:2rpx}.wux-cell-group__ft{padding:18rpx 30rpx 30rpx;font-size:28rpx;color:#888}

1
dist/cell/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames")),_eventsMixin=_interopRequireDefault(require("../helpers/eventsMixin"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var defaultEvents={onClick:function(){},onError:function(){}};(0,_baseComponent.default)({behaviors:[(0,_eventsMixin.default)({defaultEvents:defaultEvents})],relations:{"../cell-group/index":{type:"ancestor"},"../picker/index":{type:"parent"},"../date-picker/index":{type:"parent"},"../popup-select/index":{type:"parent"}},properties:{prefixCls:{type:String,value:"wux-cell"},disabled:{type:Boolean,value:!1},hoverClass:{type:String,value:"default"},hoverStopPropagation:{type:Boolean,value:!1},hoverStartTime:{type:Number,value:20},hoverStayTime:{type:Number,value:70},lang:{type:String,value:"en"},sessionFrom:{type:String,value:""},sendMessageTitle:{type:String,value:""},sendMessagePath:{type:String,value:""},sendMessageImg:{type:String,value:""},showMessageCard:{type:Boolean,value:!1},appParameter:{type:String,value:""},thumb:{type:String,value:""},title:{type:String,value:""},label:{type:String,value:""},extra:{type:String,value:""},isLink:{type:Boolean,value:!1},openType:{type:String,value:"navigateTo"},url:{type:String,value:""},delta:{type:Number,value:1}},data:{isLast:!1},computed:{classes:["prefixCls, hoverClass, isLast, isLink, disabled",function(e,t,n,a,i){var r;return{wrap:(0,_classNames2.default)(e,(_defineProperty(r={},"".concat(e,"--last"),n),_defineProperty(r,"".concat(e,"--access"),a),_defineProperty(r,"".concat(e,"--disabled"),i),r)),hd:"".concat(e,"__hd"),thumb:"".concat(e,"__thumb"),bd:"".concat(e,"__bd"),text:"".concat(e,"__text"),desc:"".concat(e,"__desc"),ft:"".concat(e,"__ft"),hover:t&&"default"!==t?t:"".concat(e,"--hover")}}]},methods:{onTap:function(){this.data.disabled||(this.triggerEvent("click"),this.linkTo())},bindgetuserinfo:function(e){this.triggerEvent("getuserinfo",e.detail)},bindcontact:function(e){this.triggerEvent("contact",e.detail)},bindgetphonenumber:function(e){this.triggerEvent("getphonenumber",e.detail)},bindopensetting:function(e){this.triggerEvent("opensetting",e.detail)},onError:function(e){this.triggerEvent("error",e.detail)},linkTo:function(){var e=this.data,t=e.url,n=e.isLink,a=e.openType,i=e.delta;return!!(n&&t&&["navigateTo","redirectTo","switchTab","navigateBack","reLaunch"].includes(a))&&("navigateBack"===a?wx[a].call(wx,{delta:i}):wx[a].call(wx,{url:t}))},updateIsLastElement:function(e){this.setData({isLast:e})}}});

3
dist/cell/index.json

@ -0,0 +1,3 @@
{
"component": true
}

42
dist/cell/index.wxml

@ -0,0 +1,42 @@
<button
class="wux-class {{ classes.wrap }}"
disabled="{{ disabled }}"
open-type="{{ openType }}"
hover-class="{{ !disabled ? classes.hover : 'none' }}"
hover-stop-propagation="{{ hoverStopPropagation }}"
hover-start-time="{{ hoverStartTime }}"
hover-stay-time="{{ hoverStayTime }}"
lang="{{ lang }}"
bindgetuserinfo="bindgetuserinfo"
session-from="{{ sessionFrom }}"
send-message-title="{{ sendMessageTitle }}"
send-message-path="{{ sendMessagePath }}"
send-message-img="{{ sendMessageImg }}"
show-message-card="{{ showMessageCard }}"
bindcontact="bindcontact"
bindgetphonenumber="bindgetphonenumber"
app-parameter="{{ appParameter }}"
binderror="onError"
bindopensetting="bindopensetting"
bindtap="onTap"
>
<view class="{{ classes.hd }}">
<block wx:if="{{ thumb }}">
<image class="{{ classes.thumb }}" src="{{ thumb }}" />
</block>
<block wx:else>
<slot name="header"></slot>
</block>
</view>
<view class="{{ classes.bd }}">
<view wx:if="{{ title }}" class="{{ classes.text }}">{{ title }}</view>
<view wx:if="{{ label }}" class="{{ classes.desc }}">{{ label }}</view>
<slot></slot>
</view>
<view class="{{ classes.ft }}">
<block wx:if="{{ extra }}">{{ extra }}</block>
<block wx:else>
<slot name="footer"></slot>
</block>
</view>
</button>

1
dist/cell/index.wxss

@ -0,0 +1 @@
.wux-cell{padding:0;margin:0;border-radius:0;color:inherit!important;background:0 0!important;font-size:inherit;font-weight:400;line-height:inherit;text-align:inherit;text-decoration:none;overflow:visible;min-height:0!important;width:auto!important;box-sizing:border-box;-webkit-tap-highlight-color:transparent;padding:20rpx 30rpx;position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;background:#fff}.wux-cell:after{display:block;position:static;top:auto;left:auto;width:auto;height:auto;border:none;border-radius:0;transform:none;transform-origin:0 0}.wux-cell:after{content:" ";position:absolute;left:0;bottom:0;right:0;height:2rpx;border-bottom:2rpx solid #d9d9d9;color:#d9d9d9;transform-origin:0 100%;transform:scaleY(.5);left:30rpx}.wux-cell--last:after{display:none}.wux-cell--hover{background-color:#ececec!important}.wux-cell--disabled{opacity:.3}.wux-cell__thumb{display:block;width:40rpx;height:40rpx;margin-right:10rpx}.wux-cell__bd{-ms-flex:1;flex:1}.wux-cell__text{text-align:left}.wux-cell__desc{text-align:left;line-height:1.2;font-size:24rpx;color:grey}.wux-cell__ft{text-align:right;color:grey}.wux-cell--access .wux-cell__ft{padding-right:26rpx;position:relative}.wux-cell--access .wux-cell__ft:after{content:" ";display:inline-block;height:12rpx;width:12rpx;border-width:4rpx 4rpx 0 0;border-color:#c8c8cd;border-style:solid;transform:matrix(.71,.71,-.71,.71,0,0);position:relative;top:-4rpx;position:absolute;top:50%;margin-top:-8rpx;right:4rpx}

1
dist/checkbox-group/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_eventsMixin=_interopRequireDefault(require("../helpers/eventsMixin"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t<e.length;t++)n[t]=e[t];return n}}function ownKeys(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(n,!0).forEach(function(e){_defineProperty(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function getOptions(){return(0<arguments.length&&void 0!==arguments[0]?arguments[0]:[]).map(function(e,t){return"string"==typeof e?{title:e,value:e,index:t}:_objectSpread({},e,{index:t})})}function getCheckedValues(t){var e=_toConsumableArray(1<arguments.length&&void 0!==arguments[1]?arguments[1]:[]);return e=-1!==e.indexOf(t)?e.filter(function(e){return e!==t}):[].concat(_toConsumableArray(e),[t])}(0,_baseComponent.default)({useField:!0,behaviors:[(0,_eventsMixin.default)()],relations:{"../field/index":{type:"ancestor"},"../checkbox/index":{type:"descendant",observer:function(){this.debounce(this.changeValue)}}},properties:{prefixCls:{type:String,value:"wux-checkbox-group"},cellGroupPrefixCls:{type:String,value:"wux-cell-group"},value:{type:Array,value:[]},title:{type:String,value:""},label:{type:String,value:""},options:{type:Array,value:[]}},data:{inputValue:[],keys:[]},observers:{value:function(e){this.hasFieldDecorator||(this.updated(e),this.changeValue(e))},inputValue:function(e){this.hasFieldDecorator&&this.changeValue(e)},options:function(e){this.changeValue(this.data.inputValue,e)}},methods:{updated:function(e){this.data.inputValue!==e&&this.setData({inputValue:e})},changeValue:function(e,t){var n=0<arguments.length&&void 0!==e?e:this.data.inputValue,r=getOptions(1<arguments.length&&void 0!==t?t:this.data.options),a=this.getRelationNodes("../checkbox/index"),i=0<r.length?r:a?a.map(function(e){return e.data}):[];!r.length&&a&&0<a.length&&a.forEach(function(e,t){e.changeValue(Array.isArray(n)&&n.includes(e.data.value),t)}),this.data.keys!==i&&this.setData({keys:i})},onChange:function(e){var t=getCheckedValues(e.value,this.data.inputValue);this.hasFieldDecorator&&(e.value=t),this.triggerEvent("change",_objectSpread({},this.getValue(t),{},e,{name:this.data.name,value:e.value}))},onCheckboxChange:function(e){var t=e.currentTarget.dataset.index;this.onChange(_objectSpread({},e.detail,{index:t}))},getValue:function(e,t){var n=0<arguments.length&&void 0!==e?e:this.data.inputValue,r=1<arguments.length&&void 0!==t?t:this.data.keys,a=r.filter(function(e){return n.includes(e.value)}).map(function(e){return e.title})||[],i=r.map(function(e){return e.value}),o=n.map(function(e){return i.indexOf(e)});return{value:n,displayValue:a,selectedIndex:o,selectedValue:n,cols:r}},getBoundingClientRect:function(e){return this.cellGroup=this.cellGroup||this.selectComponent("#wux-cell-group"),this.cellGroup&&this.cellGroup.getBoundingClientRect(e)}}});

7
dist/checkbox-group/index.json

@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"wux-cell-group": "../cell-group/index",
"wux-checkbox": "../checkbox/index"
}
}

26
dist/checkbox-group/index.wxml

@ -0,0 +1,26 @@
<wux-cell-group id="wux-cell-group" wux-class="{{ prefixCls }}" prefixCls="{{ cellGroupPrefixCls }}" title="{{ title }}" label="{{ label }}">
<block wx:for="{{ common.getOptions(options) }}" wx:for-item="option" wx:key="" wx:if="{{ options.length > 0 }}">
<wux-checkbox
prefixCls="{{ option.prefixCls || 'wux-checkbox' }}"
cellPrefixCls="{{ option.cellPrefixCls || 'wux-cell' }}"
selectablePrefixCls="{{ option.selectablePrefixCls || 'wux-selectable' }}"
title="{{ option.title }}"
label="{{ option.label }}"
extra="{{ option.extra }}"
value="{{ option.value }}"
checked="{{ common.getChecked(inputValue, option) }}"
disabled="{{ option.disabled }}"
color="{{ option.color || 'balanced' }}"
data-index="{{ index }}"
bind:change="onCheckboxChange"
/>
</block>
<block wx:if="{{ options.length === 0 }}">
<slot></slot>
</block>
</wux-cell-group>
<wxs module="common">
module.exports.getOptions = function(options) { return options.map(function(option) { if (option.constructor === 'String') { return { title: option, value: option } } return option }) }
module.exports.getChecked = function(values, option) { return values.indexOf(option.value) !== -1 }
</wxs>

0
dist/checkbox-group/index.wxss

1
dist/checkbox/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(0,_baseComponent.default)({relations:{"../checkbox-group/index":{type:"ancestor"}},properties:{prefixCls:{type:String,value:"wux-checkbox"},cellPrefixCls:{type:String,value:"wux-cell"},selectablePrefixCls:{type:String,value:"wux-selectable"},title:{type:String,value:""},label:{type:String,value:""},extra:{type:String,value:""},value:{type:String,value:""},checked:{type:Boolean,value:!1,observer:function(e){this.setData({inputChecked:e})}},disabled:{type:Boolean,value:!1},color:{type:String,value:"balanced"}},data:{index:0,inputChecked:!1},computed:{classes:["prefixCls",function(e){return{cell:(0,_classNames.default)(e),selectable:"".concat(e,"__selectable")}}]},methods:{checkboxChange:function(e){var t=this.data,a=t.value,l=t.index,n=t.disabled,i=this.getRelationNodes("../checkbox-group/index")[0],r={checked:e.detail.checked,value:a,index:l};n||(i?i.onChange(r):this.triggerEvent("change",r))},changeValue:function(e,t){var a=0<arguments.length&&void 0!==e&&e,l=1<arguments.length&&void 0!==t?t:0;this.setData({inputChecked:a,index:l})}}});

7
dist/checkbox/index.json

@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"wux-cell": "../cell/index",
"wux-selectable": "../selectable/index"
}
}

3
dist/checkbox/index.wxml

@ -0,0 +1,3 @@
<wux-cell wux-class="{{ classes.cell }}" prefixCls="{{ cellPrefixCls }}" title="{{ title }}" label="{{ label }}" extra="{{ extra }}">
<wux-selectable slot="header" wux-class="{{ classes.selectable }}" prefixCls="{{ selectablePrefixCls }}" value="{{ value }}" checked="{{ inputChecked }}" color="{{ color }}" disabled="{{ disabled }}" controlled bind:change="checkboxChange" />
</wux-cell>

1
dist/checkbox/index.wxss

@ -0,0 +1 @@
.wux-checkbox__selectable{position:static!important}

1
dist/countdown/index.js

@ -0,0 +1 @@
"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function _createClass(t,e,n){return e&&_defineProperties(t.prototype,e),n&&_defineProperties(t,n),t}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var Countdown=function(){function n(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=1<arguments.length&&void 0!==arguments[1]?arguments[1]:getCurrentPages()[getCurrentPages().length-1];_classCallCheck(this,n),Object.assign(this,{page:e,options:t}),this.__init()}return _createClass(n,[{key:"__init",value:function(){this.setData=this.page.setData.bind(this.page),this.restart(this.options)}},{key:"setDefaults",value:function(){return{date:"June 7, 2087 15:03:25",refresh:1e3,offset:0,onEnd:function(){},render:function(t){}}}},{key:"mergeOptions",value:function(t){var e=this.setDefaults();for(var n in e)e.hasOwnProperty(n)&&(this.options[n]=void 0!==t[n]?t[n]:e[n],"date"===n&&"object"!=typeof this.options.date&&(this.options.date=new Date(this.options.date)),"function"==typeof this.options[n]&&(this.options[n]=this.options[n].bind(this)));"object"!=typeof this.options.date&&(this.options.date=new Date(this.options.date))}},{key:"getDiffDate",value:function(){var t=(this.options.date.getTime()-Date.now()+this.options.offset)/1e3,e={years:0,days:0,hours:0,min:0,sec:0,millisec:0};return t<=0?this.interval&&(this.stop(),this.options.onEnd()):(31557600<=t&&(e.years=Math.floor(t/31557600),t-=365.25*e.years*86400),86400<=t&&(e.days=Math.floor(t/86400),t-=86400*e.days),3600<=t&&(e.hours=Math.floor(t/3600),t-=3600*e.hours),60<=t&&(e.min=Math.floor(t/60),t-=60*e.min),e.sec=Math.round(t),e.millisec=t%1*1e3),e}},{key:"leadingZeros",value:function(t,e){var n=1<arguments.length&&void 0!==e?e:2;return(t=String(t)).length>n?t:(Array(n+1).join("0")+t).substr(-n)}},{key:"update",value:function(t){return this.options.date="object"!=typeof t?new Date(t):t,this.render(),this}},{key:"stop",value:function(){return this.interval&&(clearInterval(this.interval),this.interval=!1),this}},{key:"render",value:function(){return this.options.render(this.getDiffDate()),this}},{key:"start",value:function(){var t=this;return!this.interval&&(this.render(),this.options.refresh&&(this.interval=setInterval(function(){t.render()},this.options.refresh)),this)}},{key:"updateOffset",value:function(t){return this.options.offset=t,this}},{key:"restart",value:function(t){var e=0<arguments.length&&void 0!==t?t:{};return this.mergeOptions(e),this.interval=!1,this.start(),this}}]),n}(),_default=Countdown;exports.default=_default;

1
dist/countup/index.js

@ -0,0 +1 @@
"use strict";function _classCallCheck(t,i){if(!(t instanceof i))throw new TypeError("Cannot call a class as a function")}function _defineProperties(t,i){for(var s=0;s<i.length;s++){var a=i[s];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(t,a.key,a)}}function _createClass(t,i,s){return i&&_defineProperties(t.prototype,i),s&&_defineProperties(t,s),t}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var CountUp=function(){function r(t,i,s,a){var e=4<arguments.length&&void 0!==arguments[4]?arguments[4]:{},n=5<arguments.length&&void 0!==arguments[5]?arguments[5]:getCurrentPages()[getCurrentPages().length-1];_classCallCheck(this,r),Object.assign(this,{page:n,startVal:t,endVal:i,decimals:s,duration:a,options:e}),this.__init()}return _createClass(r,[{key:"__init",value:function(){this.setData=this.page.setData.bind(this.page),this.lastTime=0,this.mergeOptions(this.options),this.startVal=Number(this.startVal),this.cacheVal=this.startVal,this.endVal=Number(this.endVal),this.countDown=this.startVal>this.endVal,this.frameVal=this.startVal,this.decimals=Math.max(0,this.decimals||0),this.dec=Math.pow(10,this.decimals),this.duration=1e3*Number(this.duration)||2e3,this.printValue(this.formattingFn(this.startVal))}},{key:"setDefaultOptions",value:function(){return{useEasing:!0,useGrouping:!0,separator:",",decimal:".",easingFn:null,formattingFn:null,printValue:function(t){}}}},{key:"mergeOptions",value:function(t){var i=this.setDefaultOptions();for(var s in i)i.hasOwnProperty(s)&&(this.options[s]=void 0!==t[s]?t[s]:i[s],"function"==typeof this.options[s]&&(this.options[s]=this.options[s].bind(this)));""===this.options.separator&&(this.options.useGrouping=!1),this.options.prefix||(this.options.prefix=""),this.options.suffix||(this.options.suffix=""),this.easingFn=this.options.easingFn?this.options.easingFn:this.easeOutExpo,this.formattingFn=this.options.formattingFn?this.options.formattingFn:this.formatNumber,this.printValue=this.options.printValue?this.options.printValue:function(){}}},{key:"requestAnimationFrame",value:function(t){var i=this,s=(new Date).getTime(),a=Math.max(0,16-(s-this.lastTime)),e=setTimeout(function(){t.bind(i)(s+a)},a);return this.lastTime=s+a,e}},{key:"cancelAnimationFrame",value:function(t){clearTimeout(t)}},{key:"formatNumber",value:function(t){var i,s,a,e;if(t=t.toFixed(this.decimals),s=(i=(t+="").split("."))[0],a=1<i.length?this.options.decimal+i[1]:"",e=/(\d+)(\d{3})/,this.options.useGrouping)for(;e.test(s);)s=s.replace(e,"$1"+this.options.separator+"$2");return this.options.prefix+s+a+this.options.suffix}},{key:"easeOutExpo",value:function(t,i,s,a){return s*(1-Math.pow(2,-10*t/a))*1024/1023+i}},{key:"count",value:function(t){this.startTime||(this.startTime=t);var i=(this.timestamp=t)-this.startTime;this.remaining=this.duration-i,this.options.useEasing?this.countDown?this.frameVal=this.startVal-this.easingFn(i,0,this.startVal-this.endVal,this.duration):this.frameVal=this.easingFn(i,this.startVal,this.endVal-this.startVal,this.duration):this.countDown?this.frameVal=this.startVal-(this.startVal-this.endVal)*(i/this.duration):this.frameVal=this.startVal+(this.endVal-this.startVal)*(i/this.duration),this.countDown?this.frameVal=this.frameVal<this.endVal?this.endVal:this.frameVal:this.frameVal=this.frameVal>this.endVal?this.endVal:this.frameVal,this.frameVal=Math.round(this.frameVal*this.dec)/this.dec,this.printValue(this.formattingFn(this.frameVal)),i<this.duration?this.rAF=this.requestAnimationFrame(this.count):this.callback&&this.callback()}},{key:"start",value:function(t){return this.callback=t,this.rAF=this.requestAnimationFrame(this.count),!1}},{key:"pauseResume",value:function(){this.paused?(this.paused=!1,delete this.startTime,this.duration=this.remaining,this.startVal=this.frameVal,this.requestAnimationFrame(this.count)):(this.paused=!0,this.cancelAnimationFrame(this.rAF))}},{key:"reset",value:function(){this.paused=!1,delete this.startTime,this.startVal=this.cacheVal,this.cancelAnimationFrame(this.rAF),this.printValue(this.formattingFn(this.startVal))}},{key:"update",value:function(t){this.cancelAnimationFrame(this.rAF),this.paused=!1,delete this.startTime,this.startVal=this.frameVal,this.endVal=Number(t),this.countDown=this.startVal>this.endVal,this.rAF=this.requestAnimationFrame(this.count)}}]),r}(),_default=CountUp;exports.default=_default;

1
dist/dialog/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames3=_interopRequireDefault(require("../helpers/classNames"));function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,o)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(n,!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _defineProperty(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var defaults={prefixCls:"wux-dialog",title:"",content:"",buttons:[],verticalButtons:!1,resetOnClose:!1,closable:!1,mask:!0,maskClosable:!0,zIndex:1e3},defaultOptions={onCancel:function(){},cancelText:"取消",cancelType:"default",onConfirm:function(){},confirmText:"确定",confirmType:"primary"};(0,_baseComponent.default)({useFunc:!0,data:defaults,computed:{classes:["prefixCls, buttons, verticalButtons",function(n,t,e){return{prompt:"".concat(n,"__prompt"),input:"".concat(n,"__input"),buttons:(0,_classNames3.default)("".concat(n,"__buttons"),_defineProperty({},"".concat(n,"__buttons--").concat(e?"vertical":"horizontal"),!0)),button:t.map(function(t){var e;return{wrap:(0,_classNames3.default)("".concat(n,"__button"),(_defineProperty(e={},"".concat(n,"__button--").concat(t.type||"default"),t.type||"default"),_defineProperty(e,"".concat(n,"__button--bold"),t.bold),_defineProperty(e,"".concat(n,"__button--disabled"),t.disabled),_defineProperty(e,"".concat(t.className),t.className),e)),hover:t.hoverClass&&"default"!==t.hoverClass?t.hoverClass:"".concat(n,"__button--hover")}})}}]},methods:{onClosed:function(){if(this.data.resetOnClose){var t=_objectSpread({},this.$$mergeOptionsToData(defaults),{prompt:null});this.$$setData(t)}},onClose:function(){this.hide()},hide:function(t){this.$$setData({in:!1}),"function"==typeof t&&t.call(this)},show:function(t){var e=0<arguments.length&&void 0!==t?t:{},n=this.$$mergeOptionsAndBindMethods(Object.assign({},defaults,e));return this.$$setData(_objectSpread({in:!0},n)),this.originalButtons=n.buttons,this.hide.bind(this)},runCallbacks:function(t,e){var n=t.currentTarget.dataset.index,o=this.originalButtons[n];o.disabled||this.hide(function(){return"function"==typeof o[e]&&o[e](t)})},buttonTapped:function(t){this.runCallbacks(t,"onTap")},bindgetuserinfo:function(t){this.runCallbacks(t,"onGetUserInfo")},bindcontact:function(t){this.runCallbacks(t,"onContact")},bindgetphonenumber:function(t){this.runCallbacks(t,"onGotPhoneNumber")},bindopensetting:function(t){this.runCallbacks(t,"onOpenSetting")},onError:function(t){this.runCallbacks(t,"onError")},bindinput:function(t){this.$$setData({"prompt.response":t.detail.value})},open:function(t){var e=0<arguments.length&&void 0!==t?t:{};return this.show(e)},alert:function(t){var e=0<arguments.length&&void 0!==t?t:{};return this.open(Object.assign({buttons:[{text:e.confirmText||defaultOptions.confirmText,type:e.confirmType||defaultOptions.confirmType,onTap:function(t){"function"==typeof e.onConfirm&&e.onConfirm(t)}}]},e))},confirm:function(t){var e=0<arguments.length&&void 0!==t?t:{};return this.open(Object.assign({buttons:[{text:e.cancelText||defaultOptions.cancelText,type:e.cancelType||defaultOptions.cancelType,onTap:function(t){"function"==typeof e.onCancel&&e.onCancel(t)}},{text:e.confirmText||defaultOptions.confirmText,type:e.confirmType||defaultOptions.confirmType,onTap:function(t){"function"==typeof e.onConfirm&&e.onConfirm(t)}}]},e))},prompt:function(){var e=this,n=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t={fieldtype:n.fieldtype?n.fieldtype:"text",password:!!n.password,response:n.defaultText?n.defaultText:"",placeholder:n.placeholder?n.placeholder:"",maxlength:n.maxlength?parseInt(n.maxlength):""};return this.open(Object.assign({prompt:t,buttons:[{text:n.cancelText||defaultOptions.cancelText,type:n.cancelType||defaultOptions.cancelType,onTap:function(t){"function"==typeof n.onCancel&&n.onCancel(t)}},{text:n.confirmText||defaultOptions.confirmText,type:n.confirmType||defaultOptions.confirmType,onTap:function(t){"function"==typeof n.onConfirm&&n.onConfirm(t,e.data.prompt.response)}}]},n))}}});

6
dist/dialog/index.json

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"wux-popup": "../popup/index"
}
}

56
dist/dialog/index.wxml

@ -0,0 +1,56 @@
<wux-popup
visible="{{ in }}"
z-index="{{ zIndex }}"
closable="{{ closable }}"
mask="{{ mask }}"
mask-closable="{{ maskClosable }}"
bind:close="onClose"
bind:closed="onClosed"
>
<view slot="header">{{ title }}</view>
<view wx:if="{{ content || prompt }}">
<text>{{ content }}</text>
<view class="{{ classes.prompt }}" wx:if="{{ prompt }}">
<label>
<input
type="{{ prompt.fieldtype }}"
class="{{ classes.input }}"
value="{{ prompt.response }}"
password="{{ prompt.password }}"
placeholder="{{ prompt.placeholder }}"
maxlength="{{ maxlength }}"
bindinput="bindinput"
/>
</label>
</view>
</view>
<view slot="footer" class="{{ classes.buttons }}">
<block wx:for="{{ buttons }}" wx:for-item="button" wx:key="">
<button
class="{{ classes.button[index].wrap }}"
disabled="{{ button.disabled }}"
open-type="{{ button.openType }}"
hover-class="{{ !button.disabled ? classes.button[index].hover : 'none' }}"
hover-stop-propagation="{{ button.hoverStopPropagation }}"
hover-start-time="{{ button.hoverStartTime || 20 }}"
hover-stay-time="{{ button.hoverStayTime || 70 }}"
lang="{{ button.lang || 'en' }}"
bindgetuserinfo="bindgetuserinfo"
session-from="{{ button.sessionFrom }}"
send-message-title="{{ button.sendMessageTitle }}"
send-message-path="{{ button.sendMessagePath }}"
send-message-img="{{ button.sendMessageImg }}"
show-message-card="{{ button.showMessageCard }}"
bindcontact="bindcontact"
bindgetphonenumber="bindgetphonenumber"
app-parameter="{{ button.appParameter }}"
binderror="onError"
bindopensetting="bindopensetting"
data-index="{{ index }}"
bindtap="buttonTapped"
>
{{ button.text }}
</button>
</block>
</view>
</wux-popup>

1
dist/dialog/index.wxss

@ -0,0 +1 @@
.wux-dialog__button{padding:0;margin:0;border-radius:0;color:inherit!important;background:0 0!important;font-size:inherit;font-weight:400;line-height:inherit;text-align:inherit;text-decoration:none;overflow:visible;min-height:0!important;width:auto!important;box-sizing:border-box;-webkit-tap-highlight-color:transparent;display:block;-ms-flex:1;flex:1;color:#33cd5f!important;position:relative}.wux-dialog__button:after{display:block;position:static;top:auto;left:auto;width:auto;height:auto;border:none;border-radius:0;transform:none;transform-origin:0 0}.wux-dialog__button--default{color:#353535!important}.wux-dialog__button--primary{color:#33cd5f!important}.wux-dialog__button--bold{font-weight:500!important}.wux-dialog__button--hover{background-color:#ececec!important}.wux-dialog__button--disabled{opacity:.3}.wux-dialog__prompt{position:relative;margin-top:20rpx}.wux-dialog__prompt:after{content:" ";position:absolute;top:0;left:0;width:200%;height:200%;transform:scale(.5);transform-origin:0 0;pointer-events:none;box-sizing:border-box;border:0 solid #d5d5d6;border-top-width:2rpx;border-right-width:2rpx;border-bottom-width:2rpx;border-left-width:2rpx;border-radius:12rpx}.wux-dialog__input{padding:8rpx 12rpx;height:72rpx;line-height:1;width:100%;text-align:left;box-sizing:border-box}.wux-dialog__buttons{display:-ms-flexbox;display:flex;-ms-flex:1;flex:1}.wux-dialog__buttons--horizontal .wux-dialog__button:after{content:" ";position:absolute;left:0;top:0;width:2rpx;bottom:0;border-left:2rpx solid #d5d5d6;color:#d5d5d6;transform-origin:0 0;transform:scaleX(.5)}.wux-dialog__buttons--horizontal .wux-dialog__button:first-child:after{display:none}.wux-dialog__buttons--vertical{display:block;height:auto}.wux-dialog__buttons--vertical .wux-dialog__button:after{content:" ";position:absolute;left:0;top:0;right:0;height:2rpx;border-top:2rpx solid #d5d5d6;color:#d5d5d6;transform-origin:0 0;transform:scaleY(.5)}

1
dist/field/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_createFieldsStore=_interopRequireDefault(require("../helpers/createFieldsStore"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance")}function _iterableToArray(e){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e))return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e)){for(var t=0,r=new Array(e.length);t<e.length;t++)r[t]=e[t];return r}}function ownKeys(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)}return r}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(r,!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(r).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _defineProperty(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var DEFAULT_TRIGGER="onChange";function noop(){}function getValueFromEvent(e){return e&&e.detail?e.detail.value:"value"in e?e.value:e}var children=["picker","date-picker","popup-select","radio-group","checkbox-group","switch","input","input-number","rater","slider","textarea"],relations=children.map(function(e){return"../".concat(e,"/index")}).reduce(function(e,t){return _objectSpread({},e,_defineProperty({},t,{type:"descendant",observer:function(){this.debounce(this.changeValue)}}))},{});(0,_baseComponent.default)({useField:!0,relations:_objectSpread({"../form/index":{type:"ancestor"}},relations),properties:{initialValue:{type:null,value:null,observer:"changeValue"},valuePropName:{type:String,value:"inputValue"},trigger:{type:String,value:DEFAULT_TRIGGER}},methods:{getNodes:function(e){var t=this;return(0<arguments.length&&void 0!==e?e:[]).map(function(e){return t.getRelationNodes(e)[0]}).filter(function(e){return!!e})},changeValue:function(e){var t=this,r=0<arguments.length&&void 0!==e?e:this.data.value,n=this.getRelationsName(["descendant"]),o=this.getNodes(n);this.fieldsStore=this.fieldsStore||(0,_createFieldsStore.default)(),this.setValue(r),0<o.length&&o.forEach(function(e){e.hasFieldDecorator=!0,t.setValue(r,e,t.data.valuePropName,function(){t.forceUpdate(t.data.name,t.data,e)})})},setValue:function(e,t,r,n){var o=1<arguments.length&&void 0!==t?t:this,a=2<arguments.length&&void 0!==r?r:"value",i=3<arguments.length&&void 0!==n?n:noop;o.data[a]!==e?o.setData(_defineProperty({},a,e),i):i()},forceUpdate:function(e,t,r){var n=t.valuePropName,o=this.getFieldDecorator(e,t,r),a=o[n];delete o[n],r.setData(o),this.setValue(a,r,n)},onCollectCommon:function(e,t,r){var n=this.fieldsStore.getField(e),o=n.inputElem,a=n.oriInputProps.oriInputEvents;a&&a[t]&&a[t].apply(a,_toConsumableArray(r));var i=getValueFromEvent.apply(void 0,_toConsumableArray(r)),l=this.fieldsStore.getFieldValue(e),u=this.getRelationNodes("../form/index")[0];if(i!==l&&(this.setValue(i),this.setValue(i,o,n.valuePropName),u)){var s=_defineProperty({},e,i),p=this.fieldsStore.getFieldsValue();u.onChange(s,_objectSpread({},p,{},s))}return{name:e,field:_objectSpread({},n,{value:i})}},onCollect:function(e,t){for(var r=arguments.length,n=new Array(2<r?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];var a=this.onCollectCommon(e,t,n),i=a.name,l=a.field;this.fieldsStore.setFields(_defineProperty({},i,l))},getFieldDecorator:function(n,e,t){var o=this,r=this.fieldsStore.getField(n),a=t.data,i=e.trigger,l=void 0===i?DEFAULT_TRIGGER:i,u=_objectSpread({},r,{},e,{name:n,oriInputProps:a,inputElem:t});this.fieldsStore.setFields(_defineProperty({},n,u));var s=_objectSpread({},this.fieldsStore.getFieldValuePropValue(e));return l&&!a.oriInputEvents&&(s.oriInputEvents=_objectSpread({},a.inputEvents),s.inputEvents=_objectSpread({},a.inputEvents,_defineProperty({},l,function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return o.onCollect.apply(o,[n,l].concat(t))}))),s}}});

3
dist/field/index.json

@ -0,0 +1,3 @@
{
"component": true
}

1
dist/field/index.wxml

@ -0,0 +1 @@
<slot></slot>

0
dist/field/index.wxss

1
dist/filterbar/index.js

File diff suppressed because one or more lines are too long

11
dist/filterbar/index.json

@ -0,0 +1,11 @@
{
"component": true,
"usingComponents": {
"wux-animation-group": "../animation-group/index",
"wux-backdrop": "../backdrop/index",
"wux-radio-group": "../radio-group/index",
"wux-radio": "../radio/index",
"wux-checkbox-group": "../checkbox-group/index",
"wux-checkbox": "../checkbox/index"
}
}

134
dist/filterbar/index.wxml

@ -0,0 +1,134 @@
<view class="wux-class {{ classes.wrap }}">
<wux-backdrop id="wux-backdrop" data-index="{{ index }}" bind:click="onClose" />
<view class="{{ classes.bd }}">
<block wx:for="{{ options }}" wx:key="">
<view class="{{ classes.item }} {{ common.getItemCls(prefixCls, item) }}" bindtap="onClick" data-index="{{ index }}">
<view class="{{ classes.text }}">
{{ item.type !== 'filter' ? displayValues[index] : item.label }}
<view class="{{ classes.icon }} {{ common.getIconCls(prefixCls, item) }}" wx:if="{{ item.type !== 'text' }}"></view>
</view>
</view>
</block>
</view>
<block wx:for="{{ options }}" wx:key="">
<wux-animation-group wux-class="{{ classes.pop }}" in="{{ item.visible }}" class-names="wux-animate--slideInRight" bind:enter="onEnter" bind:exit="onExit" wx:if="{{ item.type === 'filter' }}">
<scroll-view class="{{ classes.scrollView }}" scroll-y bindscroll="onScroll">
<block wx:for="{{ item.children }}" wx:for-item="p" wx:for-index="pIndex" wx:key="">
<view class="{{ classes.panel }}">
<view class="{{ classes.panelHd }}">
<div class="{{ classes.panelTitle }}">{{ p.label }}</div>
<div class="{{ classes.panelSelected }}">{{ displayValues[index] && displayValues[index][pIndex] }}</div>
</view>
<view class="{{ classes.panelBd }}">
<radio-group bindchange="onPopupSelectChange" data-parent-index="{{ index }}" data-index="{{ pIndex }}" wx:if="{{ p.type === 'radio' }}">
<view class="{{ classes.groups }}">
<block wx:for="{{ p.children }}" wx:for-item="g" wx:for-index="cIndex" wx:key="">
<view class="{{ classes.group }}">
<radio
class="{{ classes.radio }}"
value="{{ g.value }}"
checked="{{ common.getChecked(values[index] && values[index][pIndex], g.value) }}"
/>
<view class="{{ classes.btn }} {{ common.getChecked(values[index] && values[index][pIndex], g.value) ? prefixCls + '__btn--checked' : '' }}">{{ g.label }}</view>
</view>
</block>
</view>
</radio-group>
<checkbox-group bindchange="onPopupSelectChange" data-parent-index="{{ index }}" data-index="{{ pIndex }}" wx:else="{{ p.type === 'checkbox' }}">
<view class="{{ classes.groups }}">
<block wx:for="{{ p.children }}" wx:for-item="g" wx:for-index="cIndex" wx:key="">
<view class="{{ classes.group }}">
<checkbox
class="{{ classes.check }}"
value="{{ g.value }}"
checked="{{ common.getChecked(values[index] && values[index][pIndex], g.value) }}"
/>
<view class="{{ classes.btn }} {{ common.getChecked(values[index] && values[index][pIndex], g.value) ? prefixCls + '__btn--checked' : '' }}">{{ g.label }}</view>
</view>
</block>
</view>
</checkbox-group>
</view>
</view>
</block>
</scroll-view>
<div class="{{ classes.btns }}">
<view class="{{ classes.btn }}" data-index="{{ index }}" bindtap="onSelectReset">{{ cancelText }}</view>
<view class="{{ classes.btn }} {{ prefixCls + '__btn--danger' }}" data-index="{{ index }}" bindtap="onSelectConfirm">{{ confirmText }}</view>
</div>
</wux-animation-group>
<wux-animation-group wux-class="{{ classes.select }}" in="{{ item.visible }}" class-names="wux-animate--fadeIn" bind:enter="onEnter" bind:exit="onExit" wx:if="{{ item.type === 'radio' }}">
<scroll-view class="{{ classes.scrollView }}" scroll-y>
<wux-radio-group
value="{{ values[index] }}"
options="{{ common.getOptions(item.children) }}"
bind:change="onSelectChange"
data-index="{{ index }}"
data-type="{{ item.type }}"
/>
</scroll-view>
</wux-animation-group>
<wux-animation-group wux-class="{{ classes.select }}" in="{{ item.visible }}" class-names="wux-animate--fadeIn" bind:enter="onEnter" bind:exit="onExit" wx:if="{{ item.type === 'checkbox' }}">
<scroll-view class="{{ classes.scrollView }}" scroll-y>
<wux-checkbox-group
value="{{ values[index] }}"
options="{{ common.getOptions(item.children) }}"
bind:change="onSelectChange"
data-index="{{ index }}"
data-type="{{ item.type }}"
/>
<div class="{{ classes.btns }}">
<view class="{{ classes.btn }}" data-index="{{ index }}" bindtap="onSelectReset">{{ cancelText }}</view>
<view class="{{ classes.btn }} {{ prefixCls + '__btn--danger' }}" data-index="{{ index }}" bindtap="onSelectConfirm">{{ confirmText }}</view>
</div>
</scroll-view>
</wux-animation-group>
</block>
</view>
<wxs module="common">
module.exports = {
getOptions: function(options) {
return options.map(function(option) {
if (option.constructor === 'String') {
return {
title: option,
value: option
}
}
return {
title: option.label,
value: option.value
}
})
},
getChecked: function(values, value) {
if (!values || !values.length) return false
if (values.constructor === 'Array') {
return values.indexOf(value) !== -1
}
return values === value
},
getItemCls: function(prefixCls, item) {
var itemCls = []
if (item.type !== 'text') {
itemCls.push(prefixCls + '__item--has-icon')
}
if (item.checked) {
itemCls.push(prefixCls + '__item--checked')
}
return itemCls.join(' ')
},
getIconCls: function(prefixCls, icon) {
var iconCls = [prefixCls + '__icon--' + icon.type]
if (icon.type === 'sort') {
if (icon.sort === 1) {
iconCls.push(prefixCls + '__icon--sort-asc')
} else if (icon.sort === -1) {
iconCls.push(prefixCls + '__icon--sort-desc')
}
}
return iconCls.join(' ')
},
}
</wxs>

1
dist/filterbar/index.wxss

File diff suppressed because one or more lines are too long

1
dist/form/index.js

@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_createFieldsStore=_interopRequireDefault(require("../helpers/createFieldsStore"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var i=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)}return i}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var i=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(i,!0).forEach(function(e){_defineProperty(t,e,i[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(i)):ownKeys(i).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(i,e))})}return t}function _defineProperty(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}(0,_baseComponent.default)({relations:{"../field/index":{type:"descendant",observer:function(e,t){var i=t.unlinked;this.renderFields[e.data.name]=!1===i,this.debounce(this.changeValue)}}},properties:{},methods:{changeValue:function(){var n=this,e=this.getRelationNodes("../field/index");if(0<e.length){var t=e.reduce(function(e,t){var i=t.data,r=i.name,s=_objectSpread({},i,{},n.fieldsStore.getField(r),{originalProps:i,fieldElem:t});return e[r]=s,n.renderFields[r]=!0,t.fieldsStore=n.fieldsStore,e},{});this.fieldsStore.updateFields(t),this.clearUnlinkedFields()}},clearUnlinkedFields:function(){var t=this,e=this.fieldsStore.getAllFieldsName().filter(function(e){return!t.renderFields[e]});0<e.length&&e.forEach(function(e){return t.clearField(e)})},clearField:function(e){this.fieldsStore.clearField(e),delete this.renderFields[e]},setFields:function(r){var s=this;Object.keys(r).forEach(function(e){var t=s.fieldsStore.getField(e),i=_objectSpread({},t,{value:r[e]});s.fieldsStore.setFields(_defineProperty({},e,i)),t&&t.fieldElem&&t.fieldElem.changeValue(r[e])})},setFieldsValue:function(i){var r=this.fieldsStore.fields,e=Object.keys(i).reduce(function(e,t){return r[t]&&(e[t]=i[t]),e},{});this.setFields(e);var t=this.getFieldsValue();this.onChange(e,t)},resetFields:function(e){var t=Array.isArray(e)?e:[e],i=this.fieldsStore.resetFields(t);0<Object.keys(i).length&&this.setFields(i)},getForm:function(){return{getFieldsValue:this.getFieldsValue,getFieldValue:this.getFieldValue,setFieldsValue:this.setFieldsValue,setFields:this.setFields,resetFields:this.resetFields}},onChange:function(e,t){this.triggerEvent("change",{form:this.getForm(),changedValues:e,allValues:t})}},created:function(){var i=this;this.fieldsStore=(0,_createFieldsStore.default)(),this.renderFields={},this.setFieldsValue=this.setFieldsValue.bind(this),this.setFields=this.setFields.bind(this),this.resetFields=this.resetFields.bind(this),["getFieldsValue","getFieldValue"].forEach(function(t){i[t]=function(){var e;return(e=i.fieldsStore)[t].apply(e,arguments)}})}});

3
dist/form/index.json

@ -0,0 +1,3 @@
{
"component": true
}

1
dist/form/index.wxml

@ -0,0 +1 @@
<slot></slot>

0
dist/form/index.wxss

1
dist/gallery/index.js

@ -0,0 +1 @@
"use strict";var _defaults,_baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames=_interopRequireDefault(require("../helpers/classNames")),_gestures=require("../helpers/gestures");function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(n,!0).forEach(function(t){_defineProperty(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(n).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function _defineProperty(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}var defaults=(_defineProperty(_defaults={prefixCls:"wux-gallery",classNames:"wux-animate--slideInRight",indicatorDots:!1,indicatorColor:"rgba(0, 0, 0, .3)",indicatorActiveColor:"#000000",autoplay:!1,interval:5e3,duration:500,circular:!1,vertical:!1,icon:"",showDelete:!0,allowScale:!0,current:0,urls:[]},"delete",function(){}),_defineProperty(_defaults,"cancel",function(){}),_defineProperty(_defaults,"onChange",function(){}),_defineProperty(_defaults,"onTap",function(){return!0}),_defaults),MIN_RATIO=1,MAX_RATIO=1.2,defaultTouchOptions={scale:1,offset:[.5,3]},getImages=function(t){return(0<arguments.length&&void 0!==t?t:[]).map(function(t){return"object"!==_typeof(t)?{image:t,remark:"",touch:_objectSpread({},defaultTouchOptions)}:_objectSpread({},t,{touch:_objectSpread({},defaultTouchOptions)})})};(0,_baseComponent.default)({useFunc:!0,data:defaults,computed:{classes:["prefixCls",function(t){return{swiper:"".concat(t,"__swiper"),item:"".concat(t,"__item"),img:"".concat(t,"__img"),remark:"".concat(t,"__remark"),opr:"".concat(t,"__opr"),del:"".concat(t,"__del"),icon:"".concat(t,"__icon")}}]},methods:{hide:function(){this.$$setData({in:!1}),"function"==typeof this.fns.cancel&&this.fns.cancel()},show:function(t){var e=0<arguments.length&&void 0!==t?t:{},n=this.$$mergeOptionsAndBindMethods(Object.assign({},defaults,e,{images:getImages(e.urls)}));this.$$setData(_objectSpread({in:!0},n))},onTap:function(t){if(this.allowItemClick){var e=t.currentTarget.dataset.index;!0===this.fns.onTap(e,this.data.urls)&&this.hide()}},onTouchStart:function(t){if(this.allowItemClick=!0,!this.data.allowScale||1===(0,_gestures.getPointsNumber)(t)||this.touching)return!1;var e=(0,_gestures.getTouchPoints)(t),n=(0,_gestures.getTouchPoints)(t,1),r=(0,_gestures.getPointsDistance)(e,n);this.touching=!1,this.prevDistance=r,this.$$setData({transition:"none"})},onTouchMove:function(t){var e=this;if(!this.data.allowScale||1===(0,_gestures.getPointsNumber)(t)||this.isRendered)return!1;var n=(0,_gestures.getTouchPoints)(t),r=(0,_gestures.getTouchPoints)(t,1),i=(0,_gestures.getPointsDistance)(n,r),o=t.currentTarget.dataset,s=o.touch,a=o.index,c=i-this.prevDistance,u=s.scale+.005*c;if(a!==this.data.current)return!1;u<=s.offset[0]*MIN_RATIO?u=s.offset[0]*MIN_RATIO:u>=s.offset[1]*MAX_RATIO&&(u=s.offset[1]*MAX_RATIO);var l=_defineProperty({},"images[".concat(a,"].touch.scale"),u);this.touching||(this.touching=!0),this.prevDistance=i,this.allowItemClick=!1,this.isRendered=!0,this.$$setData(l).then(function(){return e.isRendered=!1})},onTouchEnd:function(t){var e,n=this;if(!this.data.allowScale||!this.touching)return!1;var r=t.currentTarget.dataset,i=r.touch,o=r.index,s=i.scale;s<=1?s=1:s>=i.offset[1]*MAX_RATIO&&(s=i.offset[1]);var a=(_defineProperty(e={},"images[".concat(o,"].touch.scale"),s),_defineProperty(e,"transition","transform .3s"),e);this.touching=!1,this.$$setData(a).then(function(){setTimeout(function(){return n.allowItemClick=!0},400)})},onDelete:function(t){"function"==typeof this.fns.delete&&!0===this.fns.delete(this.data.current,this.data.urls)&&this.hide()},onChange:function(t){this.$$setData({current:t.detail.current}),"function"==typeof this.fns.onChange&&this.fns.onChange.call(this,t)},slideTo:function(t,e){var n=this,r=0<arguments.length&&void 0!==t?t:0,i=1<arguments.length&&void 0!==e?e:0,o=this.data,s=o.urls,a=o.circular,c=s.length-1;return r<0?r=a?c:0:c<r&&(r=a?0:c),0<i?this.$$requestAnimationFrame(function(){return n.$$setData({current:r})},i):this.$$setData({current:r})},slideNext:function(t){return this.slideTo(this.data.current+1,t)},slidePrev:function(t){return this.slideTo(this.data.current-1,t)}}});

6
dist/gallery/index.json

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"wux-animation-group": "../animation-group/index"
}
}

16
dist/gallery/index.wxml

@ -0,0 +1,16 @@
<wux-animation-group wux-class="{{ prefixCls }}" in="{{ in }}" classNames="{{ classNames }}">
<swiper class="{{ classes.swiper }}" indicator-dots="{{ indicatorDots }}" indicator-color="{{ indicatorColor }}" indicator-active-color="{{ indicatorActiveColor }}" autoplay="{{ autoplay }}" interval="{{ interval }}" duration="{{ duration }}" circular="{{ circular }}" vertical="{{ vertical }}" current="{{ current }}" bindchange="onChange" wx:if="{{ in && images.length }}">
<block wx:for="{{ images }}" wx:key="index">
<swiper-item class="{{ classes.item }}">
<image class="{{ classes.img }}" mode="aspectFit" src="{{ item.image }}" data-index="{{ index }}" data-touch="{{ item.touch }}" bindtap="onTap" bindtouchstart="onTouchStart" bindtouchmove="onTouchMove" bindtouchend="onTouchEnd" style="transform: scale({{ item.touch.scale }}); transition: {{ transition || 'none' }}"></image>
<view class="{{ classes.remark }} {{ current === index ? prefixCls + '__remark--active' : '' }}" wx:if="{{ item.remark }}">{{ item.remark }}</view>
</swiper-item>
</block>
</swiper>
<view class="{{ classes.opr }}" wx:if="{{ showDelete || icon }}" bindtap="onDelete">
<view class="{{ classes.del }}">
<view class="{{ classes.icon }}" wx:if="{{ !icon }}" />
<image src="{{ icon }}" wx:if="{{ icon }}" />
</view>
</view>
</wux-animation-group>

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save