@nutui/nutui 3.2.6-beta.1 → 3.2.6

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 (241) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +18 -4
  3. package/dist/nutui.es.js +4461 -4135
  4. package/dist/nutui.umd.js +4559 -4133
  5. package/dist/packages/_es/ActionSheet.js +19 -18
  6. package/dist/packages/_es/Address.js +85 -94
  7. package/dist/packages/_es/AddressList.js +12 -25
  8. package/dist/packages/_es/Animate.js +3 -3
  9. package/dist/packages/_es/Audio.js +2 -9
  10. package/dist/packages/_es/AudioOperate.js +1 -5
  11. package/dist/packages/_es/Avatar.js +10 -10
  12. package/dist/packages/_es/AvatarGroup.js +5 -5
  13. package/dist/packages/_es/BackTop.js +108 -55
  14. package/dist/packages/_es/Badge.js +12 -10
  15. package/dist/packages/_es/Barrage.js +103 -79
  16. package/dist/packages/_es/Button.js +3 -5
  17. package/dist/packages/_es/Calendar.js +23 -36
  18. package/dist/packages/_es/CalendarItem.js +3 -4
  19. package/dist/packages/_es/Card.js +5 -15
  20. package/dist/packages/_es/Cascader.js +11 -12
  21. package/dist/packages/_es/Category.js +12 -13
  22. package/dist/packages/_es/CategoryPane.js +13 -17
  23. package/dist/packages/_es/Cell.js +12 -9
  24. package/dist/packages/_es/CellGroup.js +2 -4
  25. package/dist/packages/_es/Checkbox.js +1 -1
  26. package/dist/packages/_es/CheckboxGroup.js +2 -2
  27. package/dist/packages/_es/CircleProgress.js +82 -98
  28. package/dist/packages/_es/Col.js +1 -1
  29. package/dist/packages/_es/Collapse.js +34 -65
  30. package/dist/packages/_es/CollapseItem.js +60 -93
  31. package/dist/packages/_es/Comment.js +19 -43
  32. package/dist/packages/_es/ConfigProvider.js +1 -1
  33. package/dist/packages/_es/CountDown.js +3 -3
  34. package/dist/packages/_es/CountUp.js +52 -47
  35. package/dist/packages/_es/DatePicker.js +54 -37
  36. package/dist/packages/_es/Dialog.js +88 -9
  37. package/dist/packages/_es/Divider.js +3 -3
  38. package/dist/packages/_es/Drag.js +49 -75
  39. package/dist/packages/_es/Ecard.js +18 -20
  40. package/dist/packages/_es/Elevator.js +76 -101
  41. package/dist/packages/_es/Ellipsis.js +100 -140
  42. package/dist/packages/_es/Empty.js +4 -6
  43. package/dist/packages/_es/FixedNav.js +6 -11
  44. package/dist/packages/_es/Form.js +4 -4
  45. package/dist/packages/_es/FormItem.js +1 -3
  46. package/dist/packages/_es/Grid.js +1 -1
  47. package/dist/packages/_es/GridItem.js +27 -10
  48. package/dist/packages/_es/Icon.js +1 -1
  49. package/dist/packages/_es/Image.js +114 -13
  50. package/dist/packages/_es/ImagePreview.js +411 -149
  51. package/dist/packages/_es/Indicator.js +3 -3
  52. package/dist/packages/_es/InfiniteLoading.js +115 -103
  53. package/dist/packages/_es/Input.js +32 -56
  54. package/dist/packages/_es/InputNumber.js +16 -25
  55. package/dist/packages/_es/Invoice.js +5 -6
  56. package/dist/packages/_es/Layout.js +1 -1
  57. package/dist/packages/_es/List.js +34 -47
  58. package/dist/packages/_es/Menu.js +35 -35
  59. package/dist/packages/_es/MenuItem.js +29 -56
  60. package/dist/packages/_es/Navbar.js +39 -49
  61. package/dist/packages/_es/NoticeBar.js +45 -54
  62. package/dist/packages/_es/Notify.js +162 -44
  63. package/dist/packages/_es/NumberKeyboard.js +20 -15
  64. package/dist/packages/_es/OldPicker.js +116 -130
  65. package/dist/packages/_es/OverLay.js +28 -5
  66. package/dist/packages/_es/Pagination.js +5 -8
  67. package/dist/packages/_es/Picker.js +74 -198
  68. package/dist/packages/_es/Popover.js +881 -201
  69. package/dist/packages/_es/Popup.js +84 -28
  70. package/dist/packages/_es/Price.js +6 -22
  71. package/dist/packages/_es/Progress.js +11 -18
  72. package/dist/packages/_es/PullRefresh.js +2 -4
  73. package/dist/packages/_es/Radio.js +3 -3
  74. package/dist/packages/_es/RadioGroup.js +1 -1
  75. package/dist/packages/_es/Range.js +34 -48
  76. package/dist/packages/_es/Rate.js +14 -15
  77. package/dist/packages/_es/Row.js +1 -1
  78. package/dist/packages/_es/SearchBar.js +36 -39
  79. package/dist/packages/_es/ShortPassword.js +66 -97
  80. package/dist/packages/_es/SideNavBar.js +18 -7
  81. package/dist/packages/_es/SideNavBarItem.js +1 -1
  82. package/dist/packages/_es/Signature.js +80 -113
  83. package/dist/packages/_es/Skeleton.js +11 -12
  84. package/dist/packages/_es/Sku.js +38 -63
  85. package/dist/packages/_es/Step.js +2 -7
  86. package/dist/packages/_es/Steps.js +1 -1
  87. package/dist/packages/_es/Sticky.js +23 -33
  88. package/dist/packages/_es/SubSideNavBar.js +2 -4
  89. package/dist/packages/_es/Swipe.js +26 -41
  90. package/dist/packages/_es/Swiper.js +21 -38
  91. package/dist/packages/_es/SwiperItem.js +2 -2
  92. package/dist/packages/_es/Switch.js +8 -8
  93. package/dist/packages/_es/TabPane.js +1 -1
  94. package/dist/packages/_es/Tabbar.js +13 -15
  95. package/dist/packages/_es/TabbarItem.js +30 -24
  96. package/dist/packages/_es/Table.js +17 -22
  97. package/dist/packages/_es/Tabs.js +16 -49
  98. package/dist/packages/_es/Tag.js +5 -6
  99. package/dist/packages/_es/TextArea.js +49 -114
  100. package/dist/packages/_es/TimeDetail.js +3 -4
  101. package/dist/packages/_es/TimePannel.js +3 -3
  102. package/dist/packages/_es/TimeSelect.js +10 -12
  103. package/dist/packages/_es/Toast.js +164 -53
  104. package/dist/packages/_es/TrendArrow.js +4 -6
  105. package/dist/packages/_es/Uploader.js +140 -141
  106. package/dist/packages/_es/Video.js +18 -39
  107. package/dist/packages/_es/WaterMark.js +14 -22
  108. package/dist/packages/_es/common.js +1 -1
  109. package/dist/packages/_es/component.js +1 -1
  110. package/dist/packages/_es/index.js +6 -44
  111. package/dist/packages/_es/index2.js +31 -8
  112. package/dist/packages/_es/index3.js +7 -64
  113. package/dist/packages/_es/index4.js +62 -424
  114. package/dist/packages/_es/{index.taro.js → index5.js} +154 -167
  115. package/dist/packages/_es/plugin-vue_export-helper.js +1 -1
  116. package/dist/packages/_es/pxCheck.js +1 -1
  117. package/dist/packages/_es/raf.js +1 -1
  118. package/dist/packages/_es/style.css +3 -21
  119. package/dist/packages/checkbox/index.scss +1 -0
  120. package/dist/packages/locale/lang/baseLang.js +1 -1
  121. package/dist/packages/locale/lang/en-US.js +1 -1
  122. package/dist/packages/locale/lang/id-ID.js +1 -1
  123. package/dist/packages/locale/lang/index.js +1 -1
  124. package/dist/packages/locale/lang/zh-CN.js +1 -1
  125. package/dist/packages/locale/lang/zh-TW.js +1 -1
  126. package/dist/packages/menuitem/index.scss +12 -3
  127. package/dist/smartips/attributes.json +5 -1
  128. package/dist/smartips/tags.json +1 -0
  129. package/dist/smartips/web-types.json +11 -2
  130. package/dist/style.css +1 -1
  131. package/dist/styles/themes/default.scss +49 -49
  132. package/dist/styles/themes/jdb.scss +49 -49
  133. package/dist/styles/themes/jddkh.scss +49 -49
  134. package/dist/styles/themes/jdt.scss +49 -49
  135. package/dist/types/__VUE/actionsheet/{index.taro.vue.d.ts → index.vue.d.ts} +9 -9
  136. package/dist/types/__VUE/address/{index.taro.vue.d.ts → index.vue.d.ts} +32 -72
  137. package/dist/types/__VUE/addresslist/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  138. package/dist/types/__VUE/animate/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  139. package/dist/types/__VUE/avatar/{index.taro.vue.d.ts → index.vue.d.ts} +6 -6
  140. package/dist/types/__VUE/avatargroup/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  141. package/dist/types/__VUE/backtop/{index.taro.vue.d.ts → index.vue.d.ts} +37 -15
  142. package/dist/types/__VUE/badge/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  143. package/dist/types/__VUE/barrage/{index.taro.vue.d.ts → index.vue.d.ts} +2 -2
  144. package/dist/types/__VUE/button/index.vue.d.ts +1 -1
  145. package/dist/types/__VUE/calendar/{index.taro.vue.d.ts → index.vue.d.ts} +1 -13
  146. package/dist/types/__VUE/calendaritem/{index.taro.vue.d.ts → index.vue.d.ts} +17 -17
  147. package/dist/types/__VUE/card/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  148. package/dist/types/__VUE/cascader/{index.taro.vue.d.ts → index.vue.d.ts} +1 -1
  149. package/dist/types/__VUE/category/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  150. package/dist/types/__VUE/categorypane/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  151. package/dist/types/__VUE/cell/{index.taro.vue.d.ts → index.vue.d.ts} +6 -13
  152. package/dist/types/__VUE/checkbox/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  153. package/dist/types/__VUE/circleprogress/{index.taro.vue.d.ts → index.vue.d.ts} +15 -14
  154. package/dist/types/__VUE/collapse/{index.taro.vue.d.ts → index.vue.d.ts} +1 -1
  155. package/dist/types/__VUE/collapseitem/{index.taro.vue.d.ts → index.vue.d.ts} +10 -2
  156. package/dist/types/__VUE/comment/{index.taro.vue.d.ts → index.vue.d.ts} +2 -1
  157. package/dist/types/__VUE/configprovider/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  158. package/dist/types/__VUE/countdown/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  159. package/dist/types/__VUE/countup/{index.taro.vue.d.ts → index.vue.d.ts} +7 -5
  160. package/dist/types/__VUE/datepicker/{index.taro.vue.d.ts → index.vue.d.ts} +5 -5
  161. package/dist/types/__VUE/dialog/index.d.ts +48 -0
  162. package/dist/types/__VUE/dialog/{index.taro.vue.d.ts → index.vue.d.ts} +12 -9
  163. package/dist/types/__VUE/divider/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  164. package/dist/types/__VUE/drag/{index.taro.vue.d.ts → index.vue.d.ts} +1 -2
  165. package/dist/types/__VUE/ecard/{index.taro.vue.d.ts → index.vue.d.ts} +3 -3
  166. package/dist/types/__VUE/elevator/{index.taro.vue.d.ts → index.vue.d.ts} +2 -11
  167. package/dist/types/__VUE/ellipsis/{index.taro.vue.d.ts → index.vue.d.ts} +0 -4
  168. package/dist/types/__VUE/empty/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  169. package/dist/types/__VUE/fixednav/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  170. package/dist/types/__VUE/form/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  171. package/dist/types/__VUE/grid/{index.taro.vue.d.ts → index.vue.d.ts} +1 -1
  172. package/dist/types/__VUE/griditem/{index.taro.vue.d.ts → index.vue.d.ts} +27 -2
  173. package/dist/types/__VUE/image/index.vue.d.ts +117 -0
  174. package/dist/types/__VUE/image/type.d.ts +6 -0
  175. package/dist/types/__VUE/imagepreview/imagePreviewItem.vue.d.ts +109 -0
  176. package/dist/types/__VUE/imagepreview/index.d.ts +25 -0
  177. package/dist/types/__VUE/imagepreview/{index.taro.vue.d.ts → index.vue.d.ts} +44 -33
  178. package/dist/types/__VUE/indicator/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  179. package/dist/types/__VUE/infiniteloading/{index.taro.vue.d.ts → index.vue.d.ts} +8 -15
  180. package/dist/types/__VUE/input/{index.taro.vue.d.ts → index.vue.d.ts} +16 -34
  181. package/dist/types/__VUE/inputnumber/{index.taro.vue.d.ts → index.vue.d.ts} +2 -2
  182. package/dist/types/__VUE/invoice/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  183. package/dist/types/__VUE/layout/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  184. package/dist/types/__VUE/list/{index.taro.vue.d.ts → index.vue.d.ts} +2 -2
  185. package/dist/types/__VUE/menu/{index.taro.vue.d.ts → index.vue.d.ts} +0 -1
  186. package/dist/types/__VUE/menuitem/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  187. package/dist/types/__VUE/navbar/{index.taro.vue.d.ts → index.vue.d.ts} +2 -1
  188. package/dist/types/__VUE/noticebar/{index.taro.vue.d.ts → index.vue.d.ts} +4 -4
  189. package/dist/types/__VUE/notify/index.d.ts +26 -0
  190. package/dist/types/__VUE/notify/{index.taro.vue.d.ts → index.vue.d.ts} +18 -5
  191. package/dist/types/__VUE/numberkeyboard/{index.taro.vue.d.ts → index.vue.d.ts} +29 -5
  192. package/dist/types/__VUE/oldpicker/{ColumnTaro.vue.d.ts → Column.vue.d.ts} +17 -28
  193. package/dist/types/__VUE/oldpicker/{index.taro.vue.d.ts → index.vue.d.ts} +44 -64
  194. package/dist/types/__VUE/pagination/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  195. package/dist/types/__VUE/picker/{ColumnTaro.vue.d.ts → Column.vue.d.ts} +4 -16
  196. package/dist/types/__VUE/picker/{index.taro.vue.d.ts → index.vue.d.ts} +28 -53
  197. package/dist/types/__VUE/popover/{index.taro.vue.d.ts → index.vue.d.ts} +12 -14
  198. package/dist/types/__VUE/popup/index.vue.d.ts +1 -1
  199. package/dist/types/__VUE/price/{index.taro.vue.d.ts → index.vue.d.ts} +0 -1
  200. package/dist/types/__VUE/progress/{index.taro.vue.d.ts → index.vue.d.ts} +1 -1
  201. package/dist/types/__VUE/radio/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  202. package/dist/types/__VUE/range/{index.taro.vue.d.ts → index.vue.d.ts} +6 -7
  203. package/dist/types/__VUE/rate/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  204. package/dist/types/__VUE/searchbar/{index.taro.vue.d.ts → index.vue.d.ts} +19 -19
  205. package/dist/types/__VUE/shortpassword/{index.taro.vue.d.ts → index.vue.d.ts} +21 -6
  206. package/dist/types/__VUE/sidenavbar/{index.taro.vue.d.ts → index.vue.d.ts} +5 -0
  207. package/dist/types/__VUE/signature/{index.taro.vue.d.ts → index.vue.d.ts} +5 -8
  208. package/dist/types/__VUE/skeleton/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  209. package/dist/types/__VUE/sku/index.vue.d.ts +310 -0
  210. package/dist/types/__VUE/step/index.vue.d.ts +1 -1
  211. package/dist/types/__VUE/steps/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  212. package/dist/types/__VUE/sticky/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  213. package/dist/types/__VUE/swipe/{index.taro.vue.d.ts → index.vue.d.ts} +1 -2
  214. package/dist/types/__VUE/swiper/{index.taro.vue.d.ts → index.vue.d.ts} +1 -2
  215. package/dist/types/__VUE/swiperitem/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  216. package/dist/types/__VUE/switch/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  217. package/dist/types/__VUE/tabbar/{index.taro.vue.d.ts → index.vue.d.ts} +2 -1
  218. package/dist/types/__VUE/tabbaritem/{index.taro.vue.d.ts → index.vue.d.ts} +9 -9
  219. package/dist/types/__VUE/table/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  220. package/dist/types/__VUE/tabs/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  221. package/dist/types/__VUE/tag/{index.taro.vue.d.ts → index.vue.d.ts} +4 -4
  222. package/dist/types/__VUE/tag/type.d.ts +5 -0
  223. package/dist/types/__VUE/textarea/{index.taro.vue.d.ts → index.vue.d.ts} +3 -5
  224. package/dist/types/__VUE/timedetail/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  225. package/dist/types/__VUE/timepannel/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  226. package/dist/types/__VUE/timeselect/{index.taro.vue.d.ts → index.vue.d.ts} +8 -7
  227. package/dist/types/__VUE/toast/index.d.ts +16 -0
  228. package/dist/types/__VUE/toast/{index.taro.vue.d.ts → index.vue.d.ts} +22 -44
  229. package/dist/types/__VUE/trendarrow/{index.taro.vue.d.ts → index.vue.d.ts} +0 -0
  230. package/dist/types/__VUE/uploader/{index.taro.vue.d.ts → index.vue.d.ts} +11 -20
  231. package/dist/types/__VUE/watermark/{index.taro.vue.d.ts → index.vue.d.ts} +1 -1
  232. package/dist/types/index.d.ts +1 -1
  233. package/dist/types/nutui.d.ts +89 -89
  234. package/package.json +3 -2
  235. package/dist/packages/_es/use-lock-scroll.js +0 -23
  236. package/dist/types/__VUE/button/index.taro.vue.d.ts +0 -116
  237. package/dist/types/__VUE/icon/index.taro.vue.d.ts +0 -74
  238. package/dist/types/__VUE/image/index.taro.vue.d.ts +0 -33
  239. package/dist/types/__VUE/overlay/index.taro.vue.d.ts +0 -85
  240. package/dist/types/__VUE/popup/index.taro.vue.d.ts +0 -1728
  241. package/dist/types/__VUE/sku/index.taro.vue.d.ts +0 -182
