bkui-vue 1.0.3-beta.47 → 1.0.3-beta.47.scrollbar.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.
@@ -3,6 +3,7 @@ import "./virtual-render.less";
3
3
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_shared_edbdfb03__ from "../shared";
4
4
  import * as __WEBPACK_EXTERNAL_MODULE_vue__ from "vue";
5
5
  import * as __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_config_provider_fe8577a3__ from "../config-provider";
6
+ import * as __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__ from "vue-types";
6
7
  import * as __WEBPACK_EXTERNAL_MODULE_lodash_throttle_a7b7506a__ from "lodash/throttle";
7
8
  /******/ // The require scope
8
9
  /******/ var __webpack_require__ = {};
@@ -127,6 +128,10 @@ const external_vue_namespaceObject = external_vue_x({ ["computed"]: () => __WEBP
127
128
  var config_provider_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
128
129
  var config_provider_y = x => () => x
129
130
  const config_provider_namespaceObject = config_provider_x({ ["usePrefix"]: () => __WEBPACK_EXTERNAL_MODULE_bkui_vue_lib_config_provider_fe8577a3__.usePrefix });
131
+ ;// CONCATENATED MODULE: external "vue-types"
132
+ var external_vue_types_x = y => { var x = {}; __webpack_require__.d(x, y); return x; }
133
+ var external_vue_types_y = x => () => x
134
+ const external_vue_types_namespaceObject = external_vue_types_x({ ["toType"]: () => __WEBPACK_EXTERNAL_MODULE_vue_types_22de060a__.toType });
130
135
  ;// CONCATENATED MODULE: ../../packages/virtual-render/src/props.ts
131
136
 
132
137
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
@@ -157,6 +162,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
157
162
  * IN THE SOFTWARE.
158
163
  */
159
164
 
165
+
160
166
  var EventProps = {
161
167
  onContentScroll: Function
162
168
  };
@@ -164,132 +170,4518 @@ var virtualRenderProps = _objectSpread({
164
170
  /** 传入原始数据源 */
165
171
  list: shared_namespaceObject.PropTypes.array.def([]),
166
172
  /**
167
- * 是否启用此功能
168
- * 如果设置为false,则此组件只会渲染两层指定的 容器,默认渲染两层 div
169
- * 设置为true才会启用所有的虚拟渲染 & 滚动相关计算
170
- * 此属性设置为了兼容需要按需开启\关闭虚拟渲染场景,避免外层设计两套样式架构
171
- * Note: 目前此属性不支持动态修改
173
+ * 是否启用此功能
174
+ * 如果设置为false,则此组件只会渲染两层指定的 容器,默认渲染两层 div
175
+ * 设置为true才会启用所有的虚拟渲染 & 滚动相关计算
176
+ * 此属性设置为了兼容需要按需开启\关闭虚拟渲染场景,避免外层设计两套样式架构
177
+ * Note: 目前此属性不支持动态修改
178
+ */
179
+ enabled: shared_namespaceObject.PropTypes.bool.def(true),
180
+ /**
181
+ * 是否启用内置的Scroll Listener
182
+ * 当启用虚拟滚动时(enabled = true),滚动监听为内置生效
183
+ * 只有当(enabled = false)时此配置项才生效
184
+ */
185
+ scrollEvent: shared_namespaceObject.PropTypes.bool.def(false),
186
+ /**
187
+ * 每行数据高度
188
+ * 默认为数值类型,默认高度 30px
189
+ * 如果每行高度不一致,可为回调函数:(index: number, row: any[]): number => {}
190
+ * 函数参数为当前行index & 当前行数据 row,row为数组,当不分组时,为当前行item
191
+ * 如果有分组展示, index 为当前分组 index, row为数组,当前行分组所有 item 数据
192
+ */
193
+ lineHeight: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.number, shared_namespaceObject.PropTypes.func]).def(30),
194
+ /** 整体最小高度 */
195
+ minHeight: shared_namespaceObject.PropTypes.number.def(30),
196
+ /** 整体最大高度 */
197
+ maxHeight: shared_namespaceObject.PropTypes.number,
198
+ /**
199
+ * 整体高度
200
+ * 可设置具体值,如果设置为 100%,则组件会自动计算外层DOM元素offsetHeight,用于计算可渲染行数
201
+ */
202
+ height: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.string.def('100%'), shared_namespaceObject.PropTypes.number]).def('100%'),
203
+ /**
204
+ * 渲染区域宽度
205
+ * 如果设置 100% 则自适应外层元素宽度
206
+ */
207
+ width: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.string.def('100%'), shared_namespaceObject.PropTypes.number]).def('100%'),
208
+ /** 最外层元素ClassName */
209
+ className: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.arrayOf(shared_namespaceObject.PropTypes.string), shared_namespaceObject.PropTypes.object, shared_namespaceObject.PropTypes.arrayOf(shared_namespaceObject.PropTypes.object), shared_namespaceObject.PropTypes.string]).def(''),
210
+ /** 内层层元素ClassName */
211
+ contentClassName: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.arrayOf(shared_namespaceObject.PropTypes.string), shared_namespaceObject.PropTypes.object, shared_namespaceObject.PropTypes.arrayOf(shared_namespaceObject.PropTypes.object), shared_namespaceObject.PropTypes.string]).def(''),
212
+ /** 内层元素样式 */
213
+ contentStyle: shared_namespaceObject.PropTypes.object.def({}),
214
+ /** 用于自定义X轴滚动条样式 */
215
+ scrollXName: shared_namespaceObject.PropTypes.string.def((0,shared_namespaceObject.resolveClassName)('F-scroll-x')),
216
+ /** 用于自定义Y轴滚动条样式 */
217
+ scrollYName: shared_namespaceObject.PropTypes.string.def((0,shared_namespaceObject.resolveClassName)('F-scroll-y')),
218
+ /** 分组展示,一行数据可能有多条数据 */
219
+ groupItemCount: shared_namespaceObject.PropTypes.number.def(1),
220
+ /** 预加载行数,避免空白渲染 */
221
+ preloadItemCount: shared_namespaceObject.PropTypes.number.def(1),
222
+ /** 外层Dom元素需要渲染成的目标元素 */
223
+ renderAs: shared_namespaceObject.PropTypes.string.def('div'),
224
+ /** 内容层渲染成目标元素 */
225
+ contentAs: shared_namespaceObject.PropTypes.string.def('div'),
226
+ /** top 滚动填充 */
227
+ scrollOffsetTop: shared_namespaceObject.PropTypes.number.def(0),
228
+ /**
229
+ * 内置滚动位置
230
+ * 可选:container (最外层容器),content(内容层容器)
231
+ * Note: container 慎选,需要自己处理样式 & 位置
232
+ */
233
+ scrollPosition: shared_namespaceObject.PropTypes.string.def('content'),
234
+ /**
235
+ * 绝对高度 | 实际高估
236
+ * 可选值: auto(根据行高和行数计算, LineHeight * List.length) number(外层给定高度,若为0,则不显示)
237
+ */
238
+ abosuteHeight: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.string.def('auto'), shared_namespaceObject.PropTypes.number]).def('auto'),
239
+ /**
240
+ * 滚动刷新计算间隔时间
241
+ * 默认60 ms
242
+ */
243
+ throttleDelay: shared_namespaceObject.PropTypes.number.def(60),
244
+ rowKey: shared_namespaceObject.PropTypes.string.def(undefined),
245
+ /**
246
+ * 数据改变时是否保持之前的状态
247
+ * 保持滚动条位置、当前渲染区间
248
+ */
249
+ keepAlive: shared_namespaceObject.PropTypes.bool.def(false),
250
+ /**
251
+ * 是否允许滚动条改变原有DOM结构
252
+ */
253
+ scrollbar: (0,external_vue_types_namespaceObject.toType)('IScrollbarOption', {
254
+ "default": {
255
+ enabled: false,
256
+ keepStruct: true
257
+ }
258
+ }),
259
+ /**
260
+ * 数据监听改变时,是否自动重置位置到[0, 0]
261
+ */
262
+ autoReset: shared_namespaceObject.PropTypes.bool.def(true),
263
+ wrapperStyle: shared_namespaceObject.PropTypes.any.def({})
264
+ }, EventProps);
265
+ ;// CONCATENATED MODULE: ../../packages/virtual-render/src/use-fix-top.tsx
266
+ /*
267
+ * Tencent is pleased to support the open source community by making
268
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
269
+ *
270
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
271
+ *
272
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
273
+ *
274
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
275
+ *
276
+ * ---------------------------------------------------
277
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
278
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
279
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
280
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
281
+ *
282
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
283
+ * the Software.
284
+ *
285
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
286
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
287
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
288
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
289
+ * IN THE SOFTWARE.
290
+ */
291
+ /* harmony default export */ const use_fix_top = (function (props, scrollTo) {
292
+ /**
293
+ * 指定元素滚动到顶部
294
+ * @param param0
295
+ */
296
+ var fixToTop = function fixToTop(params) {
297
+ var id = params.id,
298
+ index = params.index,
299
+ item = params.item;
300
+ var targetIndex = typeof index === 'number' ? index - 1 : 0;
301
+ if (id !== undefined) {
302
+ var _props$list$findIndex;
303
+ targetIndex = (_props$list$findIndex = props.list.findIndex(function (row) {
304
+ return row[props.rowKey] === id;
305
+ })) !== null && _props$list$findIndex !== void 0 ? _props$list$findIndex : targetIndex;
306
+ }
307
+ if (item !== undefined) {
308
+ var _props$list$findIndex2;
309
+ targetIndex = (_props$list$findIndex2 = props.list.findIndex(function (row) {
310
+ return item[props.rowKey] === row[props.rowKey];
311
+ })) !== null && _props$list$findIndex2 !== void 0 ? _props$list$findIndex2 : targetIndex;
312
+ }
313
+ if (typeof targetIndex === 'number') {
314
+ var resolvedIndex = targetIndex >= 0 ? targetIndex : 0;
315
+ var offsetY = resolvedIndex * props.lineHeight;
316
+ scrollTo(0, offsetY);
317
+ }
318
+ return null;
319
+ };
320
+ return {
321
+ fixToTop: fixToTop
322
+ };
323
+ });
324
+ ;// CONCATENATED MODULE: ../../node_modules/bk-smooth-scrollbar/dist/bk-smooth-scrollbar.js
325
+ var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
326
+ var fails$j = function(exec2) {
327
+ try {
328
+ return !!exec2();
329
+ } catch (error) {
330
+ return true;
331
+ }
332
+ };
333
+ var fails$i = fails$j;
334
+ var functionBindNative = !fails$i(function() {
335
+ var test2 = (function() {
336
+ }).bind();
337
+ return typeof test2 != "function" || test2.hasOwnProperty("prototype");
338
+ });
339
+ var NATIVE_BIND$2 = functionBindNative;
340
+ var FunctionPrototype$1 = Function.prototype;
341
+ var call$c = FunctionPrototype$1.call;
342
+ var uncurryThisWithBind = NATIVE_BIND$2 && FunctionPrototype$1.bind.bind(call$c, call$c);
343
+ var functionUncurryThis = NATIVE_BIND$2 ? uncurryThisWithBind : function(fn) {
344
+ return function() {
345
+ return call$c.apply(fn, arguments);
346
+ };
347
+ };
348
+ var uncurryThis$o = functionUncurryThis;
349
+ var toString$5 = uncurryThis$o({}.toString);
350
+ var stringSlice$2 = uncurryThis$o("".slice);
351
+ var classofRaw$2 = function(it) {
352
+ return stringSlice$2(toString$5(it), 8, -1);
353
+ };
354
+ var uncurryThis$n = functionUncurryThis;
355
+ var fails$h = fails$j;
356
+ var classof$8 = classofRaw$2;
357
+ var $Object$5 = Object;
358
+ var split = uncurryThis$n("".split);
359
+ var indexedObject = fails$h(function() {
360
+ return !$Object$5("z").propertyIsEnumerable(0);
361
+ }) ? function(it) {
362
+ return classof$8(it) === "String" ? split(it, "") : $Object$5(it);
363
+ } : $Object$5;
364
+ var isNullOrUndefined$6 = function(it) {
365
+ return it === null || it === void 0;
366
+ };
367
+ var isNullOrUndefined$5 = isNullOrUndefined$6;
368
+ var $TypeError$a = TypeError;
369
+ var requireObjectCoercible$5 = function(it) {
370
+ if (isNullOrUndefined$5(it))
371
+ throw new $TypeError$a("Can't call method on " + it);
372
+ return it;
373
+ };
374
+ var IndexedObject$2 = indexedObject;
375
+ var requireObjectCoercible$4 = requireObjectCoercible$5;
376
+ var toIndexedObject$6 = function(it) {
377
+ return IndexedObject$2(requireObjectCoercible$4(it));
378
+ };
379
+ var check = function(it) {
380
+ return it && it.Math === Math && it;
381
+ };
382
+ var global$d = (
383
+ // eslint-disable-next-line es/no-global-this -- safe
384
+ check(typeof globalThis == "object" && globalThis) || check(typeof window == "object" && window) || // eslint-disable-next-line no-restricted-globals -- safe
385
+ check(typeof self == "object" && self) || check(typeof commonjsGlobal == "object" && commonjsGlobal) || check(typeof commonjsGlobal == "object" && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback
386
+ /* @__PURE__ */ function() {
387
+ return this;
388
+ }() || Function("return this")()
389
+ );
390
+ var sharedStore = { exports: {} };
391
+ var global$c = global$d;
392
+ var defineProperty$7 = Object.defineProperty;
393
+ var defineGlobalProperty$3 = function(key, value) {
394
+ try {
395
+ defineProperty$7(global$c, key, { value, configurable: true, writable: true });
396
+ } catch (error) {
397
+ global$c[key] = value;
398
+ }
399
+ return value;
400
+ };
401
+ var globalThis$1 = global$d;
402
+ var defineGlobalProperty$2 = defineGlobalProperty$3;
403
+ var SHARED = "__core-js_shared__";
404
+ var store$3 = sharedStore.exports = globalThis$1[SHARED] || defineGlobalProperty$2(SHARED, {});
405
+ (store$3.versions || (store$3.versions = [])).push({
406
+ version: "3.37.0",
407
+ mode: "global",
408
+ copyright: "© 2014-2024 Denis Pushkarev (zloirock.ru)",
409
+ license: "https://github.com/zloirock/core-js/blob/v3.37.0/LICENSE",
410
+ source: "https://github.com/zloirock/core-js"
411
+ });
412
+ var sharedStoreExports = sharedStore.exports;
413
+ var store$2 = sharedStoreExports;
414
+ var shared$3 = function(key, value) {
415
+ return store$2[key] || (store$2[key] = value || {});
416
+ };
417
+ var requireObjectCoercible$3 = requireObjectCoercible$5;
418
+ var $Object$4 = Object;
419
+ var toObject$5 = function(argument) {
420
+ return $Object$4(requireObjectCoercible$3(argument));
421
+ };
422
+ var uncurryThis$m = functionUncurryThis;
423
+ var toObject$4 = toObject$5;
424
+ var bk_smooth_scrollbar_hasOwnProperty = uncurryThis$m({}.hasOwnProperty);
425
+ var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
426
+ return bk_smooth_scrollbar_hasOwnProperty(toObject$4(it), key);
427
+ };
428
+ var uncurryThis$l = functionUncurryThis;
429
+ var id$2 = 0;
430
+ var postfix = Math.random();
431
+ var toString$4 = uncurryThis$l(1 .toString);
432
+ var uid$3 = function(key) {
433
+ return "Symbol(" + (key === void 0 ? "" : key) + ")_" + toString$4(++id$2 + postfix, 36);
434
+ };
435
+ var engineUserAgent = typeof navigator != "undefined" && String(navigator.userAgent) || "";
436
+ var global$b = global$d;
437
+ var userAgent = engineUserAgent;
438
+ var process = global$b.process;
439
+ var Deno = global$b.Deno;
440
+ var versions = process && process.versions || Deno && Deno.version;
441
+ var v8 = versions && versions.v8;
442
+ var match, version;
443
+ if (v8) {
444
+ match = v8.split(".");
445
+ version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);
446
+ }
447
+ if (!version && userAgent) {
448
+ match = userAgent.match(/Edge\/(\d+)/);
449
+ if (!match || match[1] >= 74) {
450
+ match = userAgent.match(/Chrome\/(\d+)/);
451
+ if (match)
452
+ version = +match[1];
453
+ }
454
+ }
455
+ var engineV8Version = version;
456
+ var V8_VERSION = engineV8Version;
457
+ var fails$g = fails$j;
458
+ var global$a = global$d;
459
+ var $String$5 = global$a.String;
460
+ var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$g(function() {
461
+ var symbol = Symbol("symbol detection");
462
+ return !$String$5(symbol) || !(Object(symbol) instanceof Symbol) || // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances
463
+ !Symbol.sham && V8_VERSION && V8_VERSION < 41;
464
+ });
465
+ var NATIVE_SYMBOL$1 = symbolConstructorDetection;
466
+ var useSymbolAsUid = NATIVE_SYMBOL$1 && !Symbol.sham && typeof Symbol.iterator == "symbol";
467
+ var global$9 = global$d;
468
+ var shared$2 = shared$3;
469
+ var hasOwn$a = hasOwnProperty_1;
470
+ var uid$2 = uid$3;
471
+ var NATIVE_SYMBOL = symbolConstructorDetection;
472
+ var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
473
+ var Symbol$1 = global$9.Symbol;
474
+ var WellKnownSymbolsStore = shared$2("wks");
475
+ var createWellKnownSymbol = USE_SYMBOL_AS_UID$1 ? Symbol$1["for"] || Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$2;
476
+ var wellKnownSymbol$c = function(name) {
477
+ if (!hasOwn$a(WellKnownSymbolsStore, name)) {
478
+ WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$a(Symbol$1, name) ? Symbol$1[name] : createWellKnownSymbol("Symbol." + name);
479
+ }
480
+ return WellKnownSymbolsStore[name];
481
+ };
482
+ var documentAll = typeof document == "object" && document.all;
483
+ var isCallable$h = typeof documentAll == "undefined" && documentAll !== void 0 ? function(argument) {
484
+ return typeof argument == "function" || argument === documentAll;
485
+ } : function(argument) {
486
+ return typeof argument == "function";
487
+ };
488
+ var isCallable$g = isCallable$h;
489
+ var isObject$f = function(it) {
490
+ return typeof it == "object" ? it !== null : isCallable$g(it);
491
+ };
492
+ var isObject$e = isObject$f;
493
+ var $String$4 = String;
494
+ var $TypeError$9 = TypeError;
495
+ var anObject$a = function(argument) {
496
+ if (isObject$e(argument))
497
+ return argument;
498
+ throw new $TypeError$9($String$4(argument) + " is not an object");
499
+ };
500
+ var objectDefineProperties = {};
501
+ var fails$f = fails$j;
502
+ var descriptors = !fails$f(function() {
503
+ return Object.defineProperty({}, 1, { get: function() {
504
+ return 7;
505
+ } })[1] !== 7;
506
+ });
507
+ var DESCRIPTORS$c = descriptors;
508
+ var fails$e = fails$j;
509
+ var v8PrototypeDefineBug = DESCRIPTORS$c && fails$e(function() {
510
+ return Object.defineProperty(function() {
511
+ }, "prototype", {
512
+ value: 42,
513
+ writable: false
514
+ }).prototype !== 42;
515
+ });
516
+ var objectDefineProperty = {};
517
+ var global$8 = global$d;
518
+ var isObject$d = isObject$f;
519
+ var document$1 = global$8.document;
520
+ var EXISTS$1 = isObject$d(document$1) && isObject$d(document$1.createElement);
521
+ var documentCreateElement$1 = function(it) {
522
+ return EXISTS$1 ? document$1.createElement(it) : {};
523
+ };
524
+ var DESCRIPTORS$b = descriptors;
525
+ var fails$d = fails$j;
526
+ var createElement = documentCreateElement$1;
527
+ var ie8DomDefine = !DESCRIPTORS$b && !fails$d(function() {
528
+ return Object.defineProperty(createElement("div"), "a", {
529
+ get: function() {
530
+ return 7;
531
+ }
532
+ }).a !== 7;
533
+ });
534
+ var NATIVE_BIND$1 = functionBindNative;
535
+ var call$b = Function.prototype.call;
536
+ var functionCall = NATIVE_BIND$1 ? call$b.bind(call$b) : function() {
537
+ return call$b.apply(call$b, arguments);
538
+ };
539
+ var global$7 = global$d;
540
+ var isCallable$f = isCallable$h;
541
+ var aFunction = function(argument) {
542
+ return isCallable$f(argument) ? argument : void 0;
543
+ };
544
+ var getBuiltIn$6 = function(namespace, method) {
545
+ return arguments.length < 2 ? aFunction(global$7[namespace]) : global$7[namespace] && global$7[namespace][method];
546
+ };
547
+ var uncurryThis$k = functionUncurryThis;
548
+ var objectIsPrototypeOf = uncurryThis$k({}.isPrototypeOf);
549
+ var getBuiltIn$5 = getBuiltIn$6;
550
+ var isCallable$e = isCallable$h;
551
+ var isPrototypeOf$2 = objectIsPrototypeOf;
552
+ var USE_SYMBOL_AS_UID = useSymbolAsUid;
553
+ var $Object$3 = Object;
554
+ var isSymbol$2 = USE_SYMBOL_AS_UID ? function(it) {
555
+ return typeof it == "symbol";
556
+ } : function(it) {
557
+ var $Symbol = getBuiltIn$5("Symbol");
558
+ return isCallable$e($Symbol) && isPrototypeOf$2($Symbol.prototype, $Object$3(it));
559
+ };
560
+ var $String$3 = String;
561
+ var tryToString$3 = function(argument) {
562
+ try {
563
+ return $String$3(argument);
564
+ } catch (error) {
565
+ return "Object";
566
+ }
567
+ };
568
+ var isCallable$d = isCallable$h;
569
+ var tryToString$2 = tryToString$3;
570
+ var $TypeError$8 = TypeError;
571
+ var aCallable$6 = function(argument) {
572
+ if (isCallable$d(argument))
573
+ return argument;
574
+ throw new $TypeError$8(tryToString$2(argument) + " is not a function");
575
+ };
576
+ var aCallable$5 = aCallable$6;
577
+ var isNullOrUndefined$4 = isNullOrUndefined$6;
578
+ var getMethod$3 = function(V, P) {
579
+ var func = V[P];
580
+ return isNullOrUndefined$4(func) ? void 0 : aCallable$5(func);
581
+ };
582
+ var call$a = functionCall;
583
+ var isCallable$c = isCallable$h;
584
+ var isObject$c = isObject$f;
585
+ var $TypeError$7 = TypeError;
586
+ var ordinaryToPrimitive$1 = function(input, pref) {
587
+ var fn, val;
588
+ if (pref === "string" && isCallable$c(fn = input.toString) && !isObject$c(val = call$a(fn, input)))
589
+ return val;
590
+ if (isCallable$c(fn = input.valueOf) && !isObject$c(val = call$a(fn, input)))
591
+ return val;
592
+ if (pref !== "string" && isCallable$c(fn = input.toString) && !isObject$c(val = call$a(fn, input)))
593
+ return val;
594
+ throw new $TypeError$7("Can't convert object to primitive value");
595
+ };
596
+ var call$9 = functionCall;
597
+ var isObject$b = isObject$f;
598
+ var isSymbol$1 = isSymbol$2;
599
+ var getMethod$2 = getMethod$3;
600
+ var ordinaryToPrimitive = ordinaryToPrimitive$1;
601
+ var wellKnownSymbol$b = wellKnownSymbol$c;
602
+ var $TypeError$6 = TypeError;
603
+ var TO_PRIMITIVE = wellKnownSymbol$b("toPrimitive");
604
+ var toPrimitive$1 = function(input, pref) {
605
+ if (!isObject$b(input) || isSymbol$1(input))
606
+ return input;
607
+ var exoticToPrim = getMethod$2(input, TO_PRIMITIVE);
608
+ var result;
609
+ if (exoticToPrim) {
610
+ if (pref === void 0)
611
+ pref = "default";
612
+ result = call$9(exoticToPrim, input, pref);
613
+ if (!isObject$b(result) || isSymbol$1(result))
614
+ return result;
615
+ throw new $TypeError$6("Can't convert object to primitive value");
616
+ }
617
+ if (pref === void 0)
618
+ pref = "number";
619
+ return ordinaryToPrimitive(input, pref);
620
+ };
621
+ var bk_smooth_scrollbar_toPrimitive = toPrimitive$1;
622
+ var isSymbol = isSymbol$2;
623
+ var toPropertyKey$2 = function(argument) {
624
+ var key = bk_smooth_scrollbar_toPrimitive(argument, "string");
625
+ return isSymbol(key) ? key : key + "";
626
+ };
627
+ var DESCRIPTORS$a = descriptors;
628
+ var IE8_DOM_DEFINE$1 = ie8DomDefine;
629
+ var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
630
+ var anObject$9 = anObject$a;
631
+ var toPropertyKey$1 = toPropertyKey$2;
632
+ var $TypeError$5 = TypeError;
633
+ var $defineProperty = Object.defineProperty;
634
+ var $getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
635
+ var ENUMERABLE = "enumerable";
636
+ var CONFIGURABLE$1 = "configurable";
637
+ var WRITABLE = "writable";
638
+ objectDefineProperty.f = DESCRIPTORS$a ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
639
+ anObject$9(O);
640
+ P = toPropertyKey$1(P);
641
+ anObject$9(Attributes);
642
+ if (typeof O === "function" && P === "prototype" && "value" in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
643
+ var current = $getOwnPropertyDescriptor$1(O, P);
644
+ if (current && current[WRITABLE]) {
645
+ O[P] = Attributes.value;
646
+ Attributes = {
647
+ configurable: CONFIGURABLE$1 in Attributes ? Attributes[CONFIGURABLE$1] : current[CONFIGURABLE$1],
648
+ enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],
649
+ writable: false
650
+ };
651
+ }
652
+ }
653
+ return $defineProperty(O, P, Attributes);
654
+ } : $defineProperty : function defineProperty2(O, P, Attributes) {
655
+ anObject$9(O);
656
+ P = toPropertyKey$1(P);
657
+ anObject$9(Attributes);
658
+ if (IE8_DOM_DEFINE$1)
659
+ try {
660
+ return $defineProperty(O, P, Attributes);
661
+ } catch (error) {
662
+ }
663
+ if ("get" in Attributes || "set" in Attributes)
664
+ throw new $TypeError$5("Accessors not supported");
665
+ if ("value" in Attributes)
666
+ O[P] = Attributes.value;
667
+ return O;
668
+ };
669
+ var ceil = Math.ceil;
670
+ var floor = Math.floor;
671
+ var mathTrunc = Math.trunc || function trunc(x) {
672
+ var n = +x;
673
+ return (n > 0 ? floor : ceil)(n);
674
+ };
675
+ var trunc2 = mathTrunc;
676
+ var toIntegerOrInfinity$4 = function(argument) {
677
+ var number = +argument;
678
+ return number !== number || number === 0 ? 0 : trunc2(number);
679
+ };
680
+ var toIntegerOrInfinity$3 = toIntegerOrInfinity$4;
681
+ var max$1 = Math.max;
682
+ var min$1 = Math.min;
683
+ var toAbsoluteIndex$1 = function(index2, length) {
684
+ var integer = toIntegerOrInfinity$3(index2);
685
+ return integer < 0 ? max$1(integer + length, 0) : min$1(integer, length);
686
+ };
687
+ var toIntegerOrInfinity$2 = toIntegerOrInfinity$4;
688
+ var min = Math.min;
689
+ var toLength$1 = function(argument) {
690
+ var len = toIntegerOrInfinity$2(argument);
691
+ return len > 0 ? min(len, 9007199254740991) : 0;
692
+ };
693
+ var toLength = toLength$1;
694
+ var lengthOfArrayLike$4 = function(obj) {
695
+ return toLength(obj.length);
696
+ };
697
+ var toIndexedObject$5 = toIndexedObject$6;
698
+ var toAbsoluteIndex = toAbsoluteIndex$1;
699
+ var lengthOfArrayLike$3 = lengthOfArrayLike$4;
700
+ var createMethod$2 = function(IS_INCLUDES) {
701
+ return function($this, el, fromIndex) {
702
+ var O = toIndexedObject$5($this);
703
+ var length = lengthOfArrayLike$3(O);
704
+ if (length === 0)
705
+ return !IS_INCLUDES && -1;
706
+ var index2 = toAbsoluteIndex(fromIndex, length);
707
+ var value;
708
+ if (IS_INCLUDES && el !== el)
709
+ while (length > index2) {
710
+ value = O[index2++];
711
+ if (value !== value)
712
+ return true;
713
+ }
714
+ else
715
+ for (; length > index2; index2++) {
716
+ if ((IS_INCLUDES || index2 in O) && O[index2] === el)
717
+ return IS_INCLUDES || index2 || 0;
718
+ }
719
+ return !IS_INCLUDES && -1;
720
+ };
721
+ };
722
+ var arrayIncludes = {
723
+ // `Array.prototype.includes` method
724
+ // https://tc39.es/ecma262/#sec-array.prototype.includes
725
+ includes: createMethod$2(true),
726
+ // `Array.prototype.indexOf` method
727
+ // https://tc39.es/ecma262/#sec-array.prototype.indexof
728
+ indexOf: createMethod$2(false)
729
+ };
730
+ var hiddenKeys$5 = {};
731
+ var uncurryThis$j = functionUncurryThis;
732
+ var hasOwn$9 = hasOwnProperty_1;
733
+ var toIndexedObject$4 = toIndexedObject$6;
734
+ var indexOf = arrayIncludes.indexOf;
735
+ var hiddenKeys$4 = hiddenKeys$5;
736
+ var push$2 = uncurryThis$j([].push);
737
+ var objectKeysInternal = function(object, names) {
738
+ var O = toIndexedObject$4(object);
739
+ var i = 0;
740
+ var result = [];
741
+ var key;
742
+ for (key in O)
743
+ !hasOwn$9(hiddenKeys$4, key) && hasOwn$9(O, key) && push$2(result, key);
744
+ while (names.length > i)
745
+ if (hasOwn$9(O, key = names[i++])) {
746
+ ~indexOf(result, key) || push$2(result, key);
747
+ }
748
+ return result;
749
+ };
750
+ var enumBugKeys$3 = [
751
+ "constructor",
752
+ "hasOwnProperty",
753
+ "isPrototypeOf",
754
+ "propertyIsEnumerable",
755
+ "toLocaleString",
756
+ "toString",
757
+ "valueOf"
758
+ ];
759
+ var internalObjectKeys$1 = objectKeysInternal;
760
+ var enumBugKeys$2 = enumBugKeys$3;
761
+ var objectKeys$2 = Object.keys || function keys(O) {
762
+ return internalObjectKeys$1(O, enumBugKeys$2);
763
+ };
764
+ var DESCRIPTORS$9 = descriptors;
765
+ var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
766
+ var definePropertyModule$4 = objectDefineProperty;
767
+ var anObject$8 = anObject$a;
768
+ var toIndexedObject$3 = toIndexedObject$6;
769
+ var objectKeys$1 = objectKeys$2;
770
+ objectDefineProperties.f = DESCRIPTORS$9 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
771
+ anObject$8(O);
772
+ var props = toIndexedObject$3(Properties);
773
+ var keys3 = objectKeys$1(Properties);
774
+ var length = keys3.length;
775
+ var index2 = 0;
776
+ var key;
777
+ while (length > index2)
778
+ definePropertyModule$4.f(O, key = keys3[index2++], props[key]);
779
+ return O;
780
+ };
781
+ var getBuiltIn$4 = getBuiltIn$6;
782
+ var html$1 = getBuiltIn$4("document", "documentElement");
783
+ var shared$1 = shared$3;
784
+ var uid$1 = uid$3;
785
+ var keys$1 = shared$1("keys");
786
+ var sharedKey$3 = function(key) {
787
+ return keys$1[key] || (keys$1[key] = uid$1(key));
788
+ };
789
+ var anObject$7 = anObject$a;
790
+ var definePropertiesModule = objectDefineProperties;
791
+ var enumBugKeys$1 = enumBugKeys$3;
792
+ var hiddenKeys$3 = hiddenKeys$5;
793
+ var html = html$1;
794
+ var documentCreateElement = documentCreateElement$1;
795
+ var sharedKey$2 = sharedKey$3;
796
+ var GT = ">";
797
+ var LT = "<";
798
+ var PROTOTYPE = "prototype";
799
+ var SCRIPT = "script";
800
+ var IE_PROTO$1 = sharedKey$2("IE_PROTO");
801
+ var EmptyConstructor = function() {
802
+ };
803
+ var scriptTag = function(content) {
804
+ return LT + SCRIPT + GT + content + LT + "/" + SCRIPT + GT;
805
+ };
806
+ var NullProtoObjectViaActiveX = function(activeXDocument2) {
807
+ activeXDocument2.write(scriptTag(""));
808
+ activeXDocument2.close();
809
+ var temp = activeXDocument2.parentWindow.Object;
810
+ activeXDocument2 = null;
811
+ return temp;
812
+ };
813
+ var NullProtoObjectViaIFrame = function() {
814
+ var iframe = documentCreateElement("iframe");
815
+ var JS = "java" + SCRIPT + ":";
816
+ var iframeDocument;
817
+ iframe.style.display = "none";
818
+ html.appendChild(iframe);
819
+ iframe.src = String(JS);
820
+ iframeDocument = iframe.contentWindow.document;
821
+ iframeDocument.open();
822
+ iframeDocument.write(scriptTag("document.F=Object"));
823
+ iframeDocument.close();
824
+ return iframeDocument.F;
825
+ };
826
+ var activeXDocument;
827
+ var NullProtoObject = function() {
828
+ try {
829
+ activeXDocument = new ActiveXObject("htmlfile");
830
+ } catch (error) {
831
+ }
832
+ NullProtoObject = typeof document != "undefined" ? document.domain && activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame() : NullProtoObjectViaActiveX(activeXDocument);
833
+ var length = enumBugKeys$1.length;
834
+ while (length--)
835
+ delete NullProtoObject[PROTOTYPE][enumBugKeys$1[length]];
836
+ return NullProtoObject();
837
+ };
838
+ hiddenKeys$3[IE_PROTO$1] = true;
839
+ var objectCreate = Object.create || function create(O, Properties) {
840
+ var result;
841
+ if (O !== null) {
842
+ EmptyConstructor[PROTOTYPE] = anObject$7(O);
843
+ result = new EmptyConstructor();
844
+ EmptyConstructor[PROTOTYPE] = null;
845
+ result[IE_PROTO$1] = O;
846
+ } else
847
+ result = NullProtoObject();
848
+ return Properties === void 0 ? result : definePropertiesModule.f(result, Properties);
849
+ };
850
+ var wellKnownSymbol$a = wellKnownSymbol$c;
851
+ var create$2 = objectCreate;
852
+ var defineProperty$6 = objectDefineProperty.f;
853
+ var UNSCOPABLES = wellKnownSymbol$a("unscopables");
854
+ var ArrayPrototype$1 = Array.prototype;
855
+ if (ArrayPrototype$1[UNSCOPABLES] === void 0) {
856
+ defineProperty$6(ArrayPrototype$1, UNSCOPABLES, {
857
+ configurable: true,
858
+ value: create$2(null)
859
+ });
860
+ }
861
+ var addToUnscopables$1 = function(key) {
862
+ ArrayPrototype$1[UNSCOPABLES][key] = true;
863
+ };
864
+ var iterators = {};
865
+ var global$6 = global$d;
866
+ var isCallable$b = isCallable$h;
867
+ var WeakMap$2 = global$6.WeakMap;
868
+ var weakMapBasicDetection = isCallable$b(WeakMap$2) && /native code/.test(String(WeakMap$2));
869
+ var createPropertyDescriptor$4 = function(bitmap, value) {
870
+ return {
871
+ enumerable: !(bitmap & 1),
872
+ configurable: !(bitmap & 2),
873
+ writable: !(bitmap & 4),
874
+ value
875
+ };
876
+ };
877
+ var DESCRIPTORS$8 = descriptors;
878
+ var definePropertyModule$3 = objectDefineProperty;
879
+ var createPropertyDescriptor$3 = createPropertyDescriptor$4;
880
+ var createNonEnumerableProperty$3 = DESCRIPTORS$8 ? function(object, key, value) {
881
+ return definePropertyModule$3.f(object, key, createPropertyDescriptor$3(1, value));
882
+ } : function(object, key, value) {
883
+ object[key] = value;
884
+ return object;
885
+ };
886
+ var NATIVE_WEAK_MAP$1 = weakMapBasicDetection;
887
+ var global$5 = global$d;
888
+ var isObject$a = isObject$f;
889
+ var createNonEnumerableProperty$2 = createNonEnumerableProperty$3;
890
+ var hasOwn$8 = hasOwnProperty_1;
891
+ var shared = sharedStoreExports;
892
+ var sharedKey$1 = sharedKey$3;
893
+ var hiddenKeys$2 = hiddenKeys$5;
894
+ var OBJECT_ALREADY_INITIALIZED = "Object already initialized";
895
+ var TypeError$1 = global$5.TypeError;
896
+ var WeakMap$1 = global$5.WeakMap;
897
+ var set$1, get$1, has$7;
898
+ var enforce = function(it) {
899
+ return has$7(it) ? get$1(it) : set$1(it, {});
900
+ };
901
+ var getterFor = function(TYPE) {
902
+ return function(it) {
903
+ var state;
904
+ if (!isObject$a(it) || (state = get$1(it)).type !== TYPE) {
905
+ throw new TypeError$1("Incompatible receiver, " + TYPE + " required");
906
+ }
907
+ return state;
908
+ };
909
+ };
910
+ if (NATIVE_WEAK_MAP$1 || shared.state) {
911
+ var store$1 = shared.state || (shared.state = new WeakMap$1());
912
+ store$1.get = store$1.get;
913
+ store$1.has = store$1.has;
914
+ store$1.set = store$1.set;
915
+ set$1 = function(it, metadata) {
916
+ if (store$1.has(it))
917
+ throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
918
+ metadata.facade = it;
919
+ store$1.set(it, metadata);
920
+ return metadata;
921
+ };
922
+ get$1 = function(it) {
923
+ return store$1.get(it) || {};
924
+ };
925
+ has$7 = function(it) {
926
+ return store$1.has(it);
927
+ };
928
+ } else {
929
+ var STATE = sharedKey$1("state");
930
+ hiddenKeys$2[STATE] = true;
931
+ set$1 = function(it, metadata) {
932
+ if (hasOwn$8(it, STATE))
933
+ throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
934
+ metadata.facade = it;
935
+ createNonEnumerableProperty$2(it, STATE, metadata);
936
+ return metadata;
937
+ };
938
+ get$1 = function(it) {
939
+ return hasOwn$8(it, STATE) ? it[STATE] : {};
940
+ };
941
+ has$7 = function(it) {
942
+ return hasOwn$8(it, STATE);
943
+ };
944
+ }
945
+ var internalState = {
946
+ set: set$1,
947
+ get: get$1,
948
+ has: has$7,
949
+ enforce,
950
+ getterFor
951
+ };
952
+ var objectGetOwnPropertyDescriptor = {};
953
+ var objectPropertyIsEnumerable = {};
954
+ var $propertyIsEnumerable = {}.propertyIsEnumerable;
955
+ var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
956
+ var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
957
+ objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
958
+ var descriptor = getOwnPropertyDescriptor$1(this, V);
959
+ return !!descriptor && descriptor.enumerable;
960
+ } : $propertyIsEnumerable;
961
+ var DESCRIPTORS$7 = descriptors;
962
+ var call$8 = functionCall;
963
+ var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
964
+ var createPropertyDescriptor$2 = createPropertyDescriptor$4;
965
+ var toIndexedObject$2 = toIndexedObject$6;
966
+ var bk_smooth_scrollbar_toPropertyKey = toPropertyKey$2;
967
+ var hasOwn$7 = hasOwnProperty_1;
968
+ var IE8_DOM_DEFINE = ie8DomDefine;
969
+ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
970
+ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$7 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
971
+ O = toIndexedObject$2(O);
972
+ P = bk_smooth_scrollbar_toPropertyKey(P);
973
+ if (IE8_DOM_DEFINE)
974
+ try {
975
+ return $getOwnPropertyDescriptor(O, P);
976
+ } catch (error) {
977
+ }
978
+ if (hasOwn$7(O, P))
979
+ return createPropertyDescriptor$2(!call$8(propertyIsEnumerableModule$1.f, O, P), O[P]);
980
+ };
981
+ var makeBuiltIn$3 = { exports: {} };
982
+ var DESCRIPTORS$6 = descriptors;
983
+ var hasOwn$6 = hasOwnProperty_1;
984
+ var FunctionPrototype = Function.prototype;
985
+ var getDescriptor = DESCRIPTORS$6 && Object.getOwnPropertyDescriptor;
986
+ var EXISTS = hasOwn$6(FunctionPrototype, "name");
987
+ var PROPER = EXISTS && (function something() {
988
+ }).name === "something";
989
+ var CONFIGURABLE = EXISTS && (!DESCRIPTORS$6 || DESCRIPTORS$6 && getDescriptor(FunctionPrototype, "name").configurable);
990
+ var functionName = {
991
+ EXISTS,
992
+ PROPER,
993
+ CONFIGURABLE
994
+ };
995
+ var uncurryThis$i = functionUncurryThis;
996
+ var isCallable$a = isCallable$h;
997
+ var store = sharedStoreExports;
998
+ var functionToString = uncurryThis$i(Function.toString);
999
+ if (!isCallable$a(store.inspectSource)) {
1000
+ store.inspectSource = function(it) {
1001
+ return functionToString(it);
1002
+ };
1003
+ }
1004
+ var inspectSource$2 = store.inspectSource;
1005
+ var uncurryThis$h = functionUncurryThis;
1006
+ var fails$c = fails$j;
1007
+ var isCallable$9 = isCallable$h;
1008
+ var hasOwn$5 = hasOwnProperty_1;
1009
+ var DESCRIPTORS$5 = descriptors;
1010
+ var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE;
1011
+ var inspectSource$1 = inspectSource$2;
1012
+ var InternalStateModule$4 = internalState;
1013
+ var enforceInternalState$1 = InternalStateModule$4.enforce;
1014
+ var getInternalState$2 = InternalStateModule$4.get;
1015
+ var $String$2 = String;
1016
+ var defineProperty$5 = Object.defineProperty;
1017
+ var stringSlice$1 = uncurryThis$h("".slice);
1018
+ var replace = uncurryThis$h("".replace);
1019
+ var join = uncurryThis$h([].join);
1020
+ var CONFIGURABLE_LENGTH = DESCRIPTORS$5 && !fails$c(function() {
1021
+ return defineProperty$5(function() {
1022
+ }, "length", { value: 8 }).length !== 8;
1023
+ });
1024
+ var TEMPLATE = String(String).split("String");
1025
+ var makeBuiltIn$2 = makeBuiltIn$3.exports = function(value, name, options) {
1026
+ if (stringSlice$1($String$2(name), 0, 7) === "Symbol(") {
1027
+ name = "[" + replace($String$2(name), /^Symbol\(([^)]*)\).*$/, "$1") + "]";
1028
+ }
1029
+ if (options && options.getter)
1030
+ name = "get " + name;
1031
+ if (options && options.setter)
1032
+ name = "set " + name;
1033
+ if (!hasOwn$5(value, "name") || CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name) {
1034
+ if (DESCRIPTORS$5)
1035
+ defineProperty$5(value, "name", { value: name, configurable: true });
1036
+ else
1037
+ value.name = name;
1038
+ }
1039
+ if (CONFIGURABLE_LENGTH && options && hasOwn$5(options, "arity") && value.length !== options.arity) {
1040
+ defineProperty$5(value, "length", { value: options.arity });
1041
+ }
1042
+ try {
1043
+ if (options && hasOwn$5(options, "constructor") && options.constructor) {
1044
+ if (DESCRIPTORS$5)
1045
+ defineProperty$5(value, "prototype", { writable: false });
1046
+ } else if (value.prototype)
1047
+ value.prototype = void 0;
1048
+ } catch (error) {
1049
+ }
1050
+ var state = enforceInternalState$1(value);
1051
+ if (!hasOwn$5(state, "source")) {
1052
+ state.source = join(TEMPLATE, typeof name == "string" ? name : "");
1053
+ }
1054
+ return value;
1055
+ };
1056
+ Function.prototype.toString = makeBuiltIn$2(function toString() {
1057
+ return isCallable$9(this) && getInternalState$2(this).source || inspectSource$1(this);
1058
+ }, "toString");
1059
+ var makeBuiltInExports = makeBuiltIn$3.exports;
1060
+ var isCallable$8 = isCallable$h;
1061
+ var definePropertyModule$2 = objectDefineProperty;
1062
+ var makeBuiltIn$1 = makeBuiltInExports;
1063
+ var defineGlobalProperty$1 = defineGlobalProperty$3;
1064
+ var defineBuiltIn$6 = function(O, key, value, options) {
1065
+ if (!options)
1066
+ options = {};
1067
+ var simple = options.enumerable;
1068
+ var name = options.name !== void 0 ? options.name : key;
1069
+ if (isCallable$8(value))
1070
+ makeBuiltIn$1(value, name, options);
1071
+ if (options.global) {
1072
+ if (simple)
1073
+ O[key] = value;
1074
+ else
1075
+ defineGlobalProperty$1(key, value);
1076
+ } else {
1077
+ try {
1078
+ if (!options.unsafe)
1079
+ delete O[key];
1080
+ else if (O[key])
1081
+ simple = true;
1082
+ } catch (error) {
1083
+ }
1084
+ if (simple)
1085
+ O[key] = value;
1086
+ else
1087
+ definePropertyModule$2.f(O, key, {
1088
+ value,
1089
+ enumerable: false,
1090
+ configurable: !options.nonConfigurable,
1091
+ writable: !options.nonWritable
1092
+ });
1093
+ }
1094
+ return O;
1095
+ };
1096
+ var objectGetOwnPropertyNames = {};
1097
+ var internalObjectKeys = objectKeysInternal;
1098
+ var enumBugKeys = enumBugKeys$3;
1099
+ var hiddenKeys$1 = enumBugKeys.concat("length", "prototype");
1100
+ objectGetOwnPropertyNames.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {
1101
+ return internalObjectKeys(O, hiddenKeys$1);
1102
+ };
1103
+ var objectGetOwnPropertySymbols = {};
1104
+ objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
1105
+ var getBuiltIn$3 = getBuiltIn$6;
1106
+ var uncurryThis$g = functionUncurryThis;
1107
+ var getOwnPropertyNamesModule$1 = objectGetOwnPropertyNames;
1108
+ var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
1109
+ var anObject$6 = anObject$a;
1110
+ var concat$1 = uncurryThis$g([].concat);
1111
+ var ownKeys$1 = getBuiltIn$3("Reflect", "ownKeys") || function ownKeys(it) {
1112
+ var keys3 = getOwnPropertyNamesModule$1.f(anObject$6(it));
1113
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
1114
+ return getOwnPropertySymbols ? concat$1(keys3, getOwnPropertySymbols(it)) : keys3;
1115
+ };
1116
+ var hasOwn$4 = hasOwnProperty_1;
1117
+ var ownKeys2 = ownKeys$1;
1118
+ var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
1119
+ var definePropertyModule$1 = objectDefineProperty;
1120
+ var copyConstructorProperties$1 = function(target, source, exceptions) {
1121
+ var keys3 = ownKeys2(source);
1122
+ var defineProperty4 = definePropertyModule$1.f;
1123
+ var getOwnPropertyDescriptor3 = getOwnPropertyDescriptorModule.f;
1124
+ for (var i = 0; i < keys3.length; i++) {
1125
+ var key = keys3[i];
1126
+ if (!hasOwn$4(target, key) && !(exceptions && hasOwn$4(exceptions, key))) {
1127
+ defineProperty4(target, key, getOwnPropertyDescriptor3(source, key));
1128
+ }
1129
+ }
1130
+ };
1131
+ var fails$b = fails$j;
1132
+ var isCallable$7 = isCallable$h;
1133
+ var replacement = /#|\.prototype\./;
1134
+ var isForced$2 = function(feature, detection) {
1135
+ var value = data[normalize(feature)];
1136
+ return value === POLYFILL ? true : value === NATIVE ? false : isCallable$7(detection) ? fails$b(detection) : !!detection;
1137
+ };
1138
+ var normalize = isForced$2.normalize = function(string) {
1139
+ return String(string).replace(replacement, ".").toLowerCase();
1140
+ };
1141
+ var data = isForced$2.data = {};
1142
+ var NATIVE = isForced$2.NATIVE = "N";
1143
+ var POLYFILL = isForced$2.POLYFILL = "P";
1144
+ var isForced_1 = isForced$2;
1145
+ var global$4 = global$d;
1146
+ var getOwnPropertyDescriptor2 = objectGetOwnPropertyDescriptor.f;
1147
+ var createNonEnumerableProperty$1 = createNonEnumerableProperty$3;
1148
+ var defineBuiltIn$5 = defineBuiltIn$6;
1149
+ var defineGlobalProperty = defineGlobalProperty$3;
1150
+ var copyConstructorProperties = copyConstructorProperties$1;
1151
+ var isForced$1 = isForced_1;
1152
+ var _export = function(options, source) {
1153
+ var TARGET = options.target;
1154
+ var GLOBAL = options.global;
1155
+ var STATIC = options.stat;
1156
+ var FORCED, target, key, targetProperty, sourceProperty, descriptor;
1157
+ if (GLOBAL) {
1158
+ target = global$4;
1159
+ } else if (STATIC) {
1160
+ target = global$4[TARGET] || defineGlobalProperty(TARGET, {});
1161
+ } else {
1162
+ target = global$4[TARGET] && global$4[TARGET].prototype;
1163
+ }
1164
+ if (target)
1165
+ for (key in source) {
1166
+ sourceProperty = source[key];
1167
+ if (options.dontCallGetSet) {
1168
+ descriptor = getOwnPropertyDescriptor2(target, key);
1169
+ targetProperty = descriptor && descriptor.value;
1170
+ } else
1171
+ targetProperty = target[key];
1172
+ FORCED = isForced$1(GLOBAL ? key : TARGET + (STATIC ? "." : "#") + key, options.forced);
1173
+ if (!FORCED && targetProperty !== void 0) {
1174
+ if (typeof sourceProperty == typeof targetProperty)
1175
+ continue;
1176
+ copyConstructorProperties(sourceProperty, targetProperty);
1177
+ }
1178
+ if (options.sham || targetProperty && targetProperty.sham) {
1179
+ createNonEnumerableProperty$1(sourceProperty, "sham", true);
1180
+ }
1181
+ defineBuiltIn$5(target, key, sourceProperty, options);
1182
+ }
1183
+ };
1184
+ var fails$a = fails$j;
1185
+ var correctPrototypeGetter = !fails$a(function() {
1186
+ function F() {
1187
+ }
1188
+ F.prototype.constructor = null;
1189
+ return Object.getPrototypeOf(new F()) !== F.prototype;
1190
+ });
1191
+ var hasOwn$3 = hasOwnProperty_1;
1192
+ var isCallable$6 = isCallable$h;
1193
+ var toObject$3 = toObject$5;
1194
+ var sharedKey = sharedKey$3;
1195
+ var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
1196
+ var IE_PROTO = sharedKey("IE_PROTO");
1197
+ var $Object$2 = Object;
1198
+ var ObjectPrototype = $Object$2.prototype;
1199
+ var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$2.getPrototypeOf : function(O) {
1200
+ var object = toObject$3(O);
1201
+ if (hasOwn$3(object, IE_PROTO))
1202
+ return object[IE_PROTO];
1203
+ var constructor = object.constructor;
1204
+ if (isCallable$6(constructor) && object instanceof constructor) {
1205
+ return constructor.prototype;
1206
+ }
1207
+ return object instanceof $Object$2 ? ObjectPrototype : null;
1208
+ };
1209
+ var fails$9 = fails$j;
1210
+ var isCallable$5 = isCallable$h;
1211
+ var isObject$9 = isObject$f;
1212
+ var getPrototypeOf$1 = objectGetPrototypeOf;
1213
+ var defineBuiltIn$4 = defineBuiltIn$6;
1214
+ var wellKnownSymbol$9 = wellKnownSymbol$c;
1215
+ var ITERATOR$4 = wellKnownSymbol$9("iterator");
1216
+ var BUGGY_SAFARI_ITERATORS$1 = false;
1217
+ var IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator;
1218
+ if ([].keys) {
1219
+ arrayIterator = [].keys();
1220
+ if (!("next" in arrayIterator))
1221
+ BUGGY_SAFARI_ITERATORS$1 = true;
1222
+ else {
1223
+ PrototypeOfArrayIteratorPrototype = getPrototypeOf$1(getPrototypeOf$1(arrayIterator));
1224
+ if (PrototypeOfArrayIteratorPrototype !== Object.prototype)
1225
+ IteratorPrototype$2 = PrototypeOfArrayIteratorPrototype;
1226
+ }
1227
+ }
1228
+ var NEW_ITERATOR_PROTOTYPE = !isObject$9(IteratorPrototype$2) || fails$9(function() {
1229
+ var test2 = {};
1230
+ return IteratorPrototype$2[ITERATOR$4].call(test2) !== test2;
1231
+ });
1232
+ if (NEW_ITERATOR_PROTOTYPE)
1233
+ IteratorPrototype$2 = {};
1234
+ if (!isCallable$5(IteratorPrototype$2[ITERATOR$4])) {
1235
+ defineBuiltIn$4(IteratorPrototype$2, ITERATOR$4, function() {
1236
+ return this;
1237
+ });
1238
+ }
1239
+ var iteratorsCore = {
1240
+ IteratorPrototype: IteratorPrototype$2,
1241
+ BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1
1242
+ };
1243
+ var defineProperty$4 = objectDefineProperty.f;
1244
+ var hasOwn$2 = hasOwnProperty_1;
1245
+ var wellKnownSymbol$8 = wellKnownSymbol$c;
1246
+ var TO_STRING_TAG$2 = wellKnownSymbol$8("toStringTag");
1247
+ var setToStringTag$3 = function(target, TAG, STATIC) {
1248
+ if (target && !STATIC)
1249
+ target = target.prototype;
1250
+ if (target && !hasOwn$2(target, TO_STRING_TAG$2)) {
1251
+ defineProperty$4(target, TO_STRING_TAG$2, { configurable: true, value: TAG });
1252
+ }
1253
+ };
1254
+ var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
1255
+ var create$1 = objectCreate;
1256
+ var createPropertyDescriptor$1 = createPropertyDescriptor$4;
1257
+ var setToStringTag$2 = setToStringTag$3;
1258
+ var Iterators$4 = iterators;
1259
+ var returnThis$1 = function() {
1260
+ return this;
1261
+ };
1262
+ var iteratorCreateConstructor = function(IteratorConstructor, NAME, next3, ENUMERABLE_NEXT) {
1263
+ var TO_STRING_TAG2 = NAME + " Iterator";
1264
+ IteratorConstructor.prototype = create$1(IteratorPrototype$1, { next: createPropertyDescriptor$1(+!ENUMERABLE_NEXT, next3) });
1265
+ setToStringTag$2(IteratorConstructor, TO_STRING_TAG2, false);
1266
+ Iterators$4[TO_STRING_TAG2] = returnThis$1;
1267
+ return IteratorConstructor;
1268
+ };
1269
+ var uncurryThis$f = functionUncurryThis;
1270
+ var aCallable$4 = aCallable$6;
1271
+ var functionUncurryThisAccessor = function(object, key, method) {
1272
+ try {
1273
+ return uncurryThis$f(aCallable$4(Object.getOwnPropertyDescriptor(object, key)[method]));
1274
+ } catch (error) {
1275
+ }
1276
+ };
1277
+ var isObject$8 = isObject$f;
1278
+ var isPossiblePrototype$1 = function(argument) {
1279
+ return isObject$8(argument) || argument === null;
1280
+ };
1281
+ var isPossiblePrototype = isPossiblePrototype$1;
1282
+ var $String$1 = String;
1283
+ var $TypeError$4 = TypeError;
1284
+ var aPossiblePrototype$1 = function(argument) {
1285
+ if (isPossiblePrototype(argument))
1286
+ return argument;
1287
+ throw new $TypeError$4("Can't set " + $String$1(argument) + " as a prototype");
1288
+ };
1289
+ var uncurryThisAccessor$1 = functionUncurryThisAccessor;
1290
+ var isObject$7 = isObject$f;
1291
+ var requireObjectCoercible$2 = requireObjectCoercible$5;
1292
+ var aPossiblePrototype = aPossiblePrototype$1;
1293
+ var objectSetPrototypeOf = Object.setPrototypeOf || ("__proto__" in {} ? function() {
1294
+ var CORRECT_SETTER = false;
1295
+ var test2 = {};
1296
+ var setter;
1297
+ try {
1298
+ setter = uncurryThisAccessor$1(Object.prototype, "__proto__", "set");
1299
+ setter(test2, []);
1300
+ CORRECT_SETTER = test2 instanceof Array;
1301
+ } catch (error) {
1302
+ }
1303
+ return function setPrototypeOf2(O, proto) {
1304
+ requireObjectCoercible$2(O);
1305
+ aPossiblePrototype(proto);
1306
+ if (!isObject$7(O))
1307
+ return O;
1308
+ if (CORRECT_SETTER)
1309
+ setter(O, proto);
1310
+ else
1311
+ O.__proto__ = proto;
1312
+ return O;
1313
+ };
1314
+ }() : void 0);
1315
+ var $$c = _export;
1316
+ var call$7 = functionCall;
1317
+ var FunctionName = functionName;
1318
+ var isCallable$4 = isCallable$h;
1319
+ var createIteratorConstructor = iteratorCreateConstructor;
1320
+ var getPrototypeOf = objectGetPrototypeOf;
1321
+ var setPrototypeOf$1 = objectSetPrototypeOf;
1322
+ var setToStringTag$1 = setToStringTag$3;
1323
+ var createNonEnumerableProperty = createNonEnumerableProperty$3;
1324
+ var defineBuiltIn$3 = defineBuiltIn$6;
1325
+ var wellKnownSymbol$7 = wellKnownSymbol$c;
1326
+ var Iterators$3 = iterators;
1327
+ var IteratorsCore = iteratorsCore;
1328
+ var PROPER_FUNCTION_NAME = FunctionName.PROPER;
1329
+ var CONFIGURABLE_FUNCTION_NAME = FunctionName.CONFIGURABLE;
1330
+ var IteratorPrototype = IteratorsCore.IteratorPrototype;
1331
+ var BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;
1332
+ var ITERATOR$3 = wellKnownSymbol$7("iterator");
1333
+ var KEYS = "keys";
1334
+ var VALUES = "values";
1335
+ var ENTRIES = "entries";
1336
+ var returnThis = function() {
1337
+ return this;
1338
+ };
1339
+ var iteratorDefine = function(Iterable, NAME, IteratorConstructor, next3, DEFAULT, IS_SET, FORCED) {
1340
+ createIteratorConstructor(IteratorConstructor, NAME, next3);
1341
+ var getIterationMethod = function(KIND) {
1342
+ if (KIND === DEFAULT && defaultIterator)
1343
+ return defaultIterator;
1344
+ if (!BUGGY_SAFARI_ITERATORS && KIND && KIND in IterablePrototype)
1345
+ return IterablePrototype[KIND];
1346
+ switch (KIND) {
1347
+ case KEYS:
1348
+ return function keys3() {
1349
+ return new IteratorConstructor(this, KIND);
1350
+ };
1351
+ case VALUES:
1352
+ return function values2() {
1353
+ return new IteratorConstructor(this, KIND);
1354
+ };
1355
+ case ENTRIES:
1356
+ return function entries() {
1357
+ return new IteratorConstructor(this, KIND);
1358
+ };
1359
+ }
1360
+ return function() {
1361
+ return new IteratorConstructor(this);
1362
+ };
1363
+ };
1364
+ var TO_STRING_TAG2 = NAME + " Iterator";
1365
+ var INCORRECT_VALUES_NAME = false;
1366
+ var IterablePrototype = Iterable.prototype;
1367
+ var nativeIterator = IterablePrototype[ITERATOR$3] || IterablePrototype["@@iterator"] || DEFAULT && IterablePrototype[DEFAULT];
1368
+ var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);
1369
+ var anyNativeIterator = NAME === "Array" ? IterablePrototype.entries || nativeIterator : nativeIterator;
1370
+ var CurrentIteratorPrototype, methods, KEY;
1371
+ if (anyNativeIterator) {
1372
+ CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
1373
+ if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
1374
+ if (getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
1375
+ if (setPrototypeOf$1) {
1376
+ setPrototypeOf$1(CurrentIteratorPrototype, IteratorPrototype);
1377
+ } else if (!isCallable$4(CurrentIteratorPrototype[ITERATOR$3])) {
1378
+ defineBuiltIn$3(CurrentIteratorPrototype, ITERATOR$3, returnThis);
1379
+ }
1380
+ }
1381
+ setToStringTag$1(CurrentIteratorPrototype, TO_STRING_TAG2, true);
1382
+ }
1383
+ }
1384
+ if (PROPER_FUNCTION_NAME && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {
1385
+ if (CONFIGURABLE_FUNCTION_NAME) {
1386
+ createNonEnumerableProperty(IterablePrototype, "name", VALUES);
1387
+ } else {
1388
+ INCORRECT_VALUES_NAME = true;
1389
+ defaultIterator = function values2() {
1390
+ return call$7(nativeIterator, this);
1391
+ };
1392
+ }
1393
+ }
1394
+ if (DEFAULT) {
1395
+ methods = {
1396
+ values: getIterationMethod(VALUES),
1397
+ keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),
1398
+ entries: getIterationMethod(ENTRIES)
1399
+ };
1400
+ if (FORCED)
1401
+ for (KEY in methods) {
1402
+ if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
1403
+ defineBuiltIn$3(IterablePrototype, KEY, methods[KEY]);
1404
+ }
1405
+ }
1406
+ else
1407
+ $$c({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1408
+ }
1409
+ if (IterablePrototype[ITERATOR$3] !== defaultIterator) {
1410
+ defineBuiltIn$3(IterablePrototype, ITERATOR$3, defaultIterator, { name: DEFAULT });
1411
+ }
1412
+ Iterators$3[NAME] = defaultIterator;
1413
+ return methods;
1414
+ };
1415
+ var createIterResultObject$3 = function(value, done) {
1416
+ return { value, done };
1417
+ };
1418
+ var toIndexedObject$1 = toIndexedObject$6;
1419
+ var addToUnscopables = addToUnscopables$1;
1420
+ var Iterators$2 = iterators;
1421
+ var InternalStateModule$3 = internalState;
1422
+ var defineProperty$3 = objectDefineProperty.f;
1423
+ var defineIterator$2 = iteratorDefine;
1424
+ var createIterResultObject$2 = createIterResultObject$3;
1425
+ var DESCRIPTORS$4 = descriptors;
1426
+ var ARRAY_ITERATOR = "Array Iterator";
1427
+ var setInternalState$3 = InternalStateModule$3.set;
1428
+ var getInternalState$1 = InternalStateModule$3.getterFor(ARRAY_ITERATOR);
1429
+ defineIterator$2(Array, "Array", function(iterated, kind) {
1430
+ setInternalState$3(this, {
1431
+ type: ARRAY_ITERATOR,
1432
+ target: toIndexedObject$1(iterated),
1433
+ // target
1434
+ index: 0,
1435
+ // next index
1436
+ kind
1437
+ // kind
1438
+ });
1439
+ }, function() {
1440
+ var state = getInternalState$1(this);
1441
+ var target = state.target;
1442
+ var index2 = state.index++;
1443
+ if (!target || index2 >= target.length) {
1444
+ state.target = void 0;
1445
+ return createIterResultObject$2(void 0, true);
1446
+ }
1447
+ switch (state.kind) {
1448
+ case "keys":
1449
+ return createIterResultObject$2(index2, false);
1450
+ case "values":
1451
+ return createIterResultObject$2(target[index2], false);
1452
+ }
1453
+ return createIterResultObject$2([index2, target[index2]], false);
1454
+ }, "values");
1455
+ var values = Iterators$2.Arguments = Iterators$2.Array;
1456
+ addToUnscopables("keys");
1457
+ addToUnscopables("values");
1458
+ addToUnscopables("entries");
1459
+ if (DESCRIPTORS$4 && values.name !== "values")
1460
+ try {
1461
+ defineProperty$3(values, "name", { value: "values" });
1462
+ } catch (error) {
1463
+ }
1464
+ var internalMetadata = { exports: {} };
1465
+ var objectGetOwnPropertyNamesExternal = {};
1466
+ var uncurryThis$e = functionUncurryThis;
1467
+ var arraySlice$1 = uncurryThis$e([].slice);
1468
+ var classof$7 = classofRaw$2;
1469
+ var toIndexedObject = toIndexedObject$6;
1470
+ var $getOwnPropertyNames = objectGetOwnPropertyNames.f;
1471
+ var arraySlice = arraySlice$1;
1472
+ var windowNames = typeof window == "object" && window && Object.getOwnPropertyNames ? Object.getOwnPropertyNames(window) : [];
1473
+ var getWindowNames = function(it) {
1474
+ try {
1475
+ return $getOwnPropertyNames(it);
1476
+ } catch (error) {
1477
+ return arraySlice(windowNames);
1478
+ }
1479
+ };
1480
+ objectGetOwnPropertyNamesExternal.f = function getOwnPropertyNames2(it) {
1481
+ return windowNames && classof$7(it) === "Window" ? getWindowNames(it) : $getOwnPropertyNames(toIndexedObject(it));
1482
+ };
1483
+ var fails$8 = fails$j;
1484
+ var arrayBufferNonExtensible = fails$8(function() {
1485
+ if (typeof ArrayBuffer == "function") {
1486
+ var buffer = new ArrayBuffer(8);
1487
+ if (Object.isExtensible(buffer))
1488
+ Object.defineProperty(buffer, "a", { value: 8 });
1489
+ }
1490
+ });
1491
+ var fails$7 = fails$j;
1492
+ var isObject$6 = isObject$f;
1493
+ var classof$6 = classofRaw$2;
1494
+ var ARRAY_BUFFER_NON_EXTENSIBLE = arrayBufferNonExtensible;
1495
+ var $isExtensible = Object.isExtensible;
1496
+ var FAILS_ON_PRIMITIVES = fails$7(function() {
1497
+ $isExtensible(1);
1498
+ });
1499
+ var objectIsExtensible = FAILS_ON_PRIMITIVES || ARRAY_BUFFER_NON_EXTENSIBLE ? function isExtensible(it) {
1500
+ if (!isObject$6(it))
1501
+ return false;
1502
+ if (ARRAY_BUFFER_NON_EXTENSIBLE && classof$6(it) === "ArrayBuffer")
1503
+ return false;
1504
+ return $isExtensible ? $isExtensible(it) : true;
1505
+ } : $isExtensible;
1506
+ var fails$6 = fails$j;
1507
+ var freezing = !fails$6(function() {
1508
+ return Object.isExtensible(Object.preventExtensions({}));
1509
+ });
1510
+ var $$b = _export;
1511
+ var uncurryThis$d = functionUncurryThis;
1512
+ var hiddenKeys = hiddenKeys$5;
1513
+ var isObject$5 = isObject$f;
1514
+ var hasOwn$1 = hasOwnProperty_1;
1515
+ var defineProperty$2 = objectDefineProperty.f;
1516
+ var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
1517
+ var getOwnPropertyNamesExternalModule = objectGetOwnPropertyNamesExternal;
1518
+ var isExtensible$1 = objectIsExtensible;
1519
+ var uid = uid$3;
1520
+ var FREEZING$1 = freezing;
1521
+ var REQUIRED = false;
1522
+ var METADATA = uid("meta");
1523
+ var id$1 = 0;
1524
+ var setMetadata = function(it) {
1525
+ defineProperty$2(it, METADATA, { value: {
1526
+ objectID: "O" + id$1++,
1527
+ // object ID
1528
+ weakData: {}
1529
+ // weak collections IDs
1530
+ } });
1531
+ };
1532
+ var fastKey$1 = function(it, create3) {
1533
+ if (!isObject$5(it))
1534
+ return typeof it == "symbol" ? it : (typeof it == "string" ? "S" : "P") + it;
1535
+ if (!hasOwn$1(it, METADATA)) {
1536
+ if (!isExtensible$1(it))
1537
+ return "F";
1538
+ if (!create3)
1539
+ return "E";
1540
+ setMetadata(it);
1541
+ }
1542
+ return it[METADATA].objectID;
1543
+ };
1544
+ var getWeakData$1 = function(it, create3) {
1545
+ if (!hasOwn$1(it, METADATA)) {
1546
+ if (!isExtensible$1(it))
1547
+ return true;
1548
+ if (!create3)
1549
+ return false;
1550
+ setMetadata(it);
1551
+ }
1552
+ return it[METADATA].weakData;
1553
+ };
1554
+ var onFreeze = function(it) {
1555
+ if (FREEZING$1 && REQUIRED && isExtensible$1(it) && !hasOwn$1(it, METADATA))
1556
+ setMetadata(it);
1557
+ return it;
1558
+ };
1559
+ var enable = function() {
1560
+ meta.enable = function() {
1561
+ };
1562
+ REQUIRED = true;
1563
+ var getOwnPropertyNames3 = getOwnPropertyNamesModule.f;
1564
+ var splice2 = uncurryThis$d([].splice);
1565
+ var test2 = {};
1566
+ test2[METADATA] = 1;
1567
+ if (getOwnPropertyNames3(test2).length) {
1568
+ getOwnPropertyNamesModule.f = function(it) {
1569
+ var result = getOwnPropertyNames3(it);
1570
+ for (var i = 0, length = result.length; i < length; i++) {
1571
+ if (result[i] === METADATA) {
1572
+ splice2(result, i, 1);
1573
+ break;
1574
+ }
1575
+ }
1576
+ return result;
1577
+ };
1578
+ $$b({ target: "Object", stat: true, forced: true }, {
1579
+ getOwnPropertyNames: getOwnPropertyNamesExternalModule.f
1580
+ });
1581
+ }
1582
+ };
1583
+ var meta = internalMetadata.exports = {
1584
+ enable,
1585
+ fastKey: fastKey$1,
1586
+ getWeakData: getWeakData$1,
1587
+ onFreeze
1588
+ };
1589
+ hiddenKeys[METADATA] = true;
1590
+ var internalMetadataExports = internalMetadata.exports;
1591
+ var classofRaw$1 = classofRaw$2;
1592
+ var uncurryThis$c = functionUncurryThis;
1593
+ var functionUncurryThisClause = function(fn) {
1594
+ if (classofRaw$1(fn) === "Function")
1595
+ return uncurryThis$c(fn);
1596
+ };
1597
+ var uncurryThis$b = functionUncurryThisClause;
1598
+ var aCallable$3 = aCallable$6;
1599
+ var NATIVE_BIND = functionBindNative;
1600
+ var bind$4 = uncurryThis$b(uncurryThis$b.bind);
1601
+ var functionBindContext = function(fn, that) {
1602
+ aCallable$3(fn);
1603
+ return that === void 0 ? fn : NATIVE_BIND ? bind$4(fn, that) : function() {
1604
+ return fn.apply(that, arguments);
1605
+ };
1606
+ };
1607
+ var wellKnownSymbol$6 = wellKnownSymbol$c;
1608
+ var Iterators$1 = iterators;
1609
+ var ITERATOR$2 = wellKnownSymbol$6("iterator");
1610
+ var ArrayPrototype = Array.prototype;
1611
+ var isArrayIteratorMethod$2 = function(it) {
1612
+ return it !== void 0 && (Iterators$1.Array === it || ArrayPrototype[ITERATOR$2] === it);
1613
+ };
1614
+ var wellKnownSymbol$5 = wellKnownSymbol$c;
1615
+ var TO_STRING_TAG$1 = wellKnownSymbol$5("toStringTag");
1616
+ var test = {};
1617
+ test[TO_STRING_TAG$1] = "z";
1618
+ var toStringTagSupport = String(test) === "[object z]";
1619
+ var TO_STRING_TAG_SUPPORT$2 = toStringTagSupport;
1620
+ var isCallable$3 = isCallable$h;
1621
+ var classofRaw = classofRaw$2;
1622
+ var wellKnownSymbol$4 = wellKnownSymbol$c;
1623
+ var TO_STRING_TAG = wellKnownSymbol$4("toStringTag");
1624
+ var $Object$1 = Object;
1625
+ var CORRECT_ARGUMENTS = classofRaw(/* @__PURE__ */ function() {
1626
+ return arguments;
1627
+ }()) === "Arguments";
1628
+ var tryGet = function(it, key) {
1629
+ try {
1630
+ return it[key];
1631
+ } catch (error) {
1632
+ }
1633
+ };
1634
+ var classof$5 = TO_STRING_TAG_SUPPORT$2 ? classofRaw : function(it) {
1635
+ var O, tag, result;
1636
+ return it === void 0 ? "Undefined" : it === null ? "Null" : typeof (tag = tryGet(O = $Object$1(it), TO_STRING_TAG)) == "string" ? tag : CORRECT_ARGUMENTS ? classofRaw(O) : (result = classofRaw(O)) === "Object" && isCallable$3(O.callee) ? "Arguments" : result;
1637
+ };
1638
+ var classof$4 = classof$5;
1639
+ var getMethod$1 = getMethod$3;
1640
+ var isNullOrUndefined$3 = isNullOrUndefined$6;
1641
+ var Iterators = iterators;
1642
+ var wellKnownSymbol$3 = wellKnownSymbol$c;
1643
+ var ITERATOR$1 = wellKnownSymbol$3("iterator");
1644
+ var getIteratorMethod$3 = function(it) {
1645
+ if (!isNullOrUndefined$3(it))
1646
+ return getMethod$1(it, ITERATOR$1) || getMethod$1(it, "@@iterator") || Iterators[classof$4(it)];
1647
+ };
1648
+ var call$6 = functionCall;
1649
+ var aCallable$2 = aCallable$6;
1650
+ var anObject$5 = anObject$a;
1651
+ var tryToString$1 = tryToString$3;
1652
+ var getIteratorMethod$2 = getIteratorMethod$3;
1653
+ var $TypeError$3 = TypeError;
1654
+ var getIterator$2 = function(argument, usingIterator) {
1655
+ var iteratorMethod = arguments.length < 2 ? getIteratorMethod$2(argument) : usingIterator;
1656
+ if (aCallable$2(iteratorMethod))
1657
+ return anObject$5(call$6(iteratorMethod, argument));
1658
+ throw new $TypeError$3(tryToString$1(argument) + " is not iterable");
1659
+ };
1660
+ var call$5 = functionCall;
1661
+ var anObject$4 = anObject$a;
1662
+ var getMethod = getMethod$3;
1663
+ var iteratorClose$4 = function(iterator, kind, value) {
1664
+ var innerResult, innerError;
1665
+ anObject$4(iterator);
1666
+ try {
1667
+ innerResult = getMethod(iterator, "return");
1668
+ if (!innerResult) {
1669
+ if (kind === "throw")
1670
+ throw value;
1671
+ return value;
1672
+ }
1673
+ innerResult = call$5(innerResult, iterator);
1674
+ } catch (error) {
1675
+ innerError = true;
1676
+ innerResult = error;
1677
+ }
1678
+ if (kind === "throw")
1679
+ throw value;
1680
+ if (innerError)
1681
+ throw innerResult;
1682
+ anObject$4(innerResult);
1683
+ return value;
1684
+ };
1685
+ var bind$3 = functionBindContext;
1686
+ var call$4 = functionCall;
1687
+ var anObject$3 = anObject$a;
1688
+ var tryToString = tryToString$3;
1689
+ var isArrayIteratorMethod$1 = isArrayIteratorMethod$2;
1690
+ var lengthOfArrayLike$2 = lengthOfArrayLike$4;
1691
+ var isPrototypeOf$1 = objectIsPrototypeOf;
1692
+ var getIterator$1 = getIterator$2;
1693
+ var getIteratorMethod$1 = getIteratorMethod$3;
1694
+ var iteratorClose$3 = iteratorClose$4;
1695
+ var $TypeError$2 = TypeError;
1696
+ var Result = function(stopped, result) {
1697
+ this.stopped = stopped;
1698
+ this.result = result;
1699
+ };
1700
+ var ResultPrototype = Result.prototype;
1701
+ var iterate$6 = function(iterable, unboundFunction, options) {
1702
+ var that = options && options.that;
1703
+ var AS_ENTRIES = !!(options && options.AS_ENTRIES);
1704
+ var IS_RECORD = !!(options && options.IS_RECORD);
1705
+ var IS_ITERATOR = !!(options && options.IS_ITERATOR);
1706
+ var INTERRUPTED = !!(options && options.INTERRUPTED);
1707
+ var fn = bind$3(unboundFunction, that);
1708
+ var iterator, iterFn, index2, length, result, next3, step;
1709
+ var stop = function(condition) {
1710
+ if (iterator)
1711
+ iteratorClose$3(iterator, "normal", condition);
1712
+ return new Result(true, condition);
1713
+ };
1714
+ var callFn = function(value) {
1715
+ if (AS_ENTRIES) {
1716
+ anObject$3(value);
1717
+ return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);
1718
+ }
1719
+ return INTERRUPTED ? fn(value, stop) : fn(value);
1720
+ };
1721
+ if (IS_RECORD) {
1722
+ iterator = iterable.iterator;
1723
+ } else if (IS_ITERATOR) {
1724
+ iterator = iterable;
1725
+ } else {
1726
+ iterFn = getIteratorMethod$1(iterable);
1727
+ if (!iterFn)
1728
+ throw new $TypeError$2(tryToString(iterable) + " is not iterable");
1729
+ if (isArrayIteratorMethod$1(iterFn)) {
1730
+ for (index2 = 0, length = lengthOfArrayLike$2(iterable); length > index2; index2++) {
1731
+ result = callFn(iterable[index2]);
1732
+ if (result && isPrototypeOf$1(ResultPrototype, result))
1733
+ return result;
1734
+ }
1735
+ return new Result(false);
1736
+ }
1737
+ iterator = getIterator$1(iterable, iterFn);
1738
+ }
1739
+ next3 = IS_RECORD ? iterable.next : iterator.next;
1740
+ while (!(step = call$4(next3, iterator)).done) {
1741
+ try {
1742
+ result = callFn(step.value);
1743
+ } catch (error) {
1744
+ iteratorClose$3(iterator, "throw", error);
1745
+ }
1746
+ if (typeof result == "object" && result && isPrototypeOf$1(ResultPrototype, result))
1747
+ return result;
1748
+ }
1749
+ return new Result(false);
1750
+ };
1751
+ var bk_smooth_scrollbar_isPrototypeOf = objectIsPrototypeOf;
1752
+ var $TypeError$1 = TypeError;
1753
+ var anInstance$3 = function(it, Prototype) {
1754
+ if (bk_smooth_scrollbar_isPrototypeOf(Prototype, it))
1755
+ return it;
1756
+ throw new $TypeError$1("Incorrect invocation");
1757
+ };
1758
+ var wellKnownSymbol$2 = wellKnownSymbol$c;
1759
+ var ITERATOR = wellKnownSymbol$2("iterator");
1760
+ var SAFE_CLOSING = false;
1761
+ try {
1762
+ var called = 0;
1763
+ var iteratorWithReturn = {
1764
+ next: function() {
1765
+ return { done: !!called++ };
1766
+ },
1767
+ "return": function() {
1768
+ SAFE_CLOSING = true;
1769
+ }
1770
+ };
1771
+ iteratorWithReturn[ITERATOR] = function() {
1772
+ return this;
1773
+ };
1774
+ Array.from(iteratorWithReturn, function() {
1775
+ throw 2;
1776
+ });
1777
+ } catch (error) {
1778
+ }
1779
+ var checkCorrectnessOfIteration$2 = function(exec2, SKIP_CLOSING) {
1780
+ try {
1781
+ if (!SKIP_CLOSING && !SAFE_CLOSING)
1782
+ return false;
1783
+ } catch (error) {
1784
+ return false;
1785
+ }
1786
+ var ITERATION_SUPPORT = false;
1787
+ try {
1788
+ var object = {};
1789
+ object[ITERATOR] = function() {
1790
+ return {
1791
+ next: function() {
1792
+ return { done: ITERATION_SUPPORT = true };
1793
+ }
1794
+ };
1795
+ };
1796
+ exec2(object);
1797
+ } catch (error) {
1798
+ }
1799
+ return ITERATION_SUPPORT;
1800
+ };
1801
+ var isCallable$2 = isCallable$h;
1802
+ var isObject$4 = isObject$f;
1803
+ var setPrototypeOf = objectSetPrototypeOf;
1804
+ var inheritIfRequired$1 = function($this, dummy, Wrapper) {
1805
+ var NewTarget, NewTargetPrototype;
1806
+ if (
1807
+ // it can work only with native `setPrototypeOf`
1808
+ setPrototypeOf && // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
1809
+ isCallable$2(NewTarget = dummy.constructor) && NewTarget !== Wrapper && isObject$4(NewTargetPrototype = NewTarget.prototype) && NewTargetPrototype !== Wrapper.prototype
1810
+ )
1811
+ setPrototypeOf($this, NewTargetPrototype);
1812
+ return $this;
1813
+ };
1814
+ var $$a = _export;
1815
+ var global$3 = global$d;
1816
+ var uncurryThis$a = functionUncurryThis;
1817
+ var isForced = isForced_1;
1818
+ var defineBuiltIn$2 = defineBuiltIn$6;
1819
+ var InternalMetadataModule$1 = internalMetadataExports;
1820
+ var iterate$5 = iterate$6;
1821
+ var anInstance$2 = anInstance$3;
1822
+ var isCallable$1 = isCallable$h;
1823
+ var isNullOrUndefined$2 = isNullOrUndefined$6;
1824
+ var isObject$3 = isObject$f;
1825
+ var fails$5 = fails$j;
1826
+ var checkCorrectnessOfIteration$1 = checkCorrectnessOfIteration$2;
1827
+ var setToStringTag = setToStringTag$3;
1828
+ var inheritIfRequired = inheritIfRequired$1;
1829
+ var collection$3 = function(CONSTRUCTOR_NAME, wrapper2, common) {
1830
+ var IS_MAP = CONSTRUCTOR_NAME.indexOf("Map") !== -1;
1831
+ var IS_WEAK = CONSTRUCTOR_NAME.indexOf("Weak") !== -1;
1832
+ var ADDER = IS_MAP ? "set" : "add";
1833
+ var NativeConstructor = global$3[CONSTRUCTOR_NAME];
1834
+ var NativePrototype = NativeConstructor && NativeConstructor.prototype;
1835
+ var Constructor = NativeConstructor;
1836
+ var exported = {};
1837
+ var fixMethod = function(KEY) {
1838
+ var uncurriedNativeMethod = uncurryThis$a(NativePrototype[KEY]);
1839
+ defineBuiltIn$2(
1840
+ NativePrototype,
1841
+ KEY,
1842
+ KEY === "add" ? function add2(value) {
1843
+ uncurriedNativeMethod(this, value === 0 ? 0 : value);
1844
+ return this;
1845
+ } : KEY === "delete" ? function(key) {
1846
+ return IS_WEAK && !isObject$3(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
1847
+ } : KEY === "get" ? function get2(key) {
1848
+ return IS_WEAK && !isObject$3(key) ? void 0 : uncurriedNativeMethod(this, key === 0 ? 0 : key);
1849
+ } : KEY === "has" ? function has2(key) {
1850
+ return IS_WEAK && !isObject$3(key) ? false : uncurriedNativeMethod(this, key === 0 ? 0 : key);
1851
+ } : function set2(key, value) {
1852
+ uncurriedNativeMethod(this, key === 0 ? 0 : key, value);
1853
+ return this;
1854
+ }
1855
+ );
1856
+ };
1857
+ var REPLACE = isForced(
1858
+ CONSTRUCTOR_NAME,
1859
+ !isCallable$1(NativeConstructor) || !(IS_WEAK || NativePrototype.forEach && !fails$5(function() {
1860
+ new NativeConstructor().entries().next();
1861
+ }))
1862
+ );
1863
+ if (REPLACE) {
1864
+ Constructor = common.getConstructor(wrapper2, CONSTRUCTOR_NAME, IS_MAP, ADDER);
1865
+ InternalMetadataModule$1.enable();
1866
+ } else if (isForced(CONSTRUCTOR_NAME, true)) {
1867
+ var instance = new Constructor();
1868
+ var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) !== instance;
1869
+ var THROWS_ON_PRIMITIVES = fails$5(function() {
1870
+ instance.has(1);
1871
+ });
1872
+ var ACCEPT_ITERABLES = checkCorrectnessOfIteration$1(function(iterable) {
1873
+ new NativeConstructor(iterable);
1874
+ });
1875
+ var BUGGY_ZERO = !IS_WEAK && fails$5(function() {
1876
+ var $instance = new NativeConstructor();
1877
+ var index2 = 5;
1878
+ while (index2--)
1879
+ $instance[ADDER](index2, index2);
1880
+ return !$instance.has(-0);
1881
+ });
1882
+ if (!ACCEPT_ITERABLES) {
1883
+ Constructor = wrapper2(function(dummy, iterable) {
1884
+ anInstance$2(dummy, NativePrototype);
1885
+ var that = inheritIfRequired(new NativeConstructor(), dummy, Constructor);
1886
+ if (!isNullOrUndefined$2(iterable))
1887
+ iterate$5(iterable, that[ADDER], { that, AS_ENTRIES: IS_MAP });
1888
+ return that;
1889
+ });
1890
+ Constructor.prototype = NativePrototype;
1891
+ NativePrototype.constructor = Constructor;
1892
+ }
1893
+ if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {
1894
+ fixMethod("delete");
1895
+ fixMethod("has");
1896
+ IS_MAP && fixMethod("get");
1897
+ }
1898
+ if (BUGGY_ZERO || HASNT_CHAINING)
1899
+ fixMethod(ADDER);
1900
+ if (IS_WEAK && NativePrototype.clear)
1901
+ delete NativePrototype.clear;
1902
+ }
1903
+ exported[CONSTRUCTOR_NAME] = Constructor;
1904
+ $$a({ global: true, constructor: true, forced: Constructor !== NativeConstructor }, exported);
1905
+ setToStringTag(Constructor, CONSTRUCTOR_NAME);
1906
+ if (!IS_WEAK)
1907
+ common.setStrong(Constructor, CONSTRUCTOR_NAME, IS_MAP);
1908
+ return Constructor;
1909
+ };
1910
+ var makeBuiltIn = makeBuiltInExports;
1911
+ var defineProperty$1 = objectDefineProperty;
1912
+ var defineBuiltInAccessor$2 = function(target, name, descriptor) {
1913
+ if (descriptor.get)
1914
+ makeBuiltIn(descriptor.get, name, { getter: true });
1915
+ if (descriptor.set)
1916
+ makeBuiltIn(descriptor.set, name, { setter: true });
1917
+ return defineProperty$1.f(target, name, descriptor);
1918
+ };
1919
+ var defineBuiltIn$1 = defineBuiltIn$6;
1920
+ var defineBuiltIns$3 = function(target, src, options) {
1921
+ for (var key in src)
1922
+ defineBuiltIn$1(target, key, src[key], options);
1923
+ return target;
1924
+ };
1925
+ var getBuiltIn$2 = getBuiltIn$6;
1926
+ var defineBuiltInAccessor$1 = defineBuiltInAccessor$2;
1927
+ var wellKnownSymbol$1 = wellKnownSymbol$c;
1928
+ var DESCRIPTORS$3 = descriptors;
1929
+ var SPECIES$1 = wellKnownSymbol$1("species");
1930
+ var setSpecies$1 = function(CONSTRUCTOR_NAME) {
1931
+ var Constructor = getBuiltIn$2(CONSTRUCTOR_NAME);
1932
+ if (DESCRIPTORS$3 && Constructor && !Constructor[SPECIES$1]) {
1933
+ defineBuiltInAccessor$1(Constructor, SPECIES$1, {
1934
+ configurable: true,
1935
+ get: function() {
1936
+ return this;
1937
+ }
1938
+ });
1939
+ }
1940
+ };
1941
+ var create2 = objectCreate;
1942
+ var defineBuiltInAccessor = defineBuiltInAccessor$2;
1943
+ var defineBuiltIns$2 = defineBuiltIns$3;
1944
+ var bind$2 = functionBindContext;
1945
+ var anInstance$1 = anInstance$3;
1946
+ var isNullOrUndefined$1 = isNullOrUndefined$6;
1947
+ var iterate$4 = iterate$6;
1948
+ var defineIterator$1 = iteratorDefine;
1949
+ var createIterResultObject$1 = createIterResultObject$3;
1950
+ var setSpecies = setSpecies$1;
1951
+ var DESCRIPTORS$2 = descriptors;
1952
+ var fastKey = internalMetadataExports.fastKey;
1953
+ var InternalStateModule$2 = internalState;
1954
+ var setInternalState$2 = InternalStateModule$2.set;
1955
+ var internalStateGetterFor$1 = InternalStateModule$2.getterFor;
1956
+ var collectionStrong$2 = {
1957
+ getConstructor: function(wrapper2, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
1958
+ var Constructor = wrapper2(function(that, iterable) {
1959
+ anInstance$1(that, Prototype);
1960
+ setInternalState$2(that, {
1961
+ type: CONSTRUCTOR_NAME,
1962
+ index: create2(null),
1963
+ first: void 0,
1964
+ last: void 0,
1965
+ size: 0
1966
+ });
1967
+ if (!DESCRIPTORS$2)
1968
+ that.size = 0;
1969
+ if (!isNullOrUndefined$1(iterable))
1970
+ iterate$4(iterable, that[ADDER], { that, AS_ENTRIES: IS_MAP });
1971
+ });
1972
+ var Prototype = Constructor.prototype;
1973
+ var getInternalState2 = internalStateGetterFor$1(CONSTRUCTOR_NAME);
1974
+ var define = function(that, key, value) {
1975
+ var state = getInternalState2(that);
1976
+ var entry = getEntry(that, key);
1977
+ var previous, index2;
1978
+ if (entry) {
1979
+ entry.value = value;
1980
+ } else {
1981
+ state.last = entry = {
1982
+ index: index2 = fastKey(key, true),
1983
+ key,
1984
+ value,
1985
+ previous: previous = state.last,
1986
+ next: void 0,
1987
+ removed: false
1988
+ };
1989
+ if (!state.first)
1990
+ state.first = entry;
1991
+ if (previous)
1992
+ previous.next = entry;
1993
+ if (DESCRIPTORS$2)
1994
+ state.size++;
1995
+ else
1996
+ that.size++;
1997
+ if (index2 !== "F")
1998
+ state.index[index2] = entry;
1999
+ }
2000
+ return that;
2001
+ };
2002
+ var getEntry = function(that, key) {
2003
+ var state = getInternalState2(that);
2004
+ var index2 = fastKey(key);
2005
+ var entry;
2006
+ if (index2 !== "F")
2007
+ return state.index[index2];
2008
+ for (entry = state.first; entry; entry = entry.next) {
2009
+ if (entry.key === key)
2010
+ return entry;
2011
+ }
2012
+ };
2013
+ defineBuiltIns$2(Prototype, {
2014
+ // `{ Map, Set }.prototype.clear()` methods
2015
+ // https://tc39.es/ecma262/#sec-map.prototype.clear
2016
+ // https://tc39.es/ecma262/#sec-set.prototype.clear
2017
+ clear: function clear() {
2018
+ var that = this;
2019
+ var state = getInternalState2(that);
2020
+ var entry = state.first;
2021
+ while (entry) {
2022
+ entry.removed = true;
2023
+ if (entry.previous)
2024
+ entry.previous = entry.previous.next = void 0;
2025
+ entry = entry.next;
2026
+ }
2027
+ state.first = state.last = void 0;
2028
+ state.index = create2(null);
2029
+ if (DESCRIPTORS$2)
2030
+ state.size = 0;
2031
+ else
2032
+ that.size = 0;
2033
+ },
2034
+ // `{ Map, Set }.prototype.delete(key)` methods
2035
+ // https://tc39.es/ecma262/#sec-map.prototype.delete
2036
+ // https://tc39.es/ecma262/#sec-set.prototype.delete
2037
+ "delete": function(key) {
2038
+ var that = this;
2039
+ var state = getInternalState2(that);
2040
+ var entry = getEntry(that, key);
2041
+ if (entry) {
2042
+ var next3 = entry.next;
2043
+ var prev = entry.previous;
2044
+ delete state.index[entry.index];
2045
+ entry.removed = true;
2046
+ if (prev)
2047
+ prev.next = next3;
2048
+ if (next3)
2049
+ next3.previous = prev;
2050
+ if (state.first === entry)
2051
+ state.first = next3;
2052
+ if (state.last === entry)
2053
+ state.last = prev;
2054
+ if (DESCRIPTORS$2)
2055
+ state.size--;
2056
+ else
2057
+ that.size--;
2058
+ }
2059
+ return !!entry;
2060
+ },
2061
+ // `{ Map, Set }.prototype.forEach(callbackfn, thisArg = undefined)` methods
2062
+ // https://tc39.es/ecma262/#sec-map.prototype.foreach
2063
+ // https://tc39.es/ecma262/#sec-set.prototype.foreach
2064
+ forEach: function forEach2(callbackfn) {
2065
+ var state = getInternalState2(this);
2066
+ var boundFunction = bind$2(callbackfn, arguments.length > 1 ? arguments[1] : void 0);
2067
+ var entry;
2068
+ while (entry = entry ? entry.next : state.first) {
2069
+ boundFunction(entry.value, entry.key, this);
2070
+ while (entry && entry.removed)
2071
+ entry = entry.previous;
2072
+ }
2073
+ },
2074
+ // `{ Map, Set}.prototype.has(key)` methods
2075
+ // https://tc39.es/ecma262/#sec-map.prototype.has
2076
+ // https://tc39.es/ecma262/#sec-set.prototype.has
2077
+ has: function has2(key) {
2078
+ return !!getEntry(this, key);
2079
+ }
2080
+ });
2081
+ defineBuiltIns$2(Prototype, IS_MAP ? {
2082
+ // `Map.prototype.get(key)` method
2083
+ // https://tc39.es/ecma262/#sec-map.prototype.get
2084
+ get: function get2(key) {
2085
+ var entry = getEntry(this, key);
2086
+ return entry && entry.value;
2087
+ },
2088
+ // `Map.prototype.set(key, value)` method
2089
+ // https://tc39.es/ecma262/#sec-map.prototype.set
2090
+ set: function set2(key, value) {
2091
+ return define(this, key === 0 ? 0 : key, value);
2092
+ }
2093
+ } : {
2094
+ // `Set.prototype.add(value)` method
2095
+ // https://tc39.es/ecma262/#sec-set.prototype.add
2096
+ add: function add2(value) {
2097
+ return define(this, value = value === 0 ? 0 : value, value);
2098
+ }
2099
+ });
2100
+ if (DESCRIPTORS$2)
2101
+ defineBuiltInAccessor(Prototype, "size", {
2102
+ configurable: true,
2103
+ get: function() {
2104
+ return getInternalState2(this).size;
2105
+ }
2106
+ });
2107
+ return Constructor;
2108
+ },
2109
+ setStrong: function(Constructor, CONSTRUCTOR_NAME, IS_MAP) {
2110
+ var ITERATOR_NAME = CONSTRUCTOR_NAME + " Iterator";
2111
+ var getInternalCollectionState = internalStateGetterFor$1(CONSTRUCTOR_NAME);
2112
+ var getInternalIteratorState = internalStateGetterFor$1(ITERATOR_NAME);
2113
+ defineIterator$1(Constructor, CONSTRUCTOR_NAME, function(iterated, kind) {
2114
+ setInternalState$2(this, {
2115
+ type: ITERATOR_NAME,
2116
+ target: iterated,
2117
+ state: getInternalCollectionState(iterated),
2118
+ kind,
2119
+ last: void 0
2120
+ });
2121
+ }, function() {
2122
+ var state = getInternalIteratorState(this);
2123
+ var kind = state.kind;
2124
+ var entry = state.last;
2125
+ while (entry && entry.removed)
2126
+ entry = entry.previous;
2127
+ if (!state.target || !(state.last = entry = entry ? entry.next : state.state.first)) {
2128
+ state.target = void 0;
2129
+ return createIterResultObject$1(void 0, true);
2130
+ }
2131
+ if (kind === "keys")
2132
+ return createIterResultObject$1(entry.key, false);
2133
+ if (kind === "values")
2134
+ return createIterResultObject$1(entry.value, false);
2135
+ return createIterResultObject$1([entry.key, entry.value], false);
2136
+ }, IS_MAP ? "entries" : "values", !IS_MAP, true);
2137
+ setSpecies(CONSTRUCTOR_NAME);
2138
+ }
2139
+ };
2140
+ var collection$2 = collection$3;
2141
+ var collectionStrong$1 = collectionStrong$2;
2142
+ collection$2("Map", function(init) {
2143
+ return function Map2() {
2144
+ return init(this, arguments.length ? arguments[0] : void 0);
2145
+ };
2146
+ }, collectionStrong$1);
2147
+ var uncurryThis$9 = functionUncurryThis;
2148
+ var MapPrototype = Map.prototype;
2149
+ var mapHelpers = {
2150
+ // eslint-disable-next-line es/no-map -- safe
2151
+ Map,
2152
+ set: uncurryThis$9(MapPrototype.set),
2153
+ get: uncurryThis$9(MapPrototype.get),
2154
+ has: uncurryThis$9(MapPrototype.has),
2155
+ remove: uncurryThis$9(MapPrototype["delete"]),
2156
+ proto: MapPrototype
2157
+ };
2158
+ var $$9 = _export;
2159
+ var uncurryThis$8 = functionUncurryThis;
2160
+ var aCallable$1 = aCallable$6;
2161
+ var requireObjectCoercible$1 = requireObjectCoercible$5;
2162
+ var iterate$3 = iterate$6;
2163
+ var MapHelpers = mapHelpers;
2164
+ var fails$4 = fails$j;
2165
+ var Map$1 = MapHelpers.Map;
2166
+ var has$6 = MapHelpers.has;
2167
+ var get = MapHelpers.get;
2168
+ var set = MapHelpers.set;
2169
+ var push$1 = uncurryThis$8([].push);
2170
+ var DOES_NOT_WORK_WITH_PRIMITIVES = fails$4(function() {
2171
+ return Map$1.groupBy("ab", function(it) {
2172
+ return it;
2173
+ }).get("a").length !== 1;
2174
+ });
2175
+ $$9({ target: "Map", stat: true, forced: DOES_NOT_WORK_WITH_PRIMITIVES }, {
2176
+ groupBy: function groupBy(items, callbackfn) {
2177
+ requireObjectCoercible$1(items);
2178
+ aCallable$1(callbackfn);
2179
+ var map = new Map$1();
2180
+ var k = 0;
2181
+ iterate$3(items, function(value) {
2182
+ var key = callbackfn(value, k++);
2183
+ if (!has$6(map, key))
2184
+ set(map, key, [value]);
2185
+ else
2186
+ push$1(get(map, key), value);
2187
+ });
2188
+ return map;
2189
+ }
2190
+ });
2191
+ var TO_STRING_TAG_SUPPORT$1 = toStringTagSupport;
2192
+ var classof$3 = classof$5;
2193
+ var objectToString = TO_STRING_TAG_SUPPORT$1 ? {}.toString : function toString2() {
2194
+ return "[object " + classof$3(this) + "]";
2195
+ };
2196
+ var TO_STRING_TAG_SUPPORT = toStringTagSupport;
2197
+ var defineBuiltIn = defineBuiltIn$6;
2198
+ var toString$3 = objectToString;
2199
+ if (!TO_STRING_TAG_SUPPORT) {
2200
+ defineBuiltIn(Object.prototype, "toString", toString$3, { unsafe: true });
2201
+ }
2202
+ var classof$2 = classof$5;
2203
+ var $String = String;
2204
+ var toString$2 = function(argument) {
2205
+ if (classof$2(argument) === "Symbol")
2206
+ throw new TypeError("Cannot convert a Symbol value to a string");
2207
+ return $String(argument);
2208
+ };
2209
+ var uncurryThis$7 = functionUncurryThis;
2210
+ var toIntegerOrInfinity$1 = toIntegerOrInfinity$4;
2211
+ var toString$1 = toString$2;
2212
+ var requireObjectCoercible = requireObjectCoercible$5;
2213
+ var charAt$1 = uncurryThis$7("".charAt);
2214
+ var charCodeAt = uncurryThis$7("".charCodeAt);
2215
+ var stringSlice = uncurryThis$7("".slice);
2216
+ var createMethod$1 = function(CONVERT_TO_STRING) {
2217
+ return function($this, pos) {
2218
+ var S = toString$1(requireObjectCoercible($this));
2219
+ var position = toIntegerOrInfinity$1(pos);
2220
+ var size2 = S.length;
2221
+ var first, second;
2222
+ if (position < 0 || position >= size2)
2223
+ return CONVERT_TO_STRING ? "" : void 0;
2224
+ first = charCodeAt(S, position);
2225
+ return first < 55296 || first > 56319 || position + 1 === size2 || (second = charCodeAt(S, position + 1)) < 56320 || second > 57343 ? CONVERT_TO_STRING ? charAt$1(S, position) : first : CONVERT_TO_STRING ? stringSlice(S, position, position + 2) : (first - 55296 << 10) + (second - 56320) + 65536;
2226
+ };
2227
+ };
2228
+ var stringMultibyte = {
2229
+ // `String.prototype.codePointAt` method
2230
+ // https://tc39.es/ecma262/#sec-string.prototype.codepointat
2231
+ codeAt: createMethod$1(false),
2232
+ // `String.prototype.at` method
2233
+ // https://github.com/mathiasbynens/String.prototype.at
2234
+ charAt: createMethod$1(true)
2235
+ };
2236
+ var charAt = stringMultibyte.charAt;
2237
+ var toString3 = toString$2;
2238
+ var InternalStateModule$1 = internalState;
2239
+ var defineIterator = iteratorDefine;
2240
+ var createIterResultObject = createIterResultObject$3;
2241
+ var STRING_ITERATOR = "String Iterator";
2242
+ var setInternalState$1 = InternalStateModule$1.set;
2243
+ var getInternalState = InternalStateModule$1.getterFor(STRING_ITERATOR);
2244
+ defineIterator(String, "String", function(iterated) {
2245
+ setInternalState$1(this, {
2246
+ type: STRING_ITERATOR,
2247
+ string: toString3(iterated),
2248
+ index: 0
2249
+ });
2250
+ }, function next() {
2251
+ var state = getInternalState(this);
2252
+ var string = state.string;
2253
+ var index2 = state.index;
2254
+ var point;
2255
+ if (index2 >= string.length)
2256
+ return createIterResultObject(void 0, true);
2257
+ point = charAt(string, index2);
2258
+ state.index += point.length;
2259
+ return createIterResultObject(point, false);
2260
+ });
2261
+ var global$2 = global$d;
2262
+ var path$5 = global$2;
2263
+ var path$4 = path$5;
2264
+ path$4.Map;
2265
+ var collection$1 = collection$3;
2266
+ var collectionStrong = collectionStrong$2;
2267
+ collection$1("Set", function(init) {
2268
+ return function Set2() {
2269
+ return init(this, arguments.length ? arguments[0] : void 0);
2270
+ };
2271
+ }, collectionStrong);
2272
+ var uncurryThis$6 = functionUncurryThis;
2273
+ var SetPrototype$1 = Set.prototype;
2274
+ var setHelpers = {
2275
+ // eslint-disable-next-line es/no-set -- safe
2276
+ Set,
2277
+ add: uncurryThis$6(SetPrototype$1.add),
2278
+ has: uncurryThis$6(SetPrototype$1.has),
2279
+ remove: uncurryThis$6(SetPrototype$1["delete"]),
2280
+ proto: SetPrototype$1
2281
+ };
2282
+ var has$5 = setHelpers.has;
2283
+ var aSet$7 = function(it) {
2284
+ has$5(it);
2285
+ return it;
2286
+ };
2287
+ var call$3 = functionCall;
2288
+ var iterateSimple$7 = function(record, fn, ITERATOR_INSTEAD_OF_RECORD) {
2289
+ var iterator = ITERATOR_INSTEAD_OF_RECORD ? record : record.iterator;
2290
+ var next3 = record.next;
2291
+ var step, result;
2292
+ while (!(step = call$3(next3, iterator)).done) {
2293
+ result = fn(step.value);
2294
+ if (result !== void 0)
2295
+ return result;
2296
+ }
2297
+ };
2298
+ var uncurryThis$5 = functionUncurryThis;
2299
+ var iterateSimple$6 = iterateSimple$7;
2300
+ var SetHelpers$5 = setHelpers;
2301
+ var Set$3 = SetHelpers$5.Set;
2302
+ var SetPrototype = SetHelpers$5.proto;
2303
+ var forEach = uncurryThis$5(SetPrototype.forEach);
2304
+ var keys2 = uncurryThis$5(SetPrototype.keys);
2305
+ var next2 = keys2(new Set$3()).next;
2306
+ var setIterate = function(set2, fn, interruptible) {
2307
+ return interruptible ? iterateSimple$6({ iterator: keys2(set2), next: next2 }, fn) : forEach(set2, fn);
2308
+ };
2309
+ var SetHelpers$4 = setHelpers;
2310
+ var iterate$2 = setIterate;
2311
+ var Set$2 = SetHelpers$4.Set;
2312
+ var add$3 = SetHelpers$4.add;
2313
+ var setClone = function(set2) {
2314
+ var result = new Set$2();
2315
+ iterate$2(set2, function(it) {
2316
+ add$3(result, it);
2317
+ });
2318
+ return result;
2319
+ };
2320
+ var uncurryThisAccessor = functionUncurryThisAccessor;
2321
+ var SetHelpers$3 = setHelpers;
2322
+ var setSize = uncurryThisAccessor(SetHelpers$3.proto, "size", "get") || function(set2) {
2323
+ return set2.size;
2324
+ };
2325
+ var getIteratorDirect$1 = function(obj) {
2326
+ return {
2327
+ iterator: obj,
2328
+ next: obj.next,
2329
+ done: false
2330
+ };
2331
+ };
2332
+ var aCallable = aCallable$6;
2333
+ var anObject$2 = anObject$a;
2334
+ var call$2 = functionCall;
2335
+ var toIntegerOrInfinity = toIntegerOrInfinity$4;
2336
+ var getIteratorDirect = getIteratorDirect$1;
2337
+ var INVALID_SIZE = "Invalid size";
2338
+ var $RangeError = RangeError;
2339
+ var $TypeError = TypeError;
2340
+ var max = Math.max;
2341
+ var SetRecord = function(set2, intSize) {
2342
+ this.set = set2;
2343
+ this.size = max(intSize, 0);
2344
+ this.has = aCallable(set2.has);
2345
+ this.keys = aCallable(set2.keys);
2346
+ };
2347
+ SetRecord.prototype = {
2348
+ getIterator: function() {
2349
+ return getIteratorDirect(anObject$2(call$2(this.keys, this.set)));
2350
+ },
2351
+ includes: function(it) {
2352
+ return call$2(this.has, this.set, it);
2353
+ }
2354
+ };
2355
+ var getSetRecord$7 = function(obj) {
2356
+ anObject$2(obj);
2357
+ var numSize = +obj.size;
2358
+ if (numSize !== numSize)
2359
+ throw new $TypeError(INVALID_SIZE);
2360
+ var intSize = toIntegerOrInfinity(numSize);
2361
+ if (intSize < 0)
2362
+ throw new $RangeError(INVALID_SIZE);
2363
+ return new SetRecord(obj, intSize);
2364
+ };
2365
+ var aSet$6 = aSet$7;
2366
+ var SetHelpers$2 = setHelpers;
2367
+ var clone$2 = setClone;
2368
+ var size$4 = setSize;
2369
+ var getSetRecord$6 = getSetRecord$7;
2370
+ var iterateSet$2 = setIterate;
2371
+ var iterateSimple$5 = iterateSimple$7;
2372
+ var has$4 = SetHelpers$2.has;
2373
+ var remove$1 = SetHelpers$2.remove;
2374
+ var setDifference = function difference(other) {
2375
+ var O = aSet$6(this);
2376
+ var otherRec = getSetRecord$6(other);
2377
+ var result = clone$2(O);
2378
+ if (size$4(O) <= otherRec.size)
2379
+ iterateSet$2(O, function(e) {
2380
+ if (otherRec.includes(e))
2381
+ remove$1(result, e);
2382
+ });
2383
+ else
2384
+ iterateSimple$5(otherRec.getIterator(), function(e) {
2385
+ if (has$4(O, e))
2386
+ remove$1(result, e);
2387
+ });
2388
+ return result;
2389
+ };
2390
+ var getBuiltIn$1 = getBuiltIn$6;
2391
+ var createSetLike = function(size2) {
2392
+ return {
2393
+ size: size2,
2394
+ has: function() {
2395
+ return false;
2396
+ },
2397
+ keys: function() {
2398
+ return {
2399
+ next: function() {
2400
+ return { done: true };
2401
+ }
2402
+ };
2403
+ }
2404
+ };
2405
+ };
2406
+ var setMethodAcceptSetLike$7 = function(name) {
2407
+ var Set2 = getBuiltIn$1("Set");
2408
+ try {
2409
+ new Set2()[name](createSetLike(0));
2410
+ try {
2411
+ new Set2()[name](createSetLike(-1));
2412
+ return false;
2413
+ } catch (error2) {
2414
+ return true;
2415
+ }
2416
+ } catch (error) {
2417
+ return false;
2418
+ }
2419
+ };
2420
+ var $$8 = _export;
2421
+ var difference2 = setDifference;
2422
+ var setMethodAcceptSetLike$6 = setMethodAcceptSetLike$7;
2423
+ $$8({ target: "Set", proto: true, real: true, forced: !setMethodAcceptSetLike$6("difference") }, {
2424
+ difference: difference2
2425
+ });
2426
+ var aSet$5 = aSet$7;
2427
+ var SetHelpers$1 = setHelpers;
2428
+ var size$3 = setSize;
2429
+ var getSetRecord$5 = getSetRecord$7;
2430
+ var iterateSet$1 = setIterate;
2431
+ var iterateSimple$4 = iterateSimple$7;
2432
+ var Set$1 = SetHelpers$1.Set;
2433
+ var add$2 = SetHelpers$1.add;
2434
+ var has$3 = SetHelpers$1.has;
2435
+ var setIntersection = function intersection(other) {
2436
+ var O = aSet$5(this);
2437
+ var otherRec = getSetRecord$5(other);
2438
+ var result = new Set$1();
2439
+ if (size$3(O) > otherRec.size) {
2440
+ iterateSimple$4(otherRec.getIterator(), function(e) {
2441
+ if (has$3(O, e))
2442
+ add$2(result, e);
2443
+ });
2444
+ } else {
2445
+ iterateSet$1(O, function(e) {
2446
+ if (otherRec.includes(e))
2447
+ add$2(result, e);
2448
+ });
2449
+ }
2450
+ return result;
2451
+ };
2452
+ var $$7 = _export;
2453
+ var fails$3 = fails$j;
2454
+ var intersection2 = setIntersection;
2455
+ var setMethodAcceptSetLike$5 = setMethodAcceptSetLike$7;
2456
+ var INCORRECT = !setMethodAcceptSetLike$5("intersection") || fails$3(function() {
2457
+ return String(Array.from((/* @__PURE__ */ new Set([1, 2, 3])).intersection(/* @__PURE__ */ new Set([3, 2])))) !== "3,2";
2458
+ });
2459
+ $$7({ target: "Set", proto: true, real: true, forced: INCORRECT }, {
2460
+ intersection: intersection2
2461
+ });
2462
+ var aSet$4 = aSet$7;
2463
+ var has$2 = setHelpers.has;
2464
+ var size$2 = setSize;
2465
+ var getSetRecord$4 = getSetRecord$7;
2466
+ var iterateSet = setIterate;
2467
+ var iterateSimple$3 = iterateSimple$7;
2468
+ var iteratorClose$2 = iteratorClose$4;
2469
+ var setIsDisjointFrom = function isDisjointFrom(other) {
2470
+ var O = aSet$4(this);
2471
+ var otherRec = getSetRecord$4(other);
2472
+ if (size$2(O) <= otherRec.size)
2473
+ return iterateSet(O, function(e) {
2474
+ if (otherRec.includes(e))
2475
+ return false;
2476
+ }, true) !== false;
2477
+ var iterator = otherRec.getIterator();
2478
+ return iterateSimple$3(iterator, function(e) {
2479
+ if (has$2(O, e))
2480
+ return iteratorClose$2(iterator, "normal", false);
2481
+ }) !== false;
2482
+ };
2483
+ var $$6 = _export;
2484
+ var isDisjointFrom2 = setIsDisjointFrom;
2485
+ var setMethodAcceptSetLike$4 = setMethodAcceptSetLike$7;
2486
+ $$6({ target: "Set", proto: true, real: true, forced: !setMethodAcceptSetLike$4("isDisjointFrom") }, {
2487
+ isDisjointFrom: isDisjointFrom2
2488
+ });
2489
+ var aSet$3 = aSet$7;
2490
+ var size$1 = setSize;
2491
+ var iterate$1 = setIterate;
2492
+ var getSetRecord$3 = getSetRecord$7;
2493
+ var setIsSubsetOf = function isSubsetOf(other) {
2494
+ var O = aSet$3(this);
2495
+ var otherRec = getSetRecord$3(other);
2496
+ if (size$1(O) > otherRec.size)
2497
+ return false;
2498
+ return iterate$1(O, function(e) {
2499
+ if (!otherRec.includes(e))
2500
+ return false;
2501
+ }, true) !== false;
2502
+ };
2503
+ var $$5 = _export;
2504
+ var isSubsetOf2 = setIsSubsetOf;
2505
+ var setMethodAcceptSetLike$3 = setMethodAcceptSetLike$7;
2506
+ $$5({ target: "Set", proto: true, real: true, forced: !setMethodAcceptSetLike$3("isSubsetOf") }, {
2507
+ isSubsetOf: isSubsetOf2
2508
+ });
2509
+ var aSet$2 = aSet$7;
2510
+ var has$1 = setHelpers.has;
2511
+ var size = setSize;
2512
+ var getSetRecord$2 = getSetRecord$7;
2513
+ var iterateSimple$2 = iterateSimple$7;
2514
+ var iteratorClose$1 = iteratorClose$4;
2515
+ var setIsSupersetOf = function isSupersetOf(other) {
2516
+ var O = aSet$2(this);
2517
+ var otherRec = getSetRecord$2(other);
2518
+ if (size(O) < otherRec.size)
2519
+ return false;
2520
+ var iterator = otherRec.getIterator();
2521
+ return iterateSimple$2(iterator, function(e) {
2522
+ if (!has$1(O, e))
2523
+ return iteratorClose$1(iterator, "normal", false);
2524
+ }) !== false;
2525
+ };
2526
+ var $$4 = _export;
2527
+ var isSupersetOf2 = setIsSupersetOf;
2528
+ var setMethodAcceptSetLike$2 = setMethodAcceptSetLike$7;
2529
+ $$4({ target: "Set", proto: true, real: true, forced: !setMethodAcceptSetLike$2("isSupersetOf") }, {
2530
+ isSupersetOf: isSupersetOf2
2531
+ });
2532
+ var aSet$1 = aSet$7;
2533
+ var SetHelpers = setHelpers;
2534
+ var clone$1 = setClone;
2535
+ var getSetRecord$1 = getSetRecord$7;
2536
+ var iterateSimple$1 = iterateSimple$7;
2537
+ var add$1 = SetHelpers.add;
2538
+ var has = SetHelpers.has;
2539
+ var remove = SetHelpers.remove;
2540
+ var setSymmetricDifference = function symmetricDifference(other) {
2541
+ var O = aSet$1(this);
2542
+ var keysIter = getSetRecord$1(other).getIterator();
2543
+ var result = clone$1(O);
2544
+ iterateSimple$1(keysIter, function(e) {
2545
+ if (has(O, e))
2546
+ remove(result, e);
2547
+ else
2548
+ add$1(result, e);
2549
+ });
2550
+ return result;
2551
+ };
2552
+ var $$3 = _export;
2553
+ var symmetricDifference2 = setSymmetricDifference;
2554
+ var setMethodAcceptSetLike$1 = setMethodAcceptSetLike$7;
2555
+ $$3({ target: "Set", proto: true, real: true, forced: !setMethodAcceptSetLike$1("symmetricDifference") }, {
2556
+ symmetricDifference: symmetricDifference2
2557
+ });
2558
+ var aSet = aSet$7;
2559
+ var add = setHelpers.add;
2560
+ var clone = setClone;
2561
+ var getSetRecord = getSetRecord$7;
2562
+ var iterateSimple = iterateSimple$7;
2563
+ var setUnion = function union(other) {
2564
+ var O = aSet(this);
2565
+ var keysIter = getSetRecord(other).getIterator();
2566
+ var result = clone(O);
2567
+ iterateSimple(keysIter, function(it) {
2568
+ add(result, it);
2569
+ });
2570
+ return result;
2571
+ };
2572
+ var $$2 = _export;
2573
+ var union2 = setUnion;
2574
+ var setMethodAcceptSetLike = setMethodAcceptSetLike$7;
2575
+ $$2({ target: "Set", proto: true, real: true, forced: !setMethodAcceptSetLike("union") }, {
2576
+ union: union2
2577
+ });
2578
+ var path$3 = path$5;
2579
+ path$3.Set;
2580
+ var classof$1 = classofRaw$2;
2581
+ var isArray$2 = Array.isArray || function isArray(argument) {
2582
+ return classof$1(argument) === "Array";
2583
+ };
2584
+ var uncurryThis$4 = functionUncurryThis;
2585
+ var fails$2 = fails$j;
2586
+ var isCallable = isCallable$h;
2587
+ var classof = classof$5;
2588
+ var getBuiltIn = getBuiltIn$6;
2589
+ var inspectSource = inspectSource$2;
2590
+ var noop = function() {
2591
+ };
2592
+ var construct = getBuiltIn("Reflect", "construct");
2593
+ var constructorRegExp = /^\s*(?:class|function)\b/;
2594
+ var exec = uncurryThis$4(constructorRegExp.exec);
2595
+ var INCORRECT_TO_STRING = !constructorRegExp.test(noop);
2596
+ var isConstructorModern = function isConstructor(argument) {
2597
+ if (!isCallable(argument))
2598
+ return false;
2599
+ try {
2600
+ construct(noop, [], argument);
2601
+ return true;
2602
+ } catch (error) {
2603
+ return false;
2604
+ }
2605
+ };
2606
+ var isConstructorLegacy = function isConstructor2(argument) {
2607
+ if (!isCallable(argument))
2608
+ return false;
2609
+ switch (classof(argument)) {
2610
+ case "AsyncFunction":
2611
+ case "GeneratorFunction":
2612
+ case "AsyncGeneratorFunction":
2613
+ return false;
2614
+ }
2615
+ try {
2616
+ return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));
2617
+ } catch (error) {
2618
+ return true;
2619
+ }
2620
+ };
2621
+ isConstructorLegacy.sham = true;
2622
+ var isConstructor$2 = !construct || fails$2(function() {
2623
+ var called;
2624
+ return isConstructorModern(isConstructorModern.call) || !isConstructorModern(Object) || !isConstructorModern(function() {
2625
+ called = true;
2626
+ }) || called;
2627
+ }) ? isConstructorLegacy : isConstructorModern;
2628
+ var isArray$1 = isArray$2;
2629
+ var isConstructor$1 = isConstructor$2;
2630
+ var isObject$2 = isObject$f;
2631
+ var wellKnownSymbol = wellKnownSymbol$c;
2632
+ var SPECIES = wellKnownSymbol("species");
2633
+ var $Array$1 = Array;
2634
+ var arraySpeciesConstructor$1 = function(originalArray) {
2635
+ var C;
2636
+ if (isArray$1(originalArray)) {
2637
+ C = originalArray.constructor;
2638
+ if (isConstructor$1(C) && (C === $Array$1 || isArray$1(C.prototype)))
2639
+ C = void 0;
2640
+ else if (isObject$2(C)) {
2641
+ C = C[SPECIES];
2642
+ if (C === null)
2643
+ C = void 0;
2644
+ }
2645
+ }
2646
+ return C === void 0 ? $Array$1 : C;
2647
+ };
2648
+ var arraySpeciesConstructor = arraySpeciesConstructor$1;
2649
+ var arraySpeciesCreate$1 = function(originalArray, length) {
2650
+ return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);
2651
+ };
2652
+ var bind$1 = functionBindContext;
2653
+ var uncurryThis$3 = functionUncurryThis;
2654
+ var IndexedObject$1 = indexedObject;
2655
+ var toObject$2 = toObject$5;
2656
+ var lengthOfArrayLike$1 = lengthOfArrayLike$4;
2657
+ var arraySpeciesCreate = arraySpeciesCreate$1;
2658
+ var push = uncurryThis$3([].push);
2659
+ var createMethod = function(TYPE) {
2660
+ var IS_MAP = TYPE === 1;
2661
+ var IS_FILTER = TYPE === 2;
2662
+ var IS_SOME = TYPE === 3;
2663
+ var IS_EVERY = TYPE === 4;
2664
+ var IS_FIND_INDEX = TYPE === 6;
2665
+ var IS_FILTER_REJECT = TYPE === 7;
2666
+ var NO_HOLES = TYPE === 5 || IS_FIND_INDEX;
2667
+ return function($this, callbackfn, that, specificCreate) {
2668
+ var O = toObject$2($this);
2669
+ var self2 = IndexedObject$1(O);
2670
+ var length = lengthOfArrayLike$1(self2);
2671
+ var boundFunction = bind$1(callbackfn, that);
2672
+ var index2 = 0;
2673
+ var create3 = specificCreate || arraySpeciesCreate;
2674
+ var target = IS_MAP ? create3($this, length) : IS_FILTER || IS_FILTER_REJECT ? create3($this, 0) : void 0;
2675
+ var value, result;
2676
+ for (; length > index2; index2++)
2677
+ if (NO_HOLES || index2 in self2) {
2678
+ value = self2[index2];
2679
+ result = boundFunction(value, index2, O);
2680
+ if (TYPE) {
2681
+ if (IS_MAP)
2682
+ target[index2] = result;
2683
+ else if (result)
2684
+ switch (TYPE) {
2685
+ case 3:
2686
+ return true;
2687
+ case 5:
2688
+ return value;
2689
+ case 6:
2690
+ return index2;
2691
+ case 2:
2692
+ push(target, value);
2693
+ }
2694
+ else
2695
+ switch (TYPE) {
2696
+ case 4:
2697
+ return false;
2698
+ case 7:
2699
+ push(target, value);
2700
+ }
2701
+ }
2702
+ }
2703
+ return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;
2704
+ };
2705
+ };
2706
+ var arrayIteration = {
2707
+ // `Array.prototype.forEach` method
2708
+ // https://tc39.es/ecma262/#sec-array.prototype.foreach
2709
+ forEach: createMethod(0),
2710
+ // `Array.prototype.map` method
2711
+ // https://tc39.es/ecma262/#sec-array.prototype.map
2712
+ map: createMethod(1),
2713
+ // `Array.prototype.filter` method
2714
+ // https://tc39.es/ecma262/#sec-array.prototype.filter
2715
+ filter: createMethod(2),
2716
+ // `Array.prototype.some` method
2717
+ // https://tc39.es/ecma262/#sec-array.prototype.some
2718
+ some: createMethod(3),
2719
+ // `Array.prototype.every` method
2720
+ // https://tc39.es/ecma262/#sec-array.prototype.every
2721
+ every: createMethod(4),
2722
+ // `Array.prototype.find` method
2723
+ // https://tc39.es/ecma262/#sec-array.prototype.find
2724
+ find: createMethod(5),
2725
+ // `Array.prototype.findIndex` method
2726
+ // https://tc39.es/ecma262/#sec-array.prototype.findIndex
2727
+ findIndex: createMethod(6),
2728
+ // `Array.prototype.filterReject` method
2729
+ // https://github.com/tc39/proposal-array-filtering
2730
+ filterReject: createMethod(7)
2731
+ };
2732
+ var uncurryThis$2 = functionUncurryThis;
2733
+ var defineBuiltIns$1 = defineBuiltIns$3;
2734
+ var getWeakData = internalMetadataExports.getWeakData;
2735
+ var anInstance = anInstance$3;
2736
+ var anObject$1 = anObject$a;
2737
+ var isNullOrUndefined = isNullOrUndefined$6;
2738
+ var isObject$1 = isObject$f;
2739
+ var iterate = iterate$6;
2740
+ var ArrayIterationModule = arrayIteration;
2741
+ var hasOwn2 = hasOwnProperty_1;
2742
+ var InternalStateModule = internalState;
2743
+ var setInternalState = InternalStateModule.set;
2744
+ var internalStateGetterFor = InternalStateModule.getterFor;
2745
+ var find = ArrayIterationModule.find;
2746
+ var findIndex = ArrayIterationModule.findIndex;
2747
+ var splice = uncurryThis$2([].splice);
2748
+ var id = 0;
2749
+ var uncaughtFrozenStore = function(state) {
2750
+ return state.frozen || (state.frozen = new UncaughtFrozenStore());
2751
+ };
2752
+ var UncaughtFrozenStore = function() {
2753
+ this.entries = [];
2754
+ };
2755
+ var findUncaughtFrozen = function(store2, key) {
2756
+ return find(store2.entries, function(it) {
2757
+ return it[0] === key;
2758
+ });
2759
+ };
2760
+ UncaughtFrozenStore.prototype = {
2761
+ get: function(key) {
2762
+ var entry = findUncaughtFrozen(this, key);
2763
+ if (entry)
2764
+ return entry[1];
2765
+ },
2766
+ has: function(key) {
2767
+ return !!findUncaughtFrozen(this, key);
2768
+ },
2769
+ set: function(key, value) {
2770
+ var entry = findUncaughtFrozen(this, key);
2771
+ if (entry)
2772
+ entry[1] = value;
2773
+ else
2774
+ this.entries.push([key, value]);
2775
+ },
2776
+ "delete": function(key) {
2777
+ var index2 = findIndex(this.entries, function(it) {
2778
+ return it[0] === key;
2779
+ });
2780
+ if (~index2)
2781
+ splice(this.entries, index2, 1);
2782
+ return !!~index2;
2783
+ }
2784
+ };
2785
+ var collectionWeak$1 = {
2786
+ getConstructor: function(wrapper2, CONSTRUCTOR_NAME, IS_MAP, ADDER) {
2787
+ var Constructor = wrapper2(function(that, iterable) {
2788
+ anInstance(that, Prototype);
2789
+ setInternalState(that, {
2790
+ type: CONSTRUCTOR_NAME,
2791
+ id: id++,
2792
+ frozen: void 0
2793
+ });
2794
+ if (!isNullOrUndefined(iterable))
2795
+ iterate(iterable, that[ADDER], { that, AS_ENTRIES: IS_MAP });
2796
+ });
2797
+ var Prototype = Constructor.prototype;
2798
+ var getInternalState2 = internalStateGetterFor(CONSTRUCTOR_NAME);
2799
+ var define = function(that, key, value) {
2800
+ var state = getInternalState2(that);
2801
+ var data2 = getWeakData(anObject$1(key), true);
2802
+ if (data2 === true)
2803
+ uncaughtFrozenStore(state).set(key, value);
2804
+ else
2805
+ data2[state.id] = value;
2806
+ return that;
2807
+ };
2808
+ defineBuiltIns$1(Prototype, {
2809
+ // `{ WeakMap, WeakSet }.prototype.delete(key)` methods
2810
+ // https://tc39.es/ecma262/#sec-weakmap.prototype.delete
2811
+ // https://tc39.es/ecma262/#sec-weakset.prototype.delete
2812
+ "delete": function(key) {
2813
+ var state = getInternalState2(this);
2814
+ if (!isObject$1(key))
2815
+ return false;
2816
+ var data2 = getWeakData(key);
2817
+ if (data2 === true)
2818
+ return uncaughtFrozenStore(state)["delete"](key);
2819
+ return data2 && hasOwn2(data2, state.id) && delete data2[state.id];
2820
+ },
2821
+ // `{ WeakMap, WeakSet }.prototype.has(key)` methods
2822
+ // https://tc39.es/ecma262/#sec-weakmap.prototype.has
2823
+ // https://tc39.es/ecma262/#sec-weakset.prototype.has
2824
+ has: function has2(key) {
2825
+ var state = getInternalState2(this);
2826
+ if (!isObject$1(key))
2827
+ return false;
2828
+ var data2 = getWeakData(key);
2829
+ if (data2 === true)
2830
+ return uncaughtFrozenStore(state).has(key);
2831
+ return data2 && hasOwn2(data2, state.id);
2832
+ }
2833
+ });
2834
+ defineBuiltIns$1(Prototype, IS_MAP ? {
2835
+ // `WeakMap.prototype.get(key)` method
2836
+ // https://tc39.es/ecma262/#sec-weakmap.prototype.get
2837
+ get: function get2(key) {
2838
+ var state = getInternalState2(this);
2839
+ if (isObject$1(key)) {
2840
+ var data2 = getWeakData(key);
2841
+ if (data2 === true)
2842
+ return uncaughtFrozenStore(state).get(key);
2843
+ return data2 ? data2[state.id] : void 0;
2844
+ }
2845
+ },
2846
+ // `WeakMap.prototype.set(key, value)` method
2847
+ // https://tc39.es/ecma262/#sec-weakmap.prototype.set
2848
+ set: function set2(key, value) {
2849
+ return define(this, key, value);
2850
+ }
2851
+ } : {
2852
+ // `WeakSet.prototype.add(value)` method
2853
+ // https://tc39.es/ecma262/#sec-weakset.prototype.add
2854
+ add: function add2(value) {
2855
+ return define(this, value, true);
2856
+ }
2857
+ });
2858
+ return Constructor;
2859
+ }
2860
+ };
2861
+ var FREEZING = freezing;
2862
+ var global$1 = global$d;
2863
+ var uncurryThis$1 = functionUncurryThis;
2864
+ var defineBuiltIns = defineBuiltIns$3;
2865
+ var InternalMetadataModule = internalMetadataExports;
2866
+ var collection = collection$3;
2867
+ var collectionWeak = collectionWeak$1;
2868
+ var isObject = isObject$f;
2869
+ var enforceInternalState = internalState.enforce;
2870
+ var fails$1 = fails$j;
2871
+ var NATIVE_WEAK_MAP = weakMapBasicDetection;
2872
+ var $Object = Object;
2873
+ var isArray2 = Array.isArray;
2874
+ var isExtensible2 = $Object.isExtensible;
2875
+ var isFrozen = $Object.isFrozen;
2876
+ var isSealed = $Object.isSealed;
2877
+ var freeze = $Object.freeze;
2878
+ var seal = $Object.seal;
2879
+ var IS_IE11 = !global$1.ActiveXObject && "ActiveXObject" in global$1;
2880
+ var InternalWeakMap;
2881
+ var wrapper = function(init) {
2882
+ return function WeakMap2() {
2883
+ return init(this, arguments.length ? arguments[0] : void 0);
2884
+ };
2885
+ };
2886
+ var $WeakMap = collection("WeakMap", wrapper, collectionWeak);
2887
+ var WeakMapPrototype = $WeakMap.prototype;
2888
+ var nativeSet = uncurryThis$1(WeakMapPrototype.set);
2889
+ var hasMSEdgeFreezingBug = function() {
2890
+ return FREEZING && fails$1(function() {
2891
+ var frozenArray = freeze([]);
2892
+ nativeSet(new $WeakMap(), frozenArray, 1);
2893
+ return !isFrozen(frozenArray);
2894
+ });
2895
+ };
2896
+ if (NATIVE_WEAK_MAP) {
2897
+ if (IS_IE11) {
2898
+ InternalWeakMap = collectionWeak.getConstructor(wrapper, "WeakMap", true);
2899
+ InternalMetadataModule.enable();
2900
+ var nativeDelete = uncurryThis$1(WeakMapPrototype["delete"]);
2901
+ var nativeHas = uncurryThis$1(WeakMapPrototype.has);
2902
+ var nativeGet = uncurryThis$1(WeakMapPrototype.get);
2903
+ defineBuiltIns(WeakMapPrototype, {
2904
+ "delete": function(key) {
2905
+ if (isObject(key) && !isExtensible2(key)) {
2906
+ var state = enforceInternalState(this);
2907
+ if (!state.frozen)
2908
+ state.frozen = new InternalWeakMap();
2909
+ return nativeDelete(this, key) || state.frozen["delete"](key);
2910
+ }
2911
+ return nativeDelete(this, key);
2912
+ },
2913
+ has: function has2(key) {
2914
+ if (isObject(key) && !isExtensible2(key)) {
2915
+ var state = enforceInternalState(this);
2916
+ if (!state.frozen)
2917
+ state.frozen = new InternalWeakMap();
2918
+ return nativeHas(this, key) || state.frozen.has(key);
2919
+ }
2920
+ return nativeHas(this, key);
2921
+ },
2922
+ get: function get2(key) {
2923
+ if (isObject(key) && !isExtensible2(key)) {
2924
+ var state = enforceInternalState(this);
2925
+ if (!state.frozen)
2926
+ state.frozen = new InternalWeakMap();
2927
+ return nativeHas(this, key) ? nativeGet(this, key) : state.frozen.get(key);
2928
+ }
2929
+ return nativeGet(this, key);
2930
+ },
2931
+ set: function set2(key, value) {
2932
+ if (isObject(key) && !isExtensible2(key)) {
2933
+ var state = enforceInternalState(this);
2934
+ if (!state.frozen)
2935
+ state.frozen = new InternalWeakMap();
2936
+ nativeHas(this, key) ? nativeSet(this, key, value) : state.frozen.set(key, value);
2937
+ } else
2938
+ nativeSet(this, key, value);
2939
+ return this;
2940
+ }
2941
+ });
2942
+ } else if (hasMSEdgeFreezingBug()) {
2943
+ defineBuiltIns(WeakMapPrototype, {
2944
+ set: function set2(key, value) {
2945
+ var arrayIntegrityLevel;
2946
+ if (isArray2(key)) {
2947
+ if (isFrozen(key))
2948
+ arrayIntegrityLevel = freeze;
2949
+ else if (isSealed(key))
2950
+ arrayIntegrityLevel = seal;
2951
+ }
2952
+ nativeSet(this, key, value);
2953
+ if (arrayIntegrityLevel)
2954
+ arrayIntegrityLevel(key);
2955
+ return this;
2956
+ }
2957
+ });
2958
+ }
2959
+ }
2960
+ var path$2 = path$5;
2961
+ path$2.WeakMap;
2962
+ var anObject = anObject$a;
2963
+ var iteratorClose = iteratorClose$4;
2964
+ var callWithSafeIterationClosing$1 = function(iterator, fn, value, ENTRIES2) {
2965
+ try {
2966
+ return ENTRIES2 ? fn(anObject(value)[0], value[1]) : fn(value);
2967
+ } catch (error) {
2968
+ iteratorClose(iterator, "throw", error);
2969
+ }
2970
+ };
2971
+ var DESCRIPTORS$1 = descriptors;
2972
+ var definePropertyModule = objectDefineProperty;
2973
+ var createPropertyDescriptor = createPropertyDescriptor$4;
2974
+ var createProperty$1 = function(object, key, value) {
2975
+ if (DESCRIPTORS$1)
2976
+ definePropertyModule.f(object, key, createPropertyDescriptor(0, value));
2977
+ else
2978
+ object[key] = value;
2979
+ };
2980
+ var bind = functionBindContext;
2981
+ var call$1 = functionCall;
2982
+ var toObject$1 = toObject$5;
2983
+ var callWithSafeIterationClosing = callWithSafeIterationClosing$1;
2984
+ var isArrayIteratorMethod = isArrayIteratorMethod$2;
2985
+ var isConstructor3 = isConstructor$2;
2986
+ var lengthOfArrayLike = lengthOfArrayLike$4;
2987
+ var createProperty = createProperty$1;
2988
+ var getIterator = getIterator$2;
2989
+ var getIteratorMethod = getIteratorMethod$3;
2990
+ var $Array = Array;
2991
+ var arrayFrom = function from(arrayLike) {
2992
+ var O = toObject$1(arrayLike);
2993
+ var IS_CONSTRUCTOR = isConstructor3(this);
2994
+ var argumentsLength = arguments.length;
2995
+ var mapfn = argumentsLength > 1 ? arguments[1] : void 0;
2996
+ var mapping = mapfn !== void 0;
2997
+ if (mapping)
2998
+ mapfn = bind(mapfn, argumentsLength > 2 ? arguments[2] : void 0);
2999
+ var iteratorMethod = getIteratorMethod(O);
3000
+ var index2 = 0;
3001
+ var length, result, step, iterator, next3, value;
3002
+ if (iteratorMethod && !(this === $Array && isArrayIteratorMethod(iteratorMethod))) {
3003
+ result = IS_CONSTRUCTOR ? new this() : [];
3004
+ iterator = getIterator(O, iteratorMethod);
3005
+ next3 = iterator.next;
3006
+ for (; !(step = call$1(next3, iterator)).done; index2++) {
3007
+ value = mapping ? callWithSafeIterationClosing(iterator, mapfn, [step.value, index2], true) : step.value;
3008
+ createProperty(result, index2, value);
3009
+ }
3010
+ } else {
3011
+ length = lengthOfArrayLike(O);
3012
+ result = IS_CONSTRUCTOR ? new this(length) : $Array(length);
3013
+ for (; length > index2; index2++) {
3014
+ value = mapping ? mapfn(O[index2], index2) : O[index2];
3015
+ createProperty(result, index2, value);
3016
+ }
3017
+ }
3018
+ result.length = index2;
3019
+ return result;
3020
+ };
3021
+ var $$1 = _export;
3022
+ var from2 = arrayFrom;
3023
+ var checkCorrectnessOfIteration = checkCorrectnessOfIteration$2;
3024
+ var INCORRECT_ITERATION = !checkCorrectnessOfIteration(function(iterable) {
3025
+ Array.from(iterable);
3026
+ });
3027
+ $$1({ target: "Array", stat: true, forced: INCORRECT_ITERATION }, {
3028
+ from: from2
3029
+ });
3030
+ var path$1 = path$5;
3031
+ path$1.Array.from;
3032
+ var DESCRIPTORS = descriptors;
3033
+ var uncurryThis = functionUncurryThis;
3034
+ var call = functionCall;
3035
+ var fails = fails$j;
3036
+ var objectKeys = objectKeys$2;
3037
+ var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
3038
+ var propertyIsEnumerableModule = objectPropertyIsEnumerable;
3039
+ var toObject = toObject$5;
3040
+ var IndexedObject = indexedObject;
3041
+ var $assign = Object.assign;
3042
+ var defineProperty3 = Object.defineProperty;
3043
+ var concat = uncurryThis([].concat);
3044
+ var objectAssign = !$assign || fails(function() {
3045
+ if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty3({}, "a", {
3046
+ enumerable: true,
3047
+ get: function() {
3048
+ defineProperty3(this, "b", {
3049
+ value: 3,
3050
+ enumerable: false
3051
+ });
3052
+ }
3053
+ }), { b: 2 })).b !== 1)
3054
+ return true;
3055
+ var A = {};
3056
+ var B = {};
3057
+ var symbol = Symbol("assign detection");
3058
+ var alphabet = "abcdefghijklmnopqrst";
3059
+ A[symbol] = 7;
3060
+ alphabet.split("").forEach(function(chr) {
3061
+ B[chr] = chr;
3062
+ });
3063
+ return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join("") !== alphabet;
3064
+ }) ? function assign(target, source) {
3065
+ var T = toObject(target);
3066
+ var argumentsLength = arguments.length;
3067
+ var index2 = 1;
3068
+ var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
3069
+ var propertyIsEnumerable2 = propertyIsEnumerableModule.f;
3070
+ while (argumentsLength > index2) {
3071
+ var S = IndexedObject(arguments[index2++]);
3072
+ var keys3 = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);
3073
+ var length = keys3.length;
3074
+ var j = 0;
3075
+ var key;
3076
+ while (length > j) {
3077
+ key = keys3[j++];
3078
+ if (!DESCRIPTORS || call(propertyIsEnumerable2, S, key))
3079
+ T[key] = S[key];
3080
+ }
3081
+ }
3082
+ return T;
3083
+ } : $assign;
3084
+ var $ = _export;
3085
+ var assign2 = objectAssign;
3086
+ $({ target: "Object", stat: true, arity: 2, forced: Object.assign !== assign2 }, {
3087
+ assign: assign2
3088
+ });
3089
+ var path = path$5;
3090
+ path.Object.assign;
3091
+ let eventListenerOptions;
3092
+ const eventMap = /* @__PURE__ */ new WeakMap();
3093
+ function getOptions() {
3094
+ if (eventListenerOptions !== void 0) {
3095
+ return eventListenerOptions;
3096
+ }
3097
+ let supportPassiveEvent = false;
3098
+ try {
3099
+ const noop2 = () => {
3100
+ };
3101
+ const options = Object.defineProperty({}, "passive", {
3102
+ enumerable: true,
3103
+ get() {
3104
+ supportPassiveEvent = true;
3105
+ return true;
3106
+ }
3107
+ });
3108
+ window.addEventListener("testPassive", noop2, options);
3109
+ window.removeEventListener("testPassive", noop2, options);
3110
+ } catch (e) {
3111
+ }
3112
+ eventListenerOptions = supportPassiveEvent ? { passive: false } : false;
3113
+ return eventListenerOptions;
3114
+ }
3115
+ function eventScope(scrollbar) {
3116
+ const configs = eventMap.get(scrollbar) || [];
3117
+ eventMap.set(scrollbar, configs);
3118
+ return function addEvent(elem, events, fn) {
3119
+ function handler(event) {
3120
+ if (event.defaultPrevented) {
3121
+ return;
3122
+ }
3123
+ fn(event);
3124
+ }
3125
+ events.split(/\s+/g).forEach((eventName) => {
3126
+ configs.push({ elem, eventName, handler });
3127
+ elem.addEventListener(eventName, handler, getOptions());
3128
+ });
3129
+ };
3130
+ }
3131
+ function clearEventsOn(scrollbar) {
3132
+ const configs = eventMap.get(scrollbar);
3133
+ if (!configs) {
3134
+ return;
3135
+ }
3136
+ configs.forEach(({ elem, eventName, handler }) => {
3137
+ elem.removeEventListener(eventName, handler, getOptions());
3138
+ });
3139
+ eventMap.delete(scrollbar);
3140
+ }
3141
+ function isScrollEnabled(scrollbar, key) {
3142
+ return scrollbar.track[key].element.scrollHeight - scrollbar.track[key].thumb.element.scrollHeight > 1;
3143
+ }
3144
+ function getPointerData(evt) {
3145
+ return evt.touches ? evt.touches[evt.touches.length - 1] : evt;
3146
+ }
3147
+ function getPosition(evt) {
3148
+ const data2 = getPointerData(evt);
3149
+ return {
3150
+ x: data2.clientX,
3151
+ y: data2.clientY
3152
+ };
3153
+ }
3154
+ function isOneOf(a, b = []) {
3155
+ return b.some((v) => a === v);
3156
+ }
3157
+ const VENDOR_PREFIX = [
3158
+ "webkit",
3159
+ "moz",
3160
+ "ms",
3161
+ "o"
3162
+ ];
3163
+ const RE = new RegExp(`^-(?!(?:${VENDOR_PREFIX.join("|")})-)`);
3164
+ function autoPrefix(styles) {
3165
+ const res = {};
3166
+ Object.keys(styles).forEach((prop) => {
3167
+ if (!RE.test(prop)) {
3168
+ res[prop] = styles[prop];
3169
+ return;
3170
+ }
3171
+ const val = styles[prop];
3172
+ prop = prop.replace(/^-/, "");
3173
+ res[prop] = val;
3174
+ VENDOR_PREFIX.forEach((prefix) => {
3175
+ res[`-${prefix}-${prop}`] = val;
3176
+ });
3177
+ });
3178
+ return res;
3179
+ }
3180
+ function setStyle(elem, styles) {
3181
+ styles = autoPrefix(styles);
3182
+ Object.keys(styles).forEach((prop) => {
3183
+ const cssProp = prop.replace(/^-/, "").replace(/-([a-z])/g, (_, $1) => $1.toUpperCase());
3184
+ elem.style[cssProp] = styles[prop];
3185
+ });
3186
+ }
3187
+ class Tracker {
3188
+ constructor(touch) {
3189
+ this.velocityMultiplier = window.devicePixelRatio;
3190
+ this.updateTime = Date.now();
3191
+ this.delta = { x: 0, y: 0 };
3192
+ this.velocity = { x: 0, y: 0 };
3193
+ this.lastPosition = { x: 0, y: 0 };
3194
+ this.lastPosition = getPosition(touch);
3195
+ }
3196
+ update(touch) {
3197
+ const {
3198
+ velocity,
3199
+ updateTime,
3200
+ lastPosition
3201
+ } = this;
3202
+ const now = Date.now();
3203
+ const position = getPosition(touch);
3204
+ const delta = {
3205
+ x: -(position.x - lastPosition.x),
3206
+ y: -(position.y - lastPosition.y)
3207
+ };
3208
+ const duration = now - updateTime || 16.7;
3209
+ const vx = delta.x / duration * 16.7;
3210
+ const vy = delta.y / duration * 16.7;
3211
+ velocity.x = vx * this.velocityMultiplier;
3212
+ velocity.y = vy * this.velocityMultiplier;
3213
+ this.delta = delta;
3214
+ this.updateTime = now;
3215
+ this.lastPosition = position;
3216
+ }
3217
+ }
3218
+ class TouchRecord {
3219
+ constructor() {
3220
+ this._touchList = {};
3221
+ }
3222
+ get _primitiveValue() {
3223
+ return { x: 0, y: 0 };
3224
+ }
3225
+ isActive() {
3226
+ return this._activeTouchID !== void 0;
3227
+ }
3228
+ getDelta() {
3229
+ const tracker = this._getActiveTracker();
3230
+ if (!tracker) {
3231
+ return this._primitiveValue;
3232
+ }
3233
+ return { ...tracker.delta };
3234
+ }
3235
+ getVelocity() {
3236
+ const tracker = this._getActiveTracker();
3237
+ if (!tracker) {
3238
+ return this._primitiveValue;
3239
+ }
3240
+ return { ...tracker.velocity };
3241
+ }
3242
+ getEasingDistance(damping) {
3243
+ const deAcceleration = 1 - damping;
3244
+ let distance = {
3245
+ x: 0,
3246
+ y: 0
3247
+ };
3248
+ const vel = this.getVelocity();
3249
+ Object.keys(vel).forEach((dir) => {
3250
+ let v = Math.abs(vel[dir]) <= 10 ? 0 : vel[dir];
3251
+ while (v !== 0) {
3252
+ distance[dir] += v;
3253
+ v = v * deAcceleration | 0;
3254
+ }
3255
+ });
3256
+ return distance;
3257
+ }
3258
+ track(evt) {
3259
+ const {
3260
+ targetTouches
3261
+ } = evt;
3262
+ Array.from(targetTouches).forEach((touch) => {
3263
+ this._add(touch);
3264
+ });
3265
+ return this._touchList;
3266
+ }
3267
+ update(evt) {
3268
+ const {
3269
+ touches,
3270
+ changedTouches
3271
+ } = evt;
3272
+ Array.from(touches).forEach((touch) => {
3273
+ this._renew(touch);
3274
+ });
3275
+ this._setActiveID(changedTouches);
3276
+ return this._touchList;
3277
+ }
3278
+ release(evt) {
3279
+ delete this._activeTouchID;
3280
+ Array.from(evt.changedTouches).forEach((touch) => {
3281
+ this._delete(touch);
3282
+ });
3283
+ }
3284
+ _add(touch) {
3285
+ if (this._has(touch)) {
3286
+ this._delete(touch);
3287
+ }
3288
+ const tracker = new Tracker(touch);
3289
+ this._touchList[touch.identifier] = tracker;
3290
+ }
3291
+ _renew(touch) {
3292
+ if (!this._has(touch)) {
3293
+ return;
3294
+ }
3295
+ const tracker = this._touchList[touch.identifier];
3296
+ tracker == null ? void 0 : tracker.update(touch);
3297
+ }
3298
+ _delete(touch) {
3299
+ delete this._touchList[touch.identifier];
3300
+ }
3301
+ _has(touch) {
3302
+ return this._touchList.hasOwnProperty(touch.identifier);
3303
+ }
3304
+ _setActiveID(touches) {
3305
+ this._activeTouchID = touches[touches.length - 1].identifier;
3306
+ }
3307
+ _getActiveTracker() {
3308
+ const {
3309
+ _touchList,
3310
+ _activeTouchID
3311
+ } = this;
3312
+ return _touchList[_activeTouchID ?? 0];
3313
+ }
3314
+ }
3315
+ function clamp(value, lower, upper) {
3316
+ return Math.max(lower, Math.min(upper, value));
3317
+ }
3318
+ function debounce$1(fn, wait = 0, leading) {
3319
+ let timer;
3320
+ let lastCalledAt = -Infinity;
3321
+ return function debouncedFn(...args) {
3322
+ if (leading) {
3323
+ const now = Date.now();
3324
+ const elapsed = now - lastCalledAt;
3325
+ lastCalledAt = now;
3326
+ if (elapsed >= wait) {
3327
+ fn.apply(this, args);
3328
+ }
3329
+ }
3330
+ clearTimeout(timer);
3331
+ timer = setTimeout(() => {
3332
+ fn.apply(this, args);
3333
+ }, wait);
3334
+ };
3335
+ }
3336
+ function range(min2 = -Infinity, max2 = Infinity) {
3337
+ return (proto, key) => {
3338
+ const alias = `_${key}`;
3339
+ Object.defineProperty(proto, key, {
3340
+ get() {
3341
+ return this[alias];
3342
+ },
3343
+ set(val) {
3344
+ Object.defineProperty(this, alias, {
3345
+ value: clamp(val, min2, max2),
3346
+ enumerable: false,
3347
+ writable: true,
3348
+ configurable: true
3349
+ });
3350
+ },
3351
+ enumerable: true,
3352
+ configurable: true
3353
+ });
3354
+ };
3355
+ }
3356
+ function bk_smooth_scrollbar_boolean(proto, key) {
3357
+ const alias = `_${key}`;
3358
+ Object.defineProperty(proto, key, {
3359
+ get() {
3360
+ return this[alias];
3361
+ },
3362
+ set(val) {
3363
+ Object.defineProperty(this, alias, {
3364
+ value: !!val,
3365
+ enumerable: false,
3366
+ writable: true,
3367
+ configurable: true
3368
+ });
3369
+ },
3370
+ enumerable: true,
3371
+ configurable: true
3372
+ });
3373
+ }
3374
+ function debounce(...options) {
3375
+ return (_proto, key, descriptor) => {
3376
+ const fn = descriptor.value;
3377
+ return {
3378
+ get() {
3379
+ if (!this.hasOwnProperty(key)) {
3380
+ Object.defineProperty(this, key, {
3381
+ value: debounce$1(fn, ...options)
3382
+ });
3383
+ }
3384
+ return this[key];
3385
+ }
3386
+ };
3387
+ };
3388
+ }
3389
+ var __defProp$2 = Object.defineProperty;
3390
+ var __getOwnPropDesc$2 = Object.getOwnPropertyDescriptor;
3391
+ var __decorateClass$2 = (decorators, target, key, kind) => {
3392
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$2(target, key) : target;
3393
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
3394
+ if (decorator = decorators[i])
3395
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
3396
+ if (kind && result)
3397
+ __defProp$2(target, key, result);
3398
+ return result;
3399
+ };
3400
+ class Options {
3401
+ constructor(config = {}) {
3402
+ this.damping = 0.1;
3403
+ this.thumbMinSize = 20;
3404
+ this.renderByPixels = true;
3405
+ this.alwaysShowTracks = false;
3406
+ this.continuousScrolling = true;
3407
+ this.delegateTo = null;
3408
+ this.keepStruct = true;
3409
+ this.plugins = {};
3410
+ Object.keys(config).forEach((prop) => {
3411
+ this[prop] = config[prop];
3412
+ });
3413
+ }
3414
+ get wheelEventTarget() {
3415
+ return this.delegateTo;
3416
+ }
3417
+ set wheelEventTarget(el) {
3418
+ console.warn("[smooth-scrollbar]: `options.wheelEventTarget` is deprecated and will be removed in the future, use `options.delegateTo` instead.");
3419
+ this.delegateTo = el;
3420
+ }
3421
+ }
3422
+ __decorateClass$2([
3423
+ range(0, 1)
3424
+ ], Options.prototype, "damping", 2);
3425
+ __decorateClass$2([
3426
+ range(0, Infinity)
3427
+ ], Options.prototype, "thumbMinSize", 2);
3428
+ __decorateClass$2([
3429
+ bk_smooth_scrollbar_boolean
3430
+ ], Options.prototype, "renderByPixels", 2);
3431
+ __decorateClass$2([
3432
+ bk_smooth_scrollbar_boolean
3433
+ ], Options.prototype, "alwaysShowTracks", 2);
3434
+ __decorateClass$2([
3435
+ bk_smooth_scrollbar_boolean
3436
+ ], Options.prototype, "continuousScrolling", 2);
3437
+ var TrackDirection = /* @__PURE__ */ ((TrackDirection2) => {
3438
+ TrackDirection2["X"] = "x";
3439
+ TrackDirection2["Y"] = "y";
3440
+ return TrackDirection2;
3441
+ })(TrackDirection || {});
3442
+ class ScrollbarThumb {
3443
+ constructor(_direction, _minSize = 0) {
3444
+ this._direction = _direction;
3445
+ this._minSize = _minSize;
3446
+ this.element = document.createElement("div");
3447
+ this.displaySize = 0;
3448
+ this.realSize = 0;
3449
+ this.offset = 0;
3450
+ this.element.className = `scrollbar-thumb scrollbar-thumb-${_direction}`;
3451
+ }
3452
+ /**
3453
+ * Attach to track element
3454
+ *
3455
+ * @param trackEl Track element
3456
+ */
3457
+ attachTo(trackEl) {
3458
+ trackEl.appendChild(this.element);
3459
+ }
3460
+ update(scrollOffset, containerSize, pageSize) {
3461
+ this.realSize = Math.min(containerSize / pageSize, 1) * containerSize;
3462
+ this.displaySize = Math.max(this.realSize, this._minSize);
3463
+ this.offset = scrollOffset / pageSize * (containerSize + (this.realSize - this.displaySize));
3464
+ setStyle(this.element, this._getStyle());
3465
+ }
3466
+ _getStyle() {
3467
+ switch (this._direction) {
3468
+ case TrackDirection.X:
3469
+ return {
3470
+ width: `${this.displaySize}px`,
3471
+ "-transform": `translate3d(${this.offset}px, 0, 0)`
3472
+ };
3473
+ case TrackDirection.Y:
3474
+ return {
3475
+ height: `${this.displaySize}px`,
3476
+ "-transform": `translate3d(0, ${this.offset}px, 0)`
3477
+ };
3478
+ default:
3479
+ return null;
3480
+ }
3481
+ }
3482
+ }
3483
+ class ScrollbarTrack {
3484
+ constructor(direction, thumbMinSize = 0) {
3485
+ this.element = document.createElement("div");
3486
+ this._isShown = false;
3487
+ this.element.className = `scrollbar-track scrollbar-track-${direction}`;
3488
+ this.thumb = new ScrollbarThumb(
3489
+ direction,
3490
+ thumbMinSize
3491
+ );
3492
+ this.thumb.attachTo(this.element);
3493
+ }
3494
+ /**
3495
+ * Attach to scrollbar container element
3496
+ *
3497
+ * @param scrollbarContainer Scrollbar container element
3498
+ */
3499
+ attachTo(scrollbarContainer) {
3500
+ scrollbarContainer.appendChild(this.element);
3501
+ }
3502
+ /**
3503
+ * Show track immediately
3504
+ */
3505
+ show() {
3506
+ if (this._isShown) {
3507
+ return;
3508
+ }
3509
+ this._isShown = true;
3510
+ this.element.classList.add("show");
3511
+ }
3512
+ /**
3513
+ * Hide track immediately
3514
+ */
3515
+ hide() {
3516
+ if (!this._isShown) {
3517
+ return;
3518
+ }
3519
+ this._isShown = false;
3520
+ this.element.classList.remove("show");
3521
+ }
3522
+ update(scrollOffset, containerSize, pageSize) {
3523
+ setStyle(this.element, {
3524
+ display: pageSize <= containerSize ? "none" : "block"
3525
+ });
3526
+ this.thumb.update(scrollOffset, containerSize, pageSize);
3527
+ }
3528
+ }
3529
+ var __defProp$1 = Object.defineProperty;
3530
+ var __getOwnPropDesc$1 = Object.getOwnPropertyDescriptor;
3531
+ var __decorateClass$1 = (decorators, target, key, kind) => {
3532
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc$1(target, key) : target;
3533
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
3534
+ if (decorator = decorators[i])
3535
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
3536
+ if (kind && result)
3537
+ __defProp$1(target, key, result);
3538
+ return result;
3539
+ };
3540
+ class TrackController {
3541
+ constructor(_scrollbar) {
3542
+ this._scrollbar = _scrollbar;
3543
+ const thumbMinSize = _scrollbar.options.thumbMinSize;
3544
+ this.xAxis = new ScrollbarTrack(TrackDirection.X, thumbMinSize);
3545
+ this.yAxis = new ScrollbarTrack(TrackDirection.Y, thumbMinSize);
3546
+ this.xAxis.attachTo(_scrollbar.containerEl);
3547
+ this.yAxis.attachTo(_scrollbar.containerEl);
3548
+ if (_scrollbar.options.alwaysShowTracks) {
3549
+ this.xAxis.show();
3550
+ this.yAxis.show();
3551
+ }
3552
+ }
3553
+ /**
3554
+ * Updates track appearance
3555
+ */
3556
+ update() {
3557
+ const {
3558
+ size: size2,
3559
+ offset
3560
+ } = this._scrollbar;
3561
+ this.xAxis.update(offset.x, size2.container.width, size2.content.width);
3562
+ this.yAxis.update(offset.y, size2.container.height, size2.content.height);
3563
+ }
3564
+ autoHideOnIdle() {
3565
+ if (this._scrollbar.options.alwaysShowTracks) {
3566
+ return;
3567
+ }
3568
+ this.xAxis.hide();
3569
+ this.yAxis.hide();
3570
+ }
3571
+ }
3572
+ __decorateClass$1([
3573
+ debounce(300)
3574
+ ], TrackController.prototype, "autoHideOnIdle", 1);
3575
+ function getSize(scrollbar) {
3576
+ const {
3577
+ containerEl,
3578
+ contentEl
3579
+ } = scrollbar;
3580
+ const containerStyles = getComputedStyle(containerEl);
3581
+ const paddings = [
3582
+ "paddingTop",
3583
+ "paddingBottom",
3584
+ "paddingLeft",
3585
+ "paddingRight"
3586
+ ].map((prop) => {
3587
+ return containerStyles[prop] ? parseFloat(containerStyles[prop]) : 0;
3588
+ });
3589
+ const verticalPadding = paddings[0] + paddings[1];
3590
+ const horizontalPadding = paddings[2] + paddings[3];
3591
+ return {
3592
+ container: {
3593
+ // requires `overflow: hidden`
3594
+ width: containerEl.clientWidth,
3595
+ height: containerEl.clientHeight
3596
+ },
3597
+ content: {
3598
+ // border width and paddings should be included
3599
+ width: contentEl.offsetWidth - contentEl.clientWidth + contentEl.scrollWidth + horizontalPadding,
3600
+ height: contentEl.offsetHeight - contentEl.clientHeight + contentEl.scrollHeight + verticalPadding
3601
+ }
3602
+ };
3603
+ }
3604
+ function isVisible(scrollbar, elem) {
3605
+ const { bounding } = scrollbar;
3606
+ const targetBounding = elem.getBoundingClientRect();
3607
+ const top = Math.max(bounding.top, targetBounding.top);
3608
+ const left = Math.max(bounding.left, targetBounding.left);
3609
+ const right = Math.min(bounding.right, targetBounding.right);
3610
+ const bottom = Math.min(bounding.bottom, targetBounding.bottom);
3611
+ return top < bottom && left < right;
3612
+ }
3613
+ function update(scrollbar) {
3614
+ const newSize = scrollbar.getSize();
3615
+ const limit = {
3616
+ x: Math.max(newSize.content.width - newSize.container.width, 0),
3617
+ y: Math.max(newSize.content.height - newSize.container.height, 0)
3618
+ };
3619
+ const containerBounding = scrollbar.containerEl.getBoundingClientRect();
3620
+ const bounding = {
3621
+ top: Math.max(containerBounding.top, 0),
3622
+ right: Math.min(containerBounding.right, window.innerWidth),
3623
+ bottom: Math.min(containerBounding.bottom, window.innerHeight),
3624
+ left: Math.max(containerBounding.left, 0)
3625
+ };
3626
+ scrollbar.size = newSize;
3627
+ scrollbar.limit = limit;
3628
+ scrollbar.bounding = bounding;
3629
+ scrollbar.track.update();
3630
+ scrollbar.setPosition();
3631
+ }
3632
+ function setPosition(scrollbar, x, y) {
3633
+ const {
3634
+ options,
3635
+ offset,
3636
+ limit,
3637
+ track,
3638
+ contentEl
3639
+ } = scrollbar;
3640
+ if (options.renderByPixels) {
3641
+ x = Math.round(x);
3642
+ y = Math.round(y);
3643
+ }
3644
+ x = clamp(x, 0, limit.x);
3645
+ y = clamp(y, 0, limit.y);
3646
+ if (x !== offset.x)
3647
+ track.xAxis.show();
3648
+ if (y !== offset.y)
3649
+ track.yAxis.show();
3650
+ if (!options.alwaysShowTracks) {
3651
+ track.autoHideOnIdle();
3652
+ }
3653
+ if (x === offset.x && y === offset.y) {
3654
+ return null;
3655
+ }
3656
+ offset.x = x;
3657
+ offset.y = y;
3658
+ if (!options.keepStruct) {
3659
+ setStyle(contentEl, {
3660
+ "-transform": `translate3d(${-x}px, ${-y}px, 0)`
3661
+ });
3662
+ }
3663
+ track.update();
3664
+ return {
3665
+ offset: { ...offset },
3666
+ limit: { ...limit }
3667
+ };
3668
+ }
3669
+ const animationIDStorage = /* @__PURE__ */ new WeakMap();
3670
+ function scrollTo(scrollbar, x, y, duration = 0, { easing = defaultEasing, callback } = {}) {
3671
+ const {
3672
+ options,
3673
+ offset,
3674
+ limit
3675
+ } = scrollbar;
3676
+ if (options.renderByPixels) {
3677
+ x = Math.round(x);
3678
+ y = Math.round(y);
3679
+ }
3680
+ const startX = offset.x;
3681
+ const startY = offset.y;
3682
+ const disX = clamp(x, 0, limit.x) - startX;
3683
+ const disY = clamp(y, 0, limit.y) - startY;
3684
+ const start = Date.now();
3685
+ function scroll() {
3686
+ const elapse = Date.now() - start;
3687
+ const progress = duration ? easing(Math.min(elapse / duration, 1)) : 1;
3688
+ scrollbar.setPosition(
3689
+ startX + disX * progress,
3690
+ startY + disY * progress
3691
+ );
3692
+ if (elapse >= duration) {
3693
+ if (typeof callback === "function") {
3694
+ callback.call(scrollbar);
3695
+ }
3696
+ } else {
3697
+ const animationID = requestAnimationFrame(scroll);
3698
+ animationIDStorage.set(scrollbar, animationID);
3699
+ }
3700
+ }
3701
+ cancelAnimationFrame(animationIDStorage.get(scrollbar));
3702
+ scroll();
3703
+ }
3704
+ function defaultEasing(t) {
3705
+ return (t - 1) ** 3 + 1;
3706
+ }
3707
+ function scrollIntoView(scrollbar, elem, {
3708
+ alignToTop = true,
3709
+ onlyScrollIfNeeded = false,
3710
+ offsetTop = 0,
3711
+ offsetLeft = 0,
3712
+ offsetBottom = 0
3713
+ } = {}) {
3714
+ const {
3715
+ containerEl,
3716
+ bounding,
3717
+ offset,
3718
+ limit
3719
+ } = scrollbar;
3720
+ if (!elem || !containerEl.contains(elem))
3721
+ return;
3722
+ const targetBounding = elem.getBoundingClientRect();
3723
+ if (onlyScrollIfNeeded && scrollbar.isVisible(elem))
3724
+ return;
3725
+ const delta = alignToTop ? targetBounding.top - bounding.top - offsetTop : targetBounding.bottom - bounding.bottom + offsetBottom;
3726
+ scrollbar.setMomentum(
3727
+ targetBounding.left - bounding.left - offsetLeft,
3728
+ clamp(delta, -offset.y, limit.y - offset.y)
3729
+ );
3730
+ }
3731
+ const _ScrollbarPlugin = class _ScrollbarPlugin {
3732
+ constructor(scrollbar, options) {
3733
+ this.scrollbar = scrollbar;
3734
+ this.name = new.target.pluginName;
3735
+ this.options = {
3736
+ ...new.target.defaultOptions,
3737
+ ...options
3738
+ };
3739
+ }
3740
+ onInit() {
3741
+ }
3742
+ onDestroy() {
3743
+ }
3744
+ onUpdate() {
3745
+ }
3746
+ onRender(_remainMomentum) {
3747
+ }
3748
+ transformDelta(delta, _evt) {
3749
+ return { ...delta };
3750
+ }
3751
+ };
3752
+ _ScrollbarPlugin.pluginName = "";
3753
+ _ScrollbarPlugin.defaultOptions = {};
3754
+ let ScrollbarPlugin = _ScrollbarPlugin;
3755
+ const globalPlugins = {
3756
+ order: /* @__PURE__ */ new Set(),
3757
+ constructors: {}
3758
+ };
3759
+ function addPlugins(...Plugins) {
3760
+ Plugins.forEach((P) => {
3761
+ const { pluginName } = P;
3762
+ if (!pluginName) {
3763
+ throw new TypeError(`plugin name is required`);
3764
+ }
3765
+ globalPlugins.order.add(pluginName);
3766
+ globalPlugins.constructors[pluginName] = P;
3767
+ });
3768
+ }
3769
+ function initPlugins(scrollbar, options) {
3770
+ return Array.from(globalPlugins.order).filter((pluginName) => {
3771
+ return options[pluginName] !== false;
3772
+ }).map((pluginName) => {
3773
+ const Plugin = globalPlugins.constructors[pluginName];
3774
+ const instance = new Plugin(scrollbar, options[pluginName]);
3775
+ options[pluginName] = instance.options;
3776
+ return instance;
3777
+ });
3778
+ }
3779
+ function keyboardHandler(scrollbar) {
3780
+ const addEvent = eventScope(scrollbar);
3781
+ const container = scrollbar.containerEl;
3782
+ addEvent(container, "keydown", (evt) => {
3783
+ const { activeElement } = document;
3784
+ if (activeElement !== container && !container.contains(activeElement)) {
3785
+ return;
3786
+ }
3787
+ if (isEditable(activeElement)) {
3788
+ return;
3789
+ }
3790
+ const delta = getKeyDelta(scrollbar, evt.keyCode || evt.which);
3791
+ if (!delta) {
3792
+ return;
3793
+ }
3794
+ const [x, y] = delta;
3795
+ scrollbar.addTransformableMomentum(x, y, evt, (willScroll) => {
3796
+ if (willScroll) {
3797
+ evt.preventDefault();
3798
+ } else {
3799
+ scrollbar.containerEl.blur();
3800
+ if (scrollbar.parent) {
3801
+ scrollbar.parent.containerEl.focus();
3802
+ }
3803
+ }
3804
+ });
3805
+ });
3806
+ }
3807
+ function getKeyDelta(scrollbar, keyCode) {
3808
+ const {
3809
+ size: size2,
3810
+ limit,
3811
+ offset
3812
+ } = scrollbar;
3813
+ switch (keyCode) {
3814
+ case 9:
3815
+ return handleTabKey(scrollbar);
3816
+ case 32:
3817
+ return [0, 200];
3818
+ case 33:
3819
+ return [0, -size2.container.height + 40];
3820
+ case 34:
3821
+ return [0, size2.container.height - 40];
3822
+ case 35:
3823
+ return [0, limit.y - offset.y];
3824
+ case 36:
3825
+ return [0, -offset.y];
3826
+ case 37:
3827
+ return [-40, 0];
3828
+ case 38:
3829
+ return [0, -40];
3830
+ case 39:
3831
+ return [40, 0];
3832
+ case 40:
3833
+ return [0, 40];
3834
+ default:
3835
+ return null;
3836
+ }
3837
+ }
3838
+ function handleTabKey(scrollbar) {
3839
+ requestAnimationFrame(() => {
3840
+ scrollbar.scrollIntoView(document.activeElement, {
3841
+ offsetTop: scrollbar.size.container.height / 2,
3842
+ offsetLeft: scrollbar.size.container.width / 2,
3843
+ onlyScrollIfNeeded: true
3844
+ });
3845
+ });
3846
+ }
3847
+ function isEditable(elem) {
3848
+ if (elem.tagName === "INPUT" || elem.tagName === "SELECT" || elem.tagName === "TEXTAREA" || elem.isContentEditable) {
3849
+ return !elem.disabled;
3850
+ }
3851
+ return false;
3852
+ }
3853
+ function mouseHandler(scrollbar) {
3854
+ const addEvent = eventScope(scrollbar);
3855
+ const container = scrollbar.containerEl;
3856
+ const { xAxis, yAxis } = scrollbar.track;
3857
+ function calcMomentum2(direction, clickPosition) {
3858
+ const {
3859
+ size: size2,
3860
+ limit,
3861
+ offset
3862
+ } = scrollbar;
3863
+ if (direction === 0) {
3864
+ const totalWidth = size2.container.width + (xAxis.thumb.realSize - xAxis.thumb.displaySize);
3865
+ return clamp(clickPosition / totalWidth * size2.content.width, 0, limit.x) - offset.x;
3866
+ }
3867
+ if (direction === 1) {
3868
+ const totalHeight = size2.container.height + (yAxis.thumb.realSize - yAxis.thumb.displaySize);
3869
+ return clamp(clickPosition / totalHeight * size2.content.height, 0, limit.y) - offset.y;
3870
+ }
3871
+ return 0;
3872
+ }
3873
+ function getTrackDirection(elem) {
3874
+ if (isOneOf(elem, [xAxis.element, xAxis.thumb.element])) {
3875
+ return 0;
3876
+ }
3877
+ if (isOneOf(elem, [yAxis.element, yAxis.thumb.element])) {
3878
+ return 1;
3879
+ }
3880
+ return void 0;
3881
+ }
3882
+ let isMouseDown;
3883
+ let isMouseMoving;
3884
+ let startOffsetToThumb;
3885
+ let trackDirection;
3886
+ let containerRect;
3887
+ addEvent(container, "click", (evt) => {
3888
+ if (isMouseMoving || !isOneOf(evt.target, [xAxis.element, yAxis.element])) {
3889
+ return;
3890
+ }
3891
+ const track = evt.target;
3892
+ const direction = getTrackDirection(track);
3893
+ const rect = track.getBoundingClientRect();
3894
+ const clickPos = getPosition(evt);
3895
+ if (direction === 0) {
3896
+ const offsetOnTrack = clickPos.x - rect.left - xAxis.thumb.displaySize / 2;
3897
+ scrollbar.setMomentum(calcMomentum2(direction, offsetOnTrack), 0);
3898
+ }
3899
+ if (direction === 1) {
3900
+ const offsetOnTrack = clickPos.y - rect.top - yAxis.thumb.displaySize / 2;
3901
+ scrollbar.setMomentum(0, calcMomentum2(direction, offsetOnTrack));
3902
+ }
3903
+ });
3904
+ addEvent(container, "mousedown", (evt) => {
3905
+ if (!isOneOf(evt.target, [xAxis.thumb.element, yAxis.thumb.element])) {
3906
+ return;
3907
+ }
3908
+ isMouseDown = true;
3909
+ const thumb = evt.target;
3910
+ const cursorPos = getPosition(evt);
3911
+ const thumbRect = thumb.getBoundingClientRect();
3912
+ trackDirection = getTrackDirection(thumb);
3913
+ startOffsetToThumb = {
3914
+ x: cursorPos.x - thumbRect.left,
3915
+ y: cursorPos.y - thumbRect.top
3916
+ };
3917
+ containerRect = container.getBoundingClientRect();
3918
+ setStyle(scrollbar.containerEl, {
3919
+ "-user-select": "none"
3920
+ });
3921
+ });
3922
+ addEvent(window, "mousemove", (evt) => {
3923
+ if (!isMouseDown)
3924
+ return;
3925
+ isMouseMoving = true;
3926
+ const cursorPos = getPosition(evt);
3927
+ if (trackDirection === 0) {
3928
+ const offsetOnTrack = cursorPos.x - startOffsetToThumb.x - containerRect.left;
3929
+ scrollbar.setMomentum(calcMomentum2(trackDirection, offsetOnTrack), 0);
3930
+ }
3931
+ if (trackDirection === 1) {
3932
+ const offsetOnTrack = cursorPos.y - startOffsetToThumb.y - containerRect.top;
3933
+ scrollbar.setMomentum(0, calcMomentum2(trackDirection, offsetOnTrack));
3934
+ }
3935
+ });
3936
+ addEvent(window, "mouseup blur", () => {
3937
+ isMouseDown = isMouseMoving = false;
3938
+ setStyle(scrollbar.containerEl, {
3939
+ "-user-select": ""
3940
+ });
3941
+ });
3942
+ }
3943
+ function resizeHandler(scrollbar) {
3944
+ const addEvent = eventScope(scrollbar);
3945
+ addEvent(
3946
+ window,
3947
+ "resize",
3948
+ debounce$1(scrollbar.update.bind(scrollbar), 300)
3949
+ );
3950
+ }
3951
+ function selectHandler(scrollbar) {
3952
+ const addEvent = eventScope(scrollbar);
3953
+ const { containerEl, contentEl } = scrollbar;
3954
+ let isSelected = false;
3955
+ let isContextMenuOpened = false;
3956
+ let animationID;
3957
+ function scroll({ x, y }) {
3958
+ if (!x && !y)
3959
+ return;
3960
+ const { offset, limit } = scrollbar;
3961
+ scrollbar.setMomentum(
3962
+ clamp(offset.x + x, 0, limit.x) - offset.x,
3963
+ clamp(offset.y + y, 0, limit.y) - offset.y
3964
+ );
3965
+ animationID = requestAnimationFrame(() => {
3966
+ scroll({ x, y });
3967
+ });
3968
+ }
3969
+ addEvent(window, "mousemove", (evt) => {
3970
+ if (!isSelected)
3971
+ return;
3972
+ cancelAnimationFrame(animationID);
3973
+ const dir = calcMomentum(scrollbar, evt);
3974
+ scroll(dir);
3975
+ });
3976
+ addEvent(contentEl, "contextmenu", () => {
3977
+ isContextMenuOpened = true;
3978
+ cancelAnimationFrame(animationID);
3979
+ isSelected = false;
3980
+ });
3981
+ addEvent(contentEl, "mousedown", () => {
3982
+ isContextMenuOpened = false;
3983
+ });
3984
+ addEvent(contentEl, "selectstart", () => {
3985
+ if (isContextMenuOpened) {
3986
+ return;
3987
+ }
3988
+ cancelAnimationFrame(animationID);
3989
+ isSelected = true;
3990
+ });
3991
+ addEvent(window, "mouseup blur", () => {
3992
+ cancelAnimationFrame(animationID);
3993
+ isSelected = false;
3994
+ isContextMenuOpened = false;
3995
+ });
3996
+ addEvent(containerEl, "scroll", (evt) => {
3997
+ evt.preventDefault();
3998
+ containerEl.scrollTop = containerEl.scrollLeft = 0;
3999
+ });
4000
+ }
4001
+ function calcMomentum(scrollbar, evt) {
4002
+ const { top, right, bottom, left } = scrollbar.bounding;
4003
+ const { x, y } = getPosition(evt);
4004
+ const res = {
4005
+ x: 0,
4006
+ y: 0
4007
+ };
4008
+ const padding = 20;
4009
+ if (x === 0 && y === 0)
4010
+ return res;
4011
+ if (x > right - padding) {
4012
+ res.x = x - right + padding;
4013
+ } else if (x < left + padding) {
4014
+ res.x = x - left - padding;
4015
+ }
4016
+ if (y > bottom - padding) {
4017
+ res.y = y - bottom + padding;
4018
+ } else if (y < top + padding) {
4019
+ res.y = y - top - padding;
4020
+ }
4021
+ res.x *= 2;
4022
+ res.y *= 2;
4023
+ return res;
4024
+ }
4025
+ let activeScrollbar;
4026
+ function touchHandler(scrollbar) {
4027
+ const target = scrollbar.options.delegateTo || scrollbar.containerEl;
4028
+ const touchRecord = new TouchRecord();
4029
+ const addEvent = eventScope(scrollbar);
4030
+ let damping;
4031
+ let pointerCount = 0;
4032
+ addEvent(target, "touchstart", (evt) => {
4033
+ touchRecord.track(evt);
4034
+ scrollbar.setMomentum(0, 0);
4035
+ if (pointerCount === 0) {
4036
+ damping = scrollbar.options.damping;
4037
+ scrollbar.options.damping = Math.max(damping, 0.5);
4038
+ }
4039
+ pointerCount++;
4040
+ });
4041
+ addEvent(target, "touchmove", (evt) => {
4042
+ if (activeScrollbar && activeScrollbar !== scrollbar)
4043
+ return;
4044
+ touchRecord.update(evt);
4045
+ if (["xAxis", "yAxis"].some((key) => isScrollEnabled(scrollbar, key))) {
4046
+ const { x, y } = touchRecord.getDelta();
4047
+ scrollbar.addTransformableMomentum(x, y, evt, (willScroll) => {
4048
+ if (willScroll && evt.cancelable) {
4049
+ evt.preventDefault();
4050
+ activeScrollbar = scrollbar;
4051
+ }
4052
+ });
4053
+ }
4054
+ });
4055
+ addEvent(target, "touchcancel touchend", (evt) => {
4056
+ const delta = touchRecord.getEasingDistance(damping);
4057
+ scrollbar.addTransformableMomentum(
4058
+ delta.x,
4059
+ delta.y,
4060
+ evt
4061
+ );
4062
+ pointerCount--;
4063
+ if (pointerCount === 0) {
4064
+ scrollbar.options.damping = damping;
4065
+ }
4066
+ touchRecord.release(evt);
4067
+ activeScrollbar = null;
4068
+ });
4069
+ }
4070
+ function wheelHandler(scrollbar) {
4071
+ const addEvent = eventScope(scrollbar);
4072
+ const target = scrollbar.options.delegateTo || scrollbar.containerEl;
4073
+ const eventName = "onwheel" in window || document.implementation.hasFeature("Events.wheel", "3.0") ? "wheel" : "mousewheel";
4074
+ addEvent(target, eventName, (evt) => {
4075
+ if (["xAxis", "yAxis"].some((key) => isScrollEnabled(scrollbar, key))) {
4076
+ const { x, y } = normalizeDelta(evt);
4077
+ scrollbar.addTransformableMomentum(x, y, evt, (willScroll) => {
4078
+ if (willScroll) {
4079
+ evt.preventDefault();
4080
+ }
4081
+ });
4082
+ }
4083
+ });
4084
+ }
4085
+ const DELTA_SCALE = {
4086
+ STANDARD: 1,
4087
+ OTHERS: -3
4088
+ };
4089
+ const DELTA_MODE = [1, 28, 500];
4090
+ const getDeltaMode = (mode) => DELTA_MODE[mode] || DELTA_MODE[0];
4091
+ function normalizeDelta(evt) {
4092
+ if ("deltaX" in evt) {
4093
+ const mode = getDeltaMode(evt.deltaMode);
4094
+ return {
4095
+ x: evt.deltaX / DELTA_SCALE.STANDARD * mode,
4096
+ y: evt.deltaY / DELTA_SCALE.STANDARD * mode
4097
+ };
4098
+ }
4099
+ if ("wheelDeltaX" in evt) {
4100
+ return {
4101
+ x: evt.wheelDeltaX / DELTA_SCALE.OTHERS,
4102
+ y: evt.wheelDeltaY / DELTA_SCALE.OTHERS
4103
+ };
4104
+ }
4105
+ return {
4106
+ x: 0,
4107
+ y: evt.wheelDelta / DELTA_SCALE.OTHERS
4108
+ };
4109
+ }
4110
+ const eventHandlers = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4111
+ __proto__: null,
4112
+ keyboardHandler,
4113
+ mouseHandler,
4114
+ resizeHandler,
4115
+ selectHandler,
4116
+ touchHandler,
4117
+ wheelHandler
4118
+ }, Symbol.toStringTag, { value: "Module" }));
4119
+ var __defProp = Object.defineProperty;
4120
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4121
+ var __decorateClass = (decorators, target, key, kind) => {
4122
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
4123
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
4124
+ if (decorator = decorators[i])
4125
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
4126
+ if (kind && result)
4127
+ __defProp(target, key, result);
4128
+ return result;
4129
+ };
4130
+ const scrollbarMap = /* @__PURE__ */ new Map();
4131
+ class Scrollbar {
4132
+ constructor(containerEl, options) {
4133
+ this.offset = {
4134
+ x: 0,
4135
+ y: 0
4136
+ };
4137
+ this.limit = {
4138
+ x: Infinity,
4139
+ y: Infinity
4140
+ };
4141
+ this.bounding = {
4142
+ top: 0,
4143
+ right: 0,
4144
+ bottom: 0,
4145
+ left: 0
4146
+ };
4147
+ this._plugins = [];
4148
+ this._momentum = { x: 0, y: 0 };
4149
+ this._listeners = /* @__PURE__ */ new Set();
4150
+ this.containerEl = containerEl;
4151
+ const contentEl = this.contentEl = (options == null ? void 0 : options.keepStruct) ? containerEl : document.createElement("div");
4152
+ this.options = new Options(options);
4153
+ containerEl.setAttribute("data-scrollbar", "true");
4154
+ containerEl.setAttribute("tabindex", "-1");
4155
+ setStyle(containerEl, {
4156
+ overflow: "hidden",
4157
+ outline: "none"
4158
+ });
4159
+ if (window.navigator.msPointerEnabled) {
4160
+ containerEl.style.msTouchAction = "none";
4161
+ }
4162
+ contentEl.classList.add("scroll-content");
4163
+ if (!(options == null ? void 0 : options.keepStruct)) {
4164
+ Array.from(containerEl.childNodes).forEach((node) => {
4165
+ contentEl.appendChild(node);
4166
+ });
4167
+ containerEl.appendChild(contentEl);
4168
+ }
4169
+ this.track = new TrackController(this);
4170
+ this.size = this.getSize();
4171
+ this._plugins = initPlugins(this, this.options.plugins);
4172
+ const { scrollLeft, scrollTop } = containerEl;
4173
+ containerEl.scrollLeft = containerEl.scrollTop = 0;
4174
+ this.setPosition(scrollLeft, scrollTop, {
4175
+ withoutCallbacks: true
4176
+ });
4177
+ const ResizeObserver = window.ResizeObserver;
4178
+ if (typeof ResizeObserver === "function") {
4179
+ this._observer = new ResizeObserver(() => {
4180
+ this.update();
4181
+ });
4182
+ this._observer.observe(contentEl);
4183
+ }
4184
+ scrollbarMap.set(containerEl, this);
4185
+ requestAnimationFrame(() => {
4186
+ this._init();
4187
+ });
4188
+ }
4189
+ /**
4190
+ * Parent scrollbar
4191
+ */
4192
+ get parent() {
4193
+ let elem = this.containerEl.parentElement;
4194
+ while (elem) {
4195
+ const parentScrollbar = scrollbarMap.get(elem);
4196
+ if (parentScrollbar) {
4197
+ return parentScrollbar;
4198
+ }
4199
+ elem = elem.parentElement;
4200
+ }
4201
+ return null;
4202
+ }
4203
+ /**
4204
+ * Gets or sets `scrollbar.offset.y`
4205
+ */
4206
+ get scrollTop() {
4207
+ return this.offset.y;
4208
+ }
4209
+ set scrollTop(y) {
4210
+ this.setPosition(this.scrollLeft, y);
4211
+ }
4212
+ /**
4213
+ * Gets or sets `scrollbar.offset.x`
172
4214
  */
173
- enabled: shared_namespaceObject.PropTypes.bool.def(true),
4215
+ get scrollLeft() {
4216
+ return this.offset.x;
4217
+ }
4218
+ set scrollLeft(x) {
4219
+ this.setPosition(x, this.scrollTop);
4220
+ }
174
4221
  /**
175
- * 是否启用内置的Scroll Listener
176
- * 当启用虚拟滚动时(enabled = true),滚动监听为内置生效
177
- * 只有当(enabled = false)时此配置项才生效
4222
+ * Returns the size of the scrollbar container element
4223
+ * and the content wrapper element
178
4224
  */
179
- scrollEvent: shared_namespaceObject.PropTypes.bool.def(false),
4225
+ getSize() {
4226
+ return getSize(this);
4227
+ }
180
4228
  /**
181
- * 每行数据高度
182
- * 默认为数值类型,默认高度 30px
183
- * 如果每行高度不一致,可为回调函数:(index: number, row: any[]): number => {}
184
- * 函数参数为当前行index & 当前行数据 row,row为数组,当不分组时,为当前行item
185
- * 如果有分组展示, index 为当前分组 index, row为数组,当前行分组所有 item 数据
4229
+ * Forces scrollbar to update geometry infomation.
4230
+ *
4231
+ * By default, scrollbars are automatically updated with `100ms` debounce (or `MutationObserver` fires).
4232
+ * You can call this method to force an update when you modified contents
186
4233
  */
187
- lineHeight: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.number, shared_namespaceObject.PropTypes.func]).def(30),
188
- /** 整体最小高度 */
189
- minHeight: shared_namespaceObject.PropTypes.number.def(30),
190
- /** 整体最大高度 */
191
- maxHeight: shared_namespaceObject.PropTypes.number,
4234
+ update() {
4235
+ update(this);
4236
+ this._plugins.forEach((plugin) => {
4237
+ plugin.onUpdate();
4238
+ });
4239
+ }
192
4240
  /**
193
- * 整体高度
194
- * 可设置具体值,如果设置为 100%,则组件会自动计算外层DOM元素offsetHeight,用于计算可渲染行数
4241
+ * Checks if an element is visible in the current view area
195
4242
  */
