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 @@
190a9294-3c39-4da8-93a6-99dc3fd12056

View File

@@ -0,0 +1 @@
"use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames2=_interopRequireDefault(require("../helpers/classNames")),_styleToCssString=_interopRequireDefault(require("../helpers/styleToCssString")),_index=require("../index");function _interopRequireDefault(t){return t&&t.__esModule?t:{default:t}}function _defineProperty(t,e,o){return e in t?Object.defineProperty(t,e,{value:o,enumerable:!0,configurable:!0,writable:!0}):t[e]=o,t}function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_nonIterableRest()}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function _iterableToArrayLimit(t,e){var o=[],r=!0,l=!1,i=void 0;try{for(var n,a=t[Symbol.iterator]();!(r=(n=a.next()).done)&&(o.push(n.value),!e||o.length!==e);r=!0);}catch(t){l=!0,i=t}finally{try{r||null==a.return||a.return()}finally{if(l)throw i}}return o}function _arrayWithHoles(t){if(Array.isArray(t))return t}var getPlacements=function(t,e){var o=_slicedToArray(0<arguments.length&&void 0!==t?t:rects,3),r=o[0],l=o[1],i=o[2];switch(1<arguments.length&&void 0!==e?e:"top"){case"topLeft":return{top:l.scrollTop+r.top-i.height-4,left:l.scrollLeft+r.left};case"top":return{top:l.scrollTop+r.top-i.height-4,left:l.scrollLeft+r.left+(r.width-i.width)/2};case"topRight":return{top:l.scrollTop+r.top-i.height-4,left:l.scrollLeft+r.left+r.width-i.width};case"rightTop":return{top:l.scrollTop+r.top,left:l.scrollLeft+r.left+r.width+4};case"right":return{top:l.scrollTop+r.top+(r.height-i.height)/2,left:l.scrollLeft+r.left+r.width+4};case"rightBottom":return{top:l.scrollTop+r.top+r.height-i.height,left:l.scrollLeft+r.left+r.width+4};case"bottomRight":return{top:l.scrollTop+r.top+r.height+4,left:l.scrollLeft+r.left+r.width-i.width};case"bottom":return{top:l.scrollTop+r.top+r.height+4,left:l.scrollLeft+r.left+(r.width-i.width)/2};case"bottomLeft":return{top:l.scrollTop+r.top+r.height+4,left:l.scrollLeft+r.left};case"leftBottom":return{top:l.scrollTop+r.top+r.height-i.height,left:l.scrollLeft+r.left-i.width-4};case"left":return{top:l.scrollTop+r.top+(r.height-i.height)/2,left:l.scrollLeft+r.left-i.width-4};case"leftTop":return{top:l.scrollTop+r.top,left:l.scrollLeft+r.left-i.width-4};default:return{left:0,top:0}}};(0,_baseComponent.default)({properties:{prefixCls:{type:String,value:"wux-popover"},classNames:{type:null,value:"wux-animate--fadeIn"},theme:{type:String,value:"light"},title:{type:String,value:""},content:{type:String,value:""},placement:{type:String,value:"top"},trigger:{type:String,value:"click"},bodyStyle:{type:[String,Object],value:"",observer:function(t){this.setData({extStyle:(0,_styleToCssString.default)(t)})}},defaultVisible:{type:Boolean,value:!1},visible:{type:Boolean,value:!1,observer:function(t){this.data.controlled&&this.updated(t)}},controlled:{type:Boolean,value:!1},mask:{type:Boolean,value:!1},maskClosable:{type:Boolean,value:!0}},data:{extStyle:"",popoverStyle:"",popoverVisible:!1},computed:{classes:["prefixCls, theme, placement",function(t,e,o){var r;return{wrap:(0,_classNames2.default)(t,(_defineProperty(r={},"".concat(t,"--theme-").concat(e),e),_defineProperty(r,"".concat(t,"--placement-").concat(o),o),r)),content:"".concat(t,"__content"),arrow:"".concat(t,"__arrow"),inner:"".concat(t,"__inner"),title:"".concat(t,"__title"),innerContent:"".concat(t,"__inner-content"),element:"".concat(t,"__element")}}]},methods:{updated:function(t){this.data.popoverVisible!==t&&(this.setData({popoverVisible:t}),this.setBackdropVisible(t))},getPopoverStyle:function(){var r=this,t=this.data,e=t.prefixCls,l=t.placement,o=wx.createSelectorQuery().in(this);o.select(".".concat(e,"__element")).boundingClientRect(),o.selectViewport().scrollOffset(),o.select(".".concat(e)).boundingClientRect(),o.exec(function(t){if(!t.filter(function(t){return!t}).length){var e=getPlacements(t,l),o=(0,_styleToCssString.default)(e);r.setData({popoverStyle:o})}})},onEnter:function(){this.getPopoverStyle()},onChange:function(){var t=this.data,e=!t.popoverVisible;t.controlled||this.updated(e),this.triggerEvent("change",{visible:e})},onClick:function(){"click"===this.data.trigger&&this.onChange()},setBackdropVisible:function(t){this.data.mask&&this.$wuxBackdrop&&this.$wuxBackdrop[t?"retain":"release"]()},onMaskClick:function(){var t=this.data,e=t.maskClosable,o=t.popoverVisible;e&&o&&this.onChange()}},ready:function(){var t=this.data,e=t.defaultVisible,o=t.visible,r=t.controlled?o:e;this.data.mask&&(this.$wuxBackdrop=(0,_index.$wuxBackdrop)("#wux-backdrop",this)),this.updated(r)}});