@@ -1,143 +1,800 @@
1
1
  /*!
2
- * @nutui/nutui v3.2.6-beta.1 Mon Oct 31 2022 19:38:22 GMT+0800 (中国标准时间)
2
+ * @nutui/nutui v3.2.6 Fri Nov 04 2022 18:06:53 GMT+0800 (中国标准时间)
3
3
  * (c) 2022 @jdf2e.
4
4
  * Released under the MIT License.
5
5
  */
6
- import { toRefs, computed, resolveComponent, openBlock, createElementBlock, normalizeClass, normalizeStyle, createElementVNode, createBlock, createCommentVNode, createTextVNode, mergeProps, renderSlot, ref, reactive, onMounted, watch, withModifiers, Fragment, renderList, createVNode, toDisplayString } from "vue";
6
+ import { ref, toRefs, computed, onMounted, onUnmounted, watch, nextTick, resolveComponent, openBlock, createElementBlock, Fragment, createElementVNode, normalizeClass, withModifiers, renderSlot, createVNode, withCtx, createCommentVNode, renderList, mergeProps, toDisplayString } from "vue";
7
7
  import { c as createComponent } from "./component.js";
8
- import { _ as _sfc_main$2, P as Popup, p as popupProps } from "./index4.js";
8
+ import Popup, { popupProps } from "./Popup.js";
9
+ import Button from "./Button.js";
9
10
  import { _ as _export_sfc } from "./plugin-vue_export-helper.js";