196
- height: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.string.def('100%'), shared_namespaceObject.PropTypes.number]).def('100%'),
4243
+ isVisible(elem) {
4244
+ return isVisible(this, elem);
4245
+ }
197
4246
  /**
198
- * 渲染区域宽度
199
- * 如果设置 100% 则自适应外层元素宽度
4247
+ * Sets the scrollbar to the given offset without easing
200
4248
  */
201
- width: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.string.def('100%'), shared_namespaceObject.PropTypes.number]).def('100%'),
202
- /** 最外层元素ClassName */
203
- className: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.arrayOf(shared_namespaceObject.PropTypes.string), shared_namespaceObject.PropTypes.object, shared_namespaceObject.PropTypes.arrayOf(shared_namespaceObject.PropTypes.object), shared_namespaceObject.PropTypes.string]).def(''),
204
- /** 内层层元素ClassName */
205
- contentClassName: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.arrayOf(shared_namespaceObject.PropTypes.string), shared_namespaceObject.PropTypes.object, shared_namespaceObject.PropTypes.arrayOf(shared_namespaceObject.PropTypes.object), shared_namespaceObject.PropTypes.string]).def(''),
206
- /** 内层元素样式 */
207
- contentStyle: shared_namespaceObject.PropTypes.object.def({}),
208
- /** 用于自定义X轴滚动条样式 */
209
- scrollXName: shared_namespaceObject.PropTypes.string.def((0,shared_namespaceObject.resolveClassName)('F-scroll-x')),
210
- /** 用于自定义Y轴滚动条样式 */
211
- scrollYName: shared_namespaceObject.PropTypes.string.def((0,shared_namespaceObject.resolveClassName)('F-scroll-y')),
212
- /** 分组展示,一行数据可能有多条数据 */
213
- groupItemCount: shared_namespaceObject.PropTypes.number.def(1),
214
- /** 预加载行数,避免空白渲染 */
215
- preloadItemCount: shared_namespaceObject.PropTypes.number.def(1),
216
- /** 外层Dom元素需要渲染成的目标元素 */
217
- renderAs: shared_namespaceObject.PropTypes.string.def('div'),
218
- /** 内容层渲染成目标元素 */
219
- contentAs: shared_namespaceObject.PropTypes.string.def('div'),
220
- /** top 滚动填充 */
221
- scrollOffsetTop: shared_namespaceObject.PropTypes.number.def(0),
4249
+ setPosition(x = this.offset.x, y = this.offset.y, options = {}) {
4250
+ const status = setPosition(this, x, y);
4251
+ if (!status || options.withoutCallbacks) {
4252
+ return;
4253
+ }
4254
+ this._listeners.forEach((fn) => {
4255
+ fn.call(this, status);
4256
+ });
4257
+ }
222
4258
  /**
223
- * 内置滚动位置
224
- * 可选:container (最外层容器),content(内容层容器)
225
- * Note: container 慎选,需要自己处理样式 & 位置
4259
+ * Scrolls to given position with easing function
226
4260
  */
