@nutui/nutui 3.1.21-beta.2 → 3.1.22-beta.0

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