@nutui/nutui 3.1.19-beta.1 → 3.1.19-beta.4

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 (236) hide show
  1. package/README.md +9 -8
  2. package/dist/nutui.es.js +3044 -3533
  3. package/dist/nutui.umd.js +3135 -3536
  4. package/dist/packages/_es/ActionSheet.js +64 -42
  5. package/dist/packages/_es/Address.js +69 -78
  6. package/dist/packages/_es/Audio.js +12 -12
  7. package/dist/packages/_es/AudioOperate.js +1 -1
  8. package/dist/packages/_es/Avatar.js +3 -3
  9. package/dist/packages/_es/BackTop.js +110 -68
  10. package/dist/packages/_es/Badge.js +3 -3
  11. package/dist/packages/_es/Barrage.js +55 -62
  12. package/dist/packages/_es/Button.js +2 -2
  13. package/dist/packages/_es/Calendar.js +27 -32
  14. package/dist/packages/_es/CalendarItem.js +3 -3
  15. package/dist/packages/_es/Card.js +5 -6
  16. package/dist/packages/_es/Cascader.js +9 -9
  17. package/dist/packages/_es/Cell.js +11 -4
  18. package/dist/packages/_es/CellGroup.js +1 -1
  19. package/dist/packages/_es/Checkbox.js +13 -3
  20. package/dist/packages/_es/CheckboxGroup.js +2 -2
  21. package/dist/packages/_es/CircleProgress.js +40 -149
  22. package/dist/packages/_es/Col.js +1 -1
  23. package/dist/packages/_es/Collapse.js +8 -34
  24. package/dist/packages/_es/CollapseItem.js +59 -90
  25. package/dist/packages/_es/CountDown.js +11 -10
  26. package/dist/packages/_es/CountUp.js +51 -43
  27. package/dist/packages/_es/DatePicker.js +22 -23
  28. package/dist/packages/_es/Dialog.js +91 -12
  29. package/dist/packages/_es/Divider.js +4 -4
  30. package/dist/packages/_es/Drag.js +54 -92
  31. package/dist/packages/_es/Ecard.js +153 -0
  32. package/dist/packages/_es/Elevator.js +50 -75
  33. package/dist/packages/_es/Empty.js +8 -7
  34. package/dist/packages/_es/FixedNav.js +10 -11
  35. package/dist/packages/_es/Form.js +5 -9
  36. package/dist/packages/_es/FormItem.js +1 -1
  37. package/dist/packages/_es/Grid.js +1 -1
  38. package/dist/packages/_es/GridItem.js +26 -8
  39. package/dist/packages/_es/Icon.js +1 -1
  40. package/dist/packages/_es/ImagePreview.js +83 -14
  41. package/dist/packages/_es/Indicator.js +3 -3
  42. package/dist/packages/_es/InfiniteLoading.js +107 -93
  43. package/dist/packages/_es/Input.js +21 -20
  44. package/dist/packages/_es/InputNumber.js +16 -23
  45. package/dist/packages/_es/Layout.js +1 -1
  46. package/dist/packages/_es/List.js +34 -41
  47. package/dist/packages/_es/Menu.js +12 -15
  48. package/dist/packages/_es/MenuItem.js +7 -7
  49. package/dist/packages/_es/Navbar.js +5 -4
  50. package/dist/packages/_es/NoticeBar.js +40 -47
  51. package/dist/packages/_es/Notify.js +166 -27
  52. package/dist/packages/_es/NumberKeyboard.js +22 -11
  53. package/dist/packages/_es/OldPicker.js +120 -122
  54. package/dist/packages/_es/OverLay.js +25 -5
  55. package/dist/packages/_es/Pagination.js +14 -13
  56. package/dist/packages/_es/Picker.js +23 -45
  57. package/dist/packages/_es/Popover.js +29 -154
  58. package/dist/packages/_es/Popup.js +69 -6
  59. package/dist/packages/_es/Price.js +5 -17
  60. package/dist/packages/_es/Progress.js +23 -19
  61. package/dist/packages/_es/PullRefresh.js +1 -1
  62. package/dist/packages/_es/Radio.js +14 -4
  63. package/dist/packages/_es/RadioGroup.js +1 -1
  64. package/dist/packages/_es/Range.js +33 -46
  65. package/dist/packages/_es/Rate.js +19 -16
  66. package/dist/packages/_es/Row.js +1 -1
  67. package/dist/packages/_es/SearchBar.js +11 -12
  68. package/dist/packages/_es/ShortPassword.js +75 -96
  69. package/dist/packages/_es/SideNavBar.js +16 -5
  70. package/dist/packages/_es/SideNavBarItem.js +1 -1
  71. package/dist/packages/_es/Signature.js +88 -69
  72. package/dist/packages/_es/Skeleton.js +11 -8
  73. package/dist/packages/_es/Sku.js +57 -49
  74. package/dist/packages/_es/Step.js +1 -1
  75. package/dist/packages/_es/Steps.js +1 -1
  76. package/dist/packages/_es/Sticky.js +23 -28
  77. package/dist/packages/_es/SubSideNavBar.js +1 -1
  78. package/dist/packages/_es/Swipe.js +26 -39
  79. package/dist/packages/_es/Swiper.js +14 -32
  80. package/dist/packages/_es/SwiperItem.js +2 -2
  81. package/dist/packages/_es/Switch.js +3 -3
  82. package/dist/packages/_es/TabPane.js +1 -1
  83. package/dist/packages/_es/Tabbar.js +3 -3
  84. package/dist/packages/_es/TabbarItem.js +21 -11
  85. package/dist/packages/_es/Table.js +18 -17
  86. package/dist/packages/_es/Tabs.js +20 -21
  87. package/dist/packages/_es/Tag.js +4 -4
  88. package/dist/packages/_es/TextArea.js +47 -48
  89. package/dist/packages/_es/TimeDetail.js +3 -4
  90. package/dist/packages/_es/TimePannel.js +3 -3
  91. package/dist/packages/_es/TimeSelect.js +7 -8
  92. package/dist/packages/_es/Toast.js +170 -41
  93. package/dist/packages/_es/Uploader.js +145 -116
  94. package/dist/packages/_es/Video.js +9 -8
  95. package/dist/packages/_es/common.js +1 -1
  96. package/dist/packages/_es/component.js +165 -3
  97. package/dist/packages/_es/index.js +6 -44
  98. package/dist/packages/_es/index2.js +31 -8
  99. package/dist/packages/_es/index3.js +7 -58
  100. package/dist/packages/_es/index4.js +56 -413
  101. package/dist/packages/_es/{index.taro.js → index5.js} +113 -140
  102. package/dist/packages/_es/plugin-vue_export-helper.js +1 -1
  103. package/dist/packages/_es/pxCheck.js +1 -1
  104. package/dist/packages/_es/raf.js +19 -0
  105. package/dist/packages/actionsheet/index.scss +8 -0
  106. package/dist/packages/ecard/index.scss +83 -0
  107. package/dist/style.css +1 -1
  108. package/dist/styles/themes/default.scss +48 -47
  109. package/dist/styles/themes/jdt.scss +48 -47
  110. package/dist/styles/variables-jdt.scss +3 -0
  111. package/dist/styles/variables.scss +3 -0
  112. package/dist/types/__VUE/actionsheet/index.d.ts +280 -0
  113. package/dist/types/__VUE/address/index.d.ts +386 -0
  114. package/dist/types/__VUE/audio/index.d.ts +92 -0
  115. package/dist/types/__VUE/audiooperate/index.d.ts +68 -0
  116. package/dist/types/__VUE/avatar/index.d.ts +66 -0
  117. package/dist/types/__VUE/backtop/index.d.ts +105 -0
  118. package/dist/types/__VUE/badge/index.d.ts +94 -0
  119. package/dist/types/__VUE/barrage/index.d.ts +80 -0
  120. package/dist/types/__VUE/button/index.d.ts +116 -0
  121. package/dist/types/__VUE/calendar/index.d.ts +155 -0
  122. package/dist/types/__VUE/calendaritem/index.d.ts +195 -0
  123. package/dist/types/__VUE/card/index.d.ts +81 -0
  124. package/dist/types/__VUE/cascader/cascader-item.d.ts +76 -0
  125. package/dist/types/__VUE/cascader/helper.d.ts +8 -0
  126. package/dist/types/__VUE/cascader/index.d.ts +76 -0
  127. package/dist/types/__VUE/cascader/tree.d.ts +17 -0
  128. package/dist/types/__VUE/cascader/types.d.ts +30 -0
  129. package/dist/types/__VUE/cell/index.d.ts +109 -0
  130. package/dist/types/__VUE/cellgroup/index.d.ts +38 -0
  131. package/dist/types/__VUE/checkbox/index.d.ts +102 -0
  132. package/dist/types/__VUE/checkboxgroup/index.d.ts +39 -0
  133. package/dist/types/__VUE/circleprogress/index.d.ts +66 -0
  134. package/dist/types/__VUE/col/index.d.ts +42 -0
  135. package/dist/types/__VUE/collapse/index.d.ts +104 -0
  136. package/dist/types/__VUE/collapseitem/index.d.ts +83 -0
  137. package/dist/types/__VUE/countdown/index.d.ts +91 -0
  138. package/dist/types/__VUE/countup/index.d.ts +216 -0
  139. package/dist/types/__VUE/datepicker/index.d.ts +347 -0
  140. package/dist/types/__VUE/datepicker/utils.d.ts +5 -0
  141. package/dist/types/__VUE/dialog/index.d.ts +306 -0
  142. package/dist/types/__VUE/divider/index.d.ts +47 -0
  143. package/dist/types/__VUE/drag/index.d.ts +61 -0
  144. package/dist/types/__VUE/ecard/index.d.ts +123 -0
  145. package/dist/types/__VUE/elevator/index.d.ts +71 -0
  146. package/dist/types/__VUE/empty/index.d.ts +47 -0
  147. package/dist/types/__VUE/fixednav/index.d.ts +96 -0
  148. package/dist/types/__VUE/form/common.d.ts +20 -0
  149. package/dist/types/__VUE/form/index.d.ts +32 -0
  150. package/dist/types/__VUE/form/types.d.ts +13 -0
  151. package/dist/types/__VUE/formitem/index.d.ts +120 -0
  152. package/dist/types/__VUE/formitem/types.d.ts +10 -0
  153. package/dist/types/__VUE/grid/common.d.ts +91 -0
  154. package/dist/types/__VUE/grid/index.d.ts +100 -0
  155. package/dist/types/__VUE/griditem/index.d.ts +80 -0
  156. package/dist/types/__VUE/icon/index.d.ts +74 -0
  157. package/dist/types/__VUE/imagepreview/index.d.ts +125 -0
  158. package/dist/types/__VUE/indicator/index.d.ts +70 -0
  159. package/dist/types/__VUE/infiniteloading/index.d.ts +140 -0
  160. package/dist/types/__VUE/input/index.d.ts +337 -0
  161. package/dist/types/__VUE/input/util.d.ts +5 -0
  162. package/dist/types/__VUE/inputnumber/index.d.ts +117 -0
  163. package/dist/types/__VUE/layout/index.d.ts +13 -0
  164. package/dist/types/__VUE/list/index.d.ts +48 -0
  165. package/dist/types/__VUE/menu/index.d.ts +51 -0
  166. package/dist/types/__VUE/menuitem/index.d.ts +77 -0
  167. package/dist/types/__VUE/navbar/index.d.ts +83 -0
  168. package/dist/types/__VUE/noticebar/index.d.ts +209 -0
  169. package/dist/types/__VUE/notify/index.d.ts +103 -0
  170. package/dist/types/__VUE/numberkeyboard/index.d.ts +124 -0
  171. package/dist/types/__VUE/oldpicker/Column.d.ts +96 -0
  172. package/dist/types/__VUE/oldpicker/commonProps.d.ts +22 -0
  173. package/dist/types/__VUE/oldpicker/index.d.ts +360 -0
  174. package/dist/types/__VUE/oldpicker/types.d.ts +24 -0
  175. package/dist/types/__VUE/overlay/index.d.ts +1614 -0
  176. package/dist/types/__VUE/pagination/index.d.ts +112 -0
  177. package/dist/types/__VUE/picker/Column.d.ts +90 -0
  178. package/dist/types/__VUE/picker/index.d.ts +343 -0
  179. package/dist/types/__VUE/picker/types.d.ts +26 -0
  180. package/dist/types/__VUE/popover/index.d.ts +233 -0
  181. package/dist/types/__VUE/popup/index.d.ts +1734 -0
  182. package/dist/types/__VUE/popup/use-lock-scroll.d.ts +5 -0
  183. package/dist/types/__VUE/price/index.d.ts +87 -0
  184. package/dist/types/__VUE/progress/index.d.ts +138 -0
  185. package/dist/types/__VUE/pullrefresh/index.d.ts +128 -0
  186. package/dist/types/__VUE/pullrefresh/use-touch.d.ts +20 -0
  187. package/dist/types/__VUE/pullrefresh/util.d.ts +6 -0
  188. package/dist/types/__VUE/radio/index.d.ts +90 -0
  189. package/dist/types/__VUE/radiogroup/index.d.ts +48 -0
  190. package/dist/types/__VUE/range/index.d.ts +156 -0
  191. package/dist/types/__VUE/rate/index.d.ts +142 -0
  192. package/dist/types/__VUE/row/index.d.ts +63 -0
  193. package/dist/types/__VUE/searchbar/index.d.ts +100 -0
  194. package/dist/types/__VUE/shortpassword/index.d.ts +137 -0
  195. package/dist/types/__VUE/sidenavbar/index.d.ts +36 -0
  196. package/dist/types/__VUE/sidenavbaritem/index.d.ts +41 -0
  197. package/dist/types/__VUE/signature/index.d.ts +73 -0
  198. package/dist/types/__VUE/skeleton/common.d.ts +63 -0
  199. package/dist/types/__VUE/skeleton/index.d.ts +117 -0
  200. package/dist/types/__VUE/sku/components/SkuHeader.d.ts +27 -0
  201. package/dist/types/__VUE/sku/components/SkuOperate.d.ts +70 -0
  202. package/dist/types/__VUE/sku/components/SkuSelect.d.ts +30 -0
  203. package/dist/types/__VUE/sku/components/SkuStepper.d.ts +67 -0
  204. package/dist/types/__VUE/sku/index.d.ts +300 -0
  205. package/dist/types/__VUE/step/index.d.ts +70 -0
  206. package/dist/types/__VUE/steps/index.d.ts +47 -0
  207. package/dist/types/__VUE/sticky/index.d.ts +63 -0
  208. package/dist/types/__VUE/subsidenavbar/index.d.ts +54 -0
  209. package/dist/types/__VUE/swipe/index.d.ts +69 -0
  210. package/dist/types/__VUE/swiper/index.d.ts +163 -0
  211. package/dist/types/__VUE/swiper/use-touch.d.ts +20 -0
  212. package/dist/types/__VUE/swiperitem/index.d.ts +24 -0
  213. package/dist/types/__VUE/switch/index.d.ts +136 -0
  214. package/dist/types/__VUE/tabbar/index.d.ts +84 -0
  215. package/dist/types/__VUE/tabbaritem/index.d.ts +108 -0
  216. package/dist/types/__VUE/table/common.d.ts +55 -0
  217. package/dist/types/__VUE/table/index.d.ts +76 -0
  218. package/dist/types/__VUE/table/renderColumn.d.ts +20 -0
  219. package/dist/types/__VUE/table/types.d.ts +19 -0
  220. package/dist/types/__VUE/tabpane/index.d.ts +47 -0
  221. package/dist/types/__VUE/tabs/index.d.ts +128 -0
  222. package/dist/types/__VUE/tag/index.d.ts +89 -0
  223. package/dist/types/__VUE/textarea/index.d.ts +121 -0
  224. package/dist/types/__VUE/timedetail/index.d.ts +48 -0
  225. package/dist/types/__VUE/timepannel/index.d.ts +43 -0
  226. package/dist/types/__VUE/timeselect/index.d.ts +82 -0
  227. package/dist/types/__VUE/toast/index.d.ts +149 -0
  228. package/dist/types/__VUE/uploader/index.d.ts +258 -0
  229. package/dist/types/__VUE/uploader/uploader.d.ts +25 -0
  230. package/dist/types/__VUE/video/index.d.ts +123 -0
  231. package/dist/{index.d.ts → types/index.d.ts} +0 -0
  232. package/dist/types/nutui.d.ts +93 -0
  233. package/package.json +14 -5
  234. package/dist/nutui.d.ts +0 -104
  235. package/dist/packages/_es/use-lock-scroll.js +0 -23
  236. package/dist/packages/_es/util.js +0 -47
