@nutui/nutui 3.1.10-beta.1 → 3.1.11-beta.0
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/CHANGELOG.md +26 -0
- package/README.md +2 -2
- package/dist/nutui.d.ts +6 -6
- package/dist/nutui.es.js +1643 -1116
- package/dist/nutui.umd.js +1708 -1181
- package/dist/packages/_es/ActionSheet.js +10 -12
- package/dist/packages/_es/Address.js +31 -33
- package/dist/packages/_es/Avatar.js +5 -4
- package/dist/packages/_es/BackTop.js +5 -4
- package/dist/packages/_es/Badge.js +5 -4
- package/dist/packages/_es/Barrage.js +9 -8
- package/dist/packages/_es/Button.js +6 -5
- package/dist/packages/_es/Calendar.js +14 -16
- package/dist/packages/_es/Cell.js +5 -4
- package/dist/packages/_es/CellGroup.js +8 -7
- package/dist/packages/_es/Checkbox.js +3 -3
- package/dist/packages/_es/CheckboxGroup.js +2 -2
- package/dist/packages/_es/CircleProgress.js +5 -4
- package/dist/packages/_es/Col.js +5 -4
- package/dist/packages/_es/Collapse.js +8 -7
- package/dist/packages/_es/CollapseItem.js +6 -8
- package/dist/packages/_es/CountDown.js +5 -7
- package/dist/packages/_es/CountUp.js +26 -28
- package/dist/packages/_es/DatePicker.js +11 -13
- package/dist/packages/_es/Dialog.js +14 -25
- package/dist/packages/_es/Divider.js +5 -4
- package/dist/packages/_es/Drag.js +5 -4
- package/dist/packages/_es/Elevator.js +19 -21
- package/dist/packages/_es/FixedNav.js +9 -8
- package/dist/packages/_es/Icon.js +40 -6
- package/dist/packages/_es/ImagePreview.js +12 -13
- package/dist/packages/_es/InfiniteLoading.js +5 -7
- package/dist/packages/_es/Input.js +10 -9
- package/dist/packages/_es/InputNumber.js +8 -15
- package/dist/packages/_es/Layout.js +2 -2
- package/dist/packages/_es/Menu.js +203 -0
- package/dist/packages/_es/MenuItem.js +18 -171
- package/dist/packages/_es/Navbar.js +7 -6
- package/dist/packages/_es/NoticeBar.js +9 -11
- package/dist/packages/_es/Notify.js +10 -12
- package/dist/packages/_es/NumberKeyboard.js +5 -4
- package/dist/packages/_es/OverLay.js +5 -7
- package/dist/packages/_es/Pagination.js +7 -6
- package/dist/packages/_es/Picker.js +12 -14
- package/dist/packages/_es/Popover.js +10 -12
- package/dist/packages/_es/Popup.js +9 -11
- package/dist/packages/_es/Price.js +33 -14
- package/dist/packages/_es/Progress.js +5 -4
- package/dist/packages/_es/Radio.js +20 -7
- package/dist/packages/_es/RadioGroup.js +7 -3
- package/dist/packages/_es/Range.js +13 -15
- package/dist/packages/_es/Rate.js +8 -7
- package/dist/packages/_es/Row.js +5 -4
- package/dist/packages/_es/SearchBar.js +56 -55
- package/dist/packages/_es/ShortPassword.js +8 -7
- package/dist/packages/_es/Signature.js +5 -4
- package/dist/packages/_es/Sku.js +533 -0
- package/dist/packages/_es/Step.js +14 -11
- package/dist/packages/_es/Steps.js +2 -2
- package/dist/packages/_es/Swipe.js +5 -7
- package/dist/packages/_es/Swiper.js +12 -11
- package/dist/packages/_es/SwiperItem.js +5 -4
- package/dist/packages/_es/Switch.js +5 -4
- package/dist/packages/_es/TabPane.js +5 -4
- package/dist/packages/_es/Tabbar.js +5 -4
- package/dist/packages/_es/TabbarItem.js +9 -8
- package/dist/packages/_es/Tabs.js +43 -18
- package/dist/packages/_es/Tag.js +16 -18
- package/dist/packages/_es/TextArea.js +6 -5
- package/dist/packages/_es/TimeDetail.js +5 -7
- package/dist/packages/_es/TimePannel.js +5 -7
- package/dist/packages/_es/TimeSelect.js +5 -4
- package/dist/packages/_es/Toast.js +10 -12
- package/dist/packages/_es/Uploader.js +165 -89
- package/dist/packages/_es/Video.js +5 -7
- package/dist/packages/_es/component.js +1 -1
- package/dist/packages/_es/index.js +1 -1
- package/dist/packages/_es/index2.js +1 -1
- package/dist/packages/_es/plugin-vue_export-helper.js +12 -0
- package/dist/packages/_es/pxCheck.js +1 -1
- package/dist/packages/_es/raf.js +1 -1
- package/dist/packages/_es/style.css +160 -0
- package/dist/packages/button/index.scss +3 -0
- package/dist/packages/checkbox/index.scss +2 -0
- package/dist/packages/dialog/index.scss +2 -1
- package/dist/packages/menu/index.scss +70 -4
- package/dist/packages/price/index.scss +40 -3
- package/dist/packages/progress/index.scss +2 -0
- package/dist/packages/radio/index.scss +34 -4
- package/dist/packages/radiogroup/index.scss +20 -0
- package/dist/packages/searchbar/index.scss +35 -30
- package/dist/packages/sku/index.scss +147 -0
- package/dist/packages/tabs/index.scss +47 -19
- package/dist/packages/tag/index.scss +2 -1
- package/dist/packages/uploader/index.scss +94 -8
- package/dist/style.css +1 -1
- package/dist/style.es.js +2 -1
- package/dist/styles/mixins/index.scss +0 -4
- package/dist/styles/themes/default.scss +29 -30
- package/dist/styles/variables.scss +46 -6
- package/package.json +1 -1
- package/dist/packages/_es/Tab.js +0 -178
- package/dist/packages/_es/TabPanel.js +0 -29
- package/dist/packages/_es/index.vue_vue&type=script&lang.js +0 -44
- package/dist/packages/tab/index.scss +0 -182
- package/dist/packages/tabpanel/index.scss +0 -2
|
@@ -109,8 +109,8 @@ $icon-line-height: 20px !default;
|
|
|
109
109
|
|
|
110
110
|
// uploader
|
|
111
111
|
|
|
112
|
-
$uploader-width: 100px !default;
|
|
113
|
-
$uploader-height: 100px !default;
|
|
112
|
+
$uploader-picture-width: 100px !default;
|
|
113
|
+
$uploader-picture-height: 100px !default;
|
|
114
114
|
$uploader-background: #f7f8fa !default;
|
|
115
115
|
|
|
116
116
|
//input
|
|
@@ -149,8 +149,20 @@ $shortpsd-border-color: #ddd !default;
|
|
|
149
149
|
$shortpsd-error: rgba(242, 39, 12, 1) !default;
|
|
150
150
|
$shortpsd-forget: rgba(128, 128, 128, 1) !default;
|
|
151
151
|
|
|
152
|
-
//price
|
|
152
|
+
//large price
|
|
153
|
+
$price-symbol-big-size: 18px !default;
|
|
153
154
|
$price-big-size: 24px !default;
|
|
155
|
+
$price-decimal-big-size: 18px !default;
|
|
156
|
+
|
|
157
|
+
//normal price
|
|
158
|
+
$price-symbol-medium-size: 14px !default;
|
|
159
|
+
$price-medium-size: 16px !default;
|
|
160
|
+
$price-decimal-medium-size: 14px !default;
|
|
161
|
+
|
|
162
|
+
// small price
|
|
163
|
+
$price-symbol-small-size: 10px !default;
|
|
164
|
+
$price-small-size: 12px !default;
|
|
165
|
+
$price-decimal-small-size: 10px !default;
|
|
154
166
|
|
|
155
167
|
//avatar
|
|
156
168
|
$avatar-square: 5px !default;
|
|
@@ -246,10 +258,13 @@ $checkbox-label-disable-color: #999 !default;
|
|
|
246
258
|
$checkbox-icon-disable-color: #d6d6d6 !default;
|
|
247
259
|
|
|
248
260
|
//radio
|
|
249
|
-
$radio-label-color: #1d1e1e !default;
|
|
261
|
+
$radio-label-font-color: #1d1e1e !default;
|
|
262
|
+
$radio-label-font-active-color: #f0250f !default;
|
|
250
263
|
$radio-label-disable-color: #999 !default;
|
|
251
264
|
$radio-icon-disable-color: #d6d6d6 !default;
|
|
252
265
|
|
|
266
|
+
$radio-label-button-border-color: #f0250f !default;
|
|
267
|
+
$radio-label-button-background: rgba(240, 37, 15, 0.05) !default;
|
|
253
268
|
//fixednav
|
|
254
269
|
$fixednav-bg-color: $white !default;
|
|
255
270
|
$fixednav-font-color: $black !default;
|
|
@@ -285,6 +300,8 @@ $timedetail-time-text-color: #999 !default;
|
|
|
285
300
|
$timedetail-time-font-size: $font-size-1 !default;
|
|
286
301
|
//tag
|
|
287
302
|
$tag-font-size: 12px !default;
|
|
303
|
+
$tag-default-border-radius: 4px !default;
|
|
304
|
+
$tag-round-border-radius: 8px !default;
|
|
288
305
|
$tag-default-background-color: #000000 !default;
|
|
289
306
|
$tag-primary-background-color: #3460fa !default;
|
|
290
307
|
$tag-success-background-color: #4fc08d !default;
|
|
@@ -328,18 +345,41 @@ $pagination-disable-background-color: #f7f8fa !default;
|
|
|
328
345
|
$pagination-item-border-width: 1px !default;
|
|
329
346
|
$pagination-item-border-radius: 2px !default;
|
|
330
347
|
$pagination-prev-next-padding: 0 11px !default;
|
|
331
|
-
|
|
332
348
|
// tabs
|
|
333
|
-
$tabs-tab-
|
|
349
|
+
$tabs-tab-smile-color: $primary-color !default;
|
|
334
350
|
$tabs-titles-border-radius: 0 !default;
|
|
335
351
|
$tabs-titles-item-font-size: $font-size-2 !default;
|
|
336
352
|
$tabs-titles-item-color: $title-color !default;
|
|
337
353
|
$tabs-titles-background-color: $help-color !default;
|
|
354
|
+
$tabs-horizontal-tab-line-color: linear-gradient(90deg, #f5503a 0%, #fad1cb 100%) !default;
|
|
338
355
|
$tabs-horizontal-titles-height: 46px !default;
|
|
339
356
|
$tabs-horizontal-titles-item-min-width: 50px !default;
|
|
340
357
|
$tabs-horizontal-titles-item-active-line-width: 40px !default;
|
|
358
|
+
$tabs-vertical-tab-line-color: linear-gradient(180deg, #f5503a 0%, #fad1cb 100%) !default;
|
|
341
359
|
$tabs-vertical-titles-item-height: 40px !default;
|
|
360
|
+
$tabs-vertical-titles-item-active-line-height: 14px !default;
|
|
342
361
|
$tabs-vertical-titles-width: 100px !default;
|
|
343
362
|
|
|
363
|
+
// searchbar
|
|
364
|
+
$searchbar-background: $white !default;
|
|
365
|
+
$searchbar-input-background: #f7f7f7 !default;
|
|
366
|
+
$searchbar-right-out-color: $black !default;
|
|
367
|
+
|
|
368
|
+
// sku
|
|
369
|
+
$sku-item-border: 1px solid $primary-color;
|
|
370
|
+
$sku-item-disable-line: line-through;
|
|
371
|
+
$sku-opetate-bg-default: linear-gradient(
|
|
372
|
+
135deg,
|
|
373
|
+
rgba(242, 20, 12, 1) 0%,
|
|
374
|
+
rgba(242, 39, 12, 1) 70%,
|
|
375
|
+
rgba(242, 77, 12, 1) 100%
|
|
376
|
+
);
|
|
377
|
+
$sku-opetate-bg-buy: linear-gradient(
|
|
378
|
+
135deg,
|
|
379
|
+
rgba(255, 186, 13, 1) 0%,
|
|
380
|
+
rgba(255, 195, 13, 1) 69%,
|
|
381
|
+
rgba(255, 207, 13, 1) 100%
|
|
382
|
+
);
|
|
383
|
+
|
|
344
384
|
@import './mixins/index';
|
|
345
385
|
@import './animation/index';
|
package/package.json
CHANGED
package/dist/packages/_es/Tab.js
DELETED
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @nutui/nutui v3.1.10-beta.1 Thu Oct 28 2021 09:26:47 GMT+0800 (中国标准时间)
|
|
3
|
-
* (c) 2021 @jdf2e.
|
|
4
|
-
* Released under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
import { h, reactive, ref, onMounted, watch, watchEffect, resolveComponent, openBlock, createElementBlock, createElementVNode, normalizeClass, Fragment, renderList, toDisplayString, createBlock, createCommentVNode, createVNode, withCtx, renderSlot } from "vue";
|
|
7
|
-
import { c as createComponent } from "./component.js";
|
|
8
|
-
var TabTitle = {
|
|
9
|
-
setup(props) {
|
|
10
|
-
return () => h(`view`, {}, props.slots);
|
|
11
|
-
},
|
|
12
|
-
props: {
|
|
13
|
-
slots: Object
|
|
14
|
-
}
|
|
15
|
-
};
|
|
16
|
-
const { create } = createComponent("tab");
|
|
17
|
-
var _sfc_main = create({
|
|
18
|
-
props: {
|
|
19
|
-
defaultIndex: {
|
|
20
|
-
type: Number,
|
|
21
|
-
default: 0
|
|
22
|
-
},
|
|
23
|
-
animatedTime: {
|
|
24
|
-
type: Number,
|
|
25
|
-
default: 0
|
|
26
|
-
},
|
|
27
|
-
direction: {
|
|
28
|
-
type: String,
|
|
29
|
-
default: "horizontal"
|
|
30
|
-
},
|
|
31
|
-
noSwiping: {
|
|
32
|
-
type: Boolean,
|
|
33
|
-
default: false
|
|
34
|
-
},
|
|
35
|
-
scrollType: {
|
|
36
|
-
type: String,
|
|
37
|
-
default: "flex"
|
|
38
|
-
},
|
|
39
|
-
iconType: {
|
|
40
|
-
type: String,
|
|
41
|
-
default: "all"
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
components: {
|
|
45
|
-
TabTitle
|
|
46
|
-
},
|
|
47
|
-
emits: ["switch-tab"],
|
|
48
|
-
setup(props, ctx) {
|
|
49
|
-
const titles = reactive([]);
|
|
50
|
-
ref(false);
|
|
51
|
-
const activeIndex = ref(props.defaultIndex);
|
|
52
|
-
const navlist = ref(null);
|
|
53
|
-
const nutuiSwiper = ref(null);
|
|
54
|
-
function createHash() {
|
|
55
|
-
return Array.from(Array(10), () => Math.floor(Math.random() * 36).toString(36)).join("");
|
|
56
|
-
}
|
|
57
|
-
const swiperClassName = ref("swiper-" + createHash());
|
|
58
|
-
function centerTitle(index) {
|
|
59
|
-
if (navlist.value) {
|
|
60
|
-
const currEle = navlist.value.querySelectorAll(".tab-title-box")[index];
|
|
61
|
-
if (props.direction === "vertical") {
|
|
62
|
-
const currTitleTop = navlist.value.offsetTop;
|
|
63
|
-
const currTop = currEle.offsetTop;
|
|
64
|
-
const currHeight = currEle.offsetHeight;
|
|
65
|
-
const tapHeight = navlist.value.offsetHeight;
|
|
66
|
-
navlist.value.scroll(0, currTop - currTitleTop - tapHeight / 2 + currHeight / 2);
|
|
67
|
-
} else {
|
|
68
|
-
const currLeft = currEle.offsetLeft;
|
|
69
|
-
const currWidth = currEle.offsetWidth;
|
|
70
|
-
const tapWidth = navlist.value.offsetWidth;
|
|
71
|
-
navlist.value.scroll(currLeft - tapWidth / 2 + currWidth / 2, 0);
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
const changeTab = (index) => {
|
|
76
|
-
activeIndex.value = index;
|
|
77
|
-
centerTitle(index);
|
|
78
|
-
};
|
|
79
|
-
function switchTitle(index) {
|
|
80
|
-
activeIndex.value = index;
|
|
81
|
-
centerTitle(index);
|
|
82
|
-
nutuiSwiper.value.to(index);
|
|
83
|
-
}
|
|
84
|
-
function initTitle() {
|
|
85
|
-
titles.length = 0;
|
|
86
|
-
if (ctx.slots.default) {
|
|
87
|
-
const slots = ctx.slots.default().length === 1 ? ctx.slots.default()[0].children : ctx.slots.default();
|
|
88
|
-
slots && slots.map((item, index) => {
|
|
89
|
-
if (typeof item.children == "string")
|
|
90
|
-
return;
|
|
91
|
-
titles.push({
|
|
92
|
-
title: item.props && item.props["tab-title"] ? item.props["tab-title"] : "",
|
|
93
|
-
content: item.children && item.children.header ? item.children.header() : null
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
onMounted(() => {
|
|
99
|
-
initTitle();
|
|
100
|
-
});
|
|
101
|
-
watch(() => ctx.slots.default(), (val, oldVal) => {
|
|
102
|
-
if (val) {
|
|
103
|
-
ctx.slots.default();
|
|
104
|
-
initTitle();
|
|
105
|
-
}
|
|
106
|
-
});
|
|
107
|
-
watchEffect(() => {
|
|
108
|
-
activeIndex.value = props.defaultIndex;
|
|
109
|
-
});
|
|
110
|
-
watch(() => activeIndex.value, (val, oldVal) => {
|
|
111
|
-
ctx.emit("switch-tab", activeIndex.value);
|
|
112
|
-
});
|
|
113
|
-
return {
|
|
114
|
-
swiperClassName,
|
|
115
|
-
titles,
|
|
116
|
-
navlist,
|
|
117
|
-
activeIndex,
|
|
118
|
-
switchTitle,
|
|
119
|
-
changeTab,
|
|
120
|
-
nutuiSwiper
|
|
121
|
-
};
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
const _hoisted_1 = { class: "nutui-tab" };
|
|
125
|
-
const _hoisted_2 = ["onClick"];
|
|
126
|
-
const _hoisted_3 = { class: "world" };
|
|
127
|
-
const _hoisted_4 = /* @__PURE__ */ createElementVNode("view", { class: "underline" }, null, -1);
|
|
128
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
129
|
-
const _component_TabTitle = resolveComponent("TabTitle");
|
|
130
|
-
const _component_nut_swiper = resolveComponent("nut-swiper");
|
|
131
|
-
return openBlock(), createElementBlock("view", _hoisted_1, [
|
|
132
|
-
createElementVNode("view", {
|
|
133
|
-
class: normalizeClass([_ctx.direction === "vertical" ? "vertical-tab" : "horizontal-tab"])
|
|
134
|
-
}, [
|
|
135
|
-
createElementVNode("view", {
|
|
136
|
-
class: normalizeClass(["tab-title", _ctx.iconType, "tab-title-scroll"]),
|
|
137
|
-
ref: "navlist"
|
|
138
|
-
}, [
|
|
139
|
-
(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.titles, (item, index) => {
|
|
140
|
-
return openBlock(), createElementBlock("view", {
|
|
141
|
-
class: normalizeClass([
|
|
142
|
-
"tab-title-box",
|
|
143
|
-
{ "nut-tab-active": _ctx.activeIndex == index },
|
|
144
|
-
{ "tab-title-box-scroll": _ctx.scrollType == "scroll" }
|
|
145
|
-
]),
|
|
146
|
-
key: index,
|
|
147
|
-
onClick: ($event) => _ctx.switchTitle(index, $event)
|
|
148
|
-
}, [
|
|
149
|
-
createElementVNode("span", _hoisted_3, toDisplayString(item.title), 1),
|
|
150
|
-
item.content ? (openBlock(), createBlock(_component_TabTitle, {
|
|
151
|
-
key: 0,
|
|
152
|
-
slots: item.content
|
|
153
|
-
}, null, 8, ["slots"])) : createCommentVNode("", true)
|
|
154
|
-
], 10, _hoisted_2);
|
|
155
|
-
}), 128)),
|
|
156
|
-
_hoisted_4
|
|
157
|
-
], 2),
|
|
158
|
-
createVNode(_component_nut_swiper, {
|
|
159
|
-
"init-page": _ctx.defaultIndex,
|
|
160
|
-
"pagination-visible": false,
|
|
161
|
-
duration: _ctx.animatedTime,
|
|
162
|
-
"pagination-color": "#426543",
|
|
163
|
-
onChange: _ctx.changeTab,
|
|
164
|
-
ref: "nutuiSwiper",
|
|
165
|
-
touchable: !_ctx.noSwiping,
|
|
166
|
-
direction: _ctx.direction,
|
|
167
|
-
class: "tab-swiper"
|
|
168
|
-
}, {
|
|
169
|
-
default: withCtx(() => [
|
|
170
|
-
renderSlot(_ctx.$slots, "default")
|
|
171
|
-
]),
|
|
172
|
-
_: 3
|
|
173
|
-
}, 8, ["init-page", "duration", "onChange", "touchable", "direction"])
|
|
174
|
-
], 2)
|
|
175
|
-
]);
|
|
176
|
-
}
|
|
177
|
-
_sfc_main.render = _sfc_render;
|
|
178
|
-
export { _sfc_main as default };
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @nutui/nutui v3.1.10-beta.1 Thu Oct 28 2021 09:26:47 GMT+0800 (中国标准时间)
|
|
3
|
-
* (c) 2021 @jdf2e.
|
|
4
|
-
* Released under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
import { c as createComponent } from "./component.js";
|
|
7
|
-
import { resolveComponent, openBlock, createBlock, withCtx, renderSlot } from "vue";
|
|
8
|
-
const { create } = createComponent("tab-panel");
|
|
9
|
-
var _sfc_main = create({
|
|
10
|
-
props: {
|
|
11
|
-
tabTitle: {
|
|
12
|
-
type: String,
|
|
13
|
-
default: ""
|
|
14
|
-
}
|
|
15
|
-
},
|
|
16
|
-
setup(props, ctx) {
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
20
|
-
const _component_nut_swiper_item = resolveComponent("nut-swiper-item");
|
|
21
|
-
return openBlock(), createBlock(_component_nut_swiper_item, null, {
|
|
22
|
-
default: withCtx(() => [
|
|
23
|
-
renderSlot(_ctx.$slots, "default")
|
|
24
|
-
]),
|
|
25
|
-
_: 3
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
_sfc_main.render = _sfc_render;
|
|
29
|
-
export { _sfc_main as default };
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* @nutui/nutui v3.1.10-beta.1 Thu Oct 28 2021 09:26:47 GMT+0800 (中国标准时间)
|
|
3
|
-
* (c) 2021 @jdf2e.
|
|
4
|
-
* Released under the MIT License.
|
|
5
|
-
*/
|
|
6
|
-
import { h } from "vue";
|
|
7
|
-
import { c as createComponent } from "./component.js";
|
|
8
|
-
import { p as pxCheck } from "./pxCheck.js";
|
|
9
|
-
const { componentName, create } = createComponent("icon");
|
|
10
|
-
var _sfc_main = create({
|
|
11
|
-
props: {
|
|
12
|
-
name: { type: String, default: "" },
|
|
13
|
-
size: { type: [String, Number], default: "" },
|
|
14
|
-
classPrefix: { type: String, default: "nut-icon" },
|
|
15
|
-
fontClassName: { type: String, default: "nutui-iconfont" },
|
|
16
|
-
color: { type: String, default: "" },
|
|
17
|
-
tag: { type: String, default: "i" }
|
|
18
|
-
},
|
|
19
|
-
emits: ["click"],
|
|
20
|
-
setup(props, { emit, slots }) {
|
|
21
|
-
const handleClick = (event) => {
|
|
22
|
-
emit("click", event);
|
|
23
|
-
};
|
|
24
|
-
const isImage = () => {
|
|
25
|
-
return props.name ? props.name.indexOf("/") !== -1 : false;
|
|
26
|
-
};
|
|
27
|
-
return () => {
|
|
28
|
-
var _a;
|
|
29
|
-
const _isImage = isImage();
|
|
30
|
-
return h(_isImage ? "img" : props.tag, {
|
|
31
|
-
class: _isImage ? `${componentName}__img` : `${props.fontClassName} ${componentName} ${props.classPrefix}-${props.name}`,
|
|
32
|
-
style: {
|
|
33
|
-
color: props.color,
|
|
34
|
-
fontSize: pxCheck(props.size),
|
|
35
|
-
width: pxCheck(props.size),
|
|
36
|
-
height: pxCheck(props.size)
|
|
37
|
-
},
|
|
38
|
-
onClick: handleClick,
|
|
39
|
-
src: _isImage ? props.name : ""
|
|
40
|
-
}, (_a = slots.default) == null ? void 0 : _a.call(slots));
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
});
|
|
44
|
-
export { _sfc_main as _ };
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
.nutui-tab {
|
|
2
|
-
.horizontal-tab {
|
|
3
|
-
.tab-title-scroll {
|
|
4
|
-
width: 100%;
|
|
5
|
-
height: 46px;
|
|
6
|
-
overflow-x: scroll;
|
|
7
|
-
display: flex;
|
|
8
|
-
flex-wrap: nowrap;
|
|
9
|
-
scroll-behavior: smooth;
|
|
10
|
-
background: #f5f5f5;
|
|
11
|
-
}
|
|
12
|
-
.tab-title {
|
|
13
|
-
width: 100%;
|
|
14
|
-
height: 46px;
|
|
15
|
-
display: flex;
|
|
16
|
-
flex-direction: row;
|
|
17
|
-
flex-wrap: nowrap;
|
|
18
|
-
scroll-behavior: smooth;
|
|
19
|
-
background: #f5f5f5;
|
|
20
|
-
position: relative;
|
|
21
|
-
&::-webkit-scrollbar {
|
|
22
|
-
display: none;
|
|
23
|
-
}
|
|
24
|
-
.underline {
|
|
25
|
-
position: absolute;
|
|
26
|
-
}
|
|
27
|
-
.tab-title-box {
|
|
28
|
-
height: 100%;
|
|
29
|
-
display: flex;
|
|
30
|
-
flex: 1;
|
|
31
|
-
justify-content: center;
|
|
32
|
-
align-items: center;
|
|
33
|
-
box-sizing: border-box;
|
|
34
|
-
text-align: center;
|
|
35
|
-
font-size: 14px;
|
|
36
|
-
}
|
|
37
|
-
.tab-title-box-scroll {
|
|
38
|
-
min-width: 75px;
|
|
39
|
-
}
|
|
40
|
-
.nut-tab-active {
|
|
41
|
-
color: #1a1a1a;
|
|
42
|
-
font-weight: bold;
|
|
43
|
-
font-size: 16px;
|
|
44
|
-
position: relative;
|
|
45
|
-
&::after {
|
|
46
|
-
content: '';
|
|
47
|
-
position: absolute;
|
|
48
|
-
bottom: 5px;
|
|
49
|
-
left: 50%;
|
|
50
|
-
transform: translateX(-50%);
|
|
51
|
-
width: 12px;
|
|
52
|
-
height: 4px;
|
|
53
|
-
background-image: url('https://img12.360buyimg.com/imagetools/jfs/t1/127200/40/18747/536/5fb36b5aE61cac2d8/638032e8da9b93f4.png');
|
|
54
|
-
background-size: 100% 100%;
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
.tab-title-scroll {
|
|
59
|
-
overflow-x: scroll;
|
|
60
|
-
}
|
|
61
|
-
.half {
|
|
62
|
-
.nut-tab-active {
|
|
63
|
-
color: #1a1a1a;
|
|
64
|
-
font-weight: bold;
|
|
65
|
-
font-size: 16px;
|
|
66
|
-
position: relative;
|
|
67
|
-
&::after {
|
|
68
|
-
content: '';
|
|
69
|
-
display: none;
|
|
70
|
-
}
|
|
71
|
-
.world {
|
|
72
|
-
position: relative;
|
|
73
|
-
&::after {
|
|
74
|
-
content: '';
|
|
75
|
-
position: absolute;
|
|
76
|
-
right: -8px;
|
|
77
|
-
bottom: -5px;
|
|
78
|
-
width: 11px;
|
|
79
|
-
height: 10px;
|
|
80
|
-
background-image: url('https://img12.360buyimg.com/imagetools/jfs/t1/197875/38/105/620/60ffcd30E34877e77/54c3dd9fe0a5ab76.png');
|
|
81
|
-
background-size: 100% 100%;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
.tab-swiper {
|
|
87
|
-
overflow: hidden;
|
|
88
|
-
display: block;
|
|
89
|
-
width: 100%;
|
|
90
|
-
height: 200px;
|
|
91
|
-
background: #fff;
|
|
92
|
-
box-sizing: border-box;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
.vertical-tab {
|
|
96
|
-
display: flex;
|
|
97
|
-
height: 175px;
|
|
98
|
-
.tab-title-scroll {
|
|
99
|
-
width: 100px;
|
|
100
|
-
height: 175px;
|
|
101
|
-
display: flex;
|
|
102
|
-
flex-wrap: nowrap;
|
|
103
|
-
scroll-behavior: smooth;
|
|
104
|
-
background: #f5f5f5;
|
|
105
|
-
}
|
|
106
|
-
.tab-title {
|
|
107
|
-
width: 100px;
|
|
108
|
-
height: 100%;
|
|
109
|
-
display: flex;
|
|
110
|
-
flex-direction: column;
|
|
111
|
-
&::-webkit-scrollbar {
|
|
112
|
-
display: none;
|
|
113
|
-
}
|
|
114
|
-
.tab-title-box {
|
|
115
|
-
width: 100%;
|
|
116
|
-
flex: 1;
|
|
117
|
-
display: flex;
|
|
118
|
-
justify-content: center;
|
|
119
|
-
align-items: center;
|
|
120
|
-
background-color: #f5f5f5;
|
|
121
|
-
}
|
|
122
|
-
.tab-title-box-scroll {
|
|
123
|
-
min-height: 50px;
|
|
124
|
-
}
|
|
125
|
-
.nut-tab-active {
|
|
126
|
-
color: #1a1a1a;
|
|
127
|
-
font-weight: bold;
|
|
128
|
-
font-size: 16px;
|
|
129
|
-
position: relative;
|
|
130
|
-
background-color: #fff;
|
|
131
|
-
&::after {
|
|
132
|
-
content: '';
|
|
133
|
-
position: absolute;
|
|
134
|
-
right: -4px;
|
|
135
|
-
top: 50%;
|
|
136
|
-
left: auto;
|
|
137
|
-
transform: translateY(-50%) rotate(270deg);
|
|
138
|
-
width: 12px;
|
|
139
|
-
height: 4px;
|
|
140
|
-
background-image: url('https://img12.360buyimg.com/imagetools/jfs/t1/127200/40/18747/536/5fb36b5aE61cac2d8/638032e8da9b93f4.png');
|
|
141
|
-
background-size: 100% 100%;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
.tab-title-scroll {
|
|
146
|
-
overflow-y: scroll;
|
|
147
|
-
}
|
|
148
|
-
.half {
|
|
149
|
-
.nut-tab-active {
|
|
150
|
-
color: #1a1a1a;
|
|
151
|
-
font-weight: bold;
|
|
152
|
-
font-size: 16px;
|
|
153
|
-
position: relative;
|
|
154
|
-
&::after {
|
|
155
|
-
content: '';
|
|
156
|
-
display: none;
|
|
157
|
-
}
|
|
158
|
-
.world {
|
|
159
|
-
position: relative;
|
|
160
|
-
&::after {
|
|
161
|
-
content: '';
|
|
162
|
-
position: absolute;
|
|
163
|
-
right: -15px;
|
|
164
|
-
bottom: -5px;
|
|
165
|
-
width: 11px;
|
|
166
|
-
height: 10px;
|
|
167
|
-
background-image: url('https://img12.360buyimg.com/imagetools/jfs/t1/197875/38/105/620/60ffcd30E34877e77/54c3dd9fe0a5ab76.png');
|
|
168
|
-
background-size: 100% 100%;
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
.tab-swiper {
|
|
174
|
-
overflow: hidden;
|
|
175
|
-
display: block;
|
|
176
|
-
flex: 1;
|
|
177
|
-
height: 100%;
|
|
178
|
-
background: #fff;
|
|
179
|
-
box-sizing: border-box;
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
}
|