@nutui/nutui 3.3.0 → 3.3.1-beta.1

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.
Files changed (189) hide show
  1. package/dist/nutui.es.js +331 -297
  2. package/dist/nutui.umd.js +327 -293
  3. package/dist/packages/_es/ActionSheet.js +1 -1
  4. package/dist/packages/_es/Address.js +1 -1
  5. package/dist/packages/_es/AddressList.js +2 -2
  6. package/dist/packages/_es/Animate.js +1 -1
  7. package/dist/packages/_es/Audio.js +1 -1
  8. package/dist/packages/_es/AudioOperate.js +1 -1
  9. package/dist/packages/_es/Avatar.js +1 -1
  10. package/dist/packages/_es/AvatarGroup.js +1 -1
  11. package/dist/packages/_es/BackTop.js +1 -1
  12. package/dist/packages/_es/Badge.js +1 -1
  13. package/dist/packages/_es/Barrage.js +1 -1
  14. package/dist/packages/_es/Button.js +1 -1
  15. package/dist/packages/_es/Calendar.js +1 -1
  16. package/dist/packages/_es/CalendarItem.js +1 -1
  17. package/dist/packages/_es/Card.js +1 -1
  18. package/dist/packages/_es/Cascader.js +1 -1
  19. package/dist/packages/_es/Category.js +1 -1
  20. package/dist/packages/_es/CategoryPane.js +1 -1
  21. package/dist/packages/_es/Cell.js +1 -1
  22. package/dist/packages/_es/CellGroup.js +1 -1
  23. package/dist/packages/_es/Checkbox.js +1 -1
  24. package/dist/packages/_es/CheckboxGroup.js +1 -1
  25. package/dist/packages/_es/CircleProgress.js +2 -2
  26. package/dist/packages/_es/Col.js +1 -1
  27. package/dist/packages/_es/Collapse.js +1 -1
  28. package/dist/packages/_es/CollapseItem.js +1 -1
  29. package/dist/packages/_es/Comment.js +1 -1
  30. package/dist/packages/_es/ConfigProvider.js +1 -1
  31. package/dist/packages/_es/CountDown.js +1 -1
  32. package/dist/packages/_es/CountUp.js +1 -1
  33. package/dist/packages/_es/DatePicker.js +1 -1
  34. package/dist/packages/_es/Dialog.js +1 -1
  35. package/dist/packages/_es/Divider.js +1 -1
  36. package/dist/packages/_es/Drag.js +1 -1
  37. package/dist/packages/_es/Ecard.js +1 -1
  38. package/dist/packages/_es/Elevator.js +1 -1
  39. package/dist/packages/_es/Ellipsis.js +1 -1
  40. package/dist/packages/_es/Empty.js +1 -1
  41. package/dist/packages/_es/FixedNav.js +1 -1
  42. package/dist/packages/_es/Form.js +2 -2
  43. package/dist/packages/_es/FormItem.js +1 -1
  44. package/dist/packages/_es/Grid.js +1 -1
  45. package/dist/packages/_es/GridItem.js +1 -1
  46. package/dist/packages/_es/Icon.js +1 -1
  47. package/dist/packages/_es/Image.js +1 -1
  48. package/dist/packages/_es/ImagePreview.js +3 -3
  49. package/dist/packages/_es/Indicator.js +1 -1
  50. package/dist/packages/_es/InfiniteLoading.js +18 -26
  51. package/dist/packages/_es/Input.js +1 -1
  52. package/dist/packages/_es/InputNumber.js +1 -1
  53. package/dist/packages/_es/Invoice.js +1 -1
  54. package/dist/packages/_es/Layout.js +1 -1
  55. package/dist/packages/_es/List.js +1 -1
  56. package/dist/packages/_es/Menu.js +1 -1
  57. package/dist/packages/_es/MenuItem.js +8 -3
  58. package/dist/packages/_es/Navbar.js +1 -1
  59. package/dist/packages/_es/NoticeBar.js +1 -1
  60. package/dist/packages/_es/Notify.js +1 -1
  61. package/dist/packages/_es/NumberKeyboard.js +1 -1
  62. package/dist/packages/_es/OverLay.js +1 -1
  63. package/dist/packages/_es/Pagination.js +1 -1
  64. package/dist/packages/_es/Picker.js +17 -7
  65. package/dist/packages/_es/Popover.js +171 -81
  66. package/dist/packages/_es/Popup.js +1 -1
  67. package/dist/packages/_es/Price.js +7 -2
  68. package/dist/packages/_es/Progress.js +1 -1
  69. package/dist/packages/_es/Radio.js +1 -1
  70. package/dist/packages/_es/RadioGroup.js +1 -1
  71. package/dist/packages/_es/Range.js +1 -1
  72. package/dist/packages/_es/Rate.js +1 -1
  73. package/dist/packages/_es/Row.js +1 -1
  74. package/dist/packages/_es/SearchBar.js +1 -1
  75. package/dist/packages/_es/ShortPassword.js +1 -1
  76. package/dist/packages/_es/SideNavBar.js +1 -1
  77. package/dist/packages/_es/SideNavBarItem.js +1 -1
  78. package/dist/packages/_es/Signature.js +1 -1
  79. package/dist/packages/_es/Skeleton.js +1 -1
  80. package/dist/packages/_es/Sku.js +1 -1
  81. package/dist/packages/_es/Step.js +1 -1
  82. package/dist/packages/_es/Steps.js +1 -1
  83. package/dist/packages/_es/Sticky.js +1 -1
  84. package/dist/packages/_es/SubSideNavBar.js +1 -1
  85. package/dist/packages/_es/Swipe.js +1 -1
  86. package/dist/packages/_es/Swiper.js +57 -115
  87. package/dist/packages/_es/SwiperItem.js +1 -1
  88. package/dist/packages/_es/Switch.js +1 -1
  89. package/dist/packages/_es/TabPane.js +1 -1
  90. package/dist/packages/_es/Tabbar.js +4 -8
  91. package/dist/packages/_es/TabbarItem.js +12 -13
  92. package/dist/packages/_es/Table.js +1 -1
  93. package/dist/packages/_es/Tabs.js +6 -9
  94. package/dist/packages/_es/Tag.js +1 -1
  95. package/dist/packages/_es/TextArea.js +1 -1
  96. package/dist/packages/_es/TimeDetail.js +1 -1
  97. package/dist/packages/_es/TimePannel.js +1 -1
  98. package/dist/packages/_es/TimeSelect.js +1 -1
  99. package/dist/packages/_es/Toast.js +1 -1
  100. package/dist/packages/_es/TrendArrow.js +1 -1
  101. package/dist/packages/_es/Uploader.js +1 -1
  102. package/dist/packages/_es/Video.js +1 -1
  103. package/dist/packages/_es/WaterMark.js +1 -1
  104. package/dist/packages/_es/common.js +1 -1
  105. package/dist/packages/_es/component.js +6 -2
  106. package/dist/packages/_es/index.js +1 -1
  107. package/dist/packages/_es/index2.js +1 -1
  108. package/dist/packages/_es/index3.js +1 -1
  109. package/dist/packages/_es/index4.js +1 -1
  110. package/dist/packages/_es/index5.js +1 -1
  111. package/dist/packages/_es/interceptor.js +2 -2
  112. package/dist/packages/_es/mountComponent.js +2 -2
  113. package/dist/packages/_es/plugin-vue_export-helper.js +1 -1
  114. package/dist/packages/_es/props.js +1 -1
  115. package/dist/packages/_es/pxCheck.js +1 -1
  116. package/dist/packages/_es/raf.js +1 -1
  117. package/dist/packages/infiniteloading/index.scss +2 -0
  118. package/dist/packages/locale/lang/baseLang.js +1 -1
  119. package/dist/packages/locale/lang/en-US.js +1 -1
  120. package/dist/packages/locale/lang/id-ID.js +1 -1
  121. package/dist/packages/locale/lang/index.js +1 -1
  122. package/dist/packages/locale/lang/zh-CN.js +1 -1
  123. package/dist/packages/locale/lang/zh-TW.js +1 -1
  124. package/dist/packages/picker/index.scss +10 -4
  125. package/dist/packages/popover/index.scss +10 -38
  126. package/dist/packages/price/index.scss +5 -0
  127. package/dist/smartips/attributes.json +36 -8
  128. package/dist/smartips/tags.json +13 -6
  129. package/dist/smartips/web-types.json +72 -9
  130. package/dist/style.css +1 -1
  131. package/dist/styles/themes/default.scss +44 -44
  132. package/dist/styles/themes/jdb.scss +44 -44
  133. package/dist/styles/themes/jddkh.scss +44 -44
  134. package/dist/styles/themes/jdt.scss +44 -44
  135. package/dist/types/__VUE/actionsheet/index.vue.d.ts +4 -4
  136. package/dist/types/__VUE/address/index.vue.d.ts +4 -4
  137. package/dist/types/__VUE/audio/index.vue.d.ts +4 -4
  138. package/dist/types/__VUE/avatar/index.vue.d.ts +2 -2
  139. package/dist/types/__VUE/avatargroup/index.vue.d.ts +1 -1
  140. package/dist/types/__VUE/backtop/index.vue.d.ts +1 -1
  141. package/dist/types/__VUE/badge/index.vue.d.ts +1 -1
  142. package/dist/types/__VUE/button/index.vue.d.ts +1 -1
  143. package/dist/types/__VUE/calendar/index.vue.d.ts +1 -1
  144. package/dist/types/__VUE/calendaritem/index.vue.d.ts +4 -4
  145. package/dist/types/__VUE/cascader/index.vue.d.ts +2 -2
  146. package/dist/types/__VUE/cell/index.vue.d.ts +4 -4
  147. package/dist/types/__VUE/collapseitem/index.vue.d.ts +1 -1
  148. package/dist/types/__VUE/countup/index.vue.d.ts +2 -2
  149. package/dist/types/__VUE/datepicker/index.vue.d.ts +3 -3
  150. package/dist/types/__VUE/dialog/index.vue.d.ts +5 -5
  151. package/dist/types/__VUE/divider/index.vue.d.ts +1 -1
  152. package/dist/types/__VUE/fixednav/index.vue.d.ts +1 -1
  153. package/dist/types/__VUE/grid/index.vue.d.ts +1 -1
  154. package/dist/types/__VUE/image/index.vue.d.ts +1 -1
  155. package/dist/types/__VUE/imagepreview/imagePreviewItem.vue.d.ts +1 -1
  156. package/dist/types/__VUE/imagepreview/index.vue.d.ts +3 -3
  157. package/dist/types/__VUE/infiniteloading/index.vue.d.ts +1 -1
  158. package/dist/types/__VUE/input/index.vue.d.ts +3 -3
  159. package/dist/types/__VUE/menu/index.vue.d.ts +1 -1
  160. package/dist/types/__VUE/menuitem/index.vue.d.ts +11 -2
  161. package/dist/types/__VUE/navbar/index.vue.d.ts +1 -1
  162. package/dist/types/__VUE/noticebar/index.vue.d.ts +6 -6
  163. package/dist/types/__VUE/numberkeyboard/index.vue.d.ts +1 -1
  164. package/dist/types/__VUE/overlay/index.vue.d.ts +2 -2
  165. package/dist/types/__VUE/picker/Column.vue.d.ts +4 -4
  166. package/dist/types/__VUE/picker/index.vue.d.ts +26 -8
  167. package/dist/types/__VUE/popover/index.vue.d.ts +37 -8
  168. package/dist/types/__VUE/popover/type.d.ts +7 -0
  169. package/dist/types/__VUE/popup/index.vue.d.ts +2 -2
  170. package/dist/types/__VUE/price/index.vue.d.ts +9 -0
  171. package/dist/types/__VUE/range/index.vue.d.ts +7 -7
  172. package/dist/types/__VUE/searchbar/index.vue.d.ts +1 -1
  173. package/dist/types/__VUE/shortpassword/index.vue.d.ts +1 -1
  174. package/dist/types/__VUE/skeleton/index.vue.d.ts +1 -1
  175. package/dist/types/__VUE/sku/index.vue.d.ts +3 -3
  176. package/dist/types/__VUE/step/index.vue.d.ts +1 -1
  177. package/dist/types/__VUE/swipe/index.vue.d.ts +2 -2
  178. package/dist/types/__VUE/swiper/index.vue.d.ts +9 -8
  179. package/dist/types/__VUE/swiperitem/index.vue.d.ts +2 -2
  180. package/dist/types/__VUE/tabbar/index.vue.d.ts +2 -11
  181. package/dist/types/__VUE/tabbaritem/index.vue.d.ts +4 -4
  182. package/dist/types/__VUE/timeselect/index.vue.d.ts +1 -1
  183. package/dist/types/__VUE/toast/index.vue.d.ts +1 -1
  184. package/dist/types/__VUE/uploader/index.vue.d.ts +3 -3
  185. package/dist/types/__VUE/video/index.vue.d.ts +3 -3
  186. package/dist/types/__VUE/watermark/index.vue.d.ts +1 -1
  187. package/dist/types/index.d.ts +1 -1
  188. package/package.json +1 -1
  189. package/dist/types/__VUE/swiper/use-touch.d.ts +0 -20