@@ -1,9 +1,28 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
1
20
  /*!
2
- * @nutui/nutui v3.1.19-beta.1 Sat Apr 02 2022 16:26:37 GMT+0800 (中国标准时间)
21
+ * @nutui/nutui v3.1.19-beta.4 Tue Apr 12 2022 17:39:20 GMT+0800 (中国标准时间)
3
22
  * (c) 2022 @jdf2e.
4
23
  * Released under the MIT License.
5
24
  */
6
- import { watch, computed, resolveComponent, openBlock, createBlock, Transition, withCtx, withDirectives, createElementVNode, normalizeClass, normalizeStyle, renderSlot, createElementBlock, createVNode, createCommentVNode, toDisplayString, vShow } from "vue";
25
+ import { reactive, onMounted, watch, computed, resolveComponent, openBlock, createBlock, Transition, withCtx, withDirectives, createElementVNode, normalizeClass, normalizeStyle, createElementBlock, createVNode, createCommentVNode, toDisplayString, vShow, render } from "vue";
7
26
  import { c as createComponent } from "./component.js";
8
27
  import _sfc_main$1 from "./Icon.js";
9
28
  import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
@@ -24,10 +43,7 @@ const _sfc_main = create({
24
43
  type: Boolean,
25
44
  default: true
26
45
  },
27
- type: {
28
- type: String,
29
- default: "text"
30
- },
46
+ type: String,
31
47
  customClass: String,
32
48
  bottom: {
33
49
  type: String,
@@ -37,6 +53,10 @@ const _sfc_main = create({
37
53
  type: [String, Number],
38
54
  default: "base"
39
55
  },
56
+ iconSize: {
57
+ type: String,
58
+ default: "20"
59
+ },
40
60
  icon: String,
41
61
  textAlignCenter: {
42
62
  type: Boolean,
@@ -67,15 +87,17 @@ const _sfc_main = create({
67
87
  closeOnClickOverlay: {
68
88
  type: Boolean,
69
89
  default: false
70
- },
71
- visible: {
72
- type: Boolean,
73
- default: false
74
90
  }
75
91
  },
76
- emits: ["update:visible", "closed"],
92
+ emits: ["close"],
77
93
  setup(props, { emit }) {
78
94
  let timer;
95
+ const state = reactive({
96
+ mounted: false
97
+ });
98
+ onMounted(() => {
99
+ state.mounted = true;
100
+ });
79
101
  const clearTimer = () => {
80
102
  if (timer) {
81
103
  clearTimeout(timer);
@@ -83,8 +105,7 @@ const _sfc_main = create({
83
105
  }
84
106
  };
85
107
  const hide = () => {
86
- emit("update:visible", false);
87
- emit("closed");
108
+ state.mounted = false;
88
109
  };
89
110
  const show = () => {
90
111
  clearTimer();
@@ -97,9 +118,13 @@ const _sfc_main = create({
97
118
  const clickCover = () => {
98
119
  if (props.closeOnClickOverlay) {
99
120
  hide();
121
+ emit("close");
100
122
  }
101
123
  };
102
- watch(() => props.visible, (val) => {
124
+ if (props.duration) {
125
+ show();
126
+ }
127
+ watch(() => props.duration, (val) => {
103
128
  if (val) {
104
129
  show();
105
130
  }
@@ -111,18 +136,6 @@ const _sfc_main = create({
111
136
  return !!props.icon;
112
137
  }
113
138
  });
114
- const iconName = computed(() => {
115
- if (props.icon) {
116
- return props.icon;
117
- } else {
118
- return {
119
- success: "success",
120
- fail: "failure",
121
- warn: "tips",
122
- loading: "loading"
123
- }[props.type];
124
- }
125
- });
126
139
  const toastBodyClass = computed(() => {
127
140
  return [
128
141
  "nut-toast",
@@ -135,15 +148,15 @@ const _sfc_main = create({
135
148
  ];
136
149
  });
137
150
  const onAfterLeave = () => {
138
- if (props.visible) {
139
- clearTimer();
140
- hide();
141
- }
151
+ clearTimer();
152
+ props.unmount(props.id);
153
+ props.onClose && props.onClose();
142
154
  };
143
155
  return {
156
+ state,
157
+ hide,
144
158
  clickCover,
145
159
  hasIcon,
146
- iconName,
147
160
  toastBodyClass,
148
161
  onAfterLeave
149
162
  };
@@ -173,8 +186,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
173
186
  }),
174
187
  onClick: _cache[0] || (_cache[0] = (...args) => _ctx.clickCover && _ctx.clickCover(...args))
175
188
  }, [
176
- _ctx.$slots.default ? renderSlot(_ctx.$slots, "default", { key: 0 }) : (openBlock(), createElementBlock("view", {
177
- key: 1,
189
+ createElementVNode("view", {
178
190
  class: "nut-toast-inner",
179
191
  style: normalizeStyle({
180
192
  "text-align": _ctx.textAlignCenter ? "center" : "left",
@@ -183,23 +195,140 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
183
195
  }, [
184
196
  _ctx.hasIcon ? (openBlock(), createElementBlock("view", _hoisted_1, [
185
197
  createVNode(_component_nut_icon, {
186
- size: "20",
198
+ size: _ctx.iconSize,
187
199
  color: "#ffffff",
188
- name: _ctx.iconName
189
- }, null, 8, ["name"])
200
+ name: _ctx.icon
201
+ }, null, 8, ["size", "name"])
190
202
  ])) : createCommentVNode("", true),
191
203
  _ctx.title ? (openBlock(), createElementBlock("div", _hoisted_2, toDisplayString(_ctx.title), 1)) : createCommentVNode("", true),
192
204
  createElementVNode("view", {
193
205
  class: "nut-toast-text",
194
206
  innerHTML: _ctx.msg
195
207
  }, null, 8, _hoisted_3)
196
- ], 4))
208
+ ], 4)
197
209
  ], 6), [
198
- [vShow, _ctx.visible]
210
+ [vShow, _ctx.state.mounted]
199
211
  ])
200
212
  ]),
201
- _: 3
213
+ _: 1
202
214
  }, 8, ["onAfterLeave"]);
203
215
  }
204
- var index_taro = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
205
- export { index_taro as default };
216
+ var Toast = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
217
+ const defaultOptions = {
218
+ msg: "",
219
+ id: "",
220
+ duration: 2e3,
221
+ center: true,
222
+ type: "text",
223
+ title: "",
224
+ customClass: "",
225
+ bottom: "30px",
226
+ size: "base",
227
+ iconSize: "20",
228
+ icon: null,
229
+ textAlignCenter: true,
230
+ loadingRotate: true,
231
+ bgColor: "",
232
+ onClose: null,
233
+ unmount: null,
234
+ cover: false,
235
+ coverColor: "",
236
+ closeOnClickOverlay: false
237
+ };
238
+ let idsMap = [];
239
+ let optsMap = [];
240
+ const clearToast = (id) => {
241
+ if (id) {
242
+ const container = document.getElementById(id);
243
+ optsMap = optsMap.filter((item) => item.id !== id);
244
+ idsMap = idsMap.filter((item) => item !== id);
245
+ if (container) {
246
+ document.body.removeChild(container);
247
+ }
248
+ } else {
249
+ idsMap.forEach((item) => {
250
+ const container = document.getElementById(item);
251
+ if (container) {
252
+ document.body.removeChild(container);
253
+ }
254
+ });
255
+ optsMap = [];
256
+ idsMap = [];
257
+ }
258
+ };
259
+ const updateToast = (opts) => {
260
+ const container = document.getElementById(opts.id);
261
+ if (container) {
262
+ const currentOpt = optsMap.find((item) => item.id === opts.id);
263
+ if (currentOpt) {
264
+ opts = __spreadValues(__spreadValues(__spreadValues({}, defaultOptions), currentOpt), opts);
265
+ } else {
266
+ opts = __spreadValues(__spreadValues({}, defaultOptions), opts);
267
+ }
268
+ const instance = createVNode(Toast, opts);
269
+ render(instance, container);
270
+ return instance.component.ctx;
271
+ }
272
+ };
273
+ const mountToast = (opts) => {
274
+ opts.unmount = clearToast;
275
+ let _id;
276
+ if (opts.id) {
277
+ _id = opts.id;
278
+ if (idsMap.find((item) => item === opts.id)) {
279
+ return updateToast(opts);
280
+ }
281
+ } else {
282
+ _id = new Date().getTime() + "";
283
+ }
284
+ opts = __spreadValues(__spreadValues({}, defaultOptions), opts);
285
+ opts.id = _id;
286
+ idsMap.push(opts.id);
287
+ optsMap.push(opts);
288
+ const container = document.createElement("div");
289
+ container.id = opts.id;
290
+ const instance = createVNode(Toast, opts);
291
+ render(instance, container);
292
+ document.body.appendChild(container);
293
+ return instance.component.ctx;
294
+ };
295
+ const errorMsg = (msg) => {
296
+ if (!msg) {
297
+ console.warn("[NutUI Toast]: msg\u4E0D\u80FD\u4E3A\u7A7A");
298
+ return;
299
+ }
300
+ };
301
+ const ToastFunction = {
302
+ text(msg, opts = {}) {
303
+ errorMsg(msg);
304
+ return mountToast(__spreadProps(__spreadValues({}, opts), { type: "text", msg }));
305
+ },
306
+ success(msg, opts = {}) {
307
+ errorMsg(msg);
308
+ return mountToast(__spreadProps(__spreadValues({ icon: "success" }, opts), { msg, type: "success" }));
309
+ },
310
+ fail(msg, opts = {}) {
311
+ errorMsg(msg);
312
+ return mountToast(__spreadProps(__spreadValues({ icon: "failure" }, opts), { msg, type: "fail" }));
313
+ },
314
+ warn(msg, opts = {}) {
315
+ errorMsg(msg);
316
+ return mountToast(__spreadProps(__spreadValues({ icon: "tips" }, opts), { msg, type: "warn" }));
317
+ },
318
+ loading(msg, opts = {}) {
319
+ return mountToast(__spreadProps(__spreadValues({
320
+ icon: "loading"
321
+ }, opts), {
322
+ msg,
323
+ type: "loading"
324
+ }));
325
+ },
326
+ hide(id) {
327
+ clearToast(id);
328
+ },
329
+ install(app) {
330
+ app.use(Toast);
331
+ app.config.globalProperties.$toast = ToastFunction;
332
+ }
333
+ };
334
+ export { Toast, ToastFunction, ToastFunction as default };