10
- import { u as useTaroRect } from "./index.js";
11
- import Taro from "@tarojs/taro";
12
11
  import "../locale/lang";
13
- import "./use-lock-scroll.js";
12
+ import "./OverLay.js";
13
+ import "./Icon.js";
14
14
  import "./pxCheck.js";
15
- const { componentName: componentName$1, create: create$1 } = createComponent("button");
16
- const _sfc_main$1 = create$1({
17
- components: {
18
- [_sfc_main$2.name]: _sfc_main$2
19
- },
20
- props: {
21
- color: String,
22
- shape: {
23
- type: String,
24
- default: "round"
25
- },
26
- plain: {
27
- type: Boolean,
28
- default: false
29
- },
30
- loading: {
31
- type: Boolean,
32
- default: false
33
- },
34
- disabled: {
35
- type: Boolean,
36
- default: false
37
- },
38
- type: {
39
- type: String,
40
- default: "default"
41
- },
42
- size: {
43
- type: String,
44
- default: "normal"
45
- },
46
- block: {
47
- type: Boolean,
48
- default: false
49
- },
50
- icon: {
51
- type: String,
52
- default: ""
53
- },
54
- iconClassPrefix: {
55
- type: String,
56
- default: "nut-icon"
57
- },
58
- iconFontClassName: {
59
- type: String,
60
- default: "nutui-iconfont"
15
+ function getWindow(node) {
16
+ if (node == null) {
17
+ return window;
18
+ }
19
+ if (node.toString() !== "[object Window]") {
20
+ var ownerDocument = node.ownerDocument;
21
+ return ownerDocument ? ownerDocument.defaultView || window : window;
22
+ }
23
+ return node;
24
+ }
25
+ function isElement(node) {
26
+ var OwnElement = getWindow(node).Element;
27
+ return node instanceof OwnElement || node instanceof Element;
28
+ }
29
+ function isHTMLElement(node) {
30
+ var OwnElement = getWindow(node).HTMLElement;
31
+ return node instanceof OwnElement || node instanceof HTMLElement;
32
+ }
33
+ function isShadowRoot(node) {
34
+ if (typeof ShadowRoot === "undefined") {
35
+ return false;
36
+ }
37
+ var OwnElement = getWindow(node).ShadowRoot;
38
+ return node instanceof OwnElement || node instanceof ShadowRoot;
39
+ }
40
+ var round = Math.round;
41
+ function getUAString() {
42
+ var uaData = navigator.userAgentData;
43
+ if (uaData != null && uaData.brands) {
44
+ return uaData.brands.map(function(item) {
45
+ return item.brand + "/" + item.version;
46
+ }).join(" ");
47
+ }
48
+ return navigator.userAgent;
49
+ }
50
+ function isLayoutViewport() {
51
+ return !/^((?!chrome|android).)*safari/i.test(getUAString());
52
+ }
53
+ function getBoundingClientRect(element, includeScale, isFixedStrategy) {
54
+ if (includeScale === void 0) {
55
+ includeScale = false;
56
+ }
57
+ if (isFixedStrategy === void 0) {
58
+ isFixedStrategy = false;
59
+ }
60
+ var clientRect = element.getBoundingClientRect();
61
+ var scaleX = 1;
62
+ var scaleY = 1;
63
+ if (includeScale && isHTMLElement(element)) {
64
+ scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
65
+ scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
66
+ }
67
+ var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport;
68
+ var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
69
+ var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
70
+ var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
71
+ var width = clientRect.width / scaleX;
72
+ var height = clientRect.height / scaleY;
73
+ return {
74
+ width,
75
+ height,
76
+ top: y,
77
+ right: x + width,
78
+ bottom: y + height,
79
+ left: x,
80
+ x,
81
+ y
82
+ };
83
+ }
84
+ function getWindowScroll(node) {
85
+ var win = getWindow(node);
86
+ var scrollLeft = win.pageXOffset;
87
+ var scrollTop = win.pageYOffset;
88
+ return {
89
+ scrollLeft,
90
+ scrollTop
91
+ };
92
+ }
93
+ function getHTMLElementScroll(element) {
94
+ return {
95
+ scrollLeft: element.scrollLeft,
96
+ scrollTop: element.scrollTop
97
+ };
98
+ }
99
+ function getNodeScroll(node) {
100
+ if (node === getWindow(node) || !isHTMLElement(node)) {
101
+ return getWindowScroll(node);
102
+ } else {
103
+ return getHTMLElementScroll(node);
104
+ }
105
+ }
106
+ function getNodeName(element) {
107
+ return element ? (element.nodeName || "").toLowerCase() : null;
108
+ }
109
+ function getDocumentElement(element) {
110
+ return ((isElement(element) ? element.ownerDocument : element.document) || window.document).documentElement;
111
+ }
112
+ function getWindowScrollBarX(element) {
113
+ return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
114
+ }
115
+ function getComputedStyle(element) {
116
+ return getWindow(element).getComputedStyle(element);
117
+ }
118
+ function isScrollParent(element) {
119
+ var _getComputedStyle = getComputedStyle(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;
120
+ return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
121
+ }
122
+ function isElementScaled(element) {
123
+ var rect = element.getBoundingClientRect();
124
+ var scaleX = round(rect.width) / element.offsetWidth || 1;
125
+ var scaleY = round(rect.height) / element.offsetHeight || 1;
126
+ return scaleX !== 1 || scaleY !== 1;
127
+ }
128
+ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
129
+ if (isFixed === void 0) {
130
+ isFixed = false;
131
+ }
132
+ var isOffsetParentAnElement = isHTMLElement(offsetParent);
133
+ var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
134
+ var documentElement = getDocumentElement(offsetParent);
135
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
136
+ var scroll = {
137
+ scrollLeft: 0,
138
+ scrollTop: 0
139
+ };
140
+ var offsets = {
141
+ x: 0,
142
+ y: 0
143
+ };
144
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
145
+ if (getNodeName(offsetParent) !== "body" || isScrollParent(documentElement)) {
146
+ scroll = getNodeScroll(offsetParent);
61
147
  }
62
- },
63
- emits: ["click"],
64
- setup(props, { emit, slots }) {
65
- const { type, size, shape, disabled, loading, color, plain, block } = toRefs(props);
66
- const handleClick = (event) => {
67
- if (!loading.value && !disabled.value) {
68
- emit("click", event);
148
+ if (isHTMLElement(offsetParent)) {
149
+ offsets = getBoundingClientRect(offsetParent, true);
150
+ offsets.x += offsetParent.clientLeft;
151
+ offsets.y += offsetParent.clientTop;
152
+ } else if (documentElement) {
153
+ offsets.x = getWindowScrollBarX(documentElement);
154
+ }
155
+ }
156
+ return {
157
+ x: rect.left + scroll.scrollLeft - offsets.x,
158
+ y: rect.top + scroll.scrollTop - offsets.y,
159
+ width: rect.width,
160
+ height: rect.height
161
+ };
162
+ }
163
+ function getLayoutRect(element) {
164
+ var clientRect = getBoundingClientRect(element);
165
+ var width = element.offsetWidth;
166
+ var height = element.offsetHeight;
167
+ if (Math.abs(clientRect.width - width) <= 1) {
168
+ width = clientRect.width;
169
+ }
170
+ if (Math.abs(clientRect.height - height) <= 1) {
171
+ height = clientRect.height;
172
+ }
173
+ return {
174
+ x: element.offsetLeft,
175
+ y: element.offsetTop,
176
+ width,
177
+ height
178
+ };
179
+ }
180
+ function getParentNode(element) {
181
+ if (getNodeName(element) === "html") {
182
+ return element;
183
+ }
184
+ return element.assignedSlot || element.parentNode || (isShadowRoot(element) ? element.host : null) || getDocumentElement(element);
185
+ }
186
+ function getScrollParent(node) {
187
+ if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) {
188
+ return node.ownerDocument.body;
189
+ }
190
+ if (isHTMLElement(node) && isScrollParent(node)) {
191
+ return node;
192
+ }
193
+ return getScrollParent(getParentNode(node));
194
+ }
195
+ function listScrollParents(element, list) {
196
+ var _element$ownerDocumen;
197
+ if (list === void 0) {
198
+ list = [];
199
+ }
200
+ var scrollParent = getScrollParent(element);
201
+ var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
202
+ var win = getWindow(scrollParent);
203
+ var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
204
+ var updatedList = list.concat(target);
205
+ return isBody ? updatedList : updatedList.concat(listScrollParents(getParentNode(target)));
206
+ }
207
+ function isTableElement(element) {
208
+ return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0;
209
+ }
210
+ function getTrueOffsetParent(element) {
211
+ if (!isHTMLElement(element) || getComputedStyle(element).position === "fixed") {
212
+ return null;
213
+ }
214
+ return element.offsetParent;
215
+ }
216
+ function getContainingBlock(element) {
217
+ var isFirefox = /firefox/i.test(getUAString());
218
+ var isIE = /Trident/i.test(getUAString());
219
+ if (isIE && isHTMLElement(element)) {
220
+ var elementCss = getComputedStyle(element);
221
+ if (elementCss.position === "fixed") {
222
+ return null;
223
+ }
224
+ }
225
+ var currentNode = getParentNode(element);
226
+ if (isShadowRoot(currentNode)) {
227
+ currentNode = currentNode.host;
228
+ }
229
+ while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) {
230
+ var css = getComputedStyle(currentNode);
231
+ if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") {
232
+ return currentNode;
233
+ } else {
234
+ currentNode = currentNode.parentNode;
235
+ }
236
+ }
237
+ return null;
238
+ }
239
+ function getOffsetParent(element) {
240
+ var window2 = getWindow(element);
241
+ var offsetParent = getTrueOffsetParent(element);
242
+ while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === "static") {
243
+ offsetParent = getTrueOffsetParent(offsetParent);
244
+ }
245
+ if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle(offsetParent).position === "static")) {
246
+ return window2;
247
+ }
248
+ return offsetParent || getContainingBlock(element) || window2;
249
+ }
250
+ var top = "top";
251
+ var bottom = "bottom";
252
+ var right = "right";
253
+ var left = "left";
254
+ var auto = "auto";
255
+ var basePlacements = [top, bottom, right, left];
256
+ var start = "start";
257
+ var end = "end";
258
+ var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) {
259
+ return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
260
+ }, []);
261
+ var beforeRead = "beforeRead";
262
+ var read = "read";
263
+ var afterRead = "afterRead";
264
+ var beforeMain = "beforeMain";
265
+ var main = "main";
266
+ var afterMain = "afterMain";
267
+ var beforeWrite = "beforeWrite";
268
+ var write = "write";
269
+ var afterWrite = "afterWrite";
270
+ var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
271
+ function order(modifiers) {
272
+ var map = /* @__PURE__ */ new Map();
273
+ var visited = /* @__PURE__ */ new Set();
274
+ var result = [];
275
+ modifiers.forEach(function(modifier) {
276
+ map.set(modifier.name, modifier);
277
+ });
278
+ function sort(modifier) {
279
+ visited.add(modifier.name);
280
+ var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
281
+ requires.forEach(function(dep) {
282
+ if (!visited.has(dep)) {
283
+ var depModifier = map.get(dep);
284
+ if (depModifier) {
285
+ sort(depModifier);
286
+ }
69
287
  }
70
- };
71
- const classes = computed(() => {
72
- const prefixCls = componentName$1;
73
- return {
74
- [prefixCls]: true,
75
- [`${prefixCls}--${type.value}`]: type.value,
76
- [`${prefixCls}--${size.value}`]: size.value,
77
- [`${prefixCls}--${shape.value}`]: shape.value,
78
- [`${prefixCls}--plain`]: plain.value,
79
- [`${prefixCls}--block`]: block.value,
80
- [`${prefixCls}--disabled`]: disabled.value,
81
- [`${prefixCls}--loading`]: loading.value
82
- };
83
288
  });
84
- const getStyle = computed(() => {
85
- var _a;
86
- const style = {};
87
- if (color == null ? void 0 : color.value) {
88
- if (plain.value) {
89
- style.color = color.value;
90
- style.background = "#fff";
91
- if (!((_a = color.value) == null ? void 0 : _a.includes("gradient"))) {
92
- style.borderColor = color.value;
289
+ result.push(modifier);
290
+ }
291
+ modifiers.forEach(function(modifier) {
292
+ if (!visited.has(modifier.name)) {
293
+ sort(modifier);
294
+ }
295
+ });
296
+ return result;
297
+ }
298
+ function orderModifiers(modifiers) {
299
+ var orderedModifiers = order(modifiers);
300
+ return modifierPhases.reduce(function(acc, phase) {
301
+ return acc.concat(orderedModifiers.filter(function(modifier) {
302
+ return modifier.phase === phase;
303
+ }));
304
+ }, []);
305
+ }
306
+ function debounce(fn2) {
307
+ var pending;
308
+ return function() {
309
+ if (!pending) {
310
+ pending = new Promise(function(resolve) {
311
+ Promise.resolve().then(function() {
312
+ pending = void 0;
313
+ resolve(fn2());
314
+ });
315
+ });
316
+ }
317
+ return pending;
318
+ };
319
+ }
320
+ function getBasePlacement(placement) {
321
+ return placement.split("-")[0];
322
+ }
323
+ function mergeByName(modifiers) {
324
+ var merged = modifiers.reduce(function(merged2, current) {
325
+ var existing = merged2[current.name];
326
+ merged2[current.name] = existing ? Object.assign({}, existing, current, {
327
+ options: Object.assign({}, existing.options, current.options),
328
+ data: Object.assign({}, existing.data, current.data)
329
+ }) : current;
330
+ return merged2;
331
+ }, {});
332
+ return Object.keys(merged).map(function(key) {
333
+ return merged[key];
334
+ });
335
+ }
336
+ function getVariation(placement) {
337
+ return placement.split("-")[1];
338
+ }
339
+ function getMainAxisFromPlacement(placement) {
340
+ return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y";
341
+ }
342
+ function computeOffsets(_ref) {
343
+ var reference = _ref.reference, element = _ref.element, placement = _ref.placement;
344
+ var basePlacement = placement ? getBasePlacement(placement) : null;
345
+ var variation = placement ? getVariation(placement) : null;
346
+ var commonX = reference.x + reference.width / 2 - element.width / 2;
347
+ var commonY = reference.y + reference.height / 2 - element.height / 2;
348
+ var offsets;
349
+ switch (basePlacement) {
350
+ case top:
351
+ offsets = {
352
+ x: commonX,
353
+ y: reference.y - element.height
354
+ };
355
+ break;
356
+ case bottom:
357
+ offsets = {
358
+ x: commonX,
359
+ y: reference.y + reference.height
360
+ };
361
+ break;
362
+ case right:
363
+ offsets = {
364
+ x: reference.x + reference.width,
365
+ y: commonY
366
+ };
367
+ break;
368
+ case left:
369
+ offsets = {
370
+ x: reference.x - element.width,
371
+ y: commonY
372
+ };
373
+ break;
374
+ default:
375
+ offsets = {
376
+ x: reference.x,
377
+ y: reference.y
378
+ };
379
+ }
380
+ var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
381
+ if (mainAxis != null) {
382
+ var len = mainAxis === "y" ? "height" : "width";
383
+ switch (variation) {
384
+ case start:
385
+ offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
386
+ break;
387
+ case end:
388
+ offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
389
+ break;
390
+ }
391
+ }
392
+ return offsets;
393
+ }
394
+ var DEFAULT_OPTIONS = {
395
+ placement: "bottom",
396
+ modifiers: [],
397
+ strategy: "absolute"
398
+ };
399
+ function areValidElements() {
400
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
401
+ args[_key] = arguments[_key];
402
+ }
403
+ return !args.some(function(element) {
404
+ return !(element && typeof element.getBoundingClientRect === "function");
405
+ });
406
+ }
407
+ function popperGenerator(generatorOptions) {
408
+ if (generatorOptions === void 0) {
409
+ generatorOptions = {};
410
+ }
411
+ var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
412
+ return function createPopper2(reference, popper, options) {
413
+ if (options === void 0) {
414
+ options = defaultOptions;
415
+ }
416
+ var state = {
417
+ placement: "bottom",
418
+ orderedModifiers: [],
419
+ options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
420
+ modifiersData: {},
421
+ elements: {
422
+ reference,
423
+ popper
424
+ },
425
+ attributes: {},
426
+ styles: {}
427
+ };
428
+ var effectCleanupFns = [];
429
+ var isDestroyed = false;
430
+ var instance = {
431
+ state,
432
+ setOptions: function setOptions(setOptionsAction) {
433
+ var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction;
434
+ cleanupModifierEffects();
435
+ state.options = Object.assign({}, defaultOptions, state.options, options2);
436
+ state.scrollParents = {
437
+ reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],
438
+ popper: listScrollParents(popper)
439
+ };
440
+ var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers)));
441
+ state.orderedModifiers = orderedModifiers.filter(function(m) {
442
+ return m.enabled;
443
+ });
444
+ runModifierEffects();
445
+ return instance.update();
446
+ },
447
+ forceUpdate: function forceUpdate() {
448
+ if (isDestroyed) {
449
+ return;
450
+ }
451
+ var _state$elements = state.elements, reference2 = _state$elements.reference, popper2 = _state$elements.popper;
452
+ if (!areValidElements(reference2, popper2)) {
453
+ return;
454
+ }
455
+ state.rects = {
456
+ reference: getCompositeRect(reference2, getOffsetParent(popper2), state.options.strategy === "fixed"),
457
+ popper: getLayoutRect(popper2)
458
+ };
459
+ state.reset = false;
460
+ state.placement = state.options.placement;
461
+ state.orderedModifiers.forEach(function(modifier) {
462
+ return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
463
+ });
464
+ for (var index2 = 0; index2 < state.orderedModifiers.length; index2++) {
465
+ if (state.reset === true) {
466
+ state.reset = false;
467
+ index2 = -1;
468
+ continue;
469
+ }
470
+ var _state$orderedModifie = state.orderedModifiers[index2], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name;
471
+ if (typeof fn2 === "function") {
472
+ state = fn2({
473
+ state,
474
+ options: _options,
475
+ name,
476
+ instance
477
+ }) || state;
93
478
  }
94
- } else {
95
- style.color = "#fff";
96
- style.background = color.value;
97
479
  }
480
+ },
481
+ update: debounce(function() {
482
+ return new Promise(function(resolve) {
483
+ instance.forceUpdate();
484
+ resolve(state);
485
+ });
486
+ }),
487
+ destroy: function destroy() {
488
+ cleanupModifierEffects();
489
+ isDestroyed = true;
98
490
  }
99
- return style;
100
- });
101
- return {
102
- handleClick,
103
- classes,
104
- getStyle
105
491
  };
492
+ if (!areValidElements(reference, popper)) {
493
+ return instance;
494
+ }
495
+ instance.setOptions(options).then(function(state2) {
496
+ if (!isDestroyed && options.onFirstUpdate) {
497
+ options.onFirstUpdate(state2);
498
+ }
499
+ });
500
+ function runModifierEffects() {
501
+ state.orderedModifiers.forEach(function(_ref3) {
502
+ var name = _ref3.name, _ref3$options = _ref3.options, options2 = _ref3$options === void 0 ? {} : _ref3$options, effect2 = _ref3.effect;
503
+ if (typeof effect2 === "function") {
504
+ var cleanupFn = effect2({
505
+ state,
506
+ name,
507
+ instance,
508
+ options: options2
509
+ });
510
+ var noopFn = function noopFn2() {
511
+ };
512
+ effectCleanupFns.push(cleanupFn || noopFn);
513
+ }
514
+ });
515
+ }
516
+ function cleanupModifierEffects() {
517
+ effectCleanupFns.forEach(function(fn2) {
518
+ return fn2();
519
+ });
520
+ effectCleanupFns = [];
521
+ }
522
+ return instance;
523
+ };
524
+ }
525
+ var passive = {
526
+ passive: true
527
+ };
528
+ function effect$1(_ref) {
529
+ var state = _ref.state, instance = _ref.instance, options = _ref.options;
530
+ var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize;
531
+ var window2 = getWindow(state.elements.popper);
532
+ var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
533
+ if (scroll) {
534
+ scrollParents.forEach(function(scrollParent) {
535
+ scrollParent.addEventListener("scroll", instance.update, passive);
536
+ });
537
+ }
538
+ if (resize) {
539
+ window2.addEventListener("resize", instance.update, passive);
106
540
  }
541
+ return function() {
542
+ if (scroll) {
543
+ scrollParents.forEach(function(scrollParent) {
544
+ scrollParent.removeEventListener("scroll", instance.update, passive);
545
+ });
546
+ }
547
+ if (resize) {
548
+ window2.removeEventListener("resize", instance.update, passive);
549
+ }
550
+ };
551
+ }
552
+ var eventListeners = {
553
+ name: "eventListeners",
554
+ enabled: true,
555
+ phase: "write",
556
+ fn: function fn() {
557
+ },
558
+ effect: effect$1,
559
+ data: {}
560
+ };
561
+ function popperOffsets(_ref) {
562
+ var state = _ref.state, name = _ref.name;
563
+ state.modifiersData[name] = computeOffsets({
564
+ reference: state.rects.reference,
565
+ element: state.rects.popper,
566
+ strategy: "absolute",
567
+ placement: state.placement
568
+ });
569
+ }
570
+ var popperOffsets$1 = {
571
+ name: "popperOffsets",
572
+ enabled: true,
573
+ phase: "read",
574
+ fn: popperOffsets,
575
+ data: {}
576
+ };
577
+ var unsetSides = {
578
+ top: "auto",
579
+ right: "auto",
580
+ bottom: "auto",
581
+ left: "auto"
582
+ };
583
+ function roundOffsetsByDPR(_ref) {
584
+ var x = _ref.x, y = _ref.y;
585
+ var win = window;
586
+ var dpr = win.devicePixelRatio || 1;
587
+ return {
588
+ x: round(x * dpr) / dpr || 0,
589
+ y: round(y * dpr) / dpr || 0
590
+ };
591
+ }
592
+ function mapToStyles(_ref2) {
593
+ var _Object$assign2;
594
+ var popper = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;
595
+ var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y;
596
+ var _ref3 = typeof roundOffsets === "function" ? roundOffsets({
597
+ x,
598
+ y
599
+ }) : {
600
+ x,
601
+ y
602
+ };
603
+ x = _ref3.x;
604
+ y = _ref3.y;
605
+ var hasX = offsets.hasOwnProperty("x");
606
+ var hasY = offsets.hasOwnProperty("y");
607
+ var sideX = left;
608
+ var sideY = top;
609
+ var win = window;
610
+ if (adaptive) {
611
+ var offsetParent = getOffsetParent(popper);
612
+ var heightProp = "clientHeight";
613
+ var widthProp = "clientWidth";
614
+ if (offsetParent === getWindow(popper)) {
615
+ offsetParent = getDocumentElement(popper);
616
+ if (getComputedStyle(offsetParent).position !== "static" && position === "absolute") {
617
+ heightProp = "scrollHeight";
618
+ widthProp = "scrollWidth";
619
+ }
620
+ }
621
+ offsetParent = offsetParent;
622
+ if (placement === top || (placement === left || placement === right) && variation === end) {
623
+ sideY = bottom;
624
+ var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : offsetParent[heightProp];
625
+ y -= offsetY - popperRect.height;
626
+ y *= gpuAcceleration ? 1 : -1;
627
+ }
628
+ if (placement === left || (placement === top || placement === bottom) && variation === end) {
629
+ sideX = right;
630
+ var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : offsetParent[widthProp];
631
+ x -= offsetX - popperRect.width;
632
+ x *= gpuAcceleration ? 1 : -1;
633
+ }
634
+ }
635
+ var commonStyles = Object.assign({
636
+ position
637
+ }, adaptive && unsetSides);
638
+ var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
639
+ x,
640
+ y
641
+ }) : {
642
+ x,
643
+ y
644
+ };
645
+ x = _ref4.x;
646
+ y = _ref4.y;
647
+ if (gpuAcceleration) {
648
+ var _Object$assign;
649
+ return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
650
+ }
651
+ return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2));
652
+ }
653
+ function computeStyles(_ref5) {
654
+ var state = _ref5.state, options = _ref5.options;
655
+ var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
656
+ var commonStyles = {
657
+ placement: getBasePlacement(state.placement),
658
+ variation: getVariation(state.placement),
659
+ popper: state.elements.popper,
660
+ popperRect: state.rects.popper,
661
+ gpuAcceleration,
662
+ isFixed: state.options.strategy === "fixed"
663
+ };
664
+ if (state.modifiersData.popperOffsets != null) {
665
+ state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
666
+ offsets: state.modifiersData.popperOffsets,
667
+ position: state.options.strategy,
668
+ adaptive,
669
+ roundOffsets
670
+ })));
671
+ }
672
+ if (state.modifiersData.arrow != null) {
673
+ state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
674
+ offsets: state.modifiersData.arrow,
675
+ position: "absolute",
676
+ adaptive: false,
677
+ roundOffsets
678
+ })));
679
+ }
680
+ state.attributes.popper = Object.assign({}, state.attributes.popper, {
681
+ "data-popper-placement": state.placement
682
+ });
683
+ }
684
+ var computeStyles$1 = {
685
+ name: "computeStyles",
686
+ enabled: true,
687
+ phase: "beforeWrite",
688
+ fn: computeStyles,
689
+ data: {}
690
+ };
691
+ function applyStyles(_ref) {
692
+ var state = _ref.state;
693
+ Object.keys(state.elements).forEach(function(name) {
694
+ var style = state.styles[name] || {};
695
+ var attributes = state.attributes[name] || {};
696
+ var element = state.elements[name];
697
+ if (!isHTMLElement(element) || !getNodeName(element)) {
698
+ return;
699
+ }
700
+ Object.assign(element.style, style);
701
+ Object.keys(attributes).forEach(function(name2) {
702
+ var value = attributes[name2];
703
+ if (value === false) {
704
+ element.removeAttribute(name2);
705
+ } else {
706
+ element.setAttribute(name2, value === true ? "" : value);
707
+ }
708
+ });
709
+ });
710
+ }
711
+ function effect(_ref2) {
712
+ var state = _ref2.state;
713
+ var initialStyles = {
714
+ popper: {
715
+ position: state.options.strategy,
716
+ left: "0",
717
+ top: "0",
718
+ margin: "0"
719
+ },
720
+ arrow: {
721
+ position: "absolute"
722
+ },
723
+ reference: {}
724
+ };
725
+ Object.assign(state.elements.popper.style, initialStyles.popper);
726
+ state.styles = initialStyles;
727
+ if (state.elements.arrow) {
728
+ Object.assign(state.elements.arrow.style, initialStyles.arrow);
729
+ }
730
+ return function() {
731
+ Object.keys(state.elements).forEach(function(name) {
732
+ var element = state.elements[name];
733
+ var attributes = state.attributes[name] || {};
734
+ var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]);
735
+ var style = styleProperties.reduce(function(style2, property) {
736
+ style2[property] = "";
737
+ return style2;
738
+ }, {});
739
+ if (!isHTMLElement(element) || !getNodeName(element)) {
740
+ return;
741
+ }
742
+ Object.assign(element.style, style);
743
+ Object.keys(attributes).forEach(function(attribute) {
744
+ element.removeAttribute(attribute);
745
+ });
746
+ });
747
+ };
748
+ }
749
+ var applyStyles$1 = {
750
+ name: "applyStyles",
751
+ enabled: true,
752
+ phase: "write",
753
+ fn: applyStyles,
754
+ effect,
755
+ requires: ["computeStyles"]
756
+ };
757
+ var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1];
758
+ var createPopper = /* @__PURE__ */ popperGenerator({
759
+ defaultModifiers
107
760
  });
