@atooyu/uxto-ui 1.1.46 → 1.1.48

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/style.css CHANGED
@@ -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-745a84ac] {
2383
+ }.u-tabbar[data-v-eb2ab9a2] {
2384
2384
  position: fixed;
2385
2385
  left: 0;
2386
2386
  right: 0;
@@ -2391,7 +2391,7 @@ to {
2391
2391
  padding-bottom: constant(safe-area-inset-bottom);
2392
2392
  padding-bottom: env(safe-area-inset-bottom);
2393
2393
  }
2394
- .u-tabbar__nav-wrap[data-v-745a84ac] {
2394
+ .u-tabbar__nav-wrap[data-v-eb2ab9a2] {
2395
2395
  position: absolute;
2396
2396
  left: 14px;
2397
2397
  right: 14px;
@@ -2407,7 +2407,7 @@ to {
2407
2407
  padding: 0 8px;
2408
2408
  box-sizing: border-box;
2409
2409
  }
2410
- .u-tabbar__tab-btn[data-v-745a84ac] {
2410
+ .u-tabbar__tab-btn[data-v-eb2ab9a2] {
2411
2411
  height: 40px;
2412
2412
  border-radius: 20px;
2413
2413
  background: transparent;
@@ -2422,23 +2422,30 @@ to {
2422
2422
  padding: 0 16px;
2423
2423
  margin: 0 20px;
2424
2424
  }
2425
- .u-tabbar__tab-btn--active[data-v-745a84ac] {
2425
+ .u-tabbar__tab-btn--active[data-v-eb2ab9a2] {
2426
2426
  background: #ffffff;
2427
2427
  box-shadow: inset 0 0 0 1px rgba(17, 135, 128, 0.14);
2428
2428
  }
2429
- .u-tabbar__tab-text[data-v-745a84ac] {
2429
+ .u-tabbar__tab-content[data-v-eb2ab9a2] {
2430
+ display: flex;
2431
+ align-items: center;
2432
+ justify-content: center;
2433
+ gap: 4px;
2434
+ pointer-events: none;
2435
+ }
2436
+ .u-tabbar__tab-text[data-v-eb2ab9a2] {
2430
2437
  font-weight: 600;
2431
2438
  font-size: 14px;
2432
2439
  overflow: hidden;
2433
2440
  text-overflow: ellipsis;
2434
2441
  }
2435
- .u-tabbar__center[data-v-745a84ac] {
2442
+ .u-tabbar__center[data-v-eb2ab9a2] {
2436
2443
  position: relative;
2437
2444
  width: 72px;
2438
2445
  height: 56px;
2439
2446
  flex-shrink: 0;
2440
2447
  }
2441
- .u-tabbar__center-btn[data-v-745a84ac] {
2448
+ .u-tabbar__center-btn[data-v-eb2ab9a2] {
2442
2449
  position: absolute;
2443
2450
  left: 50%;
2444
2451
  top: -22px;
@@ -2456,29 +2463,29 @@ to {
2456
2463
  box-shadow: 0 8px 20px rgba(8, 112, 106, 0.25);
2457
2464
  transition: all 200ms ease;
2458
2465
  }
2459
- .u-tabbar__center-btn[data-v-745a84ac]:active {
2466
+ .u-tabbar__center-btn[data-v-eb2ab9a2]:active {
2460
2467
  transform: translateX(-50%) scale(0.95);
2461
2468
  }
2462
- .u-tabbar__center-btn--active[data-v-745a84ac] {
2469
+ .u-tabbar__center-btn--active[data-v-eb2ab9a2] {
2463
2470
  border-color: #12b6af;
2464
2471
  box-shadow: 0 8px 24px rgba(8, 112, 106, 0.35);
2465
2472
  }
2466
- .u-tabbar__center-btn--side-active[data-v-745a84ac] {
2473
+ .u-tabbar__center-btn--side-active[data-v-eb2ab9a2] {
2467
2474
  background: linear-gradient(135deg, #12b6af 0%, #65d8d1 100%);
2468
2475
  border-color: #9fe4dd;
2469
2476
  }
2470
- .u-tabbar__center-btn--side-active .u-tabbar__center-brand[data-v-745a84ac],
2471
- .u-tabbar__center-btn--side-active .u-tabbar__center-text[data-v-745a84ac] {
2477
+ .u-tabbar__center-btn--side-active .u-tabbar__center-brand[data-v-eb2ab9a2],
2478
+ .u-tabbar__center-btn--side-active .u-tabbar__center-text[data-v-eb2ab9a2] {
2472
2479
  color: #ffffff;
2473
2480
  }
2474
- .u-tabbar__center-brand[data-v-745a84ac] {
2481
+ .u-tabbar__center-brand[data-v-eb2ab9a2] {
2475
2482
  font-size: 22px;
2476
2483
  line-height: 1;
2477
2484
  font-weight: 700;
2478
2485
  color: #12b6af;
2479
2486
  letter-spacing: 1px;
2480
2487
  }
2481
- .u-tabbar__center-text[data-v-745a84ac] {
2488
+ .u-tabbar__center-text[data-v-eb2ab9a2] {
2482
2489
  font-size: 12px;
2483
2490
  letter-spacing: 0.5px;
2484
2491
  color: #12b6af;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atooyu/uxto-ui",
3
- "version": "1.1.46",
3
+ "version": "1.1.48",
4
4
  "description": "跨平台 UI 组件库 - 支持 Android、iOS、鸿蒙",
5
5
  "keywords": [
6
6
  "uxto-ui",
@@ -6,20 +6,22 @@
6
6
  <view
7
7
  class="u-tabbar__tab-btn"
8
8
  :class="{ 'u-tabbar__tab-btn--active': modelValue === leftTab.value }"
9
- @tap="switchTab(leftTab.value)"
9
+ @tap.stop.prevent="switchTab(leftTab.value)"
10
10
  >
11
- <u-icon
12
- v-if="leftTab.icon"
13
- :name="leftTab.icon"
14
- :size="16"
15
- :color="modelValue === leftTab.value ? activeColor : inactiveColor"
16
- />
17
- <text
18
- class="u-tabbar__tab-text"
19
- :style="{ color: modelValue === leftTab.value ? activeColor : inactiveColor }"
20
- >
21
- {{ leftTab.label }}
22
- </text>
11
+ <view class="u-tabbar__tab-content">
12
+ <u-icon
13
+ v-if="leftTab.icon"
14
+ :name="leftTab.icon"
15
+ :size="16"
16
+ :color="modelValue === leftTab.value ? activeColor : inactiveColor"
17
+ />
18
+ <text
19
+ class="u-tabbar__tab-text"
20
+ :style="{ color: modelValue === leftTab.value ? activeColor : inactiveColor }"
21
+ >
22
+ {{ leftTab.label }}
23
+ </text>
24
+ </view>
23
25
  </view>
24
26
 
25
27
  <!-- 中间占位 + 凸起按钮 -->
@@ -30,7 +32,7 @@
30
32
  'u-tabbar__center-btn--active': modelValue === centerTab.value,
31
33
  'u-tabbar__center-btn--side-active': modelValue === leftTab.value || modelValue === rightTab.value
32
34
  }"
33
- @tap="switchTab(centerTab.value)"
35
+ @tap.stop.prevent="switchTab(centerTab.value)"
34
36
  >
35
37
  <text class="u-tabbar__center-brand">
36
38
  {{ centerBrand }}
@@ -45,20 +47,22 @@
45
47
  <view
46
48
  class="u-tabbar__tab-btn"
47
49
  :class="{ 'u-tabbar__tab-btn--active': modelValue === rightTab.value }"
48
- @tap="switchTab(rightTab.value)"
50
+ @tap.stop.prevent="switchTab(rightTab.value)"
49
51
  >
50
- <u-icon
51
- v-if="rightTab.icon"
52
- :name="rightTab.icon"
53
- :size="16"
54
- :color="modelValue === rightTab.value ? activeColor : inactiveColor"
55
- />
56
- <text
57
- class="u-tabbar__tab-text"
58
- :style="{ color: modelValue === rightTab.value ? activeColor : inactiveColor }"
59
- >
60
- {{ rightTab.label }}
61
- </text>
52
+ <view class="u-tabbar__tab-content">
53
+ <u-icon
54
+ v-if="rightTab.icon"
55
+ :name="rightTab.icon"
56
+ :size="16"
57
+ :color="modelValue === rightTab.value ? activeColor : inactiveColor"
58
+ />
59
+ <text
60
+ class="u-tabbar__tab-text"
61
+ :style="{ color: modelValue === rightTab.value ? activeColor : inactiveColor }"
62
+ >
63
+ {{ rightTab.label }}
64
+ </text>
65
+ </view>
62
66
  </view>
63
67
  </view>
64
68
  </view>
@@ -190,6 +194,15 @@ $--paper: #ffffff;
190
194
  }
191
195
  }
192
196
 
197
+ // Tab内容容器 - 防止子元素拦截点击
198
+ &__tab-content {
199
+ display: flex;
200
+ align-items: center;
201
+ justify-content: center;
202
+ gap: 4px;
203
+ pointer-events: none;
204
+ }
205
+
193
206
  &__tab-text {
194
207
  font-weight: 600;
195
208
  font-size: 14px;