@opentiny/vue-renderless 3.21.2 → 3.23.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 (331) hide show
  1. package/amount/index.js +4 -4
  2. package/anchor/index.js +1 -1
  3. package/async-flowchart/index.js +1 -1
  4. package/autocomplete/index.js +4 -1
  5. package/autocomplete/vue.js +3 -3
  6. package/base-select/index.js +20 -21
  7. package/base-select/vue.js +2 -2
  8. package/calendar/index.js +2 -2
  9. package/calendar-bar/index.js +2 -2
  10. package/calendar-bar/vue.js +1 -1
  11. package/calendar-view/index.js +91 -25
  12. package/calendar-view/vue.js +6 -4
  13. package/card/index.js +1 -1
  14. package/card-template/index.js +1 -1
  15. package/carousel/index.js +4 -4
  16. package/carousel/vue.js +1 -1
  17. package/cascader/index.js +21 -11
  18. package/cascader/vue.js +6 -5
  19. package/cascader-menu/vue.js +2 -2
  20. package/cascader-mobile/index.js +1 -1
  21. package/cascader-node/vue.js +11 -1
  22. package/cascader-panel/index.js +4 -4
  23. package/cascader-panel/node.js +3 -4
  24. package/cascader-panel/vue.js +1 -1
  25. package/cascader-select/column-index.js +2 -2
  26. package/cascader-view/index.js +1 -1
  27. package/chart-bar/index.js +1 -1
  28. package/chart-candle/index.js +1 -1
  29. package/chart-core/deps/utils.js +6 -6
  30. package/chart-core/index.js +1 -1
  31. package/chart-funnel/index.js +1 -1
  32. package/chart-gauge/index.js +1 -1
  33. package/chart-line/index.js +1 -1
  34. package/chart-map/index.js +1 -1
  35. package/chart-pie/index.js +1 -1
  36. package/chart-radar/index.js +1 -1
  37. package/chart-sankey/index.js +1 -1
  38. package/chart-scatter/index.js +1 -1
  39. package/chart-waterfall/index.js +1 -1
  40. package/chart-wordcloud/index.js +1 -1
  41. package/checkbox/index.js +1 -1
  42. package/collapse-item/vue.js +1 -1
  43. package/column-list-item/index.js +1 -1
  44. package/common/deps/dom.js +20 -196
  45. package/common/deps/infinite-scroll.js +4 -43
  46. package/common/deps/popup-manager.js +1 -200
  47. package/container/index.js +2 -2
  48. package/crop/index.js +3 -3
  49. package/currency/index.js +2 -2
  50. package/date-panel/index.js +82 -26
  51. package/date-panel/vue.js +53 -21
  52. package/date-picker/vue.js +1 -1
  53. package/date-picker-mobile/index.js +1 -1
  54. package/date-range/index.js +74 -37
  55. package/date-range/vue.js +27 -23
  56. package/date-table/index.js +8 -5
  57. package/date-table/vue.js +1 -1
  58. package/dialog-box/index.js +3 -3
  59. package/dialog-box/vue.js +1 -1
  60. package/dialog-select/index.js +15 -4
  61. package/dialog-select/vue.js +7 -4
  62. package/drawer/index.js +2 -2
  63. package/drop-times/index.js +1 -1
  64. package/dropdown/index.js +11 -3
  65. package/dropdown/vue.js +2 -2
  66. package/dropdown-item/index.js +1 -1
  67. package/dropdown-item/mf.js +1 -1
  68. package/dropdown-menu/index.js +1 -1
  69. package/espace/vue.js +2 -2
  70. package/fall-menu/index.js +3 -3
  71. package/file-upload/index.js +16 -13
  72. package/file-upload/vue.js +2 -2
  73. package/filter/vue.js +1 -1
  74. package/filter-panel/vue.js +1 -2
  75. package/floating-button/index.js +1 -1
  76. package/flowchart/index.js +3 -3
  77. package/flowchart/vue.js +1 -1
  78. package/fluent-editor/index.js +5 -7
  79. package/fluent-editor/options.js +2 -2
  80. package/form/index.js +20 -2
  81. package/form-item/index.js +6 -6
  82. package/fullscreen/index.js +1 -1
  83. package/fullscreen/vue.js +1 -1
  84. package/grid/plugins/export.js +8 -2
  85. package/grid/plugins/exportExcel.js +3 -3
  86. package/grid/plugins/resize.js +2 -2
  87. package/grid/static/base/helperEqualCompare.js +1 -1
  88. package/grid/static/base/isPlainObject.js +1 -1
  89. package/grid/utils/common.js +2 -2
  90. package/grid/utils/dom.js +12 -7
  91. package/grid/utils/event.js +4 -4
  92. package/hrapprover/index.js +1 -1
  93. package/image/index.js +3 -3
  94. package/image-viewer/index.js +4 -6
  95. package/image-viewer/vue.js +1 -1
  96. package/input/index.js +2 -2
  97. package/input/vue.js +1 -1
  98. package/ip-address/index.js +17 -21
  99. package/ip-address/vue.js +1 -1
  100. package/link-menu/index.js +1 -1
  101. package/link-menu/vue.js +1 -1
  102. package/load-list/index.js +1 -1
  103. package/load-list/vue.js +4 -4
  104. package/loading/index.js +2 -2
  105. package/menu/vue.js +1 -1
  106. package/milestone/index.js +6 -45
  107. package/modal/index.js +5 -5
  108. package/month-range/index.js +48 -5
  109. package/month-range/vue.js +19 -15
  110. package/month-table/index.js +5 -5
  111. package/month-table/vue.js +1 -1
  112. package/nav-menu/index.js +7 -7
  113. package/notify/index.js +3 -3
  114. package/number-animation/index.js +53 -0
  115. package/number-animation/vue.js +27 -0
  116. package/numeric/index.js +5 -5
  117. package/option/index.js +1 -1
  118. package/option/vue.js +2 -1
  119. package/package.json +3 -2
  120. package/pager/index.js +28 -16
  121. package/pager/vue.js +27 -16
  122. package/panel/index.js +1 -1
  123. package/picker/index.js +28 -23
  124. package/picker/vue.js +6 -6
  125. package/picker-column/index.js +1 -1
  126. package/pop-upload/vue.js +1 -1
  127. package/popconfirm/vue.js +1 -1
  128. package/popeditor/index.js +6 -6
  129. package/popeditor/vue.js +2 -2
  130. package/popover/index.js +3 -3
  131. package/popover/vue.js +1 -1
  132. package/popup/index.js +3 -3
  133. package/pull-refresh/index.js +1 -1
  134. package/pull-refresh-mobile-first/index.js +1 -1
  135. package/pull-refresh-mobile-first/vue.js +4 -4
  136. package/quarter-panel/index.js +2 -2
  137. package/quarter-panel/vue.js +1 -1
  138. package/radio-group/index.js +1 -1
  139. package/rate/index.js +1 -1
  140. package/rate/vue.js +1 -1
  141. package/recycle-scroller/index.js +2 -2
  142. package/recycle-scroller/vue.js +1 -1
  143. package/rich-text/index.js +1 -1
  144. package/rich-text/table-module.js +2 -2
  145. package/river/river.js +1 -1
  146. package/river/vue.js +1 -1
  147. package/scrollbar/vue-bar.js +1 -1
  148. package/scrollbar/vue.js +1 -1
  149. package/search/index.js +3 -3
  150. package/select/index.js +26 -22
  151. package/select/vue.js +8 -7
  152. package/select-dropdown/vue.js +5 -5
  153. package/selected-box/index.js +1 -1
  154. package/signature/index.js +1 -1
  155. package/signature/vue.js +2 -2
  156. package/skeleton/index.js +1 -1
  157. package/slider/index.js +4 -4
  158. package/slider-button-group/slide-button.js +2 -2
  159. package/split/index.js +2 -2
  160. package/split/vue.js +1 -1
  161. package/statistic/index.js +1 -1
  162. package/steps/index.js +2 -3
  163. package/steps/slide-bar.js +2 -2
  164. package/sticky/vue.js +4 -4
  165. package/tab-bar/index.js +2 -2
  166. package/tab-item-mf/vue.js +1 -1
  167. package/tab-nav/index.js +4 -4
  168. package/tabbar/index.js +1 -1
  169. package/tabbar/vue.js +1 -1
  170. package/tabbar-item/index.js +1 -1
  171. package/tabs-mf/index.js +9 -5
  172. package/tabs-mf/vue-bar.js +5 -4
  173. package/tabs-mf/vue-swipe.js +1 -1
  174. package/tabs-mf/vue.js +2 -2
  175. package/tabs-mf/wheel.js +3 -3
  176. package/tag-group/vue.js +2 -2
  177. package/tall-storage/index.js +1 -1
  178. package/tall-storage/vue.js +1 -1
  179. package/time/index.js +1 -1
  180. package/time/vue.js +1 -1
  181. package/time-line/index.js +1 -1
  182. package/time-line-new/index.js +1 -1
  183. package/time-panel/index.js +2 -2
  184. package/time-panel/vue.js +1 -1
  185. package/time-range/index.js +1 -1
  186. package/time-range/vue.js +1 -1
  187. package/time-spinner/index.js +4 -4
  188. package/time-spinner/vue.js +1 -1
  189. package/timeline-item/index.js +1 -1
  190. package/toggle-menu/index.js +1 -1
  191. package/tooltip/index.js +2 -2
  192. package/tooltip/vue.js +2 -2
  193. package/top-box/index.js +3 -3
  194. package/transfer/index.js +42 -1
  195. package/transfer/vue.js +64 -24
  196. package/transfer-panel/index.js +6 -1
  197. package/tree/index.js +9 -9
  198. package/tree/vue.js +2 -2
  199. package/tree-node/index.js +1 -1
  200. package/tree-node/vue.js +1 -1
  201. package/tree-select/index.js +68 -22
  202. package/tree-select/vue.js +27 -3
  203. package/types/async-flowchart.type.d.ts +2 -14
  204. package/types/breadcrumb-item.type.d.ts +5 -1
  205. package/types/breadcrumb.type.d.ts +5 -1
  206. package/types/button-group.type.d.ts +5 -1
  207. package/types/button.type.d.ts +2 -2
  208. package/types/cascader.type.d.ts +6 -1
  209. package/types/date-table.type.d.ts +1 -120
  210. package/types/dropdown.type.d.ts +1 -1
  211. package/types/label.type.d.ts +1 -53
  212. package/types/loading.type.d.ts +12 -0
  213. package/types/numeric.type.d.ts +3 -22
  214. package/types/pager.type.d.ts +12 -7
  215. package/types/popconfirm.type.d.ts +2 -0
  216. package/types/steps.type.d.ts +1 -0
  217. package/types/tag-group.type.d.ts +2 -14
  218. package/types/tag.type.d.ts +4 -4
  219. package/types/tooltip.type.d.ts +3 -13
  220. package/types/transfer.type.d.ts +3 -0
  221. package/types/user-head.type.d.ts +0 -4
  222. package/upload/index.js +1 -1
  223. package/upload-list/index.js +1 -1
  224. package/upload-list/vue.js +4 -4
  225. package/user/index.js +7 -7
  226. package/user/vue.js +15 -2
  227. package/user-contact/vue.js +2 -2
  228. package/virtual-scroll-box/index.js +2 -2
  229. package/wizard/index.js +3 -3
  230. package/year-range/index.js +61 -11
  231. package/year-range/vue.js +33 -20
  232. package/year-table/index.js +10 -5
  233. package/avatar/index.js +0 -30
  234. package/avatar/vue.js +0 -22
  235. package/common/array.js +0 -115
  236. package/common/bigInt.js +0 -315
  237. package/common/browser.js +0 -81
  238. package/common/calendar/calendar.js +0 -97
  239. package/common/dataset/index.js +0 -99
  240. package/common/date.js +0 -354
  241. package/common/decimal.js +0 -155
  242. package/common/deps/ResizeObserver.js +0 -456
  243. package/common/deps/after-leave.js +0 -27
  244. package/common/deps/clickoutside.js +0 -75
  245. package/common/deps/date-util.js +0 -255
  246. package/common/deps/date.js +0 -286
  247. package/common/deps/debounce.js +0 -8
  248. package/common/deps/eSpaceCtrl.js +0 -304
  249. package/common/deps/fastdom/async.js +0 -41
  250. package/common/deps/fastdom/index.js +0 -9
  251. package/common/deps/fastdom/sandbox.js +0 -53
  252. package/common/deps/fastdom/singleton.js +0 -88
  253. package/common/deps/fullscreen/apis.js +0 -143
  254. package/common/deps/fullscreen/screenfull.js +0 -165
  255. package/common/deps/memorize.js +0 -124
  256. package/common/deps/observe-visibility.js +0 -106
  257. package/common/deps/popper.js +0 -616
  258. package/common/deps/repeat-click.js +0 -29
  259. package/common/deps/resize-event.js +0 -39
  260. package/common/deps/scroll-into-view.js +0 -29
  261. package/common/deps/scrollbar-width.js +0 -33
  262. package/common/deps/throttle.js +0 -45
  263. package/common/deps/touch-emulator.js +0 -103
  264. package/common/deps/touch.js +0 -37
  265. package/common/deps/tree-model/node.js +0 -475
  266. package/common/deps/tree-model/tree-store.js +0 -312
  267. package/common/deps/tree-model/util.js +0 -24
  268. package/common/deps/upload-ajax.js +0 -81
  269. package/common/deps/useEventListener.js +0 -54
  270. package/common/deps/useInstanceSlots.js +0 -22
  271. package/common/deps/useRect.js +0 -25
  272. package/common/deps/useRelation.js +0 -89
  273. package/common/deps/useTouch.js +0 -68
  274. package/common/deps/useUserAgent.js +0 -16
  275. package/common/deps/useWindowSize.js +0 -23
  276. package/common/deps/vue-emitter.js +0 -34
  277. package/common/deps/vue-popper.js +0 -180
  278. package/common/deps/vue-popup.js +0 -138
  279. package/common/event.js +0 -46
  280. package/common/form/const.js +0 -10
  281. package/common/function.js +0 -28
  282. package/common/global.js +0 -11
  283. package/common/index.js +0 -259
  284. package/common/object.js +0 -227
  285. package/common/prop-util.js +0 -43
  286. package/common/runtime.js +0 -79
  287. package/common/string.js +0 -417
  288. package/common/type.js +0 -66
  289. package/common/validate/index.js +0 -10
  290. package/common/validate/messages.js +0 -65
  291. package/common/validate/rules/enum.js +0 -12
  292. package/common/validate/rules/index.js +0 -18
  293. package/common/validate/rules/pattern.js +0 -20
  294. package/common/validate/rules/range.js +0 -52
  295. package/common/validate/rules/required.js +0 -11
  296. package/common/validate/rules/type.js +0 -100
  297. package/common/validate/rules/whitespace.js +0 -10
  298. package/common/validate/schema.js +0 -290
  299. package/common/validate/util.js +0 -211
  300. package/common/validate/validations/array.js +0 -22
  301. package/common/validate/validations/date.js +0 -31
  302. package/common/validate/validations/enum.js +0 -22
  303. package/common/validate/validations/float.js +0 -22
  304. package/common/validate/validations/index.js +0 -46
  305. package/common/validate/validations/integer.js +0 -22
  306. package/common/validate/validations/method.js +0 -21
  307. package/common/validate/validations/number.js +0 -25
  308. package/common/validate/validations/pattern.js +0 -21
  309. package/common/validate/validations/required.js +0 -11
  310. package/common/validate/validations/string.js +0 -33
  311. package/common/validate/validations/type.js +0 -29
  312. package/index-bar/index.js +0 -66
  313. package/index-bar/vue.js +0 -73
  314. package/index-bar-anchor/vue.js +0 -16
  315. package/label/index.js +0 -56
  316. package/label/vue.js +0 -26
  317. package/list/index.js +0 -13
  318. package/list/vue.js +0 -17
  319. package/mask/index.js +0 -13
  320. package/mask/vue.js +0 -18
  321. package/mini-picker/index.js +0 -165
  322. package/mini-picker/vue.js +0 -122
  323. package/multi-select/index.js +0 -394
  324. package/multi-select/vue.js +0 -113
  325. package/multi-select-item/index.js +0 -23
  326. package/multi-select-item/vue.js +0 -31
  327. package/toast/index.js +0 -7
  328. package/toast/vue.js +0 -19
  329. package/types/toast.type.d.ts +0 -63
  330. package/wheel/index.js +0 -165
  331. package/wheel/vue.js +0 -79