108
- const _hoisted_1$1 = { class: "nut-button__warp" };
109
- function _sfc_render$1(_ctx, _cache, $props, $setup, $data, $options) {
110
- const _component_nut_icon = resolveComponent("nut-icon");
111
- return openBlock(), createElementBlock("view", {
112
- class: normalizeClass(_ctx.classes),
113
- style: normalizeStyle(_ctx.getStyle),
114
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.handleClick && _ctx.handleClick(...args))
115
- }, [
116
- createElementVNode("view", _hoisted_1$1, [
117
- _ctx.loading ? (openBlock(), createBlock(_component_nut_icon, {
118
- key: 0,
119
- class: "nut-icon-loading"
120
- })) : createCommentVNode("", true),
121
- createTextVNode(),
122
- _ctx.icon && !_ctx.loading ? (openBlock(), createBlock(_component_nut_icon, mergeProps({
123
- key: 1,
124
- name: _ctx.icon
125
- }, _ctx.$attrs, {
126
- "class-prefix": _ctx.iconClassPrefix,
127
- "font-class-name": _ctx.iconFontClassName
128
- }), null, 16, ["name", "class-prefix", "font-class-name"])) : createCommentVNode("", true),
129
- createTextVNode(),
130
- _ctx.$slots.default ? (openBlock(), createElementBlock("view", {
131
- key: 2,
132
- class: normalizeClass({ text: _ctx.icon || _ctx.loading })
133
- }, [
134
- renderSlot(_ctx.$slots, "default")
135
- ], 2)) : createCommentVNode("", true)
136
- ])
137
- ], 6);
138
- }
139
- var Button = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["render", _sfc_render$1]]);
140
- var index_taro_vue_vue_type_style_index_0_lang = "";
761
+ function distanceAndSkiddingToXY(placement, rects, offset2) {
762
+ var basePlacement = getBasePlacement(placement);
763
+ var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
764
+ var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, {
765
+ placement
766
+ })) : offset2, skidding = _ref[0], distance = _ref[1];
767
+ skidding = skidding || 0;
768
+ distance = (distance || 0) * invertDistance;
769
+ return [left, right].indexOf(basePlacement) >= 0 ? {
770
+ x: distance,
771
+ y: skidding
772
+ } : {
773
+ x: skidding,
774
+ y: distance
775
+ };
776
+ }
777
+ function offset(_ref2) {
778
+ var state = _ref2.state, options = _ref2.options, name = _ref2.name;
779
+ var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset;
780
+ var data = placements.reduce(function(acc, placement) {
781
+ acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);
782
+ return acc;
783
+ }, {});
784
+ var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y;
785
+ if (state.modifiersData.popperOffsets != null) {
786
+ state.modifiersData.popperOffsets.x += x;
787
+ state.modifiersData.popperOffsets.y += y;
788
+ }
789
+ state.modifiersData[name] = data;
790
+ }
791
+ var offsetModifier = {
792
+ name: "offset",
793
+ enabled: true,
794
+ phase: "main",
795
+ requires: ["popperOffsets"],
796
+ fn: offset
797
+ };
141
798
  const { componentName, create } = createComponent("popover");