227
- scrollPosition: shared_namespaceObject.PropTypes.string.def('content'),
4261
+ scrollTo(x = this.offset.x, y = this.offset.y, duration = 0, options = {}) {
4262
+ scrollTo(this, x, y, duration, options);
4263
+ }
228
4264
  /**
229
- * 绝对高度 | 实际高估
230
- * 可选值: auto(根据行高和行数计算, LineHeight * List.length) number(外层给定高度,若为0,则不显示)
4265
+ * Scrolls the target element into visible area of scrollbar,
4266
+ * likes the DOM method `element.scrollIntoView().
231
4267
  */
232
- abosuteHeight: shared_namespaceObject.PropTypes.oneOfType([shared_namespaceObject.PropTypes.string.def('auto'), shared_namespaceObject.PropTypes.number]).def('auto'),
4268
+ scrollIntoView(elem, options = {}) {
4269
+ scrollIntoView(this, elem, options);
4270
+ }
233
4271
  /**
234
- * 滚动刷新计算间隔时间
235
- * 默认60 ms
4272
+ * Adds scrolling listener
236
4273
  */
237
- throttleDelay: shared_namespaceObject.PropTypes.number.def(60),
238
- rowKey: shared_namespaceObject.PropTypes.string.def(undefined),
4274
+ addListener(fn) {
4275
+ if (typeof fn !== "function") {
4276
+ throw new TypeError("[smooth-scrollbar] scrolling listener should be a function");
4277
+ }
4278
+ this._listeners.add(fn);
4279
+ }
239
4280
  /**
240
- * 数据改变时是否保持之前的状态
241
- * 保持滚动条位置、当前渲染区间
4281
+ * Removes listener previously registered with `scrollbar.addListener()`
242
4282
  */
