zartui 1.0.21 → 1.0.23

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/lib/index.js CHANGED
@@ -226,6 +226,10 @@ var _radioGroup = _interopRequireDefault(require("./radio-group"));
226
226
 
227
227
  exports.RadioGroup = _radioGroup.default;
228
228
 
229
+ var _radioPicker = _interopRequireDefault(require("./radio-picker"));
230
+
231
+ exports.RadioPicker = _radioPicker.default;
232
+
229
233
  var _rate = _interopRequireDefault(require("./rate"));
230
234
 
231
235
  exports.Rate = _rate.default;
@@ -321,11 +325,11 @@ exports.Toast = _toast.default;
321
325
  var _uploader = _interopRequireDefault(require("./uploader"));
322
326
 
323
327
  exports.Uploader = _uploader.default;
324
- var version = '1.0.21';
328
+ var version = '1.0.23';
325
329
  exports.version = version;
326
330
 
327
331
  function install(Vue) {
328
- var components = [_actionSheet.default, _area.default, _avatar.default, _backTop.default, _badge.default, _button.default, _calendar.default, _cascader.default, _cell.default, _cellGroup.default, _checkbox.default, _checkboxGroup.default, _circle.default, _col.default, _collapse.default, _collapseItem.default, _countDown.default, _datetimePicker.default, _dialog.default, _divider.default, _dropdownItem.default, _dropdownMenu.default, _empty.default, _field.default, _foldDialog.default, _form.default, _grid.default, _gridItem.default, _hierarchySelect.default, _icon.default, _image.default, _imagePreview.default, _indexAnchor.default, _indexBar.default, _info.default, _lazyload.default, _list.default, _loading.default, _locale.default, _mediaPicker.default, _mediaPlayer.default, _multiplePicker.default, _navBar.default, _noticeBar.default, _numberKeyboard.default, _overlay.default, _passwordInput.default, _pdfViewer.default, _pdfViewerV.default, _picker.default, _popover.default, _popup.default, _pullRefresh.default, _radio.default, _radioGroup.default, _rate.default, _row.default, _search.default, _signature.default, _skeleton.default, _slider.default, _step.default, _stepper.default, _steps.default, _sticky.default, _swipe.default, _swipeCell.default, _swipeItem.default, _switch.default, _switchCell.default, _tab.default, _tabbar.default, _tabbarItem.default, _table.default, _tabs.default, _tag.default, _timeline.default, _toast.default, _uploader.default];
332
+ var components = [_actionSheet.default, _area.default, _avatar.default, _backTop.default, _badge.default, _button.default, _calendar.default, _cascader.default, _cell.default, _cellGroup.default, _checkbox.default, _checkboxGroup.default, _circle.default, _col.default, _collapse.default, _collapseItem.default, _countDown.default, _datetimePicker.default, _dialog.default, _divider.default, _dropdownItem.default, _dropdownMenu.default, _empty.default, _field.default, _foldDialog.default, _form.default, _grid.default, _gridItem.default, _hierarchySelect.default, _icon.default, _image.default, _imagePreview.default, _indexAnchor.default, _indexBar.default, _info.default, _lazyload.default, _list.default, _loading.default, _locale.default, _mediaPicker.default, _mediaPlayer.default, _multiplePicker.default, _navBar.default, _noticeBar.default, _numberKeyboard.default, _overlay.default, _passwordInput.default, _pdfViewer.default, _pdfViewerV.default, _picker.default, _popover.default, _popup.default, _pullRefresh.default, _radio.default, _radioGroup.default, _radioPicker.default, _rate.default, _row.default, _search.default, _signature.default, _skeleton.default, _slider.default, _step.default, _stepper.default, _steps.default, _sticky.default, _swipe.default, _swipeCell.default, _swipeItem.default, _switch.default, _switchCell.default, _tab.default, _tabbar.default, _tabbarItem.default, _table.default, _tabs.default, _tag.default, _timeline.default, _toast.default, _uploader.default];
329
333
  components.forEach(function (item) {
330
334
  if (item.install) {
331
335
  Vue.use(item);
package/lib/index.less CHANGED
@@ -64,6 +64,7 @@
64
64
  @import "./index-bar/index.less";
65
65
  @import "./password-input/index.less";
66
66
  @import "./radio-group/index.less";
67
+ @import "./radio-picker/index.less";
67
68
  @import "./row/index.less";
68
69
  @import "./skeleton/index.less";
69
70
  @import "./slider/index.less";
@@ -0,0 +1,441 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ exports.__esModule = true;
6
+ exports.default = exports.MOMENTUM_LIMIT_DISTANCE = exports.MOMENTUM_LIMIT_TIME = void 0;
7
+
8
+ var _babelHelperVueJsxMergeProps = _interopRequireDefault(require("@vue/babel-helper-vue-jsx-merge-props"));
9
+
10
+ var _empty = _interopRequireDefault(require("../empty"));
11
+
12
+ var _touch = require("../mixins/touch");
13
+
14
+ var _radio = _interopRequireDefault(require("../radio"));
15
+
16
+ var _radioGroup = _interopRequireDefault(require("../radio-group"));
17
+
18
+ var _utils = require("../utils");
19
+
20
+ var _deepClone = require("../utils/deep-clone");
21
+
22
+ var _event = require("../utils/dom/event");
23
+
24
+ var _number = require("../utils/format/number");
25
+
26
+ var DEFAULT_DURATION = 200;
27
+ /** 最底部的一个选项,在滚动到地图时,会有一个距离被截断,这里需要加回来 */
28
+
29
+ var RADIO_COLUMN_BOTTOM_ITEM_EMPTY_LEN = 10; // 惯性滑动思路:
30
+ // 在手指离开屏幕时,如果和上一次 move 时的间隔小于 `MOMENTUM_LIMIT_TIME` 且 move
31
+ // 距离大于 `MOMENTUM_LIMIT_DISTANCE` 时,执行惯性滑动
32
+
33
+ var MOMENTUM_LIMIT_TIME = 300;
34
+ exports.MOMENTUM_LIMIT_TIME = MOMENTUM_LIMIT_TIME;
35
+ var MOMENTUM_LIMIT_DISTANCE = 15;
36
+ exports.MOMENTUM_LIMIT_DISTANCE = MOMENTUM_LIMIT_DISTANCE;
37
+
38
+ var _createNamespace = (0, _utils.createNamespace)('radio-picker-column'),
39
+ createComponent = _createNamespace[0],
40
+ bem = _createNamespace[1];
41
+
42
+ function getElementTranslateY(element) {
43
+ var style = window.getComputedStyle(element);
44
+ var transform = style.transform || style.webkitTransform;
45
+ var translateY = transform.slice(7, transform.length - 1).split(', ')[5];
46
+ return Number(translateY);
47
+ }
48
+
49
+ function isOptionDisabled(option) {
50
+ return (0, _utils.isObject)(option) && option.disabled;
51
+ } // use standard WheelEvent:
52
+ // https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent
53
+
54
+
55
+ var supportMousewheel = _utils.inBrowser && 'onwheel' in window;
56
+ var mousewheelTimer = null;
57
+
58
+ var _default2 = createComponent({
59
+ mixins: [_touch.TouchMixin],
60
+ props: {
61
+ columnCollector: Array,
62
+ valueKey: String,
63
+ readonly: Boolean,
64
+ allowHtml: Boolean,
65
+ className: String,
66
+ searchVal: String,
67
+ toolbarPosition: String,
68
+ wrapHeight: Number,
69
+ defaultIndex: Number,
70
+ swipeDuration: [Number, String],
71
+ initialOptions: {
72
+ type: Array,
73
+ default: function _default() {
74
+ return [];
75
+ }
76
+ },
77
+ searchable: {
78
+ type: Boolean,
79
+ default: false
80
+ }
81
+ },
82
+ data: function data() {
83
+ return {
84
+ // 列表滚动了距离顶部多少距离
85
+ offset: 0,
86
+ duration: 0,
87
+ options: (0, _deepClone.deepClone)(this.initialOptions),
88
+ currentIndex: this.defaultIndex,
89
+ confirmIndex: '',
90
+ isSearchEmpty: false
91
+ };
92
+ },
93
+ created: function created() {
94
+ if (this.columnCollector) {
95
+ this.columnCollector.push(this);
96
+ }
97
+
98
+ this.setIndex(this.currentIndex);
99
+ },
100
+ mounted: function mounted() {
101
+ this.bindTouchEvent(this.$el);
102
+
103
+ if (supportMousewheel) {
104
+ (0, _event.on)(this.$refs.wrapper, 'wheel', this.onMouseWheel, false);
105
+ }
106
+ },
107
+ destroyed: function destroyed() {
108
+ if (this.columnCollector) {
109
+ this.columnCollector.splice(this.columnCollector.indexOf(this), 1);
110
+ }
111
+
112
+ if (supportMousewheel) {
113
+ (0, _event.off)(this.$el, 'wheel');
114
+ }
115
+ },
116
+ watch: {
117
+ initialOptions: 'setOptions',
118
+ defaultIndex: function defaultIndex(val) {
119
+ this.setIndex(val);
120
+ },
121
+ searchVal: function searchVal() {
122
+ var _this = this;
123
+
124
+ // 查询的时候,这个需要回到顶部看数据
125
+ this.offset = this.baseOffset; // 判断是否搜索结果为空的
126
+
127
+ if (this.searchable) {
128
+ this.isSearchEmpty = !this.options.some(function (option) {
129
+ var text = _this.getOptionText(option); // 支持搜索处理
130
+
131
+
132
+ return text == null ? void 0 : text.includes(_this.searchVal);
133
+ });
134
+ }
135
+ }
136
+ },
137
+ computed: {
138
+ count: function count() {
139
+ return this.options.length;
140
+ },
141
+ baseOffset: function baseOffset() {
142
+ return 0;
143
+ }
144
+ },
145
+ methods: {
146
+ setOptions: function setOptions(options) {
147
+ if (JSON.stringify(options) !== JSON.stringify(this.options)) {
148
+ this.options = (0, _deepClone.deepClone)(options);
149
+ this.setIndex(this.defaultIndex);
150
+ }
151
+ },
152
+ onTouchStart: function onTouchStart(event) {
153
+ this.touchStart(event);
154
+
155
+ if (this.moving) {
156
+ var translateY = getElementTranslateY(this.$refs.wrapper);
157
+ this.offset = Math.min(0, translateY - this.baseOffset);
158
+ this.startOffset = this.offset;
159
+ } else {
160
+ this.startOffset = this.offset;
161
+ }
162
+
163
+ this.duration = 0;
164
+ this.transitionEndTrigger = null;
165
+ this.touchStartTime = Date.now();
166
+ this.momentumOffset = this.startOffset;
167
+ },
168
+ onTouchMove: function onTouchMove(event) {
169
+ this.touchMove(event);
170
+
171
+ if (this.direction === 'vertical') {
172
+ this.moving = true;
173
+ (0, _event.preventDefault)(event, true);
174
+ } // 在这个范围里面滚动
175
+
176
+
177
+ this.setRangeOffset(this.startOffset + this.deltaY);
178
+ var now = Date.now();
179
+
180
+ if (now - this.touchStartTime > MOMENTUM_LIMIT_TIME) {
181
+ this.touchStartTime = now;
182
+ this.momentumOffset = this.offset;
183
+ }
184
+ },
185
+ onTouchEnd: function onTouchEnd() {
186
+ var _this2 = this;
187
+
188
+ var distance = this.offset - this.momentumOffset;
189
+ var duration = Date.now() - this.touchStartTime;
190
+ var allowMomentum = duration < MOMENTUM_LIMIT_TIME && Math.abs(distance) > MOMENTUM_LIMIT_DISTANCE;
191
+
192
+ if (allowMomentum) {
193
+ this.momentum(distance, duration);
194
+ return;
195
+ }
196
+
197
+ this.duration = DEFAULT_DURATION; // compatible with desktop scenario
198
+ // use setTimeout to skip the click event Emitted after touchstart
199
+
200
+ setTimeout(function () {
201
+ _this2.moving = false;
202
+ }, 0);
203
+ },
204
+ onMouseWheel: function onMouseWheel(event) {
205
+ var _this3 = this;
206
+
207
+ (0, _event.preventDefault)(event, true); // simply combine touchstart and touchmove
208
+
209
+ var translateY = getElementTranslateY(this.$refs.wrapper);
210
+ this.startOffset = Math.min(0, translateY - this.baseOffset);
211
+ this.momentumOffset = this.startOffset;
212
+ this.transitionEndTrigger = null; // directly use deltaY, see https://caniuse.com/?search=deltaY
213
+ // use deltaY to detect direction for not special setting device
214
+ // https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event
215
+
216
+ var deltaY = event.deltaY;
217
+
218
+ if (this.startOffset === 0 && deltaY < 0) {
219
+ return;
220
+ } // get offset
221
+ // if necessary, can adjust distance value to make scrolling smoother
222
+
223
+
224
+ var distance = -deltaY;
225
+ this.setRangeOffset(this.startOffset + distance);
226
+
227
+ if (mousewheelTimer) {
228
+ clearTimeout(mousewheelTimer);
229
+ }
230
+
231
+ mousewheelTimer = setTimeout(function () {
232
+ _this3.onTouchEnd();
233
+
234
+ _this3.touchStartTime = 0;
235
+ }, MOMENTUM_LIMIT_TIME);
236
+ },
237
+ onTransitionEnd: function onTransitionEnd() {
238
+ this.stopMomentum();
239
+ },
240
+ onClickItem: function onClickItem(index) {
241
+ if (this.moving || this.readonly) {
242
+ return;
243
+ }
244
+
245
+ this.transitionEndTrigger = null;
246
+ this.duration = DEFAULT_DURATION;
247
+ this.setIndex(index, true);
248
+ },
249
+ adjustIndex: function adjustIndex(index) {
250
+ index = (0, _number.range)(index, 0, this.count);
251
+
252
+ for (var i = index; i < this.count; i++) {
253
+ if (!isOptionDisabled(this.options[i])) return i;
254
+ }
255
+
256
+ for (var _i = index - 1; _i >= 0; _i--) {
257
+ if (!isOptionDisabled(this.options[_i])) return _i;
258
+ }
259
+ },
260
+ getOptionText: function getOptionText(option) {
261
+ if ((0, _utils.isObject)(option) && this.valueKey in option) {
262
+ return option[this.valueKey];
263
+ }
264
+
265
+ return option;
266
+ },
267
+ setOptionText: function setOptionText(option, text) {
268
+ if ((0, _utils.isObject)(option) && this.valueKey in option) {
269
+ option[this.valueKey] = text;
270
+ }
271
+
272
+ option = text;
273
+ return option;
274
+ },
275
+ setIndex: function setIndex(index, emitChange) {
276
+ var _this4 = this;
277
+
278
+ index = this.adjustIndex(index) || 0;
279
+
280
+ var trigger = function trigger() {
281
+ if (index !== _this4.currentIndex) {
282
+ _this4.currentIndex = index;
283
+
284
+ if (emitChange) {
285
+ _this4.$emit('change', index);
286
+ }
287
+ }
288
+ }; // trigger the change event after transitionend when moving
289
+
290
+
291
+ if (this.moving) {
292
+ this.transitionEndTrigger = trigger;
293
+ } else {
294
+ trigger();
295
+ }
296
+ },
297
+ setValue: function setValue(value) {
298
+ var options = this.options;
299
+
300
+ for (var i = 0; i < options.length; i++) {
301
+ if (this.getOptionText(options[i]) === value) {
302
+ return this.setIndex(i);
303
+ }
304
+ }
305
+ },
306
+ getValue: function getValue() {
307
+ return this.options[this.currentIndex];
308
+ },
309
+ setRangeOffset: function setRangeOffset(distance) {
310
+ var maxOffsetVal = this.$refs.wrapper.clientHeight - this.wrapHeight; // 在设置底部toolbar的时候,不需要这个间距
311
+
312
+ if (this.toolbarPosition !== 'bottom') {
313
+ maxOffsetVal += RADIO_COLUMN_BOTTOM_ITEM_EMPTY_LEN;
314
+ }
315
+
316
+ this.offset = (0, _number.range)(distance, -maxOffsetVal, 0);
317
+ },
318
+ momentum: function momentum(distance, duration) {
319
+ var speed = Math.abs(distance / duration);
320
+ distance = this.offset + speed / 0.003 * (distance < 0 ? -1 : 1);
321
+ this.setRangeOffset(distance);
322
+ this.duration = +this.swipeDuration;
323
+ },
324
+ stopMomentum: function stopMomentum() {
325
+ this.moving = false;
326
+ this.duration = 0;
327
+ },
328
+
329
+ /**
330
+ * @description: 高亮显示搜索匹配的字段
331
+ * @param {*} text radio label
332
+ */
333
+ transSearchedText: function transSearchedText(text) {
334
+ var regex = new RegExp(this.searchVal, 'gi');
335
+ var replaced = text.replace(regex, "<span style='color: #0091FA;'>$&</span>");
336
+ return replaced;
337
+ },
338
+ genOptions: function genOptions() {
339
+ var _this5 = this;
340
+
341
+ var h = this.$createElement;
342
+ return this.options.map(function (option, index) {
343
+ var _text, _domProps;
344
+
345
+ var text = _this5.getOptionText(option);
346
+
347
+ var disabled = isOptionDisabled(option);
348
+ var scopedSlots = option;
349
+
350
+ if (_this5.searchable) {
351
+ scopedSlots = {
352
+ option: option,
353
+ searchVal: _this5.searchVal
354
+ };
355
+ } // 支持搜索处理
356
+
357
+
358
+ var isSearchMatch = (_text = text) == null ? void 0 : _text.includes(_this5.searchVal);
359
+ var isSearchedTrans = false;
360
+
361
+ if (isSearchMatch && _this5.searchVal) {
362
+ text = _this5.transSearchedText(text);
363
+ isSearchedTrans = true;
364
+ }
365
+
366
+ var data = {
367
+ attrs: {
368
+ role: 'radio',
369
+ tabindex: disabled ? -1 : 0
370
+ },
371
+ class: [bem('item', {
372
+ disabled: disabled,
373
+ 'not-match': !isSearchMatch
374
+ })],
375
+ on: {
376
+ click: function click(e) {
377
+ e.preventDefault();
378
+
379
+ _this5.onClickItem(index);
380
+ }
381
+ }
382
+ };
383
+ var childData = {
384
+ domProps: (_domProps = {}, _domProps[_this5.allowHtml || isSearchedTrans ? 'innerHTML' : 'textContent'] = text, _domProps)
385
+ };
386
+ return h(_radio.default, (0, _babelHelperVueJsxMergeProps.default)([{
387
+ "attrs": {
388
+ "name": index
389
+ }
390
+ }, data]), [_this5.slots('option', scopedSlots) || h("div", (0, _babelHelperVueJsxMergeProps.default)([{}, childData]))]);
391
+ });
392
+ },
393
+ recordConfirmIndex: function recordConfirmIndex() {
394
+ this.confirmIndex = this.currentIndex;
395
+ },
396
+ setConfirmIndex: function setConfirmIndex() {
397
+ if (this.confirmIndex || this.confirmIndex === 0) {
398
+ this.setIndex(this.confirmIndex, true);
399
+ }
400
+ },
401
+ genEmpty: function genEmpty() {
402
+ var h = this.$createElement;
403
+ return h(_empty.default, {
404
+ "attrs": {
405
+ "description": "暂无搜索结果"
406
+ }
407
+ });
408
+ }
409
+ },
410
+ render: function render() {
411
+ var _this6 = this;
412
+
413
+ var h = arguments[0];
414
+ var wrapperStyle = {
415
+ transform: "translate3d(0, " + (this.offset + this.baseOffset) + "px, 0)",
416
+ transitionDuration: this.duration + "ms",
417
+ transitionProperty: this.duration ? 'all' : 'none'
418
+ };
419
+ return h("div", {
420
+ "class": [bem(), this.className]
421
+ }, [h("ul", {
422
+ "ref": "wrapper",
423
+ "style": wrapperStyle,
424
+ "class": bem('wrapper'),
425
+ "on": {
426
+ "transitionend": this.onTransitionEnd
427
+ }
428
+ }, [h(_radioGroup.default, {
429
+ "attrs": {
430
+ "value": this.currentIndex
431
+ },
432
+ "on": {
433
+ "change": function change(val) {
434
+ _this6.currentIndex = val;
435
+ }
436
+ }
437
+ }, [this.genOptions()]), this.isSearchEmpty ? this.genEmpty() : null])]);
438
+ }
439
+ });
440
+
441
+ exports.default = _default2;
@@ -0,0 +1 @@
1
+ [class*=zt-hairline]::after{position:absolute;box-sizing:border-box;content:' ';pointer-events:none;top:-50%;right:-50%;bottom:-50%;left:-50%;border:0 solid rgba(0,0,0,.1);-webkit-transform:scale(.5);transform:scale(.5)}.zt-hairline,.zt-hairline--bottom,.zt-hairline--left,.zt-hairline--right,.zt-hairline--surround,.zt-hairline--top,.zt-hairline--top-bottom{position:relative}.zt-hairline--top::after{border-top-width:1px}.zt-hairline--left::after{border-left-width:1px}.zt-hairline--right::after{border-right-width:1px}.zt-hairline--bottom::after{border-bottom-width:1px}.zt-hairline--top-bottom::after,.zt-hairline-unset--top-bottom::after{border-width:1px 0}.zt-hairline--surround::after{border-width:1px}.zt-radio-picker{position:relative;background-color:#fff;-webkit-user-select:none;user-select:none}.zt-radio-picker__toolbar{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;height:44px}.zt-radio-picker__border{position:relative}.zt-radio-picker__border::after{position:absolute;box-sizing:border-box;content:' ';pointer-events:none;right:0;bottom:0;left:0;border-bottom:1px solid rgba(0,0,0,.1);-webkit-transform:scaleY(.5);transform:scaleY(.5)}.zt-radio-picker__cancel,.zt-radio-picker__confirm{height:100%;padding:0 16px;font-size:16px;background-color:transparent;border:none;cursor:pointer}.zt-radio-picker__cancel:active,.zt-radio-picker__confirm:active{opacity:.7}.zt-radio-picker__confirm{color:#0091fa;font-weight:700}.zt-radio-picker__cancel{color:#000;font-weight:400}.zt-radio-picker__title{max-width:50%;font-weight:400;font-size:14px;line-height:20px;text-align:center;color:rgba(0,0,0,.4)}.zt-radio-picker__header{width:100%;height:40px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;font-size:14px;font-weight:400}.zt-radio-picker__header>li{-webkit-box-flex:1;-webkit-flex:auto;flex:auto;text-align:center}.zt-radio-picker__columns{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;cursor:grab}.zt-radio-picker__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;color:#0091fa;background-color:rgba(255,255,255,.9)}.zt-radio-picker__frame{position:absolute;top:50%;right:16px;left:16px;z-index:2;-webkit-transform:translateY(-50%);transform:translateY(-50%);pointer-events:none}.zt-radio-picker__background{position:absolute;width:100%;height:100%;background-color:#fff}.zt-radio-picker-column{-webkit-box-flex:1;-webkit-flex:1;flex:1;overflow:hidden;font-size:16px}.zt-radio-picker-column__wrapper{-webkit-transition-timing-function:cubic-bezier(.23,1,.68,1);transition-timing-function:cubic-bezier(.23,1,.68,1)}.zt-radio-picker-column__item{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding:10px 16px;color:#000}.zt-radio-picker-column__item::after{position:absolute;box-sizing:border-box;content:' ';pointer-events:none;right:0;bottom:0;left:calc(16px + 24px + 8px);border-bottom:1px solid rgba(0,0,0,.1);-webkit-transform:scaleY(.5);transform:scaleY(.5)}.zt-radio-picker-column__item--disabled{cursor:not-allowed;opacity:.3}.zt-radio-picker-column__item--not-match{display:none}.zt-radio-picker-column__item--selected{font-weight:700}.zt-radio-picker-column__item .zt-radio__label{font-family:PingFangSC-Regular;font-weight:400;font-size:14px;line-height:20px}