142
799
  const _sfc_main = create({
143
800
  inheritAttrs: false,
@@ -174,24 +831,19 @@ const _sfc_main = create({
174
831
  },
175
832
  emits: ["update", "update:visible", "close", "choose", "open"],
176
833
  setup(props, { emit }) {
834
+ let popper;
177
835
  const reference = ref();
178
- const state = reactive({
179
- elWidth: 0,
180
- elHeight: 0
181
- });
836
+ const popoverRef = ref();
182
837
  const showPopup = ref(props.visible);
183
- const { theme, location, offset } = toRefs(props);
838
+ const { theme, location } = toRefs(props);
184
839
  const classes = computed(() => {
185
840
  const prefixCls = componentName;
186
- return {
187
- [`${prefixCls}-taro`]: true,
188
- [`${prefixCls}-taro--${theme.value}`]: theme.value
189
- };
841
+ return `${prefixCls} ${prefixCls}--${theme.value}`;
190
842
  });
191
843
  const popoverContent = computed(() => {
192
844
  const prefixCls = "popover-content";
193
845
  return {
194
- [`${prefixCls}`]: true,
846
+ [prefixCls]: true,
195
847
  [`${prefixCls}--${location.value}`]: location.value
196
848
  };
197
849
  });
@@ -202,35 +854,66 @@ const _sfc_main = create({
202
854
  [`${prefixCls}--${location.value}`]: location.value
203
855
  };
204
856
  });
205
- const getReference = async () => {
206
- const refe = await useTaroRect(reference, Taro);
207
- console.log(refe);
208
- state.elWidth = refe.width;
209
- state.elHeight = refe.height;
857
+ const createPopperInstance = () => {
858
+ if (reference.value && popoverRef.value) {
859
+ return createPopper(reference.value, popoverRef.value.popupRef, {
860
+ placement: props.location,
861
+ modifiers: [
862
+ {
863
+ name: "computeStyles",
864
+ options: {
865
+ adaptive: false,
866
+ gpuAcceleration: false
867
+ }
868
+ },
869
+ Object.assign({}, offsetModifier, {
870
+ options: {
871
+ offset: props.offset
872
+ }
873
+ })
874
+ ]
875
+ });
876
+ }
877
+ return null;
210
878
  };
211
- const getStyle = computed(() => {
212
- console.log(offset);
213
- const style = {};
214
- if (location.value.indexOf("top") !== -1) {
215
- style.bottom = state.elHeight + offset.value[1] + "px";
216
- } else if (location.value.indexOf("right") !== -1) {
217
- style.left = state.elWidth + offset.value[1] + "px";
218
- } else if (location.value.indexOf("left") !== -1) {
219
- style.right = state.elWidth + offset.value[1] + "px";
220
- } else {
221
- style.top = state.elHeight + offset.value[1] + "px";
879
+ const clickOverlay = () => {
880
+ };
881
+ const uploadLocation = () => {
882
+ nextTick(() => {
883
+ if (!showPopup.value)
884
+ return;
885
+ if (!popper) {
886
+ popper = createPopperInstance();
887
+ } else {
888
+ popper.setOptions({
889
+ placement: props.location
890
+ });
891
+ }
892
+ });
893
+ };
894
+ const clickAway = (event) => {
895
+ const element = reference.value;
896
+ if (element && !element.contains(event.target)) {
897
+ closePopover();
222
898
  }
223
- return style;
224
- });
899
+ };
225
900
  onMounted(() => {
226
- setTimeout(() => {
227
- getReference();
228
- }, 200);
901
+ window.addEventListener("click", clickAway, true);
902
+ });
903
+ onUnmounted(() => {
904
+ window.removeEventListener("click", clickAway, true);
229
905
  });
230
906
  watch(
231
907
  () => props.visible,
232
908
  (value) => {
233
909
  showPopup.value = value;
910
+ uploadLocation();
911
+ }
912
+ );
913
+ watch(
914
+ () => props.location,
915
+ (value) => {
916
+ uploadLocation();
234
917
  }
235
918
  );
236
919
  const update = (val) => {
@@ -245,10 +928,12 @@ const _sfc_main = create({
245
928
  emit("close");
246
929
  emit("update:visible", false);
247
930
  };
248
- const chooseItem = (item, index) => {
249
- emit("choose", item, index);
931
+ const chooseItem = (item, index2) => {
932
+ if (item.disabled) {
933
+ return;
934
+ }
935
+ emit("choose", item, index2);
250
936
  };
251
- const refRandomId = Math.random().toString(36).slice(-8);
252
937
  return {
253
938
  classes,
254
939
  showPopup,
@@ -257,54 +942,49 @@ const _sfc_main = create({
257
942
  popoverArrow,
258
943
  closePopover,
259
944
  chooseItem,
260
- getReference,
261
945
  reference,
262
- getStyle,
263
- refRandomId
946
+ popoverRef,
947
+ clickOverlay
264
948
  };
265
949
  }
266
950
  });
267
- const _hoisted_1 = ["id"];
268
- const _hoisted_2 = { class: "popover-menu" };
269
- const _hoisted_3 = ["onClick"];
270
- const _hoisted_4 = { class: "popover-menu-name" };
951
+ const _hoisted_1 = ["onClick"];
952
+ const _hoisted_2 = { class: "popover-menu-name" };
271
953
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
272
954
  const _component_nut_icon = resolveComponent("nut-icon");
273
- return openBlock(), createElementBlock("view", {
274
- onClick: _cache[1] || (_cache[1] = withModifiers((...args) => _ctx.openPopover && _ctx.openPopover(...args), ["stop"])),
275
- class: normalizeClass(_ctx.classes)
276
- }, [
277
- createElementVNode("div", {
278
- ref: "reference",
279
- id: "reference-" + _ctx.refRandomId,
280
- class: normalizeClass(_ctx.customClass)
955
+ const _component_nut_popup = resolveComponent("nut-popup");
956
+ return openBlock(), createElementBlock(Fragment, null, [
957
+ createElementVNode("view", {
958
+ style: { "display": "inline-block" },
959
+ class: normalizeClass(_ctx.customClass),
960
+ onClick: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.openPopover && _ctx.openPopover(...args), ["stop"])),
961
+ ref: "reference"
281
962
  }, [
282
963
  renderSlot(_ctx.$slots, "reference")
283
- ], 10, _hoisted_1),
284
- createTextVNode(),
285
- _ctx.showPopup ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
286
- createElementVNode("view", {
287
- class: "more-background",
288
- onClick: _cache[0] || (_cache[0] = withModifiers((...args) => _ctx.closePopover && _ctx.closePopover(...args), ["stop"]))
289
- }),
290
- createTextVNode(),
291
- createElementVNode("view", {
292
- class: normalizeClass(_ctx.popoverContent),
293
- style: normalizeStyle(_ctx.getStyle)
294
- }, [
964
+ ], 2),
965
+ createVNode(_component_nut_popup, {
966
+ ref: "popoverRef",
967
+ "pop-class": _ctx.classes,
968
+ visible: _ctx.showPopup,
969
+ "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => _ctx.showPopup = $event),
970
+ overlay: false,
971
+ onClickOverlay: _ctx.clickOverlay
972
+ }, {
973
+ default: withCtx(() => [
295
974
  _ctx.showArrow ? (openBlock(), createElementBlock("view", {
296
975
  key: 0,
297
976
  class: normalizeClass(_ctx.popoverArrow)
298
977
  }, null, 2)) : createCommentVNode("", true),
299
- createTextVNode(),
300
- createElementVNode("view", _hoisted_2, [
301
- renderSlot(_ctx.$slots, "content"),
302
- createTextVNode(),
303
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.list, (item, index) => {
978
+ renderSlot(_ctx.$slots, "content"),
979
+ createElementVNode("view", {
980
+ class: normalizeClass(["popover-menu", _ctx.popoverContent]),
981
+ ref: "popoverMenu"
982
+ }, [
983
+ (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.list, (item, index2) => {
304
984
  return openBlock(), createElementBlock("view", {
305
- key: index,
306
- class: normalizeClass({ "popover-menu-item": true, disabled: item.disabled }),
307
- onClick: withModifiers(($event) => _ctx.chooseItem(item, index), ["stop"])
985
+ key: index2,
986
+ class: normalizeClass([item.className, { "popover-menu-item": true, disabled: item.disabled }]),
987
+ onClick: withModifiers(($event) => _ctx.chooseItem(item, index2), ["stop"])
308
988
  }, [
309
989
  item.icon ? renderSlot(_ctx.$slots, "default", { key: 0 }, () => [
310
990
  createVNode(_component_nut_icon, mergeProps(_ctx.$attrs, {
@@ -312,14 +992,14 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
312
992
  name: item.icon
313
993
  }), null, 16, ["name"])
314
994
  ]) : createCommentVNode("", true),
315
- createTextVNode(),
316
- createElementVNode("view", _hoisted_4, toDisplayString(item.name), 1)
317
- ], 10, _hoisted_3);
995
+ createElementVNode("view", _hoisted_2, toDisplayString(item.name), 1)
996
+ ], 10, _hoisted_1);
318
997
  }), 128))
319
- ])
320
- ], 6)
321
- ], 64)) : createCommentVNode("", true)
322
- ], 2);
998
+ ], 2)
999
+ ]),
1000
+ _: 3
1001
+ }, 8, ["pop-class", "visible", "onClickOverlay"])
1002
+ ], 64);
323
1003
  }
324
- var index_taro = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
325
- export { index_taro as default };
1004
+ var index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]);
1005
+ export { index as default };