@varlet/ui 2.8.5 → 2.8.6-alpha.1678026101378

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/varlet.cjs.js CHANGED
@@ -375,6 +375,88 @@ function supportTouch() {
375
375
  function padStartFlex(style) {
376
376
  return style === "start" || style === "end" ? "flex-" + style : style;
377
377
  }
378
+ function useMounted(hook) {
379
+ let isMounted = false;
380
+ vue.onMounted(() => {
381
+ hook();
382
+ vue.nextTick(() => {
383
+ isMounted = true;
384
+ });
385
+ });
386
+ vue.onActivated(() => {
387
+ if (!isMounted) {
388
+ return;
389
+ }
390
+ hook();
391
+ });
392
+ }
393
+ function useEventListener(target, type, listener, options = {}) {
394
+ if (!inBrowser()) {
395
+ return;
396
+ }
397
+ const { passive: passive2 = false, capture = false } = options;
398
+ let listening = false;
399
+ let cleaned = false;
400
+ const add2 = (target2) => {
401
+ if (listening || cleaned) {
402
+ return;
403
+ }
404
+ const element = vue.unref(target2);
405
+ if (element) {
406
+ element.addEventListener(type, listener, {
407
+ passive: passive2,
408
+ capture
409
+ });
410
+ listening = true;
411
+ }
412
+ };
413
+ const remove = (target2) => {
414
+ if (!listening || cleaned) {
415
+ return;
416
+ }
417
+ const element = vue.unref(target2);
418
+ if (element) {
419
+ element.removeEventListener(type, listener, {
420
+ capture
421
+ });
422
+ listening = false;
423
+ }
424
+ };
425
+ let watchStopHandle;
426
+ if (vue.isRef(target)) {
427
+ watchStopHandle = vue.watch(() => target.value, (newValue, oldValue) => {
428
+ remove(oldValue);
429
+ add2(newValue);
430
+ });
431
+ }
432
+ const cleanup = () => {
433
+ watchStopHandle === null || watchStopHandle === void 0 ? void 0 : watchStopHandle();
434
+ remove(target);
435
+ cleaned = true;
436
+ };
437
+ useMounted(() => {
438
+ add2(target);
439
+ });
440
+ vue.onBeforeUnmount(() => {
441
+ remove(target);
442
+ });
443
+ vue.onDeactivated(() => {
444
+ remove(target);
445
+ });
446
+ return cleanup;
447
+ }
448
+ function useClickOutside(target, type, listener) {
449
+ if (!inBrowser()) {
450
+ return;
451
+ }
452
+ const handler = (event) => {
453
+ const element = vue.unref(target);
454
+ if (element && !element.contains(event.target)) {
455
+ listener(event);
456
+ }
457
+ };
458
+ useEventListener(document, type, handler);
459
+ }
378
460
  var _excluded = ["collect", "clear"];
379
461
  function asyncGeneratorStep$d(gen, resolve, reject, _next, _throw, key, arg) {
380
462
  try {
@@ -624,14 +706,8 @@ function useValidation() {
624
706
  };
625
707
  }
626
708
  function useRouteListener(cb) {
627
- vue.onMounted(() => {
628
- window.addEventListener("hashchange", cb);
629
- window.addEventListener("popstate", cb);
630
- });
631
- vue.onUnmounted(() => {
632
- window.removeEventListener("hashchange", cb);
633
- window.removeEventListener("popstate", cb);
634
- });
709
+ useEventListener(window, "hashchange", cb);
710
+ useEventListener(window, "popstate", cb);
635
711
  }
636
712
  function useTeleport() {
637
713
  var disabled = vue.ref(false);
@@ -1937,7 +2013,7 @@ var __sfc__$1d = vue.defineComponent({
1937
2013
  color: textColor
1938
2014
  };
1939
2015
  });
1940
- vue.onMounted(computePadding);
2016
+ useMounted(computePadding);
1941
2017
  vue.onUpdated(computePadding);
1942
2018
  return {
1943
2019
  n: n$1b,
@@ -2372,7 +2448,7 @@ var __sfc__$1c = vue.defineComponent({
2372
2448
  var handleClick = (e) => {
2373
2449
  call(props2.onClick, e);
2374
2450
  };
2375
- vue.onMounted(getScale);
2451
+ useMounted(getScale);
2376
2452
  vue.onUpdated(getScale);
2377
2453
  return {
2378
2454
  internalSizeValidator: internalSizeValidator$1,
@@ -2960,7 +3036,7 @@ function __render__$17(_ctx, _cache) {
2960
3036
  }
2961
3037
  }, _ctx.$attrs, {
2962
3038
  onClick: _cache[0] || (_cache[0] = vue.withModifiers(function() {
2963
- return _ctx.click && _ctx.click(...arguments);
3039
+ return _ctx.handleClick && _ctx.handleClick(...arguments);
2964
3040
  }, ["stop"]))
2965
3041
  }),
2966
3042
  [vue.renderSlot(_ctx.$slots, "default", {}, () => [vue.createVNode(_component_var_button, {
@@ -2993,28 +3069,36 @@ var __sfc__$18 = vue.defineComponent({
2993
3069
  var show = vue.ref(false);
2994
3070
  var backTopEl = vue.ref(null);
2995
3071
  var disabled = vue.ref(true);
2996
- var target;
2997
- var click = (event) => {
3072
+ var scroller;
3073
+ var handleClick = (event) => {
2998
3074
  call(props2.onClick, event);
2999
- var left2 = getScrollLeft(target);
3000
- scrollTo(target, {
3075
+ var left2 = getScrollLeft(scroller);
3076
+ scrollTo(scroller, {
3001
3077
  left: left2,
3002
3078
  duration: props2.duration,
3003
3079
  animation: easeInOutCubic
3004
3080
  });
3005
3081
  };
3006
- var scroll = () => {
3007
- show.value = getScrollTop(target) >= toPxNum(props2.visibilityHeight);
3082
+ var handleScroll = throttle(() => {
3083
+ show.value = getScrollTop(scroller) >= toPxNum(props2.visibilityHeight);
3084
+ }, 200);
3085
+ var setScroller = () => {
3086
+ scroller = props2.target ? getTarget(props2.target, "BackTop") : getParentScroller(backTopEl.value);
3087
+ };
3088
+ var addScrollerEventListener = () => {
3089
+ scroller.addEventListener("scroll", handleScroll);
3090
+ };
3091
+ var removeScrollerEventListener = () => {
3092
+ scroller.removeEventListener("scroll", handleScroll);
3008
3093
  };
3009
- var throttleScroll = throttle(scroll, 200);
3010
3094
  vue.onMounted(() => {
3011
- target = props2.target ? getTarget(props2.target, "BackTop") : getParentScroller(backTopEl.value);
3012
- target.addEventListener("scroll", throttleScroll);
3095
+ setScroller();
3096
+ addScrollerEventListener();
3013
3097
  disabled.value = false;
3014
3098
  });
3015
- vue.onBeforeUnmount(() => {
3016
- target.removeEventListener("scroll", throttleScroll);
3017
- });
3099
+ vue.onActivated(addScrollerEventListener);
3100
+ vue.onBeforeUnmount(removeScrollerEventListener);
3101
+ vue.onDeactivated(removeScrollerEventListener);
3018
3102
  return {
3019
3103
  disabled,
3020
3104
  show,
@@ -3022,7 +3106,7 @@ var __sfc__$18 = vue.defineComponent({
3022
3106
  toSizeUnit,
3023
3107
  n: n$16,
3024
3108
  classes: classes$V,
3025
- click
3109
+ handleClick
3026
3110
  };
3027
3111
  }
3028
3112
  });
@@ -3427,7 +3511,7 @@ var __sfc__$16 = vue.defineComponent({
3427
3511
  immediate: true,
3428
3512
  deep: true
3429
3513
  });
3430
- vue.onMounted(() => {
3514
+ useMounted(() => {
3431
3515
  if (!slots.fab) {
3432
3516
  return;
3433
3517
  }
@@ -5844,29 +5928,34 @@ var __sfc__$U = vue.defineComponent({
5844
5928
  autoStart
5845
5929
  } = props2;
5846
5930
  var now = performance.now();
5847
- if (!endTime.value)
5931
+ if (!endTime.value) {
5848
5932
  endTime.value = now + toNumber(time);
5933
+ }
5849
5934
  var durationTime = endTime.value - now;
5850
- if (durationTime < 0)
5935
+ if (durationTime < 0) {
5851
5936
  durationTime = 0;
5937
+ }
5852
5938
  pauseTime.value = durationTime;
5853
5939
  formatTime(durationTime);
5854
5940
  if (durationTime === 0) {
5855
5941
  call(onEnd);
5856
5942
  return;
5857
5943
  }
5858
- if (autoStart || isStart.value)
5944
+ if (autoStart || isStart.value) {
5859
5945
  handle.value = requestAnimationFrame(countdown);
5946
+ }
5860
5947
  };
5861
5948
  var start2 = () => {
5862
- if (isStart.value)
5949
+ if (isStart.value) {
5863
5950
  return;
5951
+ }
5864
5952
  isStart.value = true;
5865
- endTime.value = Date.now() + (pauseTime.value || toNumber(props2.time));
5953
+ endTime.value = performance.now() + (pauseTime.value || toNumber(props2.time));
5866
5954
  countdown();
5867
5955
  };
5868
5956
  var pause = () => {
5869
5957
  isStart.value = false;
5958
+ cancelAnimationFrame(handle.value);
5870
5959
  };
5871
5960
  var reset = () => {
5872
5961
  endTime.value = 0;
@@ -5874,9 +5963,12 @@ var __sfc__$U = vue.defineComponent({
5874
5963
  cancelAnimationFrame(handle.value);
5875
5964
  countdown();
5876
5965
  };
5877
- vue.watch(() => props2.time, () => reset(), {
5966
+ vue.watch(() => props2.time, reset, {
5878
5967
  immediate: true
5879
5968
  });
5969
+ vue.onActivated(start2);
5970
+ vue.onDeactivated(pause);
5971
+ vue.onUnmounted(pause);
5880
5972
  return {
5881
5973
  showTime,
5882
5974
  timeData,
@@ -9711,7 +9803,7 @@ var __sfc__$Q = vue.defineComponent({
9711
9803
  var chooseYear = (year) => {
9712
9804
  emit("choose-year", year);
9713
9805
  };
9714
- vue.onMounted(() => {
9806
+ useMounted(() => {
9715
9807
  var activeEl = document.querySelector("." + n$O("item--active"));
9716
9808
  activeEl == null ? void 0 : activeEl.scrollIntoView({
9717
9809
  block: "center"
@@ -10079,7 +10171,7 @@ var __sfc__$P = vue.defineComponent({
10079
10171
  var forwardRef = (checkType) => {
10080
10172
  headerEl.value.checkDate(checkType);
10081
10173
  };
10082
- vue.onMounted(() => {
10174
+ useMounted(() => {
10083
10175
  initDate();
10084
10176
  initHeader();
10085
10177
  });
@@ -11155,7 +11247,9 @@ var __sfc__$M = vue.defineComponent({
11155
11247
  var state = vue.reactive({
11156
11248
  withText: false
11157
11249
  });
11158
- var isInset = vue.computed(() => isBoolean(props2.inset) ? props2.inset : true);
11250
+ var isInset = vue.computed(() => {
11251
+ return isBoolean(props2.inset) ? props2.inset : true;
11252
+ });
11159
11253
  var style = vue.computed(() => {
11160
11254
  var {
11161
11255
  inset,
@@ -11165,8 +11259,9 @@ var __sfc__$M = vue.defineComponent({
11165
11259
  var baseStyle = {
11166
11260
  margin
11167
11261
  };
11168
- if (isBoolean(inset) || inset === 0)
11262
+ if (isBoolean(inset) || inset === 0) {
11169
11263
  return _extends$7({}, baseStyle);
11264
+ }
11170
11265
  var _inset = toNumber(inset);
11171
11266
  var absInsetWithUnit = Math.abs(_inset) + (inset + "").replace(_inset + "", "");
11172
11267
  return vertical ? _extends$7({}, baseStyle, {
@@ -11179,7 +11274,7 @@ var __sfc__$M = vue.defineComponent({
11179
11274
  var checkHasText = () => {
11180
11275
  state.withText = Boolean(slots.default) || Boolean(props2.description);
11181
11276
  };
11182
- vue.onMounted(() => {
11277
+ useMounted(() => {
11183
11278
  checkHasText();
11184
11279
  });
11185
11280
  vue.onUpdated(() => {
@@ -12521,7 +12616,6 @@ function usePopover(options) {
12521
12616
  zIndex
12522
12617
  } = useZIndex(() => show.value, 1);
12523
12618
  var popoverInstance = null;
12524
- var clickSelf = false;
12525
12619
  var enterPopover = false;
12526
12620
  var enterHost = false;
12527
12621
  var computeHostSize = () => {
@@ -12581,16 +12675,17 @@ function usePopover(options) {
12581
12675
  }();
12582
12676
  var handleHostClick = () => {
12583
12677
  open();
12584
- clickSelf = true;
12585
12678
  };
12586
12679
  var handlePopoverClose = () => {
12587
- if (clickSelf) {
12588
- clickSelf = false;
12589
- return;
12590
- }
12591
12680
  show.value = false;
12592
12681
  call(options["onUpdate:show"], false);
12593
12682
  };
12683
+ var handleClickOutside = () => {
12684
+ if (options.trigger !== "click") {
12685
+ return;
12686
+ }
12687
+ handlePopoverClose();
12688
+ };
12594
12689
  var getPosition = () => {
12595
12690
  computeHostSize();
12596
12691
  var offset2 = {
@@ -12715,6 +12810,7 @@ function usePopover(options) {
12715
12810
  show.value = false;
12716
12811
  call(options["onUpdate:show"], false);
12717
12812
  };
12813
+ useClickOutside(host, "click", handleClickOutside);
12718
12814
  vue.watch(() => options.show, (newValue) => {
12719
12815
  show.value = newValue != null ? newValue : false;
12720
12816
  }, {
@@ -12731,22 +12827,11 @@ function usePopover(options) {
12731
12827
  call(options.onClose);
12732
12828
  }
12733
12829
  });
12734
- vue.watch(() => options.trigger, (newValue) => {
12735
- if (newValue === "click") {
12736
- document.addEventListener("click", handlePopoverClose);
12737
- } else {
12738
- document.removeEventListener("click", handlePopoverClose);
12739
- }
12740
- });
12741
12830
  vue.watch(() => options.disabled, close2);
12742
12831
  vue.onMounted(() => {
12743
12832
  popoverInstance = createPopper(host.value, popover.value, getPopperOptions());
12744
- if (options.trigger === "click") {
12745
- document.addEventListener("click", handlePopoverClose);
12746
- }
12747
12833
  });
12748
12834
  vue.onUnmounted(() => {
12749
- document.removeEventListener("click", handlePopoverClose);
12750
12835
  popoverInstance.destroy();
12751
12836
  });
12752
12837
  return {
@@ -13958,13 +14043,10 @@ var __sfc__$H = vue.defineComponent({
13958
14043
  initialIndex();
13959
14044
  resize();
13960
14045
  }));
13961
- vue.onMounted(() => {
13962
- window.addEventListener("resize", resize);
13963
- });
13964
- vue.onUnmounted(() => {
13965
- window.removeEventListener("resize", resize);
13966
- stopAutoplay();
13967
- });
14046
+ vue.onActivated(resize);
14047
+ vue.onDeactivated(stopAutoplay);
14048
+ vue.onUnmounted(stopAutoplay);
14049
+ useEventListener(window, "resize", resize);
13968
14050
  return {
13969
14051
  n: n$F,
13970
14052
  classes: classes$y,
@@ -14657,6 +14739,9 @@ var __sfc__$E = vue.defineComponent({
14657
14739
  };
14658
14740
  };
14659
14741
  var handleScroll = () => {
14742
+ if (!scroller) {
14743
+ return;
14744
+ }
14660
14745
  var fixedParams = computeFixedParams();
14661
14746
  if (fixedParams) {
14662
14747
  call(props2.onScroll, fixedParams.offsetTop, fixedParams.isFixed);
@@ -14677,7 +14762,6 @@ var __sfc__$E = vue.defineComponent({
14677
14762
  yield doubleRaf();
14678
14763
  scroller = getParentScroller(stickyEl.value);
14679
14764
  scroller !== window && scroller.addEventListener("scroll", handleScroll);
14680
- window.addEventListener("scroll", handleScroll);
14681
14765
  handleScroll();
14682
14766
  });
14683
14767
  return function addScrollListener2() {
@@ -14686,13 +14770,12 @@ var __sfc__$E = vue.defineComponent({
14686
14770
  }();
14687
14771
  var removeScrollListener = () => {
14688
14772
  scroller !== window && scroller.removeEventListener("scroll", handleScroll);
14689
- window.removeEventListener("scroll", handleScroll);
14690
14773
  };
14691
14774
  vue.watch(() => props2.disabled, resize);
14692
- vue.onActivated(addScrollListener);
14693
- vue.onDeactivated(removeScrollListener);
14694
- vue.onMounted(addScrollListener);
14775
+ useMounted(addScrollListener);
14695
14776
  vue.onUnmounted(removeScrollListener);
14777
+ vue.onDeactivated(removeScrollListener);
14778
+ useEventListener(window, "scroll", handleScroll);
14696
14779
  return {
14697
14780
  n: n$C,
14698
14781
  classes: classes$w,
@@ -14976,7 +15059,6 @@ var __sfc__$C = vue.defineComponent({
14976
15059
  bindIndexAnchors
14977
15060
  } = useIndexAnchors();
14978
15061
  var clickedName = vue.ref("");
14979
- var scroller = vue.ref(null);
14980
15062
  var barEl = vue.ref(null);
14981
15063
  var anchorNameList = vue.ref([]);
14982
15064
  var active = vue.ref();
@@ -14984,6 +15066,7 @@ var __sfc__$C = vue.defineComponent({
14984
15066
  var cssMode = vue.computed(() => props2.cssMode);
14985
15067
  var stickyOffsetTop = vue.computed(() => toPxNum(props2.stickyOffsetTop));
14986
15068
  var zIndex = vue.computed(() => props2.zIndex);
15069
+ var scroller = null;
14987
15070
  var indexBarProvider = {
14988
15071
  active,
14989
15072
  sticky: sticky2,
@@ -15002,22 +15085,23 @@ var __sfc__$C = vue.defineComponent({
15002
15085
  }
15003
15086
  };
15004
15087
  var getOffsetTop = () => {
15005
- if (!("getBoundingClientRect" in scroller.value))
15088
+ if (!("getBoundingClientRect" in scroller)) {
15006
15089
  return 0;
15090
+ }
15007
15091
  var {
15008
15092
  top: parentTop
15009
- } = scroller.value.getBoundingClientRect();
15093
+ } = scroller.getBoundingClientRect();
15010
15094
  var {
15011
15095
  scrollTop
15012
- } = scroller.value;
15096
+ } = scroller;
15013
15097
  var {
15014
15098
  top: targetTop
15015
15099
  } = barEl.value.getBoundingClientRect();
15016
15100
  return scrollTop - parentTop + targetTop;
15017
15101
  };
15018
15102
  var handleScroll = () => {
15019
- var scrollTop = getScrollTop(scroller.value);
15020
- var scrollHeight = scroller.value === window ? document.body.scrollHeight : scroller.value.scrollHeight;
15103
+ var scrollTop = getScrollTop(scroller);
15104
+ var scrollHeight = scroller === window ? document.body.scrollHeight : scroller.scrollHeight;
15021
15105
  var offsetTop = getOffsetTop();
15022
15106
  indexAnchors.forEach((anchor, index) => {
15023
15107
  var anchorTop = anchor.ownTop.value;
@@ -15039,24 +15123,27 @@ var __sfc__$C = vue.defineComponent({
15039
15123
  manualCall = false,
15040
15124
  options
15041
15125
  } = _ref;
15042
- if (manualCall)
15126
+ if (manualCall) {
15043
15127
  call(props2.onClick, anchorName);
15044
- if (anchorName === active.value)
15128
+ }
15129
+ if (anchorName === active.value) {
15045
15130
  return;
15131
+ }
15046
15132
  var indexAnchor = indexAnchors.find((_ref3) => {
15047
15133
  var {
15048
15134
  name
15049
15135
  } = _ref3;
15050
15136
  return anchorName === name.value;
15051
15137
  });
15052
- if (!indexAnchor)
15138
+ if (!indexAnchor) {
15053
15139
  return;
15140
+ }
15054
15141
  var offsetTop = getOffsetTop();
15055
15142
  var top2 = indexAnchor.ownTop.value - stickyOffsetTop.value + offsetTop;
15056
- var left2 = getScrollLeft(scroller.value);
15143
+ var left2 = getScrollLeft(scroller);
15057
15144
  clickedName.value = anchorName;
15058
15145
  emitEvent(anchorName, options);
15059
- yield scrollTo(scroller.value, {
15146
+ yield scrollTo(scroller, {
15060
15147
  left: left2,
15061
15148
  top: top2,
15062
15149
  animation: easeInOutCubic,
@@ -15070,6 +15157,21 @@ var __sfc__$C = vue.defineComponent({
15070
15157
  return _ref2.apply(this, arguments);
15071
15158
  };
15072
15159
  }();
15160
+ var setScroller = /* @__PURE__ */ function() {
15161
+ var _ref4 = _asyncToGenerator$5(function* () {
15162
+ yield doubleRaf();
15163
+ scroller = getParentScroller(barEl.value);
15164
+ });
15165
+ return function setScroller2() {
15166
+ return _ref4.apply(this, arguments);
15167
+ };
15168
+ }();
15169
+ var addScrollerListener = () => {
15170
+ scroller.addEventListener("scroll", handleScroll);
15171
+ };
15172
+ var removeScrollerListener = () => {
15173
+ scroller.removeEventListener("scroll", handleScroll);
15174
+ };
15073
15175
  var scrollTo$1 = (index, options) => {
15074
15176
  requestAnimationFrame(() => anchorClick({
15075
15177
  anchorName: index,
@@ -15078,24 +15180,22 @@ var __sfc__$C = vue.defineComponent({
15078
15180
  };
15079
15181
  vue.watch(() => length.value, /* @__PURE__ */ _asyncToGenerator$5(function* () {
15080
15182
  yield doubleRaf();
15081
- indexAnchors.forEach((_ref5) => {
15183
+ indexAnchors.forEach((_ref6) => {
15082
15184
  var {
15083
15185
  name,
15084
15186
  setOwnTop
15085
- } = _ref5;
15187
+ } = _ref6;
15086
15188
  if (name.value)
15087
15189
  anchorNameList.value.push(name.value);
15088
15190
  setOwnTop();
15089
15191
  });
15090
15192
  }));
15091
- vue.onMounted(/* @__PURE__ */ _asyncToGenerator$5(function* () {
15092
- yield doubleRaf();
15093
- scroller.value = getParentScroller(barEl.value);
15094
- scroller.value.addEventListener("scroll", handleScroll);
15193
+ useMounted(/* @__PURE__ */ _asyncToGenerator$5(function* () {
15194
+ yield setScroller();
15195
+ addScrollerListener();
15095
15196
  }));
15096
- vue.onBeforeUnmount(() => {
15097
- call(scroller.value.removeEventListener, "scroll", handleScroll);
15098
- });
15197
+ vue.onBeforeUnmount(removeScrollerListener);
15198
+ vue.onDeactivated(removeScrollerListener);
15099
15199
  return {
15100
15200
  n: n$A,
15101
15201
  classes: classes$u,
@@ -15211,7 +15311,7 @@ function __render__$A(_ctx, _cache) {
15211
15311
  "div",
15212
15312
  {
15213
15313
  class: vue.normalizeClass(_ctx.classes(_ctx.n(), _ctx.n("$--box"), [_ctx.disabled, _ctx.n("--disabled")])),
15214
- onClick: _cache[10] || (_cache[10] = function() {
15314
+ onClick: _cache[14] || (_cache[14] = function() {
15215
15315
  return _ctx.handleClick && _ctx.handleClick(...arguments);
15216
15316
  })
15217
15317
  },
@@ -15277,6 +15377,12 @@ function __render__$A(_ctx, _cache) {
15277
15377
  }),
15278
15378
  onTouchstart: _cache[4] || (_cache[4] = function() {
15279
15379
  return _ctx.handleTouchstart && _ctx.handleTouchstart(...arguments);
15380
+ }),
15381
+ onCompositionstart: _cache[5] || (_cache[5] = function() {
15382
+ return _ctx.handleCompositionStart && _ctx.handleCompositionStart(...arguments);
15383
+ }),
15384
+ onCompositionend: _cache[6] || (_cache[6] = function() {
15385
+ return _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...arguments);
15280
15386
  })
15281
15387
  },
15282
15388
  "\n ",
@@ -15298,20 +15404,26 @@ function __render__$A(_ctx, _cache) {
15298
15404
  color: _ctx.textColor,
15299
15405
  caretColor: !_ctx.errorMessage ? _ctx.focusColor : void 0
15300
15406
  }),
15301
- onFocus: _cache[5] || (_cache[5] = function() {
15407
+ onFocus: _cache[7] || (_cache[7] = function() {
15302
15408
  return _ctx.handleFocus && _ctx.handleFocus(...arguments);
15303
15409
  }),
15304
- onBlur: _cache[6] || (_cache[6] = function() {
15410
+ onBlur: _cache[8] || (_cache[8] = function() {
15305
15411
  return _ctx.handleBlur && _ctx.handleBlur(...arguments);
15306
15412
  }),
15307
- onInput: _cache[7] || (_cache[7] = function() {
15413
+ onInput: _cache[9] || (_cache[9] = function() {
15308
15414
  return _ctx.handleInput && _ctx.handleInput(...arguments);
15309
15415
  }),
15310
- onChange: _cache[8] || (_cache[8] = function() {
15416
+ onChange: _cache[10] || (_cache[10] = function() {
15311
15417
  return _ctx.handleChange && _ctx.handleChange(...arguments);
15312
15418
  }),
15313
- onTouchstart: _cache[9] || (_cache[9] = function() {
15419
+ onTouchstart: _cache[11] || (_cache[11] = function() {
15314
15420
  return _ctx.handleTouchstart && _ctx.handleTouchstart(...arguments);
15421
+ }),
15422
+ onCompositionstart: _cache[12] || (_cache[12] = function() {
15423
+ return _ctx.handleCompositionStart && _ctx.handleCompositionStart(...arguments);
15424
+ }),
15425
+ onCompositionend: _cache[13] || (_cache[13] = function() {
15426
+ return _ctx.handleCompositionEnd && _ctx.handleCompositionEnd(...arguments);
15315
15427
  })
15316
15428
  },
15317
15429
  null,
@@ -15465,7 +15577,7 @@ var __sfc__$B = vue.defineComponent({
15465
15577
  call(props2.onBlur, e);
15466
15578
  validateWithTrigger("onBlur");
15467
15579
  };
15468
- var handleInput = (e) => {
15580
+ var updateValue = (e) => {
15469
15581
  var target = e.target;
15470
15582
  var {
15471
15583
  value
@@ -15475,17 +15587,34 @@ var __sfc__$B = vue.defineComponent({
15475
15587
  }
15476
15588
  value = withMaxlength(withTrim(value));
15477
15589
  target.value = value;
15590
+ return value;
15591
+ };
15592
+ var handleCompositionStart = (e) => {
15593
+ Object.assign(e.target, {
15594
+ composing: true
15595
+ });
15596
+ };
15597
+ var handleCompositionEnd = (e) => {
15598
+ var target = e.target;
15599
+ if (target.composing) {
15600
+ target.composing = false;
15601
+ target.dispatchEvent(new Event("input"));
15602
+ }
15603
+ };
15604
+ var handleInput = (e) => {
15605
+ var {
15606
+ composing
15607
+ } = e.target;
15608
+ if (composing) {
15609
+ return;
15610
+ }
15611
+ var value = updateValue(e);
15478
15612
  call(props2["onUpdate:modelValue"], value);
15479
15613
  call(props2.onInput, value, e);
15480
15614
  validateWithTrigger("onInput");
15481
15615
  };
15482
15616
  var handleChange = (e) => {
15483
- var target = e.target;
15484
- var {
15485
- value
15486
- } = target;
15487
- value = withMaxlength(withTrim(value));
15488
- target.value = value;
15617
+ var value = updateValue(e);
15489
15618
  call(props2.onChange, value, e);
15490
15619
  validateWithTrigger("onChange");
15491
15620
  };
@@ -15555,7 +15684,7 @@ var __sfc__$B = vue.defineComponent({
15555
15684
  resetValidation
15556
15685
  };
15557
15686
  call(bindForm, inputProvider);
15558
- vue.onMounted(() => {
15687
+ useMounted(() => {
15559
15688
  if (props2.autofocus) {
15560
15689
  focus();
15561
15690
  }
@@ -15580,6 +15709,8 @@ var __sfc__$B = vue.defineComponent({
15580
15709
  handleClear,
15581
15710
  handleClick,
15582
15711
  handleTouchstart,
15712
+ handleCompositionStart,
15713
+ handleCompositionEnd,
15583
15714
  validate,
15584
15715
  resetValidation,
15585
15716
  reset,
@@ -15907,7 +16038,7 @@ var __sfc__$z = vue.defineComponent({
15907
16038
  return _ref.apply(this, arguments);
15908
16039
  };
15909
16040
  }();
15910
- vue.onMounted(() => {
16041
+ useMounted(() => {
15911
16042
  scroller = getParentScroller(listEl.value);
15912
16043
  props2.immediateCheck && check2();
15913
16044
  scroller.addEventListener("scroll", check2);
@@ -18060,6 +18191,9 @@ var __sfc__$s = vue.defineComponent({
18060
18191
  distance.value = -(width + width * 0.25);
18061
18192
  controlPosition.value = -(width + width * 0.25);
18062
18193
  };
18194
+ var setScroller = () => {
18195
+ scroller = props2.target ? getTarget(props2.target, "PullRefresh") : getParentScroller(freshNode.value);
18196
+ };
18063
18197
  var reset = () => {
18064
18198
  setTimeout(() => {
18065
18199
  refreshStatus.value = "default";
@@ -18078,18 +18212,11 @@ var __sfc__$s = vue.defineComponent({
18078
18212
  }, toNumber(props2.successDuration));
18079
18213
  }
18080
18214
  });
18081
- vue.onMounted(() => {
18082
- var _freshNode$value;
18083
- scroller = props2.target ? getTarget(props2.target, "PullRefresh") : getParentScroller(freshNode.value);
18215
+ useMounted(() => {
18216
+ setScroller();
18084
18217
  setPosition();
18085
- (_freshNode$value = freshNode.value) == null ? void 0 : _freshNode$value.addEventListener("touchmove", touchMove, {
18086
- passive: false
18087
- });
18088
- });
18089
- vue.onBeforeUnmount(() => {
18090
- var _freshNode$value2;
18091
- (_freshNode$value2 = freshNode.value) == null ? void 0 : _freshNode$value2.removeEventListener("touchmove", touchMove);
18092
18218
  });
18219
+ useEventListener(freshNode, "touchmove", touchMove);
18093
18220
  return {
18094
18221
  n: n$o,
18095
18222
  classes: classes$j,
@@ -20533,7 +20660,7 @@ var __sfc__$e = vue.defineComponent({
20533
20660
  setProps(modelValue, toNumber(step2));
20534
20661
  });
20535
20662
  vue.watch(maxWidth, () => setProps());
20536
- vue.onMounted(() => {
20663
+ useMounted(() => {
20537
20664
  if (!stepValidator() || !valueValidator())
20538
20665
  return;
20539
20666
  maxWidth.value = sliderEl.value.offsetWidth;
@@ -20770,7 +20897,7 @@ var __sfc__$d = vue.defineComponent({
20770
20897
  clearTimeout(timer2.value);
20771
20898
  updateAfterDuration();
20772
20899
  });
20773
- vue.onMounted(() => {
20900
+ useMounted(() => {
20774
20901
  if (props2.show) {
20775
20902
  call(props2.onOpen);
20776
20903
  updateAfterDuration();
@@ -22392,8 +22519,7 @@ var __sfc__$4 = vue.defineComponent({
22392
22519
  resize();
22393
22520
  }));
22394
22521
  vue.watch(() => props2.active, resize);
22395
- vue.onMounted(() => window.addEventListener("resize", resize));
22396
- vue.onUnmounted(() => window.removeEventListener("resize", resize));
22522
+ useEventListener(window, "resize", resize);
22397
22523
  return {
22398
22524
  stickyComponent,
22399
22525
  indicatorWidth,
@@ -24375,7 +24501,7 @@ const TimePickerSfc = "";
24375
24501
  const TooltipSfc = "";
24376
24502
  const uploader = "";
24377
24503
  const UploaderSfc = "";
24378
- const version = "2.8.5";
24504
+ const version = "2.8.6-alpha.1678026101378";
24379
24505
  function install(app) {
24380
24506
  ActionSheet.install && app.use(ActionSheet);
24381
24507
  AppBar.install && app.use(AppBar);