@atooyu/uxto-ui 1.1.38 → 1.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +13 -6
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +13 -6
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +25 -25
- package/package.json +1 -1
- package/src/components/u-popup/u-popup.vue +14 -2
- package/src/components/u-tabbar/u-tabbar.vue +3 -3
package/dist/style.css
CHANGED
|
@@ -2058,7 +2058,7 @@ to {
|
|
|
2058
2058
|
color: #ffffff;
|
|
2059
2059
|
line-height: 1.4;
|
|
2060
2060
|
text-align: center;
|
|
2061
|
-
}.u-popup[data-v-
|
|
2061
|
+
}.u-popup[data-v-7b84ec59] {
|
|
2062
2062
|
position: fixed;
|
|
2063
2063
|
top: 0;
|
|
2064
2064
|
left: 0;
|
|
@@ -2066,7 +2066,7 @@ to {
|
|
|
2066
2066
|
bottom: 0;
|
|
2067
2067
|
z-index: 1000;
|
|
2068
2068
|
}
|
|
2069
|
-
.u-popup__overlay[data-v-
|
|
2069
|
+
.u-popup__overlay[data-v-7b84ec59] {
|
|
2070
2070
|
position: absolute;
|
|
2071
2071
|
top: 0;
|
|
2072
2072
|
left: 0;
|
|
@@ -2074,43 +2074,43 @@ to {
|
|
|
2074
2074
|
bottom: 0;
|
|
2075
2075
|
background-color: rgba(0, 0, 0, 0.7);
|
|
2076
2076
|
}
|
|
2077
|
-
.u-popup__content[data-v-
|
|
2077
|
+
.u-popup__content[data-v-7b84ec59] {
|
|
2078
2078
|
position: absolute;
|
|
2079
2079
|
background-color: #ffffff;
|
|
2080
2080
|
overflow: hidden;
|
|
2081
2081
|
}
|
|
2082
|
-
.u-popup__content--top[data-v-
|
|
2082
|
+
.u-popup__content--top[data-v-7b84ec59] {
|
|
2083
2083
|
top: 0;
|
|
2084
2084
|
left: 0;
|
|
2085
2085
|
right: 0;
|
|
2086
2086
|
}
|
|
2087
|
-
.u-popup__content--bottom[data-v-
|
|
2087
|
+
.u-popup__content--bottom[data-v-7b84ec59] {
|
|
2088
2088
|
bottom: 0;
|
|
2089
2089
|
left: 0;
|
|
2090
2090
|
right: 0;
|
|
2091
2091
|
}
|
|
2092
|
-
.u-popup__content--left[data-v-
|
|
2092
|
+
.u-popup__content--left[data-v-7b84ec59] {
|
|
2093
2093
|
left: 0;
|
|
2094
2094
|
top: 0;
|
|
2095
2095
|
bottom: 0;
|
|
2096
2096
|
width: 80%;
|
|
2097
2097
|
}
|
|
2098
|
-
.u-popup__content--right[data-v-
|
|
2098
|
+
.u-popup__content--right[data-v-7b84ec59] {
|
|
2099
2099
|
right: 0;
|
|
2100
2100
|
top: 0;
|
|
2101
2101
|
bottom: 0;
|
|
2102
2102
|
width: 80%;
|
|
2103
2103
|
}
|
|
2104
|
-
.u-popup__content--center[data-v-
|
|
2104
|
+
.u-popup__content--center[data-v-7b84ec59] {
|
|
2105
2105
|
top: 50%;
|
|
2106
2106
|
left: 50%;
|
|
2107
2107
|
transform: translate(-50%, -50%);
|
|
2108
2108
|
min-width: 280px;
|
|
2109
2109
|
}
|
|
2110
|
-
.u-popup__content--round[data-v-
|
|
2110
|
+
.u-popup__content--round[data-v-7b84ec59] {
|
|
2111
2111
|
border-radius: 12px;
|
|
2112
2112
|
}
|
|
2113
|
-
.u-popup__close[data-v-
|
|
2113
|
+
.u-popup__close[data-v-7b84ec59] {
|
|
2114
2114
|
position: absolute;
|
|
2115
2115
|
top: 12px;
|
|
2116
2116
|
right: 12px;
|
|
@@ -2121,7 +2121,7 @@ to {
|
|
|
2121
2121
|
justify-content: center;
|
|
2122
2122
|
z-index: 1;
|
|
2123
2123
|
}
|
|
2124
|
-
.u-popup__close-icon[data-v-
|
|
2124
|
+
.u-popup__close-icon[data-v-7b84ec59] {
|
|
2125
2125
|
font-size: 18px;
|
|
2126
2126
|
color: #969799;
|
|
2127
2127
|
}.u-code-input[data-v-9fffa23f] {
|
|
@@ -2380,7 +2380,7 @@ to {
|
|
|
2380
2380
|
}
|
|
2381
2381
|
.u-read-more__toggle-icon[data-v-b31720eb] {
|
|
2382
2382
|
font-size: 12px;
|
|
2383
|
-
}.u-tabbar[data-v-
|
|
2383
|
+
}.u-tabbar[data-v-a344a18d] {
|
|
2384
2384
|
position: fixed;
|
|
2385
2385
|
left: 0;
|
|
2386
2386
|
right: 0;
|
|
@@ -2389,7 +2389,7 @@ to {
|
|
|
2389
2389
|
width: 100%;
|
|
2390
2390
|
pointer-events: none;
|
|
2391
2391
|
}
|
|
2392
|
-
.u-tabbar__nav-wrap[data-v-
|
|
2392
|
+
.u-tabbar__nav-wrap[data-v-a344a18d] {
|
|
2393
2393
|
pointer-events: auto;
|
|
2394
2394
|
position: absolute;
|
|
2395
2395
|
left: 14px;
|
|
@@ -2406,7 +2406,7 @@ to {
|
|
|
2406
2406
|
padding: 0 8px;
|
|
2407
2407
|
box-sizing: border-box;
|
|
2408
2408
|
}
|
|
2409
|
-
.u-tabbar__tab-btn[data-v-
|
|
2409
|
+
.u-tabbar__tab-btn[data-v-a344a18d] {
|
|
2410
2410
|
height: 40px;
|
|
2411
2411
|
border-radius: 20px;
|
|
2412
2412
|
background: transparent;
|
|
@@ -2421,23 +2421,23 @@ to {
|
|
|
2421
2421
|
padding: 0 16px;
|
|
2422
2422
|
margin: 0 20px;
|
|
2423
2423
|
}
|
|
2424
|
-
.u-tabbar__tab-btn--active[data-v-
|
|
2424
|
+
.u-tabbar__tab-btn--active[data-v-a344a18d] {
|
|
2425
2425
|
background: #ffffff;
|
|
2426
2426
|
box-shadow: inset 0 0 0 1px rgba(17, 135, 128, 0.14);
|
|
2427
2427
|
}
|
|
2428
|
-
.u-tabbar__tab-text[data-v-
|
|
2428
|
+
.u-tabbar__tab-text[data-v-a344a18d] {
|
|
2429
2429
|
font-weight: 600;
|
|
2430
2430
|
font-size: 14px;
|
|
2431
2431
|
overflow: hidden;
|
|
2432
2432
|
text-overflow: ellipsis;
|
|
2433
2433
|
}
|
|
2434
|
-
.u-tabbar__center[data-v-
|
|
2434
|
+
.u-tabbar__center[data-v-a344a18d] {
|
|
2435
2435
|
position: relative;
|
|
2436
2436
|
width: 72px;
|
|
2437
2437
|
height: 56px;
|
|
2438
2438
|
flex-shrink: 0;
|
|
2439
2439
|
}
|
|
2440
|
-
.u-tabbar__center-btn[data-v-
|
|
2440
|
+
.u-tabbar__center-btn[data-v-a344a18d] {
|
|
2441
2441
|
position: absolute;
|
|
2442
2442
|
left: 50%;
|
|
2443
2443
|
top: -22px;
|
|
@@ -2455,29 +2455,29 @@ to {
|
|
|
2455
2455
|
box-shadow: 0 8px 20px rgba(8, 112, 106, 0.25);
|
|
2456
2456
|
transition: all 200ms ease;
|
|
2457
2457
|
}
|
|
2458
|
-
.u-tabbar__center-btn[data-v-
|
|
2458
|
+
.u-tabbar__center-btn[data-v-a344a18d]:active {
|
|
2459
2459
|
transform: translateX(-50%) scale(0.95);
|
|
2460
2460
|
}
|
|
2461
|
-
.u-tabbar__center-btn--active[data-v-
|
|
2461
|
+
.u-tabbar__center-btn--active[data-v-a344a18d] {
|
|
2462
2462
|
border-color: #12b6af;
|
|
2463
2463
|
box-shadow: 0 8px 24px rgba(8, 112, 106, 0.35);
|
|
2464
2464
|
}
|
|
2465
|
-
.u-tabbar__center-btn--
|
|
2465
|
+
.u-tabbar__center-btn--side-active[data-v-a344a18d] {
|
|
2466
2466
|
background: linear-gradient(135deg, #12b6af 0%, #65d8d1 100%);
|
|
2467
2467
|
border-color: #9fe4dd;
|
|
2468
2468
|
}
|
|
2469
|
-
.u-tabbar__center-btn--
|
|
2470
|
-
.u-tabbar__center-btn--
|
|
2469
|
+
.u-tabbar__center-btn--side-active .u-tabbar__center-brand[data-v-a344a18d],
|
|
2470
|
+
.u-tabbar__center-btn--side-active .u-tabbar__center-text[data-v-a344a18d] {
|
|
2471
2471
|
color: #ffffff;
|
|
2472
2472
|
}
|
|
2473
|
-
.u-tabbar__center-brand[data-v-
|
|
2473
|
+
.u-tabbar__center-brand[data-v-a344a18d] {
|
|
2474
2474
|
font-size: 22px;
|
|
2475
2475
|
line-height: 1;
|
|
2476
2476
|
font-weight: 700;
|
|
2477
2477
|
color: #12b6af;
|
|
2478
2478
|
letter-spacing: 1px;
|
|
2479
2479
|
}
|
|
2480
|
-
.u-tabbar__center-text[data-v-
|
|
2480
|
+
.u-tabbar__center-text[data-v-a344a18d] {
|
|
2481
2481
|
font-size: 12px;
|
|
2482
2482
|
letter-spacing: 0.5px;
|
|
2483
2483
|
color: #12b6af;
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<view v-if="
|
|
2
|
+
<view v-if="show" class="u-popup">
|
|
3
3
|
<view
|
|
4
4
|
class="u-popup__overlay"
|
|
5
5
|
@click="handleOverlayClick"
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
type PopupPosition = 'top' | 'bottom' | 'left' | 'right' | 'center'
|
|
21
21
|
|
|
22
22
|
interface Props {
|
|
23
|
+
show?: boolean
|
|
23
24
|
visible?: boolean
|
|
24
25
|
position?: PopupPosition
|
|
25
26
|
closeable?: boolean
|
|
@@ -29,7 +30,8 @@ interface Props {
|
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
const props = withDefaults(defineProps<Props>(), {
|
|
32
|
-
|
|
33
|
+
show: undefined,
|
|
34
|
+
visible: undefined,
|
|
33
35
|
position: 'bottom',
|
|
34
36
|
closeable: false,
|
|
35
37
|
closeOnClickOverlay: true,
|
|
@@ -38,10 +40,18 @@ const props = withDefaults(defineProps<Props>(), {
|
|
|
38
40
|
})
|
|
39
41
|
|
|
40
42
|
const emit = defineEmits<{
|
|
43
|
+
'update:show': [value: boolean]
|
|
41
44
|
'update:visible': [value: boolean]
|
|
42
45
|
close: []
|
|
43
46
|
}>()
|
|
44
47
|
|
|
48
|
+
// 支持 show 和 visible 两种方式
|
|
49
|
+
const isOpen = computed(() => {
|
|
50
|
+
if (props.show !== undefined) return props.show
|
|
51
|
+
if (props.visible !== undefined) return props.visible
|
|
52
|
+
return false
|
|
53
|
+
})
|
|
54
|
+
|
|
45
55
|
const handleOverlayClick = () => {
|
|
46
56
|
if (props.closeOnClickOverlay) {
|
|
47
57
|
handleClose()
|
|
@@ -49,12 +59,14 @@ const handleOverlayClick = () => {
|
|
|
49
59
|
}
|
|
50
60
|
|
|
51
61
|
const handleClose = () => {
|
|
62
|
+
emit('update:show', false)
|
|
52
63
|
emit('update:visible', false)
|
|
53
64
|
emit('close')
|
|
54
65
|
}
|
|
55
66
|
</script>
|
|
56
67
|
|
|
57
68
|
<script lang="ts">
|
|
69
|
+
import { computed } from 'vue'
|
|
58
70
|
export default {
|
|
59
71
|
options: {
|
|
60
72
|
virtualHost: true,
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
class="u-tabbar__center-btn"
|
|
29
29
|
:class="{
|
|
30
30
|
'u-tabbar__center-btn--active': modelValue === centerTab.value,
|
|
31
|
-
'u-tabbar__center-btn--
|
|
31
|
+
'u-tabbar__center-btn--side-active': modelValue === leftTab.value || modelValue === rightTab.value
|
|
32
32
|
}"
|
|
33
33
|
@click="switchTab(centerTab.value)"
|
|
34
34
|
>
|
|
@@ -230,8 +230,8 @@ $--paper: #ffffff;
|
|
|
230
230
|
box-shadow: 0 8px 24px rgba(8, 112, 106, 0.35);
|
|
231
231
|
}
|
|
232
232
|
|
|
233
|
-
//
|
|
234
|
-
&--
|
|
233
|
+
// 左侧或右侧tab选中时的样式
|
|
234
|
+
&--side-active {
|
|
235
235
|
background: linear-gradient(135deg, $--mint-1 0%, $--mint-3 100%);
|
|
236
236
|
border-color: $--mint-2;
|
|
237
237
|
|