243
- keepAlive: shared_namespaceObject.PropTypes.bool.def(false),
4283
+ removeListener(fn) {
4284
+ this._listeners.delete(fn);
4285
+ }
244
4286
  /**
245
- * 数据监听改变时,是否自动重置位置到[0, 0]
4287
+ * Adds momentum and applys delta transformers.
246
4288
  */
247
- autoReset: shared_namespaceObject.PropTypes.bool.def(true),
248
- wrapperStyle: shared_namespaceObject.PropTypes.any.def({})
249
- }, EventProps);
250
- ;// CONCATENATED MODULE: ../../packages/virtual-render/src/use-fix-top.tsx
251
- /* harmony default export */ const use_fix_top = (function (props, refRoot) {
252
- var scrollTo = function scrollTo() {
253
- var option = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
254
- left: 0,
255
- top: 0
4289
+ addTransformableMomentum(x, y, fromEvent, callback) {
4290
+ this._updateDebounced();
4291
+ const finalDelta = this._plugins.reduce((delta, plugin) => {
4292
+ return plugin.transformDelta(delta, fromEvent) || delta;
4293
+ }, { x, y });
4294
+ const willScroll = !this._shouldPropagateMomentum(finalDelta.x, finalDelta.y);
4295
+ if (willScroll) {
4296
+ this.addMomentum(finalDelta.x, finalDelta.y);
4297
+ }
4298
+ if (callback) {
4299
+ callback.call(this, willScroll);
4300
+ }
4301
+ }
4302
+ /**
4303
+ * Increases scrollbar's momentum
4304
+ */
4305
+ addMomentum(x, y) {
4306
+ this.setMomentum(
4307
+ this._momentum.x + x,
4308
+ this._momentum.y + y
4309
+ );
4310
+ }
4311
+ /**
4312
+ * Sets scrollbar's momentum to given value
4313
+ */
4314
+ setMomentum(x, y) {
4315
+ if (this.limit.x === 0) {
4316
+ x = 0;
4317
+ }
4318
+ if (this.limit.y === 0) {
4319
+ y = 0;
4320
+ }
4321
+ if (this.options.renderByPixels) {
4322
+ x = Math.round(x);
4323
+ y = Math.round(y);
4324
+ }
4325
+ this._momentum.x = x;
4326
+ this._momentum.y = y;
4327
+ }
4328
+ /**
4329
+ * Update options for specific plugin
4330
+ *
4331
+ * @param pluginName Name of the plugin
4332
+ * @param [options] An object includes the properties that you want to update
4333
+ */
4334
+ updatePluginOptions(pluginName, options) {
4335
+ this._plugins.forEach((plugin) => {
4336
+ if (plugin.name === pluginName) {
4337
+ Object.assign(plugin.options, options);
4338
+ }
4339
+ });
4340
+ }
4341
+ destroy() {
4342
+ const {
4343
+ containerEl,
4344
+ contentEl
4345
+ } = this;
4346
+ clearEventsOn(this);
4347
+ this._listeners.clear();
4348
+ this.setMomentum(0, 0);
4349
+ cancelAnimationFrame(this._renderID);
4350
+ if (this._observer) {
4351
+ this._observer.disconnect();
4352
+ }
4353
+ scrollbarMap.delete(this.containerEl);
4354
+ const childNodes = Array.from(contentEl.childNodes);
4355
+ while (containerEl.firstChild) {
4356
+ containerEl.removeChild(containerEl.firstChild);
4357
+ }
4358
+ childNodes.forEach((el) => {
4359
+ containerEl.appendChild(el);
4360
+ });
4361
+ setStyle(containerEl, {
4362
+ overflow: ""
4363
+ });
4364
+ containerEl.scrollTop = this.scrollTop;
4365
+ containerEl.scrollLeft = this.scrollLeft;
4366
+ this._plugins.forEach((plugin) => {
4367
+ plugin.onDestroy();
4368
+ });
4369
+ this._plugins.length = 0;
4370
+ }
4371
+ _init() {
4372
+ this.update();
4373
+ Object.keys(eventHandlers).forEach((prop) => {
4374
+ eventHandlers[prop](this);
4375
+ });
4376
+ this._plugins.forEach((plugin) => {
4377
+ plugin.onInit();
4378
+ });
4379
+ this._render();
4380
+ }
4381
+ _updateDebounced() {
4382
+ this.update();
4383
+ }
4384
+ // check whether to propagate monmentum to parent scrollbar
4385
+ // the following situations are considered as `true`:
4386
+ // 1. continuous scrolling is enabled (automatically disabled when overscroll is enabled)
4387
+ // 2. scrollbar reaches one side and is not about to scroll on the other direction
4388
+ _shouldPropagateMomentum(deltaX = 0, deltaY = 0) {
4389
+ const {
4390
+ options,
4391
+ offset,
4392
+ limit
4393
+ } = this;
4394
+ if (!options.continuousScrolling)
4395
+ return false;
4396
+ if (limit.x === 0 && limit.y === 0) {
4397
+ this._updateDebounced();
4398
+ }
4399
+ const destX = clamp(deltaX + offset.x, 0, limit.x);
4400
+ const destY = clamp(deltaY + offset.y, 0, limit.y);
4401
+ let res = true;
4402
+ res = res && destX === offset.x;
4403
+ res = res && destY === offset.y;
4404
+ res = res && (offset.x === limit.x || offset.x === 0 || offset.y === limit.y || offset.y === 0);
4405
+ return res;
4406
+ }
4407
+ _render() {
4408
+ const {
4409
+ _momentum
4410
+ } = this;
4411
+ if (_momentum.x || _momentum.y) {
4412
+ const nextX = this._nextTick("x");
4413
+ const nextY = this._nextTick("y");
4414
+ _momentum.x = nextX.momentum;
4415
+ _momentum.y = nextY.momentum;
4416
+ this.setPosition(nextX.position, nextY.position);
4417
+ }
4418
+ const remain = { ...this._momentum };
4419
+ this._plugins.forEach((plugin) => {
4420
+ plugin.onRender(remain);
4421
+ });
4422
+ this._renderID = requestAnimationFrame(this._render.bind(this));
4423
+ }
4424
+ _nextTick(direction) {
4425
+ const {
4426
+ options,
4427
+ offset,
4428
+ _momentum
4429
+ } = this;
4430
+ const current = offset[direction];
4431
+ const remain = _momentum[direction];
4432
+ if (Math.abs(remain) <= 0.1) {
4433
+ return {
4434
+ momentum: 0,
4435
+ position: current + remain
4436
+ };
4437
+ }
4438
+ let nextMomentum = remain * (1 - options.damping);
4439
+ if (options.renderByPixels) {
4440
+ nextMomentum |= 0;
4441
+ }
4442
+ return {
4443
+ momentum: nextMomentum,
4444
+ position: current + remain - nextMomentum
256
4445
  };
257
- var left = option.left,
258
- top = option.top;
259
- refRoot.value.scrollTo(left, top);
260
- };
4446
+ }
4447
+ }
4448
+ __decorateClass([
4449
+ debounce(100, true)
4450
+ ], Scrollbar.prototype, "_updateDebounced", 1);
4451
+ const TRACK_BG = "rgba(222, 222, 222, .75)";
4452
+ const THUMB_BG = "rgba(0, 0, 0, .5)";
4453
+ const SCROLLBAR_STYLE = `
4454
+ [data-scrollbar] {
4455
+ display: block;
4456
+ position: relative;
4457
+ }
4458
+
4459
+ .scroll-content {
4460
+ display: flow-root;
4461
+ -webkit-transform: translate3d(0, 0, 0);
4462
+ transform: translate3d(0, 0, 0);
4463
+ }
4464
+
4465
+ .scrollbar-track {
4466
+ position: absolute;
4467
+ opacity: 0;
4468
+ z-index: 1;
4469
+ background: ${TRACK_BG};
4470
+ -webkit-user-select: none;
4471
+ -moz-user-select: none;
4472
+ -ms-user-select: none;
4473
+ user-select: none;
4474
+ -webkit-transition: opacity 0.5s 0.5s ease-out;
4475
+ transition: opacity 0.5s 0.5s ease-out;
4476
+ }
4477
+ .scrollbar-track.show,
4478
+ .scrollbar-track:hover {
4479
+ opacity: 1;
4480
+ -webkit-transition-delay: 0s;
4481
+ transition-delay: 0s;
4482
+ }
4483
+
4484
+ .scrollbar-track-x {
4485
+ bottom: 0;
4486
+ left: 0;
4487
+ width: 100%;
4488
+ height: 8px;
4489
+ }
4490
+ .scrollbar-track-y {
4491
+ top: 0;
4492
+ right: 0;
4493
+ width: 8px;
4494
+ height: 100%;
4495
+ }
4496
+ .scrollbar-thumb {
4497
+ position: absolute;
4498
+ top: 0;
4499
+ left: 0;
4500
+ width: 8px;
4501
+ height: 8px;
4502
+ background: ${THUMB_BG};
4503
+ border-radius: 4px;
4504
+ }
4505
+ `;
4506
+ const STYLE_ID = "smooth-scrollbar-style";
4507
+ let isStyleAttached = false;
4508
+ function attachStyle() {
4509
+ if (isStyleAttached || typeof window === "undefined") {
4510
+ return;
4511
+ }
4512
+ const styleEl = document.createElement("style");
4513
+ styleEl.id = STYLE_ID;
4514
+ styleEl.textContent = SCROLLBAR_STYLE;
4515
+ if (document.head) {
4516
+ document.head.appendChild(styleEl);
4517
+ }
4518
+ isStyleAttached = true;
4519
+ }
4520
+ function detachStyle() {
4521
+ if (!isStyleAttached || typeof window === "undefined") {
4522
+ return;
4523
+ }
4524
+ const styleEl = document.getElementById(STYLE_ID);
4525
+ if (!styleEl || !styleEl.parentNode) {
4526
+ return;
4527
+ }
4528
+ styleEl.parentNode.removeChild(styleEl);
4529
+ isStyleAttached = false;
4530
+ }
4531
+ var define_import_meta_env_default = { BASE_URL: "./", MODE: "production", DEV: false, PROD: true, SSR: false };
4532
+ const _SmoothScrollbar = class _SmoothScrollbar extends Scrollbar {
261
4533
  /**
262
- * 指定元素滚动到顶部
263
- * @param param0
4534
+ * Initializes a scrollbar on the given element.
4535
+ *
4536
+ * @param elem The DOM element that you want to initialize scrollbar to
4537
+ * @param [options] Initial options
264
4538
  */
265
- var fixToTop = function fixToTop(params) {
266
- var id = params.id,
267
- index = params.index,
268
- item = params.item;
269
- var targetIndex = typeof index === 'number' ? index - 1 : 0;
270
- if (id !== undefined) {
271
- var _props$list$findIndex;
272
- targetIndex = (_props$list$findIndex = props.list.findIndex(function (row) {
273
- return row[props.rowKey] === id;
274
- })) !== null && _props$list$findIndex !== void 0 ? _props$list$findIndex : targetIndex;
4539
+ static init(elem, options) {
4540
+ if (!elem || elem.nodeType !== 1) {
4541
+ throw new TypeError(`expect element to be DOM Element, but got ${elem}`);
275
4542
  }
276
- if (item !== undefined) {
277
- var _props$list$findIndex2;
278
- targetIndex = (_props$list$findIndex2 = props.list.findIndex(function (row) {
279
- return item[props.rowKey] === row[props.rowKey];
280
- })) !== null && _props$list$findIndex2 !== void 0 ? _props$list$findIndex2 : targetIndex;
4543
+ attachStyle();
4544
+ if (scrollbarMap.has(elem)) {
4545
+ return scrollbarMap.get(elem);
281
4546
  }
282
- if (typeof targetIndex === 'number') {
283
- var resolvedIndex = targetIndex >= 0 ? targetIndex : 0;
284
- var offsetY = resolvedIndex * props.lineHeight;
285
- scrollTo({
286
- left: 0,
287
- top: offsetY
4547
+ return new Scrollbar(elem, options);
4548
+ }
4549
+ /**
4550
+ * Automatically init scrollbar on all elements base on the selector `[data-scrollbar]`
4551
+ *
4552
+ * @param options Initial options
4553
+ */
4554
+ static initAll(options) {
4555
+ return Array.from(document.querySelectorAll("[data-scrollbar]"), (elem) => {
4556
+ return _SmoothScrollbar.init(elem, options);
4557
+ });
4558
+ }
4559
+ /**
4560
+ * Check if there is a scrollbar on given element
4561
+ *
4562
+ * @param elem The DOM element that you want to check
4563
+ */
4564
+ static has(elem) {
4565
+ return scrollbarMap.has(elem);
4566
+ }
4567
+ /**
4568
+ * Gets scrollbar on the given element.
4569
+ * If no scrollbar instance exsits, returns `undefined`
4570
+ *
4571
+ * @param elem The DOM element that you want to check.
4572
+ */
4573
+ static get(elem) {
4574
+ return scrollbarMap.get(elem);
4575
+ }
4576
+ /**
4577
+ * Returns an array that contains all scrollbar instances
4578
+ */
4579
+ static getAll() {
4580
+ return Array.from(scrollbarMap.values());
4581
+ }
4582
+ /**
4583
+ * Removes scrollbar on the given element
4584
+ */
4585
+ static destroy(elem) {
4586
+ const scrollbar = scrollbarMap.get(elem);
4587
+ if (scrollbar) {
4588
+ scrollbar.destroy();
4589
+ }
4590
+ }
4591
+ /**
4592
+ * Removes all scrollbar instances from current document
4593
+ */
4594
+ static destroyAll() {
4595
+ scrollbarMap.forEach((scrollbar) => {
4596
+ scrollbar.destroy();
4597
+ });
4598
+ }
4599
+ /**
4600
+ * Attaches plugins to scrollbars
4601
+ *
4602
+ * @param ...Plugins Scrollbar plugin classes
4603
+ */
4604
+ static use(...Plugins) {
4605
+ return addPlugins(...Plugins);
4606
+ }
4607
+ /**
4608
+ * Attaches default style sheets to current document.
4609
+ * You don't need to call this method manually unless
4610
+ * you removed the default styles via `Scrollbar.detachStyle()`
4611
+ */
4612
+ static attachStyle() {
4613
+ return attachStyle();
4614
+ }
4615
+ /**
4616
+ * Removes default styles from current document.
4617
+ * Use this method when you want to use your own css for scrollbars.
4618
+ */
4619
+ static detachStyle() {
4620
+ return detachStyle();
4621
+ }
4622
+ };
4623
+ _SmoothScrollbar.version = define_import_meta_env_default.__SCROLLBAR_VERSION__;
4624
+ _SmoothScrollbar.ScrollbarPlugin = ScrollbarPlugin;
4625
+ let SmoothScrollbar = _SmoothScrollbar;
4626
+ const index = {
4627
+ SmoothScrollbar,
4628
+ ScrollbarPlugin
4629
+ };
4630
+
4631
+ //# sourceMappingURL=bk-smooth-scrollbar.js.map
4632
+
4633
+ ;// CONCATENATED MODULE: ../../packages/virtual-render/src/use-scrollbar.tsx
4634
+ /*
4635
+ * Tencent is pleased to support the open source community by making
4636
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
4637
+ *
4638
+ * Copyright (C) 2021 THL A29 Limited, a Tencent company. All rights reserved.
4639
+ *
4640
+ * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) is licensed under the MIT License.
4641
+ *
4642
+ * License for 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition):
4643
+ *
4644
+ * ---------------------------------------------------
4645
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated
4646
+ * documentation files (the "Software"), to deal in the Software without restriction, including without limitation
4647
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and
4648
+ * to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4649
+ *
4650
+ * The above copyright notice and this permission notice shall be included in all copies or substantial portions of
4651
+ * the Software.
4652
+ *
4653
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
4654
+ * THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
4655
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
4656
+ * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
4657
+ * IN THE SOFTWARE.
4658
+ */
4659
+
4660
+ /* harmony default export */ const use_scrollbar = (function (target, props) {
4661
+ var instance = null;
4662
+ var scrollbar = index.SmoothScrollbar;
4663
+ var init = function init(scrollFn) {
4664
+ var _props$scrollbar$keep, _props$scrollbar;
4665
+ instance = scrollbar.init(target.value, {
4666
+ delegateTo: target.value,
4667
+ keepStruct: (_props$scrollbar$keep = (_props$scrollbar = props.scrollbar) === null || _props$scrollbar === void 0 ? void 0 : _props$scrollbar.keepStruct) !== null && _props$scrollbar$keep !== void 0 ? _props$scrollbar$keep : false
4668
+ });
4669
+ instance.addListener(scrollFn);
4670
+ };
4671
+ var scrollTo = function scrollTo(x, y) {
4672
+ var _props$scrollbar2;
4673
+ if ((_props$scrollbar2 = props.scrollbar) !== null && _props$scrollbar2 !== void 0 && _props$scrollbar2.enabled) {
4674
+ var _props$scrollbar$keep2, _props$scrollbar3;
4675
+ instance.scrollTo(x, y, 100, {
4676
+ keepStruct: (_props$scrollbar$keep2 = (_props$scrollbar3 = props.scrollbar) === null || _props$scrollbar3 === void 0 ? void 0 : _props$scrollbar3.keepStruct) !== null && _props$scrollbar$keep2 !== void 0 ? _props$scrollbar$keep2 : false
288
4677
  });
4678
+ return;
289
4679
  }
4680
+ target.value.scrollTo(x, y);
290
4681
  };
291
4682
  return {
292
- fixToTop: fixToTop,
4683
+ init: init,
4684
+ instance: instance,
293
4685
  scrollTo: scrollTo
294
4686
  };
295
4687
  });
@@ -325,6 +4717,7 @@ const throttle_namespaceObject = throttle_x({ ["default"]: () => __WEBPACK_EXTER
325
4717
  ;// CONCATENATED MODULE: ../../packages/virtual-render/src/v-virtual-render.ts
326
4718
 
327
4719
 
4720
+
328
4721
  /*
329
4722
  * Tencent is pleased to support the open source community by making
330
4723
  * 蓝鲸智云PaaS平台社区版 (BlueKing PaaS Community Edition) available.
@@ -375,14 +4768,14 @@ function getMatchedIndex(maxCount, maxHeight, groupItemCount, callback) {
375
4768
  diffHeight: diffHeight
376
4769
  };
377
4770
  }
378
- function computedVirtualIndex(lineHeight, callback, pagination, _el, event) {
379
- if (!event.target) {
4771
+ function computedVirtualIndex(lineHeight, callback, pagination, wrapper, event) {
4772
+ if (!wrapper || !event.offset) {
380
4773
  return;
381
4774
  }
382
- var elScrollTop = event.target.scrollTop;
383
- var elScrollLeft = event.target.scrollLeft;
384
- var elScrollHeight = event.target.scrollHeight;
385
- var elOffsetHeight = event.target.offsetHeight;
4775
+ var elScrollTop = event.offset.y;
4776
+ var elScrollLeft = event.offset.x;
4777
+ var elScrollHeight = wrapper.scrollHeight;
4778
+ var elOffsetHeight = wrapper.offsetHeight;
386
4779
  var count = pagination.count,
387
4780
  groupItemCount = pagination.groupItemCount;
388
4781
  var targetStartIndex = 0;
@@ -402,7 +4795,8 @@ function computedVirtualIndex(lineHeight, callback, pagination, _el, event) {
402
4795
  }
403
4796
  var bottom = elScrollHeight - elOffsetHeight - elScrollTop;
404
4797
  typeof callback === 'function' && callback(event, targetStartIndex, targetEndIndex, elScrollTop, translateY, elScrollLeft, {
405
- bottom: bottom >= 0 ? bottom : 0
4798
+ bottom: bottom >= 0 ? bottom : 0,
4799
+ scrollbar: event
406
4800
  });
407
4801
  return {
408
4802
  targetStartIndex: targetStartIndex,
@@ -414,7 +4808,31 @@ function computedVirtualIndex(lineHeight, callback, pagination, _el, event) {
414
4808
  }
415
4809
  var VisibleRender = /*#__PURE__*/function () {
416
4810
  function VisibleRender(binding, el) {
4811
+ var _this = this;
417
4812
  _classCallCheck(this, VisibleRender);
4813
+ _defineProperty(this, "getEvent", function (event) {
4814
+ var _this$binding$value$s = _this.binding.value.scrollbar,
4815
+ scrollbar = _this$binding$value$s === void 0 ? {
4816
+ enabled: false,
4817
+ keepStruct: true
4818
+ } : _this$binding$value$s;
4819
+ if (scrollbar.enabled) {
4820
+ return event;
4821
+ }
4822
+ if (event !== null && event !== void 0 && event.offset) {
4823
+ return {
4824
+ offset: event === null || event === void 0 ? void 0 : event.offset
4825
+ };
4826
+ }
4827
+ var elScrollTop = event.target.scrollTop;
4828
+ var elScrollLeft = event.target.scrollLeft;
4829
+ return {
4830
+ offset: {
4831
+ x: elScrollLeft,
4832
+ y: elScrollTop
4833
+ }
4834
+ };
4835
+ });
418
4836
  this.binding = binding;
419
4837
  this.wrapper = el;
420
4838
  var throttleDelay = binding.value.throttleDelay;
@@ -431,11 +4849,13 @@ var VisibleRender = /*#__PURE__*/function () {
431
4849
  pagination = _this$binding$value$p === void 0 ? {} : _this$binding$value$p,
432
4850
  onlyScroll = _this$binding$value.onlyScroll;
433
4851
  if (onlyScroll) {
434
- var elScrollTop = this.wrapper.scrollTop;
435
- var elScrollLeft = this.wrapper.scrollLeft;
436
- var bottom = this.wrapper.scrollHeight - this.wrapper.offsetHeight - this.wrapper.scrollTop;
4852
+ var _e$offset, _e$offset$x, _e$offset2;
4853
+ var elScrollTop = (_e$offset = e.offset) === null || _e$offset === void 0 ? void 0 : _e$offset.y;
4854
+ var elScrollLeft = (_e$offset$x = (_e$offset2 = e.offset) === null || _e$offset2 === void 0 ? void 0 : _e$offset2.x) !== null && _e$offset$x !== void 0 ? _e$offset$x : 0;
4855
+ var bottom = this.wrapper.scrollHeight - this.wrapper.offsetHeight - elScrollTop;
437
4856
  handleScrollCallback(e, null, null, elScrollTop, elScrollTop, elScrollLeft, {
438
- bottom: bottom >= 0 ? bottom : 0
4857
+ bottom: bottom >= 0 ? bottom : 0,
4858
+ scrollbar: e
439
4859
  });
440
4860
  return;
441
4861
  }
@@ -457,7 +4877,7 @@ var VisibleRender = /*#__PURE__*/function () {
457
4877
  }, {
458
4878
  key: "executeThrottledRender",
459
4879
  value: function executeThrottledRender(e) {
460
- (0,throttle_namespaceObject["default"])(this.render.bind(this), this.delay)(e);
4880
+ (0,throttle_namespaceObject["default"])(this.render.bind(this), this.delay)(this.getEvent(e));
461
4881
  }
462
4882
  }, {
463
4883
  key: "install",
@@ -532,28 +4952,47 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
532
4952
 
533
4953
 
534
4954
 
4955
+
535
4956
  /* harmony default export */ const use_tag_render = (function (props, ctx) {
536
4957
  var renderAs = props.renderAs,
537
4958
  contentAs = props.contentAs;
4959
+ var refRoot = (0,external_vue_namespaceObject.ref)(null);
4960
+ var _useScrollbar = use_scrollbar(refRoot, props),
4961
+ init = _useScrollbar.init,
4962
+ scrollTo = _useScrollbar.scrollTo;
4963
+ var contentStyle = (0,external_vue_namespaceObject.reactive)({
4964
+ x: 0,
4965
+ y: 0
4966
+ });
4967
+ var computedStyle = (0,external_vue_namespaceObject.computed)(function () {
4968
+ return use_tag_render_objectSpread(use_tag_render_objectSpread({}, props.contentStyle), {}, {
4969
+ transform: "translate3d(".concat(-contentStyle.x, "px, ").concat(-contentStyle.y, "px, 0)")
4970
+ });
4971
+ });
538
4972
  /** 指令触发Scroll事件,计算当前startIndex & endIndex & scrollTop & translateY */
539
4973
  var handleScrollCallback = function handleScrollCallback(event, _startIndex, _endIndex, _scrollTop, translateY, scrollLeft, pos) {
4974
+ var scrollbar = pos.scrollbar;
4975
+ if (scrollbar !== null && scrollbar !== void 0 && scrollbar.offset) {
4976
+ var _scrollbar$offset;
4977
+ Object.assign(contentStyle, (_scrollbar$offset = scrollbar === null || scrollbar === void 0 ? void 0 : scrollbar.offset) !== null && _scrollbar$offset !== void 0 ? _scrollbar$offset : {});
4978
+ }
540
4979
  ctx.emit('content-scroll', [event, {
541
4980
  translateY: translateY,
542
4981
  translateX: scrollLeft,
543
4982
  pos: pos
544
4983
  }]);
545
4984
  };
546
- var instance = null;
4985
+ var renderInstance = null;
547
4986
  var binding = (0,external_vue_namespaceObject.computed)(function () {
548
4987
  return {
549
4988
  lineHeight: props.lineHeight,
4989
+ scrollbar: props.scrollbar,
550
4990
  handleScrollCallback: handleScrollCallback,
551
4991
  pagination: {},
552
4992
  throttleDelay: props.throttleDelay,
553
4993
  onlyScroll: props.scrollEvent
554
4994
  };
555
4995
  });
556
- var refRoot = (0,external_vue_namespaceObject.ref)(null);
557
4996
  /** 虚拟渲染外层容器样式 */
558
4997
  var wrapperStyle = (0,external_vue_namespaceObject.computed)(function () {
559
4998
  var _props$maxHeight;
@@ -565,20 +5004,24 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
565
5004
  maxHeight: (_props$maxHeight = props.maxHeight) !== null && _props$maxHeight !== void 0 ? _props$maxHeight : height
566
5005
  }, props.wrapperStyle);
567
5006
  });
568
- var _useFixTop = use_fix_top(props, refRoot),
569
- scrollTo = _useFixTop.scrollTo,
5007
+ var _useFixTop = use_fix_top(props, scrollTo),
570
5008
  fixToTop = _useFixTop.fixToTop;
571
5009
  ctx.expose({
572
5010
  scrollTo: scrollTo,
573
5011
  fixToTop: fixToTop
574
5012
  });
575
5013
  (0,external_vue_namespaceObject.onMounted)(function () {
576
- instance = new VisibleRender(binding, refRoot.value);
577
- instance.install();
5014
+ var _props$scrollbar;
5015
+ renderInstance = new VisibleRender(binding, refRoot.value);
5016
+ if ((_props$scrollbar = props.scrollbar) !== null && _props$scrollbar !== void 0 && _props$scrollbar.enabled) {
5017
+ init(renderInstance.executeThrottledRender.bind(renderInstance));
5018
+ return;
5019
+ }
5020
+ renderInstance.install();
578
5021
  });
579
5022
  (0,external_vue_namespaceObject.onUnmounted)(function () {
580
- var _instance;
581
- (_instance = instance) === null || _instance === void 0 || _instance.uninstall();
5023
+ var _renderInstance;
5024
+ (_renderInstance = renderInstance) === null || _renderInstance === void 0 || _renderInstance.uninstall();
582
5025
  });
583
5026
  return {
584
5027
  rendAsTag: function rendAsTag() {
@@ -591,7 +5034,7 @@ function use_tag_render_objectSpread(e) { for (var r = 1; r < arguments.length;
591
5034
  ref: refRoot
592
5035
  }, [(_ctx$slots$beforeCont = (_ctx$slots$beforeCont2 = (_ctx$slots = ctx.slots).beforeContent) === null || _ctx$slots$beforeCont2 === void 0 ? void 0 : _ctx$slots$beforeCont2.call(_ctx$slots)) !== null && _ctx$slots$beforeCont !== void 0 ? _ctx$slots$beforeCont : '', (0,external_vue_namespaceObject.h)(contentAs, {
593
5036
  "class": props.contentClassName,
594
- style: props.contentStyle
5037
+ style: computedStyle.value
595
5038
  }, [(_ctx$slots$default = (_ctx$slots$default2 = (_ctx$slots2 = ctx.slots)["default"]) === null || _ctx$slots$default2 === void 0 ? void 0 : _ctx$slots$default2.call(_ctx$slots2, {
596
5039
  data: props.list
597
5040
  })) !== null && _ctx$slots$default !== void 0 ? _ctx$slots$default : '']), (_ctx$slots$afterConte = (_ctx$slots$afterConte2 = (_ctx$slots3 = ctx.slots).afterContent) === null || _ctx$slots$afterConte2 === void 0 ? void 0 : _ctx$slots$afterConte2.call(_ctx$slots3)) !== null && _ctx$slots$afterConte !== void 0 ? _ctx$slots$afterConte : '', (_ctx$slots$afterSecti = (_ctx$slots$afterSecti2 = (_ctx$slots4 = ctx.slots).afterSection) === null || _ctx$slots$afterSecti2 === void 0 ? void 0 : _ctx$slots$afterSecti2.call(_ctx$slots4)) !== null && _ctx$slots$afterSecti !== void 0 ? _ctx$slots$afterSecti : '']);
@@ -640,6 +5083,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
640
5083
 
641
5084
 
642
5085
 
5086
+
643
5087
  /* harmony default export */ const virtual_render = ((0,external_vue_namespaceObject.defineComponent)({
644
5088
  name: 'VirtualRender',
645
5089
  directives: {
@@ -675,6 +5119,10 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
675
5119
  };
676
5120
  });
677
5121
  var refRoot = (0,external_vue_namespaceObject.ref)(null);
5122
+ var _useScrollbar = use_scrollbar(refRoot, props),
5123
+ init = _useScrollbar.init,
5124
+ scrollTo = _useScrollbar.scrollTo;
5125
+ var refVirtualSection = (0,external_vue_namespaceObject.ref)(null);
678
5126
  var instance = null;
679
5127
  var pagination = (0,external_vue_namespaceObject.reactive)({
680
5128
  startIndex: 0,
@@ -717,7 +5165,18 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
717
5165
  }
718
5166
  };
719
5167
  (0,external_vue_namespaceObject.onMounted)(function () {
5168
+ var _props$scrollbar;
720
5169
  instance = new VisibleRender(binding, refRoot.value);
5170
+ if ((_props$scrollbar = props.scrollbar) !== null && _props$scrollbar !== void 0 && _props$scrollbar.enabled) {
5171
+ init(instance.executeThrottledRender.bind(instance));
5172
+ instance.executeThrottledRender.call(instance, {
5173
+ offset: {
5174
+ x: 0,
5175
+ y: 0
5176
+ }
5177
+ });
5178
+ return;
5179
+ }
721
5180
  instance.install();
722
5181
  });
723
5182
  (0,external_vue_namespaceObject.onUnmounted)(function () {
@@ -779,11 +5238,20 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
779
5238
  });
780
5239
  });
781
5240
  });
5241
+ var getOffsetTop = function getOffsetTop() {
5242
+ var _props$scrollbar2, _props$scrollbar3;
5243
+ if ((_props$scrollbar2 = props.scrollbar) !== null && _props$scrollbar2 !== void 0 && _props$scrollbar2.enabled && (_props$scrollbar3 = props.scrollbar) !== null && _props$scrollbar3 !== void 0 && _props$scrollbar3.keepStruct) {
5244
+ return 0;
5245
+ }
5246
+ return pagination.scrollTop + props.scrollOffsetTop;
5247
+ };
5248
+ var getTransform = function getTransform() {
5249
+ return "translate3d(-".concat(pagination.translateX, "px,").concat(getOffsetTop() - pagination.translateY, "px, 0)");
5250
+ };
782
5251
  /** 展示列表内容区域样式 */
783
5252
  var innerContentStyle = (0,external_vue_namespaceObject.computed)(function () {
784
5253
  return props.scrollPosition === 'content' ? {
785
- top: "".concat(pagination.scrollTop + props.scrollOffsetTop, "px"),
786
- transform: "translateY(-".concat(pagination.translateY, "px)")
5254
+ transform: getTransform()
787
5255
  } : {};
788
5256
  });
789
5257
  /** 虚拟渲染外层容器样式 */
@@ -820,20 +5288,33 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
820
5288
  * @param keepLastPostion
821
5289
  */
822
5290
  var reset = function reset() {
5291
+ var _instance2;
823
5292
  handleChangeListConfig();
824
5293
  afterListDataReset();
5294
+ (_instance2 = instance) === null || _instance2 === void 0 || _instance2.executeThrottledRender.call(instance, {
5295
+ offset: {
5296
+ x: 0,
5297
+ y: 0
5298
+ }
5299
+ });
825
5300
  };
826
- var _useFixTop = use_fix_top(props, refRoot),
827
- scrollTo = _useFixTop.scrollTo,
5301
+ var _useFixTop = use_fix_top(props, scrollTo),
828
5302
  fixToTop = _useFixTop.fixToTop;
829
5303
  (0,external_vue_namespaceObject.watch)(function () {
830
5304
  return [props.lineHeight, props.height, props.list, props.maxHeight];
831
5305
  }, function () {
832
- var _instance2;
833
- (_instance2 = instance) === null || _instance2 === void 0 || _instance2.setBinding(binding);
5306
+ var _instance3;
5307
+ (_instance3 = instance) === null || _instance3 === void 0 || _instance3.setBinding(binding);
834
5308
  handleChangeListConfig();
835
5309
  (0,external_vue_namespaceObject.nextTick)(function () {
5310
+ var _instance4;
836
5311
  afterListDataReset();
5312
+ (_instance4 = instance) === null || _instance4 === void 0 || _instance4.executeThrottledRender.call(instance, {
5313
+ offset: {
5314
+ x: 0,
5315
+ y: 0
5316
+ }
5317
+ });
837
5318
  });
838
5319
  }, {
839
5320
  deep: true,
@@ -858,6 +5339,7 @@ function virtual_render_objectSpread(e) { for (var r = 1; r < arguments.length;
858
5339
  }, [(_ctx$slots$default = (_ctx$slots$default2 = (_ctx$slots2 = ctx.slots)["default"]) === null || _ctx$slots$default2 === void 0 ? void 0 : _ctx$slots$default2.call(_ctx$slots2, {
859
5340
  data: calcList.value
860
5341
  })) !== null && _ctx$slots$default !== void 0 ? _ctx$slots$default : '']), (_ctx$slots$afterConte = (_ctx$slots$afterConte2 = (_ctx$slots3 = ctx.slots).afterContent) === null || _ctx$slots$afterConte2 === void 0 ? void 0 : _ctx$slots$afterConte2.call(_ctx$slots3)) !== null && _ctx$slots$afterConte !== void 0 ? _ctx$slots$afterConte : '', (0,external_vue_namespaceObject.h)('div', {
5342
+ ref: refVirtualSection,
861
5343
  "class": [resolveClassName('virtual-section')],
862
5344
  style: innerStyle.value
863
5345
  }), (_ctx$slots$afterSecti = (_ctx$slots$afterSecti2 = (_ctx$slots4 = ctx.slots).afterSection) === null || _ctx$slots$afterSecti2 === void 0 ? void 0 : _ctx$slots$afterSecti2.call(_ctx$slots4)) !== null && _ctx$slots$afterSecti !== void 0 ? _ctx$slots$afterSecti : '']);