first commit

This commit is contained in:
编码猿
2024-09-27 02:06:13 +08:00
commit 852d94fbb9
36760 changed files with 3274413 additions and 0 deletions

View File

@@ -0,0 +1 @@
d4226a3d-48a9-4be7-bc75-e888870599ec

View File

@@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames")),_styleToCssString=_interopRequireDefault(require("../helpers/styleToCssString"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _defineProperty(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-search-bar"},defaultValue:{type:String,value:""},value:{type:String,value:"",observer:function(e){this.data.controlled&&this.updated(e)}},placeholder:{type:String,value:"搜索"},placeholderStyle:{type:[String,Object],value:"",observer:function(e){this.setData({extStyle:(0,_styleToCssString.default)(e)})}},placeholderClass:{type:String,value:"input-placeholder"},disabled:{type:Boolean,value:!1},maxlength:{type:Number,value:140},cursorSpacing:{type:Number,value:11},focus:{type:Boolean,value:!1,observer:function(e){this.setData({inputFocus:e})}},confirmType:{type:String,value:"search"},confirmHold:{type:Boolean,value:!1},cursor:{type:Number,value:-1},selectionStart:{type:Number,value:-1},selectionEnd:{type:Number,value:-1},adjustPosition:{type:Boolean,value:!0},clear:{type:Boolean,value:!1},cancelText:{type:String,value:"取消"},showCancel:{type:Boolean,value:!1},controlled:{type:Boolean,value:!1}},data:{inputValue:"",inputFocus:!1,extStyle:""},computed:{classes:["prefixCls, disabled, inputFocus",function(e,t,a){var n;return{wrap:(0,_classNames2.default)(e,(_defineProperty(n={},"".concat(e,"--focus"),a),_defineProperty(n,"".concat(e,"--disabled"),t),n)),form:"".concat(e,"__form"),box:"".concat(e,"__box"),search:"".concat(e,"__search"),input:"".concat(e,"__input"),clear:"".concat(e,"__clear"),label:"".concat(e,"__label"),icon:"".concat(e,"__icon"),text:"".concat(e,"__text"),cancel:"".concat(e,"__cancel")}}]},methods:{updated:function(e){this.data.inputValue!==e&&this.setData({inputValue:e})},onChange:function(e){this.data.controlled||this.updated(e.detail.value),this.data.inputFocus||this.setData({inputFocus:!0}),this.triggerEvent("change",e.detail)},onFocus:function(e){this.setData({inputFocus:!0}),this.triggerEvent("focus",e.detail)},onBlur:function(e){this.setData({inputFocus:!1}),this.triggerEvent("blur",e.detail)},onConfirm:function(e){this.triggerEvent("confirm",e.detail)},onClear:function(){var e=this.data,t=e.controlled,a=e.inputValue;this.setData({inputValue:t?a:"",inputFocus:!0}),this.triggerEvent("clear",{value:""})},onCancel:function(){this.triggerEvent("cancel",{value:this.data.inputValue})},onClick:function(){this.data.disabled||this.setData({inputFocus:!0})}},attached:function(){var e=this.data,t=e.defaultValue,a=e.value,n=e.controlled?a:t;this.updated(n)}});

View File

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

View File

@@ -0,0 +1,35 @@
<view class="wux-class {{ classes.wrap }}">
<view class="{{ classes.form }}">
<view class="{{ classes.box }}">
<icon class="{{ classes.search }}" type="search" color="#B2B2B2" size="14" />
<input
type="text"
class="{{ classes.input }}"
value="{{ inputValue }}"
placeholder="{{ placeholder }}"
placeholder-style="{{ extStyle }}"
placeholder-class="{{ placeholderClass }}"
disabled="{{ disabled }}"
maxlength="{{ maxlength }}"
cursor-spacing="{{ cursorSpacing }}"
focus="{{ inputFocus }}"
confirm-type="{{ confirmType }}"
confirm-hold="{{ confirmHold }}"
cursor="{{ cursor }}"
selection-start="{{ selectionStart }}"
selection-end="{{ selectionEnd }}"
adjust-position="{{ adjustPosition }}"
bindinput="onChange"
bindfocus="onFocus"
bindblur="onBlur"
bindconfirm="onConfirm"
/>
<icon class="{{ classes.clear }}" type="clear" color="#B2B2B2" size="14" wx:if="{{ clear && !disabled && inputValue && inputValue.length > 0 }}" bindtap="onClear" />
</view>
<label class="{{ classes.label }}" wx:if="{{ !inputFocus && !inputValue }}" bindtap="onClick">
<icon class="{{ classes.icon }}" type="search" color="#B2B2B2" size="14" />
<text class="{{ classes.text }}">{{ placeholder }}</text>
</label>
</view>
<view class="{{ classes.cancel }}" wx:if="{{ showCancel || inputFocus || (inputValue && inputValue.length > 0) }}" bindtap="onCancel">{{ cancelText }}</view>
</view>

View File

@@ -0,0 +1 @@
.wux-search-bar{position:relative;padding:16rpx 20rpx;display:-ms-flexbox;display:flex;box-sizing:border-box;background-color:#efeff4}.wux-search-bar::before{content:" ";position:absolute;left:0;top:0;right:0;height:1PX;border-top:1PX solid #d9d9d9;color:#d9d9d9;transform-origin:0 0;transform:scaleY(.5)}.wux-search-bar::after{content:" ";position:absolute;left:0;bottom:0;right:0;height:1PX;border-bottom:1PX solid #d9d9d9;color:#d9d9d9;transform-origin:0 100%;transform:scaleY(.5)}.wux-search-bar__form{position:relative;-ms-flex:1;flex:1;width:100%;height:56rpx;overflow:hidden;background-color:#fff;background-clip:padding-box;border-radius:8rpx}.wux-search-bar__box{position:relative;padding-left:60rpx;padding-right:60rpx;height:100%;width:100%;box-sizing:border-box;z-index:1}.wux-search-bar__input{padding:8rpx 0;width:100%;height:56rpx;min-height:inherit;border:0;font-size:28rpx;line-height:56rpx;box-sizing:border-box;background:0 0}.wux-search-bar__label{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;position:absolute;top:2rpx;right:2rpx;bottom:2rpx;left:2rpx;z-index:2;border-radius:8rpx;text-align:center;color:rgba(0,0,0,.45);background:#fff}.wux-search-bar__text{display:inline-block;font-size:28rpx;vertical-align:middle;margin-left:10rpx}.wux-search-bar__cancel{margin-left:20rpx;line-height:56rpx;color:#33cd5f;white-space:nowrap}.wux-search-bar__icon{vertical-align:middle}.wux-search-bar__search{position:absolute;left:20rpx;top:16rpx}.wux-search-bar__clear{display:none;position:absolute;top:16rpx;right:0;padding:0 20rpx}.wux-search-bar--focus .wux-search-bar__clear{display:block}.wux-search-bar--disabled{opacity:.3}