(i.clipWidth||i.width)/(i.clipWidth||i.height)?(h=i.clipHeight||i.height,c=t/e*h):(c=i.clipWidth||i.width,h=e/t*c);else{c=(i._SYS_INFO||wx.getSystemInfoSync()).windowWidth,h=0}return{imageWidth:c,imageHeight:h}}export function calcPythagoreanTheorem(t,e){return Math.sqrt(Math.pow(t,2)+Math.pow(e,2))}export function clipTouchMoveOfCalculate(t,e){const i=e.touches[0].clientX,c=e.touches[0].clientY,{clipWidth:h,clipHeight:a,cutY:n,cutX:r,_CUT_START:l,lockRatio:o}=t;let{maxWidth:g,minWidth:u,maxHeight:d,minHeight:p}=t;g/=2,u/=2,p/=2,d/=2;let m=h,f=a,s=n,x=r,w=()=>{m=m<=g?m>=u?m:u:g,f=f<=d?f>=p?f:p:d},W=()=>(m>g||md||f1&&l.corner<4?1:-1)*(l.y-c),l.corner){case 1:if(m=l.width-l.x+i,o&&(f=m/(h/a)),!W())return;break;case 2:if(m=l.width-l.x+i,o&&(f=m/(h/a)),!W())return;s=l.cutY-(f-l.height);break;case 3:if(m=l.width+l.x-i,o&&(f=m/(h/a)),!W())return;s=l.cutY-(f-l.height),x=l.cutX-(m-l.width);break;case 4:if(m=l.width+l.x-i,o&&(f=m/(h/a)),!W())return;x=l.cutX-(m-l.width)}return{width:m,height:f,cutX:x,cutY:s}}export function imageTouchMoveOfCalcOffset(t,e,i){return{left:e-t._touchRelative[0].x,top:i-t._touchRelative[0].y}}
\ No newline at end of file
diff --git a/dist/image-clipper/images/close.png b/dist/image-clipper/images/close.png
deleted file mode 100755
index a1c6c99c..00000000
Binary files a/dist/image-clipper/images/close.png and /dev/null differ
diff --git a/dist/image-clipper/images/photo.png b/dist/image-clipper/images/photo.png
deleted file mode 100755
index 80928c3b..00000000
Binary files a/dist/image-clipper/images/photo.png and /dev/null differ
diff --git a/dist/image-clipper/images/rotate-along.png b/dist/image-clipper/images/rotate-along.png
deleted file mode 100755
index 7c51905d..00000000
Binary files a/dist/image-clipper/images/rotate-along.png and /dev/null differ
diff --git a/dist/image-clipper/images/rotate-inverse.png b/dist/image-clipper/images/rotate-inverse.png
deleted file mode 100755
index ec77b6b5..00000000
Binary files a/dist/image-clipper/images/rotate-inverse.png and /dev/null differ
diff --git a/dist/image-clipper/images/sure.png b/dist/image-clipper/images/sure.png
deleted file mode 100755
index 05f59556..00000000
Binary files a/dist/image-clipper/images/sure.png and /dev/null differ
diff --git a/dist/image-clipper/index.js b/dist/image-clipper/index.js
deleted file mode 100644
index acd9a2fe..00000000
--- a/dist/image-clipper/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import dataUtil from"../core/utils/data-util";import eventUtil from"../core/utils/event-util";import{determineDirection,calcImageOffset,calcImageScale,calcImageSize,calcPythagoreanTheorem,clipTouchMoveOfCalculate,imageTouchMoveOfCalcOffset}from"./calculate";const detail=!0,IMAGE_TYPE={base64:"base64",url:"url"};Component({externalClasses:["l-class"],relations:{"../image-clipper-tools/index":{type:"child"}},options:{pureDataPattern:/^_/},properties:{show:{type:Boolean,value:!1},zIndex:{type:Number,value:99},imageUrl:{type:String},type:{type:String,options:["url","base64"],value:"url"},quality:{type:Number,value:1},width:{type:Number,value:400},height:{type:Number,value:400},minWidth:{type:Number,value:200},maxWidth:{type:Number,value:600},minHeight:{type:Number,value:200},maxHeight:{type:Number,value:600},lockWidth:{type:Boolean,value:!1},lockHeight:{type:Boolean,value:!1},lockRatio:{type:Boolean,value:!0},scaleRatio:{type:Number,value:1},minRatio:{type:Number,value:.5},maxRatio:{type:Number,value:2},disableScale:{type:Number,value:!1},disableRotate:{type:Number,value:!1},limitMove:{type:Boolean,value:!1},checkImage:{type:Boolean,value:!0},checkImageIcon:{type:String,value:"./images/photo.png"},rotateAlong:{type:Boolean,value:!0},rotateAlongIcon:{type:String,value:"./images/rotate-along.png"},rotateInverse:{type:Boolean,value:!0},rotateInverseIcon:{type:String,value:"./images/rotate-inverse.png"},sure:{type:Boolean,value:!0},sureIcon:{type:String,value:"./images/sure.png"},close:{type:Boolean,value:!0},closeIcon:{type:String,value:"./images/close.png"},rotateAngle:{type:Number,value:90}},data:{CANVAS_WIDTH:0,CANVAS_HEIGHT:0,cutX:0,cutY:0,clipWidth:0,clipHeight:0,cutAnimation:!1,imageWidth:0,imageHeight:0,imageTop:0,imageLeft:0,scale:1,angle:0,_SYS_INFO:{},_MOVE_THROTTLE:null,_MOVE_THROTTLE_FLAG:!0,_TIME_CUT_CENTER:null,_flagCutTouch:!1,_flagEndTouch:!1,_CUT_START:{},_cutAnimationTime:null,_touchRelative:[{x:0,y:0}],_hypotenuseLength:0,_ctx:null},observers:{imageUrl(t){t&&(this.imageReset(),wx.showLoading({title:"请稍候...",mask:!0}),wx.getImageInfo({src:t,success:t=>{this.imgComputeSize(t.width,t.height),this.properties.limitMove&&(this.imgMarginDetectionScale(),eventUtil.emit(this,"linimageready",t))},fail:()=>{this.imgComputeSize(),this.properties.limitMove&&this.imgMarginDetectionScale()}}))},"clipWidth, clipHeight"(t,e){let{minWidth:i,minHeight:a}=this.data;i/=2,a/=2,t{dataUtil.setDiffData(this,{cutAnimation:!1})},260);dataUtil.setDiffData(this,{_cutAnimationTime:t})}},limitMove(t){t&&(this.data.angle%90&&dataUtil.setDiffData(this,{angle:90*Math.round(this.data.angle/90)}),this.imgMarginDetectionScale())},"cutY, cutX"(){this.cutDetectionPosition()},"width, height"(t,e){t!==this.width&&dataUtil.setDiffData(this,{clipWidth:t/2}),e!==this.height&&dataUtil.setDiffData(this,{clipHeight:e/2})}},methods:{setCutInfo(){const{width:t,height:e}=this.properties,{_SYS_INFO:i}=this.data,a=t/2,s=e/2,o=(i.windowHeight-s)/2,h=(i.windowWidth-a)/2,l=i.windowWidth/2,n=i.windowHeight/2,c=wx.createCanvasContext("image-clipper",this);this.setData({clipWidth:a,clipHeight:s,cutX:h,cutY:o,CANVAS_HEIGHT:s,CANVAS_WIDTH:a,_ctx:c,imageLeft:l,imageTop:n})},setCutCenter(){const{sysInfo:t,clipHeight:e,clipWidth:i,imageTop:a,imageLeft:s}=this.data;let o=t||wx.getSystemInfoSync(),h=.5*(o.windowHeight-e),l=.5*(o.windowWidth-i);this.setData({imageTop:a-this.data.cutY+h,imageLeft:s-this.data.cutX+l,cutY:h,cutX:l})},clipTouchStart(t){if(!this.properties.imageUrl)return void wx.showToast({title:"请选择图片",icon:"none"});const e=t.touches[0].clientX,i=t.touches[0].clientY,{cutX:a,cutY:s,clipWidth:o,clipHeight:h}=this.data,l=determineDirection(a,s,o,h,e,i);this.moveDuring();const n={width:o,height:h,x:e,y:i,cutY:s,cutX:a,corner:l};this.setData({_flagCutTouch:!0,_flagEndTouch:!0,_CUT_START:n})},clipTouchMove(t){if(!this.properties.imageUrl)return void wx.showToast({title:"请选择图片",icon:"none"});if(1!==t.touches.length)return;const{_flagCutTouch:e,_MOVE_THROTTLE_FLAG:i}=this.data;if(e&&i){const{lockRatio:e,lockHeight:i,lockWidth:a}=this.properties;if(e&&(a||i))return;dataUtil.setDiffData(this,{_MOVE_THROTTLE_FLAG:!1}),this.moveThrottle();const s=clipTouchMoveOfCalculate(this.data,t);if(s){const{width:t,height:e,cutX:o,cutY:h}=s;a||i?a?i||dataUtil.setDiffData(this,{clipHeight:e,cutY:h}):dataUtil.setDiffData(this,{clipWidth:t,cutX:o}):dataUtil.setDiffData(this,{clipWidth:t,clipHeight:e,cutX:o,cutY:h}),this.imgMarginDetectionScale()}}},clipTouchEnd(){this.moveStop(),this.setData({_flagCutTouch:!1})},moveDuring(){clearTimeout(this.data._TIME_CUT_CENTER)},moveStop(){clearTimeout(this.data._TIME_CUT_CENTER);const t=setTimeout(()=>{this.data.cutAnimation||dataUtil.setDiffData(this,{cutAnimation:!0}),this.setCutCenter()},800);dataUtil.setDiffData(this,{_TIME_CUT_CENTER:t})},moveThrottle(){if("android"===this.data._SYS_INFO.platform){clearTimeout(this.data._MOVE_THROTTLE);const t=setTimeout(()=>{dataUtil.setDiffData(this,{_MOVE_THROTTLE_FLAG:!0})},20);dataUtil.setDiffData(this,{_MOVE_THROTTLE:t})}else dataUtil.setDiffData(this,{_MOVE_THROTTLE_FLAG:!0})},imageReset(){const t=this.data._SYS_INFO||wx.getSystemInfoSync();this.setData({scale:1,angle:0,imageTop:t.windowHeight/2,imageLeft:t.windowWidth/2})},imageLoad(){this.imageReset(),wx.hideLoading(),eventUtil.emit(this,"linimageload",!0)},imgComputeSize(t,e){const{imageWidth:i,imageHeight:a}=calcImageSize(t,e,this.data);this.setData({imageWidth:i,imageHeight:a})},imgMarginDetectionScale(t){if(!this.properties.limitMove)return;const e=calcImageScale(this.data,t);this.imgMarginDetectionPosition(e)},imgMarginDetectionPosition(t){if(!this.properties.limitMove)return;const{scale:e,left:i,top:a}=calcImageOffset(this.data,t);dataUtil.setDiffData(this,{imageLeft:i,imageTop:a,scale:e})},imageTouchStart(t){this.setData({_flagEndTouch:!1});const{imageLeft:e,imageTop:i}=this.data,a=t.touches[0].clientX,s=t.touches[0].clientY;let o=[];if(1===t.touches.length)o[0]={x:a-e,y:s-i},this.setData({_touchRelative:o});else{const h=t.touches[1].clientX,l=t.touches[1].clientY;let n=Math.abs(a-h),c=Math.abs(s-l);const u=calcPythagoreanTheorem(n,c);o=[{x:a-e,y:s-i},{x:h-e,y:l-i}],this.setData({_touchRelative:o,_hypotenuseLength:u})}},imageTouchMove(t){const{_flagEndTouch:e,_MOVE_THROTTLE_FLAG:i}=this.data;if(e||!i)return;const a=t.touches[0].clientX,s=t.touches[0].clientY;if(dataUtil.setDiffData(this,{_MOVE_THROTTLE_FLAG:!1}),this.moveThrottle(),this.moveDuring(),1===t.touches.length){const{left:t,top:e}=imageTouchMoveOfCalcOffset(this.data,a,s);dataUtil.setDiffData(this,{imageLeft:t,imageTop:e}),this.imgMarginDetectionPosition()}else{const e=t.touches[1].clientX,i=t.touches[1].clientY;let o=Math.abs(a-e),h=Math.abs(s-i),l=calcPythagoreanTheorem(o,h),n=this.data.scale*(l/this.data._hypotenuseLength);this.properties.disableScale?n=1:(n=n<=this.properties.minRatio?this.properties.minRatio:n,n=n>=this.properties.maxRatio?this.properties.maxRatio:n,eventUtil.emit(this,"linsizechange",{imageWidth:this.data.imageWidth*n,imageHeight:this.data.imageHeight*n})),this.imgMarginDetectionScale(n),dataUtil.setDiffData(this,{_hypotenuseLength:Math.sqrt(Math.pow(o,2)+Math.pow(h,2)),scale:n})}},imageTouchEnd(){dataUtil.setDiffData(this,{_flagEndTouch:!0}),this.moveStop()},cutDetectionPosition(){const{cutX:t,cutY:e,_SYS_INFO:i,clipHeight:a,clipWidth:s}=this.data;let o=()=>{e<0&&dataUtil.setDiffData(this,{cutY:0}),e>i.windowHeight-a&&dataUtil.setDiffData(this,{cutY:i.windowHeight-a})},h=()=>{t<0&&dataUtil.setDiffData(this,{cutX:0}),t>i.windowWidth-s&&dataUtil.setDiffData(this,{cutX:i.windowWidth-s})};if(null===e&&null===t){let t=.5*(i.windowHeight-a),e=.5*(i.windowWidth-s);dataUtil.setDiffData(this,{cutX:e,cutY:t})}else null!==e&&null!==t?(o(),h()):null!==e&&null===t?(o(),dataUtil.setDiffData(this,{cutX:(i.windowWidth-s)/2})):null===e&&null!==t&&(h(),dataUtil.setDiffData(this,{cutY:(i.windowHeight-a)/2}))},computeCutSize(){const{clipHeight:t,clipWidth:e,_SYS_INFO:i,cutX:a,cutY:s}=this.data;e>i.windowWidth?dataUtil.setDiffData(this,{clipWidth:i.windowWidth}):e+a>i.windowWidth&&dataUtil.setDiffData(this,{cutX:i.windowWidth-a}),t>i.windowHeight?dataUtil.setDiffData(this,{clipHeight:i.windowHeight}):t+s>i.windowHeight&&dataUtil.setDiffData(this,{cutY:i.windowHeight-s})},getImageData(){if(!this.properties.imageUrl)return void wx.showToast({title:"请选择图片",icon:"none"});wx.showLoading({title:"加载中"});const{clipHeight:t,clipWidth:e,_ctx:i,scale:a,imageLeft:s,imageTop:o,cutX:h,cutY:l,angle:n}=this.data;let{CANVAS_HEIGHT:c,CANVAS_WIDTH:u}=this.data;const{scaleRatio:g,imageUrl:r,quality:d,type:m}=this.properties,p=()=>{const c=this.data.imageWidth*a*g,u=this.data.imageHeight*a*g,p=s-h,f=o-l;i.translate(p*g,f*g),i.rotate(n*Math.PI/180),i.drawImage(r,-c/2,-u/2,c,u),i.draw(!1,()=>{let i={width:e*g,height:Math.round(t*g),destWidth:e*g,destHeight:Math.round(t)*g,fileType:"png",quality:d},a={url:"",base64:"",width:e*g,height:t*g};IMAGE_TYPE.base64===m?wx.canvasGetImageData({canvasId:"image-clipper",x:0,y:0,width:e*g,height:Math.round(t*g),success:t=>{const e=new Uint8Array(t.data),i=wx.arrayBufferToBase64(e);a.url=i,a.base64=i,wx.hideLoading(),eventUtil.emit(this,"linclip",a)}}):wx.canvasToTempFilePath({...i,canvasId:"image-clipper",success:t=>{a.url=t.tempFilePath,a.base64=t.tempFilePath,wx.hideLoading(),eventUtil.emit(this,"linclip",a)},fail(t){throw t}},this)})};u!==e||c!==t?(u=e,c=t,i.draw(),setTimeout(()=>{p()},100)):p()},uploadImage(){wx.chooseImage({count:1,sizeType:["original","compressed"],sourceType:["album","camera"],success:t=>{const e=t.tempFilePaths;this.setData({imageUrl:e})}})},rotate(t){if(this.properties.disableRotate)return;if(!this.properties.imageUrl)return void wx.showToast({title:"请选择图片",icon:"none"});const{rotateAngle:e}=this.properties,i=this.data.angle;"along"===t.currentTarget.dataset.type?this.setData({angle:i+e}):this.setData({angle:i-e}),eventUtil.emit(this,"linrotate",{currentDeg:this.data.angle})},close(){this.setData({show:!1})},doNothing(){}},lifetimes:{ready(){const t=wx.getSystemInfoSync();this.setData({_SYS_INFO:t}),this.setCutInfo(),this.setCutCenter(),this.computeCutSize(),this.cutDetectionPosition()}}});
\ No newline at end of file
diff --git a/dist/image-clipper/index.json b/dist/image-clipper/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/image-clipper/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/image-clipper/index.wxml b/dist/image-clipper/index.wxml
deleted file mode 100644
index 44fa6001..00000000
--- a/dist/image-clipper/index.wxml
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/dist/image-clipper/index.wxss b/dist/image-clipper/index.wxss
deleted file mode 100644
index bed0533e..00000000
--- a/dist/image-clipper/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.container{width:100vw;height:100vh;background-color:rgba(0,0,0,.6);position:fixed;top:0;left:0;z-index:1}.container .clip-wrapper{position:absolute;width:100vw;height:100vh}.container .clip-wrapper .clip-content{width:100vw;height:100vh;position:absolute;z-index:99;display:flex;flex-direction:column;pointer-events:none}.container .clip-wrapper .clip-content .flex-auto{flex:auto}.container .clip-wrapper .clip-content .clip-content-footer,.container .clip-wrapper .clip-content .clip-content-top{width:100%;pointer-events:none}.container .clip-wrapper .clip-content .clip-content-middle{width:100%;height:400rpx;display:flex;box-sizing:border-box}.container .clip-wrapper .clip-content .clip-content-middle .clip-content-middle-left,.container .clip-wrapper .clip-content .clip-content-middle .clip-content-middle-right{height:100%}.container .clip-wrapper .clip-content .clip-content-middle .clip-content-middle-center{position:relative;border:1px solid;box-sizing:border-box}.container .clip-wrapper .clip-content .clip-content-middle .clip-content-middle-center .clip-edge{position:absolute;left:6rpx;width:34rpx;height:34rpx;border:2rpx solid #fff;pointer-events:auto;box-sizing:border-box}.container .clip-wrapper .clip-content .clip-content-middle .clip-content-middle-center .clip-edge.clip-edge-top-left{border-bottom-width:0!important;border-right-width:0!important}.container .clip-wrapper .clip-content .clip-content-middle .clip-content-middle-center .clip-edge.clip-edge-top-right{border-bottom-width:0!important;border-left-width:0!important}.container .clip-wrapper .clip-content .clip-content-middle .clip-content-middle-center .clip-edge.clip-edge-bottom-left{border-top-width:0!important;border-right-width:0!important}.container .clip-wrapper .clip-content .clip-content-middle .clip-content-middle-center .clip-edge.clip-edge-bottom-right{border-top-width:0!important;border-left-width:0!important}.container .clip-wrapper .bg-transparent{background-color:rgba(0,0,0,.6);transition-duration:.35s}.container .cropper-image{width:100%;border-style:none;position:absolute;top:0;left:0;z-index:2;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:center}.container .clipper-canvas{position:fixed;z-index:10;left:-2000px;top:-2000px;pointer-events:none}.container .footer-tools{position:absolute;left:0;bottom:0;width:100%;z-index:99}.container .footer-tools .tools-icon{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20rpx 40rpx;box-sizing:border-box}.container .footer-tools .tools-icon-image{display:block;width:50rpx;height:50rpx}
\ No newline at end of file
diff --git a/dist/image-picker/image/add.png b/dist/image-picker/image/add.png
deleted file mode 100644
index 8b5dc492..00000000
Binary files a/dist/image-picker/image/add.png and /dev/null differ
diff --git a/dist/image-picker/index.js b/dist/image-picker/index.js
deleted file mode 100644
index a07d3508..00000000
--- a/dist/image-picker/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import validator from"../behaviors/validator";Component({externalClasses:["l-class","l-item-class"],behaviors:["wx://form-field",validator],properties:{urls:{type:Array,value:[]},count:{type:[String,Number],value:9},clear:{type:Boolean,value:!1,observer:function(e){e&&this.handleClear()}},size:{type:[String,Number],value:3,options:[3,4,"3","4"]},sizeType:{type:String,value:"original",options:["original","compressed"]},mode:{type:String,value:"aspectFit",options:["scaleToFill","aspectFit","aspectFill","widthFix","top","bottom","center","left","right","top left","top right","bottom left","bottom right"]},custom:{type:Boolean,value:!1},preview:{type:Boolean,value:!0},maxImageSize:{type:Number,value:1e7},cells:{type:Array,value:null}},data:{showBtn:!0,tempFilePath:""},lifetimes:{attached:function(){let e=this.judgeNewOrOld();null!==this.data.cells&&(e="new",this.setData({urls:this.data.cells})),this.setData({newOrOld:e})}},observers:{urls(){if(null===this.data.cells){let e=this.judgeNewOrOld();this.setData({newOrOld:e})}}},methods:{handleClear(){let e=this.data.urls;this.setData({urls:[],clear:!1,showBtn:!0});let t={all:e,current:e};this.triggerEvent("linclear",t,{})},onPreviewTap(e){const t=e.currentTarget.dataset.index,l=this.data.urls;let a="",s=[];const i=this.data.newOrOld;if("[object Object]"===Object.prototype.toString.call(this.data.cells)){const e=this.data.cells;a=e[t].url;for(let t=0;te.data.maxImageSize;const s=e.data.urls.concat(a);s.length===parseInt(e.data.count)&&e.setData({showBtn:!1}),e.setData({urls:s,value:s,tempFilePath:a});let i={current:a,all:s},r={};e.triggerEvent("linchange",i,r),e.triggerEvent("linpush",i,r);let n=[];for(let e=0;e0){let t={current:a,all:s,overSizeList:n};e.triggerEvent("linoversize",t,r)}}})},onDelTap(e){const t=e.currentTarget.dataset.index,l=this.data.urls,a=l[t],s=this.handleSplice(l,a);s.lengthe.filter(e=>e!==t),judgeNewOrOld:function(){const e=this.data.urls;return 0!==e.length&&"object"!=typeof e[0]?"old":"new"}}});
\ No newline at end of file
diff --git a/dist/image-picker/index.json b/dist/image-picker/index.json
deleted file mode 100644
index 19acd717..00000000
--- a/dist/image-picker/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index","l-grid-item":"../grid-item/index","l-grid":"../grid/index"}}
\ No newline at end of file
diff --git a/dist/image-picker/index.wxml b/dist/image-picker/index.wxml
deleted file mode 100644
index 13e32026..00000000
--- a/dist/image-picker/index.wxml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/image-picker/index.wxss b/dist/image-picker/index.wxss
deleted file mode 100644
index ea896986..00000000
--- a/dist/image-picker/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.item{position:relative}.close{position:absolute;right:10rpx;top:10rpx;height:40rpx;width:40rpx;border-radius:50%;background:rgba(0,0,0,.4);display:flex;flex-direction:row;align-items:center;justify-content:center;box-sizing:border-box;z-index:99}.add{height:220rpx;width:220rpx;border:1rpx solid #eee;border-radius:4rpx;display:flex;flex-direction:row;align-items:center;justify-content:center}.add-icon{height:100rpx;width:100rpx}.img{height:220rpx;width:220rpx;margin-bottom:10rpx;border:1rpx solid #eee;border-radius:4rpx;display:flex;flex-direction:row;align-items:center;justify-content:center}.min-img{height:160rpx;width:160rpx;margin-bottom:10rpx;border:1rpx solid #eee;border-radius:4rpx;display:flex;flex-direction:row;align-items:center;justify-content:center}.flex{border:1rpx solid #eee;border-radius:4rpx;display:flex;flex-direction:row;align-items:center;justify-content:center}.l-grid-item{padding:0!important}
\ No newline at end of file
diff --git a/dist/index-anchor/index.js b/dist/index-anchor/index.js
deleted file mode 100644
index 426dc280..00000000
--- a/dist/index-anchor/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import nodeUtil from"../core/utils/node-util";Component({externalClasses:["l-anchor-class"],options:{multipleSlots:!0,pureDataPattern:/^_/},relations:{"../index-list/index":{type:"parent"}},data:{anchorSlot:{height:-1},anchor:{height:0},anchorText:"",anchorStyle:"",anchorWrapperStyle:""},lifetimes:{attached(){this.parseAnchorSlotRect()}},methods:{async parseAnchorSlotRect(){const t=await nodeUtil.getNodeRectFromComponent(this,".anchor-slot");t?this.setData({"anchorSlot.height":t.height}):this.setData({"anchorSlot.height":0})},async parseAnchorRect(){const t=await nodeUtil.getNodeRectFromComponent(this,".anchor");t&&this.setData({"anchor.height":t.height})},setFixed(t,e){const a=`\n position:fixed;\n top:${t}rpx;\n `,o=`height:${e}px;`;this.setData({anchorStyle:a,anchorWrapperStyle:o})},setRelative(t){const e=`\n position:relative;\n transform: translate3d(0, ${t}px, 0);\n `;this.setData({anchorStyle:e})},clearStyle(){this.setData({anchorStyle:"",anchorWrapperStyle:""})},isRelative(){return this.data.anchorStyle.indexOf("relative")>0},isFixed(){return this.data.anchorStyle.indexOf("fixed")>0}}});
\ No newline at end of file
diff --git a/dist/index-anchor/index.json b/dist/index-anchor/index.json
deleted file mode 100644
index 8d97f7de..00000000
--- a/dist/index-anchor/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-index-list":"../index-list/index"}}
\ No newline at end of file
diff --git a/dist/index-anchor/index.wxml b/dist/index-anchor/index.wxml
deleted file mode 100644
index 44729cb1..00000000
--- a/dist/index-anchor/index.wxml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
- {{anchorText}}
-
-
-
diff --git a/dist/index-anchor/index.wxss b/dist/index-anchor/index.wxss
deleted file mode 100644
index 1b449e9e..00000000
--- a/dist/index-anchor/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.anchor-wrapper{width:100%}.anchor-wrapper .anchor{width:100%}.anchor-wrapper .anchor-default{width:100%;background-color:#f7f8fa;display:flex;align-items:center;padding:8rpx 0 8rpx 30rpx;font-size:26rpx;font-weight:700;color:#323132;box-sizing:border-box}
\ No newline at end of file
diff --git a/dist/index-list/index.js b/dist/index-list/index.js
deleted file mode 100644
index 01e05040..00000000
--- a/dist/index-list/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import nodeUtil from"../core/utils/node-util";import dataUtil from"../core/utils/data-util";import eventUtil from"../core/utils/event-util";import pixelUtil from"../core/utils/pixel-util";const defaultSidebarData=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"];Component({externalClasses:["l-tip-class","l-tip-text-class","l-sidebar-class","l-selected-class","l-unselected-class","l-sidebar-item-class"],relations:{"../index-anchor/index":{type:"child"}},options:{multipleSlots:!0,pureDataPattern:/^_/},lifetimes:{attached(){this.init()}},properties:{isStick:{type:Boolean,value:!1},scrollTop:{type:Number,value:0},sidebarData:{type:Array,value:defaultSidebarData},showSidebar:{type:Boolean,value:!0},stickOffsetTop:{type:Number,value:0}},data:{_sidebar:{top:0,height:0,sidebarItemCenterPoints:[],isMoving:!1,sidebarItemRect:{}},_anchor:{anchorTopLocations:[],indexAnchorComponents:[],currentStickAnchorIndex:-1,anchorItemsHeight:[]},_stickOffsetTopPx:0,activeSidebarItem:0,tipTop:0,showTip:!1,tipHeight:0},observers:{scrollTop:function(t){this.setIndexListStyle(t)},stickOffsetTop:function(t){this.setData({_stickOffsetTopPx:pixelUtil.rpx2px(t)})}},methods:{async init(){await this.parseSidebarRect(),await this.parseSidebarItemRect(),await this.parseIndexAnchors(),this.parseAnchorRect(),wx.lin=wx.lin||{},wx.lin.setScrollTop=t=>{dataUtil.setDiffData(this,{scrollTop:t})}},async parseSidebarRect(){const t=await nodeUtil.getNodeRectFromComponent(this,".sidebar");this.setData({"_sidebar.height":t.height,"_sidebar.top":t.top})},async parseSidebarItemRect(){const t=this.data.sidebarData.length,e=await nodeUtil.getNodeRectFromComponent(this,".sidebar-item"),i=this.data._sidebar.height/t,a=e.height,s=await nodeUtil.getNodeFieldsFromComponent(this,".sidebar-item",{computedStyle:["margin-top"]}),o=await nodeUtil.getNodeFieldsFromComponent(this,".tip",{computedStyle:["height"]}),n=[],r=s["margin-top"].replace("px","");for(let e=1;e<=t;e++)n.push((2*e-1)*a/2+e*parseInt(r));const h=parseInt(o.height.replace("px",""));this.setData({tipHeight:h,tipHeightOverflow:.205*h,"_sidebar.sidebarItemRect":e,"_sidebar.sidebarItemHeight":i,"_sidebar.sidebarItemRealHeight":a,"_sidebar.sidebarItemCenterPoints":n})},parseIndexAnchors(){const t=this.getRelationNodes("../index-anchor/index");if(t){this.setData({"_anchor.indexAnchorComponents":t});for(let e=0;e=n&&t+c<=h-r&&!o.isFixed()){o.setFixed(this.data.stickOffsetTop,r);for(let t=0;th-r&&t+ca-1&&(o=a-1);const n=this.data.sidebarData[o];dataUtil.setDiffData(this,{tipText:n,activeSidebarItem:o,tipTop:this.data._sidebar.sidebarItemCenterPoints[o]});let r=this.data._anchor.anchorTopLocations[o]-this.data._stickOffsetTopPx;wx.pageScrollTo({duration:0,scrollTop:r}),"tap"===t.type&&setTimeout(()=>{this.switchIsMovingSidebar(!1)},100),eventUtil.emit(this,"linselected",{index:o,tipText:n})},onTouchend(){setTimeout(()=>{this.switchTipShow(!1)},500),this.switchIsMovingSidebar(!1)},onTapSidebar(t){this.onTouchMove(t)}}});
\ No newline at end of file
diff --git a/dist/index-list/index.json b/dist/index-list/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/index-list/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/index-list/index.wxml b/dist/index-list/index.wxml
deleted file mode 100644
index b2ca0a8a..00000000
--- a/dist/index-list/index.wxml
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-
-
-
-
diff --git a/dist/index-list/index.wxss b/dist/index-list/index.wxss
deleted file mode 100644
index aaecbd06..00000000
--- a/dist/index-list/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.index-list .sidebar{font-size:24rpx;position:fixed;right:30rpx;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center}.index-list .sidebar-item{width:40rpx;height:40rpx;border-radius:50%;display:flex;justify-content:center;align-items:center;margin-top:8rpx}.index-list .sidebar-item-active{color:#fff;background-color:#3963bc}.index-list .tip{width:90rpx;height:90rpx;background-color:#d8d8d8;border-radius:90px 90px 0;display:flex;justify-content:center;align-items:center;position:absolute;left:-160rpx;transform:rotate(-45deg) translateY(-35%)}.index-list .tip-text{font-size:30rpx;transform:rotate(45deg)}
\ No newline at end of file
diff --git a/dist/input/index.js b/dist/input/index.js
deleted file mode 100644
index e8c56c8e..00000000
--- a/dist/input/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import eventBus from"../core/utils/event-bus.js";import validator from"../behaviors/validator";import rules from"../behaviors/rules";Component({options:{multipleSlots:!0},behaviors:["wx://form-field",validator,rules],externalClasses:["l-class","l-label-class","l-error-text","l-error-text-class","l-input-class","l-row-class"],properties:{label:String,hideLabel:Boolean,labelCustom:Boolean,showRow:{type:Boolean,value:!0},required:Boolean,placeholder:String,type:{type:String,value:"text",options:["text","idcard","digit","password","number"]},value:String,colon:Boolean,focus:Boolean,clear:Boolean,maxlength:{type:Number,value:140},width:{type:Number,value:null},labelWidth:{type:Number,value:200},labelLayout:{type:String,value:"left",options:["left","right"]},disabled:Boolean,placeholderStyle:String,showEye:{type:Boolean,value:!1}},data:{},attached(){},methods:{handleInputChange(e){const{detail:t={}}=e,{value:a=""}=t;this.setData({value:a}),eventBus.emit("lin-form-change-"+this.id,this.id),this.triggerEvent("lininput",e.detail)},handleInputFocus(e){this.triggerEvent("linfocus",e.detail)},handleInputBlur(e){this.validatorData({[this.data.name]:e.detail.value}),eventBus.emit("lin-form-blur-"+this.id,this.id),this.triggerEvent("linblur",e.detail)},handleInputConfirm(e){const{detail:t={}}=e,{value:a=""}=t;this.setData({value:a}),this.triggerEvent("linconfirm",e.detail)},onClearTap(e){this.setData({value:""}),this.triggerEvent("linclear",e.detail)},getValues(){return this.data.value},reset(){this.setData({value:""})},onTapEyeIcon(){const e=this.data.type;"text"===e?this.setData({type:"password"}):"password"===e&&this.setData({type:"text"})}}});
\ No newline at end of file
diff --git a/dist/input/index.json b/dist/input/index.json
deleted file mode 100644
index a70bd9bb..00000000
--- a/dist/input/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index","l-error-tip":"../error-tip/index"}}
\ No newline at end of file
diff --git a/dist/input/index.wxml b/dist/input/index.wxml
deleted file mode 100644
index 08a37f78..00000000
--- a/dist/input/index.wxml
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
diff --git a/dist/input/index.wxss b/dist/input/index.wxss
deleted file mode 100644
index 89c6970d..00000000
--- a/dist/input/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.form-item{position:relative;font-size:28rpx;color:#333;height:88rpx;display:flex;flex-direction:row;align-items:center;padding-right:25rpx;box-sizing:border-box}.row{position:absolute;bottom:0;right:0;height:2rpx;width:730rpx;background:#f3f3f3}.text-require{color:#e23;vertical-align:middle}.form-label{display:flex;flex-direction:row;align-items:center;height:88rpx;padding-left:25rpx;padding-right:15rpx;box-sizing:border-box}.disabled{color:#9a9a9a!important}.mask{position:absolute;z-index:999;height:100%;width:100%}.form-label-right{justify-content:flex-end}.form-label-left{justify-content:flex-start}.input{height:100%;line-height:100%;flex:1}.close{height:36rpx;width:36rpx;background:#ddd;display:flex;flex-direction:row;align-items:center;justify-content:center;border-radius:50%;margin-right:20rpx}.pls-class{color:#9a9a9a}.hideLabel{padding-left:25rpx}.l-eye{padding:10rpx}.l-eye-text{color:#3963bc!important}.l-eye-password{color:rgba(57,99,188,.6)!important}
\ No newline at end of file
diff --git a/dist/list/index.js b/dist/list/index.js
deleted file mode 100644
index f70ae4dd..00000000
--- a/dist/list/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import hover from"../behaviors/hover";Component({behaviors:[hover],relations:{"../list/index":{type:"parent",linked(){},linkChanged(){},unlinked(){}}},options:{multipleSlots:!0},externalClasses:["l-class","l-class-icon","l-icon-class","l-class-image","l-image-class","l-class-right","l-right-class","l-class-content","l-content-class","l-class-desc","l-desc-class","l-link-icon-class"],properties:{icon:String,iconColor:{type:String,value:"#3963BC"},iconSize:{type:String,value:"28"},image:String,title:String,desc:String,tagPosition:{type:String,value:"left"},tagContent:String,tagShape:{type:String,value:"square"},tagColor:String,tagPlain:Boolean,badgePosition:{type:String,value:"left"},dotBadge:Boolean,badgeCount:Number,badgeMaxCount:{type:Number,value:99},badgeCountType:{type:String,value:"overflow"},rightDesc:String,gap:Number,leftGap:Number,rightGap:Number,isLink:{type:Boolean,value:!0},linkType:{type:String,value:"navigateTo"},url:String},methods:{tapcell:function(e){const{linkType:t,url:l}=e.currentTarget.dataset;l&&wx[t]({url:l}),this.triggerEvent("lintap",{e:e},{bubbles:!0,composed:!0})}}});
\ No newline at end of file
diff --git a/dist/list/index.json b/dist/list/index.json
deleted file mode 100644
index 32f4c753..00000000
--- a/dist/list/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index","l-badge":"../badge/index","l-tag":"../tag/index"} }
\ No newline at end of file
diff --git a/dist/list/index.wxml b/dist/list/index.wxml
deleted file mode 100644
index ca412781..00000000
--- a/dist/list/index.wxml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{title}}
- {{desc}}
-
- {{tagContent}}
- {{tagContent}}
-
-
-
-
-
-
- {{tagContent}}
- {{tagContent}}
- {{rightDesc}}
-
-
-
diff --git a/dist/list/index.wxss b/dist/list/index.wxss
deleted file mode 100644
index bdc88a31..00000000
--- a/dist/list/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-list{width:100%;min-height:88rpx;display:flex;justify-content:space-between;align-items:center;color:#333;font-size:28rpx;border-bottom:1px solid #f3f3f3;box-sizing:border-box}.l-list-hover{opacity:.8}.l-list .left-section{display:flex;justify-content:space-between;align-items:center}.l-list .left-section .l-icon{margin-right:20rpx}.l-list .left-section .l-desc{color:#d1d3d7;font-size:24rpx}.l-list .left-section .cell-tag{margin-left:20rpx}.l-list .left-section .l-image{width:44rpx;height:44rpx;margin-right:20rpx}.l-list .right-section{display:flex;justify-content:space-between;align-items:center;line-height:1.2}.l-list .right-section .l-text{margin-right:20rpx}.l-list .right-section .cell-tag{margin-right:20rpx}.l-list .badge-right{border-radius:28rpx;min-width:28rpx;left:-20rpx;right:auto;top:0;bottom:0;transform:translate(-100%,2rpx)}
\ No newline at end of file
diff --git a/dist/loading/index.js b/dist/loading/index.js
deleted file mode 100644
index 520dd88a..00000000
--- a/dist/loading/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import computeOffset from"../behaviors/computeOffset";import validator from"../behaviors/validator";Component({behaviors:[computeOffset,validator],externalClasses:["l-container-class","l-class"],properties:{show:{type:Boolean,value:!1},opacity:{type:String,value:"1"},bgColor:String,zIndex:{type:String,value:"776"},type:{type:String,value:"rotate",options:["flash","flip","change","rotate","circle"]},color:{type:String,value:""},size:{type:String,value:"medium"},custom:Boolean,fullScreen:Boolean},attached(){this._init()},pageLifetimes:{show(){this._init()}},methods:{_init(){wx.lin=wx.lin||{},wx.lin.showLoading=e=>{const{custom:t=!1,fullScreen:o=!1,color:i="",type:a="rotate",size:s="medium",opacity:l="1"}={...e};this.setData({custom:t,fullScreen:o,color:i,type:a,size:s,opacity:l,show:!0})},wx.lin.hideLoading=()=>{this.setData({show:!1})}},doNothingMove(){}}});
\ No newline at end of file
diff --git a/dist/loading/index.json b/dist/loading/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/loading/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/loading/index.wxml b/dist/loading/index.wxml
deleted file mode 100644
index 3fad2412..00000000
--- a/dist/loading/index.wxml
+++ /dev/null
@@ -1,75 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/loading/index.wxss b/dist/loading/index.wxss
deleted file mode 100644
index bb44cf07..00000000
--- a/dist/loading/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.container-loading{position:fixed;height:100%;width:100%;top:0;left:0}.content{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#fff;height:100%}.spinner-flash-medium{width:60rpx;height:60rpx}.spinner-flash-mini{width:40rpx;height:40rpx}.spinner-flash-large{width:80rpx;height:80rpx}.spinner-flip-medium{width:60rpx;height:60rpx}.spinner-flip-mini{width:40rpx;height:40rpx}.spinner-flip-large{width:80rpx;height:80rpx}.spinner-change-medium{width:30rpx;height:30rpx}.spinner-change-mini{width:20rpx;height:20rpx}.spinner-change-large{width:50rpx;height:50rpx}.flash-spinner{position:relative}.flash-bounce1,.flash-bounce2{width:100%;height:100%;border-radius:50%;background-color:#3963bc;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:bounce 2s infinite ease-in-out;animation:bounce 2s infinite ease-in-out}.flash-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes bounce{0%,100%{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}}@keyframes bounce{0%,100%{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.flip-bounce1{background-color:#3963bc;-webkit-animation:rotateplane 1.2s infinite ease-in-out;animation:rotateplane 1.2s infinite ease-in-out}@-webkit-keyframes rotateplane{0%{-webkit-transform:perspective(120px)}50%{-webkit-transform:perspective(120px) rotateY(180deg)}100%{-webkit-transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}@keyframes rotateplane{0%{transform:perspective(120px) rotateX(0) rotateY(0);-webkit-transform:perspective(120px) rotateX(0) rotateY(0)}50%{transform:perspective(120px) rotateX(-180.1deg) rotateY(0);-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0)}100%{transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.change-spinner{width:240rpx;text-align:center}.change-bounce1{background-color:#3963bc;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-delay:-.32s;animation-delay:-.32s}.change-bounce2{background-color:#3963bc;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-delay:-.16s;animation-delay:-.16s}.change-bounce3{background-color:#3963bc;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes bouncedelay{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes bouncedelay{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.spinner-circle{position:relative}.spinner-circle-mini{width:40rpx;height:40rpx}.spinner-circle-medium{width:60rpx;height:60rpx}.spinner-circle-large{width:70rpx;height:70rpx}.container1>.container-view,.container2>.container-view,.container3>.container-view{border-radius:50%;position:absolute;background-color:#3963bc;-webkit-animation:bouncedelay4 1.2s infinite ease-in-out;animation:bouncedelay4 1.2s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.circle-mini{width:12rpx;height:12rpx}.circle-medium{width:15rpx;height:15rpx}.circle-large{width:20rpx;height:20rpx}.spinner-circle .spinner-container{position:absolute;width:100%;height:100%}.container2{-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.container3{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.circle1{top:0;left:0}.circle2{top:0;right:0}.circle3{right:0;bottom:0}.circle4{left:0;bottom:0}.container2 .circle1{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.container3 .circle1{-webkit-animation-delay:-1s;animation-delay:-1s}.container1 .circle2{-webkit-animation-delay:-.9s;animation-delay:-.9s}.container2 .circle2{-webkit-animation-delay:-.8s;animation-delay:-.8s}.container3 .circle2{-webkit-animation-delay:-.7s;animation-delay:-.7s}.container1 .circle3{-webkit-animation-delay:-.6s;animation-delay:-.6s}.container2 .circle3{-webkit-animation-delay:-.5s;animation-delay:-.5s}.container3 .circle3{-webkit-animation-delay:-.4s;animation-delay:-.4s}.container1 .circle4{-webkit-animation-delay:-.3s;animation-delay:-.3s}.container2 .circle4{-webkit-animation-delay:-.2s;animation-delay:-.2s}.container3 .circle4{-webkit-animation-delay:-.1s;animation-delay:-.1s}@-webkit-keyframes bouncedelay4{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes bouncedelay4{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.rotate{border-radius:50%;animation:rotate .7s linear infinite}.rotate-mini{height:40rpx;width:40rpx;border-top:6rpx solid #3963bc;border-right:6rpx solid transparent!important;border-bottom:6rpx solid #3963bc;border-left:6rpx solid #3963bc}.rotate-medium{height:50rpx;width:50rpx;border-top:6rpx solid #3963bc;border-right:6rpx solid transparent!important;border-bottom:6rpx solid #3963bc;border-left:6rpx solid #3963bc}.rotate-large{height:70rpx;width:70rpx;border-top:8rpx solid #3963bc;border-right:8rpx solid transparent!important;border-bottom:8rpx solid #3963bc;border-left:8rpx solid #3963bc}@keyframes rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
\ No newline at end of file
diff --git a/dist/loadmore/index.js b/dist/loadmore/index.js
deleted file mode 100644
index 750de9ca..00000000
--- a/dist/loadmore/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import validator from"../behaviors/validator";Component({externalClasses:["l-class","l-loading-class","l-end-class","l-line-class"],options:{multipleSlots:!0},behaviors:[validator],properties:{show:Boolean,custom:Boolean,line:Boolean,color:String,size:{type:String,value:"28"},type:{type:String,value:"loading",options:["loading","end"]},endText:{type:String,value:"我是有底线的~"},loadingText:{type:String,value:"加载中..."}},data:{},attached(){this._init()},pageLifetimes:{show(){this._init()}},methods:{_init(){wx.lin=wx.lin||{},wx.lin.showLoadmore=e=>{const{custom:o=!1,line:t=!1,color:i="",size:l="28",type:a="loading",endText:n="我是有底线的",loadingText:s="加载中..."}={...e};this.setData({custom:o,line:t,color:i,size:l,type:a,endText:n,loadingText:s,show:!0})},wx.lin.hideLoadmore=()=>{this.setData({show:!1})}},onLoadmore(){this.triggerEvent("lintap",{},{bubbles:!0,composed:!0})}}});
\ No newline at end of file
diff --git a/dist/loadmore/index.json b/dist/loadmore/index.json
deleted file mode 100644
index 68ad6452..00000000
--- a/dist/loadmore/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-loading":"../loading/index"}}
\ No newline at end of file
diff --git a/dist/loadmore/index.wxml b/dist/loadmore/index.wxml
deleted file mode 100644
index 9405776f..00000000
--- a/dist/loadmore/index.wxml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
- {{loadingText}}
- {{endText}}
-
-
-
diff --git a/dist/loadmore/index.wxss b/dist/loadmore/index.wxss
deleted file mode 100644
index d8c4964f..00000000
--- a/dist/loadmore/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.loadmore-container{display:flex;flex-direction:column;background-color:transparent}.loading{display:flex;flex-direction:row;width:100%;height:72rpx;align-items:center;justify-content:center;background-color:transparent}.loading .loading-view:nth-child(2){margin-left:36rpx}.loading-text{color:#bbb;font-size:28rpx;margin:0 12rpx}.line{width:80rpx;height:2rpx;background-color:#d1d3d7}.rotate{border-radius:50%;animation:rotate .7s linear infinite;height:28rpx;width:28rpx;border-top:4rpx solid #bbb;border-right:4rpx solid transparent!important;border-bottom:4rpx solid #bbb;border-left:4rpx solid #bbb;margin-left:12rpx}@keyframes rotate{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
\ No newline at end of file
diff --git a/dist/mask/index.js b/dist/mask/index.js
deleted file mode 100644
index b385738e..00000000
--- a/dist/mask/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import zIndex from"../behaviors/zIndex";Component({behaviors:[zIndex],externalClasses:["l-class","l-mask-class"],properties:{show:{type:Boolean,value:!1},opacity:{type:[String,Number],value:.4},zIndex:{type:Number,value:99},center:{type:Boolean,value:!1},locked:{type:Boolean,value:!0},fullScreen:{type:String,value:""},NavColor:{type:String,value:""}},data:{},methods:{doNothingMove(){},onMaskTap(){!0!==this.data.locked&&this.setData({show:!1}),this.triggerEvent("lintap",!0,{bubbles:!0,composed:!0})}},attached:function(){}});
\ No newline at end of file
diff --git a/dist/mask/index.json b/dist/mask/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/mask/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/mask/index.wxml b/dist/mask/index.wxml
deleted file mode 100644
index a6b89867..00000000
--- a/dist/mask/index.wxml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/dist/mask/index.wxss b/dist/mask/index.wxss
deleted file mode 100644
index f2dbe421..00000000
--- a/dist/mask/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.container-mask{position:fixed;top:0;left:0;width:100%;height:100%;transition:all .3s}.mask-bg{height:100%;width:100%;background:#fff;z-index:99}.mask-content{display:inline-block;z-index:101;overflow:hidden}.center{display:flex;flex-direction:row;align-items:center;justify-content:center}
\ No newline at end of file
diff --git a/dist/message/index.js b/dist/message/index.js
deleted file mode 100644
index 3ea60c10..00000000
--- a/dist/message/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import zIndex from"../behaviors/zIndex";import watchShow from"../behaviors/watchShow";import validator from"../behaviors/validator";Component({behaviors:[zIndex,watchShow,validator],externalClasses:["l-class","l-image-class"],properties:{show:Boolean,icon:String,iconColor:{type:String,value:"#fff"},iconSize:{type:String,value:"28"},image:String,content:String,type:{type:String,value:"primary",options:["primary","warning","success","error"]},duration:{type:Number,value:1500},openApi:{type:Boolean,value:!0},top:{type:Number,value:0}},data:{status:!1},observers:{icon:function(){}},attached(){this.initMessage()},pageLifetimes:{show(){this.initMessage()}},methods:{initMessage(){wx.lin=wx.lin||{},wx.lin.showMessage=(t={})=>{const{content:e="",icon:i="",image:a="",type:s="primary",duration:o=1500,success:n=null,top:r=0}=t;return this.data.success=n,this.setData({content:e,icon:i,image:a,duration:o,type:s,top:r}),this.changeStatus(),this},wx.lin.hideMessage=()=>{this.setData({status:!1})}}}});
\ No newline at end of file
diff --git a/dist/message/index.json b/dist/message/index.json
deleted file mode 100644
index e11651a3..00000000
--- a/dist/message/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index"}}
\ No newline at end of file
diff --git a/dist/message/index.wxml b/dist/message/index.wxml
deleted file mode 100644
index 33de4a50..00000000
--- a/dist/message/index.wxml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
- {{content}}
-
-
-
diff --git a/dist/message/index.wxss b/dist/message/index.wxss
deleted file mode 100644
index 1388db6f..00000000
--- a/dist/message/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-message{width:750rpx;height:72rpx;border-radius:0rpx 0rpx 16rpx 16rpx;display:flex;justify-content:center;align-items:center;position:fixed;left:50%;font-size:28rpx;color:#fff;opacity:0;box-shadow:0rpx 6rpx 16rpx 0rpx rgba(217,212,191,.5);transform:translateX(-50%) translateZ(0) translateY(-100%);transition:all .4s ease-in-out}.l-message-success{background-color:#34bfa3}.l-message-error{background-color:#f4516c}.l-message-warning{background-color:#ffe57f;color:#333}.l-message-primary{background-color:#3963bc}.l-message-show{transform:translateX(-50%) translateZ(0) translateY(0);opacity:1}.l-message-image{width:30rpx;height:30rpx;margin-right:15rpx}
\ No newline at end of file
diff --git a/dist/notice-bar/index.js b/dist/notice-bar/index.js
deleted file mode 100644
index a09c7df8..00000000
--- a/dist/notice-bar/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import nodeUtil from"../core/utils/node-util";Component({externalClasses:["l-class","l-icon-class"],properties:{type:{type:String,value:"still"},swipArr:Array,frontIconName:{type:String,value:""},frontIconSize:{type:Number,value:28},frontIconColor:{type:String,value:"#3683D6"},endIconName:{type:String,value:""},endIconSize:{type:Number,value:28},endIconColor:{type:String,value:"#3683D6"},backgroundcolor:{type:String,value:"#DFEDFF"},color:{type:String,value:"#3683D6"},speed:{type:Number,value:1500},show:{type:Boolean,value:!0},close:{type:Boolean,value:!1}},data:{wrapWidth:0,width:0,duration:0,animation:null,timer:null},detached(){this.destroyTimer()},ready(){"roll"===this.properties.type&&this.properties.show&&this.initAnimation()},methods:{async initAnimation(){const t=await nodeUtil.getNodeRectFromComponent(this,".l-noticebar-content"),i=await nodeUtil.getNodeRectFromComponent(this,".l-noticebar-content-wrap"),a=t.width/40*this.data.speed,e=wx.createAnimation({duration:a,timingFunction:"linear"});this.setData({wrapWidth:i.width,width:t.width,duration:a,animation:e},()=>{this.startAnimation()})},startAnimation(){if(0!==this.data.animation.option.transition.duration){this.data.animation.option.transition.duration=0;const t=this.data.animation.translateX(this.data.wrapWidth).step();this.setData({animationData:t.export()})}this.data.animation.option.transition.duration=this.data.duration;const t=this.data.animation.translateX(-this.data.width).step();setTimeout(()=>{this.setData({animationData:t.export()})},100);const i=setTimeout(()=>{this.startAnimation()},this.data.duration);this.setData({timer:i})},destroyTimer(){this.data.timer&&clearTimeout(this.data.timer)},handleTap(){this.triggerEvent("lintap",{},{bubbles:!0,composed:!0}),this.setData({timer:null})},onSwip(t){this.triggerEvent("lintap",{...t.currentTarget.dataset},{bubbles:!0,composed:!0})},onIconTap(){this.triggerEvent("linicontap",{},{bubbles:!0,composed:!0}),this.setData({timer:null})},onClose(){this.setData({timer:null,show:!1})}}});
\ No newline at end of file
diff --git a/dist/notice-bar/index.json b/dist/notice-bar/index.json
deleted file mode 100644
index e11651a3..00000000
--- a/dist/notice-bar/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index"}}
\ No newline at end of file
diff --git a/dist/notice-bar/index.wxml b/dist/notice-bar/index.wxml
deleted file mode 100644
index 958b947d..00000000
--- a/dist/notice-bar/index.wxml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
- {{item}}
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/notice-bar/index.wxss b/dist/notice-bar/index.wxss
deleted file mode 100644
index 3844270c..00000000
--- a/dist/notice-bar/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-noticebar{display:flex;height:72rpx;width:750rpx;line-height:72rpx;font-size:28rpx;color:#3963bc;background-color:#dfedff;overflow:hidden;box-shadow:0 2px 5px 0 rgba(218,224,233,.4);border-radius:0 0 8px 8px}.l-noticebar-icon{display:flex;margin-left:20rpx;margin-right:18rpx;align-items:center}.l-noticebar-icon+.l-noticebar-content-wrap-view{margin-left:5rpx}.l-noticebar-operation{display:flex;margin-right:16rpx;margin-left:8rpx;align-items:center}.l-noticebar-content-wrap{display:flex;margin-left:5rpx;flex:1;height:72rpx;position:relative;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.l-noticebar-content-wrap .l-noticebar-content{position:absolute;transition-duration:20s}
\ No newline at end of file
diff --git a/dist/popup/index.js b/dist/popup/index.js
deleted file mode 100644
index 7dbb14a1..00000000
--- a/dist/popup/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import zIndex from"../behaviors/zIndex";import validator from"../behaviors/validator";import eventUtil from"../core/utils/event-util";Component({behaviors:[zIndex,validator],externalClasses:["l-bg-class","l-panel-class","l-class"],properties:{show:{type:Boolean,value:!1},animation:{type:Boolean,value:!0},transition:{type:Boolean,value:null},contentAlign:{type:String,value:"center",options:["top","right","left","bottom","center"]},direction:{type:String,value:null,options:["top","right","left","bottom","center"]},locked:{type:Boolean,value:!1}},attached(){this._init()},pageLifetimes:{show(){this._init()}},data:{status:"show"},methods:{_init(){wx.lin=wx.lin||{},wx.lin.showPopup=t=>{const{zIndex:e=99,animation:o=!0,contentAlign:i="center",locked:a=!1}={...t};this.setData({zIndex:e,animation:o,contentAlign:i,locked:a,show:!0})},wx.lin.hidePopup=()=>{this.setData({status:"hide"}),setTimeout(()=>{this.setData({show:!1})},300)}},doNothingMove(){},doNothingTap(){},onPopupTap(){!0!==this.data.locked&&(this.data.show?(this.setData({status:"hide"}),setTimeout(()=>{this.setData({show:!1,status:"show"})},300)):this.setData({show:!0,status:"show"})),eventUtil.emit(this,"lintap",!0)}}});
\ No newline at end of file
diff --git a/dist/popup/index.json b/dist/popup/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/popup/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/popup/index.wxml b/dist/popup/index.wxml
deleted file mode 100644
index e0753280..00000000
--- a/dist/popup/index.wxml
+++ /dev/null
@@ -1,8 +0,0 @@
-
diff --git a/dist/popup/index.wxss b/dist/popup/index.wxss
deleted file mode 100644
index 1d80b771..00000000
--- a/dist/popup/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.popup-fade-center-active-show{animation:popup-center-fadein .3s forwards}.popup-fade-center-active-hide{animation:popup-center-fadeout .3s forwards}.popup-fade-top-active-show{animation:popup-top-fadein .3s forwards}.popup-fade-top-active-hide{animation:popup-top-fadeout .3s forwards}.popup-fade-left-active-show{animation:popup-left-fadein .3s forwards}.popup-fade-left-active-hide{animation:popup-left-fadeout .3s forwards}.popup-fade-right-active-show{animation:popup-right-fadein .3s forwards}.popup-fade-right-active-hide{animation:popup-right-fadeout .3s forwards}.popup-fade-bottom-active-show{animation:popup-bottom-fadein .3s forwards}.popup-fade-bottom-active-hide{animation:popup-bottom-fadeout .3s forwards}@keyframes popup-top-fadein{0%{transform:translate3d(0,-100%,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@keyframes popup-top-fadeout{0%{transform:translate3d(0,0,0);opacity:1}100%{transform:translate3d(0,-100%,0);opacity:.1}}@keyframes popup-left-fadein{0%{transform:translate3d(-100%,0,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@keyframes popup-left-fadeout{0%{transform:translate3d(0,0,0);opacity:1}100%{transform:translate3d(-100%,0,0);opacity:.1}}@keyframes popup-right-fadein{0%{transform:translate3d(100%,0,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@keyframes popup-right-fadeout{0%{transform:translate3d(0,0,0);opacity:1}100%{transform:translate3d(100%,0,0);opacity:.1}}@keyframes popup-bottom-fadein{0%{transform:translate3d(0,100%,0);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@keyframes popup-bottom-fadeout{0%{transform:translate3d(0,0,0);opacity:1}100%{transform:translate3d(0,100%,0);opacity:.1}}@keyframes popup-center-fadein{0%{transform:scale(.8);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}@keyframes popup-center-fadeout{0%{transform:scale(1);opacity:1}50%{transform:scale(1.1)}100%{transform:scale(.8);opacity:0}}.container-popup{visibility:hidden;position:fixed;top:0;left:0;right:0;bottom:0}.popup-show{visibility:visible}.popup-show .container-bg{display:block;opacity:1}.container-bg{opacity:0;position:fixed;top:0;left:0;right:0;bottom:0;z-index:6;background:rgba(0,0,0,.4);transition:all .3s ease-in-out}.popup-bg{height:100%;width:100%;position:absolute;z-index:90}.popup-content{position:absolute;z-index:100;width:100%;max-width:100%;height:100%}.center{display:flex;height:100%;width:100%;flex-direction:row;align-items:center;justify-content:center}.left{display:flex;flex-direction:row;height:100%}.right{display:flex;flex-direction:row;justify-content:flex-end;height:100%}.bottom{display:flex;flex-direction:column-reverse;width:100%}
\ No newline at end of file
diff --git a/dist/price/index.js b/dist/price/index.js
deleted file mode 100644
index 3b01f6d3..00000000
--- a/dist/price/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import validator from"../behaviors/validator";Component({externalClasses:["l-deleted-class","l-unit-class","l-value-class","l-class","l-decimal-class","l-dot-class"],behaviors:[validator],properties:{unit:{type:String,value:"¥"},size:{type:String,value:"28"},color:{type:String,value:"#3963BC"},bold:{type:String,value:"500"},unitColor:String,unitSize:String,unitBold:String,value:{type:String,value:"0.00"},mode:{type:String,value:"number",options:["number","text"]},valueColor:String,valueSize:String,valueBold:String,deleted:Boolean,delColor:String,reserveDigit:{type:Number,value:2},autofix:Boolean},data:{priceInteger:{type:String,value:"0"},priceDecimal:{type:String,value:"00"}},observers:{value:function(){this.reserveNumber()}},methods:{reserveNumber(){this.setData({priceInteger:null,priceDecimal:null});const e=Number(this.data.value);if(!(isNaN(Number(e))||"text"===this.data.mode)&&this.data.autofix){const t=e.toFixed(this.data.reserveDigit).toString().split(".");this._setPrice(t)}else{const e=this.data.value.split(".");this._setPrice(e)}},_setPrice(e){if(1===e.length)this.setData({priceInteger:e[0]});else{if(2!==e.length)throw"price 格式有误,请仔细检查!";this.setData({priceInteger:e[0],priceDecimal:e[1]})}}}});
\ No newline at end of file
diff --git a/dist/price/index.json b/dist/price/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/price/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/price/index.wxml b/dist/price/index.wxml
deleted file mode 100644
index e4aa2a7f..00000000
--- a/dist/price/index.wxml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
- {{unit}}
-
- {{priceInteger}}{{priceDecimal?'.':''}}{{priceDecimal?priceDecimal:''}}
-
diff --git a/dist/price/index.wxss b/dist/price/index.wxss
deleted file mode 100644
index 892dfbdd..00000000
--- a/dist/price/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.price-del{text-decoration:line-through!important}.price-container{display:inline-block;text-align:center;color:#3963bc;font-size:28rpx}
\ No newline at end of file
diff --git a/dist/progress/index.js b/dist/progress/index.js
deleted file mode 100644
index 3894e649..00000000
--- a/dist/progress/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import{px2rpx}from"../utils/util.js";import validator from"../behaviors/validator";Component({externalClasses:["l-class","l-text-class","l-active-class","l-background-class"],behaviors:[validator],properties:{percent:{type:Number,value:0},strokeWidth:{type:Number,value:12},borderRadius:{type:Number,value:6},activeColor:{type:String},backgroundColor:{type:String,value:"#EBEBEB"},showInfo:{type:Boolean,value:!1},textPosition:{type:String,value:"right",options:["left","right"]},textColor:{type:String},interval:{type:Number,value:20},active:{type:Boolean,value:!1},duration:{type:Number,value:30}},options:{multipleSlots:!0,pureDataPattern:/^_/},data:{_slotWidth:0,_slotHeight:0,_progressWidth:0,_progressHeight:0,_marginBottom:0,marginLeft:0,marginTop:0,_useSlot:!1},observers:{"_slotWidth, _slotHeight, _progressWidth, _progressHeight, percent,_useSlot":function(t,e,r,i,s,a){if(a){const a=-(e-i)/2,o=(r-t)*s/100;this.setData({marginTop:a,marginLeft:o})}}},lifetimes:{attached(){this.data.percent>100&&this.setData({percent:100});wx.createSelectorQuery().in(this).select(".slot").boundingClientRect(t=>{let e=this.data._useSlot;t.width&&(e=!0),this.setData({_useSlot:e,_slotWidth:px2rpx(t.width),_slotHeight:px2rpx(t.height)})}).exec();wx.createSelectorQuery().in(this).select(".progress").boundingClientRect(t=>{this.setData({_progressHeight:px2rpx(t.height),_progressWidth:px2rpx(t.width)})}).exec();const t=this.data.percent;let e=0;this.data.active&&setInterval(()=>{e
-
- {{percent}}%
-
-
-
-
-
-
-
-
-
- {{percent}}%
-
-
\ No newline at end of file
diff --git a/dist/progress/index.wxss b/dist/progress/index.wxss
deleted file mode 100644
index af1cb39c..00000000
--- a/dist/progress/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.container{display:flex;flex-direction:row;align-items:center}.progress{position:relative;width:100%;transition:all .25s ease-in-out}.percent{position:absolute;z-index:1}.active{background-color:#3963bc}.text{color:#3963bc;font-size:30rpx}.background{position:absolute;width:100%}.header{position:absolute!important;z-index:2}.slot{position:absolute;z-index:2}
\ No newline at end of file
diff --git a/dist/radio-group/index.js b/dist/radio-group/index.js
deleted file mode 100644
index 8936ab87..00000000
--- a/dist/radio-group/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import eventBus from"../core/utils/event-bus";import rules from"../behaviors/rules";Component({externalClasses:["l-class","l-error-text","l-error-text-class"],behaviors:["wx://form-field",rules],relations:{"../radio/index":{type:"child",linked(){this.init()},linkChanged(){},unlinked(){this.init()}}},properties:{current:{type:String},noneChecked:{type:Boolean,value:!0},placement:{type:String,value:"column"}},data:{currentLength:0},methods:{checkedKeyRepeat(e){let t=e.map(e=>e.data.key);const r=this.isRepeat(t);if(!1!==r)throw new Error("keys有重复元素, radio的key属性不能重复:"+r)},isRepeat(e){let t={};for(let r in e){if(t[e[r]])return e[r];t[e[r]]=!0}return!1},init(){const e=this.getRelationNodes("../radio/index");this.checkedKeyRepeat(e),this.onChangeHandle(e)},onChangeHandle(e){e.forEach(e=>{let t=this.properties.current===e.data.key;e.setChecked(t,e.data.key)})},onEmitEventHandle(e,t){this.properties.current=t?e.key:null;const r=this.getRelationNodes("../radio/index");this.onChangeHandle(r),Object.assign(e,{currentKey:this.properties.current}),this.validatorData({[this.data.name]:this.data.current}),this.triggerEvent("linchange",e,{bubbles:!0,composed:!0}),eventBus.emit("lin-form-change-"+this.id,this.id)},getValues(){return this.data.current},reset(){this.data.current=""}},observers:{current:function(){this.init()}}});
\ No newline at end of file
diff --git a/dist/radio-group/index.json b/dist/radio-group/index.json
deleted file mode 100644
index e63668bd..00000000
--- a/dist/radio-group/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-error-tip":"../error-tip/index","l-radio":"../radio/index"}}
\ No newline at end of file
diff --git a/dist/radio-group/index.wxml b/dist/radio-group/index.wxml
deleted file mode 100644
index f22eb96a..00000000
--- a/dist/radio-group/index.wxml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/dist/radio-group/index.wxss b/dist/radio-group/index.wxss
deleted file mode 100644
index ab2973e4..00000000
--- a/dist/radio-group/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.radio-group{width:100%}.radio-group-row{display:flex;flex-direction:row}.radio-group-column{display:flex;flex-direction:column}
\ No newline at end of file
diff --git a/dist/radio/index.js b/dist/radio/index.js
deleted file mode 100644
index e4be4c8c..00000000
--- a/dist/radio/index.js
+++ /dev/null
@@ -1 +0,0 @@
-Component({externalClasses:["l-class","l-disabled-class"],behaviors:["wx://form-field"],relations:{"../radio-group/index":{type:"parent"}},properties:{key:String,cell:Object,size:{type:String,value:"38rpx"},disabled:{type:Boolean},custom:Boolean,color:{type:String,value:"#ccc"},selectColor:{type:String,value:"#3963BC"},disabledColor:{type:String,value:"#ccc"},placement:{type:String,value:"left"},transition:{type:Boolean,value:!0}},data:{checked:!1},methods:{setChecked(e){this.setData({checked:e})},onRadioChangeTap(){if(this.properties.disabled)return;const e=this.getRelationNodes("../radio-group/index")[0],t=e.properties.noneChecked;let r=!0;if(this.isCurrentSelectedKey(e)&&(r=!1,!t))return;const i=!this.data.checked;this.data.checked=i;const s={checked:i,key:this.properties.key,cell:this.properties.cell};e&&e.onEmitEventHandle(s,r)},isCurrentSelectedKey(e){return e.properties.current===this.properties.key}}});
\ No newline at end of file
diff --git a/dist/radio/index.json b/dist/radio/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/radio/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/radio/index.wxml b/dist/radio/index.wxml
deleted file mode 100644
index 3fedd1f4..00000000
--- a/dist/radio/index.wxml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/dist/radio/index.wxss b/dist/radio/index.wxss
deleted file mode 100644
index ef79dc82..00000000
--- a/dist/radio/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.label{display:flex;flex:1;align-items:center;font-size:30rpx;color:#333;width:100%}.label-left{flex-direction:row}.label-right{flex-direction:row-reverse;justify-content:space-between}.label-disabled{color:#ccc}.radio{margin-right:20rpx}.iconfont{font-family:iconfont!important;display:inline-flex;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:iconfont;src:url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMMAAsAAAAABwQAAAK9AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqBaIFyATYCJAMMCwgABCAFhG0HOxs9BsgekiQlqiBBkCKqgBDbFA9f+72eu7sf0SUKUEYCjq8CJBWhqlrpakx5POtO5RtaczeTEm4dEZ0nl3vZ/P4QsbZQwBuhkJZZe0ElkSkAzf+5nN4oP2/Mb1kucw086gUYBxToHtgmK5FAPIXhtYt1GOcJtC1qIDsxOz1Aq6DTAvGYpZNAm4sqilRoCvWatUW8V9NMb9Mt4F34/firLbQktYzOPXN3MgNGfhz/9uXVatVlHyGbzw1pExlbgEJcrfWep4izWxTahlppdgJ1RUhzJaqKUGrq6zv94yWijtZ3wRo06aZkroDgZ58ENGRb3WvkdwEvYZyONecufVjvlP/yCN9e6dcv/syKok+S/ILg5fk4v+4VjvzShk88ZPlDX7WRthx5hXV881Hg5krDX9Z84j7MqK4cjZR1JuLFnjJtMX7ePssP3xVQnfFiKPkScCUeVTcdonq0qYhT/P/M8y4Q5ZkuBeY3m1/gqWk5FFo2LcA/s72GnXZzDSQAVPNPvhv+Qobg0R/V/2uDnX/NTgHftl/fyIRqAfkuAJr34wv+r6xnVzEV1JaLLnWltj9bvld3AmI5oEKDYy/j9bPeaUIzJ5MgaViArGkJLdQtqOnYhrqmfWjbZNncMYEpRGlhwxaBMHQNSd8HyIbqaKE+Q83cH9QNQwFtZ2OyZ8dKsPpjjJIEZWBqDrLpUpFyHEQfNboQPZVP4qwiZPsQ5tgEbG1qKRYsqIjwHAu4abqNEApSuFSAZnIZyudLsIxLWZQmTQwh5b7mZqruTU3pUgHoHcOQJALJgFLmQKy0kiLK70/oS593QWhT8pJwC6kh7INgHHZ4qFWTlh6oRVvsRbqXazjTaG0IggJRsJICyExGIXl5JVC5flQWkkY0YUaky/o0s15UX23T+vrC9x2ANrogR4ocRfNNkUP5u9SpAwsAAAAA') format('woff2')}.icon-unselect:before{content:"\e6a1"}.icon-select:before{content:"\e73a"}
\ No newline at end of file
diff --git a/dist/rate/index.js b/dist/rate/index.js
deleted file mode 100644
index 5b360c9b..00000000
--- a/dist/rate/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import eventBus from"../core/utils/event-bus";Component({externalClasses:["l-class","l-class-icon","l-class-image","l-icon-class","l-image-class"],options:{multipleSlots:!0},properties:{count:{type:Number,value:5},score:{type:Number,value:0},size:{type:String,value:"36"},disabled:Boolean,activeColor:{type:String,value:"#FF5252"},inActiveColor:{type:String,value:"#FFE5E5"},name:{type:String,value:"favor-fill"},activeImage:String,inActiveImage:String},data:{},methods:{handleClick(e){if(this.data.disabled)return;const{index:t}=e.currentTarget.dataset;this.setData({score:t+1}),this.triggerEvent("linchange",{score:t+1}),eventBus.emit("lin-form-change-"+this.id,this.id)},getValues(){return this.data.score},reset(){this.setData({score:0})}}});
\ No newline at end of file
diff --git a/dist/rate/index.json b/dist/rate/index.json
deleted file mode 100644
index a1fa4d66..00000000
--- a/dist/rate/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index"} }
\ No newline at end of file
diff --git a/dist/rate/index.wxml b/dist/rate/index.wxml
deleted file mode 100644
index 08c154d6..00000000
--- a/dist/rate/index.wxml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/rate/index.wxss b/dist/rate/index.wxss
deleted file mode 100644
index de88ea24..00000000
--- a/dist/rate/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-rate,.l-rate-star{display:inline-flex}.l-rate-star{position:relative}.l-rate-star~.l-rate-star{margin-left:10rpx}.icon-checked{position:absolute;overflow:hidden}.image-item{width:80rpx;height:80rpx}
\ No newline at end of file
diff --git a/dist/search-bar/index.js b/dist/search-bar/index.js
deleted file mode 100644
index bd4fb752..00000000
--- a/dist/search-bar/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import validator from"../behaviors/validator";Component({externalClasses:["l-class","l-container-class","l-placeholder-class","l-icon-class","l-input-class","l-cancel-class"],behaviors:[validator],options:{multipleSlots:!0},properties:{confirmType:{type:String,value:"search"},placeholder:String,cancelText:{type:String,value:"取消"},frontText:String,custom:Boolean,value:String,type:String,icon:{type:String,value:"research"},iconColor:{type:String,value:"#bdbdbd"},iconSize:{type:String,value:"28"},bgColor:{type:String,value:"#f3f3f3"},showCancel:{type:Boolean,value:!0},shape:{type:String,value:"primary",options:["circle","primary"]},textAlign:{type:String,value:"left",options:["left","right"]},focus:Boolean,clear:{type:Boolean,value:!0},maxlength:{type:Number,value:140},disabled:Boolean,placeholderStyle:String},data:{},methods:{onCancel(){this.triggerEvent("lincancel",{},{bubbles:!0,composed:!0})},handleInputChange(e){const{detail:t={}}=e,{value:l=""}=t;this.setData({value:l}),this.triggerEvent("linchange",t)},handleInputFocus(e){this.triggerEvent("linfocus",e.detail)},handleInputBlur(e){this.triggerEvent("linblur",e.detail)},handleInputConfirm(e){const{detail:t={}}=e,{value:l=""}=t;this.setData({value:l}),this.triggerEvent("linconfirm",t)},onClearTap(e){this.setData({value:""}),this.triggerEvent("linclear",e.detail,{bubbles:!0,composed:!0})},handleTapFrontText(e){this.triggerEvent("linfronttap",e.detail)}}});
\ No newline at end of file
diff --git a/dist/search-bar/index.json b/dist/search-bar/index.json
deleted file mode 100644
index 2c7a3873..00000000
--- a/dist/search-bar/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-input":"../input/index","l-icon":"../icon/index"}}
\ No newline at end of file
diff --git a/dist/search-bar/index.wxml b/dist/search-bar/index.wxml
deleted file mode 100644
index bed097a7..00000000
--- a/dist/search-bar/index.wxml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
- {{frontText}}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{cancelText}}
-
-
-
diff --git a/dist/search-bar/index.wxss b/dist/search-bar/index.wxss
deleted file mode 100644
index 28df7eb0..00000000
--- a/dist/search-bar/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.search-bar{display:flex;flex-direction:row;align-items:center;padding:0 20rpx;box-sizing:border-box;width:100%}.search-input{height:60rpx;background-color:#f3f3f3;display:flex;flex-direction:row;flex:1;align-items:center;padding-left:30rpx;box-sizing:border-box}.search-input-primary{border-radius:8rpx}.search-input-circle{border-radius:30rpx}.cancel{font-size:28rpx;color:#666;display:flex;align-items:center;width:60rpx;justify-content:center;height:60rpx;margin-left:15rpx}.input{height:40rpx;line-height:40rpx;flex:1;margin-left:15rpx;font-size:28rpx;color:#666}.input-center{text-align:center}.input-left{text-align:left}.close-wrap{padding:10rpx}.close{height:30rpx;width:30rpx;background:#ddd;display:flex;align-items:center;justify-content:center;border-radius:50%;padding-top:3rpx;box-sizing:border-box;margin-right:15rpx}.pls-class{color:#bdbdbd;font-size:28rpx}.icon-container{display:flex;flex-direction:row;align-items:center;margin-right:15rpx}.city{font-size:28rpx;color:#333;margin-right:10rpx}
\ No newline at end of file
diff --git a/dist/segment-item/index.js b/dist/segment-item/index.js
deleted file mode 100644
index a10eedab..00000000
--- a/dist/segment-item/index.js
+++ /dev/null
@@ -1 +0,0 @@
-Component({options:{multipleSlots:!0},relations:{"../segment/index":{type:"parent",linked(){},unlinked(){}}},properties:{tab:String,key:String,icon:String,iconSize:{type:String,value:"20"},image:Object,picPlacement:{type:String,value:"top"},dotBadge:Boolean,badgeCount:{type:Number},badgeMaxCount:{type:Number,value:99},badgeCountType:{type:String,value:"overflow"}},observers:{"**":function(e){this.updateData(e)}},data:{},methods:{updateData(e){let t=this.getRelationNodes("../segment/index")[0];if(!t)return;const a=t.data.tabList;if(!(a&&a.length>0))return;const n=a.findIndex(e=>e.key===this.data.key);a[n]=e,t.setData({tabList:a},()=>{t.data.scrollable&&t.queryMultipleNodes()})}}});
\ No newline at end of file
diff --git a/dist/segment-item/index.json b/dist/segment-item/index.json
deleted file mode 100644
index 64c73674..00000000
--- a/dist/segment-item/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{} }
\ No newline at end of file
diff --git a/dist/segment-item/index.wxml b/dist/segment-item/index.wxml
deleted file mode 100644
index 49aeb95a..00000000
--- a/dist/segment-item/index.wxml
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/dist/segment-item/index.wxss b/dist/segment-item/index.wxss
deleted file mode 100644
index e69de29b..00000000
diff --git a/dist/segment/index.js b/dist/segment/index.js
deleted file mode 100644
index 249442e6..00000000
--- a/dist/segment/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import scrollCenter from"../behaviors/scrollCenter";Component({behaviors:[scrollCenter],externalClasses:["l-class","l-header-class","l-class-active","l-active-class","l-class-inactive","l-inactive-class","l-class-tabimage","l-tab-image-class","l-class-header-line","l-header-line-class","l-class-line","l-line-class","l-class-icon","l-icon-class","l-class-badge","l-badge-class"],options:{multipleSlots:!0,pureDataPattern:/^_/},relations:{"../segment-item/index":{type:"child",linked(e){this.initTabs(e)}}},properties:{activeKey:{type:String,value:"",observer:"changeCurrent"},placement:{type:String,value:"top"},scrollable:Boolean,hasLine:{type:Boolean,value:!0},animatedForLine:Boolean,activeColor:{type:String},inactiveColor:{type:String},equalWidth:{type:Boolean,value:!0},even:{type:Boolean,value:!0},width:Number,height:Number,itemHeight:Number,itemWidth:Number},observers:{activeKey:function(e){if(!e)return;const t=this.data.tabList.findIndex(t=>t.key===e);this.setData({currentIndex:t},()=>{this.data.scrollable&&this.queryMultipleNodes()})}},data:{_cells:[],tabList:[],currentIndex:0,_segmentItemInstances:[]},methods:{initTabs(e){const t=this.data.activeKey;let a=this.getRelationNodes("../segment-item/index");if(a.length>0){if(a.length===this.data.tabList.length&&this.data._segmentItemInstances.indexOf(e)>0)return;let s=t,l=this.data.currentIndex,i=[];const n=a.map((e,a)=>(s=t||0!==a?s:e.data.key,l=e.data.key===s?a:l,i[a]=e.dataset.cell,{...e.data}));this.setData({_cells:i,activeKey:s,tabList:n,currentIndex:l,_segmentItemInstances:a},()=>{this.data.scrollable&&this.queryMultipleNodes()})}},handleChange(e){const t=e.currentTarget.dataset.key,a=e.currentTarget.dataset.index;this._setChangeData({activeKey:t,currentIndex:a})},_setChangeData({activeKey:e,currentIndex:t}){this.setData({activeKey:e,currentIndex:t},()=>{this.data.scrollable&&this.queryMultipleNodes()}),this.triggerEvent("linchange",{activeKey:e,currentIndex:t,cell:this.data._cells[t]})}}});
\ No newline at end of file
diff --git a/dist/segment/index.json b/dist/segment/index.json
deleted file mode 100644
index 1d57b033..00000000
--- a/dist/segment/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index","l-badge":"../badge/index","l-segment-item":"../segment-item/index"}}
\ No newline at end of file
diff --git a/dist/segment/index.wxml b/dist/segment/index.wxml
deleted file mode 100644
index 825edd03..00000000
--- a/dist/segment/index.wxml
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
-
-
- {{item.tab}}
-
diff --git a/dist/segment/index.wxss b/dist/segment/index.wxss
deleted file mode 100644
index 42ccee5f..00000000
--- a/dist/segment/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-tabs{overflow:auto;width:100%;-webkit-overflow-scrolling:touch}.l-tabs-header{display:flex;width:100%;flex-direction:row;align-items:center}.l-tabs-header .l-tabs-item{font-size:28rpx;text-align:center;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.l-tabs-header .l-icon-active,.l-tabs-header .l-tabs-active{color:#333}.l-tabs-header .l-icon-active,.l-tabs-header .l-icon-inactive{font-size:28rpx}.l-tabs-header .l-icon-inactive,.l-tabs-header .l-tabs-inactive{color:#bbb}.l-tabs-header .l-tabsitems-row{flex-direction:row}.l-tabs-header .l-tabsitems-row .l-icon-active,.l-tabs-header .l-tabsitems-row .l-icon-inactive{margin-right:10rpx}.l-tabs-header .l-tabsitems-row-reverse{flex-direction:row-reverse}.l-tabs-header .l-tabsitems-row-reverse .l-icon-active,.l-tabs-header .l-tabsitems-row-reverse .l-icon-inactive{margin-left:10rpx}.l-placement-bottom,.l-placement-top{height:80rpx}.l-placement-bottom .l-tabs-header,.l-placement-top .l-tabs-header{height:100%}.l-placement-bottom .l-tabs-header .l-tabs-item,.l-placement-top .l-tabs-header .l-tabs-item{min-height:100%}.l-placement-right{flex-direction:row-reverse}.l-placement-bottom{flex-direction:column-reverse}.l-tabs-scroll.l-tabs-horizontal .l-tabs-header{-webkit-overflow-scrolling:touch;white-space:nowrap}.l-tabs-scroll.l-tabs-horizontal .l-tabs-header .l-tabs-item{overflow:visible}.l-tabs-vertical{width:160rpx}.l-tabs-vertical .l-tabsscroll{width:160rpx;box-sizing:border-box}.l-tabs-vertical .l-tabs-equal-header{height:100%}.l-tabs-vertical .l-tabs-header{width:100%;flex-direction:column;-webkit-overflow-scrolling:touch;white-space:nowrap;overflow-x:hidden}.l-tabs-vertical .l-tabs-header .l-tabs-item.l-tabs-active{background:#fff}.l-tabs-vertical .l-tabs-header .l-tabs-unequal-width{height:80rpx}.l-tabs-vertical .l-tabs-header .l-tabs-item{overflow:visible;background:#f6f8fa;width:100%}.l-tabs-item{position:relative}.l-tab-line{position:absolute;bottom:0;left:0;background:#000}.l-tabs-horizontal .l-tabs-equal-width{flex:1}.l-tabs-horizontal .l-tabs-unequal-width{padding:0 20rpx}.l-tabs-horizontal .l-tabsscroll{height:100%;box-sizing:border-box}.l-tabs-horizontal .l-tab-line{height:4rpx;width:0;left:100%;right:0;margin:0 auto}.l-tabs-horizontal .l-line-aminmated{transition:.2s all linear}.l-tabs-horizontal .l-tabs-active.l-tabs-item~.l-tabs-item .l-tab-line{left:0}.l-tabs-horizontal .l-tabs-active .l-tab-line{width:100%;left:0}.l-tabs-horizontal .l-tabs-active .l-line-aminmated{transition-delay:.1s}.l-placement-top .l-tab-line{bottom:0;transform:translateY(-100%)}.l-placement-top .l-tabs-header-line{border-bottom:1px solid #f3f3f3}.l-placement-bottom .l-tab-line{top:0}.l-placement-bottom .l-tabs-header-line{border-top:1px solid #f3f3f3}.l-tabs-vertical .l-tab-line{width:6rpx;height:0;border-radius:0 6rpx 6rpx 0;top:0;margin:auto 0}.l-tabs-vertical .l-line-aminmated{transition:.2s all linear}.l-tabs-vertical .l-tabs-active .l-tab-line{height:40rpx}.l-tabs-vertical .l-tabs-active .l-line-aminmated{transition-delay:.1s}.l-tabs-vertical .l-tabs-active.l-tabs-item~.l-tabs-item .l-tab-line{height:0;top:0}.l-placement-left .l-tab-line{right:auto}.l-placement-left .l-tabs-header-line{border-left:1px solid #f3f3f3}.l-placement-right .l-tab-line{right:0;left:auto}.l-placement-right .l-tabs-header-line{border-right:1px solid #f3f3f3}.l-tab-image{width:100rpx;height:100rpx}.l-tab-image-placement-top{flex-direction:column}.l-tab-image-placement-bottom{flex-direction:column-reverse}.l-tab-image-placement-left{flex-direction:row}.l-tab-image-placement-right{flex-direction:row-reverse}.l-tabs-header .badge-view{top:-20rpx}
\ No newline at end of file
diff --git a/dist/skeleton/index.js b/dist/skeleton/index.js
deleted file mode 100644
index 4e8f0162..00000000
--- a/dist/skeleton/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import validator from"../behaviors/validator";Component({externalClasses:["l-class","l-title-class","l-avatar-class","l-row-class"],behaviors:[validator],properties:{loading:{type:Boolean,value:!0},title:{type:Boolean,value:!0},paragraph:{type:Boolean,value:!0},active:{type:Boolean,value:!0},avatar:Boolean,titleWidth:String,avatarSize:String,avatarShape:{type:String,value:"circle",options:["circle","square"]},rowsWidth:{type:Array,optionalTypes:[Array,String],value:"60%"},rowsHeight:{type:Array,optionalTypes:[Array,String],value:"34rpx"},rows:Number},observers:{"rows,rowsWidth,rowsHeight":function(t,a,e){this._getResult(t,a,"rowsW","100%"),this._getResult(t,e,"rowsH","34rpx"),this._toRows(t)}},data:{},methods:{_arrRepeat(t,a){const e=[];for(let r=0;r
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/dist/skeleton/index.wxss b/dist/skeleton/index.wxss
deleted file mode 100644
index 8ce96a28..00000000
--- a/dist/skeleton/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-skeleton-container{width:100%;display:flex;flex-direction:row;box-sizing:border-box}.l-skeleton-avatar{height:72rpx;width:72rpx;margin-right:20rpx}.l-skeleton-avatar-circle{border-radius:50%}.l-skeleton-right{display:flex;flex-direction:column;flex:1}.l-skeleton-title{width:100%;height:34rpx}.l-skeleton-title-container{height:72rpx;width:50%;display:flex;align-items:center}.l-skeleton-rows{margin-top:20rpx}.bg{background:linear-gradient(90deg,#f2f2f2 25%,#e6e6e6 37%,#f2f2f2 63%);background-size:400% 100%}.active{animation:loading 1.4s ease infinite}@keyframes loading{0%{background-position:100% 50%}100%{background-position:0 50%}}
\ No newline at end of file
diff --git a/dist/slide-view/index.js b/dist/slide-view/index.js
deleted file mode 100644
index 1a349fb7..00000000
--- a/dist/slide-view/index.js
+++ /dev/null
@@ -1 +0,0 @@
-const _windowWidth=wx.getSystemInfoSync().windowWidth;Component({options:{multipleSlots:!0},properties:{width:{type:Number,value:_windowWidth},height:{type:Number,value:100},slideWidth:{type:Number,value:0},threshold:{type:Number,value:0},disabled:{type:Boolean,value:!1},autoClose:{type:Boolean,value:!1},close:{type:Boolean,value:!1,observer:function(t){t&&(this.setData({popup:!1,x:0}),this.onCloseTap())}}},data:{viewWidth:_windowWidth,x:0,out:!1},ready(){this.updateRight()},methods:{updateRight(){const t=this;wx.createSelectorQuery().in(this).select(".right").boundingClientRect((function(e){t._slideWidth=e.width;let i=e.width<=50?e.width:50;t._threshold=t.properties.threshold?t.properties.threshold:i,t._viewWidth=t.data.width+e.width*(750/_windowWidth),t.setData({viewWidth:t._viewWidth})})).exec()},onTouchStart(t){this._startX=t.changedTouches[0].pageX},onTouchEnd(t){if(this.properties.disabled)return;this._endX=t.changedTouches[0].pageX,this._length=this._endX-this._startX;const{_endX:e,_startX:i,_threshold:s}=this;this._length>s&&(this.setData({popup:!1,x:0}),this.onCloseTap()),e>i&&!1===this.data.out||(i-e>=s?(this.setData({x:-this._slideWidth,popup:!0,close:!1}),this.onOpenTap()):i-e0&&!0!==this.data.popup||e-i>=s?(this.setData({x:0}),this.onCloseTap()):e-i0&&(this.setData({x:-this._slideWidth,close:!1}),this.onOpenTap()))},onChange(t){!this.data.out&&t.detail.x<-this._threshold?this.setData({out:!0}):this.data.out&&t.detail.x>=-this._threshold&&this.setData({out:!1})},onRightTap(){this.properties.autoClose&&(this.setData({popup:!1,x:0}),this.onCloseTap()),this.triggerEvent("lintap","click right",{bubbles:!0,composed:!0})},onOpenTap(){this.triggerEvent("slideopen",!0,{bubbles:!0,composed:!0})},onCloseTap(){this.triggerEvent("slideclose",!1,{bubbles:!0,composed:!0})}}});
\ No newline at end of file
diff --git a/dist/slide-view/index.json b/dist/slide-view/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/slide-view/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/slide-view/index.wxml b/dist/slide-view/index.wxml
deleted file mode 100644
index 7adfe705..00000000
--- a/dist/slide-view/index.wxml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/slide-view/index.wxss b/dist/slide-view/index.wxss
deleted file mode 100644
index 581bd5c7..00000000
--- a/dist/slide-view/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.movable-content{display:flex;direction:row;overflow:hidden}.container{overflow:hidden}
\ No newline at end of file
diff --git a/dist/spin/index.js b/dist/spin/index.js
deleted file mode 100644
index 8e916e32..00000000
--- a/dist/spin/index.js
+++ /dev/null
@@ -1 +0,0 @@
-Component({externalClasses:["l-class"],properties:{color:String,show:Boolean,type:{type:String,value:"flash"},custom:Boolean,size:{type:String,value:"default"}},methods:{}});
\ No newline at end of file
diff --git a/dist/spin/index.json b/dist/spin/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/spin/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/spin/index.wxml b/dist/spin/index.wxml
deleted file mode 100644
index 598103ca..00000000
--- a/dist/spin/index.wxml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/spin/index.wxss b/dist/spin/index.wxss
deleted file mode 100644
index 8bd139a0..00000000
--- a/dist/spin/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.spinner-flash-default{width:60rpx;height:60rpx}.spinner-flash-mini{width:40rpx;height:40rpx}.spinner-flash-large{width:80rpx;height:80rpx}.spinner-flip-default{width:60rpx;height:60rpx}.spinner-flip-mini{width:40rpx;height:40rpx}.spinner-flip-large{width:80rpx;height:80rpx}.spinner-change-default{width:50rpx;height:50rpx}.spinner-change-mini{width:30rpx;height:30rpx}.spinner-change-large{width:70rpx;height:70rpx}.flash-spinner{position:relative}.flash-bounce1,.flash-bounce2{width:100%;height:100%;border-radius:50%;background-color:#3963bc;opacity:.6;position:absolute;top:0;left:0;-webkit-animation:bounce 2s infinite ease-in-out;animation:bounce 2s infinite ease-in-out}.flash-bounce2{-webkit-animation-delay:-1s;animation-delay:-1s}@-webkit-keyframes bounce{0%,100%{-webkit-transform:scale(0)}50%{-webkit-transform:scale(1)}}@keyframes bounce{0%,100%{transform:scale(0);-webkit-transform:scale(0)}50%{transform:scale(1);-webkit-transform:scale(1)}}.flip-bounce1{background-color:#3963bc;-webkit-animation:rotateplane 1.2s infinite ease-in-out;animation:rotateplane 1.2s infinite ease-in-out}@-webkit-keyframes rotateplane{0%{-webkit-transform:perspective(120px)}50%{-webkit-transform:perspective(120px) rotateY(180deg)}100%{-webkit-transform:perspective(120px) rotateY(180deg) rotateX(180deg)}}@keyframes rotateplane{0%{transform:perspective(120px) rotateX(0) rotateY(0);-webkit-transform:perspective(120px) rotateX(0) rotateY(0)}50%{transform:perspective(120px) rotateX(-180.1deg) rotateY(0);-webkit-transform:perspective(120px) rotateX(-180.1deg) rotateY(0)}100%{transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg);-webkit-transform:perspective(120px) rotateX(-180deg) rotateY(-179.9deg)}}.change-spinner{width:240rpx;text-align:center}.change-bounce1{background-color:#3963bc;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-delay:-.32s;animation-delay:-.32s}.change-bounce2{background-color:#3963bc;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-delay:-.16s;animation-delay:-.16s}.change-bounce3{background-color:#3963bc;border-radius:100%;display:inline-block;-webkit-animation:bouncedelay 1.4s infinite ease-in-out;animation:bouncedelay 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}@-webkit-keyframes bouncedelay{0%,100%,80%{-webkit-transform:scale(0)}40%{-webkit-transform:scale(1)}}@keyframes bouncedelay{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}
\ No newline at end of file
diff --git a/dist/status-show/image/address.png b/dist/status-show/image/address.png
deleted file mode 100644
index add1bcf3..00000000
Binary files a/dist/status-show/image/address.png and /dev/null differ
diff --git a/dist/status-show/image/cart.png b/dist/status-show/image/cart.png
deleted file mode 100644
index a7cd8921..00000000
Binary files a/dist/status-show/image/cart.png and /dev/null differ
diff --git a/dist/status-show/image/data.png b/dist/status-show/image/data.png
deleted file mode 100644
index 6c9baf34..00000000
Binary files a/dist/status-show/image/data.png and /dev/null differ
diff --git a/dist/status-show/image/error.png b/dist/status-show/image/error.png
deleted file mode 100644
index 900ae9d3..00000000
Binary files a/dist/status-show/image/error.png and /dev/null differ
diff --git a/dist/status-show/image/network.png b/dist/status-show/image/network.png
deleted file mode 100644
index f82ec6d7..00000000
Binary files a/dist/status-show/image/network.png and /dev/null differ
diff --git a/dist/status-show/image/order.png b/dist/status-show/image/order.png
deleted file mode 100644
index 8e95de8b..00000000
Binary files a/dist/status-show/image/order.png and /dev/null differ
diff --git a/dist/status-show/image/product.png b/dist/status-show/image/product.png
deleted file mode 100644
index 5574a24d..00000000
Binary files a/dist/status-show/image/product.png and /dev/null differ
diff --git a/dist/status-show/image/success.png b/dist/status-show/image/success.png
deleted file mode 100644
index d03f7e95..00000000
Binary files a/dist/status-show/image/success.png and /dev/null differ
diff --git a/dist/status-show/index.js b/dist/status-show/index.js
deleted file mode 100644
index 1b719613..00000000
--- a/dist/status-show/index.js
+++ /dev/null
@@ -1 +0,0 @@
-Component({externalClasses:["l-class","l-image-class","l-button-class","l-describe-class"],properties:{show:Boolean,type:{type:String,value:"success",observer:"_changeStatus"},image:String,describe:String,buttonText:String,bgColor:{type:String,value:"#fff"},fullScreen:{type:Boolean,value:!0},openApi:{type:Boolean,value:!0},custom:{type:Boolean,value:!1}},data:{},attached(){this._changeStatus(),this.data.openApi&&this._init()},pageLifetimes:{show(){this._init()}},methods:{_init(){wx.lin=wx.lin||{},wx.lin.showStatusShow=e=>{const{type:t="success",image:a="",describe:s="",buttonText:i="",bgColor:r="#fff",fullScreen:o=!0}={...e};this.setData({show:!0,type:t,image:a,describe:s,buttonText:i,bgColor:r,fullScreen:o})},wx.lin.hideStatusShow=()=>{this.setData({show:!1})}},_changeStatus(){switch(this.properties.type){case"success":this.setData({typeImage:"image/success.png",typeText:"操作成功~"});break;case"error":this.setData({typeImage:"image/error.png",typeText:"操作失败~"});break;case"cart":this.setData({typeImage:"image/cart.png",typeText:"购物车空空如也,去逛逛吧~"});break;case"order":this.setData({typeImage:"image/order.png",typeText:"您暂时还没有订单哦~"});break;case"network":this.setData({typeImage:"image/network.png",typeText:"糟糕!网络错误~"});break;case"address":this.setData({typeImage:"image/address.png",typeText:"您暂时还没有地址哦~"});break;case"product":this.setData({typeImage:"image/product.png",typeText:"暂时还没有商品哦~~"});break;case"data":this.setData({typeImage:"image/data.png",typeText:"暂时还没有相关数据哦~~"});break;default:console.warn(this.data.type+" is not a valid value")}},tapStatusShow(){this.triggerEvent("lincorvertap",{},{bubbles:!0,composed:!0})}}});
\ No newline at end of file
diff --git a/dist/status-show/index.json b/dist/status-show/index.json
deleted file mode 100644
index 6dc91e37..00000000
--- a/dist/status-show/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-button":"../button/index"}}
\ No newline at end of file
diff --git a/dist/status-show/index.wxml b/dist/status-show/index.wxml
deleted file mode 100644
index 7b49ab3c..00000000
--- a/dist/status-show/index.wxml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
- {{describe}}
- {{typeText}}
-
- {{buttonText}}
-
-
- 重新加载
-
-
- 去逛逛
-
-
-
diff --git a/dist/status-show/index.wxss b/dist/status-show/index.wxss
deleted file mode 100644
index 0bcda9ae..00000000
--- a/dist/status-show/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-status-container{background-color:#fff;flex-direction:column;display:flex;justify-content:center}.content{position:fixed;top:0;left:0;background:#fff;height:100%;width:100%}.ad-img{width:198rpx!important;height:204rpx!important}.top-img{width:264rpx;height:204rpx}.left-img{width:120rpx;height:184rpx}.image_margin_top{margin-top:-250rpx}.status-text{font-size:30rpx;color:#45526b;margin-top:40rpx}.button_margin_top{margin-top:80rpx}
\ No newline at end of file
diff --git a/dist/step/index.js b/dist/step/index.js
deleted file mode 100755
index e9253666..00000000
--- a/dist/step/index.js
+++ /dev/null
@@ -1 +0,0 @@
-Component({externalClasses:["l-class","l-step-class","l-title-class","l-describe-class","l-line-class"],options:{multipleSlots:!0},relations:{"../steps/index":{type:"parent"}},properties:{icon:String,title:String,describe:String,iconSize:{type:Number,value:24},iconColor:String,custom:Boolean},data:{},methods:{updateDataChange(e){this.setData({...e})}}});
\ No newline at end of file
diff --git a/dist/step/index.json b/dist/step/index.json
deleted file mode 100755
index e11651a3..00000000
--- a/dist/step/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index"}}
\ No newline at end of file
diff --git a/dist/step/index.wxml b/dist/step/index.wxml
deleted file mode 100755
index 315fc8e3..00000000
--- a/dist/step/index.wxml
+++ /dev/null
@@ -1,69 +0,0 @@
-
-
-
-
-
-
-
-
-
- {{index+1}}
-
-
-
-
-
- {{title}}
-
-
- {{describe}}
-
-
-
-
-
-
-
-
-var setStatus = function(activeIndex,index,status){
- if(activeIndex===index){
- return status || 'process'
- } else if(activeIndex>index){
- return 'finish'
- }else{
- return 'wait'
- }
-}
-
-var statusStyle = function(activeIndex,index,color,status){
- if(activeIndex===index){
- return status==='error'?'':('background-color:' + color)
- } else if(activeIndex>index){
- return ('border-color:' + color + ';color:' + color)
- }else{
- return ''
- }
-}
-
-var dotStyle = function(activeIndex,index,color){
- if(activeIndex>=index){
- return ('background-color:' + color)
- } else{
- return ''
- }
-}
-
-var isReverse = function(reverse,activeIndex,index) {
- if(reverse){
- return (activeIndex>=index)
- }
- return (activeIndex>index)
-}
-
-module.exports = {
- setStatus:setStatus,
- statusStyle:statusStyle,
- dotStyle:dotStyle,
- isReverse:isReverse
-}
-
diff --git a/dist/step/index.wxss b/dist/step/index.wxss
deleted file mode 100755
index 767b8ebc..00000000
--- a/dist/step/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.step{display:flex;position:relative}.step-custom{z-index:2}.step-row{flex-direction:column;align-items:center}.step-column{flex-direction:row;padding-left:30rpx;box-sizing:border-box}.step-container{display:flex;justify-content:center;z-index:2;align-items:center;background-color:#fff}.step-container-row{width:70rpx;height:40rpx}.step-container-column{height:60rpx;width:40rpx}.step-icon{width:40rpx;height:40rpx;display:flex;align-items:center;justify-content:center;font-size:22rpx;transition:.5s;box-sizing:border-box}.step-process{color:#fff;background-color:#3963bc;border-radius:50%}.step-error{background-color:#fff;border:1px solid #f4516c;color:#f4516c;border-radius:50%}.step-finish{background-color:#fff;color:#3963bc;border:1px solid #3963bc;border-radius:50%}.step-wait{background-color:#fff;color:#c4c9d2;border:1px solid #c4c9d2;border-radius:50%}.step-dot{width:24rpx;height:24rpx;border-radius:50%;transition:.5s}.step-dot-process{background-color:#3963bc}.step-dot-wait{background-color:#c4c9d2}.step-dot-error{background-color:#f4516c}.step-dot-finish{background-color:#3963bc}.step-line{background:#c4c9d2;transition:.5s;position:absolute;z-index:0}.step-line-row{height:2rpx;width:100%;left:50%;top:18rpx}.step-line-column{width:2rpx;height:100%;top:20rpx;left:48rpx}.step-line-wait{background-color:#e8e8e8}.step-line-finish{background-color:#3963bc}.step-content{display:flex;flex-direction:column}.step-content-row{align-items:center;width:100%}.step-content-column{margin-left:15rpx}.step-title{color:#595959;font-size:26rpx;line-height:40rpx;margin:10rpx 0}.step-title-process{color:#333;font-size:28rpx;line-height:40rpx;margin:10rpx 0}.step-describe{color:#8c98ae;font-size:22rpx}@font-face{font-family:iconfont;src:url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAK8AAsAAAAABpQAAAJvAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgp8gQsBNgIkAwwLCAAEIAWEbQc2G9EFyK4wbuGJaCgrSmkBCSe/ZeUtviBzEXztx/bd3f+oNEiuzaerJhKN6WQSJFqlZELxTOZqTS9l0hsflgVC/bD3z/dzv8lMXAksyeryeByfVkhgV93EvwdIwC+b/hetH5jPyAA+z+X0JtCBXONbltMcw496AcYBBbYnRoEEXEQBcAqyOwK15PsEmg2KiewMTy6yCoWzLBD3lqGwilJKUaRqo1C37C3iRaUxPaUnPMffj18LUUFSZc7a3bshnfV++DD/2GVISBPo4QoZU5hCXLeWThULiSvWbCrpb64VIS2VhYlVpqU+6B8vETWnsxWM0XLiI19G8OGABDKoy5VBzDRje98gRHertt+2fLx2cdC6ZJwcnK226Ifh0uzy4vzK8sLSytxprqHAHexGbz8/6za6C3ePjwW29viP3ailnm7Zz+SntAd5IV0IBHuvvy3Xd/41thTw/osdBRahcefh4Gepwb5iah13LrrKV9mRrBsIJKhCjvrnxLq9Trf0wb2ERn0TIg0GcmSNhsjCTqHSYgm1RutoNmnkcIseUrEoTZiwRRA63SBp94as0zNZ2BdU+v2h1hnFaHYczWe2GAmrakCiQqiDmgdLEz73vFSVdM+jkXUVWdTG/DLK0MpCOpGqVkfQR7nEhjBnZIg4cCk8GCaPoesKCKSwUaOESRS0J5O87UUJTXisyjYJKQjSAVUesGgEHw+Hk6ra5+chQ5ZLIXsEDfllSApZ44O0hBRAjph8SPAoz4RyDBmEcICTBA8YJrOQyyWAoH2WDWlIgjmhEGiXdAdx1JTY3uL93xFo5kzMkSJHUT+g+5BNxVpWMAYAAA==') format('woff2')}.iconfont{font-family:iconfont!important;font-size:24rpx;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-finish:before{content:"\e600"}.icon-error:before{content:"\e6cf"}
\ No newline at end of file
diff --git a/dist/steps/index.js b/dist/steps/index.js
deleted file mode 100755
index 46145f85..00000000
--- a/dist/steps/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import validator from"../behaviors/validator";Component({externalClasses:["l-class"],behaviors:[validator],options:{multipleSlots:!0},relations:{"../step/index":{type:"child",linked(){this._initSteps()},unlinked(){this._initSteps()}}},properties:{direction:{type:String,value:"row",options:["row","column"]},activeIndex:{type:Number,value:0},color:String,stepMinHeight:{type:String,value:"120"},status:{type:String,value:"process",options:["process","error"]},dot:Boolean,reverse:Boolean},observers:{activeIndex:function(){this._initSteps()}},data:{},methods:{_initSteps(){wx.createSelectorQuery().in(this).select(".steps-container").boundingClientRect().exec(e=>{let t=this.getRelationNodes("../step/index");this.data.length=t.length,this.data.length>0&&t.forEach((t,i)=>{t.updateDataChange({index:i,...this.data,stepsWidth:e[0].width})})})}}});
\ No newline at end of file
diff --git a/dist/steps/index.json b/dist/steps/index.json
deleted file mode 100755
index 22408587..00000000
--- a/dist/steps/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index","l-step":"../step/index"}}
\ No newline at end of file
diff --git a/dist/steps/index.wxml b/dist/steps/index.wxml
deleted file mode 100755
index 7cdb05f7..00000000
--- a/dist/steps/index.wxml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/dist/steps/index.wxss b/dist/steps/index.wxss
deleted file mode 100755
index c05d83e2..00000000
--- a/dist/steps/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.steps-container{display:flex;width:100%}.steps-container-row{flex-direction:row}.steps-container-row-reverse{flex-direction:row-reverse}.steps-container-column{flex-direction:column}.steps-container-column-reverse{flex-direction:column-reverse}
\ No newline at end of file
diff --git a/dist/sticky-item/index.js b/dist/sticky-item/index.js
deleted file mode 100644
index e13ba883..00000000
--- a/dist/sticky-item/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import nodeUtil from"../core/utils/node-util";Component({externalClasses:["l-class","l-header-wrapper-class","l-header-class","l-header-sticky-class","l-body-class"],options:{multipleSlots:!0},relations:{"../sticky/index":{type:"parent"}},properties:{top:{type:Number,value:0}},data:{mode:void 0,index:void 0,isFixedTop:!1,stickyItemTop:0,stickyItemHeight:0,stickyItemWrapperHeight:void 0},lifetimes:{ready:function(){const t=this.getParentComponent().data.mode;this.setData({mode:t})}},methods:{updateStickyItemPosition(t){const e=this.getParentComponent(),{index:i,stickyItemTop:s,stickyItemHeight:o,top:a}=this.data,n=t>s-a&&t
-
-
-
-
-
-
-
diff --git a/dist/sticky-item/index.wxss b/dist/sticky-item/index.wxss
deleted file mode 100644
index 94929ff2..00000000
--- a/dist/sticky-item/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-sticky-item{display:flex;flex-direction:column}.l-sticky-wrapper{overflow:visible}.l-sticky-item-header{width:100%}.l-sticky-item-header-fixed{position:fixed;top:0}@supports (position:sticky){.l-sticky-item-header-sticky{position:sticky}}
\ No newline at end of file
diff --git a/dist/sticky/index.js b/dist/sticky/index.js
deleted file mode 100644
index cb2c4d2e..00000000
--- a/dist/sticky/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import validator from"../behaviors/validator";Component({externalClasses:["l-class"],behaviors:[validator],relations:{"../sticky-item/index":{type:"child",linked(){this.checkSupportCssSticky().then(t=>{t||this.updateStickyItemsSizeData()}).catch(t=>{console.error(t)})},linkChanged(){this.checkSupportCssSticky().then(t=>{t||this.updateStickyItemsSizeData()}).catch(t=>{console.error(t)})},unlinked(){this.checkSupportCssSticky().then(t=>{t||this.updateStickyItemsSizeData()}).catch(t=>{console.error(t)})}}},properties:{mode:{type:String,value:"js",options:["js","css"]},scrollTop:Number},observers:{scrollTop:function(){this.checkSupportCssSticky().then(t=>{t||this.updateStickyItemsPosition()}).catch(t=>{console.error(t)})}},lifetimes:{attached(){this.checkSupportCssSticky().then(t=>{t||this.initSticky()}).catch(t=>{console.error(t)})}},methods:{initSticky(){wx.lin=wx.lin||{},wx.lin.flushSticky=()=>{this.updateStickyItemsSizeData()},wx.lin.setScrollTop=t=>{this.data.scrollTop=t,this.checkSupportCssSticky().then(t=>{t||this.updateStickyItemsPosition()}).catch(t=>{console.error(t)})}},updateStickyItemsPosition(){const t=this.getStickyItemNodes();for(let e of t)e.updateStickyItemPosition(this.data.scrollTop)},updateStickyItemsSizeData(){this.getStickyItemNodes().forEach((t,e)=>{t.updateStickyItemBaseData(e)})},getStickyItemNodes(){return this.getRelationNodes("../sticky-item/index")},checkSupportCssSticky(){return new Promise(t=>{const e=this.getStickyItemNodes();0===e.length&&t(!1),wx.createSelectorQuery().in(e[0]).select(".l-sticky-item-header").fields({computedStyle:["position"]}).exec(e=>{null===e[0]?t(!1):t("sticky"===e[0].position)})})}}});
\ No newline at end of file
diff --git a/dist/sticky/index.json b/dist/sticky/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/sticky/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/sticky/index.wxml b/dist/sticky/index.wxml
deleted file mode 100644
index 39b9072a..00000000
--- a/dist/sticky/index.wxml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/dist/sticky/index.wxss b/dist/sticky/index.wxss
deleted file mode 100644
index e69de29b..00000000
diff --git a/dist/tab-bar/index.js b/dist/tab-bar/index.js
deleted file mode 100644
index e34c6148..00000000
--- a/dist/tab-bar/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import eventUtil from"../core/utils/event-util";Component({properties:{bgColor:{type:String,value:null},bgImg:{type:String,value:null},selectedIndex:{type:Number,value:0},list:{type:Array,value:[]},textSelectedColor:{type:String,value:"#3963bc"},textColor:{type:String,value:"#666"}},data:{selectedIndex:0},pageLifetimes:{show:function(){this.parseCurrentPage()}},methods:{parseCurrentPage(){const t="/"+getCurrentPages()[0].route,e=this.data.list;let i;for(let a=0;a
-
-
-
-
-
-
-
-
- {{item.text}}
-
-
-
-
diff --git a/dist/tab-bar/index.wxss b/dist/tab-bar/index.wxss
deleted file mode 100644
index 0efd76a9..00000000
--- a/dist/tab-bar/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.lu-tab-bar{left:0;right:0;bottom:0;position:fixed;z-index:9999;width:750rpx;height:106rpx;display:flex;background-color:#fff;background-size:100% 100%;background-repeat:no-repeat}.lu-tab-bar__item-wrapper{display:flex;height:100%;justify-content:center}.lu-tab-bar__item-container{display:flex;flex-direction:column;align-items:center;justify-content:center}.lu-tab-bar__item-image{display:block;width:52rpx;height:52rpx}.lu-tab-bar__item-text{margin-top:4rpx;font-size:24rpx;line-height:1}
\ No newline at end of file
diff --git a/dist/tabpanel/index.js b/dist/tabpanel/index.js
deleted file mode 100644
index 4828bd5d..00000000
--- a/dist/tabpanel/index.js
+++ /dev/null
@@ -1 +0,0 @@
-Component({relations:{"../tabs/index":{type:"parent",linked:function(t){!this.data.parent&&this.setData({parent:t})}},"../combined-tabs/index":{type:"parent",linked:function(t){!this.data.parent&&this.setData({parent:t})}}},properties:{tab:String,subTab:String,subKey:String,key:String,icon:String,iconSize:{type:String,value:"20"},image:Object,picPlacement:{type:String,value:"top"},dotBadge:{type:Boolean,value:!1},badgeCount:{type:Number},badgeMaxCount:{type:Number,value:99},badgeCountType:{type:String,value:"overflow"}},observers:{"**":function(t){this.updateData(t)}},data:{isCurrent:!1,index:0,parent:null},methods:{updateData(){let t=this.data.parent;t&&t.initTabs()}}});
\ No newline at end of file
diff --git a/dist/tabpanel/index.json b/dist/tabpanel/index.json
deleted file mode 100644
index 1450e2ec..00000000
--- a/dist/tabpanel/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{}}
\ No newline at end of file
diff --git a/dist/tabpanel/index.wxml b/dist/tabpanel/index.wxml
deleted file mode 100644
index a915dac1..00000000
--- a/dist/tabpanel/index.wxml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/dist/tabpanel/index.wxss b/dist/tabpanel/index.wxss
deleted file mode 100644
index a77a4faa..00000000
--- a/dist/tabpanel/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-tabpanel-content{width:100%;height:100%}
\ No newline at end of file
diff --git a/dist/tabs/index.js b/dist/tabs/index.js
deleted file mode 100644
index 0ec6000f..00000000
--- a/dist/tabs/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import scrollCenter from"../behaviors/scrollCenter";Component({behaviors:[scrollCenter],externalClasses:["l-class-tabs","l-class-header","l-class-active","l-class-content","l-class-inactive","l-class-line","l-class-tabimage","l-class-header-line","l-class-icon","l-tabs-class","l-header-class","l-active-class","l-content-class","l-inactive-class","l-line-class","l-tabimage-class","l-header-line-class","l-icon-class","l-tabpanel-class","l-badge-class"],relations:{"../tabpanel/index":{type:"child",linked(){this.initTabs()}}},options:{multipleSlots:!0},properties:{activeKey:{type:String,value:""},placement:{type:String,value:"top"},animated:Boolean,swipeable:Boolean,scrollable:Boolean,hasLine:{type:Boolean,value:!0},animatedForLine:Boolean,activeColor:{type:String,value:"#333333"},inactiveColor:{type:String,value:"#bbbbbb"},equalWidth:{type:Boolean,value:!0},contentHeight:Number},data:{tabList:[],currentIndex:0,transformX:0,transformY:0},observers:{activeKey:function(e){if(!e)return;const t=this.data.tabList.findIndex(t=>t.key===e);this.setData({currentIndex:t},()=>{this.data.scrollable&&this.queryMultipleNodes()})}},ready(){this.initTabs()},methods:{initTabs(e=this.data.activeKey){let t=this.getRelationNodes("../tabpanel/index");if(t.length>0){let a=e,s=this.data.currentIndex;const l=t.map((t,l)=>(a=e||0!==l?a:t.data.key,s=t.data.key===a?l:s,{...t.data}));this.setData({tabList:l,activeKey:a,currentIndex:s},()=>{this.data.scrollable&&this.queryMultipleNodes()})}},swiperChange(e){const{source:t,current:a}=e.detail;if("touch"===t){const e=a,t=this.data.tabList[a].key;this._setChangeData({activeKey:t,currentIndex:e})}},handleChange(e){const t=e.currentTarget.dataset.key,a=e.currentTarget.dataset.index;this._setChangeData({activeKey:t,currentIndex:a})},_setChangeData({activeKey:e,currentIndex:t}){this.setData({activeKey:e,currentIndex:t},()=>{this.data.scrollable&&this.queryMultipleNodes()}),this.triggerEvent("linchange",{activeKey:e,currentIndex:t})}}});
\ No newline at end of file
diff --git a/dist/tabs/index.json b/dist/tabs/index.json
deleted file mode 100644
index 860cdf73..00000000
--- a/dist/tabs/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index","l-badge":"../badge/index","l-tabpanel":"../tabpanel/index"}}
\ No newline at end of file
diff --git a/dist/tabs/index.wxml b/dist/tabs/index.wxml
deleted file mode 100644
index c9dded52..00000000
--- a/dist/tabs/index.wxml
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
- {{item.tab}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/tabs/index.wxss b/dist/tabs/index.wxss
deleted file mode 100644
index d58b4e34..00000000
--- a/dist/tabs/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-tabs{display:flex;border-radius:8rpx;box-sizing:border-box;overflow:hidden;flex-direction:column;height:100%}.l-tabs .l-tabs-header{display:flex;width:100%;flex-direction:row;background:#fff;align-items:center}.l-tabs .l-tabs-header .l-tabs-item{font-size:28rpx;text-align:center;box-sizing:border-box;display:flex;justify-content:center;align-items:center}.l-tabs .l-tabs-header .l-tabs-equal-width{flex:1}.l-tabs .l-tabs-header .l-tabs-unequal-width{padding:0 20rpx}.l-tabs .l-tabs-header .l-icon-active,.l-tabs .l-tabs-header .l-tabs-active{color:#333;font-size:28rpx}.l-tabs .l-tabs-header .l-icon-inactive,.l-tabs .l-tabs-header .l-tabs-inactive{font-size:28rpx;color:#bbb}.l-tabs .l-tabs-header .l-tabsitems-row{flex-direction:row}.l-tabs .l-tabs-header .l-tabsitems-row .l-icon-active,.l-tabs .l-tabs-header .l-tabsitems-row .l-icon-inactive{margin-right:10rpx}.l-tabs .l-tabs-header .l-tabsitems-row-reverse{flex-direction:row-reverse}.l-tabs .l-tabs-header .l-tabsitems-row-reverse .l-icon-active,.l-tabs .l-tabs-header .l-tabsitems-row-reverse .l-icon-inactive{margin-left:10rpx}.l-placement-bottom .l-tabs-header,.l-placement-top .l-tabs-header{height:80rpx}.l-placement-bottom .l-tabs-header .l-tabs-item,.l-placement-top .l-tabs-header .l-tabs-item{min-height:100%}.l-placement-left,.l-placement-right{flex-direction:row}.l-placement-left .l-tabs-header,.l-placement-right .l-tabs-header{flex-direction:column;width:160rpx}.l-placement-left .l-tabs-header>.l-tabs-item,.l-placement-right .l-tabs-header>.l-tabs-item{width:100%;height:80rpx;background:#f6f8fa}.l-placement-left .l-tabs-header>.l-tabs-active,.l-placement-right .l-tabs-header>.l-tabs-active{background:#fff}.l-placement-right{flex-direction:row-reverse}.l-placement-bottom{flex-direction:column-reverse}.l-tabpanel-content{display:flex}.l-placement-left .l-tabpanel-content,.l-placement-right .l-tabpanel-content{width:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;position:relative;will-change:transform;transition:transform .3s cubic-bezier(.645,.045,.355,1)}.l-placement-bottom .l-tabpanel-content,.l-placement-top .l-tabpanel-content{width:100%;min-height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row}.l-aminmated.l-placement-bottom .l-tabpanel-content,.l-aminmated.l-placement-top .l-tabpanel-content{will-change:margin-left;-webkit-transition:margin-left .3s cubic-bezier(.645,.045,.355,1);transition:margin-left .3s cubic-bezier(.645,.045,.355,1)}.l-tabpanel{width:100%;height:100%;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;opacity:1;text-overflow:ellipsis}.l-tabpanel-inactive{opacity:0;height:0;padding:0!important;pointer-events:none}.l-tabs-scroll.l-tabs-horizontal .l-tabs-header{-webkit-overflow-scrolling:touch;white-space:nowrap}.l-tabs-scroll.l-tabs-horizontal .l-tabs-header .l-tabs-item{overflow:visible}.l-tabs-vertical .l-tabsscroll{width:160rpx}.l-tabs-vertical .l-tabs-header{height:100%;min-height:80rpx;-webkit-overflow-scrolling:touch;white-space:nowrap}.l-tabs-vertical .l-tabs-header .l-tabs-item{overflow:visible;min-height:80rpx}.l-tabs-item{position:relative}.l-tab-line{position:absolute;bottom:0;left:0;background:#000}.l-tabs-horizontal .l-tab-line{height:4rpx;width:0;left:100%;right:0;margin:0 auto}.l-tabs-horizontal .l-line-aminmated{transition:.2s all linear}.l-tabs-horizontal .l-tabs-active.l-tabs-item~.l-tabs-item .l-tab-line{left:0}.l-tabs-horizontal .l-tabs-active .l-tab-line{width:100%;left:0}.l-tabs-horizontal .l-tabs-active .l-line-aminmated{transition-delay:.1s}.l-placement-top .l-tab-line{bottom:0}.l-placement-top .l-tabs-header-line{border-bottom:1px solid #f3f3f3}.l-placement-bottom .l-tab-line{top:0}.l-placement-bottom .l-tabs-header-line{border-top:1px solid #f3f3f3}.l-tabs-vertical .l-tab-line{width:6rpx;height:0;border-radius:0 6rpx 6rpx 0;top:0;margin:auto 0}.l-tabs-vertical .l-line-aminmated{transition:.2s all linear}.l-tabs-vertical .l-tabs-active .l-tab-line{height:40rpx}.l-tabs-vertical .l-tabs-active .l-line-aminmated{transition-delay:.1s}.l-tabs-vertical .l-tabs-active.l-tabs-item~.l-tabs-item .l-tab-line{height:0;top:0}.l-placement-left .l-tab-line{right:auto}.l-placement-left .l-tabs-header-line{border-left:1px solid #f3f3f3}.l-placement-right .l-tab-line{right:0;left:auto}.l-placement-right .l-tabs-header-line{border-right:1px solid #f3f3f3}.l-tab-image{width:100rpx;height:100rpx}.l-tab-image-placement-top{flex-direction:column}.l-tab-image-placement-bottom{flex-direction:column-reverse}.l-tab-image-placement-left{flex-direction:row}.l-tab-image-placement-right{flex-direction:row-reverse}.l-tabs-header .badge-view{top:-20rpx}
\ No newline at end of file
diff --git a/dist/tag/index.js b/dist/tag/index.js
deleted file mode 100644
index 9ef734a9..00000000
--- a/dist/tag/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import validator from"../behaviors/validator";Component({externalClasses:["l-class","l-select-class","l-image-class"],behaviors:[validator],properties:{name:String,cell:Object,type:{type:String,value:"touch",options:["reading","touch"]},bgColor:String,fontColor:String,disable:Boolean,shape:{type:String,value:"square",options:["square","circle"]},select:Boolean,plain:Boolean,size:{type:String,value:"medium",options:["large","medium","mini","super-mini"]},location:{type:String,value:"left",options:["left","right"]},icon:String,iconSize:{type:String,value:"20"},iconColor:{type:String,value:"#3683D6"},image:String,iconStyle:{type:String,value:"size:20;color:#3683D6"},height:Number},methods:{handleTap(){if(this.data.disable)return;let e={name:this.data.name,cell:this.data.cell,select:this.data.select};this.triggerEvent("lintap",e,{bubbles:!0,composed:!0})}}});
\ No newline at end of file
diff --git a/dist/tag/index.json b/dist/tag/index.json
deleted file mode 100644
index e11651a3..00000000
--- a/dist/tag/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index"}}
\ No newline at end of file
diff --git a/dist/tag/index.wxml b/dist/tag/index.wxml
deleted file mode 100644
index 851691f2..00000000
--- a/dist/tag/index.wxml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/dist/tag/index.wxss b/dist/tag/index.wxss
deleted file mode 100644
index d51ec93c..00000000
--- a/dist/tag/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-tag{display:inline-flex;justify-content:center;align-items:center;color:#fff;background-color:#3963bc}.l-tag-touch{min-width:80rpx}.l-tag-super-mini{height:32rpx;font-size:20rpx}.l-tag-mini{height:42rpx;font-size:20rpx}.l-tag-medium{height:50rpx;font-size:24rpx;letter-spacing:2rpx}.l-tag-large{height:60rpx;font-size:24rpx;letter-spacing:2rpx}.l-tag-super-mini-square{border-radius:2rpx;padding:0 6rpx}.l-tag-mini-square{border-radius:2rpx;padding:0 12rpx}.l-tag-medium-square{border-radius:2rpx;padding:0 16rpx}.l-tag-large-square{border-radius:2rpx;padding:0 18rpx}.l-tag-super-mini-circle{border-radius:16rpx;padding:0 12rpx}.l-tag-mini-circle{border-radius:21rpx;padding:0 16rpx}.l-tag-medium-circle{border-radius:25rpx;padding:0 20rpx}.l-tag-large-circle{border-radius:30rpx;padding:0 24rpx}.l-tag-plain{background-color:#fff;color:#3963bc;border:2rpx solid #3963bc}.l-tag-plain-super-mini{height:28rpx;font-size:20rpx}.l-tag-plain-mini{height:38rpx;font-size:20rpx}.l-tag-plain-medium{height:46rpx;font-size:24rpx;letter-spacing:2rpx}.l-tag-plain-large{height:56rpx;font-size:24rpx;letter-spacing:2rpx}.l-tag-disable{background-color:#dee2e6;color:#fff;border-color:#dee2e6}.select{background-color:#3963bc;color:#fff}.content{display:inline-flex;align-items:center;justify-content:center}.content-l{display:inline-flex;flex-direction:row-reverse;align-items:center;justify-content:center}.tag-image-mini{width:20rpx;height:20rpx}.tag-image-large{width:24rpx;height:24rpx}
\ No newline at end of file
diff --git a/dist/textarea/index.js b/dist/textarea/index.js
deleted file mode 100644
index 58b204ad..00000000
--- a/dist/textarea/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import rules from"../behaviors/rules";import eventBus from"../core/utils/event-bus";Component({behaviors:["wx://form-field",rules],externalClasses:["l-class","l-error-text","l-error-text-class","l-inner-class"],properties:{placeholder:{type:String,value:""},value:{type:String,value:""},focus:{type:Boolean,value:!1},maxlength:{type:Number,value:140},indicator:{type:Boolean,value:!0},autoHeight:{type:Boolean,value:!1},disabled:{type:Boolean,value:!1},border:{type:Boolean,value:!0},rules:{type:Object},placeholderStyle:{type:String,value:""},cursorSpacing:{type:Number,value:0}},data:{},attached(){this.initRules()},methods:{handleInputChange(e){const{detail:t={}}=e,{value:a=""}=t;this.setData({value:a}),eventBus.emit("lin-form-change-"+this.id,this.id),this.triggerEvent("lininput",e.detail)},handleInputFocus(e){this.triggerEvent("linfocus",e.detail)},handleInputBlur(e){this.validatorData({[this.data.name]:e.detail.value}),eventBus.emit("lin-form-blur-"+this.id,this.id),this.triggerEvent("linblur",e.detail)},handleInputConfirm(e){this.triggerEvent("linconfirm",e.detail)},getValues(){return this.data.value},reset(){this.data.value=""}}});
\ No newline at end of file
diff --git a/dist/textarea/index.json b/dist/textarea/index.json
deleted file mode 100644
index a70bd9bb..00000000
--- a/dist/textarea/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index","l-error-tip":"../error-tip/index"}}
\ No newline at end of file
diff --git a/dist/textarea/index.wxml b/dist/textarea/index.wxml
deleted file mode 100644
index 6a0c8265..00000000
--- a/dist/textarea/index.wxml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
diff --git a/dist/textarea/index.wxss b/dist/textarea/index.wxss
deleted file mode 100644
index 20795270..00000000
--- a/dist/textarea/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.form-item{position:relative;font-size:28rpx;color:#333;width:100%;display:flex;flex-direction:column;align-items:center;box-sizing:border-box}.disabled{color:#9a9a9a!important}.mask{position:absolute;z-index:999;height:100%;width:100%}.textarea{width:100%;box-sizing:border-box;font-size:28rpx;color:#333;height:200rpx;line-height:40rpx;flex:1;min-height:88rpx}.textarea-auto-height{width:100%;box-sizing:border-box;font-size:28rpx;color:#333}.default-border{position:relative;font-size:28rpx;color:#333;width:100%;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;padding:25rpx}.border{border-radius:4rpx;border:1rpx solid #d8dee5}.pls-class{color:#9a9a9a}.indicator{width:95%;text-align:right;margin-bottom:15rpx;color:#9a9a9a}
\ No newline at end of file
diff --git a/dist/toast/index.js b/dist/toast/index.js
deleted file mode 100644
index 1326be9a..00000000
--- a/dist/toast/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import computeOffset from"../behaviors/computeOffset";import zIndex from"../behaviors/zIndex";import watchShow from"../behaviors/watchShow";Component({behaviors:[computeOffset,zIndex,watchShow],externalClasses:["l-bg-class","l-icon-class","l-class","l-image-class","l-title-class "],properties:{show:{type:Boolean,value:!1},title:String,icon:String,iconSize:String,iconColor:String,image:String,placement:{type:String,value:"bottom"},duration:{type:Number,value:1500},zIndex:{type:Number,value:777},center:{type:Boolean,value:!0},mask:{type:Boolean,value:!1},openApi:{type:Boolean,value:!0},offsetX:Number,offsetY:Number},data:{status:!1,success:"",fail:"",complete:""},observers:{icon:function(){}},attached(){this.data.openApi&&this.initToast()},pageLifetimes:{show(){this.data.openApi&&this.initToast(),this.offsetMargin()}},methods:{initToast(){wx.lin=wx.lin||{},wx.lin.showToast=(e={})=>{const{title:t="",icon:o="",image:s="",placement:i="bottom",duration:a=1500,center:n=!0,mask:l=!1,success:r=null,complete:c=null,offsetX:h=0,offsetY:f=0,iconSize:m="60",iconColor:p=""}=e;return this.setData({title:t,icon:o,image:s,placement:i,duration:a,center:n,mask:l,success:r,complete:c,offsetY:f,offsetX:h,iconSize:m,iconColor:p}),this.changeStatus(),this},wx.lin.hideToast=()=>{this.setData({status:!1})}},strlen(e){for(var t=0,o=0;o="0x0001"&&s<="0x007e"||"0xff60"<=s&&s<="0xff9f"?t++:t+=2}return t},doNothingMove(){},onMaskTap(){!0!==this.data.locked&&this.setData({fullScreen:"hide",status:"hide"}),this.triggerEvent("lintap",!0,{bubbles:!0,composed:!0})}}});
\ No newline at end of file
diff --git a/dist/toast/index.json b/dist/toast/index.json
deleted file mode 100644
index e03b6d47..00000000
--- a/dist/toast/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index","l-mask":"../mask/index"}}
\ No newline at end of file
diff --git a/dist/toast/index.wxml b/dist/toast/index.wxml
deleted file mode 100644
index e4d2416a..00000000
--- a/dist/toast/index.wxml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
- {{ title }}
-
-
\ No newline at end of file
diff --git a/dist/toast/index.wxss b/dist/toast/index.wxss
deleted file mode 100644
index 7f879872..00000000
--- a/dist/toast/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.container{position:fixed}.containerNoMask{left:50%;top:50%;transform:translate(-50%,-50%)}.containerShowMask{height:100%;width:100%;top:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:999}.container .toast-bg{height:100%;width:100%;background:rgba(255,255,255,.5);position:absolute;top:0;left:0}.container .toast-top{flex-direction:column-reverse}.container .toast-right{flex-direction:row}.container .toast-bottom{flex-direction:column}.container .toast-left{flex-direction:row-reverse}.container .toast{display:flex;align-items:center;justify-content:center;max-width:400rpx;min-width:280rpx;min-height:88rpx;background:rgba(0,0,0,.7);border-radius:12rpx;color:#fff;font-size:28rpx;line-height:40rpx;box-sizing:border-box;padding:30rpx 50rpx;z-index:999}.container .toast .toast-icon{margin-top:20rpx;margin-bottom:20rpx}.container .toast .toast-icon-loading{animation:loading-fadein 1.5s linear 0s infinite}.container .toast .toast-text{display:inline-block;text-align:center}.container .toast .toast-text-right{display:inline-block;text-align:center;margin-left:20rpx}.container .toast .toast-text-left{display:inline-block;text-align:center;margin-right:20rpx}.container .toast .toast-text-top{margin-bottom:10rpx}@keyframes loading-fadein{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}
\ No newline at end of file
diff --git a/dist/transition/index.js b/dist/transition/index.js
deleted file mode 100644
index 9395ae94..00000000
--- a/dist/transition/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import transition from"../behaviors/transition";Component({behaviors:[transition(!0)],externalClasses:["l-class","l-enter-class","l-enter-active-class","l-enter-to-class","l-leave-class","l-leave-active-class","l-leave-to-class"],methods:{}});
\ No newline at end of file
diff --git a/dist/transition/index.json b/dist/transition/index.json
deleted file mode 100644
index e03b6d47..00000000
--- a/dist/transition/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{"l-icon":"../icon/index","l-mask":"../mask/index"}}
\ No newline at end of file
diff --git a/dist/transition/index.wxml b/dist/transition/index.wxml
deleted file mode 100644
index 35345fdd..00000000
--- a/dist/transition/index.wxml
+++ /dev/null
@@ -1,3 +0,0 @@
-
-
-
diff --git a/dist/transition/index.wxss b/dist/transition/index.wxss
deleted file mode 100644
index 56b5899c..00000000
--- a/dist/transition/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.l-transition{transition-timing-function:ease}.l-fade-enter-active,.l-fade-leave-active{transition-property:opacity}.l-fade-enter,.l-fade-leave-to{opacity:0}.l-fade-down-enter-active,.l-fade-down-leave-active,.l-fade-left-enter-active,.l-fade-left-leave-active,.l-fade-right-enter-active,.l-fade-right-leave-active,.l-fade-up-enter-active,.l-fade-up-leave-active{transition-property:opacity,transform}.l-fade-up-enter,.l-fade-up-leave-to{transform:translate3d(0,100%,0);opacity:0}.l-fade-down-enter,.l-fade-down-leave-to{transform:translate3d(0,-100%,0);opacity:0}.l-fade-left-enter,.l-fade-left-leave-to{transform:translate3d(-100%,0,0);opacity:0}.l-fade-right-enter,.l-fade-right-leave-to{transform:translate3d(100%,0,0);opacity:0}.l-slide-down-enter-active,.l-slide-down-leave-active,.l-slide-left-enter-active,.l-slide-left-leave-active,.l-slide-right-enter-active,.l-slide-right-leave-active,.l-slide-up-enter-active,.l-slide-up-leave-active{transition-property:transform}.l-slide-up-enter,.l-slide-up-leave-to{transform:translate3d(0,100%,0)}.l-slide-down-enter,.l-slide-down-leave-to{transform:translate3d(0,-100%,0)}.l-slide-left-enter,.l-slide-left-leave-to{transform:translate3d(-100%,0,0)}.l-slide-right-enter,.l-slide-right-leave-to{transform:translate3d(100%,0,0)}
\ No newline at end of file
diff --git a/dist/water-flow/index.js b/dist/water-flow/index.js
deleted file mode 100644
index bf8ecb18..00000000
--- a/dist/water-flow/index.js
+++ /dev/null
@@ -1 +0,0 @@
-import eventUtil from"../core/utils/event-util";Component({properties:{columnGap:{type:String,value:"20rpx"}},data:{data:[],leftData:[],rightData:[]},attached(){this._init()},pageLifetimes:{show(){this._init()}},methods:{_init(){wx.lin=wx.lin||{},wx.lin.renderWaterFlow=(t=[],e=!1,a)=>{if("[object Array]"!==Object.prototype.toString.call(t))return console.error("[data]参数类型错误,渲染失败"),!1;this.setData({data:t}),e&&(this.data.leftData=[],this.data.rightData=[]),this._select(t,e).then(()=>{a&&a()}).catch(t=>{console.error(t)})}},_select(t,e){const a=wx.createSelectorQuery().in(this);return this.columnNodes=a.selectAll("#left, #right"),new Promise(a=>{this._render(t,0,e,()=>{a()})})},_render(t,e,a,i){(t.length>e||a)&&0!==this.data.data.length?this.columnNodes.boundingClientRect().exec(h=>{const r=h[0];this.data.leftHeight=r[0].height,this.data.rightHeight=r[1].height,this.data.leftHeight<=this.data.rightHeight||a?this.data.leftData.push(t[e]):this.data.rightData.push(t[e]),this.setData({leftData:this.data.leftData,rightData:this.data.rightData},()=>{this._render(t,++e,!1,i)})}):i&&i()},onTapItem(t){eventUtil.emit(this,"linitemtap",{item:t.currentTarget.dataset.item})}}});
\ No newline at end of file
diff --git a/dist/water-flow/index.json b/dist/water-flow/index.json
deleted file mode 100644
index 46931a7b..00000000
--- a/dist/water-flow/index.json
+++ /dev/null
@@ -1 +0,0 @@
-{"component":true,"usingComponents":{},"componentGenerics":{"l-water-flow-item":true} }
\ No newline at end of file
diff --git a/dist/water-flow/index.wxml b/dist/water-flow/index.wxml
deleted file mode 100644
index 5bc63323..00000000
--- a/dist/water-flow/index.wxml
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/dist/water-flow/index.wxss b/dist/water-flow/index.wxss
deleted file mode 100644
index 7a853fc2..00000000
--- a/dist/water-flow/index.wxss
+++ /dev/null
@@ -1 +0,0 @@
-.water-flow-container{display:flex;width:100%;box-sizing:border-box;background:0 0}.water-column{flex:1}
\ No newline at end of file
diff --git a/examples/app.json b/examples/app.json
index c87c51e9..966f9528 100644
--- a/examples/app.json
+++ b/examples/app.json
@@ -101,7 +101,8 @@
"pages/image-clipper/index",
"pages/rules/index",
"pages/rate/index",
- "pages/form/index"
+ "pages/form/index",
+ "pages/calendar/index"
]
},
{
diff --git a/examples/dist/album/index.js b/examples/dist/album/index.js
index 7b3a1c3a..6873106e 100644
--- a/examples/dist/album/index.js
+++ b/examples/dist/album/index.js
@@ -1,8 +1,5 @@
// miniprogram_npm/lin-ui/album/index.js
Component({
- /**
- * 组件的属性列表
- */
externalClasses: ['l-class', 'l-single-image-class', 'l-multi-image-class'],
properties: {
urls: {
@@ -63,42 +60,40 @@ Component({
}
},
- /**
- * 组件的初始数据
- */
data: {
// 传值方式是新方式还是旧方式
newType: true,
// 单图短边大小
shortSideValue: 0,
- // 图片排列几行
- row: 0,
- // 图片排列几列
- colum: 0,
// 用于显示的图片列表
showUrls: [],
// 传入的url长度是否大于maxNumber指定的数量
isLong: false,
},
- /**
- * 组件的生命周期
- */
- lifetimes: {
- attached() {
- // 在组件实例进入页面节点树时执行
+ observers: {
+ 'urls': function () {
+ this.init();
+ }
+ },
+
+ methods: {
+
+ /**
+ * 在 urls 数据变化后进行初始化
+ */
+ init() {
+ // 取出参数
+ let {urls, maxNumber, key} = this.data;
- //判断传入urls长度
- let urls = [];
- if (this.data.urls.length > this.data.maxNumber) {
- urls = this.data.urls.slice(0, this.data.maxNumber);
+ // 如果 urls 长度超出指定图片数量,则将其截断
+ if (urls.length > maxNumber) {
+ urls = urls.slice(0, maxNumber);
this.setData({
isLong: true,
});
- console.warn('图片数量超过maxNumber指定数量');
- } else {
- urls = this.data.urls;
}
+
this.setData({
showUrls: urls
});
@@ -109,26 +104,22 @@ Component({
this.setData({
everyRowNumber: 2
});
- } else(this.setData({
+ } else (this.setData({
everyRowNumber: 3
}));
}
- this.preview();
+ // 判断传入模式
+ const newType = this.judgeType();
+ this.setData({
+ newType
+ });
+ if (urls.length === 1) {
+ this.horizontalOrVertical(newType ? urls[0][key] : urls[0]);
+ }
},
- },
- observers: {
- 'urls': function () {
- this.preview();
- }
- },
-
- /**
- * 组件的方法列表
- */
- methods: {
// 判断传入的urls是字符串列表(old模式)还是对象列表(new模式)
judgeType() {
const urls = this.data.urls;
@@ -156,22 +147,6 @@ Component({
});
},
- // 显示图片
- preview: function () {
- // 判断传入模式
- const newType = this.judgeType();
- this.setData({
- newType
- });
- //显示图片
- const urls = this.data.urls;
- const key = this.data.key;
-
- if (urls.length === 1) {
- this.horizontalOrVertical(newType ? urls[0][key] : urls[0]);
- }
- },
-
onPreviewTap(e) {
const index = e.currentTarget.id;
let urls;
@@ -210,6 +185,5 @@ Component({
}
this.triggerEvent('lintap', detail, option);
}
-
}
});
diff --git a/examples/dist/calendar/calendar.wxml b/examples/dist/calendar/calendar.wxml
new file mode 100644
index 00000000..d5f49620
--- /dev/null
+++ b/examples/dist/calendar/calendar.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+ {{confirmText}}
+
+
+
diff --git a/examples/dist/calendar/components/day/index.js b/examples/dist/calendar/components/day/index.js
new file mode 100644
index 00000000..885993dd
--- /dev/null
+++ b/examples/dist/calendar/components/day/index.js
@@ -0,0 +1,16 @@
+Component({
+ data: {},
+ properties: {
+ text: null,
+ topInfo: null,
+ bottomInfo: null,
+ type: null,
+ color: {
+ type: String,
+ value: ''
+ }
+ },
+ methods: {
+
+ }
+});
\ No newline at end of file
diff --git a/examples/dist/calendar/components/day/index.json b/examples/dist/calendar/components/day/index.json
new file mode 100644
index 00000000..32640e0d
--- /dev/null
+++ b/examples/dist/calendar/components/day/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
\ No newline at end of file
diff --git a/examples/dist/calendar/components/day/index.wxml b/examples/dist/calendar/components/day/index.wxml
new file mode 100644
index 00000000..b352152c
--- /dev/null
+++ b/examples/dist/calendar/components/day/index.wxml
@@ -0,0 +1,8 @@
+
+
+ {{ topInfo }}
+ {{ text }}
+ {{ bottomInfo }}
+
\ No newline at end of file
diff --git a/examples/dist/calendar/components/day/index.wxs b/examples/dist/calendar/components/day/index.wxs
new file mode 100644
index 00000000..b81bd182
--- /dev/null
+++ b/examples/dist/calendar/components/day/index.wxs
@@ -0,0 +1,27 @@
+function getDayStyle(type, color) {
+ var style = [];
+
+ if (color) {
+ if (
+ type === 'start' ||
+ type === 'end' ||
+ type === 'selected'
+ ) {
+ style.push(['background', color]);
+ } else if (type === 'middle') {
+ style.push(['color', color]);
+ // style.push(['background', color]);
+ // style.push(['opacity', '0.1']);
+ }
+ }
+
+ return style
+ .map(function(item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+module.exports = {
+ getDayStyle: getDayStyle,
+};
\ No newline at end of file
diff --git a/examples/dist/calendar/components/day/index.wxss b/examples/dist/calendar/components/day/index.wxss
new file mode 100644
index 00000000..e9a84857
--- /dev/null
+++ b/examples/dist/calendar/components/day/index.wxss
@@ -0,0 +1 @@
+.calendar-day-container{display:flex;flex-direction:column;height:100%;align-items:center;position:relative;color:#666}.calendar-day-container.selected{background-color:#3963bc;color:#fff;border-radius:8rpx}.calendar-day-container.start{background-color:#3963bc;color:#fff;border-radius:8rpx}.calendar-day-container.end{background-color:#3963bc;color:#fff;border-radius:8rpx}.calendar-day-container.disabled{color:#c8c9cc;cursor:default;background:#fff}.calendar-day-container.middle{color:#3963bc}.calendar-day-container.middle::after{position:absolute;top:0;right:0;bottom:0;left:0;background-color:currentColor;opacity:.1;content:''}.calendar-day-container .top{height:24rpx;line-height:24rpx;font-size:16rpx}.calendar-day-container .text{flex:1;font-size:32rpx}.calendar-day-container .bottom{height:24rpx;line-height:24rpx;font-size:16rpx}
\ No newline at end of file
diff --git a/examples/dist/calendar/components/header/index.js b/examples/dist/calendar/components/header/index.js
new file mode 100644
index 00000000..29aa51a8
--- /dev/null
+++ b/examples/dist/calendar/components/header/index.js
@@ -0,0 +1,15 @@
+Component({
+ data: {
+ weekdays: ['日', '一', '二', '三', '四', '五', '六']
+ },
+ properties: {
+ title: {
+ type: String,
+ value: '日期选择'
+ },
+ subTitle: String,
+ showTitle: Boolean,
+ showSubtitle: Boolean
+ },
+ methods: {}
+});
\ No newline at end of file
diff --git a/examples/dist/calendar/components/header/index.json b/examples/dist/calendar/components/header/index.json
new file mode 100644
index 00000000..32640e0d
--- /dev/null
+++ b/examples/dist/calendar/components/header/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
\ No newline at end of file
diff --git a/examples/dist/calendar/components/header/index.wxml b/examples/dist/calendar/components/header/index.wxml
new file mode 100644
index 00000000..3dfeb5e4
--- /dev/null
+++ b/examples/dist/calendar/components/header/index.wxml
@@ -0,0 +1,20 @@
+
\ No newline at end of file
diff --git a/examples/dist/calendar/components/header/index.wxss b/examples/dist/calendar/components/header/index.wxss
new file mode 100644
index 00000000..b9566429
--- /dev/null
+++ b/examples/dist/calendar/components/header/index.wxss
@@ -0,0 +1 @@
+.calendar-header-container .calendar-header-container_title{text-align:center;padding:20rpx 0;font-size:36rpx;line-height:44rpx}.calendar-header-container .calendar-header-container_subtitle{text-align:center;font-size:36rpx;line-height:44rpx;margin-bottom:30rpx}.calendar-header-container .calendar-header__weekdays{display:flex;justify-content:center;align-items:center;margin:0 20rpx;padding:10rpx 0;border-bottom:1rpx solid #f3f3f3}.calendar-header-container .calendar-header__weekdays .calendar-header__weekday{width:14.285%;text-align:center}
\ No newline at end of file
diff --git a/examples/dist/calendar/components/mounth/index.js b/examples/dist/calendar/components/mounth/index.js
new file mode 100644
index 00000000..5633ac2d
--- /dev/null
+++ b/examples/dist/calendar/components/mounth/index.js
@@ -0,0 +1,194 @@
+import { compareDay, getMonthEndDay } from '../../util';
+import * as config from '../../config';
+Component({
+ data: {
+ days: []
+ },
+ properties: {
+ minDate: {
+ type: [Date,String,null],
+ // observer: 'setDays'
+ },
+ maxDate: {
+ type: [Date,String,null],
+ // observer: 'setDays'
+ },
+ formatter: {
+ type: null,
+ observer: 'setDays'
+ },
+ date: {
+ type: null,
+ observer: 'setDays'
+ },
+ currentDate: {
+ type: [null, Array],
+ observer() {
+ this.setDays();
+ }
+ },
+ type: {
+ type: String,
+ observer: 'setDays'
+ },
+ showMonthTitle: Boolean,
+ color: {
+ type: String,
+ value: ''
+ }
+ },
+ methods: {
+
+ /**
+ * 某一天的点击事件
+ */
+ onClick(event) {
+ const { item } = event.currentTarget.dataset;
+ if (item.type !== 'disabled' && item.type !== 'empty') {
+ this.triggerEvent('clickDay', item);
+ }
+ },
+ debounce(fn) {
+ let timer;
+ return () => {
+ let that = this;
+ let args = arguments;
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(function() {
+ fn.apply(that, args);
+ }, 300);
+ };
+ },
+ setDays() {
+ this.debounce(this.setDay)();
+ },
+ /**
+ * 设置某月分的天数
+ */
+ setDay() {
+ let days = [];
+ const startDate = new Date(this.data.date);
+ const year = startDate.getFullYear();
+ const month = startDate.getMonth();
+ const day = new Date(year, month, 1).getDay();
+
+ const totalDay = getMonthEndDay(year, month + 1);
+
+ for (let day = 1; day <= totalDay; day++) {
+ const date = new Date(year, month, day).getTime();
+ const type = this.getDayType(date);
+
+
+ let config = {
+ date,
+ type,
+ text: day,
+ bottomInfo: this.getBottomInfo(type),
+ topInfo: ''
+ };
+
+ if (this.data.formatter) {
+ config = this.data.formatter(config);
+ }
+ days.push(config);
+ }
+
+ for(let i = 0; i < day; i++) {
+ days.unshift({
+ type: 'empty'
+ });
+ }
+
+ this.setData({
+ days
+ });
+ },
+
+ isDateInCurrent(date) {
+ const { currentDate } = this.data;
+ return currentDate.some(item => {
+ return compareDay(item, date) === 0;
+ });
+ },
+
+ getMultipleDayType(date) {
+ const { currentDate } = this.data;
+
+ if (!Array.isArray(currentDate)) {
+ return '';
+ }
+
+ if (this.isDateInCurrent(date)) {
+ return 'selected';
+ }
+
+ return '';
+ },
+
+ getRangeDayType(day) {
+ const { currentDate } = this.data;
+ if (!Array.isArray(currentDate)) {
+ return;
+ }
+
+ const [startDay, endDay] = currentDate;
+
+ if (!startDay) {
+ return;
+ }
+ const compareToStart = compareDay(day, startDay);
+
+ if (!endDay) {
+ return compareToStart === 0 ? 'start' : '';
+ }
+
+ const compareToEnd = compareDay(day, endDay);
+
+ if (compareToStart === 0) {
+ return 'start';
+ }
+
+ if (compareToEnd === 0) {
+ return 'end';
+ }
+
+ if (compareToStart > 0 && compareToEnd < 0) {
+ return 'middle';
+ }
+ },
+
+ // date 循环的某一天
+ getDayType(date) {
+ const { type, minDate, maxDate, currentDate } = this.data;
+
+ if (compareDay(date, minDate) < 0 || compareDay(date, maxDate) > 0) {
+ return 'disabled';
+ }
+
+ if (type === config.TYPE_SINGLE) {
+ return compareDay(date, currentDate) === 0 ? 'selected' : '';
+ }
+
+ if (type === config.TYPE_MULTIPLE) {
+ return this.getMultipleDayType(date);
+ }
+
+ if (type === config.TYPE_RANGE) {
+ return this.getRangeDayType(date);
+ }
+ },
+
+ getBottomInfo(type) {
+ if (this.data.type === config.TYPE_RANGE) {
+ if (type === 'start') {
+ return '开始';
+ }
+ if (type === 'end') {
+ return '结束';
+ }
+ return '';
+ }
+ return '';
+ }
+ }
+});
\ No newline at end of file
diff --git a/examples/dist/calendar/components/mounth/index.json b/examples/dist/calendar/components/mounth/index.json
new file mode 100644
index 00000000..d03ef78a
--- /dev/null
+++ b/examples/dist/calendar/components/mounth/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "day":"../day/index"
+ }
+}
diff --git a/examples/dist/calendar/components/mounth/index.wxml b/examples/dist/calendar/components/mounth/index.wxml
new file mode 100644
index 00000000..50f6332b
--- /dev/null
+++ b/examples/dist/calendar/components/mounth/index.wxml
@@ -0,0 +1,24 @@
+
+
+
+
+ {{ computed.formatMonthTitle(date) }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/dist/calendar/components/mounth/index.wxs b/examples/dist/calendar/components/mounth/index.wxs
new file mode 100644
index 00000000..3e860b4e
--- /dev/null
+++ b/examples/dist/calendar/components/mounth/index.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+
+function formatMonthTitle(date) {
+ date = getDate(date);
+ return date.getFullYear() + '年' + (date.getMonth() + 1) + '月';
+}
+
+
+
+module.exports = {
+ formatMonthTitle: formatMonthTitle
+};
diff --git a/examples/dist/calendar/components/mounth/index.wxss b/examples/dist/calendar/components/mounth/index.wxss
new file mode 100644
index 00000000..3259ccb7
--- /dev/null
+++ b/examples/dist/calendar/components/mounth/index.wxss
@@ -0,0 +1 @@
+.calendar-mounth-container{color:#333;display:flex;flex-direction:column}.calendar-mounth-container .title{text-align:center;font-weight:800}.calendar-mounth-container .calendar-day-container{display:flex;flex-wrap:wrap}.calendar-mounth-container .calendar-day-container .calendar-day-wrap{width:14.285%}
\ No newline at end of file
diff --git a/examples/dist/calendar/config.js b/examples/dist/calendar/config.js
new file mode 100644
index 00000000..a6dfbfda
--- /dev/null
+++ b/examples/dist/calendar/config.js
@@ -0,0 +1,3 @@
+export const TYPE_SINGLE = 'single';
+export const TYPE_RANGE = 'range';
+export const TYPE_MULTIPLE = 'multiple';
\ No newline at end of file
diff --git a/examples/dist/calendar/dete.js b/examples/dist/calendar/dete.js
new file mode 100644
index 00000000..ad2ffea4
--- /dev/null
+++ b/examples/dist/calendar/dete.js
@@ -0,0 +1,29 @@
+const formatFlags = {
+ format: function(format, date) {
+ date = new Date(date);
+ let ret;
+ const opt = {
+ 'y+': date.getFullYear().toString(), // 年
+ 'M+': (date.getMonth() + 1).toString(), // 月
+ 'd+': date.getDate().toString(), // 日
+ };
+ for (let k in opt) {
+ ret = new RegExp('(' + k + ')').exec(format);
+ if (ret) {
+ format = format.replace(ret[1], (ret[1].length === 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, '0')));
+ }
+ }
+ return format;
+ }
+};
+
+formatFlags.format('yyyy/MM/dd', new Date());
+formatFlags.format('yyyy-MM-dd', new Date());
+formatFlags.format('yyyy-M-dd', new Date());
+formatFlags.format('yyyy-M-d', new Date());
+// formatFlags.format('yy-M-dd', new Date())
+formatFlags.format('M-dd', new Date());
+formatFlags.format('MM-dd', new Date());
+
+
+export default formatFlags;
\ No newline at end of file
diff --git a/examples/dist/calendar/index.js b/examples/dist/calendar/index.js
new file mode 100644
index 00000000..ef1df782
--- /dev/null
+++ b/examples/dist/calendar/index.js
@@ -0,0 +1,342 @@
+import eventBus from '../core/utils/event-bus.js';
+import validator from '../behaviors/validator';
+import rules from '../behaviors/rules';
+import * as config from './config';
+import formatFlags from './dete';
+
+import { getDayByOffset, getDate, compareDay, calcDateNum, copyDates, getTime, formatMonthTitle, compareMonth, getMonths } from './util';
+
+Component({
+ externalClasses: [
+ 'l-class'
+ ],
+ behaviors: ['wx://form-field', validator, rules],
+ properties: {
+ show: {
+ type: Boolean,
+ value: false,
+ observer(val) {
+ if (val) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ }
+ },
+ type: {
+ type: String,
+ value: config.TYPE_SINGLE,
+ options: [config.TYPE_SINGLE, config.TYPE_MULTIPLE, config.TYPE_RANGE],
+ observer() {
+ this.setData({ currentDate: this.initCurrentDate() });
+ }
+ },
+ color: {
+ type: String,
+ value: ''
+ },
+ defaultDate: {
+ type: [String, Number, Date, Array],
+ value: '',
+ observer() {
+ this.setData({ currentDate: this.initCurrentDate() });
+ }
+ },
+ format: {
+ type: String,
+ value: 'timestamp'
+ // value: 'yyyy-MM-dd',
+ },
+ formatter: {
+ type: [Function, null],
+ value: null
+ },
+ minDate: {
+ type: [String, Number, null],
+ value: Date.now()
+ },
+ maxDate: {
+ type: [String, Number, null],
+ value: new Date(
+ new Date().getFullYear(),
+ new Date().getMonth() + 6,
+ new Date().getDate()
+ ).getTime()
+ },
+ minSelect: {
+ type: [Number, null],
+ value: null
+ },
+ maxSelect: {
+ type: [Number, null],
+ value: null
+ },
+ allowSameDay: Boolean,
+ showConfirm: {
+ type: Boolean,
+ value: true
+ },
+ confirmText: {
+ type: String,
+ value: '确认'
+ },
+ maxLimitMessage: {
+ type: String
+ },
+ minLimitMessage: {
+ type: String
+ },
+ showTitle: {
+ type: Boolean,
+ value: true
+ },
+ showSubtitle: {
+ type: Boolean,
+ value: true
+ },
+ title: {
+ type: String,
+ value: '日期选择'
+ }
+
+ },
+ lifetimes: {
+ attached() {
+ this.setData({
+ currentDate: this.initCurrentDate()
+ });
+ },
+ ready() {
+ if (this.data.show) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ }
+ },
+ data: {
+ currentDate: null,
+ types: config,
+ subTitle: '',
+ scrollIntoViewIndex: ''
+ },
+ methods: {
+ clickDay(event) {
+ const { type, currentDate, maxLimitMessage, maxSelect, allowSameDay } = this.data;
+ const { date } = event.detail;
+ if(type === config.TYPE_SINGLE) {
+ this.setData({
+ currentDate: getTime(date)
+ });
+ this.triggerEvent('linclickday', copyDates(date));
+ this.triggerEvent('linselect', copyDates(date));
+ }
+ if(type === config.TYPE_MULTIPLE) {
+ let _index = null;
+ const isSelected = currentDate.some((item, index) => {
+ const res = compareDay(item, date) === 0;
+ if(res) {
+ _index = index;
+ }
+ return res;
+ });
+
+ if(isSelected) {
+ // 取消选择
+ currentDate.splice(_index, 1);
+ this.setData({
+ currentDate: getTime(currentDate)
+ });
+ this.triggerEvent('linunselect', copyDates(currentDate));
+ } else {
+ if(maxSelect && currentDate.length >= maxSelect) {
+ wx.lin.showToast({
+ title: maxLimitMessage || `选择天数不能超过 ${ maxSelect } 天`
+ });
+ this.triggerEvent('linclickday', copyDates(date));
+ return;
+ }
+ // 添加
+ this.setData({
+ currentDate: getTime([...currentDate, date])
+ });
+ this.triggerEvent('linselect', copyDates([...currentDate, date]));
+ }
+ this.triggerEvent('linclickday', copyDates(date));
+ }
+
+ if(type === config.TYPE_RANGE) {
+ const [startDay, endDay] = currentDate;
+ if (startDay && !endDay) {
+ const compareToStart = compareDay(date, startDay);
+ if (compareToStart === 1) {
+ if(this.checkSelectRange([startDay, date])) {
+ this.setData({
+ currentDate: getTime([startDay, date])
+ });
+ this.triggerEvent('linselect', copyDates([startDay, date]));
+ }
+ }
+ else if (compareToStart === -1) {
+ // 选择结束日期在开始日期之前 重新开始选择
+ this.setData({
+ currentDate: getTime([date, null])
+ });
+ } else if(allowSameDay){
+ this.setData({
+ currentDate: getTime([date, date])
+ });
+ }
+ }
+ else {
+ // 重新开始选择
+ this.setData({
+ currentDate: getTime([date, null])
+ });
+ }
+ }
+ },
+
+ checkSelectRange(date) {
+ const { maxSelect, maxLimitMessage, minSelect, minLimitMessage } = this.data;
+ if (maxSelect && calcDateNum(date) > maxSelect) {
+
+ wx.lin.showToast({
+ title: maxLimitMessage || `选择天数不能超过 ${ maxSelect } 天`
+ });
+ return false;
+ }
+
+ if (minSelect && calcDateNum(date) < minSelect) {
+ wx.lin.showToast({
+ title: minLimitMessage || `选择天数不能少于 ${ minSelect } 天`
+ });
+ return false;
+ }
+
+ return true;
+ },
+
+ initCurrentDate() {
+
+ const { type, minDate, defaultDate, maxDate } = this.data;
+ const defaultDateIsArr = Array.isArray(defaultDate);
+
+ if (type === config.TYPE_SINGLE) {
+ if(!defaultDate) {
+ return minDate;
+ }
+ if(defaultDateIsArr) {
+ return minDate;
+ }
+ if(compareDay(defaultDate, minDate) === -1) {
+ return minDate;
+ }
+ if(compareDay(defaultDate, maxDate) === 1) {
+ return maxDate;
+ }
+ return defaultDate;
+ }
+
+ if(type === config.TYPE_MULTIPLE) {
+ if(!defaultDate) {
+ return [];
+ }
+ if(defaultDateIsArr) {
+ return defaultDate.filter(item => {
+ return compareDay(item, minDate) === 1 && compareDay(item, maxDate) === -1;
+ });
+ }
+ if(compareDay(defaultDate, minDate) === -1) {
+ return [minDate];
+ }
+ if(compareDay(defaultDate, maxDate) === 1) {
+ return [maxDate];
+ }
+ return [minDate];
+ }
+
+ if(type === config.TYPE_RANGE) {
+ if(defaultDateIsArr) {
+ let [startDay = minDate, endDay] = defaultDate;
+ if(compareDay(startDay, minDate) === -1 || compareDay(startDay, maxDate) !== -1) {
+ startDay = minDate;
+ }
+ if(!endDay) {
+ endDay = getDayByOffset(getDate(startDay), 1).getTime();
+ }
+ if(compareDay(endDay, maxDate) === 1 || compareDay(endDay, minDate) === -1) {
+ endDay = getDayByOffset(getDate(startDay), 1).getTime();
+ }
+ return [
+ startDay,
+ endDay
+ ];
+ }
+ return [
+ minDate,
+ getDayByOffset(getDate(minDate), 1).getTime()
+ ];
+ }
+ },
+ initRect() {
+ if (!this.contentObserver !== null && this.contentObserver !== undefined) {
+ this.contentObserver.disconnect();
+ }
+ const contentObserver = this.createIntersectionObserver({
+ thresholds: [0, 0.1, 0.9, 1],
+ observeAll: true
+ });
+ this.contentObserver = contentObserver;
+ contentObserver.relativeTo('.calendar-body-wrap');
+ contentObserver.observe('.month', res => {
+ if (res.boundingClientRect.top <= res.relativeRect.top) {
+ // @ts-ignore
+ this.setData({ subTitle: formatMonthTitle(res.dataset.date) });
+ }
+ });
+ },
+ scrollIntoView() {
+ setTimeout(() => {
+ const { currentDate, type, show, minDate, maxDate } = this.data;
+ const targetDate = type === 'single' ? currentDate : currentDate[0];
+ const displayed = show;
+ if (!targetDate || !displayed) {
+ return;
+ }
+ const months = getMonths(minDate, maxDate);
+ months.some((month, index) => {
+ if (compareMonth(month, targetDate) === 0) {
+ this.setData({ scrollIntoViewIndex: `month${index}` });
+ return true;
+ }
+ return false;
+ });
+ }, 100);
+ },
+ closePicker() {
+ this.setData({
+ show: false
+ });
+ },
+ onClickConfirm() {
+ const {format, type, currentDate} = this.data;
+ eventBus.emit(`lin-form-blur-${this.id}`, this.id);
+ let value = null;
+ if(type === 'single') {
+ value = format !== 'timestamp' ? formatFlags.format('yyyy-MM-dd', currentDate) : currentDate;
+ } else {
+ value = currentDate.map(item => {
+ return format !== 'timestamp' ? formatFlags.format('yyyy-MM-dd', item) : item;
+ });
+ }
+ this.triggerEvent('linconfirm', value);
+ },
+ getValues() {
+ return this.data.currentDate;
+ },
+ reset() {
+ this.setData({
+ currentDate: null
+ });
+ }
+ }
+});
diff --git a/examples/dist/calendar/index.json b/examples/dist/calendar/index.json
new file mode 100644
index 00000000..2dc44d1d
--- /dev/null
+++ b/examples/dist/calendar/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "header":"./components/header/index",
+ "mounth":"./components/mounth/index",
+ "l-toast": "/dist/toast/index",
+ "l-popup": "/dist/popup/index",
+ "l-button": "/dist/button/index"
+ }
+}
diff --git a/examples/dist/calendar/index.wxml b/examples/dist/calendar/index.wxml
new file mode 100644
index 00000000..9fc43c45
--- /dev/null
+++ b/examples/dist/calendar/index.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/examples/dist/calendar/index.wxs b/examples/dist/calendar/index.wxs
new file mode 100644
index 00000000..2c04be10
--- /dev/null
+++ b/examples/dist/calendar/index.wxs
@@ -0,0 +1,37 @@
+/* eslint-disable */
+var utils = require('./utils.wxs');
+
+function getMonths(minDate, maxDate) {
+ var months = [];
+ var cursor = getDate(minDate);
+
+ cursor.setDate(1);
+
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (utils.compareMonth(cursor, getDate(maxDate)) !== 1);
+
+ return months;
+}
+
+function getButtonDisabled(type, currentDate) {
+ if (currentDate == null) {
+ return true;
+ }
+
+ if (type === 'range') {
+ return !currentDate[0] || !currentDate[1];
+ }
+
+ if (type === 'multiple') {
+ return !currentDate.length;
+ }
+
+ return !currentDate;
+}
+
+module.exports = {
+ getMonths: getMonths,
+ getButtonDisabled: getButtonDisabled
+};
diff --git a/examples/dist/calendar/index.wxss b/examples/dist/calendar/index.wxss
new file mode 100644
index 00000000..3d5119d1
--- /dev/null
+++ b/examples/dist/calendar/index.wxss
@@ -0,0 +1 @@
+.calendar-container{display:flex;height:1000rpx;flex-direction:column;background-color:#fff}.calendar-container .calendar-body-wrap{flex:1;overflow:auto;padding:0 20rpx;width:auto}
\ No newline at end of file
diff --git a/examples/dist/calendar/util.js b/examples/dist/calendar/util.js
new file mode 100644
index 00000000..d2904ae0
--- /dev/null
+++ b/examples/dist/calendar/util.js
@@ -0,0 +1,113 @@
+export function getMonthEndDay(year, month) {
+ return new Date(year, month, 0).getDate();
+}
+
+export function isTimeTemp(data) {
+ var reg = /^\d+(\.\d+)?$/;
+ return reg.test(data);
+}
+
+export function getDate(str) {
+ if (isTimeTemp(str)) {
+ str = parseInt(str);
+ }
+ str = new Date(str);
+ return str;
+}
+
+export function getDayByOffset(date, number) {
+ date = new Date(date);
+ date.setDate(date.getDate() + number);
+ return date;
+}
+
+export function compareMonth(date1, date2) {
+ if (!(date1 instanceof Date)) {
+ date1 = getDate(date1);
+ }
+
+ if (!(date2 instanceof Date)) {
+ date2 = getDate(date2);
+ }
+
+ const year1 = date1.getFullYear();
+ const year2 = date2.getFullYear();
+ const month1 = date1.getMonth();
+ const month2 = date2.getMonth();
+
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+
+ return year1 > year2 ? 1 : -1;
+}
+
+export function compareDay(date1, date2) {
+ if (!(date1 instanceof Date)) {
+ date1 = getDate(date1);
+ }
+
+ if (!(date2 instanceof Date)) {
+ date2 = getDate(date2);
+ }
+
+ const compareMonthResult = compareMonth(date1, date2);
+
+ if (compareMonthResult === 0) {
+ const _date1 = date1.getDate();
+ const _date2 = date2.getDate();
+
+ return _date1 === _date2 ? 0 : _date1 > _date2 ? 1 : -1;
+ }
+
+ return compareMonthResult;
+}
+
+export function calcDateNum(date) {
+ const day1 = new Date(date[0]).getTime();
+ const day2 = new Date(date[1]).getTime();
+ return (day2 - day1) / (1000 * 60 * 60 * 24) + 1;
+}
+
+export function copyDates(dates) {
+ if (Array.isArray(dates)) {
+ return dates.map(date => {
+ if (date === null) {
+ return date;
+ }
+ return new Date(date);
+ });
+ }
+ return new Date(dates);
+}
+
+export function getTime (dates) {
+ if (Array.isArray(dates)) {
+ return dates.map(date => {
+ if (date instanceof Date) {
+ return date.getTime();
+ }
+ return date;
+ });
+ }
+ return (dates instanceof Date ? dates.getTime() : dates);
+}
+
+export function formatMonthTitle(date) {
+ if (!(date instanceof Date)) {
+ date = new Date(date);
+ }
+ return `${date.getFullYear()}年${date.getMonth() + 1}月`;
+}
+
+export function getMonths(minDate, maxDate) {
+ const months = [];
+ const cursor = new Date(minDate);
+ cursor.setDate(1);
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (compareMonth(cursor, maxDate) !== 1);
+ return months;
+}
+
diff --git a/examples/dist/calendar/utils.wxs b/examples/dist/calendar/utils.wxs
new file mode 100644
index 00000000..c8df3ea7
--- /dev/null
+++ b/examples/dist/calendar/utils.wxs
@@ -0,0 +1,24 @@
+/* eslint-disable */
+function getMonthEndDay(year, month) {
+ return getDate(year, month - 1, 0).getDate();
+}
+function compareMonth(date1, date2) {
+ date1 = getDate(date1);
+ date2 = getDate(date2);
+
+ var year1 = date1.getFullYear();
+ var year2 = date2.getFullYear();
+ var month1 = date1.getMonth();
+ var month2 = date2.getMonth();
+
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+
+ return year1 > year2 ? 1 : -1;
+}
+
+module.exports = {
+ getMonthEndDay: getMonthEndDay,
+ compareMonth: compareMonth
+};
diff --git a/examples/dist/rate/index.js b/examples/dist/rate/index.js
index bf9a43c4..a99af63b 100644
--- a/examples/dist/rate/index.js
+++ b/examples/dist/rate/index.js
@@ -4,7 +4,7 @@ Component({
/**
* 组件的属性列表
*/
- externalClasses: ['l-class', 'l-class-icon','l-class-image', 'l-icon-class','l-image-class'],
+ externalClasses: ['l-class', 'l-class-icon', 'l-class-image', 'l-icon-class', 'l-image-class'],
options: {
multipleSlots: true // 在组件定义时的选项中启用多slot支持
},
@@ -13,7 +13,7 @@ Component({
type: Number,
value: 5
},
- score:{
+ score: {
type: Number,
value: 0
},
@@ -30,12 +30,16 @@ Component({
type: String,
value: '#FFE5E5'
},
- name:{
- type:String,
- value:'favor-fill'
+ name: {
+ type: String,
+ value: 'favor-fill'
},
- activeImage:String,
- inActiveImage:String
+ activeImage: String,
+ inActiveImage: String,
+ itemGap: {
+ type: Number,
+ value: 10
+ }
},
/**
@@ -49,21 +53,21 @@ Component({
* 组件的方法列表
*/
methods: {
- handleClick(e){
- if(this.data.disabled) return;
- const {index} = e.currentTarget.dataset;
+ handleClick(e) {
+ if (this.data.disabled) return;
+ const { index } = e.currentTarget.dataset;
this.setData({
- score:index + 1
+ score: index + 1
});
- this.triggerEvent('linchange',{score:index+1});
- eventBus.emit(`lin-form-change-${this.id}`,this.id);
+ this.triggerEvent('linchange', { score: index + 1 });
+ eventBus.emit(`lin-form-change-${this.id}`, this.id);
},
getValues() {
return this.data.score;
},
reset() {
this.setData({
- score:0
+ score: 0
});
}
}
diff --git a/examples/dist/rate/index.wxml b/examples/dist/rate/index.wxml
index a80300d9..abce9c20 100644
--- a/examples/dist/rate/index.wxml
+++ b/examples/dist/rate/index.wxml
@@ -1,5 +1,5 @@
-
+
diff --git a/examples/dist/rate/index.wxss b/examples/dist/rate/index.wxss
index de88ea24..e9d82042 100644
--- a/examples/dist/rate/index.wxss
+++ b/examples/dist/rate/index.wxss
@@ -1 +1 @@
-.l-rate,.l-rate-star{display:inline-flex}.l-rate-star{position:relative}.l-rate-star~.l-rate-star{margin-left:10rpx}.icon-checked{position:absolute;overflow:hidden}.image-item{width:80rpx;height:80rpx}
\ No newline at end of file
+.l-rate,.l-rate-star{display:inline-flex}.l-rate-star{position:relative}.icon-checked{position:absolute;overflow:hidden;display:flex}.image-item{width:80rpx;height:80rpx}
\ No newline at end of file
diff --git a/examples/dist/tabs/index.wxml b/examples/dist/tabs/index.wxml
index 99ae1651..7b3d7b70 100644
--- a/examples/dist/tabs/index.wxml
+++ b/examples/dist/tabs/index.wxml
@@ -28,9 +28,8 @@
wx:key="key"
data-key="{{item.key}}"
data-index="{{index}}"
- data-class="{{item.badgeCount}}"
mut-bind:tap="handleChange">
-
+
diff --git a/examples/pages/components/form/pages/calendar/index.js b/examples/pages/components/form/pages/calendar/index.js
new file mode 100644
index 00000000..9416ad77
--- /dev/null
+++ b/examples/pages/components/form/pages/calendar/index.js
@@ -0,0 +1,190 @@
+
+Page({
+
+ /**
+ * 页面的初始数据
+ */
+ data: {
+ defaultDate: 1589524969397,
+ show: false,
+ minSelect: '',
+ maxSelect: '',
+ type: 'single',
+ title: '',
+ color: '',
+ maxDate: '',
+ minDate: '',
+ confirmText: '',
+ formatter: '',
+ base_single: {
+ defaultDate: 1589524969397,
+ minSelect: '',
+ maxSelect: '',
+ type: 'single',
+ title: '选择单个日期'
+ },
+ base_range: {
+ defaultDate: [],
+ minSelect: '',
+ maxSelect: '',
+ type: 'range',
+ title: '选择日期范围'
+ },
+ base_multiple: {
+ defaultDate: [],
+ minSelect: '',
+ maxSelect: '',
+ type: 'multiple',
+ title: '选择多个日期'
+ },
+ custom_color: {
+ defaultDate: [],
+ minSelect: '',
+ maxSelect: '',
+ color: '#ff7487',
+ type: 'range',
+ title: '自定义颜色'
+ },
+ custom_range: {
+ defaultDate: [],
+ minSelect: '',
+ maxSelect: '',
+ type: 'range',
+ title: '自定义日期范围',
+ maxDate: new Date().setDate(new Date().getDate() + 30),
+ minDate: new Date().setDate(new Date().getDate() - 30)
+ },
+ custom_confirmtext: {
+ defaultDate: [],
+ minSelect: '',
+ maxSelect: '',
+ type: 'range',
+ title: '自定按钮文字',
+ confirmText: '确认选中'
+ },
+ custom_date: {
+ defaultDate: [],
+ minSelect: '',
+ maxSelect: '',
+ type: 'range',
+ title: '自定义日期文案',
+ formatter: (day) => {
+ const item = new Date(day.date);
+ const current = new Date();
+
+ const month = item.getMonth() + 1;
+ const date = item.getDate();
+
+ if(current.getMonth() === item.getMonth() && current.getDate() === item.getDate()){
+ day.text = '今天';
+ }
+
+ if (month === 1) {
+ if (date === 1) {
+ day.topInfo = '元旦节';
+ }
+ }
+
+ if (month === 2) {
+ if (date === 14) {
+ day.topInfo = '情人节';
+ }
+ }
+
+ if (month === 3) {
+ if (date === 8) {
+ day.topInfo = '妇女节';
+ }
+ }
+
+ if (month === 4) {
+ if (date === 1) {
+ day.topInfo = '愚人节';
+ }
+ }
+
+ if (month === 5) {
+ if (date === 1) {
+ day.topInfo = '劳动节';
+ } else if (date === 4) {
+ day.topInfo = '青年节';
+ }
+ }
+
+ if (month === 6) {
+ if (date === 1) {
+ day.topInfo = '儿童节';
+ }
+ }
+
+ if (month === 8) {
+ if (date === 1) {
+ day.topInfo = '建军节';
+ }
+ }
+
+ if (month === 10) {
+ if (date === 1) {
+ day.topInfo = '国庆节';
+ }
+ }
+
+ if (day.type === 'start') {
+ day.bottomInfo = '入住';
+ } else if (day.type === 'end') {
+ day.bottomInfo = '离店';
+ }
+
+ return day;
+
+
+ // if (month === 5) {
+ // if (date === 1) {
+ // day.topInfo = '劳动节';
+ // } else if (date === 4) {
+ // day.topInfo = '青年节';
+ // } else if (date === 11) {
+ // day.text = '今天';
+ // }
+ // }
+
+ // if (day.type === 'start') {
+ // day.bottomInfo = '入住';
+ // } else if (day.type === 'end') {
+ // day.bottomInfo = '离店';
+ // }
+
+ // return day;
+ }
+ },
+ custom_count: {
+ defaultDate: [],
+ minSelect: '4',
+ maxSelect: '10',
+ type: 'range',
+ title: '自定义可选数量',
+ },
+ },
+
+ changeType(e) {
+ const {defaultDate, minSelect, maxSelect, type, title, color = '', minDate = '', maxDate = '', confirmText='确定', formatter} = this.data[e.currentTarget.dataset.id];
+
+ this.setData({
+ show: true,
+ defaultDate,
+ minSelect,
+ maxSelect,
+ type,
+ title,
+ color,
+ maxDate,
+ minDate,
+ confirmText,
+ formatter
+ });
+ },
+
+ selectCalender(e){
+ console.info(e);
+ }
+});
diff --git a/examples/pages/components/form/pages/calendar/index.json b/examples/pages/components/form/pages/calendar/index.json
new file mode 100644
index 00000000..f8b594c1
--- /dev/null
+++ b/examples/pages/components/form/pages/calendar/index.json
@@ -0,0 +1,6 @@
+{
+ "usingComponents": {
+ "l-calendar": "/dist/calendar/index",
+ "l-list": "/dist/list/index"
+ }
+}
\ No newline at end of file
diff --git a/examples/pages/components/form/pages/calendar/index.wxml b/examples/pages/components/form/pages/calendar/index.wxml
new file mode 100644
index 00000000..eb257164
--- /dev/null
+++ b/examples/pages/components/form/pages/calendar/index.wxml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dist/collapse/index.wxss b/examples/pages/components/form/pages/calendar/index.wxss
similarity index 100%
rename from dist/collapse/index.wxss
rename to examples/pages/components/form/pages/calendar/index.wxss
diff --git a/examples/pages/components/form/pages/rate/index.wxml b/examples/pages/components/form/pages/rate/index.wxml
index 882b96c7..d003576a 100644
--- a/examples/pages/components/form/pages/rate/index.wxml
+++ b/examples/pages/components/form/pages/rate/index.wxml
@@ -1,12 +1,29 @@
+
+
+
+
+ 3
+
+
+
+
+
+ 7
+
-
-
-
+
-
+
+ 7
@@ -29,12 +46,14 @@
-
-
+
+
+
+
diff --git a/examples/pages/components/form/pages/rate/index.wxss b/examples/pages/components/form/pages/rate/index.wxss
index 0d35e4a3..fba710b6 100644
--- a/examples/pages/components/form/pages/rate/index.wxss
+++ b/examples/pages/components/form/pages/rate/index.wxss
@@ -11,4 +11,20 @@
.l-icon-shouye:before {
content: "\e73d";
+}
+
+.rete-container{
+ display: flex;
+ flex-direction: row;
+ align-items: baseline;
+ margin-top: 6rpx;
+}
+
+.star{
+ width: 22rpx!important;
+ height: 22rpx!important;
+}
+.score{
+ margin-left: 20rpx !important;
+ font-size: 24rpx !important;
}
\ No newline at end of file
diff --git a/examples/pages/components/layout/pages/album/index.js b/examples/pages/components/layout/pages/album/index.js
index 9285314b..df044b2d 100644
--- a/examples/pages/components/layout/pages/album/index.js
+++ b/examples/pages/components/layout/pages/album/index.js
@@ -5,7 +5,7 @@ Page({
* 页面的初始数据
*/
data: {
- urls1_1: ['https://656e-env-9eb476-1258886794.tcb.qcloud.la/images/album/photo-3.jpg?sign=d71bb290f896e14bb800d0fb807f6764&t=1590025427'],
+ // urls1_1: ['https://656e-env-9eb476-1258886794.tcb.qcloud.la/images/album/photo-3.jpg?sign=d71bb290f896e14bb800d0fb807f6764&t=1590025427'],
urls5: [
'https://656e-env-9eb476-1258886794.tcb.qcloud.la/images/album/photo-1.jpg?sign=ff17b6597c5659186d54469e6122d153&t=1590025404',
'https://656e-env-9eb476-1258886794.tcb.qcloud.la/images/album/photo-2.jpg?sign=7ccd10f793df154311f15a7b15d9ba57&t=1590025418',
@@ -31,14 +31,16 @@ Page({
* 生命周期函数--监听页面加载
*/
onLoad: function () {
-
+ this.setData({
+ urls1_1:['https://656e-env-9eb476-1258886794.tcb.qcloud.la/images/album/photo-3.jpg?sign=d71bb290f896e14bb800d0fb807f6764&t=1590025427']
+ });
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
-
+
},
/**
diff --git a/examples/pages/components/nav/pages/tabs/index.wxml b/examples/pages/components/nav/pages/tabs/index.wxml
index ffd2a4d2..c29da022 100644
--- a/examples/pages/components/nav/pages/tabs/index.wxml
+++ b/examples/pages/components/nav/pages/tabs/index.wxml
@@ -14,6 +14,20 @@
+
+
+
+ 客厅
+
+
+ 卧室
+
+
+ 厨房
+
+
+
+
diff --git a/examples/pages/navigator/content/config/form-navi.js b/examples/pages/navigator/content/config/form-navi.js
index 346f60ab..158647b6 100644
--- a/examples/pages/navigator/content/config/form-navi.js
+++ b/examples/pages/navigator/content/config/form-navi.js
@@ -41,6 +41,12 @@ const formNaviConfigs = [
desc: '评分',
componentsPath: '/pages/components/form/pages/rate/index'
},
+ {
+ icon: '/images/component/rate.png',
+ title: 'Calendar',
+ desc: '日历',
+ componentsPath: '/pages/components/form/pages/calendar/index'
+ },
{
icon: '/images/component/rules.png',
title: 'Rules',
diff --git a/package.json b/package.json
index 6e68fa24..ef70de57 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "lin-ui",
- "version": "0.8.13",
+ "version": "0.9.0",
"description": "A high quality UI components library with MiniProgram",
"main": "app.js",
"directories": {
diff --git a/src/album/index.js b/src/album/index.js
index 7b3a1c3a..6873106e 100644
--- a/src/album/index.js
+++ b/src/album/index.js
@@ -1,8 +1,5 @@
// miniprogram_npm/lin-ui/album/index.js
Component({
- /**
- * 组件的属性列表
- */
externalClasses: ['l-class', 'l-single-image-class', 'l-multi-image-class'],
properties: {
urls: {
@@ -63,42 +60,40 @@ Component({
}
},
- /**
- * 组件的初始数据
- */
data: {
// 传值方式是新方式还是旧方式
newType: true,
// 单图短边大小
shortSideValue: 0,
- // 图片排列几行
- row: 0,
- // 图片排列几列
- colum: 0,
// 用于显示的图片列表
showUrls: [],
// 传入的url长度是否大于maxNumber指定的数量
isLong: false,
},
- /**
- * 组件的生命周期
- */
- lifetimes: {
- attached() {
- // 在组件实例进入页面节点树时执行
+ observers: {
+ 'urls': function () {
+ this.init();
+ }
+ },
+
+ methods: {
+
+ /**
+ * 在 urls 数据变化后进行初始化
+ */
+ init() {
+ // 取出参数
+ let {urls, maxNumber, key} = this.data;
- //判断传入urls长度
- let urls = [];
- if (this.data.urls.length > this.data.maxNumber) {
- urls = this.data.urls.slice(0, this.data.maxNumber);
+ // 如果 urls 长度超出指定图片数量,则将其截断
+ if (urls.length > maxNumber) {
+ urls = urls.slice(0, maxNumber);
this.setData({
isLong: true,
});
- console.warn('图片数量超过maxNumber指定数量');
- } else {
- urls = this.data.urls;
}
+
this.setData({
showUrls: urls
});
@@ -109,26 +104,22 @@ Component({
this.setData({
everyRowNumber: 2
});
- } else(this.setData({
+ } else (this.setData({
everyRowNumber: 3
}));
}
- this.preview();
+ // 判断传入模式
+ const newType = this.judgeType();
+ this.setData({
+ newType
+ });
+ if (urls.length === 1) {
+ this.horizontalOrVertical(newType ? urls[0][key] : urls[0]);
+ }
},
- },
- observers: {
- 'urls': function () {
- this.preview();
- }
- },
-
- /**
- * 组件的方法列表
- */
- methods: {
// 判断传入的urls是字符串列表(old模式)还是对象列表(new模式)
judgeType() {
const urls = this.data.urls;
@@ -156,22 +147,6 @@ Component({
});
},
- // 显示图片
- preview: function () {
- // 判断传入模式
- const newType = this.judgeType();
- this.setData({
- newType
- });
- //显示图片
- const urls = this.data.urls;
- const key = this.data.key;
-
- if (urls.length === 1) {
- this.horizontalOrVertical(newType ? urls[0][key] : urls[0]);
- }
- },
-
onPreviewTap(e) {
const index = e.currentTarget.id;
let urls;
@@ -210,6 +185,5 @@ Component({
}
this.triggerEvent('lintap', detail, option);
}
-
}
});
diff --git a/src/calendar/calendar.wxml b/src/calendar/calendar.wxml
new file mode 100644
index 00000000..d5f49620
--- /dev/null
+++ b/src/calendar/calendar.wxml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+ {{confirmText}}
+
+
+
diff --git a/src/calendar/components/day/index.js b/src/calendar/components/day/index.js
new file mode 100644
index 00000000..885993dd
--- /dev/null
+++ b/src/calendar/components/day/index.js
@@ -0,0 +1,16 @@
+Component({
+ data: {},
+ properties: {
+ text: null,
+ topInfo: null,
+ bottomInfo: null,
+ type: null,
+ color: {
+ type: String,
+ value: ''
+ }
+ },
+ methods: {
+
+ }
+});
\ No newline at end of file
diff --git a/src/calendar/components/day/index.json b/src/calendar/components/day/index.json
new file mode 100644
index 00000000..32640e0d
--- /dev/null
+++ b/src/calendar/components/day/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
\ No newline at end of file
diff --git a/src/calendar/components/day/index.less b/src/calendar/components/day/index.less
new file mode 100644
index 00000000..5f812920
--- /dev/null
+++ b/src/calendar/components/day/index.less
@@ -0,0 +1,58 @@
+@import "../../../../config/styles/_base.less";
+.calendar-day-container{
+ display: flex;
+ flex-direction: column;
+ height: 100%;
+ align-items: center;
+ position: relative;
+ color: #666;
+ &.selected{
+ background-color: @default-color;
+ color: #ffffff;
+ border-radius: 8rpx;
+ }
+ &.start{
+ background-color: @default-color;
+ color: #ffffff;
+ border-radius: 8rpx;
+ }
+ &.end{
+ background-color: @default-color;
+ color: #ffffff;
+ border-radius: 8rpx;
+ }
+ &.disabled{
+ color: #c8c9cc;
+ cursor: default;
+ background: #ffffff;
+ }
+ &.middle{
+ color: @default-color;
+ &::after{
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ background-color: currentColor;
+ opacity: 0.1;
+ content: '';
+ }
+ }
+ // background-color: red;
+ // color: #eff9f0;
+ .top{
+ height: 24rpx;
+ line-height: 24rpx;
+ font-size: 16rpx;
+ }
+ .text{
+ flex: 1;
+ font-size: 32rpx;
+ }
+ .bottom{
+ height: 24rpx;
+ line-height: 24rpx;
+ font-size: 16rpx;
+ }
+}
diff --git a/src/calendar/components/day/index.wxml b/src/calendar/components/day/index.wxml
new file mode 100644
index 00000000..b352152c
--- /dev/null
+++ b/src/calendar/components/day/index.wxml
@@ -0,0 +1,8 @@
+
+
+ {{ topInfo }}
+ {{ text }}
+ {{ bottomInfo }}
+
\ No newline at end of file
diff --git a/src/calendar/components/day/index.wxs b/src/calendar/components/day/index.wxs
new file mode 100644
index 00000000..b81bd182
--- /dev/null
+++ b/src/calendar/components/day/index.wxs
@@ -0,0 +1,27 @@
+function getDayStyle(type, color) {
+ var style = [];
+
+ if (color) {
+ if (
+ type === 'start' ||
+ type === 'end' ||
+ type === 'selected'
+ ) {
+ style.push(['background', color]);
+ } else if (type === 'middle') {
+ style.push(['color', color]);
+ // style.push(['background', color]);
+ // style.push(['opacity', '0.1']);
+ }
+ }
+
+ return style
+ .map(function(item) {
+ return item.join(':');
+ })
+ .join(';');
+}
+
+module.exports = {
+ getDayStyle: getDayStyle,
+};
\ No newline at end of file
diff --git a/src/calendar/components/header/index.js b/src/calendar/components/header/index.js
new file mode 100644
index 00000000..29aa51a8
--- /dev/null
+++ b/src/calendar/components/header/index.js
@@ -0,0 +1,15 @@
+Component({
+ data: {
+ weekdays: ['日', '一', '二', '三', '四', '五', '六']
+ },
+ properties: {
+ title: {
+ type: String,
+ value: '日期选择'
+ },
+ subTitle: String,
+ showTitle: Boolean,
+ showSubtitle: Boolean
+ },
+ methods: {}
+});
\ No newline at end of file
diff --git a/src/calendar/components/header/index.json b/src/calendar/components/header/index.json
new file mode 100644
index 00000000..32640e0d
--- /dev/null
+++ b/src/calendar/components/header/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
\ No newline at end of file
diff --git a/src/calendar/components/header/index.less b/src/calendar/components/header/index.less
new file mode 100644
index 00000000..3c67ae48
--- /dev/null
+++ b/src/calendar/components/header/index.less
@@ -0,0 +1,26 @@
+.calendar-header-container{
+ .calendar-header-container_title{
+ text-align: center;
+ padding: 20rpx 0;
+ font-size: 36rpx;
+ line-height: 44rpx;
+ }
+ .calendar-header-container_subtitle{
+ text-align: center;
+ font-size: 36rpx;
+ line-height: 44rpx;
+ margin-bottom: 30rpx;
+ }
+ .calendar-header__weekdays{
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ margin: 0 20rpx;
+ padding: 10rpx 0;
+ border-bottom: 1rpx solid #F3F3F3;
+ .calendar-header__weekday{
+ width: 14.285%;
+ text-align: center;
+ }
+ }
+}
diff --git a/src/calendar/components/header/index.wxml b/src/calendar/components/header/index.wxml
new file mode 100644
index 00000000..3dfeb5e4
--- /dev/null
+++ b/src/calendar/components/header/index.wxml
@@ -0,0 +1,20 @@
+
\ No newline at end of file
diff --git a/src/calendar/components/mounth/index.js b/src/calendar/components/mounth/index.js
new file mode 100644
index 00000000..5633ac2d
--- /dev/null
+++ b/src/calendar/components/mounth/index.js
@@ -0,0 +1,194 @@
+import { compareDay, getMonthEndDay } from '../../util';
+import * as config from '../../config';
+Component({
+ data: {
+ days: []
+ },
+ properties: {
+ minDate: {
+ type: [Date,String,null],
+ // observer: 'setDays'
+ },
+ maxDate: {
+ type: [Date,String,null],
+ // observer: 'setDays'
+ },
+ formatter: {
+ type: null,
+ observer: 'setDays'
+ },
+ date: {
+ type: null,
+ observer: 'setDays'
+ },
+ currentDate: {
+ type: [null, Array],
+ observer() {
+ this.setDays();
+ }
+ },
+ type: {
+ type: String,
+ observer: 'setDays'
+ },
+ showMonthTitle: Boolean,
+ color: {
+ type: String,
+ value: ''
+ }
+ },
+ methods: {
+
+ /**
+ * 某一天的点击事件
+ */
+ onClick(event) {
+ const { item } = event.currentTarget.dataset;
+ if (item.type !== 'disabled' && item.type !== 'empty') {
+ this.triggerEvent('clickDay', item);
+ }
+ },
+ debounce(fn) {
+ let timer;
+ return () => {
+ let that = this;
+ let args = arguments;
+ if(timer) clearTimeout(timer);
+ timer = setTimeout(function() {
+ fn.apply(that, args);
+ }, 300);
+ };
+ },
+ setDays() {
+ this.debounce(this.setDay)();
+ },
+ /**
+ * 设置某月分的天数
+ */
+ setDay() {
+ let days = [];
+ const startDate = new Date(this.data.date);
+ const year = startDate.getFullYear();
+ const month = startDate.getMonth();
+ const day = new Date(year, month, 1).getDay();
+
+ const totalDay = getMonthEndDay(year, month + 1);
+
+ for (let day = 1; day <= totalDay; day++) {
+ const date = new Date(year, month, day).getTime();
+ const type = this.getDayType(date);
+
+
+ let config = {
+ date,
+ type,
+ text: day,
+ bottomInfo: this.getBottomInfo(type),
+ topInfo: ''
+ };
+
+ if (this.data.formatter) {
+ config = this.data.formatter(config);
+ }
+ days.push(config);
+ }
+
+ for(let i = 0; i < day; i++) {
+ days.unshift({
+ type: 'empty'
+ });
+ }
+
+ this.setData({
+ days
+ });
+ },
+
+ isDateInCurrent(date) {
+ const { currentDate } = this.data;
+ return currentDate.some(item => {
+ return compareDay(item, date) === 0;
+ });
+ },
+
+ getMultipleDayType(date) {
+ const { currentDate } = this.data;
+
+ if (!Array.isArray(currentDate)) {
+ return '';
+ }
+
+ if (this.isDateInCurrent(date)) {
+ return 'selected';
+ }
+
+ return '';
+ },
+
+ getRangeDayType(day) {
+ const { currentDate } = this.data;
+ if (!Array.isArray(currentDate)) {
+ return;
+ }
+
+ const [startDay, endDay] = currentDate;
+
+ if (!startDay) {
+ return;
+ }
+ const compareToStart = compareDay(day, startDay);
+
+ if (!endDay) {
+ return compareToStart === 0 ? 'start' : '';
+ }
+
+ const compareToEnd = compareDay(day, endDay);
+
+ if (compareToStart === 0) {
+ return 'start';
+ }
+
+ if (compareToEnd === 0) {
+ return 'end';
+ }
+
+ if (compareToStart > 0 && compareToEnd < 0) {
+ return 'middle';
+ }
+ },
+
+ // date 循环的某一天
+ getDayType(date) {
+ const { type, minDate, maxDate, currentDate } = this.data;
+
+ if (compareDay(date, minDate) < 0 || compareDay(date, maxDate) > 0) {
+ return 'disabled';
+ }
+
+ if (type === config.TYPE_SINGLE) {
+ return compareDay(date, currentDate) === 0 ? 'selected' : '';
+ }
+
+ if (type === config.TYPE_MULTIPLE) {
+ return this.getMultipleDayType(date);
+ }
+
+ if (type === config.TYPE_RANGE) {
+ return this.getRangeDayType(date);
+ }
+ },
+
+ getBottomInfo(type) {
+ if (this.data.type === config.TYPE_RANGE) {
+ if (type === 'start') {
+ return '开始';
+ }
+ if (type === 'end') {
+ return '结束';
+ }
+ return '';
+ }
+ return '';
+ }
+ }
+});
\ No newline at end of file
diff --git a/src/calendar/components/mounth/index.json b/src/calendar/components/mounth/index.json
new file mode 100644
index 00000000..d03ef78a
--- /dev/null
+++ b/src/calendar/components/mounth/index.json
@@ -0,0 +1,6 @@
+{
+ "component": true,
+ "usingComponents": {
+ "day":"../day/index"
+ }
+}
diff --git a/src/calendar/components/mounth/index.less b/src/calendar/components/mounth/index.less
new file mode 100644
index 00000000..373dbd81
--- /dev/null
+++ b/src/calendar/components/mounth/index.less
@@ -0,0 +1,18 @@
+.calendar-mounth-container{
+ color:#333;
+ display: flex;
+ flex-direction: column;
+ .title{
+ text-align: center;
+ font-weight: 800;
+ }
+ .calendar-day-container{
+ display: flex;
+ flex-wrap: wrap;
+ .calendar-day-wrap{
+ width: 14.285%;
+ // height: 110rpx;
+ // padding: 10rpx 0;
+ }
+ }
+}
diff --git a/src/calendar/components/mounth/index.wxml b/src/calendar/components/mounth/index.wxml
new file mode 100644
index 00000000..50f6332b
--- /dev/null
+++ b/src/calendar/components/mounth/index.wxml
@@ -0,0 +1,24 @@
+
+
+
+
+ {{ computed.formatMonthTitle(date) }}
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/calendar/components/mounth/index.wxs b/src/calendar/components/mounth/index.wxs
new file mode 100644
index 00000000..3e860b4e
--- /dev/null
+++ b/src/calendar/components/mounth/index.wxs
@@ -0,0 +1,12 @@
+/* eslint-disable */
+
+function formatMonthTitle(date) {
+ date = getDate(date);
+ return date.getFullYear() + '年' + (date.getMonth() + 1) + '月';
+}
+
+
+
+module.exports = {
+ formatMonthTitle: formatMonthTitle
+};
diff --git a/src/calendar/config.js b/src/calendar/config.js
new file mode 100644
index 00000000..a6dfbfda
--- /dev/null
+++ b/src/calendar/config.js
@@ -0,0 +1,3 @@
+export const TYPE_SINGLE = 'single';
+export const TYPE_RANGE = 'range';
+export const TYPE_MULTIPLE = 'multiple';
\ No newline at end of file
diff --git a/src/calendar/dete.js b/src/calendar/dete.js
new file mode 100644
index 00000000..ad2ffea4
--- /dev/null
+++ b/src/calendar/dete.js
@@ -0,0 +1,29 @@
+const formatFlags = {
+ format: function(format, date) {
+ date = new Date(date);
+ let ret;
+ const opt = {
+ 'y+': date.getFullYear().toString(), // 年
+ 'M+': (date.getMonth() + 1).toString(), // 月
+ 'd+': date.getDate().toString(), // 日
+ };
+ for (let k in opt) {
+ ret = new RegExp('(' + k + ')').exec(format);
+ if (ret) {
+ format = format.replace(ret[1], (ret[1].length === 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, '0')));
+ }
+ }
+ return format;
+ }
+};
+
+formatFlags.format('yyyy/MM/dd', new Date());
+formatFlags.format('yyyy-MM-dd', new Date());
+formatFlags.format('yyyy-M-dd', new Date());
+formatFlags.format('yyyy-M-d', new Date());
+// formatFlags.format('yy-M-dd', new Date())
+formatFlags.format('M-dd', new Date());
+formatFlags.format('MM-dd', new Date());
+
+
+export default formatFlags;
\ No newline at end of file
diff --git a/src/calendar/index.js b/src/calendar/index.js
new file mode 100644
index 00000000..ef1df782
--- /dev/null
+++ b/src/calendar/index.js
@@ -0,0 +1,342 @@
+import eventBus from '../core/utils/event-bus.js';
+import validator from '../behaviors/validator';
+import rules from '../behaviors/rules';
+import * as config from './config';
+import formatFlags from './dete';
+
+import { getDayByOffset, getDate, compareDay, calcDateNum, copyDates, getTime, formatMonthTitle, compareMonth, getMonths } from './util';
+
+Component({
+ externalClasses: [
+ 'l-class'
+ ],
+ behaviors: ['wx://form-field', validator, rules],
+ properties: {
+ show: {
+ type: Boolean,
+ value: false,
+ observer(val) {
+ if (val) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ }
+ },
+ type: {
+ type: String,
+ value: config.TYPE_SINGLE,
+ options: [config.TYPE_SINGLE, config.TYPE_MULTIPLE, config.TYPE_RANGE],
+ observer() {
+ this.setData({ currentDate: this.initCurrentDate() });
+ }
+ },
+ color: {
+ type: String,
+ value: ''
+ },
+ defaultDate: {
+ type: [String, Number, Date, Array],
+ value: '',
+ observer() {
+ this.setData({ currentDate: this.initCurrentDate() });
+ }
+ },
+ format: {
+ type: String,
+ value: 'timestamp'
+ // value: 'yyyy-MM-dd',
+ },
+ formatter: {
+ type: [Function, null],
+ value: null
+ },
+ minDate: {
+ type: [String, Number, null],
+ value: Date.now()
+ },
+ maxDate: {
+ type: [String, Number, null],
+ value: new Date(
+ new Date().getFullYear(),
+ new Date().getMonth() + 6,
+ new Date().getDate()
+ ).getTime()
+ },
+ minSelect: {
+ type: [Number, null],
+ value: null
+ },
+ maxSelect: {
+ type: [Number, null],
+ value: null
+ },
+ allowSameDay: Boolean,
+ showConfirm: {
+ type: Boolean,
+ value: true
+ },
+ confirmText: {
+ type: String,
+ value: '确认'
+ },
+ maxLimitMessage: {
+ type: String
+ },
+ minLimitMessage: {
+ type: String
+ },
+ showTitle: {
+ type: Boolean,
+ value: true
+ },
+ showSubtitle: {
+ type: Boolean,
+ value: true
+ },
+ title: {
+ type: String,
+ value: '日期选择'
+ }
+
+ },
+ lifetimes: {
+ attached() {
+ this.setData({
+ currentDate: this.initCurrentDate()
+ });
+ },
+ ready() {
+ if (this.data.show) {
+ this.initRect();
+ this.scrollIntoView();
+ }
+ }
+ },
+ data: {
+ currentDate: null,
+ types: config,
+ subTitle: '',
+ scrollIntoViewIndex: ''
+ },
+ methods: {
+ clickDay(event) {
+ const { type, currentDate, maxLimitMessage, maxSelect, allowSameDay } = this.data;
+ const { date } = event.detail;
+ if(type === config.TYPE_SINGLE) {
+ this.setData({
+ currentDate: getTime(date)
+ });
+ this.triggerEvent('linclickday', copyDates(date));
+ this.triggerEvent('linselect', copyDates(date));
+ }
+ if(type === config.TYPE_MULTIPLE) {
+ let _index = null;
+ const isSelected = currentDate.some((item, index) => {
+ const res = compareDay(item, date) === 0;
+ if(res) {
+ _index = index;
+ }
+ return res;
+ });
+
+ if(isSelected) {
+ // 取消选择
+ currentDate.splice(_index, 1);
+ this.setData({
+ currentDate: getTime(currentDate)
+ });
+ this.triggerEvent('linunselect', copyDates(currentDate));
+ } else {
+ if(maxSelect && currentDate.length >= maxSelect) {
+ wx.lin.showToast({
+ title: maxLimitMessage || `选择天数不能超过 ${ maxSelect } 天`
+ });
+ this.triggerEvent('linclickday', copyDates(date));
+ return;
+ }
+ // 添加
+ this.setData({
+ currentDate: getTime([...currentDate, date])
+ });
+ this.triggerEvent('linselect', copyDates([...currentDate, date]));
+ }
+ this.triggerEvent('linclickday', copyDates(date));
+ }
+
+ if(type === config.TYPE_RANGE) {
+ const [startDay, endDay] = currentDate;
+ if (startDay && !endDay) {
+ const compareToStart = compareDay(date, startDay);
+ if (compareToStart === 1) {
+ if(this.checkSelectRange([startDay, date])) {
+ this.setData({
+ currentDate: getTime([startDay, date])
+ });
+ this.triggerEvent('linselect', copyDates([startDay, date]));
+ }
+ }
+ else if (compareToStart === -1) {
+ // 选择结束日期在开始日期之前 重新开始选择
+ this.setData({
+ currentDate: getTime([date, null])
+ });
+ } else if(allowSameDay){
+ this.setData({
+ currentDate: getTime([date, date])
+ });
+ }
+ }
+ else {
+ // 重新开始选择
+ this.setData({
+ currentDate: getTime([date, null])
+ });
+ }
+ }
+ },
+
+ checkSelectRange(date) {
+ const { maxSelect, maxLimitMessage, minSelect, minLimitMessage } = this.data;
+ if (maxSelect && calcDateNum(date) > maxSelect) {
+
+ wx.lin.showToast({
+ title: maxLimitMessage || `选择天数不能超过 ${ maxSelect } 天`
+ });
+ return false;
+ }
+
+ if (minSelect && calcDateNum(date) < minSelect) {
+ wx.lin.showToast({
+ title: minLimitMessage || `选择天数不能少于 ${ minSelect } 天`
+ });
+ return false;
+ }
+
+ return true;
+ },
+
+ initCurrentDate() {
+
+ const { type, minDate, defaultDate, maxDate } = this.data;
+ const defaultDateIsArr = Array.isArray(defaultDate);
+
+ if (type === config.TYPE_SINGLE) {
+ if(!defaultDate) {
+ return minDate;
+ }
+ if(defaultDateIsArr) {
+ return minDate;
+ }
+ if(compareDay(defaultDate, minDate) === -1) {
+ return minDate;
+ }
+ if(compareDay(defaultDate, maxDate) === 1) {
+ return maxDate;
+ }
+ return defaultDate;
+ }
+
+ if(type === config.TYPE_MULTIPLE) {
+ if(!defaultDate) {
+ return [];
+ }
+ if(defaultDateIsArr) {
+ return defaultDate.filter(item => {
+ return compareDay(item, minDate) === 1 && compareDay(item, maxDate) === -1;
+ });
+ }
+ if(compareDay(defaultDate, minDate) === -1) {
+ return [minDate];
+ }
+ if(compareDay(defaultDate, maxDate) === 1) {
+ return [maxDate];
+ }
+ return [minDate];
+ }
+
+ if(type === config.TYPE_RANGE) {
+ if(defaultDateIsArr) {
+ let [startDay = minDate, endDay] = defaultDate;
+ if(compareDay(startDay, minDate) === -1 || compareDay(startDay, maxDate) !== -1) {
+ startDay = minDate;
+ }
+ if(!endDay) {
+ endDay = getDayByOffset(getDate(startDay), 1).getTime();
+ }
+ if(compareDay(endDay, maxDate) === 1 || compareDay(endDay, minDate) === -1) {
+ endDay = getDayByOffset(getDate(startDay), 1).getTime();
+ }
+ return [
+ startDay,
+ endDay
+ ];
+ }
+ return [
+ minDate,
+ getDayByOffset(getDate(minDate), 1).getTime()
+ ];
+ }
+ },
+ initRect() {
+ if (!this.contentObserver !== null && this.contentObserver !== undefined) {
+ this.contentObserver.disconnect();
+ }
+ const contentObserver = this.createIntersectionObserver({
+ thresholds: [0, 0.1, 0.9, 1],
+ observeAll: true
+ });
+ this.contentObserver = contentObserver;
+ contentObserver.relativeTo('.calendar-body-wrap');
+ contentObserver.observe('.month', res => {
+ if (res.boundingClientRect.top <= res.relativeRect.top) {
+ // @ts-ignore
+ this.setData({ subTitle: formatMonthTitle(res.dataset.date) });
+ }
+ });
+ },
+ scrollIntoView() {
+ setTimeout(() => {
+ const { currentDate, type, show, minDate, maxDate } = this.data;
+ const targetDate = type === 'single' ? currentDate : currentDate[0];
+ const displayed = show;
+ if (!targetDate || !displayed) {
+ return;
+ }
+ const months = getMonths(minDate, maxDate);
+ months.some((month, index) => {
+ if (compareMonth(month, targetDate) === 0) {
+ this.setData({ scrollIntoViewIndex: `month${index}` });
+ return true;
+ }
+ return false;
+ });
+ }, 100);
+ },
+ closePicker() {
+ this.setData({
+ show: false
+ });
+ },
+ onClickConfirm() {
+ const {format, type, currentDate} = this.data;
+ eventBus.emit(`lin-form-blur-${this.id}`, this.id);
+ let value = null;
+ if(type === 'single') {
+ value = format !== 'timestamp' ? formatFlags.format('yyyy-MM-dd', currentDate) : currentDate;
+ } else {
+ value = currentDate.map(item => {
+ return format !== 'timestamp' ? formatFlags.format('yyyy-MM-dd', item) : item;
+ });
+ }
+ this.triggerEvent('linconfirm', value);
+ },
+ getValues() {
+ return this.data.currentDate;
+ },
+ reset() {
+ this.setData({
+ currentDate: null
+ });
+ }
+ }
+});
diff --git a/src/calendar/index.json b/src/calendar/index.json
new file mode 100644
index 00000000..2dc44d1d
--- /dev/null
+++ b/src/calendar/index.json
@@ -0,0 +1,10 @@
+{
+ "component": true,
+ "usingComponents": {
+ "header":"./components/header/index",
+ "mounth":"./components/mounth/index",
+ "l-toast": "/dist/toast/index",
+ "l-popup": "/dist/popup/index",
+ "l-button": "/dist/button/index"
+ }
+}
diff --git a/src/calendar/index.less b/src/calendar/index.less
new file mode 100644
index 00000000..b1413af2
--- /dev/null
+++ b/src/calendar/index.less
@@ -0,0 +1,25 @@
+.calendar-container{
+ display: flex;
+ height: 1000rpx;
+ flex-direction: column;
+ background-color: #ffffff;
+ .calendar-body-wrap{
+ flex: 1;
+ overflow: auto;
+ padding: 0 20rpx;
+ width: auto;
+ }
+}
+
+// .bottom {
+// width: 100%;
+// background: #fff;
+// height: 300rpx;
+// overflow: hidden;
+// text-align: center;
+// line-height: 300rpx;
+// font-size: 28rpx;
+// color: #555;
+// border-top-left-radius: 12rpx;
+// border-top-right-radius: 12rpx;
+// }
\ No newline at end of file
diff --git a/src/calendar/index.wxml b/src/calendar/index.wxml
new file mode 100644
index 00000000..9fc43c45
--- /dev/null
+++ b/src/calendar/index.wxml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
diff --git a/src/calendar/index.wxs b/src/calendar/index.wxs
new file mode 100644
index 00000000..2c04be10
--- /dev/null
+++ b/src/calendar/index.wxs
@@ -0,0 +1,37 @@
+/* eslint-disable */
+var utils = require('./utils.wxs');
+
+function getMonths(minDate, maxDate) {
+ var months = [];
+ var cursor = getDate(minDate);
+
+ cursor.setDate(1);
+
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (utils.compareMonth(cursor, getDate(maxDate)) !== 1);
+
+ return months;
+}
+
+function getButtonDisabled(type, currentDate) {
+ if (currentDate == null) {
+ return true;
+ }
+
+ if (type === 'range') {
+ return !currentDate[0] || !currentDate[1];
+ }
+
+ if (type === 'multiple') {
+ return !currentDate.length;
+ }
+
+ return !currentDate;
+}
+
+module.exports = {
+ getMonths: getMonths,
+ getButtonDisabled: getButtonDisabled
+};
diff --git a/src/calendar/util.js b/src/calendar/util.js
new file mode 100644
index 00000000..d2904ae0
--- /dev/null
+++ b/src/calendar/util.js
@@ -0,0 +1,113 @@
+export function getMonthEndDay(year, month) {
+ return new Date(year, month, 0).getDate();
+}
+
+export function isTimeTemp(data) {
+ var reg = /^\d+(\.\d+)?$/;
+ return reg.test(data);
+}
+
+export function getDate(str) {
+ if (isTimeTemp(str)) {
+ str = parseInt(str);
+ }
+ str = new Date(str);
+ return str;
+}
+
+export function getDayByOffset(date, number) {
+ date = new Date(date);
+ date.setDate(date.getDate() + number);
+ return date;
+}
+
+export function compareMonth(date1, date2) {
+ if (!(date1 instanceof Date)) {
+ date1 = getDate(date1);
+ }
+
+ if (!(date2 instanceof Date)) {
+ date2 = getDate(date2);
+ }
+
+ const year1 = date1.getFullYear();
+ const year2 = date2.getFullYear();
+ const month1 = date1.getMonth();
+ const month2 = date2.getMonth();
+
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+
+ return year1 > year2 ? 1 : -1;
+}
+
+export function compareDay(date1, date2) {
+ if (!(date1 instanceof Date)) {
+ date1 = getDate(date1);
+ }
+
+ if (!(date2 instanceof Date)) {
+ date2 = getDate(date2);
+ }
+
+ const compareMonthResult = compareMonth(date1, date2);
+
+ if (compareMonthResult === 0) {
+ const _date1 = date1.getDate();
+ const _date2 = date2.getDate();
+
+ return _date1 === _date2 ? 0 : _date1 > _date2 ? 1 : -1;
+ }
+
+ return compareMonthResult;
+}
+
+export function calcDateNum(date) {
+ const day1 = new Date(date[0]).getTime();
+ const day2 = new Date(date[1]).getTime();
+ return (day2 - day1) / (1000 * 60 * 60 * 24) + 1;
+}
+
+export function copyDates(dates) {
+ if (Array.isArray(dates)) {
+ return dates.map(date => {
+ if (date === null) {
+ return date;
+ }
+ return new Date(date);
+ });
+ }
+ return new Date(dates);
+}
+
+export function getTime (dates) {
+ if (Array.isArray(dates)) {
+ return dates.map(date => {
+ if (date instanceof Date) {
+ return date.getTime();
+ }
+ return date;
+ });
+ }
+ return (dates instanceof Date ? dates.getTime() : dates);
+}
+
+export function formatMonthTitle(date) {
+ if (!(date instanceof Date)) {
+ date = new Date(date);
+ }
+ return `${date.getFullYear()}年${date.getMonth() + 1}月`;
+}
+
+export function getMonths(minDate, maxDate) {
+ const months = [];
+ const cursor = new Date(minDate);
+ cursor.setDate(1);
+ do {
+ months.push(cursor.getTime());
+ cursor.setMonth(cursor.getMonth() + 1);
+ } while (compareMonth(cursor, maxDate) !== 1);
+ return months;
+}
+
diff --git a/src/calendar/utils.wxs b/src/calendar/utils.wxs
new file mode 100644
index 00000000..c8df3ea7
--- /dev/null
+++ b/src/calendar/utils.wxs
@@ -0,0 +1,24 @@
+/* eslint-disable */
+function getMonthEndDay(year, month) {
+ return getDate(year, month - 1, 0).getDate();
+}
+function compareMonth(date1, date2) {
+ date1 = getDate(date1);
+ date2 = getDate(date2);
+
+ var year1 = date1.getFullYear();
+ var year2 = date2.getFullYear();
+ var month1 = date1.getMonth();
+ var month2 = date2.getMonth();
+
+ if (year1 === year2) {
+ return month1 === month2 ? 0 : month1 > month2 ? 1 : -1;
+ }
+
+ return year1 > year2 ? 1 : -1;
+}
+
+module.exports = {
+ getMonthEndDay: getMonthEndDay,
+ compareMonth: compareMonth
+};
diff --git a/src/rate/index.js b/src/rate/index.js
index bf9a43c4..a99af63b 100644
--- a/src/rate/index.js
+++ b/src/rate/index.js
@@ -4,7 +4,7 @@ Component({
/**
* 组件的属性列表
*/
- externalClasses: ['l-class', 'l-class-icon','l-class-image', 'l-icon-class','l-image-class'],
+ externalClasses: ['l-class', 'l-class-icon', 'l-class-image', 'l-icon-class', 'l-image-class'],
options: {
multipleSlots: true // 在组件定义时的选项中启用多slot支持
},
@@ -13,7 +13,7 @@ Component({
type: Number,
value: 5
},
- score:{
+ score: {
type: Number,
value: 0
},
@@ -30,12 +30,16 @@ Component({
type: String,
value: '#FFE5E5'
},
- name:{
- type:String,
- value:'favor-fill'
+ name: {
+ type: String,
+ value: 'favor-fill'
},
- activeImage:String,
- inActiveImage:String
+ activeImage: String,
+ inActiveImage: String,
+ itemGap: {
+ type: Number,
+ value: 10
+ }
},
/**
@@ -49,21 +53,21 @@ Component({
* 组件的方法列表
*/
methods: {
- handleClick(e){
- if(this.data.disabled) return;
- const {index} = e.currentTarget.dataset;
+ handleClick(e) {
+ if (this.data.disabled) return;
+ const { index } = e.currentTarget.dataset;
this.setData({
- score:index + 1
+ score: index + 1
});
- this.triggerEvent('linchange',{score:index+1});
- eventBus.emit(`lin-form-change-${this.id}`,this.id);
+ this.triggerEvent('linchange', { score: index + 1 });
+ eventBus.emit(`lin-form-change-${this.id}`, this.id);
},
getValues() {
return this.data.score;
},
reset() {
this.setData({
- score:0
+ score: 0
});
}
}
diff --git a/src/rate/index.less b/src/rate/index.less
index 303c12d0..6617ec62 100644
--- a/src/rate/index.less
+++ b/src/rate/index.less
@@ -5,16 +5,13 @@
position: relative;
}
-.l-rate-star ~ .l-rate-star {
- margin-left: 10rpx;
-}
-
.icon-checked {
position: absolute;
overflow: hidden;
+ display: flex;
}
.image-item {
width: 80rpx;
height: 80rpx;
-}
\ No newline at end of file
+}
diff --git a/src/rate/index.wxml b/src/rate/index.wxml
index a80300d9..abce9c20 100644
--- a/src/rate/index.wxml
+++ b/src/rate/index.wxml
@@ -1,5 +1,5 @@
-
+
diff --git a/src/tabs/index.wxml b/src/tabs/index.wxml
index 99ae1651..7b3d7b70 100644
--- a/src/tabs/index.wxml
+++ b/src/tabs/index.wxml
@@ -28,9 +28,8 @@
wx:key="key"
data-key="{{item.key}}"
data-index="{{index}}"
- data-class="{{item.badgeCount}}"
mut-bind:tap="handleChange">
-
+