package/dist/nutui.es.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * @nutui/nutui v3.3.0 Fri Dec 02 2022 20:55:40 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.3.1-beta.1 Fri Dec 16 2022 16:18:05 GMT+0800 (中国标准时间)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
6
- import { reactive, ref, defineComponent, createApp, h, toRefs, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, createBlock, createCommentVNode, mergeProps, renderSlot, getCurrentInstance, Fragment, toDisplayString, createTextVNode, watchEffect, Transition, withCtx, withDirectives, withModifiers, vShow, watch, Teleport, createVNode, useSlots, inject, provide, unref, onMounted, onUnmounted, shallowReactive, markRaw, isVNode, nextTick, renderList, onActivated, createSlots, onBeforeUnmount, onBeforeMount, resolveDynamicComponent, readonly, vModelText, onDeactivated, render as render$4, normalizeProps, guardReactiveProps, useCssVars } from "vue";
6
+ import { reactive, ref, defineComponent, createApp, h, toRefs, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, createBlock, createCommentVNode, mergeProps, renderSlot, getCurrentInstance, Fragment, toDisplayString, createTextVNode, watchEffect, Transition, withCtx, withDirectives, withModifiers, vShow, watch, Teleport, createVNode, useSlots, inject, provide, unref, onMounted, onUnmounted, shallowReactive, markRaw, isVNode, nextTick, renderList, onActivated, createSlots, onBeforeUnmount, onBeforeMount, resolveDynamicComponent, readonly, vModelText, onDeactivated, render as render$3, normalizeProps, guardReactiveProps, useCssVars } from "vue";
7
7
  class BaseLang {
8
8
  }
9
9
  class Lang$1 extends BaseLang {
@@ -350,6 +350,10 @@ const padZero = (num, length = 2) => {
350
350
  }
351
351
  return num.toString();
352
352
  };