View File

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

View File

@@ -0,0 +1,17 @@
<wux-backdrop id="wux-backdrop" wx:if="{{ mask }}" bind:click="onMaskClick" />
<view class="wux-class {{ classes.wrap }}" style="{{ extStyle + popoverStyle }}">
<wux-animation-group in="{{ popoverVisible }}" classNames="{{ classNames }}" bind:enter="onEnter">
<view class="{{ classes.content }}">
<view class="{{ classes.arrow }}"></view>
<view class="{{ classes.inner }}">
<view class="{{ classes.title }}" wx:if="{{ title }}">{{ title }}</view>
<slot name="title" wx:else></slot>
<view class="{{ classes.innerContent }}" wx:if="{{ content }}">{{ content }}</view>
<slot name="content" wx:else></slot>
</view>
</view>
</wux-animation-group>
</view>
<view class="{{ classes.element }}" catchtap="onClick">
<slot></slot>
</view>

View File

@@ -0,0 +1 @@
.wux-popover{font-family:Monospaced Number,Chinese Quote,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:28rpx;line-height:1.5;color:rgba(0,0,0,.65);box-sizing:border-box;margin:0;padding:0;list-style:none;position:absolute;top:0;left:0;z-index:1030;cursor:auto;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;white-space:normal;font-weight:400;text-align:left}.wux-popover::after{content:"";position:absolute;background:rgba(255,255,255,.01)}.wux-popover__container{position:absolute;top:0;left:0;width:100%}.wux-popover__element{display:inline-block;line-height:1}.wux-popover--theme-dark .wux-popover__inner{background-color:#333}.wux-popover--theme-dark.wux-popover--placement-top .wux-popover__arrow,.wux-popover--theme-dark.wux-popover--placement-topLeft .wux-popover__arrow,.wux-popover--theme-dark.wux-popover--placement-topRight .wux-popover__arrow{border-top-color:#333}.wux-popover--theme-dark.wux-popover--placement-right .wux-popover__arrow,.wux-popover--theme-dark.wux-popover--placement-rightBottom .wux-popover__arrow,.wux-popover--theme-dark.wux-popover--placement-rightTop .wux-popover__arrow{border-right-color:#333}.wux-popover--theme-dark.wux-popover--placement-bottom .wux-popover__arrow,.wux-popover--theme-dark.wux-popover--placement-bottomLeft .wux-popover__arrow,.wux-popover--theme-dark.wux-popover--placement-bottomRight .wux-popover__arrow{border-bottom-color:#333}.wux-popover--theme-dark.wux-popover--placement-left .wux-popover__arrow,.wux-popover--theme-dark.wux-popover--placement-leftBottom .wux-popover__arrow,.wux-popover--theme-dark.wux-popover--placement-leftTop .wux-popover__arrow{border-left-color:#333}.wux-popover--theme-dark .wux-popover__inner,.wux-popover--theme-dark .wux-popover__title{color:#fff}.wux-popover--placement-top,.wux-popover--placement-topLeft,.wux-popover--placement-topRight{padding-bottom:10px}.wux-popover--placement-right,.wux-popover--placement-rightBottom,.wux-popover--placement-rightTop{padding-left:10px}.wux-popover--placement-bottom,.wux-popover--placement-bottomLeft,.wux-popover--placement-bottomRight{padding-top:10px}.wux-popover--placement-left,.wux-popover--placement-leftBottom,.wux-popover--placement-leftTop{padding-right:10px}.wux-popover__inner{background-color:#fff;background-clip:padding-box;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);color:rgba(0,0,0,.65)}.wux-popover__title{position:relative;min-width:120px;margin:0;padding:5px 16px 4px;min-height:32px;box-sizing:border-box;color:rgba(0,0,0,.85);font-weight:500}.wux-popover__title::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-popover__inner-content{padding:24rpx 32rpx}.wux-popover__arrow{width:0;height:0;position:absolute;display:block;border-color:transparent;border-style:solid;border-width:16.97056274rpx}.wux-popover--placement-top .wux-popover__arrow,.wux-popover--placement-topLeft .wux-popover__arrow,.wux-popover--placement-topRight .wux-popover__arrow{bottom:8rpx;border-bottom-width:0;border-top-color:#fff}.wux-popover--placement-top .wux-popover__arrow{left:50%;transform:translateX(-50%)}.wux-popover--placement-topLeft .wux-popover__arrow{left:32rpx}.wux-popover--placement-topRight .wux-popover__arrow{right:32rpx}.wux-popover--placement-right .wux-popover__arrow,.wux-popover--placement-rightBottom .wux-popover__arrow,.wux-popover--placement-rightTop .wux-popover__arrow{left:8rpx;border-left-width:0;border-right-color:#fff}.wux-popover--placement-right .wux-popover__arrow{top:50%;transform:translateY(-50%)}.wux-popover--placement-rightTop .wux-popover__arrow{top:24rpx}.wux-popover--placement-rightBottom .wux-popover__arrow{bottom:24rpx}.wux-popover--placement-bottom .wux-popover__arrow,.wux-popover--placement-bottomLeft .wux-popover__arrow,.wux-popover--placement-bottomRight .wux-popover__arrow{top:8rpx;border-top-width:0;border-bottom-color:#fff}.wux-popover--placement-bottom .wux-popover__arrow{left:50%;transform:translateX(-50%)}.wux-popover--placement-bottomLeft .wux-popover__arrow{left:32rpx}.wux-popover--placement-bottomRight .wux-popover__arrow{right:32rpx}.wux-popover--placement-left .wux-popover__arrow,.wux-popover--placement-leftBottom .wux-popover__arrow,.wux-popover--placement-leftTop .wux-popover__arrow{right:8rpx;border-right-width:0;border-left-color:#fff}.wux-popover--placement-left .wux-popover__arrow{top:50%;transform:translateY(-50%)}.wux-popover--placement-leftTop .wux-popover__arrow{top:24rpx}.wux-popover--placement-leftBottom .wux-popover__arrow{bottom:24rpx}