@@ -1,616 +0,0 @@
1
- import {
2
- __spreadValues
3
- } from "../../chunk-G2ADBYYC.js";
4
- import { on, off, isDisplayNone } from "./dom";
5
- import PopupManager from "./popup-manager";
6
- import globalConfig from "../global";
7
- import { typeOf } from "../type";
8
- import { isBrowser } from "../browser";
9
- const positions = ["left", "right", "top", "bottom"];
10
- const modifiers = ["shift", "offset", "preventOverflow", "keepTogether", "arrow", "flip", "applyStyle"];
11
- const DEFAULTS = {
12
- arrowOffset: 0,
13
- arrowElement: "[x-arrow]",
14
- boundariesElement: "viewport",
15
- boundariesPadding: 5,
16
- flipBehavior: "flip",
17
- // 全局没有修改过它,所以它一直是flip
18
- forceAbsolute: false,
19
- gpuAcceleration: true,
20
- offset: 0,
21
- placement: "bottom",
22
- preventOverflowOrder: positions,
23
- modifiers,
24
- // 此处是string数组, 构造函数调用之后转为函数数组
25
- updateHiddenPopperOnScroll: false
26
- // 滚动过程中是否更新隐藏的弹出层位置
27
- };
28
- const setStyle = (el, styles) => {
29
- const isNumeric = (n) => n !== "" && !isNaN(parseFloat(n)) && isFinite(n);
30
- Object.keys(styles).forEach((prop) => {
31
- let unit = "";
32
- if (~["width", "height", "top", "right", "bottom", "left"].indexOf(prop) && isNumeric(styles[prop])) {
33
- unit = "px";
34
- }
35
- el.style[prop] = styles[prop] + unit;
36
- });
37
- };
38
- const getOffsetParent = (el) => {
39
- let offsetParent = el.offsetParent;
40
- return offsetParent === window.document.body || !offsetParent ? window.document.documentElement : offsetParent;
41
- };
42
- const getStyleComputedProperty = (el, property) => {
43
- if (!el || el.nodeType !== 1) {
44
- return;
45
- }
46
- let css = window.getComputedStyle(el, null);
47
- return css[property];
48
- };
49
- const isFixed = (el) => {
50
- if (el === window.document.body) {
51
- return false;
52
- }
53
- if (getStyleComputedProperty(el, "position") === "fixed") {
54
- return true;
55
- }
56
- if (el.host) {
57
- el = el.host;
58
- }
59
- return el.parentNode ? isFixed(el.parentNode) : false;
60
- };
61
- const getBoundingClientRect = (el) => {
62
- let rect = el.getBoundingClientRect();
63
- return {
64
- left: rect.left,
65
- top: rect.top,
66
- right: rect.right,
67
- bottom: rect.bottom,
68
- width: rect.right - rect.left,
69
- height: rect.bottom - rect.top
70
- };
71
- };
72
- const isScrollElement = (el) => {
73
- const scrollTypes = ["scroll", "auto"];
74
- return scrollTypes.includes(getStyleComputedProperty(el, "overflow")) || scrollTypes.includes(getStyleComputedProperty(el, "overflow-x")) || scrollTypes.includes(getStyleComputedProperty(el, "overflow-y"));
75
- };
76
- const getAdjustOffset = (parent) => {
77
- const placeholder = document.createElement("div");
78
- setStyle(placeholder, {
79
- opacity: 0,
80
- position: "fixed",
81
- width: 1,
82
- height: 1,
83
- top: 0,
84
- left: 0,
85
- "z-index": "-99"
86
- });
87
- parent.appendChild(placeholder);
88
- const result = getBoundingClientRect(placeholder);
89
- parent.removeChild(placeholder);
90
- return result;
91
- };
92
- const getScrollParent = (el) => {
93
- let parent = el.parentNode;
94
- if (!parent) {
95
- return el;
96
- }
97
- if (parent === window.document) {
98
- if (window.document.body.scrollTop || window.document.body.scrollLeft) {
99
- return window.document.body;
100
- }
101
- return window.document.documentElement;
102
- }
103
- if (isScrollElement(parent)) {
104
- return parent;
105
- }
106
- return getScrollParent(parent);
107
- };
108
- const getOffsetRectRelativeToCustomParent = (el, parent, fixed, popper) => {
109
- let { top, left, width, height } = getBoundingClientRect(el);
110
- if (fixed) {
111
- if (popper.parentElement) {
112
- const { top: adjustTop, left: adjustLeft } = getAdjustOffset(popper.parentElement);
113
- top -= adjustTop;
114
- left -= adjustLeft;
115
- }
116
- return {
117
- top,
118
- left,
119
- bottom: top + height,
120
- right: left + width,
121
- width,
122
- height
123
- };
124
- }
125
- let parentRect = getBoundingClientRect(parent);
126
- let rect = {
127
- top: top - parentRect.top,
128
- left: left - parentRect.left,
129
- bottom: top - parentRect.top + height,
130
- right: left - parentRect.left + width,
131
- width,
132
- height
133
- };
134
- return rect;
135
- };
136
- const getScrollTopValue = (el) => el === document.body ? Math.max(document.documentElement.scrollTop, document.body.scrollTop) : el.scrollTop;
137
- const getScrollLeftValue = (el) => el === document.body ? Math.max(document.documentElement.scrollLeft, document.body.scrollLeft) : el.scrollLeft;
138
- const getMaxWH = (body, html) => {
139
- const height = Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight);
140
- const width = Math.max(body.scrollWidth, body.offsetWidth, html.clientWidth, html.scrollWidth, html.offsetWidth);
141
- return { width, height };
142
- };
143
- const getOuterSizes = (el) => {
144
- let _display = el.style.display;
145
- let _visibility = el.style.visibility;
146
- el.style.display = "block";
147
- el.style.visibility = "hidden";
148
- let styles = window.getComputedStyle(el);
149
- let x = parseFloat(styles.marginTop) + parseFloat(styles.marginBottom);
150
- let y = parseFloat(styles.marginLeft) + parseFloat(styles.marginRight);
151
- let result = { width: el.offsetWidth + y, height: el.offsetHeight + x };
152
- el.style.display = _display;
153
- el.style.visibility = _visibility;
154
- return result;
155
- };
156
- const getOppositePlacement = (placement) => {
157
- let hash = { left: "right", right: "left", bottom: "top", top: "bottom" };
158
- return placement.replace(/left|right|bottom|top/g, (matched) => hash[matched]);
159
- };
160
- const getPopperClientRect = (popperOffsets) => {
161
- let offsets = __spreadValues({}, popperOffsets);
162
- offsets.right = offsets.left + offsets.width;
163
- offsets.bottom = offsets.top + offsets.height;
164
- return offsets;
165
- };
166
- const getAllScrollParents = (el, parents = []) => {
167
- const parent = el.parentNode;
168
- if (parent) {
169
- isScrollElement(parent) && parents.push(parent);
170
- if (getStyleComputedProperty(parent, "position") === "fixed") {
171
- return parents;
172
- }
173
- return getAllScrollParents(parent, parents);
174
- }
175
- return parents;
176
- };
177
- const getOffsetRect = (el) => {
178
- const elementRect = {
179
- width: el.offsetWidth,
180
- height: el.offsetHeight,
181
- left: el.offsetLeft,
182
- top: el.offsetTop,
183
- right: 0,
184
- bottom: 0
185
- };
186
- elementRect.right = elementRect.left + elementRect.width;
187
- elementRect.bottom = elementRect.top + elementRect.height;
188
- return elementRect;
189
- };
190
- const stopFn = (ev) => {
191
- ev.stopPropagation();
192
- };
193
- const resizeOb = isBrowser && typeof ResizeObserver === "function" ? new ResizeObserver((entries) => {
194
- entries.forEach((entry) => {
195
- if (entry.target.popperVm && entry.contentRect.height > 50) {
196
- entry.target.popperVm.update();
197
- }
198
- });
199
- }) : null;
200
- class Popper {
201
- constructor(reference, popper, options) {
202
- this.modifiers = {};
203
- /** 每次update, 计算popper的大小并缓存 */
204
- this.popperOuterSize = null;
205
- this._reference = reference;
206
- this._popper = popper;
207
- this.state = {};
208
- this._options = __spreadValues(__spreadValues({}, DEFAULTS), options);
209
- this._options.modifierFns = modifiers.map((modifier) => {
210
- return this[modifier];
211
- });
212
- if (isBrowser) {
213
- this._popper.setAttribute("x-placement", this._options.placement);
214
- this.state.position = this._getPopperPositionByRefernce(this._reference);
215
- setStyle(this._popper, { position: this.state.position, top: 0 });
216
- if (this._popper) {
217
- this._popper.popperVm = this;
218
- resizeOb && resizeOb.observe(this._popper);
219
- }
220
- this.update();
221
- this._setupEventListeners();
222
- }
223
- }
224
- destroy() {
225
- this._popper.removeAttribute("x-placement");
226
- this._popper.style.display = "none";
227
- this._removeEventListeners();
228
- this._options.removeOnDestroy && this._popper.remove();
229
- return this;
230
- }
231
- onUpdate(callback) {
232
- this.state.updateCallback = callback;
233
- return this;
234
- }
235
- update() {
236
- let data = { instance: this, styles: {} };
237
- this.stopEventBubble();
238
- this.popperOuterSize = null;
239
- data.placement = data._originalPlacement = this._options.placement;
240
- data.offsets = this._getRefPopOffsets(this._popper, this._reference, data.placement);
241
- data.boundaries = this._getBoundaries(data, this._options.boundariesPadding, this._options.boundariesElement);
242
- data = this.runModifiers(data, this._options.modifierFns);
243
- typeof this.state.updateCallback === "function" && this.state.updateCallback(data);
244
- }
245
- // 阻止popper的mousewheel等事件冒泡。 通过 onxxx 绑定,是为了避免重复绑定事件
246
- stopEventBubble() {
247
- if (!this._popper)
248
- return;
249
- if (!this._popper.onmousewheel)
250
- this._popper.onmousewheel = stopFn;
251
- if (!this._popper.onwheel)
252
- this._popper.onwheel = stopFn;
253
- }
254
- /** 按顺序执行Modifiers, 如果传入终点modifier,则执行到指定位置 */
255
- runModifiers(data, modifiers2, ends) {
256
- let modifiersToRun = modifiers2.slice();
257
- const _options = this._options;
258
- if (ends !== void 0) {
259
- modifiersToRun = this._options.modifierFns.slice(
260
- 0,
261
- _options.modifierFns.findIndex((m) => m === ends)
262
- );
263
- }
264
- modifiersToRun.forEach((modifier) => {
265
- if (typeOf(modifier) === "function") {
266
- data = modifier.call(this, data);
267
- }
268
- });
269
- return data;
270
- }
271
- // 此时才把offsets.popper 赋值给popper dom, offsets.array赋值给array dom
272
- applyStyle(data) {
273
- let styles = { position: data.offsets.popper.position };
274
- let left = Math.round(data.offsets.popper.left);
275
- let top = Math.round(data.offsets.popper.top);
276
- if (this._options.gpuAcceleration) {
277
- styles.transform = `translate3d(${left}px, ${top}px, 0)`;
278
- Object.assign(styles, { top: 0, left: 0 });
279
- } else {
280
- Object.assign(styles, { top, left });
281
- }
282
- Object.assign(styles, data.styles);
283
- setStyle(this._popper, styles);
284
- this._popper.setAttribute("x-placement", data.placement);
285
- if (data.offsets.arrow) {
286
- setStyle(data.arrowElement, data.offsets.arrow);
287
- }
288
- return data;
289
- }
290
- // 判断 placement是不是2段式的,是则处理一下偏移。 修改data.offsets.popper的值
291
- shift(data) {
292
- let placement = data.placement;
293
- let basePlacement = placement.split("-")[0];
294
- let shiftVariation = placement.split("-")[1];
295
- if (shiftVariation) {
296
- let { top, left, height, width } = data.offsets.reference;
297
- let popper = getPopperClientRect(data.offsets.popper);
298
- let shiftOffsets = {
299
- y: {
300
- start: { top },
301
- end: { top: top + height - popper.height }
302
- },
303
- x: {
304
- start: { left },
305
- end: { left: left + width - popper.width }
306
- }
307
- };
308
- let axis = ~["bottom", "top"].indexOf(basePlacement) ? "x" : "y";
309
- data.offsets.popper = Object.assign(popper, shiftOffsets[axis][shiftVariation]);
310
- }
311
- return data;
312
- }
313
- // 校正popper的位置在boundaries 的内部
314
- preventOverflow(data) {
315
- if (this._options.ignoreBoundaries) {
316
- return data;
317
- }
318
- let order = this._options.preventOverflowOrder;
319
- let popper = getPopperClientRect(data.offsets.popper);
320
- let check = {
321
- top: () => {
322
- let { top } = popper;
323
- if (top < data.boundaries.top) {
324
- top = Math.max(top, data.boundaries.top);
325
- }
326
- return { top };
327
- },
328
- right: () => {
329
- let { left } = popper;
330
- if (popper.right > data.boundaries.right) {
331
- left = Math.min(left, data.boundaries.right - popper.width);
332
- }
333
- return { left };
334
- },
335
- bottom: () => {
336
- let { top } = popper;
337
- if (popper.bottom > data.boundaries.bottom) {
338
- top = Math.min(top, data.boundaries.bottom - popper.height);
339
- }
340
- return { top };
341
- },
342
- left: () => {
343
- let { left } = popper;
344
- if (popper.left < data.boundaries.left) {
345
- left = Math.max(left, data.boundaries.left);
346
- }
347
- return { left };
348
- }
349
- };
350
- order.forEach((direction) => {
351
- data.offsets.popper = Object.assign(popper, check[direction]());
352
- });
353
- return data;
354
- }
355
- // 校正popper的位置在reference的边上。 如果2个分离了,重新调整popper的位置。 可能是担心 modifiers.offset 带来的副作用吧
356
- keepTogether(data) {
357
- let popper = getPopperClientRect(data.offsets.popper);
358
- let reference = data.offsets.reference;
359
- if (popper.right < Math.floor(reference.left)) {
360
- data.offsets.popper.left = Math.floor(reference.left) - popper.width;
361
- }
362
- if (popper.left > Math.floor(reference.right)) {
363
- data.offsets.popper.left = Math.floor(reference.right);
364
- }
365
- if (popper.bottom < Math.floor(reference.top)) {
366
- data.offsets.popper.top = Math.floor(reference.top) - popper.height;
367
- }
368
- if (popper.top > Math.floor(reference.bottom)) {
369
- data.offsets.popper.top = Math.floor(reference.bottom);
370
- }
371
- return data;
372
- }
373
- // 根据flip的策略,计算当前应该显示的位置。 空间不够要计算出flip的位置。 可能是担心preventOverflow 时,造成pop, reference会重叠。 重叠了就要flip一下
374
- flip(data) {
375
- if (data.flipped && data.placement === data._originalPlacement) {
376
- return data;
377
- }
378
- const placements = data.placement.split("-");
379
- let placement = placements[0];
380
- let placementOpposite = getOppositePlacement(placement);
381
- let variation = placements[1] || "";
382
- let flipOrderArr = [placement, placementOpposite];
383
- flipOrderArr.forEach((step, index) => {
384
- if (placement !== step || flipOrderArr.length === index + 1) {
385
- return;
386
- }
387
- placement = data.placement.split("-")[0];
388
- placementOpposite = getOppositePlacement(placement);
389
- let popperOffsets = getPopperClientRect(data.offsets.popper);
390
- let a = ~["right", "bottom"].indexOf(placement);
391
- let p = Math.floor(data.offsets.reference[placement]);
392
- let po = Math.floor(popperOffsets[placementOpposite]);
393
- if (a && p > po || !a && p < po) {
394
- data.flipped = true;
395
- data.placement = flipOrderArr[index + 1];
396
- if (variation) {
397
- data.placement += `-${variation}`;
398
- }
399
- data.offsets.popper = this._getRefPopOffsets(this._popper, this._reference, data.placement).popper;
400
- data = this.runModifiers(data, this._options.modifierFns, this.flip);
401
- }
402
- });
403
- return data;
404
- }
405
- // 根据入参option上的offset, 给data.offset.popper进行校正
406
- offset(data) {
407
- let offset = this._options.offset;
408
- let popper = data.offsets.popper;
409
- if (~data.placement.indexOf("left")) {
410
- popper.top -= offset;
411
- } else if (~data.placement.indexOf("right")) {
412
- popper.top += offset;
413
- } else if (~data.placement.indexOf("top")) {
414
- popper.left -= offset;
415
- } else if (~data.placement.indexOf("bottom")) {
416
- popper.left += offset;
417
- }
418
- return data;
419
- }
420
- // 计算arrow的位置,保存在data.offsets.arrow ={top,left}
421
- arrow(data) {
422
- let arrow = this._options.arrowElement;
423
- let arrowOffset = this._options.arrowOffset;
424
- if (typeof arrow === "string") {
425
- arrow = this._popper.querySelector(arrow);
426
- }
427
- if (!arrow || !this._popper.contains(arrow)) {
428
- return data;
429
- }
430
- let arrowStyle = {};
431
- let placement = data.placement.split("-")[0];
432
- let popper = getPopperClientRect(data.offsets.popper);
433
- let reference = data.offsets.reference;
434
- let isVertical = ~["left", "right"].indexOf(placement);
435
- let calcProp = isVertical ? "height" : "width";
436
- let opSide = isVertical ? "bottom" : "right";
437
- let altSide = isVertical ? "left" : "top";
438
- let side = isVertical ? "top" : "left";
439
- let popperRect = this.popperOuterSize ? this.popperOuterSize : this.popperOuterSize = getOuterSizes(this._popper);
440
- let arrowRect = getOuterSizes(arrow);
441
- let arrowSize = arrowRect[calcProp];
442
- if (reference[opSide] - arrowSize < popper[side]) {
443
- data.offsets.popper[side] -= popper[side] - (reference[opSide] - arrowSize);
444
- }
445
- if (reference[side] + arrowSize > popper[opSide]) {
446
- data.offsets.popper[side] += reference[side] + arrowSize - popper[opSide];
447
- }
448
- let center = reference[side] + (arrowOffset || reference[calcProp] / 2 - arrowSize / 2);
449
- let sideValue = center - popper[side];
450
- sideValue = Math.max(Math.min(popper[calcProp] - arrowSize - 8, sideValue), 8);
451
- arrowStyle[side] = sideValue;
452
- arrowStyle[altSide] = "";
453
- const params = this._options.placement.split("-");
454
- if (this._options.adjustArrow && ~["top", "bottom"].indexOf(params[0]) && side === "left") {
455
- if (params[1] === "start") {
456
- arrowStyle.left = 8;
457
- } else if (!params[1]) {
458
- arrowStyle.left = (popperRect.width - arrowRect.width) / 2;
459
- }
460
- }
461
- data.offsets.arrow = arrowStyle;
462
- data.arrowElement = arrow;
463
- return data;
464
- }
465
- /** 判断 reference 的 offsetParent 元素是fix还是abs, 这个值会赋值给popper 的dom */
466
- _getPopperPositionByRefernce(reference) {
467
- if (this._options.forceAbsolute) {
468
- return "absolute";
469
- }
470
- let isParentFixed = isFixed(reference);
471
- return isParentFixed ? "fixed" : "absolute";
472
- }
473
- /** 实时计算一下popper, reference的 位置信息, 用于 */
474
- _getRefPopOffsets(popper, reference, placement) {
475
- placement = placement.split("-")[0];
476
- let popperOffsets = { position: this.state.position };
477
- let isParentFixed = popperOffsets.position === "fixed";
478
- let referenceOffsets = getOffsetRectRelativeToCustomParent(
479
- reference,
480
- getOffsetParent(popper),
481
- isParentFixed,
482
- popper
483
- );
484
- const { width, height } = this.popperOuterSize ? this.popperOuterSize : this.popperOuterSize = getOuterSizes(popper);
485
- if (~["right", "left"].indexOf(placement)) {
486
- popperOffsets.top = referenceOffsets.top + referenceOffsets.height / 2 - height / 2;
487
- if (placement === "left") {
488
- popperOffsets.left = referenceOffsets.left - width;
489
- } else {
490
- popperOffsets.left = referenceOffsets.right;
491
- }
492
- } else {
493
- popperOffsets.left = referenceOffsets.left + referenceOffsets.width / 2 - width / 2;
494
- if (placement === "top") {
495
- popperOffsets.top = referenceOffsets.top - height;
496
- } else {
497
- popperOffsets.top = referenceOffsets.bottom;
498
- }
499
- }
500
- popperOffsets.width = width;
501
- popperOffsets.height = height;
502
- return {
503
- popper: popperOffsets,
504
- reference: referenceOffsets
505
- };
506
- }
507
- _setupEventListeners() {
508
- var _a, _b;
509
- this.state.updateBoundFn = this.update.bind(this);
510
- this.state.scrollUpdate = () => {
511
- if (this._options.updateHiddenPopperOnScroll) {
512
- this.state.updateBoundFn();
513
- } else {
514
- if (isDisplayNone(this._reference))
515
- return;
516
- this.state.updateBoundFn();
517
- }
518
- };
519
- on(window, "resize", this.state.updateBoundFn);
520
- if (this._options.boundariesElement !== "window") {
521
- let target = this._options.scrollParent || getScrollParent(this._reference);
522
- const customTargets = [];
523
- if ((_b = (_a = target == null ? void 0 : target.dataset) == null ? void 0 : _a.tag) == null ? void 0 : _b.includes("-form")) {
524
- customTargets.push(target);
525
- let realTarget = getScrollParent(target);
526
- if (realTarget === window.document.body || realTarget === window.document.documentElement) {
527
- realTarget = window;
528
- }
529
- customTargets.push(realTarget);
530
- }
531
- if (target === window.document.body || target === window.document.documentElement) {
532
- target = window;
533
- }
534
- this.state.scrollTarget = target;
535
- if (this._options.bubbling || PopupManager.globalScroll) {
536
- let targets = getAllScrollParents(this._reference);
537
- this.state.scrollTargets = targets || [];
538
- targets.forEach((target2) => {
539
- on(target2, "scroll", this.state.scrollUpdate);
540
- });
541
- } else {
542
- if (customTargets.length) {
543
- this.state.scrollTargets = customTargets;
544
- customTargets.forEach((target2) => {
545
- on(target2, "scroll", this.state.scrollUpdate);
546
- });
547
- } else {
548
- on(target, "scroll", this.state.scrollUpdate);
549
- }
550
- }
551
- }
552
- }
553
- _removeEventListeners() {
554
- off(window, "resize", this.state.updateBoundFn);
555
- if (this._options.boundariesElement !== "window" && this.state.scrollTarget) {
556
- off(this.state.scrollTarget, "scroll", this.state.scrollUpdate);
557
- this.state.scrollTarget = null;
558
- if (this._options.bubbling || PopupManager.globalScroll) {
559
- let targets = this.state.scrollTargets || [];
560
- targets.forEach((target) => {
561
- off(target, "scroll", this.state.scrollUpdate);
562
- });
563
- this.state.scrollTargets = null;
564
- }
565
- }
566
- this.state.updateBoundFn = null;
567
- this.state.scrollUpdate = null;
568
- }
569
- /** 实时计算一下Boundary的位置 */
570
- _getBoundaries(data, padding, boundariesElement) {
571
- let boundaries = { right: 0, left: 0, top: 0, bottom: 0 };
572
- if (boundariesElement === "window" || boundariesElement === "body") {
573
- let body = window.document.body;
574
- let html = window.document.documentElement;
575
- let { width, height } = getMaxWH(body, html);
576
- boundaries = { top: 0, right: width, bottom: height, left: 0 };
577
- } else if (boundariesElement === "viewport") {
578
- let offsetParent = getOffsetParent(this._popper);
579
- let scrollParent = getScrollParent(this._popper);
580
- let offsetParentRect = getOffsetRect(offsetParent);
581
- let isFixed2 = data.offsets.popper.position === "fixed";
582
- const noScroll = isFixed2 || !this._options.appendToBody && ["right", "left"].includes(this._options.placement);
583
- let scrollTop = noScroll ? 0 : getScrollTopValue(scrollParent);
584
- let scrollLeft = noScroll ? 0 : getScrollLeftValue(scrollParent);
585
- const viewportWindow = globalConfig.viewportWindow || PopupManager.viewportWindow || window;
586
- boundaries = {
587
- top: 0 - (offsetParentRect.top - scrollTop),
588
- right: viewportWindow.document.documentElement.clientWidth - (offsetParentRect.left - scrollLeft),
589
- bottom: viewportWindow.document.documentElement.clientHeight - (offsetParentRect.top - scrollTop),
590
- left: 0 - (offsetParentRect.left - scrollLeft)
591
- };
592
- } else {
593
- if (getOffsetParent(this._popper) === boundariesElement) {
594
- const { clientWidth, clientHeight } = boundariesElement;
595
- boundaries = {
596
- right: clientWidth,
597
- bottom: clientHeight,
598
- top: 0,
599
- left: 0
600
- };
601
- } else {
602
- boundaries = getOffsetRect(boundariesElement);
603
- }
604
- }
605
- boundaries.right -= padding;
606
- boundaries.left += padding;
607
- boundaries.bottom = boundaries.bottom - padding;
608
- boundaries.top = boundaries.top + padding;
609
- return boundaries;
610
- }
611
- }
612
- var popper_default = Popper;
613
- export {
614
- popper_default as default,
615
- getScrollParent
616
- };
@@ -1,29 +0,0 @@
1
- import "../../chunk-G2ADBYYC.js";
2
- import { on, once } from "./dom";
3
- var repeat_click_default = (el, binding) => {
4
- const LONG_PRESS_INTERVAL = 200;
5
- let interval = null;
6
- let startTime;
7
- const handler = () => {
8
- typeof binding.value === "function" && binding.value.apply();
9
- };
10
- const clear = () => {
11
- if (Date.now() - startTime < LONG_PRESS_INTERVAL) {
12
- handler();
13
- }
14
- clearInterval(interval);
15
- interval = null;
16
- };
17
- on(el, "mousedown", (e) => {
18
- if (e.button !== 0) {
19
- return;
20
- }
21
- startTime = Date.now();
22
- once(document, "mouseup", clear);
23
- clearInterval(interval);
24
- interval = setInterval(handler, LONG_PRESS_INTERVAL);
25
- });
26
- };
27
- export {
28
- repeat_click_default as default
29
- };
@@ -1,39 +0,0 @@
1
- import "../../chunk-G2ADBYYC.js";
2
- import ResizeObserver from "./ResizeObserver";
3
- const isServer = typeof window === "undefined";
4
- const cacheKey = "__resizeListeners__";
5
- const resizeHandler = (entries) => {
6
- entries.forEach((entry) => {
7
- const listeners = entry.target[cacheKey] || [];
8
- if (listeners.length) {
9
- listeners.forEach((fn) => {
10
- fn();
11
- });
12
- }
13
- });
14
- };
15
- const addResizeListener = (el, fn) => {
16
- if (isServer) {
17
- return;
18
- }
19
- if (!el[cacheKey]) {
20
- el[cacheKey] = [];
21
- el.__ro__ = new ResizeObserver(resizeHandler);
22
- el.__ro__.observe(el);
23
- }
24
- el[cacheKey].push(fn);
25
- };
26
- const removeResizeListener = (el, fn) => {
27
- if (!el || !el[cacheKey]) {
28
- return;
29
- }
30
- el[cacheKey].splice(el[cacheKey].indexOf(fn), 1);
31
- if (!el[cacheKey].length) {
32
- el.__ro__.disconnect();
33
- delete el.__ro__;
34
- }
35
- };
36
- export {
37
- addResizeListener,
38
- removeResizeListener
39
- };