Compare commits
No commits in common. '965b5fc03139976ce2c25ef3cdfb49b8d370365e' and 'f79346014b35bedd10d4cc31e897edf8ba778c24' have entirely different histories.
965b5fc031
...
f79346014b
Binary file not shown.
Before Width: | Height: | Size: 845 B |
Binary file not shown.
Before Width: | Height: | Size: 3.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 630 B |
Binary file not shown.
Before Width: | Height: | Size: 467 B |
Binary file not shown.
Before Width: | Height: | Size: 1009 B |
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
@ -1,45 +0,0 @@
|
|||||||
// #ifdef H5
|
|
||||||
export default {
|
|
||||||
name: 'Keypress',
|
|
||||||
props: {
|
|
||||||
disable: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted () {
|
|
||||||
const keyNames = {
|
|
||||||
esc: ['Esc', 'Escape'],
|
|
||||||
tab: 'Tab',
|
|
||||||
enter: 'Enter',
|
|
||||||
space: [' ', 'Spacebar'],
|
|
||||||
up: ['Up', 'ArrowUp'],
|
|
||||||
left: ['Left', 'ArrowLeft'],
|
|
||||||
right: ['Right', 'ArrowRight'],
|
|
||||||
down: ['Down', 'ArrowDown'],
|
|
||||||
delete: ['Backspace', 'Delete', 'Del']
|
|
||||||
}
|
|
||||||
const listener = ($event) => {
|
|
||||||
if (this.disable) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
const keyName = Object.keys(keyNames).find(key => {
|
|
||||||
const keyName = $event.key
|
|
||||||
const value = keyNames[key]
|
|
||||||
return value === keyName || (Array.isArray(value) && value.includes(keyName))
|
|
||||||
})
|
|
||||||
if (keyName) {
|
|
||||||
// 避免和其他按键事件冲突
|
|
||||||
setTimeout(() => {
|
|
||||||
this.$emit(keyName, {})
|
|
||||||
}, 0)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
document.addEventListener('keyup', listener)
|
|
||||||
this.$once('hook:beforeDestroy', () => {
|
|
||||||
document.removeEventListener('keyup', listener)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
render: () => {}
|
|
||||||
}
|
|
||||||
// #endif
|
|
@ -1,187 +0,0 @@
|
|||||||
<template>
|
|
||||||
<view class="uni-popup-share">
|
|
||||||
<view class="uni-share-title"><text class="uni-share-title-text">{{shareTitleText}}</text></view>
|
|
||||||
<view class="uni-share-content">
|
|
||||||
<view class="uni-share-content-box">
|
|
||||||
<view class="uni-share-content-item" v-for="(item,index) in bottomData" :key="index" @click.stop="select(item,index)">
|
|
||||||
<image class="uni-share-image" :src="item.icon" mode="aspectFill"></image>
|
|
||||||
<text class="uni-share-text">{{item.text}}</text>
|
|
||||||
</view>
|
|
||||||
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="uni-share-button-box">
|
|
||||||
<button class="uni-share-button" @click="close">{{cancelText}}</button>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import popup from '../uni-popup/popup.js'
|
|
||||||
import {
|
|
||||||
initVueI18n
|
|
||||||
} from '@dcloudio/uni-i18n'
|
|
||||||
import messages from '../uni-popup/i18n/index.js'
|
|
||||||
const { t } = initVueI18n(messages)
|
|
||||||
export default {
|
|
||||||
name: 'UniPopupShare',
|
|
||||||
mixins:[popup],
|
|
||||||
emits:['select'],
|
|
||||||
props: {
|
|
||||||
title: {
|
|
||||||
type: String,
|
|
||||||
default: ''
|
|
||||||
},
|
|
||||||
beforeClose: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
bottomData: [{
|
|
||||||
text: '微信',
|
|
||||||
icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/c2b17470-50be-11eb-b680-7980c8a877b8.png',
|
|
||||||
name: 'wx'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: '支付宝',
|
|
||||||
icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/d684ae40-50be-11eb-8ff1-d5dcf8779628.png',
|
|
||||||
name: 'ali'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: 'QQ',
|
|
||||||
icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/e7a79520-50be-11eb-b997-9918a5dda011.png',
|
|
||||||
name: 'qq'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: '新浪',
|
|
||||||
icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/0dacdbe0-50bf-11eb-8ff1-d5dcf8779628.png',
|
|
||||||
name: 'sina'
|
|
||||||
},
|
|
||||||
// {
|
|
||||||
// text: '百度',
|
|
||||||
// icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/1ec6e920-50bf-11eb-8a36-ebb87efcf8c0.png',
|
|
||||||
// name: 'copy'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// text: '其他',
|
|
||||||
// icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/2e0fdfe0-50bf-11eb-b997-9918a5dda011.png',
|
|
||||||
// name: 'more'
|
|
||||||
// }
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {},
|
|
||||||
computed: {
|
|
||||||
cancelText() {
|
|
||||||
return t("uni-popup.cancel")
|
|
||||||
},
|
|
||||||
shareTitleText() {
|
|
||||||
return this.title || t("uni-popup.shareTitle")
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
/**
|
|
||||||
* 选择内容
|
|
||||||
*/
|
|
||||||
select(item, index) {
|
|
||||||
this.$emit('select', {
|
|
||||||
item,
|
|
||||||
index
|
|
||||||
})
|
|
||||||
this.close()
|
|
||||||
|
|
||||||
},
|
|
||||||
/**
|
|
||||||
* 关闭窗口
|
|
||||||
*/
|
|
||||||
close() {
|
|
||||||
if(this.beforeClose) return
|
|
||||||
this.popup.close()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style lang="scss" >
|
|
||||||
.uni-popup-share {
|
|
||||||
background-color: #fff;
|
|
||||||
border-top-left-radius: 11px;
|
|
||||||
border-top-right-radius: 11px;
|
|
||||||
}
|
|
||||||
.uni-share-title {
|
|
||||||
/* #ifndef APP-NVUE */
|
|
||||||
display: flex;
|
|
||||||
/* #endif */
|
|
||||||
flex-direction: row;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
.uni-share-title-text {
|
|
||||||
font-size: 14px;
|
|
||||||
color: #666;
|
|
||||||
}
|
|
||||||
.uni-share-content {
|
|
||||||
/* #ifndef APP-NVUE */
|
|
||||||
display: flex;
|
|
||||||
/* #endif */
|
|
||||||
flex-direction: row;
|
|
||||||
justify-content: center;
|
|
||||||
padding-top: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.uni-share-content-box {
|
|
||||||
/* #ifndef APP-NVUE */
|
|
||||||
display: flex;
|
|
||||||
/* #endif */
|
|
||||||
flex-direction: row;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
width: 360px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.uni-share-content-item {
|
|
||||||
width: 90px;
|
|
||||||
/* #ifndef APP-NVUE */
|
|
||||||
display: flex;
|
|
||||||
/* #endif */
|
|
||||||
flex-direction: column;
|
|
||||||
justify-content: center;
|
|
||||||
padding: 10px 0;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.uni-share-content-item:active {
|
|
||||||
background-color: #f5f5f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
.uni-share-image {
|
|
||||||
width: 30px;
|
|
||||||
height: 30px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.uni-share-text {
|
|
||||||
margin-top: 10px;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #3B4144;
|
|
||||||
}
|
|
||||||
|
|
||||||
.uni-share-button-box {
|
|
||||||
/* #ifndef APP-NVUE */
|
|
||||||
display: flex;
|
|
||||||
/* #endif */
|
|
||||||
flex-direction: row;
|
|
||||||
padding: 10px 15px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.uni-share-button {
|
|
||||||
flex: 1;
|
|
||||||
border-radius: 50px;
|
|
||||||
color: #666;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.uni-share-button::after {
|
|
||||||
border-radius: 50px;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"uni-popup.cancel": "cancel",
|
|
||||||
"uni-popup.ok": "ok",
|
|
||||||
"uni-popup.placeholder": "pleace enter",
|
|
||||||
"uni-popup.title": "Hint",
|
|
||||||
"uni-popup.shareTitle": "Share to"
|
|
||||||
}
|
|
@ -1,8 +0,0 @@
|
|||||||
import en from './en.json'
|
|
||||||
import zhHans from './zh-Hans.json'
|
|
||||||
import zhHant from './zh-Hant.json'
|
|
||||||
export default {
|
|
||||||
en,
|
|
||||||
'zh-Hans': zhHans,
|
|
||||||
'zh-Hant': zhHant
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"uni-popup.cancel": "取消",
|
|
||||||
"uni-popup.ok": "确定",
|
|
||||||
"uni-popup.placeholder": "请输入",
|
|
||||||
"uni-popup.title": "提示",
|
|
||||||
"uni-popup.shareTitle": "分享到"
|
|
||||||
}
|
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"uni-popup.cancel": "取消",
|
|
||||||
"uni-popup.ok": "確定",
|
|
||||||
"uni-popup.placeholder": "請輸入",
|
|
||||||
"uni-popup.title": "提示",
|
|
||||||
"uni-popup.shareTitle": "分享到"
|
|
||||||
}
|
|
@ -1,45 +0,0 @@
|
|||||||
// #ifdef H5
|
|
||||||
export default {
|
|
||||||
name: 'Keypress',
|
|
||||||
props: {
|
|
||||||
disable: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
mounted () {
|
|
||||||
const keyNames = {
|
|
||||||
esc: ['Esc', 'Escape'],
|
|
||||||
tab: 'Tab',
|
|
||||||
enter: 'Enter',
|
|
||||||
space: [' ', 'Spacebar'],
|
|
||||||
up: ['Up', 'ArrowUp'],
|
|
||||||
left: ['Left', 'ArrowLeft'],
|
|
||||||
right: ['Right', 'ArrowRight'],
|
|
||||||
down: ['Down', 'ArrowDown'],
|
|
||||||
delete: ['Backspace', 'Delete', 'Del']
|
|
||||||
}
|
|
||||||
const listener = ($event) => {
|
|
||||||
if (this.disable) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
const keyName = Object.keys(keyNames).find(key => {
|
|
||||||
const keyName = $event.key
|
|
||||||
const value = keyNames[key]
|
|
||||||
return value === keyName || (Array.isArray(value) && value.includes(keyName))
|
|
||||||
})
|
|
||||||
if (keyName) {
|
|
||||||
// 避免和其他按键事件冲突
|
|
||||||
setTimeout(() => {
|
|
||||||
this.$emit(keyName, {})
|
|
||||||
}, 0)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
document.addEventListener('keyup', listener)
|
|
||||||
// this.$once('hook:beforeDestroy', () => {
|
|
||||||
// document.removeEventListener('keyup', listener)
|
|
||||||
// })
|
|
||||||
},
|
|
||||||
render: () => {}
|
|
||||||
}
|
|
||||||
// #endif
|
|
@ -1,26 +0,0 @@
|
|||||||
|
|
||||||
export default {
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created(){
|
|
||||||
this.popup = this.getParent()
|
|
||||||
},
|
|
||||||
methods:{
|
|
||||||
/**
|
|
||||||
* 获取父元素实例
|
|
||||||
*/
|
|
||||||
getParent(name = 'uniPopup') {
|
|
||||||
let parent = this.$parent;
|
|
||||||
let parentName = parent.$options.name;
|
|
||||||
while (parentName !== name) {
|
|
||||||
parent = parent.$parent;
|
|
||||||
if (!parent) return false
|
|
||||||
parentName = parent.$options.name;
|
|
||||||
}
|
|
||||||
return parent;
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,90 +0,0 @@
|
|||||||
<template>
|
|
||||||
<view class="popup-root" v-if="isOpen" v-show="isShow" @click="clickMask">
|
|
||||||
<view @click.stop>
|
|
||||||
<slot></slot>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
type CloseCallBack = ()=> void;
|
|
||||||
let closeCallBack:CloseCallBack = () :void => {};
|
|
||||||
export default {
|
|
||||||
emits:["close","clickMask"],
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
isShow:false,
|
|
||||||
isOpen:false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
props: {
|
|
||||||
maskClick: {
|
|
||||||
type: Boolean,
|
|
||||||
default: true
|
|
||||||
},
|
|
||||||
},
|
|
||||||
watch: {
|
|
||||||
// 设置show = true 时,如果没有 open 需要设置为 open
|
|
||||||
isShow:{
|
|
||||||
handler(isShow) {
|
|
||||||
// console.log("isShow",isShow)
|
|
||||||
if(isShow && this.isOpen == false){
|
|
||||||
this.isOpen = true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
immediate:true
|
|
||||||
},
|
|
||||||
// 设置isOpen = true 时,如果没有 isShow 需要设置为 isShow
|
|
||||||
isOpen:{
|
|
||||||
handler(isOpen) {
|
|
||||||
// console.log("isOpen",isOpen)
|
|
||||||
if(isOpen && this.isShow == false){
|
|
||||||
this.isShow = true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
immediate:true
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods:{
|
|
||||||
open(){
|
|
||||||
// ...funs : CloseCallBack[]
|
|
||||||
// if(funs.length > 0){
|
|
||||||
// closeCallBack = funs[0]
|
|
||||||
// }
|
|
||||||
this.isOpen = true;
|
|
||||||
},
|
|
||||||
clickMask(){
|
|
||||||
if(this.maskClick == true){
|
|
||||||
this.$emit('clickMask')
|
|
||||||
this.close()
|
|
||||||
}
|
|
||||||
},
|
|
||||||
close(): void{
|
|
||||||
this.isOpen = false;
|
|
||||||
this.$emit('close')
|
|
||||||
closeCallBack()
|
|
||||||
},
|
|
||||||
hiden(){
|
|
||||||
this.isShow = false
|
|
||||||
},
|
|
||||||
show(){
|
|
||||||
this.isShow = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style>
|
|
||||||
.popup-root {
|
|
||||||
position: fixed;
|
|
||||||
top: 0;
|
|
||||||
left: 0;
|
|
||||||
width: 750rpx;
|
|
||||||
height: 100%;
|
|
||||||
flex: 1;
|
|
||||||
background-color: rgba(0, 0, 0, 0.3);
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
z-index: 99;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,88 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "uni-popup",
|
|
||||||
"displayName": "uni-popup 弹出层",
|
|
||||||
"version": "1.9.1",
|
|
||||||
"description": " Popup 组件,提供常用的弹层",
|
|
||||||
"keywords": [
|
|
||||||
"uni-ui",
|
|
||||||
"弹出层",
|
|
||||||
"弹窗",
|
|
||||||
"popup",
|
|
||||||
"弹框"
|
|
||||||
],
|
|
||||||
"repository": "https://github.com/dcloudio/uni-ui",
|
|
||||||
"engines": {
|
|
||||||
"HBuilderX": ""
|
|
||||||
},
|
|
||||||
"directories": {
|
|
||||||
"example": "../../temps/example_temps"
|
|
||||||
},
|
|
||||||
"dcloudext": {
|
|
||||||
"sale": {
|
|
||||||
"regular": {
|
|
||||||
"price": "0.00"
|
|
||||||
},
|
|
||||||
"sourcecode": {
|
|
||||||
"price": "0.00"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"contact": {
|
|
||||||
"qq": ""
|
|
||||||
},
|
|
||||||
"declaration": {
|
|
||||||
"ads": "无",
|
|
||||||
"data": "无",
|
|
||||||
"permissions": "无"
|
|
||||||
},
|
|
||||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
|
||||||
"type": "component-vue"
|
|
||||||
},
|
|
||||||
"uni_modules": {
|
|
||||||
"dependencies": [
|
|
||||||
"uni-scss",
|
|
||||||
"uni-transition"
|
|
||||||
],
|
|
||||||
"encrypt": [],
|
|
||||||
"platforms": {
|
|
||||||
"cloud": {
|
|
||||||
"tcb": "y",
|
|
||||||
"aliyun": "y",
|
|
||||||
"alipay": "n"
|
|
||||||
},
|
|
||||||
"client": {
|
|
||||||
"App": {
|
|
||||||
"app-vue": "y",
|
|
||||||
"app-nvue": "y"
|
|
||||||
},
|
|
||||||
"H5-mobile": {
|
|
||||||
"Safari": "y",
|
|
||||||
"Android Browser": "y",
|
|
||||||
"微信浏览器(Android)": "y",
|
|
||||||
"QQ浏览器(Android)": "y"
|
|
||||||
},
|
|
||||||
"H5-pc": {
|
|
||||||
"Chrome": "y",
|
|
||||||
"IE": "y",
|
|
||||||
"Edge": "y",
|
|
||||||
"Firefox": "y",
|
|
||||||
"Safari": "y"
|
|
||||||
},
|
|
||||||
"小程序": {
|
|
||||||
"微信": "y",
|
|
||||||
"阿里": "y",
|
|
||||||
"百度": "y",
|
|
||||||
"字节跳动": "y",
|
|
||||||
"QQ": "y"
|
|
||||||
},
|
|
||||||
"快应用": {
|
|
||||||
"华为": "u",
|
|
||||||
"联盟": "u"
|
|
||||||
},
|
|
||||||
"Vue": {
|
|
||||||
"vue2": "y",
|
|
||||||
"vue3": "y"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1 +0,0 @@
|
|||||||
@import './styles/index.scss';
|
|
@ -1,7 +0,0 @@
|
|||||||
@import './setting/_variables.scss';
|
|
||||||
@import './setting/_border.scss';
|
|
||||||
@import './setting/_color.scss';
|
|
||||||
@import './setting/_space.scss';
|
|
||||||
@import './setting/_radius.scss';
|
|
||||||
@import './setting/_text.scss';
|
|
||||||
@import './setting/_styles.scss';
|
|
@ -1,3 +0,0 @@
|
|||||||
.uni-border {
|
|
||||||
border: 1px $uni-border-1 solid;
|
|
||||||
}
|
|
@ -1,55 +0,0 @@
|
|||||||
@mixin radius($r,$d:null ,$important: false){
|
|
||||||
$radius-value:map-get($uni-radius, $r) if($important, !important, null);
|
|
||||||
// Key exists within the $uni-radius variable
|
|
||||||
@if (map-has-key($uni-radius, $r) and $d){
|
|
||||||
@if $d == t {
|
|
||||||
border-top-left-radius:$radius-value;
|
|
||||||
border-top-right-radius:$radius-value;
|
|
||||||
}@else if $d == r {
|
|
||||||
border-top-right-radius:$radius-value;
|
|
||||||
border-bottom-right-radius:$radius-value;
|
|
||||||
}@else if $d == b {
|
|
||||||
border-bottom-left-radius:$radius-value;
|
|
||||||
border-bottom-right-radius:$radius-value;
|
|
||||||
}@else if $d == l {
|
|
||||||
border-top-left-radius:$radius-value;
|
|
||||||
border-bottom-left-radius:$radius-value;
|
|
||||||
}@else if $d == tl {
|
|
||||||
border-top-left-radius:$radius-value;
|
|
||||||
}@else if $d == tr {
|
|
||||||
border-top-right-radius:$radius-value;
|
|
||||||
}@else if $d == br {
|
|
||||||
border-bottom-right-radius:$radius-value;
|
|
||||||
}@else if $d == bl {
|
|
||||||
border-bottom-left-radius:$radius-value;
|
|
||||||
}
|
|
||||||
}@else{
|
|
||||||
border-radius:$radius-value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $key, $child in $uni-radius {
|
|
||||||
@if($key){
|
|
||||||
.uni-radius-#{"" + $key} {
|
|
||||||
@include radius($key)
|
|
||||||
}
|
|
||||||
}@else{
|
|
||||||
.uni-radius {
|
|
||||||
@include radius($key)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $direction in t, r, b, l,tl, tr, br, bl {
|
|
||||||
@each $key, $child in $uni-radius {
|
|
||||||
@if($key){
|
|
||||||
.uni-radius-#{"" + $direction}-#{"" + $key} {
|
|
||||||
@include radius($key,$direction,false)
|
|
||||||
}
|
|
||||||
}@else{
|
|
||||||
.uni-radius-#{$direction} {
|
|
||||||
@include radius($key,$direction,false)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,56 +0,0 @@
|
|||||||
|
|
||||||
@mixin fn($space,$direction,$size,$n) {
|
|
||||||
@if $n {
|
|
||||||
#{$space}-#{$direction}: #{$size*$uni-space-root}px
|
|
||||||
} @else {
|
|
||||||
#{$space}-#{$direction}: #{-$size*$uni-space-root}px
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@mixin get-styles($direction,$i,$space,$n){
|
|
||||||
@if $direction == t {
|
|
||||||
@include fn($space, top,$i,$n);
|
|
||||||
}
|
|
||||||
@if $direction == r {
|
|
||||||
@include fn($space, right,$i,$n);
|
|
||||||
}
|
|
||||||
@if $direction == b {
|
|
||||||
@include fn($space, bottom,$i,$n);
|
|
||||||
}
|
|
||||||
@if $direction == l {
|
|
||||||
@include fn($space, left,$i,$n);
|
|
||||||
}
|
|
||||||
@if $direction == x {
|
|
||||||
@include fn($space, left,$i,$n);
|
|
||||||
@include fn($space, right,$i,$n);
|
|
||||||
}
|
|
||||||
@if $direction == y {
|
|
||||||
@include fn($space, top,$i,$n);
|
|
||||||
@include fn($space, bottom,$i,$n);
|
|
||||||
}
|
|
||||||
@if $direction == a {
|
|
||||||
@if $n {
|
|
||||||
#{$space}:#{$i*$uni-space-root}px;
|
|
||||||
} @else {
|
|
||||||
#{$space}:#{-$i*$uni-space-root}px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $orientation in m,p {
|
|
||||||
$space: margin;
|
|
||||||
@if $orientation == m {
|
|
||||||
$space: margin;
|
|
||||||
} @else {
|
|
||||||
$space: padding;
|
|
||||||
}
|
|
||||||
@for $i from 0 through 16 {
|
|
||||||
@each $direction in t, r, b, l, x, y, a {
|
|
||||||
.uni-#{$orientation}#{$direction}-#{$i} {
|
|
||||||
@include get-styles($direction,$i,$space,true);
|
|
||||||
}
|
|
||||||
.uni-#{$orientation}#{$direction}-n#{$i} {
|
|
||||||
@include get-styles($direction,$i,$space,false);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,167 +0,0 @@
|
|||||||
/* #ifndef APP-NVUE */
|
|
||||||
|
|
||||||
$-color-white:#fff;
|
|
||||||
$-color-black:#000;
|
|
||||||
@mixin base-style($color) {
|
|
||||||
color: #fff;
|
|
||||||
background-color: $color;
|
|
||||||
border-color: mix($-color-black, $color, 8%);
|
|
||||||
&:not([hover-class]):active {
|
|
||||||
background: mix($-color-black, $color, 10%);
|
|
||||||
border-color: mix($-color-black, $color, 20%);
|
|
||||||
color: $-color-white;
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@mixin is-color($color) {
|
|
||||||
@include base-style($color);
|
|
||||||
&[loading] {
|
|
||||||
@include base-style($color);
|
|
||||||
&::before {
|
|
||||||
margin-right:5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&[disabled] {
|
|
||||||
&,
|
|
||||||
&[loading],
|
|
||||||
&:not([hover-class]):active {
|
|
||||||
color: $-color-white;
|
|
||||||
border-color: mix(darken($color,10%), $-color-white);
|
|
||||||
background-color: mix($color, $-color-white);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@mixin base-plain-style($color) {
|
|
||||||
color:$color;
|
|
||||||
background-color: mix($-color-white, $color, 90%);
|
|
||||||
border-color: mix($-color-white, $color, 70%);
|
|
||||||
&:not([hover-class]):active {
|
|
||||||
background: mix($-color-white, $color, 80%);
|
|
||||||
color: $color;
|
|
||||||
outline: none;
|
|
||||||
border-color: mix($-color-white, $color, 50%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@mixin is-plain($color){
|
|
||||||
&[plain] {
|
|
||||||
@include base-plain-style($color);
|
|
||||||
&[loading] {
|
|
||||||
@include base-plain-style($color);
|
|
||||||
&::before {
|
|
||||||
margin-right:5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
&[disabled] {
|
|
||||||
&,
|
|
||||||
&:active {
|
|
||||||
color: mix($-color-white, $color, 40%);
|
|
||||||
background-color: mix($-color-white, $color, 90%);
|
|
||||||
border-color: mix($-color-white, $color, 80%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.uni-btn {
|
|
||||||
margin: 5px;
|
|
||||||
color: #393939;
|
|
||||||
border:1px solid #ccc;
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 200;
|
|
||||||
background-color: #F9F9F9;
|
|
||||||
// TODO 暂时处理边框隐藏一边的问题
|
|
||||||
overflow: visible;
|
|
||||||
&::after{
|
|
||||||
border: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:not([type]),&[type=default] {
|
|
||||||
color: #999;
|
|
||||||
&[loading] {
|
|
||||||
background: none;
|
|
||||||
&::before {
|
|
||||||
margin-right:5px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
&[disabled]{
|
|
||||||
color: mix($-color-white, #999, 60%);
|
|
||||||
&,
|
|
||||||
&[loading],
|
|
||||||
&:active {
|
|
||||||
color: mix($-color-white, #999, 60%);
|
|
||||||
background-color: mix($-color-white,$-color-black , 98%);
|
|
||||||
border-color: mix($-color-white, #999, 85%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&[plain] {
|
|
||||||
color: #999;
|
|
||||||
background: none;
|
|
||||||
border-color: $uni-border-1;
|
|
||||||
&:not([hover-class]):active {
|
|
||||||
background: none;
|
|
||||||
color: mix($-color-white, $-color-black, 80%);
|
|
||||||
border-color: mix($-color-white, $-color-black, 90%);
|
|
||||||
outline: none;
|
|
||||||
}
|
|
||||||
&[disabled]{
|
|
||||||
&,
|
|
||||||
&[loading],
|
|
||||||
&:active {
|
|
||||||
background: none;
|
|
||||||
color: mix($-color-white, #999, 60%);
|
|
||||||
border-color: mix($-color-white, #999, 85%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:not([hover-class]):active {
|
|
||||||
color: mix($-color-white, $-color-black, 50%);
|
|
||||||
}
|
|
||||||
|
|
||||||
&[size=mini] {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 200;
|
|
||||||
border-radius: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
&.uni-btn-small {
|
|
||||||
font-size: 14px;
|
|
||||||
}
|
|
||||||
&.uni-btn-mini {
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.uni-btn-radius {
|
|
||||||
border-radius: 999px;
|
|
||||||
}
|
|
||||||
&[type=primary] {
|
|
||||||
@include is-color($uni-primary);
|
|
||||||
@include is-plain($uni-primary)
|
|
||||||
}
|
|
||||||
&[type=success] {
|
|
||||||
@include is-color($uni-success);
|
|
||||||
@include is-plain($uni-success)
|
|
||||||
}
|
|
||||||
&[type=error] {
|
|
||||||
@include is-color($uni-error);
|
|
||||||
@include is-plain($uni-error)
|
|
||||||
}
|
|
||||||
&[type=warning] {
|
|
||||||
@include is-color($uni-warning);
|
|
||||||
@include is-plain($uni-warning)
|
|
||||||
}
|
|
||||||
&[type=info] {
|
|
||||||
@include is-color($uni-info);
|
|
||||||
@include is-plain($uni-info)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* #endif */
|
|
@ -1,24 +0,0 @@
|
|||||||
@mixin get-styles($k,$c) {
|
|
||||||
@if $k == size or $k == weight{
|
|
||||||
font-#{$k}:#{$c}
|
|
||||||
}@else{
|
|
||||||
#{$k}:#{$c}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@each $key, $child in $uni-headings {
|
|
||||||
/* #ifndef APP-NVUE */
|
|
||||||
.uni-#{$key} {
|
|
||||||
@each $k, $c in $child {
|
|
||||||
@include get-styles($k,$c)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* #endif */
|
|
||||||
/* #ifdef APP-NVUE */
|
|
||||||
.container .uni-#{$key} {
|
|
||||||
@each $k, $c in $child {
|
|
||||||
@include get-styles($k,$c)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* #endif */
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
// 合并 map
|
|
||||||
@function map-deep-merge($parent-map, $child-map){
|
|
||||||
$result: $parent-map;
|
|
||||||
@each $key, $child in $child-map {
|
|
||||||
$parent-has-key: map-has-key($result, $key);
|
|
||||||
$parent-value: map-get($result, $key);
|
|
||||||
$parent-type: type-of($parent-value);
|
|
||||||
$child-type: type-of($child);
|
|
||||||
$parent-is-map: $parent-type == map;
|
|
||||||
$child-is-map: $child-type == map;
|
|
||||||
|
|
||||||
@if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){
|
|
||||||
$result: map-merge($result, ( $key: $child ));
|
|
||||||
}@else {
|
|
||||||
$result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) ));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@return $result;
|
|
||||||
};
|
|
@ -1,31 +0,0 @@
|
|||||||
// 间距基础倍数
|
|
||||||
$uni-space-root: 2;
|
|
||||||
// 边框半径默认值
|
|
||||||
$uni-radius-root:5px;
|
|
||||||
// 主色
|
|
||||||
$uni-primary: #2979ff;
|
|
||||||
// 辅助色
|
|
||||||
$uni-success: #4cd964;
|
|
||||||
// 警告色
|
|
||||||
$uni-warning: #f0ad4e;
|
|
||||||
// 错误色
|
|
||||||
$uni-error: #dd524d;
|
|
||||||
// 描述色
|
|
||||||
$uni-info: #909399;
|
|
||||||
// 中性色
|
|
||||||
$uni-main-color: #303133;
|
|
||||||
$uni-base-color: #606266;
|
|
||||||
$uni-secondary-color: #909399;
|
|
||||||
$uni-extra-color: #C0C4CC;
|
|
||||||
// 背景色
|
|
||||||
$uni-bg-color: #f5f5f5;
|
|
||||||
// 边框颜色
|
|
||||||
$uni-border-1: #DCDFE6;
|
|
||||||
$uni-border-2: #E4E7ED;
|
|
||||||
$uni-border-3: #EBEEF5;
|
|
||||||
$uni-border-4: #F2F6FC;
|
|
||||||
|
|
||||||
// 常规色
|
|
||||||
$uni-black: #000000;
|
|
||||||
$uni-white: #ffffff;
|
|
||||||
$uni-transparent: rgba($color: #000000, $alpha: 0);
|
|
@ -1,85 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "uni-transition",
|
|
||||||
"displayName": "uni-transition 过渡动画",
|
|
||||||
"version": "1.3.3",
|
|
||||||
"description": "元素的简单过渡动画",
|
|
||||||
"keywords": [
|
|
||||||
"uni-ui",
|
|
||||||
"uniui",
|
|
||||||
"动画",
|
|
||||||
"过渡",
|
|
||||||
"过渡动画"
|
|
||||||
],
|
|
||||||
"repository": "https://github.com/dcloudio/uni-ui",
|
|
||||||
"engines": {
|
|
||||||
"HBuilderX": ""
|
|
||||||
},
|
|
||||||
"directories": {
|
|
||||||
"example": "../../temps/example_temps"
|
|
||||||
},
|
|
||||||
"dcloudext": {
|
|
||||||
"sale": {
|
|
||||||
"regular": {
|
|
||||||
"price": "0.00"
|
|
||||||
},
|
|
||||||
"sourcecode": {
|
|
||||||
"price": "0.00"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"contact": {
|
|
||||||
"qq": ""
|
|
||||||
},
|
|
||||||
"declaration": {
|
|
||||||
"ads": "无",
|
|
||||||
"data": "无",
|
|
||||||
"permissions": "无"
|
|
||||||
},
|
|
||||||
"npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
|
|
||||||
"type": "component-vue"
|
|
||||||
},
|
|
||||||
"uni_modules": {
|
|
||||||
"dependencies": ["uni-scss"],
|
|
||||||
"encrypt": [],
|
|
||||||
"platforms": {
|
|
||||||
"cloud": {
|
|
||||||
"tcb": "y",
|
|
||||||
"aliyun": "y",
|
|
||||||
"alipay": "n"
|
|
||||||
},
|
|
||||||
"client": {
|
|
||||||
"App": {
|
|
||||||
"app-vue": "y",
|
|
||||||
"app-nvue": "y"
|
|
||||||
},
|
|
||||||
"H5-mobile": {
|
|
||||||
"Safari": "y",
|
|
||||||
"Android Browser": "y",
|
|
||||||
"微信浏览器(Android)": "y",
|
|
||||||
"QQ浏览器(Android)": "y"
|
|
||||||
},
|
|
||||||
"H5-pc": {
|
|
||||||
"Chrome": "y",
|
|
||||||
"IE": "y",
|
|
||||||
"Edge": "y",
|
|
||||||
"Firefox": "y",
|
|
||||||
"Safari": "y"
|
|
||||||
},
|
|
||||||
"小程序": {
|
|
||||||
"微信": "y",
|
|
||||||
"阿里": "y",
|
|
||||||
"百度": "y",
|
|
||||||
"字节跳动": "y",
|
|
||||||
"QQ": "y"
|
|
||||||
},
|
|
||||||
"快应用": {
|
|
||||||
"华为": "u",
|
|
||||||
"联盟": "u"
|
|
||||||
},
|
|
||||||
"Vue": {
|
|
||||||
"vue2": "y",
|
|
||||||
"vue3": "y"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue