antd3-esm 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (174) hide show
  1. package/LICENSE +21 -0
  2. package/dist/Checkbox.js +164 -0
  3. package/dist/CommonMixin.js +816 -0
  4. package/dist/Divider.js +646 -0
  5. package/dist/Notification.js +279 -0
  6. package/dist/Pagination.js +1106 -0
  7. package/dist/PortalWrapper.js +347 -0
  8. package/dist/RowContext.js +5 -0
  9. package/dist/Sider.js +533 -0
  10. package/dist/TextArea.js +432 -0
  11. package/dist/_arrayMap.js +68 -0
  12. package/dist/_assignValue.js +95 -0
  13. package/dist/_copyArray.js +31 -0
  14. package/dist/_hasPath.js +53 -0
  15. package/dist/_overArg.js +437 -0
  16. package/dist/_stringToArray.js +136 -0
  17. package/dist/antd/es/affix.js +12 -0
  18. package/dist/antd/es/alert.js +5 -0
  19. package/dist/antd/es/anchor.js +466 -0
  20. package/dist/antd/es/auto-complete.js +5 -0
  21. package/dist/antd/es/avatar.js +5 -0
  22. package/dist/antd/es/back-top.js +5 -0
  23. package/dist/antd/es/badge.js +5 -0
  24. package/dist/antd/es/breadcrumb.js +18 -0
  25. package/dist/antd/es/button.js +12 -0
  26. package/dist/antd/es/calendar.js +953 -0
  27. package/dist/antd/es/card.js +5 -0
  28. package/dist/antd/es/carousel.js +5 -0
  29. package/dist/antd/es/cascader.js +1275 -0
  30. package/dist/antd/es/checkbox.js +11 -0
  31. package/dist/antd/es/col.js +4 -0
  32. package/dist/antd/es/collapse.js +688 -0
  33. package/dist/antd/es/comment.js +5 -0
  34. package/dist/antd/es/config-provider.js +2 -0
  35. package/dist/antd/es/date-picker.js +4322 -0
  36. package/dist/antd/es/descriptions.js +342 -0
  37. package/dist/antd/es/divider.js +53 -0
  38. package/dist/antd/es/drawer.js +1115 -0
  39. package/dist/antd/es/dropdown.js +14 -0
  40. package/dist/antd/es/empty.js +6 -0
  41. package/dist/antd/es/form.js +5008 -0
  42. package/dist/antd/es/grid.js +13 -0
  43. package/dist/antd/es/icon.js +6 -0
  44. package/dist/antd/es/input-number.js +5 -0
  45. package/dist/antd/es/input.js +16 -0
  46. package/dist/antd/es/layout.js +14 -0
  47. package/dist/antd/es/list.js +5 -0
  48. package/dist/antd/es/locale/ar_EG.js +102 -0
  49. package/dist/antd/es/locale/bg_BG.js +98 -0
  50. package/dist/antd/es/locale/ca_ES.js +96 -0
  51. package/dist/antd/es/locale/cs_CZ.js +96 -0
  52. package/dist/antd/es/locale/da_DK.js +98 -0
  53. package/dist/antd/es/locale/de_DE.js +98 -0
  54. package/dist/antd/es/locale/default.js +2 -0
  55. package/dist/antd/es/locale/el_GR.js +98 -0
  56. package/dist/antd/es/locale/en_GB.js +98 -0
  57. package/dist/antd/es/locale/en_US.js +2 -0
  58. package/dist/antd/es/locale/es_ES.js +114 -0
  59. package/dist/antd/es/locale/et_EE.js +98 -0
  60. package/dist/antd/es/locale/fa_IR.js +98 -0
  61. package/dist/antd/es/locale/fi_FI.js +99 -0
  62. package/dist/antd/es/locale/fr_BE.js +102 -0
  63. package/dist/antd/es/locale/fr_FR.js +102 -0
  64. package/dist/antd/es/locale/ga_IE.js +99 -0
  65. package/dist/antd/es/locale/he_IL.js +99 -0
  66. package/dist/antd/es/locale/hi_IN.js +107 -0
  67. package/dist/antd/es/locale/hr_HR.js +113 -0
  68. package/dist/antd/es/locale/hu_HU.js +99 -0
  69. package/dist/antd/es/locale/hy_AM.js +109 -0
  70. package/dist/antd/es/locale/id_ID.js +101 -0
  71. package/dist/antd/es/locale/is_IS.js +98 -0
  72. package/dist/antd/es/locale/it_IT.js +111 -0
  73. package/dist/antd/es/locale/ja_JP.js +96 -0
  74. package/dist/antd/es/locale/kn_IN.js +107 -0
  75. package/dist/antd/es/locale/ko_KR.js +98 -0
  76. package/dist/antd/es/locale/ku_IQ.js +98 -0
  77. package/dist/antd/es/locale/lv_LV.js +98 -0
  78. package/dist/antd/es/locale/mk_MK.js +113 -0
  79. package/dist/antd/es/locale/mn_MN.js +99 -0
  80. package/dist/antd/es/locale/ms_MY.js +118 -0
  81. package/dist/antd/es/locale/nb_NO.js +97 -0
  82. package/dist/antd/es/locale/ne_NP.js +44 -0
  83. package/dist/antd/es/locale/nl_BE.js +98 -0
  84. package/dist/antd/es/locale/nl_NL.js +117 -0
  85. package/dist/antd/es/locale/pl_PL.js +98 -0
  86. package/dist/antd/es/locale/pt_BR.js +104 -0
  87. package/dist/antd/es/locale/pt_PT.js +127 -0
  88. package/dist/antd/es/locale/ro_RO.js +118 -0
  89. package/dist/antd/es/locale/ru_RU.js +110 -0
  90. package/dist/antd/es/locale/sk_SK.js +118 -0
  91. package/dist/antd/es/locale/sl_SI.js +96 -0
  92. package/dist/antd/es/locale/sr_RS.js +97 -0
  93. package/dist/antd/es/locale/sv_SE.js +101 -0
  94. package/dist/antd/es/locale/ta_IN.js +119 -0
  95. package/dist/antd/es/locale/th_TH.js +117 -0
  96. package/dist/antd/es/locale/tr_TR.js +112 -0
  97. package/dist/antd/es/locale/uk_UA.js +97 -0
  98. package/dist/antd/es/locale/vi_VN.js +99 -0
  99. package/dist/antd/es/locale/zh_CN.js +104 -0
  100. package/dist/antd/es/locale/zh_TW.js +100 -0
  101. package/dist/antd/es/locale-provider.js +6 -0
  102. package/dist/antd/es/mention.js +23215 -0
  103. package/dist/antd/es/mentions.js +961 -0
  104. package/dist/antd/es/menu.js +5 -0
  105. package/dist/antd/es/message.js +161 -0
  106. package/dist/antd/es/modal.js +885 -0
  107. package/dist/antd/es/notification.js +216 -0
  108. package/dist/antd/es/page-header.js +350 -0
  109. package/dist/antd/es/pagination.js +15 -0
  110. package/dist/antd/es/popconfirm.js +215 -0
  111. package/dist/antd/es/popover.js +5 -0
  112. package/dist/antd/es/progress.js +10 -0
  113. package/dist/antd/es/radio.js +10 -0
  114. package/dist/antd/es/rate.js +5 -0
  115. package/dist/antd/es/result.js +828 -0
  116. package/dist/antd/es/row.js +9 -0
  117. package/dist/antd/es/select.js +5 -0
  118. package/dist/antd/es/skeleton.js +370 -0
  119. package/dist/antd/es/slider.js +5 -0
  120. package/dist/antd/es/spin.js +11 -0
  121. package/dist/antd/es/statistic.js +650 -0
  122. package/dist/antd/es/steps.js +5 -0
  123. package/dist/antd/es/style.js +5 -0
  124. package/dist/antd/es/switch.js +5 -0
  125. package/dist/antd/es/table.js +7057 -0
  126. package/dist/antd/es/tabs.js +5 -0
  127. package/dist/antd/es/tag.js +12 -0
  128. package/dist/antd/es/time-picker.js +10 -0
  129. package/dist/antd/es/timeline.js +206 -0
  130. package/dist/antd/es/tooltip.js +9 -0
  131. package/dist/antd/es/transfer.js +2508 -0
  132. package/dist/antd/es/tree-select.js +5 -0
  133. package/dist/antd/es/tree.js +10 -0
  134. package/dist/antd/es/typography.js +1246 -0
  135. package/dist/antd/es/upload.js +3418 -0
  136. package/dist/antd/es/version.js +7 -0
  137. package/dist/col.js +142 -0
  138. package/dist/config-provider.js +6949 -0
  139. package/dist/dropdown.js +442 -0
  140. package/dist/get.js +1043 -0
  141. package/dist/icon.js +6138 -0
  142. package/dist/identity.js +230 -0
  143. package/dist/index.js +462 -0
  144. package/dist/index10.js +478 -0
  145. package/dist/index11.js +232 -0
  146. package/dist/index12.js +2766 -0
  147. package/dist/index13.js +422 -0
  148. package/dist/index14.js +283 -0
  149. package/dist/index15.js +1755 -0
  150. package/dist/index2.js +374 -0
  151. package/dist/index3.js +407 -0
  152. package/dist/index4.js +522 -0
  153. package/dist/index5.js +601 -0
  154. package/dist/index6.js +601 -0
  155. package/dist/index7.js +364 -0
  156. package/dist/index8.js +436 -0
  157. package/dist/index9.js +130 -0
  158. package/dist/input.js +475 -0
  159. package/dist/isLength.js +402 -0
  160. package/dist/keys.js +292 -0
  161. package/dist/menu.js +8138 -0
  162. package/dist/progress.js +852 -0
  163. package/dist/raf.js +34 -0
  164. package/dist/responsiveObserve.js +444 -0
  165. package/dist/row.js +173 -0
  166. package/dist/scrollTo.js +66 -0
  167. package/dist/toInteger.js +123 -0
  168. package/dist/toString.js +84 -0
  169. package/dist/transButton.js +121 -0
  170. package/dist/tree.js +3017 -0
  171. package/dist/warning.js +55 -0
  172. package/dist/wave.js +230 -0
  173. package/dist/zh_CN.js +17 -0
  174. package/package.json +160 -0