353
+ const clamp = (num, min, max) => Math.min(Math.max(num, min), max);
354
+ const getScrollTopRoot = () => {
355
+ return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
356
+ };
353
357
  const langs = reactive({
354
358
  "zh-CN": new Lang$1(),
355
359
  "en-US": new Lang()
@@ -576,7 +580,7 @@ const _sfc_main$1M = create$1M({
576
580
  }
577
581
  });
578
582
  const _hoisted_1$1f = { class: "nut-button__warp" };
579
- function _sfc_render$1z(_ctx, _cache, $props, $setup, $data, $options) {
583
+ function _sfc_render$1A(_ctx, _cache, $props, $setup, $data, $options) {
580
584
  const _component_nut_icon = resolveComponent("nut-icon");
581
585
  return openBlock(), createElementBlock("view", {
582
586
  class: normalizeClass(_ctx.classes),
@@ -604,7 +608,7 @@ function _sfc_render$1z(_ctx, _cache, $props, $setup, $data, $options) {
604
608
  ])
605
609
  ], 6);
606
610
  }
607
- var Button = /* @__PURE__ */ _export_sfc(_sfc_main$1M, [["render", _sfc_render$1z]]);
611
+ var Button = /* @__PURE__ */ _export_sfc(_sfc_main$1M, [["render", _sfc_render$1A]]);
608
612
  function useRouter() {
609
613
  const proxy = getCurrentInstance().proxy;
610
614
  return proxy.$router || null;
@@ -619,7 +623,7 @@ const _hoisted_2$11 = {
619
623
  };
620
624
  const _hoisted_3$N = { class: "title" };
621
625
  const _hoisted_4$C = { class: "nut-cell__title-desc" };
622
- function render$3(_ctx, _cache, $props, $setup, $data, $options) {
626
+ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
623
627
  const _component_nut_icon = resolveComponent("nut-icon");
624
628
  return openBlock(), createElementBlock("view", {
625
629
  class: normalizeClass(_ctx.classes),
@@ -708,7 +712,7 @@ const _sfc_main$1L = create$1L({
708
712
  };
709
713
  }
710
714
  });
711
- var Cell = /* @__PURE__ */ _export_sfc(_sfc_main$1L, [["render", render$3]]);
715
+ var Cell = /* @__PURE__ */ _export_sfc(_sfc_main$1L, [["render", render$2]]);
712
716
  const { componentName: componentName$1g, create: create$1K } = createComponent("cell-group");
713
717
  const _sfc_main$1K = create$1K({
714
718
  props: {
@@ -736,7 +740,7 @@ const _hoisted_2$10 = {
736
740
  class: "nut-cell-group__desc"
737
741
  };
738
742
  const _hoisted_3$M = { class: "nut-cell-group__warp" };
739
- function _sfc_render$1y(_ctx, _cache, $props, $setup, $data, $options) {
743
+ function _sfc_render$1z(_ctx, _cache, $props, $setup, $data, $options) {
740
744
  return openBlock(), createElementBlock("view", {
741
745
  class: normalizeClass(_ctx.classes)
742
746
  }, [
@@ -747,7 +751,7 @@ function _sfc_render$1y(_ctx, _cache, $props, $setup, $data, $options) {
747
751
  ])
748
752
  ], 2);
749
753
  }
750
- var CellGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1K, [["render", _sfc_render$1y]]);
754
+ var CellGroup = /* @__PURE__ */ _export_sfc(_sfc_main$1K, [["render", _sfc_render$1z]]);
751
755
  let count = 0;
752
756
  const CLSNAME = "nut-overflow-hidden";
753
757
  const useLockScroll = (isLock) => {
@@ -825,7 +829,7 @@ const _sfc_main$1J = create$1J({
825
829
  return { classes, style, onClick };
826
830
  }
827
831
  });
828
- function _sfc_render$1x(_ctx, _cache, $props, $setup, $data, $options) {
832
+ function _sfc_render$1y(_ctx, _cache, $props, $setup, $data, $options) {
829
833
  return openBlock(), createBlock(Transition, { name: "overlay-fade" }, {
830
834
  default: withCtx(() => [
831
835
  withDirectives(createElementVNode("view", {
@@ -841,7 +845,7 @@ function _sfc_render$1x(_ctx, _cache, $props, $setup, $data, $options) {
841
845
  _: 3
842
846
  });
843
847
  }
844
- var OverLay = /* @__PURE__ */ _export_sfc(_sfc_main$1J, [["render", _sfc_render$1x]]);
848
+ var OverLay = /* @__PURE__ */ _export_sfc(_sfc_main$1J, [["render", _sfc_render$1y]]);
845
849
  const popupProps = {
846
850
  visible: {
847
851
  type: Boolean,
@@ -1016,7 +1020,7 @@ const component$9 = (componentName2) => {
1016
1020
  };
1017
1021
  const { componentName: componentName$1e, create: create$1I } = createComponent("popup");
1018
1022
  const _sfc_main$1I = create$1I(component$9(componentName$1e));
1019
- function _sfc_render$1w(_ctx, _cache, $props, $setup, $data, $options) {
1023
+ function _sfc_render$1x(_ctx, _cache, $props, $setup, $data, $options) {
1020
1024
  const _component_nut_overlay = resolveComponent("nut-overlay");
1021
1025
  const _component_nut_icon = resolveComponent("nut-icon");
1022
1026
  return openBlock(), createBlock(Teleport, {
@@ -1062,7 +1066,7 @@ function _sfc_render$1w(_ctx, _cache, $props, $setup, $data, $options) {
1062
1066
  }, 8, ["name", "onAfterEnter", "onAfterLeave"])
1063
1067
  ], 8, ["to", "disabled"]);
1064
1068
  }
1065
- var Popup = /* @__PURE__ */ _export_sfc(_sfc_main$1I, [["render", _sfc_render$1w]]);
1069
+ var Popup = /* @__PURE__ */ _export_sfc(_sfc_main$1I, [["render", _sfc_render$1x]]);
1066
1070
  const component$8 = {
1067
1071
  props: {
1068
1072
  theme: { type: String, default: "" },
@@ -1185,7 +1189,7 @@ const _hoisted_3$L = {
1185
1189
  key: 1,
1186
1190
  class: "nut-img-error"
1187
1191
  };
1188
- function _sfc_render$1v(_ctx, _cache, $props, $setup, $data, $options) {
1192
+ function _sfc_render$1w(_ctx, _cache, $props, $setup, $data, $options) {
1189
1193
  const _component_nut_icon = resolveComponent("nut-icon");
1190
1194
  return openBlock(), createElementBlock("view", {
1191
1195
  class: normalizeClass(_ctx.classes),
@@ -1216,7 +1220,7 @@ function _sfc_render$1v(_ctx, _cache, $props, $setup, $data, $options) {
1216
1220
  ])) : createCommentVNode("", true)
1217
1221
  ], 6);
1218
1222
  }
1219
- var Image$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1G, [["render", _sfc_render$1v]]);
1223
+ var Image$1 = /* @__PURE__ */ _export_sfc(_sfc_main$1G, [["render", _sfc_render$1w]]);
1220
1224
  const { create: create$1F } = createComponent("layout");
1221
1225
  const _sfc_main$1F = create$1F({});
1222
1226
  const { componentName: componentName$1b, create: create$1E } = createComponent("col");
@@ -1255,7 +1259,7 @@ const _sfc_main$1E = create$1E({
1255
1259
  };
1256
1260
  }
1257
1261
  });
1258
- function _sfc_render$1u(_ctx, _cache, $props, $setup, $data, $options) {
1262
+ function _sfc_render$1v(_ctx, _cache, $props, $setup, $data, $options) {
1259
1263
  return openBlock(), createElementBlock("view", {
1260
1264
  class: normalizeClass(_ctx.classes),
1261
1265
  style: normalizeStyle(_ctx.style)
@@ -1263,7 +1267,7 @@ function _sfc_render$1u(_ctx, _cache, $props, $setup, $data, $options) {
1263
1267
  renderSlot(_ctx.$slots, "default")
1264
1268
  ], 6);
1265
1269
  }
1266
- var Col = /* @__PURE__ */ _export_sfc(_sfc_main$1E, [["render", _sfc_render$1u]]);
1270
+ var Col = /* @__PURE__ */ _export_sfc(_sfc_main$1E, [["render", _sfc_render$1v]]);
1267
1271
  const { componentName: componentName$1a, create: create$1D } = createComponent("row");
1268
1272
  const _sfc_main$1D = create$1D({
1269
1273
  props: {
@@ -1309,14 +1313,14 @@ const _sfc_main$1D = create$1D({
1309
1313
  };
1310
1314
  }
1311
1315
  });
1312
- function _sfc_render$1t(_ctx, _cache, $props, $setup, $data, $options) {
1316
+ function _sfc_render$1u(_ctx, _cache, $props, $setup, $data, $options) {
1313
1317
  return openBlock(), createElementBlock("view", {
1314
1318
  class: normalizeClass(_ctx.getClasses())
1315
1319
  }, [
1316
1320
  renderSlot(_ctx.$slots, "default")
1317
1321
  ], 2);
1318
1322
  }
1319
- var Row = /* @__PURE__ */ _export_sfc(_sfc_main$1D, [["render", _sfc_render$1t]]);
1323
+ var Row = /* @__PURE__ */ _export_sfc(_sfc_main$1D, [["render", _sfc_render$1u]]);
1320
1324
  function isWindow(val) {
1321
1325
  return val === window;
1322
1326
  }
@@ -1539,7 +1543,7 @@ const _sfc_main$1B = create$1B({
1539
1543
  return { classes };
1540
1544
  }
1541
1545
  });
1542
- function _sfc_render$1s(_ctx, _cache, $props, $setup, $data, $options) {
1546
+ function _sfc_render$1t(_ctx, _cache, $props, $setup, $data, $options) {
1543
1547
  return _ctx.direction === "horizontal" ? (openBlock(), createElementBlock("view", {
1544
1548
  key: 0,
1545
1549
  class: normalizeClass(_ctx.classes)
@@ -1550,7 +1554,7 @@ function _sfc_render$1s(_ctx, _cache, $props, $setup, $data, $options) {
1550
1554
  class: normalizeClass(_ctx.classes)
1551
1555
  }, null, 2));
1552
1556
  }
1553
- var Divider = /* @__PURE__ */ _export_sfc(_sfc_main$1B, [["render", _sfc_render$1s]]);
1557
+ var Divider = /* @__PURE__ */ _export_sfc(_sfc_main$1B, [["render", _sfc_render$1t]]);
1554
1558
  function flattenVNodes(children, childName) {
1555
1559
  const result = [];
1556
1560
  const traverse = (children2) => {
@@ -1804,7 +1808,7 @@ const _hoisted_1$1b = {
1804
1808
  key: 3,
1805
1809
  class: "nut-grid-item__text"
1806
1810
  };
1807
- function _sfc_render$1r(_ctx, _cache, $props, $setup, $data, $options) {
1811
+ function _sfc_render$1s(_ctx, _cache, $props, $setup, $data, $options) {
1808
1812
  const _component_nut_icon = resolveComponent("nut-icon");
1809
1813
  return openBlock(), createElementBlock("view", {
1810
1814
  class: normalizeClass(_ctx.rootClass),
@@ -1827,7 +1831,7 @@ function _sfc_render$1r(_ctx, _cache, $props, $setup, $data, $options) {
1827
1831
  ], 2)
1828
1832
  ], 6);
1829
1833
  }
1830
- var GridItem = /* @__PURE__ */ _export_sfc(_sfc_main$1z, [["render", _sfc_render$1r]]);
1834
+ var GridItem = /* @__PURE__ */ _export_sfc(_sfc_main$1z, [["render", _sfc_render$1s]]);
1831
1835
  const { componentName: componentName$15, create: create$1y } = createComponent("navbar");
1832
1836
  const _sfc_main$1y = create$1y({
1833
1837
  props: {
@@ -1933,7 +1937,7 @@ const _hoisted_7$l = {
1933
1937
  key: 0,
1934
1938
  class: "nut-navbar__text"
1935
1939
  };
1936
- function _sfc_render$1q(_ctx, _cache, $props, $setup, $data, $options) {
1940
+ function _sfc_render$1r(_ctx, _cache, $props, $setup, $data, $options) {
1937
1941
  const _component_nut_icon = resolveComponent("nut-icon");
1938
1942
  return _ctx.fixed && _ctx.placeholder ? (openBlock(), createElementBlock("view", _hoisted_1$1a, [
1939
1943
  createElementVNode("view", {
@@ -2017,7 +2021,7 @@ function _sfc_render$1q(_ctx, _cache, $props, $setup, $data, $options) {
2017
2021
  ])
2018
2022
  ], 6));
2019
2023
  }
2020
- var Navbar = /* @__PURE__ */ _export_sfc(_sfc_main$1y, [["render", _sfc_render$1q]]);
2024
+ var Navbar = /* @__PURE__ */ _export_sfc(_sfc_main$1y, [["render", _sfc_render$1r]]);
2021
2025
  const { componentName: componentName$14, translate: translate$s } = createComponent("fixednav");
2022
2026
  const component$6 = {
2023
2027
  props: {
@@ -2092,7 +2096,7 @@ const _hoisted_5$r = {
2092
2096
  class: "b"
2093
2097
  };
2094
2098
  const _hoisted_6$o = { class: "text" };
2095
- function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2099
+ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
2096
2100
  const _component_nut_overlay = resolveComponent("nut-overlay");
2097
2101
  const _component_nut_icon = resolveComponent("nut-icon");
2098
2102
  return openBlock(), createElementBlock("view", {
@@ -2138,7 +2142,7 @@ function render$2(_ctx, _cache, $props, $setup, $data, $options) {
2138
2142
  }
2139
2143
  const { create: create$1x } = createComponent("fixednav");
2140
2144
  const _sfc_main$1x = create$1x(component$6);
2141
- var FixedNav = /* @__PURE__ */ _export_sfc(_sfc_main$1x, [["render", render$2]]);
2145
+ var FixedNav = /* @__PURE__ */ _export_sfc(_sfc_main$1x, [["render", render$1]]);
2142
2146
  const { componentName: componentName$13, create: create$1w } = createComponent("menu");
2143
2147
  const _sfc_main$1w = create$1w({
2144
2148
  props: {
@@ -2290,7 +2294,7 @@ const _sfc_main$1w = create$1w({
2290
2294
  });
2291
2295
  const _hoisted_1$18 = ["onClick"];
2292
2296
  const _hoisted_2$Y = { class: "nut-menu__title-text" };
2293
- function _sfc_render$1p(_ctx, _cache, $props, $setup, $data, $options) {
2297
+ function _sfc_render$1q(_ctx, _cache, $props, $setup, $data, $options) {
2294
2298
  const _component_nut_icon = resolveComponent("nut-icon");
2295
2299
  return openBlock(), createElementBlock("view", {
2296
2300
  class: normalizeClass(_ctx.classes)
@@ -2322,7 +2326,7 @@ function _sfc_render$1p(_ctx, _cache, $props, $setup, $data, $options) {
2322
2326
  renderSlot(_ctx.$slots, "default")
2323
2327
  ], 2);
2324
2328
  }
2325
- var Menu = /* @__PURE__ */ _export_sfc(_sfc_main$1w, [["render", _sfc_render$1p]]);
2329
+ var Menu = /* @__PURE__ */ _export_sfc(_sfc_main$1w, [["render", _sfc_render$1q]]);
2326
2330
  const { componentName: componentName$12, create: create$1v } = createComponent("menu-item");
2327
2331
  const _sfc_main$1v = create$1v({
2328
2332
  props: {
@@ -2345,6 +2349,10 @@ const _sfc_main$1v = create$1v({
2345
2349
  optionIcon: {
2346
2350
  type: String,
2347
2351
  default: "Check"
2352
+ },
2353
+ classPrefix: {
2354
+ type: String,
2355
+ default: "nut-icon"
2348
2356
  }
2349
2357
  },
2350
2358
  components: {
@@ -2439,7 +2447,7 @@ const _sfc_main$1v = create$1v({
2439
2447
  });
2440
2448
  const _hoisted_1$17 = { class: "nut-menu-item__content nut-menu-item__overflow" };
2441
2449
  const _hoisted_2$X = ["onClick"];
2442
- function _sfc_render$1o(_ctx, _cache, $props, $setup, $data, $options) {
2450
+ function _sfc_render$1p(_ctx, _cache, $props, $setup, $data, $options) {
2443
2451
  const _component_nut_icon = resolveComponent("nut-icon");
2444
2452
  const _component_nut_popup = resolveComponent("nut-popup");
2445
2453
  return withDirectives((openBlock(), createElementBlock("view", {
@@ -2480,8 +2488,9 @@ function _sfc_render$1o(_ctx, _cache, $props, $setup, $data, $options) {
2480
2488
  option.value === _ctx.modelValue ? (openBlock(), createBlock(_component_nut_icon, mergeProps({ key: 0 }, _ctx.$attrs, {
2481
2489
  class: { activeTitleClass: option.value === _ctx.modelValue, inactiveTitleClass: option.value !== _ctx.modelValue },
2482
2490
  name: _ctx.optionIcon,
2483
- color: _ctx.parent.props.activeColor
2484
- }), null, 16, ["class", "name", "color"])) : createCommentVNode("", true),
2491
+ color: _ctx.parent.props.activeColor,
2492
+ "class-prefix": _ctx.classPrefix
2493
+ }), null, 16, ["class", "name", "color", "class-prefix"])) : createCommentVNode("", true),
2485
2494
  createElementVNode("view", {
2486
2495
  class: normalizeClass({ activeTitleClass: option.value === _ctx.modelValue, inactiveTitleClass: option.value !== _ctx.modelValue }),
2487
2496
  style: normalizeStyle({ color: option.value === _ctx.modelValue ? _ctx.parent.props.activeColor : "" })
@@ -2497,7 +2506,7 @@ function _sfc_render$1o(_ctx, _cache, $props, $setup, $data, $options) {
2497
2506
  [vShow, _ctx.state.showWrapper]
2498
2507
  ]);
2499
2508
  }
2500
- var MenuItem = /* @__PURE__ */ _export_sfc(_sfc_main$1v, [["render", _sfc_render$1o]]);
2509
+ var MenuItem = /* @__PURE__ */ _export_sfc(_sfc_main$1v, [["render", _sfc_render$1p]]);
2501
2510
  const { create: create$1u } = createComponent("tabbar");
2502
2511
  const _sfc_main$1u = create$1u({
2503
2512
  props: {
@@ -2509,10 +2518,6 @@ const _sfc_main$1u = create$1u({
2509
2518
  type: Boolean,
2510
2519
  default: false
2511
2520
  },
2512
- type: {
2513
- type: String,
2514
- default: "base"
2515
- },
2516
2521
  size: {
2517
2522
  type: String,
2518
2523
  default: "20px"
@@ -2542,7 +2547,7 @@ const _sfc_main$1u = create$1u({
2542
2547
  val: props.visible,
2543
2548
  children: []
2544
2549
  });
2545
- const nutTabbar = ref(null);
2550
+ const nutTabbar = ref();
2546
2551
  function changeIndex(index, active) {
2547
2552
  emit("update:visible", active);
2548
2553
  parentData.modelValue = active;
@@ -2566,8 +2571,7 @@ const _sfc_main$1u = create$1u({
2566
2571
  onMounted(() => {
2567
2572
  if (bottom.value && placeholder.value) {
2568
2573
  nextTick(() => {
2569
- var _a;
2570
- height.value = (_a = nutTabbar == null ? void 0 : nutTabbar.value) == null ? void 0 : _a.getBoundingClientRect().height;
2574
+ height.value = useRect(nutTabbar).height;
2571
2575
  });
2572
2576
  }
2573
2577
  });
@@ -2578,7 +2582,7 @@ const _sfc_main$1u = create$1u({
2578
2582
  };
2579
2583
  }
2580
2584
  });
2581
- function _sfc_render$1n(_ctx, _cache, $props, $setup, $data, $options) {
2585
+ function _sfc_render$1o(_ctx, _cache, $props, $setup, $data, $options) {
2582
2586
  return _ctx.bottom && _ctx.placeholder ? (openBlock(), createElementBlock("div", {
2583
2587
  key: 0,
2584
2588
  class: "nut-tabbar__placeholder",
@@ -2597,7 +2601,7 @@ function _sfc_render$1n(_ctx, _cache, $props, $setup, $data, $options) {
2597
2601
  renderSlot(_ctx.$slots, "default")
2598
2602
  ], 2));
2599
2603
  }
2600
- var Tabbar = /* @__PURE__ */ _export_sfc(_sfc_main$1u, [["render", _sfc_render$1n]]);
2604
+ var Tabbar = /* @__PURE__ */ _export_sfc(_sfc_main$1u, [["render", _sfc_render$1o]]);
2601
2605
  const { create: create$1t } = createComponent("tabbar-item");
2602
2606
  const _sfc_main$1t = create$1t({
2603
2607
  props: {
@@ -2617,7 +2621,7 @@ const _sfc_main$1t = create$1t({
2617
2621
  default: ""
2618
2622
  },
2619
2623
  num: {
2620
- type: String,
2624
+ type: Number,
2621
2625
  default: ""
2622
2626
  },
2623
2627
  activeImg: {
@@ -2659,8 +2663,8 @@ const _sfc_main$1t = create$1t({
2659
2663
  var _a;
2660
2664
  if (child.proxy) {
2661
2665
  parent.children.push(child.proxy);
2662
- const index = computed(() => parent.children.indexOf(child.proxy));
2663
- state.index = (_a = props.name) != null ? _a : index.value;
2666
+ const index = parent.children.indexOf(child.proxy);
2667
+ state.index = (_a = props.name) != null ? _a : index;
2664
2668
  }
2665
2669
  };
2666
2670
  relation(getCurrentInstance());
@@ -2731,7 +2735,7 @@ const _hoisted_5$q = {
2731
2735
  };
2732
2736
  const _hoisted_6$n = { key: 3 };
2733
2737
  const _hoisted_7$k = { key: 0 };
2734
- function _sfc_render$1m(_ctx, _cache, $props, $setup, $data, $options) {
2738
+ function _sfc_render$1n(_ctx, _cache, $props, $setup, $data, $options) {
2735
2739
  const _component_nut_icon = resolveComponent("nut-icon");
2736
2740
  return openBlock(), createElementBlock("div", {
2737
2741
  class: normalizeClass(["nut-tabbar-item", { "nut-tabbar-item__icon--unactive": !_ctx.active }]),
@@ -2742,13 +2746,12 @@ function _sfc_render$1m(_ctx, _cache, $props, $setup, $data, $options) {
2742
2746
  }, [
2743
2747
  createElementVNode("view", _hoisted_1$16, [
2744
2748
  !_ctx.dot ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
2745
- _ctx.num && _ctx.num <= 99 ? (openBlock(), createElementBlock("view", _hoisted_2$W, toDisplayString(_ctx.num), 1)) : _ctx.num && _ctx.num > 100 ? (openBlock(), createElementBlock("view", _hoisted_3$I, toDisplayString("99+"))) : createCommentVNode("", true)
2749
+ _ctx.num && _ctx.num <= 99 ? (openBlock(), createElementBlock("view", _hoisted_2$W, toDisplayString(_ctx.num), 1)) : _ctx.num && _ctx.num >= 100 ? (openBlock(), createElementBlock("view", _hoisted_3$I, toDisplayString("99+"))) : createCommentVNode("", true)
2746
2750
  ], 64)) : createCommentVNode("", true),
2747
2751
  _ctx.dot ? (openBlock(), createElementBlock("div", _hoisted_4$z)) : createCommentVNode("", true),
2748
- _ctx.isHaveSlot("icon") ? (openBlock(), createElementBlock("div", _hoisted_5$q, [
2752
+ _ctx.$slots.icon ? (openBlock(), createElementBlock("div", _hoisted_5$q, [
2749
2753
  renderSlot(_ctx.$slots, "icon", { active: _ctx.active })
2750
- ])) : createCommentVNode("", true),
2751
- _ctx.icon && !_ctx.isHaveSlot("icon") ? (openBlock(), createElementBlock("view", _hoisted_6$n, [
2754
+ ])) : _ctx.icon ? (openBlock(), createElementBlock("view", _hoisted_6$n, [
2752
2755
  createVNode(_component_nut_icon, {
2753
2756
  class: "nut-tabbar-item_icon-box_icon",
2754
2757
  size: _ctx.state.size,
@@ -2756,8 +2759,7 @@ function _sfc_render$1m(_ctx, _cache, $props, $setup, $data, $options) {
2756
2759
  "font-class-name": _ctx.fontClassName,
2757
2760
  "class-prefix": _ctx.classPrefix
2758
2761
  }, null, 8, ["size", "name", "font-class-name", "class-prefix"])
2759
- ])) : createCommentVNode("", true),
2760
- !_ctx.icon && _ctx.activeImg && !_ctx.isHaveSlot("icon") ? (openBlock(), createElementBlock("div", {
2762
+ ])) : _ctx.activeImg ? (openBlock(), createElementBlock("div", {
2761
2763
  key: 4,
2762
2764
  class: "nut-tabbar-item_icon-box_icon",
2763
2765
  style: normalizeStyle({
@@ -2769,16 +2771,17 @@ function _sfc_render$1m(_ctx, _cache, $props, $setup, $data, $options) {
2769
2771
  createElementVNode("view", {
2770
2772
  class: normalizeClass([
2771
2773
  "nut-tabbar-item_icon-box_nav-word",
2772
- { "nut-tabbar-item_icon-box_big-word": !_ctx.icon && !_ctx.activeImg && !_ctx.isHaveSlot("icon") }
2774
+ { "nut-tabbar-item_icon-box_big-word": !_ctx.icon && !_ctx.activeImg && !_ctx.$slots.icon }
2773
2775
  ])
2774
2776
  }, [
2775
- _ctx.tabTitle ? (openBlock(), createElementBlock("view", _hoisted_7$k, toDisplayString(_ctx.tabTitle), 1)) : createCommentVNode("", true),
2776
- !_ctx.tabTitle ? renderSlot(_ctx.$slots, "default", { key: 1 }) : createCommentVNode("", true)
2777
+ renderSlot(_ctx.$slots, "default", {}, () => [
2778
+ _ctx.tabTitle ? (openBlock(), createElementBlock("view", _hoisted_7$k, toDisplayString(_ctx.tabTitle), 1)) : createCommentVNode("", true)
2779
+ ])
2777
2780
  ], 2)
2778
2781
  ])
2779
2782
  ], 6);
2780
2783
  }
2781
- var TabbarItem = /* @__PURE__ */ _export_sfc(_sfc_main$1t, [["render", _sfc_render$1m]]);
2784
+ var TabbarItem = /* @__PURE__ */ _export_sfc(_sfc_main$1t, [["render", _sfc_render$1n]]);
2782
2785
  function useExpose(apis) {
2783
2786
  const instance = getCurrentInstance();
2784
2787
  if (instance) {
@@ -2977,7 +2980,7 @@ const _hoisted_3$H = ["innerHTML"];
2977
2980
  const _hoisted_4$y = { class: "fixed-title" };
2978
2981
  const _hoisted_5$p = { class: "nut-elevator__bars__inner" };
2979
2982
  const _hoisted_6$m = ["data-index", "onClick"];
2980
- function _sfc_render$1l(_ctx, _cache, $props, $setup, $data, $options) {
2983
+ function _sfc_render$1m(_ctx, _cache, $props, $setup, $data, $options) {
2981
2984
  return openBlock(), createElementBlock("view", {
2982
2985
  class: normalizeClass(_ctx.classes)
2983
2986
  }, [
@@ -3048,7 +3051,7 @@ function _sfc_render$1l(_ctx, _cache, $props, $setup, $data, $options) {
3048
3051
  ], 32)
3049
3052
  ], 2);
3050
3053
  }
3051
- var Elevator = /* @__PURE__ */ _export_sfc(_sfc_main$1s, [["render", _sfc_render$1l]]);
3054
+ var Elevator = /* @__PURE__ */ _export_sfc(_sfc_main$1s, [["render", _sfc_render$1m]]);
3052
3055
  const { create: create$1r, translate: translate$r } = createComponent("pagination");
3053
3056
  const _sfc_main$1r = create$1r({
3054
3057
  props: {
@@ -3167,7 +3170,7 @@ const _hoisted_4$x = {
3167
3170
  class: "nut-pagination-contain"
3168
3171
  };
3169
3172
  const _hoisted_5$o = { class: "nut-pagination-simple" };
3170
- function _sfc_render$1k(_ctx, _cache, $props, $setup, $data, $options) {
3173
+ function _sfc_render$1l(_ctx, _cache, $props, $setup, $data, $options) {
3171
3174
  return openBlock(), createElementBlock("view", _hoisted_1$14, [
3172
3175
  createElementVNode("view", {
3173
3176
  class: normalizeClass(["nut-pagination-prev", _ctx.mode == "multi" ? "" : "simple-border", _ctx.modelValue == 1 ? "disabled" : ""]),
@@ -3203,7 +3206,7 @@ function _sfc_render$1k(_ctx, _cache, $props, $setup, $data, $options) {
3203
3206
  ], 2)
3204
3207
  ]);
3205
3208
  }
3206
- var Pagination = /* @__PURE__ */ _export_sfc(_sfc_main$1r, [["render", _sfc_render$1k]]);
3209
+ var Pagination = /* @__PURE__ */ _export_sfc(_sfc_main$1r, [["render", _sfc_render$1l]]);
3207
3210
  class Title {
3208
3211
  constructor() {
3209
3212
  this.title = "";
@@ -3330,9 +3333,6 @@ const component$5 = {
3330
3333
  init(vnodes);
3331
3334
  }
3332
3335
  );
3333
- const getScrollTopRoot = () => {
3334
- return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
3335
- };
3336
3336
  watch(
3337
3337
  () => props.modelValue,
3338
3338
  (value) => {
@@ -3395,9 +3395,11 @@ const component$5 = {
3395
3395
  };
3396
3396
  }
3397
3397
  };
3398
+ const { create: create$1q } = createComponent("tabs");
3399
+ const _sfc_main$1q = create$1q(component$5);
3398
3400
  const _hoisted_1$13 = ["onClick"];
3399
3401
  const _hoisted_2$T = ["onClick"];
3400
- function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3402
+ function _sfc_render$1k(_ctx, _cache, $props, $setup, $data, $options) {
3401
3403
  const _component_nut_icon = resolveComponent("nut-icon");
3402
3404
  const _component_nut_sticky = resolveComponent("nut-sticky");
3403
3405
  return openBlock(), createElementBlock("view", {
@@ -3487,9 +3489,7 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
3487
3489
  ], 4)
3488
3490
  ], 2);
3489
3491
  }
3490
- const { create: create$1q } = createComponent("tabs");
3491
- const _sfc_main$1q = create$1q(component$5);
3492
- var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$1q, [["render", render$1]]);
3492
+ var Tabs = /* @__PURE__ */ _export_sfc(_sfc_main$1q, [["render", _sfc_render$1k]]);
3493
3493
  const { create: create$1p } = createComponent("tabpane");
3494
3494
  const _sfc_main$1p = create$1p({
3495
3495
  props: {
@@ -3786,7 +3786,7 @@ function getDirection(x, y) {
3786
3786
  }
3787
3787
  return "";
3788
3788
  }
3789
- function useTouch$1() {
3789
+ function useTouch() {
3790
3790
  const startX = ref(0);
3791
3791
  const startY = ref(0);
3792
3792
  const moveX = ref(0);
@@ -3890,7 +3890,7 @@ const _sfc_main$1k = create$1k({
3890
3890
  let currentValue;
3891
3891
  const root = ref();
3892
3892
  const dragStatus = ref();
3893
- const touch = useTouch$1();
3893
+ const touch = useTouch();
3894
3894
  const marksList = computed(() => {
3895
3895
  const { marks, max, min } = props;
3896
3896
  const marksKeys = Object.keys(marks);
@@ -6368,7 +6368,7 @@ const _sfc_main$1c = create$1c({
6368
6368
  },
6369
6369
  emits: ["click", "change"],
6370
6370
  setup(props, { emit }) {
6371
- const touch = useTouch$1();
6371
+ const touch = useTouch();
6372
6372
  const wrapper = ref();
6373
6373
  const state = reactive({
6374
6374
  touchParams: {
@@ -6492,7 +6492,7 @@ const _sfc_main$1c = create$1c({
6492
6492
  let currentDeg = (-updateMove / state.lineSpacing + 1) * state.rotation;
6493
6493
  const maxDeg = (props.column.length + 1) * state.rotation;
6494
6494
  const minDeg = 0;
6495
- deg = Math.min(Math.max(currentDeg, minDeg), maxDeg);
6495
+ deg = clamp(currentDeg, minDeg, maxDeg);
6496
6496
  if (minDeg < deg && deg < maxDeg) {
6497
6497
  setTransform(updateMove, null, void 0, deg + "deg");
6498
6498
  state.currIndex = Math.abs(Math.round(updateMove / state.lineSpacing)) + 1;
@@ -6633,6 +6633,14 @@ const _sfc_main$1b = create$1b({
6633
6633
  swipeDuration: {
6634
6634
  type: [Number, String],
6635
6635
  default: 1e3
6636
+ },
6637
+ showOkText: {
6638
+ type: Boolean,
6639
+ default: true
6640
+ },
6641
+ showCancelText: {
6642
+ type: Boolean,
6643
+ default: true
6636
6644
  }
6637
6645
  },
6638
6646
  emits: ["close", "change", "confirm", "update:visible", "update:modelValue"],
@@ -6841,15 +6849,17 @@ function _sfc_render$17(_ctx, _cache, $props, $setup, $data, $options) {
6841
6849
  }, {
6842
6850
  default: withCtx(() => [
6843
6851
  createElementVNode("view", _hoisted_1$V, [
6844
- createElementVNode("view", {
6852
+ _ctx.showCancelText ? (openBlock(), createElementBlock("view", {
6853
+ key: 0,
6845
6854
  class: "nut-picker__left",
6846
6855
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.close && _ctx.close(...args))
6847
- }, toDisplayString(_ctx.cancelText || _ctx.translate("cancel")), 1),
6856
+ }, toDisplayString(_ctx.cancelText || _ctx.translate("cancel")), 1)) : createCommentVNode("", true),
6848
6857
  createElementVNode("view", _hoisted_2$K, toDisplayString(_ctx.title), 1),
6849
- createElementVNode("view", {
6858
+ _ctx.showOkText ? (openBlock(), createElementBlock("view", {
6859
+ key: 1,
6850
6860
  class: "nut-picker__right",
6851
6861
  onClick: _cache[1] || (_cache[1] = ($event) => _ctx.confirmHandler())
6852
- }, toDisplayString(_ctx.okText || _ctx.translate("confirm")), 1)
6862
+ }, toDisplayString(_ctx.okText || _ctx.translate("confirm")), 1)) : createCommentVNode("", true)
6853
6863
  ]),
6854
6864
  renderSlot(_ctx.$slots, "top"),
6855
6865
  createElementVNode("view", _hoisted_3$A, [
@@ -8070,7 +8080,7 @@ const useComponent = (touchable = true) => {
8070
8080
  }
8071
8081
  return v;
8072
8082
  };
8073
- const touch = useTouch$1();
8083
+ const touch = useTouch();
8074
8084
  const touchMethods = {
8075
8085
  onTouchStart(event) {
8076
8086
  if (!props.touchable)
@@ -9603,7 +9613,7 @@ const _sfc_main$_ = create$_({
9603
9613
  }
9604
9614
  state.offset = offset;
9605
9615
  };
9606
- const touch = useTouch$1();
9616
+ const touch = useTouch();
9607
9617
  const touchMethods = {
9608
9618
  onTouchStart(event) {
9609
9619
  if (props.disabled)
@@ -10501,7 +10511,7 @@ const _sfc_main$V = create$V({
10501
10511
  },
10502
10512
  emits: ["scroll-change", "load-more", "refresh"],
10503
10513
  setup(props, { emit, slots }) {
10504
- const touch = useTouch$1();
10514
+ const touch = useTouch();
10505
10515
  const state = reactive({
10506
10516
  scrollEl: window,
10507
10517
  scroller: null,
@@ -10523,17 +10533,9 @@ const _sfc_main$V = create$V({
10523
10533
  const getStyle = computed(() => {
10524
10534
  return {
10525
10535
  height: state.distance < 0 ? `0px` : `${state.distance}px`,
10526
- transition: state.isTouching ? `height 0s cubic-bezier(0.25,0.1,0.25,1)` : `height 0.2s cubic-bezier(0.25,0.1,0.25,1)`
10536
+ transitionDuration: state.isTouching ? 0 : `0.2s`
10527
10537
  };
10528
10538
  });
10529
- const requestAniFrame2 = () => {
10530
- return window.requestAnimationFrame || window.webkitRequestAnimationFrame || function(callback) {
10531
- window.setTimeout(callback, 1e3 / 60);
10532
- };
10533
- };
10534
- const getWindowScrollTop = () => {
10535
- return window.pageYOffset !== void 0 ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
10536
- };
10537
10539
  const calculateTopPosition = (el) => {
10538
10540
  return !el ? 0 : el.offsetTop + calculateTopPosition(el.offsetParent);
10539
10541
  };
@@ -10541,8 +10543,8 @@ const _sfc_main$V = create$V({
10541
10543
  let offsetDistance = 0;
10542
10544
  let resScrollTop = 0;
10543
10545
  let direction = "down";
10544
- const windowScrollTop = getWindowScrollTop();
10545
10546
  if (props.useWindow) {
10547
+ const windowScrollTop = getScrollTopRoot();
10546
10548
  if (state.scroller) {
10547
10549
  offsetDistance = calculateTopPosition(state.scroller) + state.scroller.offsetHeight - windowScrollTop - window.innerHeight;
10548
10550
  }
@@ -10565,7 +10567,7 @@ const _sfc_main$V = create$V({
10565
10567
  state.isInfiniting = false;
10566
10568
  };
10567
10569
  const handleScroll = () => {
10568
- requestAniFrame2()(() => {
10570
+ requestAniFrame$1(() => {
10569
10571
  if (!isScrollAtBottom() || !props.hasMore || state.isInfiniting) {
10570
10572
  return false;
10571
10573
  } else {
@@ -10617,14 +10619,16 @@ const _sfc_main$V = create$V({
10617
10619
  const getParentElement = (el) => {
10618
10620
  return !!props.containerId ? document.querySelector(`#${props.containerId}`) : el && el.parentNode;
10619
10621
  };
10622
+ const removeScrollListener = () => {
10623
+ state.scrollEl.removeEventListener("scroll", handleScroll, props.useCapture);
10624
+ };
10620
10625
  onMounted(() => {
10621
10626
  const parentElement = getParentElement(state.scroller);
10622
10627
  state.scrollEl = props.useWindow ? window : parentElement;
10623
10628
  scrollListener();
10624
- console.log(slots);
10625
10629
  });
10626
10630
  onUnmounted(() => {
10627
- state.scrollEl.removeEventListener("scroll", handleScroll, props.useCapture);
10631
+ removeScrollListener();
10628
10632
  });
10629
10633
  const isKeepAlive = ref(false);
10630
10634
  onActivated(() => {
@@ -10635,7 +10639,7 @@ const _sfc_main$V = create$V({
10635
10639
  });
10636
10640
  onDeactivated(() => {
10637
10641
  isKeepAlive.value = true;
10638
- state.scrollEl.removeEventListener("scroll", handleScroll, props.useCapture);
10642
+ removeScrollListener();
10639
10643
  });
10640
10644
  return {
10641
10645
  classes,
@@ -10658,10 +10662,7 @@ const _hoisted_5$f = {
10658
10662
  class: "bottom-box"
10659
10663
  };
10660
10664
  const _hoisted_6$e = { class: "bottom-text" };
10661
- const _hoisted_7$c = {
10662
- key: 0,
10663
- class: "tips"
10664
- };
10665
+ const _hoisted_7$c = { class: "tips" };
10665
10666
  function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
10666
10667
  const _component_nut_icon = resolveComponent("nut-icon");
10667
10668
  return openBlock(), createElementBlock("view", {
@@ -10686,13 +10687,13 @@ function _sfc_render$U(_ctx, _cache, $props, $setup, $data, $options) {
10686
10687
  ]),
10687
10688
  createElementVNode("view", _hoisted_4$n, [
10688
10689
  _ctx.isInfiniting ? (openBlock(), createElementBlock("view", _hoisted_5$f, [
10689
- !_ctx.slots.loading ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
10690
+ renderSlot(_ctx.$slots, "loading", {}, () => [
10690
10691
  createVNode(_component_nut_icon, mergeProps({ class: "bottom-img" }, _ctx.$attrs, { name: _ctx.loadIcon }), null, 16, ["name"]),
10691
10692
  createElementVNode("view", _hoisted_6$e, toDisplayString(_ctx.loadTxt || _ctx.translate("loading")), 1)
10692
- ], 64)) : renderSlot(_ctx.$slots, "loading", { key: 1 })
10693
- ])) : !_ctx.hasMore ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
10694
- !_ctx.slots.finished ? (openBlock(), createElementBlock("view", _hoisted_7$c, toDisplayString(_ctx.loadMoreTxt || _ctx.translate("loadMoreTxt")), 1)) : renderSlot(_ctx.$slots, "finished", { key: 1 })
10695
- ], 64)) : createCommentVNode("", true)
10693
+ ])
10694
+ ])) : !_ctx.hasMore ? renderSlot(_ctx.$slots, "finished", { key: 1 }, () => [
10695
+ createElementVNode("view", _hoisted_7$c, toDisplayString(_ctx.loadMoreTxt || _ctx.translate("loadMoreTxt")), 1)
10696
+ ]) : createCommentVNode("", true)
10696
10697
  ])
10697
10698
  ], 34);
10698
10699
  }
@@ -10834,7 +10835,7 @@ const updateNotify = (opts) => {
10834
10835
  opts = { ...defaultOptions$1, ...opts };
10835
10836
  }
10836
10837
  const instance = createVNode(Notify, opts);
10837
- render$4(instance, container);
10838
+ render$3(instance, container);
10838
10839
  return instance.component.data;
10839
10840
  }
10840
10841
  };
@@ -10870,7 +10871,7 @@ const mountNotify = (opts) => {
10870
10871
  };
10871
10872
  const instance = createVNode(Wrapper);
10872
10873
  document.body.appendChild(root);
10873
- render$4(instance, root);
10874
+ render$3(instance, root);
10874
10875
  };
10875
10876
  const errorMsg$1 = (msg) => {
10876
10877
  if (!msg) {
@@ -11274,7 +11275,7 @@ const updateToast = (opts) => {
11274
11275
  opts = { ...defaultOptions, ...opts };
11275
11276
  }
11276
11277
  const instance = createVNode(Toast, opts);
11277
- render$4(instance, container);
11278
+ render$3(instance, container);
11278
11279
  return ToastFunction;
11279
11280
  }
11280
11281
  };
@@ -13287,54 +13288,6 @@ function _sfc_render$G(_ctx, _cache, $props, $setup, $data, $options) {
13287
13288
  ], 2);
13288
13289
  }
13289
13290
  var Step = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["render", _sfc_render$G]]);
13290
- const DISTANCE = 5;
13291
- function useTouch() {
13292
- const state = reactive({
13293
- startX: 0,
13294
- startY: 0,
13295
- deltaX: 0,
13296
- deltaY: 0,
13297
- offsetX: 0,
13298
- offsetY: 0,
13299
- direction: ""
13300
- });
13301
- const getDirection2 = (x, y) => {
13302
- if (x > y && x > DISTANCE)
13303
- return "horizontal";
13304
- if (y > x && y > DISTANCE)
13305
- return "vertical";
13306
- return "";
13307
- };
13308
- const reset = () => {
13309
- state.startX = 0;
13310
- state.startY = 0;
13311
- state.deltaX = 0;
13312
- state.deltaY = 0;
13313
- state.offsetX = 0;
13314
- state.offsetY = 0;
13315
- state.direction = "";
13316
- };
13317
- const start = (e) => {
13318
- reset();
13319
- state.startX = e.touches[0].clientX;
13320
- state.startY = e.touches[0].clientY;
13321
- };
13322
- const move = (e) => {
13323
- state.deltaX = e.touches[0].clientX - state.startX;
13324
- state.deltaY = e.touches[0].clientY - state.startY;
13325
- state.offsetX = Math.abs(state.deltaX);
13326
- state.offsetY = Math.abs(state.deltaY);
13327
- if (!state.direction) {
13328
- state.direction = getDirection2(state.offsetX, state.offsetY);
13329
- }
13330
- };
13331
- return {
13332
- state,
13333
- start,
13334
- reset,
13335
- move
13336
- };
13337
- }
13338
13291
  const { create: create$F, componentName: componentName$u } = createComponent("swiper");
13339
13292
  const _sfc_main$F = create$F({
13340
13293
  props: {
@@ -13347,7 +13300,7 @@ const _sfc_main$F = create$F({
13347
13300
  default: 0
13348
13301
  },
13349
13302
  direction: {
13350
- type: [String],
13303
+ type: String,
13351
13304
  default: "horizontal"
13352
13305
  },
13353
13306
  paginationVisible: {
@@ -13416,11 +13369,25 @@ const _sfc_main$F = create$F({
13416
13369
  };
13417
13370
  });
13418
13371
  const isVertical = computed(() => props.direction === "vertical");
13372
+ const classesInner = computed(() => {
13373
+ const prefixCls = componentName$u;
13374
+ return {
13375
+ [`${prefixCls}-inner`]: true,
13376
+ [`${prefixCls}-vertical`]: isVertical.value
13377
+ };
13378
+ });
13379
+ const classesPagination = computed(() => {
13380
+ const prefixCls = componentName$u;
13381
+ return {
13382
+ [`${prefixCls}-pagination`]: true,
13383
+ [`${prefixCls}-pagination-vertical`]: isVertical.value
13384
+ };
13385
+ });
13419
13386
  const delTa = computed(() => {
13420
- return isVertical.value ? touch.state.deltaY : touch.state.deltaX;
13387
+ return isVertical.value ? touch.deltaY.value : touch.deltaX.value;
13421
13388
  });
13422
13389
  const isCorrectDirection = computed(() => {
13423
- return touch.state.direction === props.direction;
13390
+ return touch.direction.value === props.direction;
13424
13391
  });
13425
13392
  const childCount = computed(() => state.children.length);
13426
13393
  const size = computed(() => state[isVertical.value ? "height" : "width"]);
@@ -13435,12 +13402,7 @@ const _sfc_main$F = create$F({
13435
13402
  const activePagination = computed(() => (state.active + childCount.value) % childCount.value);
13436
13403
  const getStyle = () => {
13437
13404
  let offset = 0;
13438
- if (!props.isCenter) {
13439
- offset = state.offset;
13440
- } else {
13441
- let val = isVertical.value ? state.rect.height - size.value : state.rect.width - size.value;
13442
- offset = state.offset + (state.active === childCount.value - 1 ? -val / 2 : val / 2);
13443
- }
13405
+ offset = state.offset;
13444
13406
  state.style = {
13445
13407
  transitionDuration: `${state.moving ? 0 : props.duration}ms`,
13446
13408
  transform: `translate${isVertical.value ? "Y" : "X"}(${offset}px)`,
@@ -13451,26 +13413,27 @@ const _sfc_main$F = create$F({
13451
13413
  const relation = (child) => {
13452
13414
  var _a;
13453
13415
  let children = [];
13416
+ const childrenVNodeLen = state.childrenVNode.length;
13454
13417
  let slot = (_a = slots == null ? void 0 : slots.default) == null ? void 0 : _a.call(slots);
13455
13418
  slot = slot.filter((item) => item.children && Array.isArray(item.children));
13456
13419
  slot.forEach((item) => {
13457
13420
  children = children.concat(item.children);
13458
13421
  });
13459
- if (!state.childrenVNode.length) {
13422
+ if (!childrenVNodeLen) {
13460
13423
  state.childrenVNode = children.slice();
13461
13424
  child.proxy && state.children.push(child.proxy);
13462
13425
  } else {
13463
- if (state.childrenVNode.length > children.length) {
13426
+ if (childrenVNodeLen > children.length) {
13464
13427
  state.children = state.children.filter((item) => child.proxy !== item);
13465
- } else if (state.childrenVNode.length < children.length) {
13466
- for (let i = 0; i < state.childrenVNode.length; i++) {
13428
+ } else if (childrenVNodeLen < children.length) {
13429
+ for (let i = 0; i < childrenVNodeLen; i++) {
13467
13430
  if (children[i].key !== state.childrenVNode[i].key) {
13468
13431
  child.proxy && state.children.splice(i, 0, child.proxy);
13469
13432
  child.vnode && state.childrenVNode.splice(i, 0, child.vnode);
13470
13433
  break;
13471
13434
  }
13472
13435
  }
13473
- if (state.childrenVNode.length !== children.length) {
13436
+ if (childrenVNodeLen !== children.length) {
13474
13437
  child.proxy && state.children.push(child.proxy);
13475
13438
  child.vnode && state.childrenVNode.push(child.vnode);
13476
13439
  }
@@ -13480,12 +13443,6 @@ const _sfc_main$F = create$F({
13480
13443
  }
13481
13444
  }
13482
13445
  };
13483
- const range = (num, min, max) => {
13484
- return Math.min(Math.max(num, min), max);
13485
- };
13486
- const requestFrame = (fn) => {
13487
- window.requestAnimationFrame.call(window, fn);
13488
- };
13489
13446
  const getOffset = (active, offset = 0) => {
13490
13447
  let currentPosition = active * size.value;
13491
13448
  if (!props.loop) {
@@ -13493,7 +13450,7 @@ const _sfc_main$F = create$F({
13493
13450
  }
13494
13451
  let targetOffset = offset - currentPosition;
13495
13452
  if (!props.loop) {
13496
- targetOffset = range(targetOffset, minOffset.value, 0);
13453
+ targetOffset = clamp(targetOffset, minOffset.value, 0);
13497
13454
  }
13498
13455
  return targetOffset;
13499
13456
  };
@@ -13501,9 +13458,9 @@ const _sfc_main$F = create$F({
13501
13458
  const { active } = state;
13502
13459
  if (pace) {
13503
13460
  if (props.loop) {
13504
- return range(active + pace, -1, childCount.value);
13461
+ return clamp(active + pace, -1, childCount.value);
13505
13462
  }
13506
- return range(active + pace, 0, childCount.value - 1);
13463
+ return clamp(active + pace, 0, childCount.value - 1);
13507
13464
  }
13508
13465
  return active;
13509
13466
  };
@@ -13542,48 +13499,39 @@ const _sfc_main$F = create$F({
13542
13499
  const stopAutoPlay = () => {
13543
13500
  clearTimeout(state.autoplayTimer);
13544
13501
  };
13545
- const prev = () => {
13502
+ const jump = (pace) => {
13546
13503
  resettPosition();
13547
13504
  touch.reset();
13548
- requestFrame(() => {
13549
- requestFrame(() => {
13505
+ requestAniFrame$1(() => {
13506
+ requestAniFrame$1(() => {
13550
13507
  state.moving = false;
13551
13508
  move({
13552
- pace: -1,
13509
+ pace,
13553
13510
  isEmit: true
13554
13511
  });
13555
13512
  });
13556
13513
  });
13557
13514
  };
13515
+ const prev = () => {
13516
+ jump(-1);
13517
+ };
13558
13518
  const next = () => {
13559
- resettPosition();
13560
- touch.reset();
13561
- requestFrame(() => {
13562
- requestFrame(() => {
13563
- state.moving = false;
13564
- move({
13565
- pace: 1,
13566
- isEmit: true
13567
- });
13568
- });
13569
- });
13519
+ jump(1);
13570
13520
  };
13571
13521
  const to = (index) => {
13572
13522
  resettPosition();
13573
13523
  touch.reset();
13574
- requestFrame(() => {
13575
- requestFrame(() => {
13576
- state.moving = false;
13577
- let targetIndex;
13578
- if (props.loop && childCount.value === index) {
13579
- targetIndex = state.active === 0 ? 0 : index;
13580
- } else {
13581
- targetIndex = index % childCount.value;
13582
- }
13583
- move({
13584
- pace: targetIndex - state.active,
13585
- isEmit: true
13586
- });
13524
+ requestAniFrame$1(() => {
13525
+ state.moving = false;
13526
+ let targetIndex;
13527
+ if (props.loop && childCount.value === index) {
13528
+ targetIndex = state.active === 0 ? 0 : index;
13529
+ } else {
13530
+ targetIndex = index % childCount.value;
13531
+ }
13532
+ move({
13533
+ pace: targetIndex - state.active,
13534
+ isEmit: true
13587
13535
  });
13588
13536
  });
13589
13537
  };
@@ -13637,7 +13585,7 @@ const _sfc_main$F = create$F({
13637
13585
  const isShouldMove = Math.abs(speed) > 0.3 || Math.abs(delTa.value) > +(size.value / 2).toFixed(2);
13638
13586
  if (isShouldMove && isCorrectDirection.value) {
13639
13587
  let pace = 0;
13640
- const offset = isVertical.value ? touch.state.offsetY : touch.state.offsetX;
13588
+ const offset = isVertical.value ? touch.offsetY.value : touch.offsetX.value;
13641
13589
  if (props.loop) {
13642
13590
  pace = offset > 0 ? delTa.value > 0 ? -1 : 1 : 0;
13643
13591
  } else {
@@ -13695,10 +13643,9 @@ const _sfc_main$F = create$F({
13695
13643
  return {
13696
13644
  state,
13697
13645
  classes,
13646
+ classesInner,
13647
+ classesPagination,
13698
13648
  container,
13699
- componentName: componentName$u,
13700
- isVertical,
13701
- slots,
13702
13649
  activePagination,
13703
13650
  onTouchStart,
13704
13651
  onTouchMove,
@@ -13716,21 +13663,15 @@ function _sfc_render$F(_ctx, _cache, $props, $setup, $data, $options) {
13716
13663
  onTouchcancel: _cache[3] || (_cache[3] = (...args) => _ctx.onTouchEnd && _ctx.onTouchEnd(...args))
13717
13664
  }, [
13718
13665
  createElementVNode("view", {
13719
- class: normalizeClass({
13720
- [`${_ctx.componentName}-inner`]: true,
13721
- [`${_ctx.componentName}-vertical`]: _ctx.isVertical
13722
- }),
13666
+ class: normalizeClass(_ctx.classesInner),
13723
13667
  style: normalizeStyle(_ctx.state.style)
13724
13668
  }, [
13725
13669
  renderSlot(_ctx.$slots, "default")
13726
13670
  ], 6),
13727
13671
  renderSlot(_ctx.$slots, "page"),
13728
- _ctx.paginationVisible && !_ctx.slots.page ? (openBlock(), createElementBlock("view", {
13672
+ _ctx.paginationVisible && !_ctx.$slots.page ? (openBlock(), createElementBlock("view", {
13729
13673
  key: 0,
13730
- class: normalizeClass({
13731
- [`${_ctx.componentName}-pagination`]: true,
13732
- [`${_ctx.componentName}-pagination-vertical`]: _ctx.isVertical
13733
- })
13674
+ class: normalizeClass(_ctx.classesPagination)
13734
13675
  }, [
13735
13676
  (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.state.children.length, (item, index) => {
13736
13677
  return openBlock(), createElementBlock("i", {
@@ -13822,12 +13763,17 @@ const _sfc_main$D = create$D({
13822
13763
  size: {
13823
13764
  type: String,
13824
13765
  default: "large"
13766
+ },
13767
+ strikeThrough: {
13768
+ type: Boolean,
13769
+ default: false
13825
13770
  }
13826
13771
  },
13827
13772
  setup(props) {
13828
13773
  const classes = computed(() => {
13829
13774
  return {
13830
- [componentName$s]: true
13775
+ [componentName$s]: true,
13776
+ [`${componentName$s}--strike`]: props.strikeThrough
13831
13777
  };
13832
13778
  });
13833
13779
  const showSymbol = computed(() => {
@@ -13946,7 +13892,7 @@ const _sfc_main$C = create$C({
13946
13892
  displayWidth: 0,
13947
13893
  displayHeight: 0
13948
13894
  });
13949
- const touch = useTouch$1();
13895
+ const touch = useTouch();
13950
13896
  const vertical = computed(() => {
13951
13897
  const { rootWidth, rootHeight } = props;
13952
13898
  const rootRatio = rootHeight / rootWidth;
@@ -14104,7 +14050,6 @@ const _sfc_main$C = create$C({
14104
14050
  checkTap();
14105
14051
  touch.reset();
14106
14052
  };
14107
- const clamp = (num, min, max) => Math.min(Math.max(num, min), max);
14108
14053
  const closeSwiper = () => {
14109
14054
  emit("close");
14110
14055
  };
@@ -15359,6 +15304,7 @@ const _sfc_main$w = create$w({
15359
15304
  theme: { type: String, default: "light" },
15360
15305
  location: { type: String, default: "bottom" },
15361
15306
  offset: { type: Array, default: [0, 12] },
15307
+ arrowOffset: { type: Number, default: 0 },
15362
15308
  customClass: { type: String, default: "" },
15363
15309
  showArrow: { type: Boolean, default: true },
15364
15310
  iconPrefix: { type: String, default: "nut-icon" },
@@ -15368,52 +15314,128 @@ const _sfc_main$w = create$w({
15368
15314
  overlayStyle: { type: Object },
15369
15315
  closeOnClickOverlay: { type: Boolean, default: true },
15370
15316
  closeOnClickAction: { type: Boolean, default: true },
15371
- closeOnClickOutside: { type: Boolean, default: true }
15317
+ closeOnClickOutside: { type: Boolean, default: true },
15318
+ targetId: { type: String, default: "" },
15319
+ bgColor: { type: String, default: "" }
15372
15320
  },
15373
15321
  emits: ["update", "update:visible", "close", "choose", "open"],
15374
15322
  setup(props, { emit }) {
15375
15323
  const popoverRef = ref();
15376
15324
  const popoverContentRef = ref();
15377
15325
  const showPopup = ref(props.visible);
15378
- const state = reactive({
15379
- rootWidth: 0,
15380
- rootHeight: 0
15381
- });
15326
+ let rootRect = ref();
15327
+ let conentRootRect = ref();
15382
15328
  const popoverArrow = computed(() => {
15383
15329
  const prefixCls = "nut-popover-arrow";
15384
15330
  const loca = props.location;
15385
15331
  const direction = loca.split("-")[0];
15386
15332
  return `${prefixCls} ${prefixCls}-${direction} ${prefixCls}--${loca}`;
15387
15333
  });
15388
- const getStyles = computed(() => {
15389
- let cross = +state.rootHeight;
15390
- let lengthways = +state.rootWidth;
15391
- let { offset, location: location2 } = props;
15334
+ const popoverArrowStyle = computed(() => {
15335
+ const styles = {};
15336
+ const { bgColor, arrowOffset, location: location2 } = props;
15337
+ const direction = location2.split("-")[0];
15338
+ const skew = location2.split("-")[1];
15339
+ const base = 16;
15340
+ if (bgColor) {
15341
+ styles[`border${upperCaseFirst(direction)}Color`] = bgColor;
15342
+ }
15343
+ if (props.arrowOffset != 0) {
15344
+ if (["bottom", "top"].includes(direction)) {
15345
+ if (!skew) {
15346
+ styles.left = `calc(50% + ${arrowOffset}px)`;
15347
+ }
15348
+ if (skew == "start") {
15349
+ styles.left = `${base + arrowOffset}px`;
15350
+ }
15351
+ if (skew == "end") {
15352
+ styles.right = `${base - arrowOffset}px`;
15353
+ }
15354
+ }
15355
+ if (["left", "right"].includes(direction)) {
15356
+ if (!skew) {
15357
+ styles.top = `calc(50% - ${arrowOffset}px)`;
15358
+ }
15359
+ if (skew == "start") {
15360
+ styles.top = `${base - arrowOffset}px`;
15361
+ }
15362
+ if (skew == "end") {
15363
+ styles.bottom = `${base + arrowOffset}px`;
15364
+ }
15365
+ }
15366
+ }
15367
+ return styles;
15368
+ });
15369
+ const upperCaseFirst = (str) => {
15370
+ var str = str.toLowerCase();
15371
+ str = str.replace(/\b\w+\b/g, (word) => word.substring(0, 1).toUpperCase() + word.substring(1));
15372
+ return str;
15373
+ };
15374
+ const getRootPosition = computed(() => {
15375
+ let styles = {};
15376
+ if (!rootRect.value || !conentRootRect.value)
15377
+ return {};
15378
+ const conentWidth = conentRootRect.value.width;
15379
+ const conentHeight = conentRootRect.value.height;
15380
+ const { width, height, left, top } = rootRect.value;
15381
+ const { location: location2, offset } = props;
15382
+ const direction = location2.split("-")[0];
15383
+ const skew = location2.split("-")[1];
15384
+ let cross = 0;
15385
+ let parallel = 0;
15392
15386
  if (isArray(offset) && offset.length == 2) {
15393
15387
  cross += +offset[1];
15394
- lengthways += +offset[1];
15388
+ parallel += +offset[0];
15389
+ }
15390
+ if (width) {
15391
+ if (["bottom", "top"].includes(direction)) {
15392
+ const h2 = direction == "bottom" ? height + cross : -(conentHeight + cross);
15393
+ styles.top = `${top + h2}px`;
15394
+ if (!skew) {
15395
+ styles.left = `${-(conentWidth - width) / 2 + left + parallel}px`;
15396
+ }
15397
+ if (skew == "start") {
15398
+ styles.left = `${left + parallel}px`;
15399
+ }
15400
+ if (skew == "end") {
15401
+ styles.left = `${rootRect.value.right + parallel}px`;
15402
+ }
15403
+ }
15404
+ if (["left", "right"].includes(direction)) {
15405
+ const contentW = direction == "left" ? -(conentWidth + cross) : width + cross;
15406
+ styles.left = `${left + contentW}px`;
15407
+ if (!skew) {
15408
+ styles.top = `${top - conentHeight / 2 + height / 2 - 4 + parallel}px`;
15409
+ }
15410
+ if (skew == "start") {
15411
+ styles.top = `${top + parallel}px`;
15412
+ }
15413
+ if (skew == "end") {
15414
+ styles.top = `${top + height + parallel}px`;
15415
+ }
15416
+ }
15395
15417
  }
15396
- const direction = location2.split("-")[0];
15397
- const style = {};
15398
- const mapd = {
15399
- top: "bottom",
15400
- bottom: "top",
15401
- left: "right",
15402
- right: "left"
15403
- };
15404
- if (["top", "bottom"].includes(direction)) {
15405
- style[mapd[direction]] = `${cross}px`;
15406
- style.marginLeft = `${offset[0]}px`;
15407
- } else {
15408
- style[mapd[direction]] = `${lengthways}px`;
15409
- style.marginTop = `${offset[0]}px`;
15418
+ return styles;
15419
+ });
15420
+ const customStyle = computed(() => {
15421
+ const styles = {};
15422
+ if (props.bgColor) {
15423
+ styles.background = props.bgColor;
15410
15424
  }
15411
- return style;
15425
+ return styles;
15412
15426
  });
15413
15427
  const getContentWidth = () => {
15414
- const { offsetHeight, offsetWidth } = popoverRef.value;
15415
- state.rootHeight = offsetHeight;
15416
- state.rootWidth = offsetWidth;
15428
+ let rect2 = useRect(popoverRef.value);
15429
+ if (props.targetId) {
15430
+ rect2 = useRect(document.querySelector(`#${props.targetId}`));
15431
+ }
15432
+ rootRect.value = rect2;
15433
+ setTimeout(() => {
15434
+ conentRootRect.value = {
15435
+ height: popoverContentRef.value.clientHeight,
15436
+ width: popoverContentRef.value.clientWidth
15437
+ };
15438
+ }, 0);
15417
15439
  };
15418
15440
  watch(
15419
15441
  () => props.visible,
@@ -15448,7 +15470,12 @@ const _sfc_main$w = create$w({
15448
15470
  const clickAway = (event) => {
15449
15471
  const element = popoverRef.value;
15450
15472
  const elContent = popoverContentRef.value;
15451
- if (element && !element.contains(event.target) && elContent && !elContent.contains(event.target) && props.closeOnClickOutside) {
15473
+ let el = element && !element.contains(event.target);
15474
+ if (props.targetId) {
15475
+ const dom = document.querySelector(`#${props.targetId}`);
15476
+ el = dom && !dom.contains(event.target);
15477
+ }
15478
+ if (el && elContent && !elContent.contains(event.target) && props.closeOnClickOutside) {
15452
15479
  closePopover();
15453
15480
  }
15454
15481
  };
@@ -15459,8 +15486,10 @@ const _sfc_main$w = create$w({
15459
15486
  closePopover,
15460
15487
  chooseItem,
15461
15488
  popoverRef,
15462
- getStyles,
15463
- popoverContentRef
15489
+ popoverContentRef,
15490
+ getRootPosition,
15491
+ customStyle,
15492
+ popoverArrowStyle
15464
15493
  };
15465
15494
  }
15466
15495
  });
@@ -15471,59 +15500,64 @@ const _hoisted_1$r = {
15471
15500
  const _hoisted_2$o = ["onClick"];
15472
15501
  const _hoisted_3$m = { class: "nut-popover-menu-item-name" };
15473
15502
  function _sfc_render$w(_ctx, _cache, $props, $setup, $data, $options) {
15474
- const _component_nut_icon = resolveComponent("nut-icon");
15503
+ const _component_Icon = resolveComponent("Icon");
15475
15504
  const _component_nut_popup = resolveComponent("nut-popup");
15476
- return openBlock(), createElementBlock("view", {
15477
- class: normalizeClass(["nut-popover", `nut-popover--${_ctx.theme}`, `${_ctx.customClass}`])
15478
- }, [
15479
- createElementVNode("view", {
15505
+ return openBlock(), createElementBlock(Fragment, null, [
15506
+ !_ctx.targetId ? (openBlock(), createElementBlock("div", {
15507
+ key: 0,
15480
15508
  class: "nut-popover-wrapper",
15481
15509
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.openPopover && _ctx.openPopover(...args)),
15482
15510
  ref: "popoverRef"
15483
15511
  }, [
15484
15512
  renderSlot(_ctx.$slots, "reference")
15485
- ], 512),
15486
- createVNode(_component_nut_popup, {
15487
- popClass: `nut-popover-content nut-popover-content--${_ctx.location}`,
15488
- style: normalizeStyle(_ctx.getStyles),
15489
- visible: _ctx.showPopup,
15490
- "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => _ctx.showPopup = $event),
15491
- position: "",
15492
- transition: "nut-popover",
15493
- overlay: _ctx.overlay,
15494
- duration: _ctx.duration,
15495
- overlayStyle: _ctx.overlayStyle,
15496
- overlayClass: _ctx.overlayClass,
15497
- closeOnClickOverlay: _ctx.closeOnClickOverlay
15498
- }, {
15499
- default: withCtx(() => [
15500
- createElementVNode("view", _hoisted_1$r, [
15501
- _ctx.showArrow ? (openBlock(), createElementBlock("view", {
15502
- key: 0,
15503
- class: normalizeClass(_ctx.popoverArrow)
15504
- }, null, 2)) : createCommentVNode("", true),
15505
- renderSlot(_ctx.$slots, "content"),
15506
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.list, (item, index) => {
15507
- return openBlock(), createElementBlock("view", {
15508
- key: index,
15509
- class: normalizeClass([item.className, item.disabled && "nut-popover-menu-disabled", "nut-popover-menu-item"]),
15510
- onClick: withModifiers(($event) => _ctx.chooseItem(item, index), ["stop"])
15511
- }, [
15512
- item.icon ? renderSlot(_ctx.$slots, "default", { key: 0 }, () => [
15513
- createVNode(_component_nut_icon, mergeProps(_ctx.$attrs, {
15514
- class: "nut-popover-item-img",
15515
- classPrefix: _ctx.iconPrefix,
15516
- name: item.icon
15517
- }), null, 16, ["classPrefix", "name"])
15518
- ]) : createCommentVNode("", true),
15519
- createElementVNode("view", _hoisted_3$m, toDisplayString(item.name), 1)
15520
- ], 10, _hoisted_2$o);
15521
- }), 128))
15522
- ], 512)
15523
- ]),
15524
- _: 3
15525
- }, 8, ["popClass", "style", "visible", "overlay", "duration", "overlayStyle", "overlayClass", "closeOnClickOverlay"])
15526
- ], 2);
15513
+ ], 512)) : createCommentVNode("", true),
15514
+ createElementVNode("view", {
15515
+ class: normalizeClass(["nut-popover", `nut-popover--${_ctx.theme}`, `${_ctx.customClass}`]),
15516
+ style: normalizeStyle(_ctx.getRootPosition)
15517
+ }, [
15518
+ createVNode(_component_nut_popup, {
15519
+ popClass: `nut-popover-content nut-popover-content--${_ctx.location}`,
15520
+ style: normalizeStyle(_ctx.customStyle),
15521
+ visible: _ctx.showPopup,
15522
+ "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => _ctx.showPopup = $event),
15523
+ position: "",
15524
+ transition: "nut-popover",
15525
+ overlay: _ctx.overlay,
15526
+ duration: _ctx.duration,
15527
+ overlayStyle: _ctx.overlayStyle,
15528
+ overlayClass: _ctx.overlayClass,
15529
+ closeOnClickOverlay: _ctx.closeOnClickOverlay
15530
+ }, {
15531
+ default: withCtx(() => [
15532
+ createElementVNode("view", _hoisted_1$r, [
15533
+ _ctx.showArrow ? (openBlock(), createElementBlock("view", {
15534
+ key: 0,
15535
+ class: normalizeClass(_ctx.popoverArrow),
15536
+ style: normalizeStyle(_ctx.popoverArrowStyle)
15537
+ }, null, 6)) : createCommentVNode("", true),
15538
+ renderSlot(_ctx.$slots, "content"),
15539
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.list, (item, index) => {
15540
+ return openBlock(), createElementBlock("view", {
15541
+ key: index,
15542
+ class: normalizeClass([item.className, item.disabled && "nut-popover-menu-disabled", "nut-popover-menu-item"]),
15543
+ onClick: withModifiers(($event) => _ctx.chooseItem(item, index), ["stop"])
15544
+ }, [
15545
+ item.icon ? renderSlot(_ctx.$slots, "default", { key: 0 }, () => [
15546
+ createVNode(_component_Icon, mergeProps(_ctx.$attrs, {
15547
+ class: "nut-popover-item-img",
15548
+ classPrefix: _ctx.iconPrefix,
15549
+ name: item.icon
15550
+ }), null, 16, ["classPrefix", "name"])
15551
+ ]) : createCommentVNode("", true),
15552
+ createElementVNode("view", _hoisted_3$m, toDisplayString(item.name), 1)
15553
+ ], 10, _hoisted_2$o);
15554
+ }), 128))
15555
+ ], 512)
15556
+ ]),
15557
+ _: 3
15558
+ }, 8, ["popClass", "style", "visible", "overlay", "duration", "overlayStyle", "overlayClass", "closeOnClickOverlay"])
15559
+ ], 6)
15560
+ ], 64);
15527
15561
  }
15528
15562
  var Popover = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["render", _sfc_render$w]]);
15529
15563
  const component$1 = {
@@ -19845,6 +19879,6 @@ function install(app) {
19845
19879
  }
19846
19880
  });
19847
19881
  }
19848
- const version = "3.3.0";
19882
+ const version = "3.3.1-beta.1";
19849
19883
  var nutui_vue_build = { install, version, Locale };
19850
19884
  export { ActionSheet, Address, AddressList, Animate, Audio, AudioOperate, Avatar, AvatarGroup, BackTop, Badge, Barrage, Button, Calendar, CalendarItem, Card, Cascader, Category, CategoryPane, Cell, CellGroup, _sfc_main$1e as Checkbox, _sfc_main$1d as CheckboxGroup, CircleProgress, Col, Collapse, CollapseItem, Comment, _sfc_main$1H as ConfigProvider, CountDown, CountUp, DatePicker, _Dialog as Dialog, Divider, Drag, Ecard, Elevator, Ellipsis, Empty, FixedNav, Form, FormItem, _sfc_main$1A as Grid, GridItem, _sfc_main$1N as Icon, Image$1 as Image, _ImagePreview as ImagePreview, Indicator, InfiniteLoading, Input, InputNumber, Invoice, _sfc_main$1F as Layout, List, Locale, Menu, MenuItem, Navbar, NoticeBar, NotifyFunction as Notify, NumberKeyboard, OverLay, Pagination, Picker, Popover, Popup, Price, Progress, _sfc_main$17 as Radio, _sfc_main$16 as RadioGroup, Range, Rate, Row, SearchBar, ShortPassword, SideNavBar, SideNavBarItem, Signature, Skeleton, Sku, Step, _sfc_main$H as Steps, _sfc_main$1C as Sticky, SubSideNavBar, Swipe, Swiper, SwiperItem, Switch, TabPane, Tabbar, TabbarItem, Table, Tabs, Tag, TextArea, TimeDetail, TimePannel, TimeSelect, ToastFunction as Toast, TrendArrow, Uploader, Video, WaterMark, nutui_vue_build as default, install, version };