vant 2.13.8 → 2.13.9-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.generated.md +14 -4
- package/es/index.js +1 -1
- package/es/sku/Sku.js +107 -35
- package/es/sku/utils/sku-helper.js +120 -2
- package/lib/index.js +1 -1
- package/lib/sku/Sku.js +109 -37
- package/lib/sku/utils/sku-helper.js +125 -4
- package/lib/vant.js +227 -37
- package/lib/vant.min.js +1 -1
- package/package.json +1 -1
- package/vetur/attributes.json +511 -511
- package/vetur/tags.json +194 -194
- package/vetur/web-types.json +1441 -1441
package/lib/vant.js
CHANGED
@@ -19039,12 +19039,129 @@ var sku_helper_isSkuChoosable = function isSkuChoosable(skuList, selectedSku, sk
|
|
19039
19039
|
return skusToCheck.every(function (skuKey) {
|
19040
19040
|
return String(matchedSku[skuKey]) === String(sku[skuKey]);
|
19041
19041
|
});
|
19042
|
+
}); // 检查是否有非禁用的SKU可选
|
19043
|
+
|
19044
|
+
var availableSku = filteredSku.filter(function (sku) {
|
19045
|
+
return sku.disable_status !== 1;
|
19042
19046
|
});
|
19043
|
-
var stock =
|
19047
|
+
var stock = availableSku.reduce(function (total, sku) {
|
19044
19048
|
total += sku.stock_num;
|
19045
19049
|
return total;
|
19046
19050
|
}, 0);
|
19047
19051
|
return stock > 0;
|
19052
|
+
}; // 根据disable_status字段过滤skuTree
|
19053
|
+
|
19054
|
+
var sku_helper_filterDisabledSkuTree = function filterDisabledSkuTree(skuTree, skuList, selectedSku) {
|
19055
|
+
if (selectedSku === void 0) {
|
19056
|
+
selectedSku = {};
|
19057
|
+
}
|
19058
|
+
|
19059
|
+
if (!(skuList == null ? void 0 : skuList.length)) {
|
19060
|
+
return skuTree;
|
19061
|
+
} // 创建规格树的深拷贝,避免修改原始数据
|
19062
|
+
|
19063
|
+
|
19064
|
+
var treeClone = JSON.parse(JSON.stringify(skuTree)); // 对每个规格值,收集所有包含它的SKU
|
19065
|
+
|
19066
|
+
var specValueToSkus = {}; // 初始化规格值到SKU的映射
|
19067
|
+
|
19068
|
+
treeClone.forEach(function (treeItem) {
|
19069
|
+
var key = treeItem.k_s;
|
19070
|
+
treeItem.v.forEach(function (value) {
|
19071
|
+
var valueId = value.id;
|
19072
|
+
specValueToSkus[key + "-" + valueId] = [];
|
19073
|
+
});
|
19074
|
+
}); // 收集每个规格值对应的所有SKU
|
19075
|
+
|
19076
|
+
skuList.forEach(function (item) {
|
19077
|
+
for (var i = 1; i <= 5; i++) {
|
19078
|
+
var key = "s" + i;
|
19079
|
+
var value = item[key];
|
19080
|
+
|
19081
|
+
if (value && value !== '0') {
|
19082
|
+
var mapKey = key + "-" + value;
|
19083
|
+
|
19084
|
+
if (specValueToSkus[mapKey]) {
|
19085
|
+
specValueToSkus[mapKey].push(item);
|
19086
|
+
}
|
19087
|
+
}
|
19088
|
+
}
|
19089
|
+
}); // 过滤规格树
|
19090
|
+
|
19091
|
+
return treeClone.filter(function (treeItem) {
|
19092
|
+
var key = treeItem.k_s;
|
19093
|
+
var isSelectedSpec = selectedSku[key] && selectedSku[key] !== UNSELECTED_SKU_VALUE_ID; // 过滤规格值
|
19094
|
+
|
19095
|
+
treeItem.v = treeItem.v.filter(function (value) {
|
19096
|
+
var valueId = value.id;
|
19097
|
+
var mapKey = key + "-" + valueId;
|
19098
|
+
var relatedSkus = specValueToSkus[mapKey] || []; // 1. 如果所有包含该规格值的SKU都被明确禁用,则过滤掉该规格值
|
19099
|
+
|
19100
|
+
if (relatedSkus.length > 0) {
|
19101
|
+
var allExplicitlyDisabled = relatedSkus.every(function (sku) {
|
19102
|
+
return sku.disable_status === 1;
|
19103
|
+
});
|
19104
|
+
|
19105
|
+
if (allExplicitlyDisabled) {
|
19106
|
+
return false;
|
19107
|
+
}
|
19108
|
+
} // 2. 如果是已选中的值,保留它
|
19109
|
+
|
19110
|
+
|
19111
|
+
if (isSelectedSpec && String(valueId) === String(selectedSku[key])) {
|
19112
|
+
return true;
|
19113
|
+
} // 3. 如果用户已经选择了其他规格,检查组合
|
19114
|
+
|
19115
|
+
|
19116
|
+
var validSelectedEntries = Object.entries(selectedSku).filter(function (_ref) {
|
19117
|
+
var selectedKey = _ref[0],
|
19118
|
+
val = _ref[1];
|
19119
|
+
return val !== UNSELECTED_SKU_VALUE_ID && selectedKey !== key;
|
19120
|
+
} // 排除当前规格
|
19121
|
+
);
|
19122
|
+
|
19123
|
+
if (validSelectedEntries.length > 0) {
|
19124
|
+
// 创建当前组合
|
19125
|
+
var combinedSelection = {}; // 添加已选规格
|
19126
|
+
|
19127
|
+
validSelectedEntries.forEach(function (_ref2) {
|
19128
|
+
var selectedKey = _ref2[0],
|
19129
|
+
val = _ref2[1];
|
19130
|
+
combinedSelection[selectedKey] = val;
|
19131
|
+
}); // 添加当前正在检查的规格值
|
19132
|
+
|
19133
|
+
combinedSelection[key] = String(valueId); // 查找满足当前组合的SKU
|
19134
|
+
|
19135
|
+
var matchingSku = skuList.filter(function (sku) {
|
19136
|
+
return Object.entries(combinedSelection).every(function (_ref3) {
|
19137
|
+
var selectedKey = _ref3[0],
|
19138
|
+
selectedVal = _ref3[1];
|
19139
|
+
return String(sku[selectedKey]) === String(selectedVal);
|
19140
|
+
});
|
19141
|
+
}); // 如果有匹配的SKU,检查它们是否全部被禁用
|
19142
|
+
|
19143
|
+
if (matchingSku.length > 0) {
|
19144
|
+
var allDisabled = matchingSku.every(function (sku) {
|
19145
|
+
return sku.disable_status === 1;
|
19146
|
+
});
|
19147
|
+
return !allDisabled;
|
19148
|
+
}
|
19149
|
+
} // 默认保留所有规格值
|
19150
|
+
|
19151
|
+
|
19152
|
+
return true;
|
19153
|
+
}); // 如果是已选中的规格项,但过滤后没有包含已选值,则隐藏
|
19154
|
+
|
19155
|
+
if (isSelectedSpec) {
|
19156
|
+
var selectedValueExists = treeItem.v.some(function (value) {
|
19157
|
+
return String(value.id) === String(selectedSku[key]);
|
19158
|
+
});
|
19159
|
+
return selectedValueExists;
|
19160
|
+
} // 如果该规格项下没有规格值了,则隐藏整个规格项
|
19161
|
+
|
19162
|
+
|
19163
|
+
return treeItem.v.length > 0;
|
19164
|
+
});
|
19048
19165
|
};
|
19049
19166
|
var sku_helper_getSelectedPropValues = function getSelectedPropValues(propList, selectedProp) {
|
19050
19167
|
var normalizeProp = normalizePropList(propList);
|
@@ -19079,7 +19196,8 @@ var sku_helper_getSelectedProperties = function getSelectedProperties(propList,
|
|
19079
19196
|
isAllSelected: sku_helper_isAllSelected,
|
19080
19197
|
isSkuChoosable: sku_helper_isSkuChoosable,
|
19081
19198
|
getSelectedPropValues: sku_helper_getSelectedPropValues,
|
19082
|
-
getSelectedProperties: sku_helper_getSelectedProperties
|
19199
|
+
getSelectedProperties: sku_helper_getSelectedProperties,
|
19200
|
+
filterDisabledSkuTree: sku_helper_filterDisabledSkuTree
|
19083
19201
|
});
|
19084
19202
|
// CONCATENATED MODULE: ./es/sku/components/SkuHeader.js
|
19085
19203
|
|
@@ -21204,7 +21322,6 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21204
21322
|
value: function value(val) {
|
21205
21323
|
this.show = val;
|
21206
21324
|
},
|
21207
|
-
skuTree: 'resetSelectedSku',
|
21208
21325
|
initialSku: function initialSku() {
|
21209
21326
|
this.resetStepper();
|
21210
21327
|
this.resetSelectedSku();
|
@@ -21302,7 +21419,13 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21302
21419
|
return this.sku.origin_price;
|
21303
21420
|
},
|
21304
21421
|
skuTree: function skuTree() {
|
21305
|
-
|
21422
|
+
var originTree = this.sku.tree || []; // 避免不必要的重复计算
|
21423
|
+
|
21424
|
+
if (!originTree.length || !this.skuList.length) {
|
21425
|
+
return originTree;
|
21426
|
+
}
|
21427
|
+
|
21428
|
+
return sku_helper_filterDisabledSkuTree(originTree, this.skuList, this.selectedSku);
|
21306
21429
|
},
|
21307
21430
|
skuList: function skuList() {
|
21308
21431
|
return this.sku.list || [];
|
@@ -21424,7 +21547,16 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21424
21547
|
resetSelectedSku: function resetSelectedSku() {
|
21425
21548
|
var _this3 = this;
|
21426
21549
|
|
21427
|
-
this.selectedSku = {}; //
|
21550
|
+
this.selectedSku = {}; // 检查initialSku中指定的值是否全部被禁用
|
21551
|
+
|
21552
|
+
var initialSkuDisabled = this.checkInitialSkuDisabled(); // 如果initialSku中的值全部被禁用,直接返回空选择
|
21553
|
+
|
21554
|
+
if (initialSkuDisabled) {
|
21555
|
+
// 重置商品属性
|
21556
|
+
this.resetSelectedProp();
|
21557
|
+
return;
|
21558
|
+
} // 重置 selectedSku
|
21559
|
+
|
21428
21560
|
|
21429
21561
|
this.skuTree.forEach(function (item) {
|
21430
21562
|
_this3.selectedSku[item.k_s] = UNSELECTED_SKU_VALUE_ID;
|
@@ -21438,7 +21570,18 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21438
21570
|
key: key,
|
21439
21571
|
valueId: valueId
|
21440
21572
|
})) {
|
21441
|
-
|
21573
|
+
// 检查是否有对应的非禁用SKU
|
21574
|
+
var skusWithThisValue = _this3.skuList.filter(function (sku) {
|
21575
|
+
return String(sku[key]) === String(valueId);
|
21576
|
+
});
|
21577
|
+
|
21578
|
+
var hasNonDisabledSku = skusWithThisValue.some(function (sku) {
|
21579
|
+
return sku.disable_status !== 1;
|
21580
|
+
});
|
21581
|
+
|
21582
|
+
if (hasNonDisabledSku) {
|
21583
|
+
_this3.selectedSku[key] = valueId;
|
21584
|
+
}
|
21442
21585
|
}
|
21443
21586
|
});
|
21444
21587
|
var skuValues = this.selectedSkuValues;
|
@@ -21451,8 +21594,51 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21451
21594
|
selectedSkuComb: _this3.selectedSkuComb
|
21452
21595
|
});
|
21453
21596
|
});
|
21454
|
-
}
|
21597
|
+
}
|
21598
|
+
|
21599
|
+
this.resetSelectedProp(); // 抛出重置事件
|
21600
|
+
|
21601
|
+
this.$emit('sku-reset', {
|
21602
|
+
selectedSku: this.selectedSku,
|
21603
|
+
selectedProp: this.selectedProp,
|
21604
|
+
selectedSkuComb: this.selectedSkuComb
|
21605
|
+
});
|
21606
|
+
this.centerInitialSku();
|
21607
|
+
},
|
21608
|
+
// 检查initialSku中指定的值是否全部被禁用
|
21609
|
+
checkInitialSkuDisabled: function checkInitialSkuDisabled() {
|
21610
|
+
var _this4 = this; // 如果没有initialSku或者没有skuList,则不进行检查
|
21611
|
+
|
21612
|
+
|
21613
|
+
if (Object(utils["d" /* isEmpty */])(this.initialSku) || !this.skuList.length) {
|
21614
|
+
return false;
|
21615
|
+
} // 只关注 s1 到 s5 的规格键
|
21616
|
+
|
21617
|
+
|
21618
|
+
var skuKeys = ['s1', 's2', 's3', 's4', 's5']; // 获取initialSku中有效的规格项
|
21619
|
+
|
21620
|
+
var initialSkuKeys = skuKeys.filter(function (key) {
|
21621
|
+
return _this4.initialSku[key] !== undefined && _this4.initialSku[key] !== UNSELECTED_SKU_VALUE_ID && _this4.initialSku[key] !== '';
|
21622
|
+
}); // 如果没有有效的规格项,则不进行检查
|
21623
|
+
|
21624
|
+
if (!initialSkuKeys.length) {
|
21625
|
+
return false;
|
21626
|
+
} // 查找符合initialSku的所有sku组合
|
21627
|
+
|
21628
|
+
|
21629
|
+
var matchedSkus = this.skuList.filter(function (sku) {
|
21630
|
+
return initialSkuKeys.every(function (key) {
|
21631
|
+
return String(sku[key]) === String(_this4.initialSku[key]);
|
21632
|
+
});
|
21633
|
+
}); // 如果没有匹配的sku或者所有匹配的sku都被禁用,则返回true
|
21455
21634
|
|
21635
|
+
return !matchedSkus.length || matchedSkus.every(function (sku) {
|
21636
|
+
return sku.disable_status === 1;
|
21637
|
+
});
|
21638
|
+
},
|
21639
|
+
// 重置商品属性
|
21640
|
+
resetSelectedProp: function resetSelectedProp() {
|
21641
|
+
var _this5 = this;
|
21456
21642
|
|
21457
21643
|
this.selectedProp = {};
|
21458
21644
|
var _this$initialSku$sele = this.initialSku.selectedProp,
|
@@ -21460,7 +21646,7 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21460
21646
|
|
21461
21647
|
this.propList.forEach(function (item) {
|
21462
21648
|
if (selectedProp[item.k_id]) {
|
21463
|
-
|
21649
|
+
_this5.selectedProp[item.k_id] = selectedProp[item.k_id];
|
21464
21650
|
}
|
21465
21651
|
});
|
21466
21652
|
|
@@ -21484,7 +21670,7 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21484
21670
|
});
|
21485
21671
|
|
21486
21672
|
if (firstEnableProp) {
|
21487
|
-
|
21673
|
+
_this5.selectedProp[k_id] = [firstEnableProp.id];
|
21488
21674
|
}
|
21489
21675
|
}
|
21490
21676
|
}
|
@@ -21499,15 +21685,7 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21499
21685
|
selectedProp: this.selectedProp,
|
21500
21686
|
selectedSkuComb: this.selectedSkuComb
|
21501
21687
|
});
|
21502
|
-
}
|
21503
|
-
|
21504
|
-
|
21505
|
-
this.$emit('sku-reset', {
|
21506
|
-
selectedSku: this.selectedSku,
|
21507
|
-
selectedProp: this.selectedProp,
|
21508
|
-
selectedSkuComb: this.selectedSkuComb
|
21509
|
-
});
|
21510
|
-
this.centerInitialSku();
|
21688
|
+
}
|
21511
21689
|
},
|
21512
21690
|
getSkuMessages: function getSkuMessages() {
|
21513
21691
|
return this.$refs.skuMessages ? this.$refs.skuMessages.getMessages() : {};
|
@@ -21536,27 +21714,39 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21536
21714
|
return Sku_t('selectSku');
|
21537
21715
|
},
|
21538
21716
|
onSelect: function onSelect(skuValue) {
|
21539
|
-
var
|
21717
|
+
var _this6 = this; // 点击已选中的sku时则取消选中
|
21540
21718
|
|
21541
21719
|
|
21542
|
-
|
21720
|
+
var newSelectedSku = _extends({}, this.selectedSku);
|
21721
|
+
|
21722
|
+
if (newSelectedSku[skuValue.skuKeyStr] === skuValue.id) {
|
21723
|
+
newSelectedSku[skuValue.skuKeyStr] = UNSELECTED_SKU_VALUE_ID;
|
21724
|
+
} else {
|
21725
|
+
newSelectedSku[skuValue.skuKeyStr] = skuValue.id;
|
21726
|
+
} // 使用 Vue.set 来确保正确触发响应式更新
|
21727
|
+
|
21728
|
+
|
21729
|
+
this.selectedSku = newSelectedSku; // 切换sku清空当前选择属性数据,触发prop-clear
|
21543
21730
|
|
21544
21731
|
if (this.isSkuProperties) {
|
21545
21732
|
this.selectedProp = {};
|
21546
21733
|
this.onPropClear();
|
21547
|
-
}
|
21734
|
+
} // 使用 $nextTick 等待 DOM 更新后再触发事件
|
21548
21735
|
|
21549
|
-
|
21550
|
-
|
21551
|
-
|
21552
|
-
|
21736
|
+
|
21737
|
+
this.$nextTick(function () {
|
21738
|
+
_this6.$emit('sku-selected', {
|
21739
|
+
skuValue: skuValue,
|
21740
|
+
selectedSku: _this6.selectedSku,
|
21741
|
+
selectedSkuComb: _this6.selectedSkuComb
|
21742
|
+
});
|
21553
21743
|
});
|
21554
21744
|
},
|
21555
21745
|
onPropClear: function onPropClear() {
|
21556
21746
|
this.$emit('sku-prop-clear');
|
21557
21747
|
},
|
21558
21748
|
onPropSelect: function onPropSelect(propValue) {
|
21559
|
-
var
|
21749
|
+
var _extends2;
|
21560
21750
|
|
21561
21751
|
var arr = this.selectedProp[propValue.skuKeyStr] || [];
|
21562
21752
|
var pos = arr.indexOf(propValue.id);
|
@@ -21569,7 +21759,7 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21569
21759
|
arr.splice(0, 1, propValue.id);
|
21570
21760
|
}
|
21571
21761
|
|
21572
|
-
this.selectedProp = _extends({}, this.selectedProp, (
|
21762
|
+
this.selectedProp = _extends({}, this.selectedProp, (_extends2 = {}, _extends2[propValue.skuKeyStr] = arr, _extends2));
|
21573
21763
|
this.$emit('sku-prop-selected', {
|
21574
21764
|
propValue: propValue,
|
21575
21765
|
selectedProp: this.selectedProp,
|
@@ -21580,7 +21770,7 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21580
21770
|
this.selectedNum = num;
|
21581
21771
|
},
|
21582
21772
|
onPreviewImage: function onPreviewImage(selectedValue) {
|
21583
|
-
var
|
21773
|
+
var _this7 = this;
|
21584
21774
|
|
21585
21775
|
var imageList = this.imageList;
|
21586
21776
|
var index = 0;
|
@@ -21614,7 +21804,7 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21614
21804
|
images: this.imageList,
|
21615
21805
|
startPosition: index,
|
21616
21806
|
onClose: function onClose() {
|
21617
|
-
|
21807
|
+
_this7.$emit('close-preview', params);
|
21618
21808
|
}
|
21619
21809
|
});
|
21620
21810
|
},
|
@@ -21688,18 +21878,18 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21688
21878
|
this.centerInitialSku();
|
21689
21879
|
},
|
21690
21880
|
centerInitialSku: function centerInitialSku() {
|
21691
|
-
var
|
21881
|
+
var _this8 = this;
|
21692
21882
|
|
21693
21883
|
(this.$refs.skuRows || []).forEach(function (it) {
|
21694
21884
|
var _ref = it.skuRow || {},
|
21695
21885
|
k_s = _ref.k_s;
|
21696
21886
|
|
21697
|
-
it.centerItem(
|
21887
|
+
it.centerItem(_this8.initialSku[k_s]);
|
21698
21888
|
});
|
21699
21889
|
}
|
21700
21890
|
},
|
21701
21891
|
render: function render() {
|
21702
|
-
var
|
21892
|
+
var _this9 = this;
|
21703
21893
|
|
21704
21894
|
var h = arguments[0];
|
21705
21895
|
|
@@ -21731,7 +21921,7 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21731
21921
|
};
|
21732
21922
|
|
21733
21923
|
var slots = function slots(name) {
|
21734
|
-
return
|
21924
|
+
return _this9.slots(name, slotsProps);
|
21735
21925
|
};
|
21736
21926
|
|
21737
21927
|
var Header = slots('sku-header') || h(components_SkuHeader, {
|
@@ -21813,7 +22003,7 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21813
22003
|
},
|
21814
22004
|
"on": {
|
21815
22005
|
"change": function change(event) {
|
21816
|
-
|
22006
|
+
_this9.$emit('stepper-change', event);
|
21817
22007
|
}
|
21818
22008
|
}
|
21819
22009
|
});
|
@@ -21847,9 +22037,9 @@ var Sku_QUOTA_LIMIT = LIMIT_TYPE.QUOTA_LIMIT;
|
|
21847
22037
|
"opened": this.onOpened
|
21848
22038
|
},
|
21849
22039
|
"model": {
|
21850
|
-
value:
|
22040
|
+
value: _this9.show,
|
21851
22041
|
callback: function callback($$v) {
|
21852
|
-
|
22042
|
+
_this9.show = $$v;
|
21853
22043
|
}
|
21854
22044
|
}
|
21855
22045
|
}, [Header, h("div", {
|
@@ -23229,7 +23419,7 @@ TreeSelect.props = {
|
|
23229
23419
|
|
23230
23420
|
|
23231
23421
|
|
23232
|
-
var version = '2.13.
|
23422
|
+
var version = '2.13.9-beta.0';
|
23233
23423
|
|
23234
23424
|
function install(Vue) {
|
23235
23425
|
var components = [action_sheet, address_edit, address_list, es_area, badge, es_button, calendar, card, cascader, cell, cell_group, es_checkbox, checkbox_group, circle, col, collapse, collapse_item, contact_card, contact_edit, contact_list, count_down, es_coupon, coupon_cell, coupon_list, datetime_picker, dialog, divider, dropdown_item, dropdown_menu, empty, es_field, es_form, goods_action, goods_action_button, goods_action_icon, grid, grid_item, es_icon, es_image, image_preview, index_anchor, index_bar, es_info, es_list, es_loading, locale["a" /* default */], nav_bar, notice_bar, notify, number_keyboard, es_overlay, pagination, panel, password_input, es_picker, popover, popup, es_progress, pull_refresh, es_radio, radio_group, es_rate, row, search, share_sheet, sidebar, sidebar_item, skeleton, es_sku, slider, es_step, stepper, steps, es_sticky, submit_bar, swipe, swipe_cell, swipe_item, es_switch, switch_cell, tab, tabbar, tabbar_item, tabs, es_tag, es_toast, tree_select, uploader];
|