@atooyu/uxto-ui 1.0.7 → 1.0.9
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 +66 -70
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +66 -70
- package/dist/index.mjs.map +1 -1
- package/dist/style.css +61 -62
- package/package.json +1 -1
- package/src/components/index.ts +50 -50
- package/src/components/u-link/u-link.vue +112 -112
- package/src/components/u-read-more/u-read-more.vue +116 -116
- package/src/components/u-skeleton/u-skeleton.vue +191 -191
- package/src/components/u-tabbar/u-tabbar.vue +3 -4
- package/src/components/u-transition/u-transition.vue +215 -215
package/dist/style.css
CHANGED
|
@@ -2238,46 +2238,46 @@ to {
|
|
|
2238
2238
|
height: 100%;
|
|
2239
2239
|
opacity: 0;
|
|
2240
2240
|
z-index: 2;
|
|
2241
|
-
}.u-skeleton[data-v-
|
|
2241
|
+
}.u-skeleton[data-v-1fde8489] {
|
|
2242
2242
|
display: flex;
|
|
2243
2243
|
gap: 12px;
|
|
2244
2244
|
}
|
|
2245
|
-
.u-skeleton--animate .u-skeleton__avatar[data-v-
|
|
2246
|
-
.u-skeleton--animate .u-skeleton__title[data-v-
|
|
2247
|
-
.u-skeleton--animate .u-skeleton__paragraph[data-v-
|
|
2248
|
-
animation: skeleton-blink-
|
|
2245
|
+
.u-skeleton--animate .u-skeleton__avatar[data-v-1fde8489],
|
|
2246
|
+
.u-skeleton--animate .u-skeleton__title[data-v-1fde8489],
|
|
2247
|
+
.u-skeleton--animate .u-skeleton__paragraph[data-v-1fde8489] {
|
|
2248
|
+
animation: skeleton-blink-1fde8489 1.2s ease-in-out infinite;
|
|
2249
2249
|
}
|
|
2250
|
-
.u-skeleton__avatar[data-v-
|
|
2250
|
+
.u-skeleton__avatar[data-v-1fde8489] {
|
|
2251
2251
|
flex-shrink: 0;
|
|
2252
2252
|
background-color: #f2f3f5;
|
|
2253
2253
|
border-radius: 50%;
|
|
2254
2254
|
}
|
|
2255
|
-
.u-skeleton__avatar--circle[data-v-
|
|
2255
|
+
.u-skeleton__avatar--circle[data-v-1fde8489] {
|
|
2256
2256
|
border-radius: 50%;
|
|
2257
2257
|
}
|
|
2258
|
-
.u-skeleton__avatar--square[data-v-
|
|
2258
|
+
.u-skeleton__avatar--square[data-v-1fde8489] {
|
|
2259
2259
|
border-radius: 4px;
|
|
2260
2260
|
}
|
|
2261
|
-
.u-skeleton__content[data-v-
|
|
2261
|
+
.u-skeleton__content[data-v-1fde8489] {
|
|
2262
2262
|
flex: 1;
|
|
2263
2263
|
min-width: 0;
|
|
2264
2264
|
}
|
|
2265
|
-
.u-skeleton__title[data-v-
|
|
2265
|
+
.u-skeleton__title[data-v-1fde8489] {
|
|
2266
2266
|
height: 20px;
|
|
2267
2267
|
margin-bottom: 12px;
|
|
2268
2268
|
background-color: #f2f3f5;
|
|
2269
2269
|
border-radius: 4px;
|
|
2270
2270
|
}
|
|
2271
|
-
.u-skeleton__paragraphs[data-v-
|
|
2271
|
+
.u-skeleton__paragraphs[data-v-1fde8489] {
|
|
2272
2272
|
display: flex;
|
|
2273
2273
|
flex-direction: column;
|
|
2274
2274
|
gap: 8px;
|
|
2275
2275
|
}
|
|
2276
|
-
.u-skeleton__paragraph[data-v-
|
|
2276
|
+
.u-skeleton__paragraph[data-v-1fde8489] {
|
|
2277
2277
|
background-color: #f2f3f5;
|
|
2278
2278
|
border-radius: 4px;
|
|
2279
2279
|
}
|
|
2280
|
-
@keyframes skeleton-blink-
|
|
2280
|
+
@keyframes skeleton-blink-1fde8489 {
|
|
2281
2281
|
0% {
|
|
2282
2282
|
opacity: 1;
|
|
2283
2283
|
}
|
|
@@ -2287,135 +2287,135 @@ to {
|
|
|
2287
2287
|
100% {
|
|
2288
2288
|
opacity: 1;
|
|
2289
2289
|
}
|
|
2290
|
-
}.u-transition[data-v-
|
|
2290
|
+
}.u-transition[data-v-13f0f85c] {
|
|
2291
2291
|
opacity: 1;
|
|
2292
2292
|
transform: none;
|
|
2293
2293
|
}
|
|
2294
|
-
.u-transition--fade-enter[data-v-
|
|
2294
|
+
.u-transition--fade-enter[data-v-13f0f85c] {
|
|
2295
2295
|
opacity: 0;
|
|
2296
2296
|
}
|
|
2297
|
-
.u-transition--fade-leave[data-v-
|
|
2297
|
+
.u-transition--fade-leave[data-v-13f0f85c] {
|
|
2298
2298
|
opacity: 0;
|
|
2299
2299
|
}
|
|
2300
|
-
.u-transition--fade-up-enter[data-v-
|
|
2300
|
+
.u-transition--fade-up-enter[data-v-13f0f85c] {
|
|
2301
2301
|
opacity: 0;
|
|
2302
2302
|
transform: translateY(100%);
|
|
2303
2303
|
}
|
|
2304
|
-
.u-transition--fade-up-leave[data-v-
|
|
2304
|
+
.u-transition--fade-up-leave[data-v-13f0f85c] {
|
|
2305
2305
|
opacity: 0;
|
|
2306
2306
|
transform: translateY(-100%);
|
|
2307
2307
|
}
|
|
2308
|
-
.u-transition--fade-down-enter[data-v-
|
|
2308
|
+
.u-transition--fade-down-enter[data-v-13f0f85c] {
|
|
2309
2309
|
opacity: 0;
|
|
2310
2310
|
transform: translateY(-100%);
|
|
2311
2311
|
}
|
|
2312
|
-
.u-transition--fade-down-leave[data-v-
|
|
2312
|
+
.u-transition--fade-down-leave[data-v-13f0f85c] {
|
|
2313
2313
|
opacity: 0;
|
|
2314
2314
|
transform: translateY(100%);
|
|
2315
2315
|
}
|
|
2316
|
-
.u-transition--fade-left-enter[data-v-
|
|
2316
|
+
.u-transition--fade-left-enter[data-v-13f0f85c] {
|
|
2317
2317
|
opacity: 0;
|
|
2318
2318
|
transform: translateX(100%);
|
|
2319
2319
|
}
|
|
2320
|
-
.u-transition--fade-left-leave[data-v-
|
|
2320
|
+
.u-transition--fade-left-leave[data-v-13f0f85c] {
|
|
2321
2321
|
opacity: 0;
|
|
2322
2322
|
transform: translateX(-100%);
|
|
2323
2323
|
}
|
|
2324
|
-
.u-transition--fade-right-enter[data-v-
|
|
2324
|
+
.u-transition--fade-right-enter[data-v-13f0f85c] {
|
|
2325
2325
|
opacity: 0;
|
|
2326
2326
|
transform: translateX(-100%);
|
|
2327
2327
|
}
|
|
2328
|
-
.u-transition--fade-right-leave[data-v-
|
|
2328
|
+
.u-transition--fade-right-leave[data-v-13f0f85c] {
|
|
2329
2329
|
opacity: 0;
|
|
2330
2330
|
transform: translateX(100%);
|
|
2331
2331
|
}
|
|
2332
|
-
.u-transition--slide-up-enter[data-v-
|
|
2332
|
+
.u-transition--slide-up-enter[data-v-13f0f85c] {
|
|
2333
2333
|
transform: translateY(100%);
|
|
2334
2334
|
}
|
|
2335
|
-
.u-transition--slide-up-leave[data-v-
|
|
2335
|
+
.u-transition--slide-up-leave[data-v-13f0f85c] {
|
|
2336
2336
|
transform: translateY(-100%);
|
|
2337
2337
|
}
|
|
2338
|
-
.u-transition--slide-down-enter[data-v-
|
|
2338
|
+
.u-transition--slide-down-enter[data-v-13f0f85c] {
|
|
2339
2339
|
transform: translateY(-100%);
|
|
2340
2340
|
}
|
|
2341
|
-
.u-transition--slide-down-leave[data-v-
|
|
2341
|
+
.u-transition--slide-down-leave[data-v-13f0f85c] {
|
|
2342
2342
|
transform: translateY(100%);
|
|
2343
2343
|
}
|
|
2344
|
-
.u-transition--slide-left-enter[data-v-
|
|
2344
|
+
.u-transition--slide-left-enter[data-v-13f0f85c] {
|
|
2345
2345
|
transform: translateX(100%);
|
|
2346
2346
|
}
|
|
2347
|
-
.u-transition--slide-left-leave[data-v-
|
|
2347
|
+
.u-transition--slide-left-leave[data-v-13f0f85c] {
|
|
2348
2348
|
transform: translateX(-100%);
|
|
2349
2349
|
}
|
|
2350
|
-
.u-transition--slide-right-enter[data-v-
|
|
2350
|
+
.u-transition--slide-right-enter[data-v-13f0f85c] {
|
|
2351
2351
|
transform: translateX(-100%);
|
|
2352
2352
|
}
|
|
2353
|
-
.u-transition--slide-right-leave[data-v-
|
|
2353
|
+
.u-transition--slide-right-leave[data-v-13f0f85c] {
|
|
2354
2354
|
transform: translateX(100%);
|
|
2355
2355
|
}
|
|
2356
|
-
.u-transition--zoom-enter[data-v-
|
|
2356
|
+
.u-transition--zoom-enter[data-v-13f0f85c] {
|
|
2357
2357
|
transform: scale(0);
|
|
2358
2358
|
}
|
|
2359
|
-
.u-transition--zoom-leave[data-v-
|
|
2359
|
+
.u-transition--zoom-leave[data-v-13f0f85c] {
|
|
2360
2360
|
transform: scale(0);
|
|
2361
2361
|
}
|
|
2362
|
-
.u-transition--zoom-fade-enter[data-v-
|
|
2362
|
+
.u-transition--zoom-fade-enter[data-v-13f0f85c] {
|
|
2363
2363
|
opacity: 0;
|
|
2364
2364
|
transform: scale(0.5);
|
|
2365
2365
|
}
|
|
2366
|
-
.u-transition--zoom-fade-leave[data-v-
|
|
2366
|
+
.u-transition--zoom-fade-leave[data-v-13f0f85c] {
|
|
2367
2367
|
opacity: 0;
|
|
2368
2368
|
transform: scale(0.5);
|
|
2369
|
-
}.u-link[data-v-
|
|
2369
|
+
}.u-link[data-v-f60d6c27] {
|
|
2370
2370
|
display: inline;
|
|
2371
2371
|
color: #646566;
|
|
2372
2372
|
font-size: inherit;
|
|
2373
2373
|
word-break: break-all;
|
|
2374
2374
|
}
|
|
2375
|
-
.u-link--default[data-v-
|
|
2375
|
+
.u-link--default[data-v-f60d6c27] {
|
|
2376
2376
|
color: #646566;
|
|
2377
2377
|
}
|
|
2378
|
-
.u-link--primary[data-v-
|
|
2378
|
+
.u-link--primary[data-v-f60d6c27] {
|
|
2379
2379
|
color: #00a29a;
|
|
2380
2380
|
}
|
|
2381
|
-
.u-link--success[data-v-
|
|
2381
|
+
.u-link--success[data-v-f60d6c27] {
|
|
2382
2382
|
color: #07c160;
|
|
2383
2383
|
}
|
|
2384
|
-
.u-link--warning[data-v-
|
|
2384
|
+
.u-link--warning[data-v-f60d6c27] {
|
|
2385
2385
|
color: #ff976a;
|
|
2386
2386
|
}
|
|
2387
|
-
.u-link--danger[data-v-
|
|
2387
|
+
.u-link--danger[data-v-f60d6c27] {
|
|
2388
2388
|
color: #ee0a24;
|
|
2389
2389
|
}
|
|
2390
|
-
.u-link--underline[data-v-
|
|
2390
|
+
.u-link--underline[data-v-f60d6c27] {
|
|
2391
2391
|
text-decoration: underline;
|
|
2392
2392
|
}
|
|
2393
|
-
.u-link--disabled[data-v-
|
|
2393
|
+
.u-link--disabled[data-v-f60d6c27] {
|
|
2394
2394
|
color: #969799;
|
|
2395
2395
|
opacity: 0.5;
|
|
2396
|
-
}.u-read-more__content[data-v-
|
|
2396
|
+
}.u-read-more__content[data-v-b31720eb] {
|
|
2397
2397
|
font-size: 14px;
|
|
2398
2398
|
color: #323233;
|
|
2399
2399
|
line-height: 1.6;
|
|
2400
2400
|
word-break: break-all;
|
|
2401
2401
|
}
|
|
2402
|
-
.u-read-more__toggle[data-v-
|
|
2402
|
+
.u-read-more__toggle[data-v-b31720eb] {
|
|
2403
2403
|
display: inline-flex;
|
|
2404
2404
|
align-items: center;
|
|
2405
2405
|
margin-top: 8px;
|
|
2406
2406
|
color: #00a29a;
|
|
2407
2407
|
font-size: 14px;
|
|
2408
2408
|
}
|
|
2409
|
-
.u-read-more__toggle[data-v-
|
|
2409
|
+
.u-read-more__toggle[data-v-b31720eb]:active {
|
|
2410
2410
|
opacity: 0.7;
|
|
2411
2411
|
}
|
|
2412
|
-
.u-read-more__toggle-text[data-v-
|
|
2412
|
+
.u-read-more__toggle-text[data-v-b31720eb] {
|
|
2413
2413
|
margin-right: 4px;
|
|
2414
2414
|
}
|
|
2415
|
-
.u-read-more__toggle-icon[data-v-
|
|
2415
|
+
.u-read-more__toggle-icon[data-v-b31720eb] {
|
|
2416
2416
|
font-size: 12px;
|
|
2417
2417
|
}
|
|
2418
|
-
.u-tabbar[data-v-
|
|
2418
|
+
.u-tabbar[data-v-a50e7599] {
|
|
2419
2419
|
position: fixed;
|
|
2420
2420
|
left: 0;
|
|
2421
2421
|
right: 0;
|
|
@@ -2424,7 +2424,7 @@ to {
|
|
|
2424
2424
|
width: 100%;
|
|
2425
2425
|
pointer-events: none;
|
|
2426
2426
|
}
|
|
2427
|
-
.u-tabbar__nav-wrap[data-v-
|
|
2427
|
+
.u-tabbar__nav-wrap[data-v-a50e7599] {
|
|
2428
2428
|
pointer-events: auto;
|
|
2429
2429
|
position: absolute;
|
|
2430
2430
|
left: 14px;
|
|
@@ -2443,8 +2443,7 @@ to {
|
|
|
2443
2443
|
padding: 0 8px;
|
|
2444
2444
|
box-sizing: border-box;
|
|
2445
2445
|
}
|
|
2446
|
-
.u-tabbar__tab-btn[data-v-
|
|
2447
|
-
flex: 1;
|
|
2446
|
+
.u-tabbar__tab-btn[data-v-a50e7599] {
|
|
2448
2447
|
height: 40px;
|
|
2449
2448
|
border-radius: 20px;
|
|
2450
2449
|
background: transparent;
|
|
@@ -2456,25 +2455,25 @@ to {
|
|
|
2456
2455
|
transition: all 200ms ease;
|
|
2457
2456
|
white-space: nowrap;
|
|
2458
2457
|
overflow: hidden;
|
|
2459
|
-
|
|
2458
|
+
padding: 0 16px;
|
|
2460
2459
|
}
|
|
2461
|
-
.u-tabbar__tab-btn--active[data-v-
|
|
2460
|
+
.u-tabbar__tab-btn--active[data-v-a50e7599] {
|
|
2462
2461
|
background: #ffffff;
|
|
2463
2462
|
box-shadow: inset 0 0 0 1px rgba(17, 135, 128, 0.14);
|
|
2464
2463
|
}
|
|
2465
|
-
.u-tabbar__tab-text[data-v-
|
|
2464
|
+
.u-tabbar__tab-text[data-v-a50e7599] {
|
|
2466
2465
|
font-weight: 600;
|
|
2467
2466
|
font-size: 14px;
|
|
2468
2467
|
overflow: hidden;
|
|
2469
2468
|
text-overflow: ellipsis;
|
|
2470
2469
|
}
|
|
2471
|
-
.u-tabbar__center[data-v-
|
|
2470
|
+
.u-tabbar__center[data-v-a50e7599] {
|
|
2472
2471
|
position: relative;
|
|
2473
2472
|
width: 72px;
|
|
2474
2473
|
height: 56px;
|
|
2475
2474
|
flex-shrink: 0;
|
|
2476
2475
|
}
|
|
2477
|
-
.u-tabbar__center-btn[data-v-
|
|
2476
|
+
.u-tabbar__center-btn[data-v-a50e7599] {
|
|
2478
2477
|
position: absolute;
|
|
2479
2478
|
left: 50%;
|
|
2480
2479
|
top: -22px;
|
|
@@ -2492,21 +2491,21 @@ to {
|
|
|
2492
2491
|
box-shadow: 0 8px 20px rgba(8, 112, 106, 0.25);
|
|
2493
2492
|
transition: all 200ms ease;
|
|
2494
2493
|
}
|
|
2495
|
-
.u-tabbar__center-btn[data-v-
|
|
2494
|
+
.u-tabbar__center-btn[data-v-a50e7599]:active {
|
|
2496
2495
|
transform: translateX(-50%) scale(0.95);
|
|
2497
2496
|
}
|
|
2498
|
-
.u-tabbar__center-btn--active[data-v-
|
|
2497
|
+
.u-tabbar__center-btn--active[data-v-a50e7599] {
|
|
2499
2498
|
border-color: #12b6af;
|
|
2500
2499
|
box-shadow: 0 8px 24px rgba(8, 112, 106, 0.35);
|
|
2501
2500
|
}
|
|
2502
|
-
.u-tabbar__center-brand[data-v-
|
|
2501
|
+
.u-tabbar__center-brand[data-v-a50e7599] {
|
|
2503
2502
|
font-size: 22px;
|
|
2504
2503
|
line-height: 1;
|
|
2505
2504
|
font-weight: 700;
|
|
2506
2505
|
color: #12b6af;
|
|
2507
2506
|
letter-spacing: 1px;
|
|
2508
2507
|
}
|
|
2509
|
-
.u-tabbar__center-text[data-v-
|
|
2508
|
+
.u-tabbar__center-text[data-v-a50e7599] {
|
|
2510
2509
|
font-size: 12px;
|
|
2511
2510
|
letter-spacing: 0.5px;
|
|
2512
2511
|
color: #12b6af;
|
package/package.json
CHANGED
package/src/components/index.ts
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
// 组件导出
|
|
2
|
-
export { default as UButton } from './u-button/u-button.vue'
|
|
3
|
-
export { default as UInput } from './u-input/u-input.vue'
|
|
4
|
-
export { default as UCell } from './u-cell/u-cell.vue'
|
|
5
|
-
export { default as UCellGroup } from './u-cell-group/u-cell-group.vue'
|
|
6
|
-
export { default as UModal } from './u-modal/u-modal.vue'
|
|
7
|
-
export { default as UIcon } from './u-icon/u-icon.vue'
|
|
8
|
-
// SVG 图标库
|
|
9
|
-
export * from './u-icon/index'
|
|
10
|
-
export { default as ULoading } from './u-loading/u-loading.vue'
|
|
11
|
-
export { default as UTag } from './u-tag/u-tag.vue'
|
|
12
|
-
export { default as USwitch } from './u-switch/u-switch.vue'
|
|
13
|
-
export { default as UImage } from './u-image/u-image.vue'
|
|
14
|
-
export { default as UDivider } from './u-divider/u-divider.vue'
|
|
15
|
-
export { default as UNoticeBar } from './u-notice-bar/u-notice-bar.vue'
|
|
16
|
-
export { default as ULayout } from './u-layout/u-layout.vue'
|
|
17
|
-
export { default as UBadge } from './u-badge/u-badge.vue'
|
|
18
|
-
export { default as ULoadingPage } from './u-loading-page/u-loading-page.vue'
|
|
19
|
-
export { default as UParse } from './u-parse/u-parse.vue'
|
|
20
|
-
export { default as UKeyboard } from './u-keyboard/u-keyboard.vue'
|
|
21
|
-
export { default as UPicker } from './u-picker/u-picker.vue'
|
|
22
|
-
export { default as UDatetimePicker } from './u-datetime-picker/u-datetime-picker.vue'
|
|
23
|
-
export { default as URate } from './u-rate/u-rate.vue'
|
|
24
|
-
export { default as UGrid } from './u-grid/u-grid.vue'
|
|
25
|
-
export { default as UGridItem } from './u-grid-item/u-grid-item.vue'
|
|
26
|
-
export { default as USwiper } from './u-swiper/u-swiper.vue'
|
|
27
|
-
export { default as USwiperItem } from './u-swiper-item/u-swiper-item.vue'
|
|
28
|
-
export { default as USearch } from './u-search/u-search.vue'
|
|
29
|
-
export { default as UNumberBox } from './u-number-box/u-number-box.vue'
|
|
30
|
-
export { default as UUpload } from './u-upload/u-upload.vue'
|
|
31
|
-
export { default as UTextarea } from './u-textarea/u-textarea.vue'
|
|
32
|
-
export { default as USlider } from './u-slider/u-slider.vue'
|
|
33
|
-
export { default as UList } from './u-list/u-list.vue'
|
|
34
|
-
export { default as UListItem } from './u-list-item/u-list-item.vue'
|
|
35
|
-
export { default as ULineProgress } from './u-line-progress/u-line-progress.vue'
|
|
36
|
-
export { default as UCountDown } from './u-count-down/u-count-down.vue'
|
|
37
|
-
export { default as UTooltip } from './u-tooltip/u-tooltip.vue'
|
|
38
|
-
export { default as UAvatar } from './u-avatar/u-avatar.vue'
|
|
39
|
-
export { default as UEmpty } from './u-empty/u-empty.vue'
|
|
40
|
-
export { default as UCheckbox } from './u-checkbox/u-checkbox.vue'
|
|
41
|
-
export { default as UCheckboxGroup } from './u-checkbox-group/u-checkbox-group.vue'
|
|
42
|
-
export { default as URadio } from './u-radio/u-radio.vue'
|
|
43
|
-
export { default as URadioGroup } from './u-radio-group/u-radio-group.vue'
|
|
44
|
-
export { default as UToast } from './u-toast/u-toast.vue'
|
|
45
|
-
export { default as UPopup } from './u-popup/u-popup.vue'
|
|
46
|
-
export { default as UCodeInput } from './u-code-input/u-code-input.vue'
|
|
47
|
-
export { default as USkeleton } from './u-skeleton/u-skeleton.vue'
|
|
48
|
-
export { default as UTransition } from './u-transition/u-transition.vue'
|
|
49
|
-
export { default as ULink } from './u-link/u-link.vue'
|
|
50
|
-
export { default as UReadMore } from './u-read-more/u-read-more.vue'
|
|
1
|
+
// 组件导出
|
|
2
|
+
export { default as UButton } from './u-button/u-button.vue'
|
|
3
|
+
export { default as UInput } from './u-input/u-input.vue'
|
|
4
|
+
export { default as UCell } from './u-cell/u-cell.vue'
|
|
5
|
+
export { default as UCellGroup } from './u-cell-group/u-cell-group.vue'
|
|
6
|
+
export { default as UModal } from './u-modal/u-modal.vue'
|
|
7
|
+
export { default as UIcon } from './u-icon/u-icon.vue'
|
|
8
|
+
// SVG 图标库
|
|
9
|
+
export * from './u-icon/index'
|
|
10
|
+
export { default as ULoading } from './u-loading/u-loading.vue'
|
|
11
|
+
export { default as UTag } from './u-tag/u-tag.vue'
|
|
12
|
+
export { default as USwitch } from './u-switch/u-switch.vue'
|
|
13
|
+
export { default as UImage } from './u-image/u-image.vue'
|
|
14
|
+
export { default as UDivider } from './u-divider/u-divider.vue'
|
|
15
|
+
export { default as UNoticeBar } from './u-notice-bar/u-notice-bar.vue'
|
|
16
|
+
export { default as ULayout } from './u-layout/u-layout.vue'
|
|
17
|
+
export { default as UBadge } from './u-badge/u-badge.vue'
|
|
18
|
+
export { default as ULoadingPage } from './u-loading-page/u-loading-page.vue'
|
|
19
|
+
export { default as UParse } from './u-parse/u-parse.vue'
|
|
20
|
+
export { default as UKeyboard } from './u-keyboard/u-keyboard.vue'
|
|
21
|
+
export { default as UPicker } from './u-picker/u-picker.vue'
|
|
22
|
+
export { default as UDatetimePicker } from './u-datetime-picker/u-datetime-picker.vue'
|
|
23
|
+
export { default as URate } from './u-rate/u-rate.vue'
|
|
24
|
+
export { default as UGrid } from './u-grid/u-grid.vue'
|
|
25
|
+
export { default as UGridItem } from './u-grid-item/u-grid-item.vue'
|
|
26
|
+
export { default as USwiper } from './u-swiper/u-swiper.vue'
|
|
27
|
+
export { default as USwiperItem } from './u-swiper-item/u-swiper-item.vue'
|
|
28
|
+
export { default as USearch } from './u-search/u-search.vue'
|
|
29
|
+
export { default as UNumberBox } from './u-number-box/u-number-box.vue'
|
|
30
|
+
export { default as UUpload } from './u-upload/u-upload.vue'
|
|
31
|
+
export { default as UTextarea } from './u-textarea/u-textarea.vue'
|
|
32
|
+
export { default as USlider } from './u-slider/u-slider.vue'
|
|
33
|
+
export { default as UList } from './u-list/u-list.vue'
|
|
34
|
+
export { default as UListItem } from './u-list-item/u-list-item.vue'
|
|
35
|
+
export { default as ULineProgress } from './u-line-progress/u-line-progress.vue'
|
|
36
|
+
export { default as UCountDown } from './u-count-down/u-count-down.vue'
|
|
37
|
+
export { default as UTooltip } from './u-tooltip/u-tooltip.vue'
|
|
38
|
+
export { default as UAvatar } from './u-avatar/u-avatar.vue'
|
|
39
|
+
export { default as UEmpty } from './u-empty/u-empty.vue'
|
|
40
|
+
export { default as UCheckbox } from './u-checkbox/u-checkbox.vue'
|
|
41
|
+
export { default as UCheckboxGroup } from './u-checkbox-group/u-checkbox-group.vue'
|
|
42
|
+
export { default as URadio } from './u-radio/u-radio.vue'
|
|
43
|
+
export { default as URadioGroup } from './u-radio-group/u-radio-group.vue'
|
|
44
|
+
export { default as UToast } from './u-toast/u-toast.vue'
|
|
45
|
+
export { default as UPopup } from './u-popup/u-popup.vue'
|
|
46
|
+
export { default as UCodeInput } from './u-code-input/u-code-input.vue'
|
|
47
|
+
export { default as USkeleton } from './u-skeleton/u-skeleton.vue'
|
|
48
|
+
export { default as UTransition } from './u-transition/u-transition.vue'
|
|
49
|
+
export { default as ULink } from './u-link/u-link.vue'
|
|
50
|
+
export { default as UReadMore } from './u-read-more/u-read-more.vue'
|
|
51
51
|
export { default as UTabbar } from './u-tabbar/u-tabbar.vue'
|
|
@@ -1,113 +1,113 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<text
|
|
3
|
-
class="u-link"
|
|
4
|
-
:class="linkClass"
|
|
5
|
-
:style="linkStyle"
|
|
6
|
-
@click="handleClick"
|
|
7
|
-
>
|
|
8
|
-
<slot>{{ text }}</slot>
|
|
9
|
-
</text>
|
|
10
|
-
</template>
|
|
11
|
-
|
|
12
|
-
<script setup lang="ts">
|
|
13
|
-
import { computed } from 'vue'
|
|
14
|
-
|
|
15
|
-
type LinkType = 'default' | 'primary' | 'success' | 'warning' | 'danger'
|
|
16
|
-
|
|
17
|
-
interface Props {
|
|
18
|
-
text?: string
|
|
19
|
-
type?: LinkType
|
|
20
|
-
color?: string
|
|
21
|
-
underline?: boolean
|
|
22
|
-
href?: string
|
|
23
|
-
disabled?: boolean
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
const props = withDefaults(defineProps<Props>(), {
|
|
27
|
-
text: '',
|
|
28
|
-
type: 'default',
|
|
29
|
-
underline: false,
|
|
30
|
-
disabled: false
|
|
31
|
-
})
|
|
32
|
-
|
|
33
|
-
const emit = defineEmits<{
|
|
34
|
-
(e: 'click'): void
|
|
35
|
-
}>()
|
|
36
|
-
|
|
37
|
-
const linkClass = computed(() => [
|
|
38
|
-
`u-link--${props.type}`,
|
|
39
|
-
{
|
|
40
|
-
'u-link--underline': props.underline,
|
|
41
|
-
'u-link--disabled': props.disabled
|
|
42
|
-
}
|
|
43
|
-
])
|
|
44
|
-
|
|
45
|
-
const linkStyle = computed(() => {
|
|
46
|
-
const style: Record<string, string> = {}
|
|
47
|
-
if (props.color) {
|
|
48
|
-
style.color = props.color
|
|
49
|
-
}
|
|
50
|
-
return style
|
|
51
|
-
})
|
|
52
|
-
|
|
53
|
-
const handleClick = () => {
|
|
54
|
-
if (props.disabled) return
|
|
55
|
-
|
|
56
|
-
if (props.href) {
|
|
57
|
-
// 在新窗口打开链接
|
|
58
|
-
// uni-app 环境下使用特定方法
|
|
59
|
-
// #ifdef H5
|
|
60
|
-
window.open(props.href, '_blank')
|
|
61
|
-
// #endif
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
emit('click')
|
|
65
|
-
}
|
|
66
|
-
</script>
|
|
67
|
-
|
|
68
|
-
<script lang="ts">
|
|
69
|
-
export default {
|
|
70
|
-
options: {
|
|
71
|
-
virtualHost: true,
|
|
72
|
-
styleIsolation: 'shared'
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
</script>
|
|
76
|
-
|
|
77
|
-
<style lang="scss" scoped>
|
|
78
|
-
.u-link {
|
|
79
|
-
display: inline;
|
|
80
|
-
color: $--text-color-2;
|
|
81
|
-
font-size: inherit;
|
|
82
|
-
word-break: break-all;
|
|
83
|
-
|
|
84
|
-
&--default {
|
|
85
|
-
color: $--text-color-2;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
&--primary {
|
|
89
|
-
color: $--color-primary;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
&--success {
|
|
93
|
-
color: $--color-success;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
&--warning {
|
|
97
|
-
color: $--color-warning;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
&--danger {
|
|
101
|
-
color: $--color-danger;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
&--underline {
|
|
105
|
-
text-decoration: underline;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
&--disabled {
|
|
109
|
-
color: $--text-color-3;
|
|
110
|
-
opacity: 0.5;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
1
|
+
<template>
|
|
2
|
+
<text
|
|
3
|
+
class="u-link"
|
|
4
|
+
:class="linkClass"
|
|
5
|
+
:style="linkStyle"
|
|
6
|
+
@click="handleClick"
|
|
7
|
+
>
|
|
8
|
+
<slot>{{ text }}</slot>
|
|
9
|
+
</text>
|
|
10
|
+
</template>
|
|
11
|
+
|
|
12
|
+
<script setup lang="ts">
|
|
13
|
+
import { computed } from 'vue'
|
|
14
|
+
|
|
15
|
+
type LinkType = 'default' | 'primary' | 'success' | 'warning' | 'danger'
|
|
16
|
+
|
|
17
|
+
interface Props {
|
|
18
|
+
text?: string
|
|
19
|
+
type?: LinkType
|
|
20
|
+
color?: string
|
|
21
|
+
underline?: boolean
|
|
22
|
+
href?: string
|
|
23
|
+
disabled?: boolean
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
27
|
+
text: '',
|
|
28
|
+
type: 'default',
|
|
29
|
+
underline: false,
|
|
30
|
+
disabled: false
|
|
31
|
+
})
|
|
32
|
+
|
|
33
|
+
const emit = defineEmits<{
|
|
34
|
+
(e: 'click'): void
|
|
35
|
+
}>()
|
|
36
|
+
|
|
37
|
+
const linkClass = computed(() => [
|
|
38
|
+
`u-link--${props.type}`,
|
|
39
|
+
{
|
|
40
|
+
'u-link--underline': props.underline,
|
|
41
|
+
'u-link--disabled': props.disabled
|
|
42
|
+
}
|
|
43
|
+
])
|
|
44
|
+
|
|
45
|
+
const linkStyle = computed(() => {
|
|
46
|
+
const style: Record<string, string> = {}
|
|
47
|
+
if (props.color) {
|
|
48
|
+
style.color = props.color
|
|
49
|
+
}
|
|
50
|
+
return style
|
|
51
|
+
})
|
|
52
|
+
|
|
53
|
+
const handleClick = () => {
|
|
54
|
+
if (props.disabled) return
|
|
55
|
+
|
|
56
|
+
if (props.href) {
|
|
57
|
+
// 在新窗口打开链接
|
|
58
|
+
// uni-app 环境下使用特定方法
|
|
59
|
+
// #ifdef H5
|
|
60
|
+
window.open(props.href, '_blank')
|
|
61
|
+
// #endif
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
emit('click')
|
|
65
|
+
}
|
|
66
|
+
</script>
|
|
67
|
+
|
|
68
|
+
<script lang="ts">
|
|
69
|
+
export default {
|
|
70
|
+
options: {
|
|
71
|
+
virtualHost: true,
|
|
72
|
+
styleIsolation: 'shared'
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
</script>
|
|
76
|
+
|
|
77
|
+
<style lang="scss" scoped>
|
|
78
|
+
.u-link {
|
|
79
|
+
display: inline;
|
|
80
|
+
color: $--text-color-2;
|
|
81
|
+
font-size: inherit;
|
|
82
|
+
word-break: break-all;
|
|
83
|
+
|
|
84
|
+
&--default {
|
|
85
|
+
color: $--text-color-2;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&--primary {
|
|
89
|
+
color: $--color-primary;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
&--success {
|
|
93
|
+
color: $--color-success;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
&--warning {
|
|
97
|
+
color: $--color-warning;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
&--danger {
|
|
101
|
+
color: $--color-danger;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
&--underline {
|
|
105
|
+
text-decoration: underline;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
&--disabled {
|
|
109
|
+
color: $--text-color-3;
|
|
110
|
+
opacity: 0.5;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
113
|
</style>
|