package/dist/index5.js ADDED
@@ -0,0 +1,601 @@
1
+ import { g as getDefaultExportFromCjs } from './config-provider.js';
2
+
3
+ var util;
4
+ var hasRequiredUtil;
5
+
6
+ function requireUtil () {
7
+ if (hasRequiredUtil) return util;
8
+ hasRequiredUtil = 1;
9
+
10
+ var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
11
+
12
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
13
+
14
+ var RE_NUM = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source;
15
+
16
+ function getClientPosition(elem) {
17
+ var box = undefined;
18
+ var x = undefined;
19
+ var y = undefined;
20
+ var doc = elem.ownerDocument;
21
+ var body = doc.body;
22
+ var docElem = doc && doc.documentElement;
23
+ // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式
24
+ box = elem.getBoundingClientRect();
25
+
26
+ // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop
27
+ // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确
28
+ // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin
29
+
30
+ x = box.left;
31
+ y = box.top;
32
+
33
+ // In IE, most of the time, 2 extra pixels are added to the top and left
34
+ // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and
35
+ // IE6 standards mode, this border can be overridden by setting the
36
+ // document element's border to zero -- thus, we cannot rely on the
37
+ // offset always being 2 pixels.
38
+
39
+ // In quirks mode, the offset can be determined by querying the body's
40
+ // clientLeft/clientTop, but in standards mode, it is found by querying
41
+ // the document element's clientLeft/clientTop. Since we already called
42
+ // getClientBoundingRect we have already forced a reflow, so it is not
43
+ // too expensive just to query them all.
44
+
45
+ // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的
46
+ // 窗口边框标准是设 documentElement ,quirks 时设置 body
47
+ // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去
48
+ // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置
49
+ // 标准 ie 下 docElem.clientTop 就是 border-top
50
+ // ie7 html 即窗口边框改变不了。永远为 2
51
+ // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0
52
+
53
+ x -= docElem.clientLeft || body.clientLeft || 0;
54
+ y -= docElem.clientTop || body.clientTop || 0;
55
+
56
+ return {
57
+ left: x,
58
+ top: y
59
+ };
60
+ }
61
+
62
+ function getScroll(w, top) {
63
+ var ret = w['page' + (top ? 'Y' : 'X') + 'Offset'];
64
+ var method = 'scroll' + (top ? 'Top' : 'Left');
65
+ if (typeof ret !== 'number') {
66
+ var d = w.document;
67
+ // ie6,7,8 standard mode
68
+ ret = d.documentElement[method];
69
+ if (typeof ret !== 'number') {
70
+ // quirks mode
71
+ ret = d.body[method];
72
+ }
73
+ }
74
+ return ret;
75
+ }
76
+
77
+ function getScrollLeft(w) {
78
+ return getScroll(w);
79
+ }
80
+
81
+ function getScrollTop(w) {
82
+ return getScroll(w, true);
83
+ }
84
+
85
+ function getOffset(el) {
86
+ var pos = getClientPosition(el);
87
+ var doc = el.ownerDocument;
88
+ var w = doc.defaultView || doc.parentWindow;
89
+ pos.left += getScrollLeft(w);
90
+ pos.top += getScrollTop(w);
91
+ return pos;
92
+ }
93
+ function _getComputedStyle(elem, name, computedStyle_) {
94
+ var val = '';
95
+ var d = elem.ownerDocument;
96
+ var computedStyle = computedStyle_ || d.defaultView.getComputedStyle(elem, null);
97
+
98
+ // https://github.com/kissyteam/kissy/issues/61
99
+ if (computedStyle) {
100
+ val = computedStyle.getPropertyValue(name) || computedStyle[name];
101
+ }
102
+
103
+ return val;
104
+ }
105
+
106
+ var _RE_NUM_NO_PX = new RegExp('^(' + RE_NUM + ')(?!px)[a-z%]+$', 'i');
107
+ var RE_POS = /^(top|right|bottom|left)$/;
108
+ var CURRENT_STYLE = 'currentStyle';
109
+ var RUNTIME_STYLE = 'runtimeStyle';
110
+ var LEFT = 'left';
111
+ var PX = 'px';
112
+
113
+ function _getComputedStyleIE(elem, name) {
114
+ // currentStyle maybe null
115
+ // http://msdn.microsoft.com/en-us/library/ms535231.aspx
116
+ var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];
117
+
118
+ // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值
119
+ // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19
120
+ // 在 ie 下不对,需要直接用 offset 方式
121
+ // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了
122
+
123
+ // From the awesome hack by Dean Edwards
124
+ // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291
125
+ // If we're not dealing with a regular pixel number
126
+ // but a number that has a weird ending, we need to convert it to pixels
127
+ // exclude left right for relativity
128
+ if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {
129
+ // Remember the original values
130
+ var style = elem.style;
131
+ var left = style[LEFT];
132
+ var rsLeft = elem[RUNTIME_STYLE][LEFT];
133
+
134
+ // prevent flashing of content
135
+ elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];
136
+
137
+ // Put in the new values to get a computed value out
138
+ style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;
139
+ ret = style.pixelLeft + PX;
140
+
141
+ // Revert the changed values
142
+ style[LEFT] = left;
143
+
144
+ elem[RUNTIME_STYLE][LEFT] = rsLeft;
145
+ }
146
+ return ret === '' ? 'auto' : ret;
147
+ }
148
+
149
+ var getComputedStyleX = undefined;
150
+ if (typeof window !== 'undefined') {
151
+ getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;
152
+ }
153
+
154
+ function each(arr, fn) {
155
+ for (var i = 0; i < arr.length; i++) {
156
+ fn(arr[i]);
157
+ }
158
+ }
159
+
160
+ function isBorderBoxFn(elem) {
161
+ return getComputedStyleX(elem, 'boxSizing') === 'border-box';
162
+ }
163
+
164
+ var BOX_MODELS = ['margin', 'border', 'padding'];
165
+ var CONTENT_INDEX = -1;
166
+ var PADDING_INDEX = 2;
167
+ var BORDER_INDEX = 1;
168
+ var MARGIN_INDEX = 0;
169
+
170
+ function swap(elem, options, callback) {
171
+ var old = {};
172
+ var style = elem.style;
173
+ var name = undefined;
174
+
175
+ // Remember the old values, and insert the new ones
176
+ for (name in options) {
177
+ if (options.hasOwnProperty(name)) {
178
+ old[name] = style[name];
179
+ style[name] = options[name];
180
+ }
181
+ }
182
+
183
+ callback.call(elem);
184
+
185
+ // Revert the old values
186
+ for (name in options) {
187
+ if (options.hasOwnProperty(name)) {
188
+ style[name] = old[name];
189
+ }
190
+ }
191
+ }
192
+
193
+ function getPBMWidth(elem, props, which) {
194
+ var value = 0;
195
+ var prop = undefined;
196
+ var j = undefined;
197
+ var i = undefined;
198
+ for (j = 0; j < props.length; j++) {
199
+ prop = props[j];
200
+ if (prop) {
201
+ for (i = 0; i < which.length; i++) {
202
+ var cssProp = undefined;
203
+ if (prop === 'border') {
204
+ cssProp = prop + which[i] + 'Width';
205
+ } else {
206
+ cssProp = prop + which[i];
207
+ }
208
+ value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;
209
+ }
210
+ }
211
+ }
212
+ return value;
213
+ }
214
+
215
+ /**
216
+ * A crude way of determining if an object is a window
217
+ * @member util
218
+ */
219
+ function isWindow(obj) {
220
+ // must use == for ie8
221
+ /* eslint eqeqeq:0 */
222
+ return obj != null && obj == obj.window;
223
+ }
224
+
225
+ var domUtils = {};
226
+
227
+ each(['Width', 'Height'], function (name) {
228
+ domUtils['doc' + name] = function (refWin) {
229
+ var d = refWin.document;
230
+ return Math.max(
231
+ // firefox chrome documentElement.scrollHeight< body.scrollHeight
232
+ // ie standard mode : documentElement.scrollHeight> body.scrollHeight
233
+ d.documentElement['scroll' + name],
234
+ // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?
235
+ d.body['scroll' + name], domUtils['viewport' + name](d));
236
+ };
237
+
238
+ domUtils['viewport' + name] = function (win) {
239
+ // pc browser includes scrollbar in window.innerWidth
240
+ var prop = 'client' + name;
241
+ var doc = win.document;
242
+ var body = doc.body;
243
+ var documentElement = doc.documentElement;
244
+ var documentElementProp = documentElement[prop];
245
+ // 标准模式取 documentElement
246
+ // backcompat 取 body
247
+ return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;
248
+ };
249
+ });
250
+
251
+ /*
252
+ 得到元素的大小信息
253
+ @param elem
254
+ @param name
255
+ @param {String} [extra] 'padding' : (css width) + padding
256
+ 'border' : (css width) + padding + border
257
+ 'margin' : (css width) + padding + border + margin
258
+ */
259
+ function getWH(elem, name, extra) {
260
+ if (isWindow(elem)) {
261
+ return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);
262
+ } else if (elem.nodeType === 9) {
263
+ return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);
264
+ }
265
+ var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
266
+ var borderBoxValue = name === 'width' ? elem.offsetWidth : elem.offsetHeight;
267
+ getComputedStyleX(elem);
268
+ var isBorderBox = isBorderBoxFn(elem);
269
+ var cssBoxValue = 0;
270
+ if (borderBoxValue == null || borderBoxValue <= 0) {
271
+ borderBoxValue = undefined;
272
+ // Fall back to computed then un computed css if necessary
273
+ cssBoxValue = getComputedStyleX(elem, name);
274
+ if (cssBoxValue == null || Number(cssBoxValue) < 0) {
275
+ cssBoxValue = elem.style[name] || 0;
276
+ }
277
+ // Normalize '', auto, and prepare for extra
278
+ cssBoxValue = parseFloat(cssBoxValue) || 0;
279
+ }
280
+ if (extra === undefined) {
281
+ extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;
282
+ }
283
+ var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;
284
+ var val = borderBoxValue || cssBoxValue;
285
+ if (extra === CONTENT_INDEX) {
286
+ if (borderBoxValueOrIsBorderBox) {
287
+ return val - getPBMWidth(elem, ['border', 'padding'], which);
288
+ }
289
+ return cssBoxValue;
290
+ }
291
+ if (borderBoxValueOrIsBorderBox) {
292
+ var padding = extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which);
293
+ return val + (extra === BORDER_INDEX ? 0 : padding);
294
+ }
295
+ return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);
296
+ }
297
+
298
+ var cssShow = {
299
+ position: 'absolute',
300
+ visibility: 'hidden',
301
+ display: 'block'
302
+ };
303
+
304
+ // fix #119 : https://github.com/kissyteam/kissy/issues/119
305
+ function getWHIgnoreDisplay(elem) {
306
+ var val = undefined;
307
+ var args = arguments;
308
+ // in case elem is window
309
+ // elem.offsetWidth === undefined
310
+ if (elem.offsetWidth !== 0) {
311
+ val = getWH.apply(undefined, args);
312
+ } else {
313
+ swap(elem, cssShow, function () {
314
+ val = getWH.apply(undefined, args);
315
+ });
316
+ }
317
+ return val;
318
+ }
319
+
320
+ function css(el, name, v) {
321
+ var value = v;
322
+ if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {
323
+ for (var i in name) {
324
+ if (name.hasOwnProperty(i)) {
325
+ css(el, i, name[i]);
326
+ }
327
+ }
328
+ return undefined;
329
+ }
330
+ if (typeof value !== 'undefined') {
331
+ if (typeof value === 'number') {
332
+ value += 'px';
333
+ }
334
+ el.style[name] = value;
335
+ return undefined;
336
+ }
337
+ return getComputedStyleX(el, name);
338
+ }
339
+
340
+ each(['width', 'height'], function (name) {
341
+ var first = name.charAt(0).toUpperCase() + name.slice(1);
342
+ domUtils['outer' + first] = function (el, includeMargin) {
343
+ return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);
344
+ };
345
+ var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];
346
+
347
+ domUtils[name] = function (elem, val) {
348
+ if (val !== undefined) {
349
+ if (elem) {
350
+ getComputedStyleX(elem);
351
+ var isBorderBox = isBorderBoxFn(elem);
352
+ if (isBorderBox) {
353
+ val += getPBMWidth(elem, ['padding', 'border'], which);
354
+ }
355
+ return css(elem, name, val);
356
+ }
357
+ return undefined;
358
+ }
359
+ return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);
360
+ };
361
+ });
362
+
363
+ // 设置 elem 相对 elem.ownerDocument 的坐标
364
+ function setOffset(elem, offset) {
365
+ // set position first, in-case top/left are set even on static elem
366
+ if (css(elem, 'position') === 'static') {
367
+ elem.style.position = 'relative';
368
+ }
369
+
370
+ var old = getOffset(elem);
371
+ var ret = {};
372
+ var current = undefined;
373
+ var key = undefined;
374
+
375
+ for (key in offset) {
376
+ if (offset.hasOwnProperty(key)) {
377
+ current = parseFloat(css(elem, key)) || 0;
378
+ ret[key] = current + offset[key] - old[key];
379
+ }
380
+ }
381
+ css(elem, ret);
382
+ }
383
+
384
+ util = _extends({
385
+ getWindow: function getWindow(node) {
386
+ var doc = node.ownerDocument || node;
387
+ return doc.defaultView || doc.parentWindow;
388
+ },
389
+ offset: function offset(el, value) {
390
+ if (typeof value !== 'undefined') {
391
+ setOffset(el, value);
392
+ } else {
393
+ return getOffset(el);
394
+ }
395
+ },
396
+
397
+ isWindow: isWindow,
398
+ each: each,
399
+ css: css,
400
+ clone: function clone(obj) {
401
+ var ret = {};
402
+ for (var i in obj) {
403
+ if (obj.hasOwnProperty(i)) {
404
+ ret[i] = obj[i];
405
+ }
406
+ }
407
+ var overflow = obj.overflow;
408
+ if (overflow) {
409
+ for (var i in obj) {
410
+ if (obj.hasOwnProperty(i)) {
411
+ ret.overflow[i] = obj.overflow[i];
412
+ }
413
+ }
414
+ }
415
+ return ret;
416
+ },
417
+ scrollLeft: function scrollLeft(w, v) {
418
+ if (isWindow(w)) {
419
+ if (v === undefined) {
420
+ return getScrollLeft(w);
421
+ }
422
+ window.scrollTo(v, getScrollTop(w));
423
+ } else {
424
+ if (v === undefined) {
425
+ return w.scrollLeft;
426
+ }
427
+ w.scrollLeft = v;
428
+ }
429
+ },
430
+ scrollTop: function scrollTop(w, v) {
431
+ if (isWindow(w)) {
432
+ if (v === undefined) {
433
+ return getScrollTop(w);
434
+ }
435
+ window.scrollTo(getScrollLeft(w), v);
436
+ } else {
437
+ if (v === undefined) {
438
+ return w.scrollTop;
439
+ }
440
+ w.scrollTop = v;
441
+ }
442
+ },
443
+
444
+ viewportWidth: 0,
445
+ viewportHeight: 0
446
+ }, domUtils);
447
+ return util;
448
+ }
449
+
450
+ var domScrollIntoView;
451
+ var hasRequiredDomScrollIntoView;
452
+
453
+ function requireDomScrollIntoView () {
454
+ if (hasRequiredDomScrollIntoView) return domScrollIntoView;
455
+ hasRequiredDomScrollIntoView = 1;
456
+
457
+ var util = requireUtil();
458
+
459
+ function scrollIntoView(elem, container, config) {
460
+ config = config || {};
461
+ // document 归一化到 window
462
+ if (container.nodeType === 9) {
463
+ container = util.getWindow(container);
464
+ }
465
+
466
+ var allowHorizontalScroll = config.allowHorizontalScroll;
467
+ var onlyScrollIfNeeded = config.onlyScrollIfNeeded;
468
+ var alignWithTop = config.alignWithTop;
469
+ var alignWithLeft = config.alignWithLeft;
470
+ var offsetTop = config.offsetTop || 0;
471
+ var offsetLeft = config.offsetLeft || 0;
472
+ var offsetBottom = config.offsetBottom || 0;
473
+ var offsetRight = config.offsetRight || 0;
474
+
475
+ allowHorizontalScroll = allowHorizontalScroll === undefined ? true : allowHorizontalScroll;
476
+
477
+ var isWin = util.isWindow(container);
478
+ var elemOffset = util.offset(elem);
479
+ var eh = util.outerHeight(elem);
480
+ var ew = util.outerWidth(elem);
481
+ var containerOffset = undefined;
482
+ var ch = undefined;
483
+ var cw = undefined;
484
+ var containerScroll = undefined;
485
+ var diffTop = undefined;
486
+ var diffBottom = undefined;
487
+ var win = undefined;
488
+ var winScroll = undefined;
489
+ var ww = undefined;
490
+ var wh = undefined;
491
+
492
+ if (isWin) {
493
+ win = container;
494
+ wh = util.height(win);
495
+ ww = util.width(win);
496
+ winScroll = {
497
+ left: util.scrollLeft(win),
498
+ top: util.scrollTop(win)
499
+ };
500
+ // elem 相对 container 可视视窗的距离
501
+ diffTop = {
502
+ left: elemOffset.left - winScroll.left - offsetLeft,
503
+ top: elemOffset.top - winScroll.top - offsetTop
504
+ };
505
+ diffBottom = {
506
+ left: elemOffset.left + ew - (winScroll.left + ww) + offsetRight,
507
+ top: elemOffset.top + eh - (winScroll.top + wh) + offsetBottom
508
+ };
509
+ containerScroll = winScroll;
510
+ } else {
511
+ containerOffset = util.offset(container);
512
+ ch = container.clientHeight;
513
+ cw = container.clientWidth;
514
+ containerScroll = {
515
+ left: container.scrollLeft,
516
+ top: container.scrollTop
517
+ };
518
+ // elem 相对 container 可视视窗的距离
519
+ // 注意边框, offset 是边框到根节点
520
+ diffTop = {
521
+ left: elemOffset.left - (containerOffset.left + (parseFloat(util.css(container, 'borderLeftWidth')) || 0)) - offsetLeft,
522
+ top: elemOffset.top - (containerOffset.top + (parseFloat(util.css(container, 'borderTopWidth')) || 0)) - offsetTop
523
+ };
524
+ diffBottom = {
525
+ left: elemOffset.left + ew - (containerOffset.left + cw + (parseFloat(util.css(container, 'borderRightWidth')) || 0)) + offsetRight,
526
+ top: elemOffset.top + eh - (containerOffset.top + ch + (parseFloat(util.css(container, 'borderBottomWidth')) || 0)) + offsetBottom
527
+ };
528
+ }
529
+
530
+ if (diffTop.top < 0 || diffBottom.top > 0) {
531
+ // 强制向上
532
+ if (alignWithTop === true) {
533
+ util.scrollTop(container, containerScroll.top + diffTop.top);
534
+ } else if (alignWithTop === false) {
535
+ util.scrollTop(container, containerScroll.top + diffBottom.top);
536
+ } else {
537
+ // 自动调整
538
+ if (diffTop.top < 0) {
539
+ util.scrollTop(container, containerScroll.top + diffTop.top);
540
+ } else {
541
+ util.scrollTop(container, containerScroll.top + diffBottom.top);
542
+ }
543
+ }
544
+ } else {
545
+ if (!onlyScrollIfNeeded) {
546
+ alignWithTop = alignWithTop === undefined ? true : !!alignWithTop;
547
+ if (alignWithTop) {
548
+ util.scrollTop(container, containerScroll.top + diffTop.top);
549
+ } else {
550
+ util.scrollTop(container, containerScroll.top + diffBottom.top);
551
+ }
552
+ }
553
+ }
554
+
555
+ if (allowHorizontalScroll) {
556
+ if (diffTop.left < 0 || diffBottom.left > 0) {
557
+ // 强制向上
558
+ if (alignWithLeft === true) {
559
+ util.scrollLeft(container, containerScroll.left + diffTop.left);
560
+ } else if (alignWithLeft === false) {
561
+ util.scrollLeft(container, containerScroll.left + diffBottom.left);
562
+ } else {
563
+ // 自动调整
564
+ if (diffTop.left < 0) {
565
+ util.scrollLeft(container, containerScroll.left + diffTop.left);
566
+ } else {
567
+ util.scrollLeft(container, containerScroll.left + diffBottom.left);
568
+ }
569
+ }
570
+ } else {
571
+ if (!onlyScrollIfNeeded) {
572
+ alignWithLeft = alignWithLeft === undefined ? true : !!alignWithLeft;
573
+ if (alignWithLeft) {
574
+ util.scrollLeft(container, containerScroll.left + diffTop.left);
575
+ } else {
576
+ util.scrollLeft(container, containerScroll.left + diffBottom.left);
577
+ }
578
+ }
579
+ }
580
+ }
581
+ }
582
+
583
+ domScrollIntoView = scrollIntoView;
584
+ return domScrollIntoView;
585
+ }
586
+
587
+ var lib;
588
+ var hasRequiredLib;
589
+
590
+ function requireLib () {
591
+ if (hasRequiredLib) return lib;
592
+ hasRequiredLib = 1;
593
+
594
+ lib = requireDomScrollIntoView();
595
+ return lib;
596
+ }
597
+
598
+ var libExports = requireLib();
599
+ var scrollIntoView = /*@__PURE__*/getDefaultExportFromCjs(libExports);
600
+
601
+ export { scrollIntoView as s };