@ezuikit/player-theme 3.1.2-beta.3 → 3.1.3-beta.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.
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * @ezuikit/player-theme v3.1.2-beta.3
3
- * Copyright (c) 2026-08-14 08:18:55 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v3.1.3-beta.1
3
+ * Copyright (c) 2026-08-19 16:47:24 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  'use strict';
@@ -18,6 +18,7 @@ var controlPtz = require('@ezuikit/control-ptz');
18
18
  var RecListModal = require('@ezuikit/control-rec-list-modal');
19
19
  var controlDatePicker = require('@ezuikit/control-date-picker');
20
20
  var controlTimeLine = require('@ezuikit/control-time-line');
21
+ var SegmentProgress = require('@ezuikit/control-segment-progress');
21
22
 
22
23
  /**
23
24
  * 播放器的类名前缀
@@ -48,7 +49,9 @@ var THEME_PROPS = [
48
49
  'videoLevelList',
49
50
  'videoLevel',
50
51
  'recMonth',
51
- 'url'
52
+ 'url',
53
+ // 播放区间(片段分享)。通过 props 下发而不是靠事件,避免主题异步渲染时错过初始化事件
54
+ 'playbackRange'
52
55
  ];
53
56
  /**
54
57
  * 当移动端 picker 控件打开时需要关闭动画(定时器)
@@ -93,7 +96,8 @@ var THEME_PROPS = [
93
96
  'ptz',
94
97
  'timeLine',
95
98
  'rec',
96
- 'date'
99
+ 'date',
100
+ 'segmentProgress'
97
101
  ];
98
102
  /**
99
103
  *
@@ -158,6 +162,7 @@ var EVENTS = {
158
162
  currentVideoLevelAuto: 'currentVideoLevelAuto',
159
163
  setAllDayRecTimes: 'setAllDayRecTimes',
160
164
  getOSDTime: 'getOSDTime',
165
+ /** 播放区间播放结束(SDK 层 playbackRange 特性) */ playbackEnd: 'playbackEnd',
161
166
  /**
162
167
  * 控件相关
163
168
  */ control: {
@@ -259,7 +264,7 @@ function _create_class$9(Constructor, protoProps, staticProps) {
259
264
  if (protoProps) _defineProperties$9(Constructor.prototype, protoProps);
260
265
  return Constructor;
261
266
  }
262
- function _inherits$y(subClass, superClass) {
267
+ function _inherits$z(subClass, superClass) {
263
268
  if (typeof superClass !== "function" && superClass !== null) {
264
269
  throw new TypeError("Super expression must either be null or a function");
265
270
  }
@@ -270,14 +275,14 @@ function _inherits$y(subClass, superClass) {
270
275
  configurable: true
271
276
  }
272
277
  });
273
- if (superClass) _set_prototype_of$y(subClass, superClass);
278
+ if (superClass) _set_prototype_of$z(subClass, superClass);
274
279
  }
275
- function _set_prototype_of$y(o, p) {
276
- _set_prototype_of$y = Object.setPrototypeOf || function setPrototypeOf(o, p) {
280
+ function _set_prototype_of$z(o, p) {
281
+ _set_prototype_of$z = Object.setPrototypeOf || function setPrototypeOf(o, p) {
277
282
  o.__proto__ = p;
278
283
  return o;
279
284
  };
280
- return _set_prototype_of$y(o, p);
285
+ return _set_prototype_of$z(o, p);
281
286
  }
282
287
  /**
283
288
  * 控件基类
@@ -291,11 +296,11 @@ function _set_prototype_of$y(o, p) {
291
296
  * const myControl = new MyControl({})
292
297
  * ```
293
298
  */ var Control = /*#__PURE__*/ function(EventEmitter) {
294
- _inherits$y(Control, EventEmitter);
299
+ _inherits$z(Control, EventEmitter);
295
300
  function Control(options) {
296
301
  var _this;
297
302
  var _this___options;
298
- _this = EventEmitter.call(this) || this, /** 具体语言对应的值 */ _this.locale = null, _this.__options = {}, _this._disabled = false, _this._active = false, _this._camelCaseName = '';
303
+ _this = EventEmitter.call(this) || this, /** 具体语言对应的值 */ _this.locale = null, _this.__options = {}, _this._disabled = false, _this._active = false, _this._camelCaseName = '', /** click 监听引用,销毁时需显式移除 */ _this._onClickHandler = null;
299
304
  _this.__options = options;
300
305
  _this.locale = getLocale(_this.__options.locales, _this.__options.language);
301
306
  _this._camelCaseName = _this.__options.classNameSuffix ? _this.__options.classNameSuffix.replace(/[-_\s]+(.)?/g, function(_, c) {
@@ -384,6 +389,12 @@ function _set_prototype_of$y(o, p) {
384
389
  this.emit("Control." + this._camelCaseName + "Destroy");
385
390
  }
386
391
  if (((_this___options = this.__options) == null ? void 0 : _this___options.controlType) !== 'block') this.$container.removeEventListener('dblclick', this._onDBlClick);
392
+ // 移除 click 监听
393
+ if (this._onClickHandler) {
394
+ var _this_$container1;
395
+ (_this_$container1 = this.$container) == null ? void 0 : _this_$container1.removeEventListener('click', this._onClickHandler);
396
+ this._onClickHandler = null;
397
+ }
387
398
  this._active = false;
388
399
  this.removeAllListeners();
389
400
  (_this_$container = this.$container) == null ? void 0 : (_this_$container_remove = _this_$container.remove) == null ? void 0 : _this_$container_remove.call(_this_$container);
@@ -412,14 +423,16 @@ function _set_prototype_of$y(o, p) {
412
423
  * 当点击 Control 时 触发子类的 _onControlClick
413
424
  */ _proto._onClick = function _onClick() {
414
425
  var _this = this;
415
- this.$container.addEventListener('click', function(e) {
426
+ // 使用具名 handler 便于在 destroy 时精确移除,避免匿名监听残留
427
+ this._onClickHandler = function(e) {
416
428
  var _this_$container;
417
429
  // prettier-ignore
418
430
  if (!((_this_$container = _this.$container) == null ? void 0 : _this_$container.classList.contains("" + PREFIX_CLASS + "-disabled"))) {
419
431
  // _onControlClick 来源自子类中
420
432
  _this._onControlClick == null ? void 0 : _this._onControlClick.call(_this, e);
421
433
  }
422
- });
434
+ };
435
+ this.$container.addEventListener('click', this._onClickHandler);
423
436
  };
424
437
  _proto._onDBlClick = function _onDBlClick(e) {
425
438
  e.stopPropagation();
@@ -466,21 +479,17 @@ function _set_prototype_of$y(o, p) {
466
479
  return Control;
467
480
  }(EventEmitter);
468
481
 
469
- function _extends$x() {
470
- _extends$x = Object.assign || function(target) {
482
+ function _extends$y() {
483
+ _extends$y = Object.assign || function assign(target) {
471
484
  for(var i = 1; i < arguments.length; i++){
472
485
  var source = arguments[i];
473
- for(var key in source){
474
- if (Object.prototype.hasOwnProperty.call(source, key)) {
475
- target[key] = source[key];
476
- }
477
- }
486
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
478
487
  }
479
488
  return target;
480
489
  };
481
- return _extends$x.apply(this, arguments);
490
+ return _extends$y.apply(this, arguments);
482
491
  }
483
- function _inherits$x(subClass, superClass) {
492
+ function _inherits$y(subClass, superClass) {
484
493
  if (typeof superClass !== "function" && superClass !== null) {
485
494
  throw new TypeError("Super expression must either be null or a function");
486
495
  }
@@ -491,25 +500,25 @@ function _inherits$x(subClass, superClass) {
491
500
  configurable: true
492
501
  }
493
502
  });
494
- if (superClass) _set_prototype_of$x(subClass, superClass);
503
+ if (superClass) _set_prototype_of$y(subClass, superClass);
495
504
  }
496
- function _set_prototype_of$x(o, p) {
497
- _set_prototype_of$x = Object.setPrototypeOf || function setPrototypeOf(o, p) {
505
+ function _set_prototype_of$y(o, p) {
506
+ _set_prototype_of$y = Object.setPrototypeOf || function setPrototypeOf(o, p) {
498
507
  o.__proto__ = p;
499
508
  return o;
500
509
  };
501
- return _set_prototype_of$x(o, p);
510
+ return _set_prototype_of$y(o, p);
502
511
  }
503
512
  var LOADING_DEFAULT_OPTIONS = {};
504
513
  /**
505
514
  * 加载动画控件
506
515
  * @category Control
507
516
  */ var Loading = /*#__PURE__*/ function(Control) {
508
- _inherits$x(Loading, Control);
517
+ _inherits$y(Loading, Control);
509
518
  function Loading(options) {
510
519
  if (options === void 0) options = {};
511
520
  var _this;
512
- _this = Control.call(this, Object.assign({}, LOADING_DEFAULT_OPTIONS, _extends$x({}, options, {
521
+ _this = Control.call(this, Object.assign({}, LOADING_DEFAULT_OPTIONS, _extends$y({}, options, {
513
522
  tagName: 'div',
514
523
  controlType: 'block',
515
524
  classNameSuffix: 'loading'
@@ -547,21 +556,17 @@ var LOADING_DEFAULT_OPTIONS = {};
547
556
  return Loading;
548
557
  }(Control);
549
558
 
550
- function _extends$w() {
551
- _extends$w = Object.assign || function(target) {
559
+ function _extends$x() {
560
+ _extends$x = Object.assign || function assign(target) {
552
561
  for(var i = 1; i < arguments.length; i++){
553
562
  var source = arguments[i];
554
- for(var key in source){
555
- if (Object.prototype.hasOwnProperty.call(source, key)) {
556
- target[key] = source[key];
557
- }
558
- }
563
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
559
564
  }
560
565
  return target;
561
566
  };
562
- return _extends$w.apply(this, arguments);
567
+ return _extends$x.apply(this, arguments);
563
568
  }
564
- function _inherits$w(subClass, superClass) {
569
+ function _inherits$x(subClass, superClass) {
565
570
  if (typeof superClass !== "function" && superClass !== null) {
566
571
  throw new TypeError("Super expression must either be null or a function");
567
572
  }
@@ -572,14 +577,14 @@ function _inherits$w(subClass, superClass) {
572
577
  configurable: true
573
578
  }
574
579
  });
575
- if (superClass) _set_prototype_of$w(subClass, superClass);
580
+ if (superClass) _set_prototype_of$x(subClass, superClass);
576
581
  }
577
- function _set_prototype_of$w(o, p) {
578
- _set_prototype_of$w = Object.setPrototypeOf || function setPrototypeOf(o, p) {
582
+ function _set_prototype_of$x(o, p) {
583
+ _set_prototype_of$x = Object.setPrototypeOf || function setPrototypeOf(o, p) {
579
584
  o.__proto__ = p;
580
585
  return o;
581
586
  };
582
- return _set_prototype_of$w(o, p);
587
+ return _set_prototype_of$x(o, p);
583
588
  }
584
589
  // 不放在服务器上 是因为有可能http加载失败
585
590
  // prettier-ignore
@@ -591,11 +596,11 @@ var POSTER_OPTIONS = {
591
596
  * 封面控件
592
597
  * @category Control
593
598
  */ var Poster = /*#__PURE__*/ function(Control) {
594
- _inherits$w(Poster, Control);
599
+ _inherits$x(Poster, Control);
595
600
  function Poster(options) {
596
601
  if (options === void 0) options = {};
597
602
  var _this;
598
- _this = Control.call(this, Object.assign({}, POSTER_OPTIONS, _extends$w({}, options, {
603
+ _this = Control.call(this, Object.assign({}, POSTER_OPTIONS, _extends$x({}, options, {
599
604
  tagName: 'div',
600
605
  controlType: 'block',
601
606
  classNameSuffix: 'poster'
@@ -661,7 +666,7 @@ var POSTER_OPTIONS = {
661
666
  var Icons = {
662
667
  /** 播放 */ play: '<svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" focusable="false" aria-hidden="true" data-icon="play">\n <rect x="6.5" y="5.5" rx="1.25" width="2.5" height="13"/>\n <rect x="15" y="5.5" rx="1.25" width="2.5" height="13"/>\n </svg>',
663
668
  /** 暂停 */ pause: '<svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" focusable="false" aria-hidden="true" data-icon="pause"> <path d="M17.5 13.66L9.1 19.26C7.78 20.14 6 19.19 6 17.59L6 6.4C6 4.8 7.78 3.85 9.1 4.73L17.5 10.33C18.69 11.12 18.69 12.87 17.5 13.66Z" /></svg>',
664
- /** 音量 */ volume: function(prefix) {
669
+ /** 音量 */ volume: function volume(prefix) {
665
670
  return '<svg width="1em" height="1em" viewBox="0 0 24 24" stroke="currentColor" fill="none" focusable="false" aria-hidden="true" data-icon="volume">\n <path class="' + prefix + '-icon-volume-muted" d="M20.57 9.69L16.07 14.19" stroke-width="1.500000" stroke-linejoin="round" stroke-linecap="round"/>\n <path class="' + prefix + '-icon-volume-muted" d="M20.57 14.19L16.07 9.69" stroke-width="1.500000" stroke-linejoin="round" stroke-linecap="round"/>\n <!-- 音低 -->\n <path class="' + prefix + '-icon-volume-low" d="M15.53 15.97C16.69 15.25 17.49 13.75 17.49 12C17.49 10.25 16.69 8.75 15.53 8.02" stroke-width="1.500000" stroke-linejoin="round" stroke-linecap="round"/>\n <!-- 音高 -->\n <path class="' + prefix + '-icon-volume-high" d="M18.5 19.06C20.31 17.5 21.49 14.93 21.49 12C21.49 9.07 20.31 6.48 18.49 4.93" stroke-width="1.500000" stroke-linejoin="round" stroke-linecap="round"/>\n <path d="M5.87 8.62L9.85 5.25C10.5 4.7 11.49 5.16 11.49 6.01L11.49 17.98C11.49 18.83 10.5 19.29 9.85 18.74L5.87 15.37" stroke-width="1.500000" stroke-linejoin="round" stroke-linecap="round"/>\n <path d="M5.87 15.37L3.49 15.37C2.94 15.37 2.49 14.92 2.49 14.37L2.49 9.62C2.49 9.07 2.94 8.62 3.49 8.62L5.87 8.62" stroke-width="1.500000" stroke-linejoin="round" stroke-linecap="round"/>\n </svg>';
666
671
  },
667
672
  /** 全屏 */ mobileFullscreen: '<svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" focusable="false" aria-hidden="true" data-icon="mobile-fullscreen">\n <path d="M4 2.9082L11 2.9082C12.5188 2.9082 13.75 4.1394 13.75 5.6582L13.75 17.6582C13.75 19.177 12.5188 20.4082 11 20.4082L4 20.4082C2.4812 20.4082 1.25 19.177 1.25 17.6582L1.25 5.6582C1.25 4.1394 2.4812 2.9082 4 2.9082ZM4 4.4082L11 4.4082C11.6903 4.4082 12.25 4.9679 12.25 5.6582L12.25 17.6582C12.25 18.3485 11.6903 18.9082 11 18.9082L4 18.9082C3.30969 18.9082 2.75 18.3485 2.75 17.6582L2.75 5.6582C2.75 4.9679 3.30969 4.4082 4 4.4082ZM22.1511 18.3113C22.1511 19.3595 21.2467 20.1652 20.1509 20.2362L19.993 20.2413L15.2939 20.2413C14.8798 20.2413 14.5439 19.9055 14.5439 19.4913C14.5439 19.1116 14.8262 18.7979 15.1921 18.7482L15.2939 18.7413L19.993 18.7413C20.344 18.7413 20.5962 18.5592 20.6432 18.3732L20.6511 18.3113L20.6511 12.4895C20.6511 12.3048 20.4338 12.1042 20.1062 12.066L19.993 12.0594L15.2939 12.0594C14.8798 12.0594 14.5439 11.7238 14.5439 11.3094C14.5439 10.9298 14.8262 10.616 15.1921 10.5663L15.2939 10.5594L19.993 10.5594C21.1055 10.5594 22.0605 11.3175 22.145 12.3416L22.1511 12.4895L22.1511 18.3113ZM10.3225 16.1035C10.3225 15.6893 9.98669 15.3535 9.57251 15.3535L5.84644 15.3535L5.74463 15.3604C5.37854 15.41 5.09644 15.7239 5.09644 16.1035C5.09644 16.5177 5.43225 16.8535 5.84644 16.8535L9.57251 16.8535L9.67432 16.8467C10.0404 16.797 10.3225 16.4832 10.3225 16.1035Z" clip-rule="evenodd" fill-rule="evenodd"/>\n </svg>',
@@ -687,7 +692,7 @@ var Icons = {
687
692
  /** 录制/摄像机 */ record: '<svg width="1em" height="1em" viewBox="0 0 24 24" fill="none" stroke="currentColor" focusable="false" aria-hidden="true" data-icon="record">\n <path d="M4.53 19C3.03 19 1.8 17.74 1.8 16.2L1.8 7.8C1.8 6.25 3.03 5 4.53 5L14.08 5C15.58 5 16.8 6.25 16.8 7.8L16.8 16.2C16.8 17.74 15.58 19 14.08 19L4.53 19Z" stroke-width="1.5" stroke-linejoin="round"/>\n <path d="M17.25 13.64C17.94 14.2 18.97 15.03 20.36 16.15C21.09 16.74 22.19 16.21 22.19 15.27L22.19 8.72C22.19 7.78 21.09 7.25 20.36 7.84C18.99 8.94 17.96 9.77 17.28 10.32" stroke-width="1.5" stroke-linejoin="round" stroke-linecap="round"/>\n </svg>',
688
693
  recordCircle: '<svg width="1em" height="1em" viewBox="0 0 14 14" fill="currentColor" stroke="none" focusable="false" aria-hidden="true" data-icon="record-circle">\n <path d="M7.00044 2.5C9.70278 2.5 11.8935 4.69068 11.8935 7.39302C11.8935 10.0954 9.70278 12.286 7.00044 12.286C4.2981 12.286 2.10742 10.0954 2.10742 7.39302C2.10742 4.69068 4.2981 2.5 7.00044 2.5ZM7.00044 3.5C4.85039 3.5 3.10742 5.24296 3.10742 7.39302C3.10742 9.54307 4.85039 11.286 7.00044 11.286C9.15049 11.286 10.8935 9.54307 10.8935 7.39302C10.8935 5.24296 9.15049 3.5 7.00044 3.5ZM9.50049 7.39252C9.50049 6.01181 8.3812 4.89252 7.00049 4.89252C5.61978 4.89252 4.50049 6.01181 4.50049 7.39252C4.50049 8.77323 5.61978 9.89252 7.00049 9.89252C8.3812 9.89252 9.50049 8.77323 9.50049 7.39252Z" fill-rule="evenodd" />\n </svg>\n ',
689
694
  /** 对讲 */ talk: '<svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" stroke="currentColor" focusable="false" aria-hidden="true" data-icon="talk">\n <path stroke="none" d="M12.22 18.95C12.65 18.95 13.01 19.21 13.07 19.54L13.08 19.64L13.08 21.78C13.08 22.16 12.69 22.47 12.22 22.47C11.78 22.47 11.42 22.21 11.37 21.87L11.36 21.78L11.36 19.64C11.36 19.26 11.74 18.95 12.22 18.95Z" fill-rule="evenodd"/>\n <path d="M19.53 11.37L19.53 11.58C19.53 15.74 16.15 19.11 11.99 19.11C7.83 19.11 4.46 15.74 4.46 11.58L4.46 11.43" fill="none" stroke-width="1.5" stroke-linecap="round"/>\n <path stroke="none" d="M12.05 1.52C9.3 1.52 7.07 3.58 7.07 6.12L7.07 12.07C7.07 14.61 9.3 16.67 12.05 16.67C14.79 16.67 17.02 14.61 17.02 12.07L17.02 6.12C17.02 3.58 14.79 1.52 12.05 1.52ZM8.57 12.07L8.57 6.12C8.57 5.94 8.59 5.75 8.63 5.57C8.67 5.36 8.74 5.16 8.83 4.96C8.86 4.89 8.9 4.82 8.93 4.75C9.09 4.46 9.3 4.21 9.55 3.97C9.64 3.89 9.73 3.81 9.83 3.74C10.08 3.55 10.35 3.4 10.66 3.28C10.79 3.23 10.93 3.19 11.06 3.15C11.38 3.07 11.71 3.02 12.05 3.02C12.38 3.02 12.71 3.07 13.03 3.15C13.17 3.19 13.3 3.23 13.43 3.28C13.74 3.4 14.02 3.55 14.27 3.74C14.36 3.81 14.45 3.89 14.54 3.97C14.79 4.21 15 4.46 15.16 4.75C15.2 4.82 15.23 4.89 15.26 4.96C15.35 5.16 15.42 5.36 15.46 5.57C15.5 5.75 15.52 5.94 15.52 6.12L15.52 12.07C15.52 12.26 15.5 12.44 15.46 12.63C15.42 12.83 15.35 13.04 15.26 13.24C15.23 13.31 15.2 13.38 15.16 13.45C15 13.73 14.79 13.99 14.54 14.22C14.45 14.3 14.36 14.38 14.27 14.45C14.02 14.64 13.74 14.79 13.43 14.91C13.3 14.96 13.17 15.01 13.03 15.05C12.71 15.13 12.38 15.17 12.05 15.17C11.71 15.17 11.38 15.13 11.06 15.05C10.93 15.01 10.79 14.96 10.66 14.91C10.35 14.79 10.08 14.64 9.83 14.45C9.73 14.38 9.64 14.3 9.55 14.22C9.3 13.99 9.09 13.73 8.93 13.45C8.9 13.38 8.86 13.31 8.83 13.24C8.74 13.04 8.67 12.83 8.63 12.63C8.59 12.44 8.57 12.26 8.57 12.07Z" fill-rule="evenodd"/>\n </svg>',
690
- talkGrowth: function(prefix) {
695
+ talkGrowth: function talkGrowth(prefix) {
691
696
  return '<svg width="1em" height="1em" viewBox="0 0 24 24" focusable="false" aria-hidden="true" data-icon="talk-growth">\n <g fill="currentColor" stroke="currentColor">\n <path stroke="none" d="M9.22313 18.9543C9.6588 18.9543 10.0189 19.2133 10.0759 19.5494L10.0837 19.6428L10.0837 21.7847C10.0837 22.1649 9.69841 22.4732 9.22313 22.4732C8.78745 22.4732 8.42739 22.2142 8.37041 21.8781L8.36255 21.7847L8.36255 19.6428C8.36255 19.2626 8.74784 18.9543 9.22313 18.9543Z" fill-rule="evenodd" />\n <path d="M16.5323 11.3779L16.5323 11.5872C16.5323 15.7472 13.1599 19.1197 8.99981 19.1197C4.83971 19.1197 1.46729 15.7472 1.46729 11.5872L1.46729 11.4335" fill-rule="evenodd" fill="none" stroke-width="1.5" />\n <path stroke="none" d="M4.07861 6.12978C4.07861 3.589 6.30476 1.5293 9.05085 1.5293C11.7969 1.5293 14.0231 3.589 14.0231 6.12978L14.0231 12.075C14.0231 14.6158 11.7969 16.6755 9.05085 16.6755C6.30476 16.6755 4.07861 14.6158 4.07861 12.075L4.07861 6.12978ZM5.57861 12.075L5.57861 6.12978C5.57861 5.94083 5.597 5.75561 5.63376 5.57412C5.67605 5.36539 5.74265 5.16158 5.83357 4.9627C5.86625 4.8912 5.90164 4.82121 5.93974 4.75272C6.09781 4.4685 6.30245 4.21019 6.55365 3.97777C6.64206 3.89597 6.73424 3.81921 6.83019 3.7475C7.0816 3.55959 7.3589 3.40632 7.66207 3.28767C7.79552 3.23545 7.93107 3.19114 8.06871 3.15475C8.38503 3.07111 8.71241 3.0293 9.05085 3.0293C9.38929 3.0293 9.71668 3.07112 10.033 3.15475C10.1706 3.19114 10.3062 3.23545 10.4396 3.28767C10.7428 3.40632 11.0201 3.55959 11.2715 3.74749C11.3675 3.81921 11.4596 3.89596 11.548 3.97777C11.7993 4.2102 12.0039 4.46853 12.162 4.75276C12.2001 4.82124 12.2354 4.89122 12.2681 4.9627C12.359 5.16157 12.4256 5.36536 12.4679 5.57407C12.5047 5.75558 12.5231 5.94082 12.5231 6.12978L12.5231 12.075C12.5231 12.264 12.5047 12.4492 12.4679 12.6307C12.4256 12.8394 12.359 13.0432 12.2681 13.2421C12.2355 13.3136 12.2001 13.3835 12.162 13.452C12.0039 13.7362 11.7993 13.9946 11.548 14.227C11.4596 14.3088 11.3675 14.3856 11.2715 14.4573C11.0201 14.6452 10.7428 14.7985 10.4396 14.9171C10.3062 14.9693 10.1706 15.0136 10.033 15.05C9.71667 15.1337 9.38929 15.1755 9.05085 15.1755C8.71241 15.1755 8.38503 15.1337 8.06871 15.05C7.93107 15.0136 7.79552 14.9693 7.66207 14.9171C7.3589 14.7985 7.0816 14.6452 6.83019 14.4573C6.73424 14.3856 6.64206 14.3088 6.55365 14.227C6.30244 13.9946 6.09779 13.7363 5.93972 13.452C5.90163 13.3836 5.86625 13.3136 5.83357 13.2421C5.74265 13.0432 5.67605 12.8394 5.63377 12.6307C5.597 12.4492 5.57861 12.264 5.57861 12.075Z" fill-rule="evenodd" />\n </g>\n <g class="' + prefix + '-icon-talk-growth-dot">\n <path class="' + prefix + '-icon-talk-growth-dot1" d="M19.1333 6.40039L22.8667 6.40039" stroke="currentColor" stroke-linecap="round" stroke-width="1.86666667" />\n <path class="' + prefix + '-icon-talk-growth-dot2" d="M19.1333 10.1338L21.9331 10.1338" stroke="currentColor" stroke-linecap="round" stroke-width="1.86666667" />\n <path class="' + prefix + '-icon-talk-growth-dot3" d="M19.1333 13.8672L20.9995 13.8672" stroke="currentColor" stroke-linecap="round" stroke-width="1.86666667" />\n <path class="' + prefix + '-icon-talk-growth-dot4" d="M19.1333 17.6001L20.0669 17.6001" stroke="currentColor" stroke-linecap="round" stroke-width="1.86666667" />\n </g>\n </svg>';
692
697
  },
693
698
  /** 语音广播 */ broadcast: '\n <svg width="1em" height="1em" viewBox="0 0 24 24" fill="currentColor" stroke="none" focusable="false" aria-hidden="true" data-icon="broadcast">\n <g>\n <path id="矢量 1" d="m8.52109,6.76609l6.17823,-2.91335c0.2485,-0.11718 0.5027,-0.19531 0.7627,-0.2351c0.2034,-0.03077 0.4104,-0.03809 0.6211,-0.02173c0.2092,0.01636 0.4116,0.05493 0.6069,0.11621c0.2278,0.07129 0.4461,0.1731 0.6548,0.30542c0.2087,0.13232 0.394,0.28638 0.5557,0.46216l0.0002,0l0,0c0.1384,0.15064 0.2598,0.31714 0.3638,0.49951c0.1047,0.18335 0.1865,0.37354 0.2451,0.57081c0.0752,0.25219 0.1128,0.51562 0.1128,0.79004l0,10.64651c0,0.2744 -0.0376,0.5379 -0.1128,0.7901l0,0c-0.0586,0.197 -0.1404,0.3874 -0.2451,0.5708c-0.104,0.1823 -0.2254,0.3488 -0.364,0.4995c-0.1617,0.1758 -0.347,0.3298 -0.5557,0.4621c-0.2087,0.1324 -0.427,0.2342 -0.6548,0.3054c-0.1953,0.0611 -0.3977,0.0999 -0.6069,0.1163c-0.2107,0.0163 -0.4175,0.009 -0.6209,-0.0218c-0.2602,-0.0398 -0.5144,-0.1181 -0.7629,-0.2351l-5.45044,-2.5703l0,2.759c0,0.1036 -0.01831,0.1995 -0.05494,0.2879c-0.03662,0.0886 -0.09155,0.1692 -0.16479,0.2424c-0.14624,0.1465 -0.32324,0.2197 -0.53027,0.2197l-2,0c-0.14209,0 -0.27344,-0.0373 -0.39429,-0.112c-0.12085,-0.0745 -0.21289,-0.1756 -0.27661,-0.3025l-1.99268,-3.9856c-0.06225,-0.0234 -0.12402,-0.0481 -0.18555,-0.074c-0.26953,-0.114 -0.52417,-0.2502 -0.7644,-0.4084c-0.26636,-0.1758 -0.51489,-0.3789 -0.74512,-0.6094c-0.23047,-0.2302 -0.43359,-0.4788 -0.60937,-0.7451c-0.1582,-0.2403 -0.29444,-0.4949 -0.40845,-0.7644c-0.11328,-0.2679 -0.20068,-0.5413 -0.26245,-0.8206l0,0c-0.07398,-0.3347 -0.11108,-0.6775 -0.11108,-1.0286c0,-0.351 0.0371,-0.6938 0.11108,-1.0285c0.06177,-0.2793 0.14917,-0.5528 0.26245,-0.8206c0.11401,-0.26953 0.25025,-0.52417 0.40845,-0.7644c0.17578,-0.26636 0.3789,-0.5149 0.60937,-0.74512c0.23023,-0.23047 0.47876,-0.4336 0.74512,-0.60938l0,0c0.24023,-0.1582 0.49487,-0.29444 0.7644,-0.40845c0.26783,-0.11328 0.54126,-0.20068 0.82056,-0.26245l0,0l0,0l0,0c0.33472,-0.07398 0.67749,-0.11109 1.02857,-0.11109l2.93872,0c0.02636,-0.0166 0.05444,-0.03198 0.08349,-0.04589zm0.72876,8.47948l6.08937,2.8716c0.1287,0.0606 0.2598,0.0987 0.3935,0.114c0.0772,0.0088 0.1551,0.0103 0.2337,0.0042c0.0857,-0.0068 0.1687,-0.0217 0.2495,-0.0452c0.1133,-0.0329 0.2219,-0.0822 0.3257,-0.1479c0.104,-0.0659 0.1948,-0.1431 0.2729,-0.2317c0.0554,-0.063 0.1045,-0.1318 0.147,-0.2063c0.0393,-0.0686 0.0713,-0.1397 0.0962,-0.2131c0.043,-0.1277 0.0647,-0.2625 0.0647,-0.4046l0,-10.64651c0,-0.14209 -0.0217,-0.2771 -0.0647,-0.40454c-0.0249,-0.07349 -0.0569,-0.14454 -0.0962,-0.21314c-0.0425,-0.07471 -0.0916,-0.14331 -0.147,-0.2063c-0.0781,-0.08862 -0.1689,-0.16577 -0.2729,-0.23169c-0.1038,-0.06567 -0.2124,-0.11523 -0.3257,-0.14795c-0.0808,-0.02344 -0.1638,-0.03833 -0.2495,-0.04517c-0.0786,-0.0061 -0.1565,-0.00463 -0.2337,0.00415c-0.1337,0.01539 -0.2648,0.05347 -0.3935,0.11402l-6.09034,2.87208l0.00097,7.16405zm13.58447,-7.9121l-2,1c-0.3757,0.18775 -0.8184,0.04029 -1.0063,-0.33545c-0.0552,-0.11035 -0.0813,-0.22656 -0.0813,-0.34033c0,-0.27344 0.1516,-0.53321 0.4167,-0.66602l2,-1c0.3757,-0.18775 0.8186,-0.04004 1.0064,0.33545c0.0551,0.11035 0.0813,0.22656 0.0813,0.34033c0,0.27368 -0.1514,0.53345 -0.4168,0.66602zm-15.08544,8.9785l-2.08667,0l1.30029,2.6006l0.78638,0l0,-2.6006zm0,-7.99998l-2.25,0c-0.24976,0 -0.49317,0.02734 -0.73023,0.08179c-0.18188,0.04174 -0.36011,0.09961 -0.53467,0.17334c-0.17944,0.07593 -0.34961,0.1665 -0.51049,0.27124c-0.18702,0.12231 -0.36133,0.26416 -0.52271,0.42554c-0.16138,0.16137 -0.30322,0.33569 -0.42554,0.52267c-0.10473,0.1609 -0.19531,0.3311 -0.27124,0.5105c-0.07373,0.1746 -0.13159,0.3528 -0.17334,0.5347c-0.05444,0.2371 -0.08178,0.4805 -0.08178,0.7302c0,0.2498 0.02734,0.4932 0.08178,0.7303c0.04175,0.1818 0.09961,0.3601 0.17334,0.5346c0.07593,0.1795 0.16651,0.3496 0.27124,0.5105c0.12232,0.187 0.26416,0.3614 0.42554,0.5227c0.16138,0.1614 0.33569,0.3033 0.52271,0.4256c0.16088,0.1047 0.33105,0.1953 0.51049,0.2712c0.17456,0.0737 0.35279,0.1316 0.53467,0.1734c0.23706,0.0544 0.48047,0.0817 0.73023,0.0817l2.25097,0l-0.00097,-6.49998zm12.75004,2.60058l2,0c0.4199,0 0.75,0.3301 0.75,0.75c0,0.4199 -0.3301,0.75 -0.75,0.75l-2,0c-0.42,0 -0.75,-0.3301 -0.75,-0.75c0,-0.4199 0.33,-0.75 0.75,-0.75zm0.3354,4.0791l2,1c0.2654,0.1326 0.4168,0.3924 0.4168,0.6661c0,0.1137 -0.0262,0.2299 -0.0813,0.3403c-0.1878,0.3755 -0.6307,0.5232 -1.0064,0.3354l-2,-1c-0.2651,-0.1328 -0.4167,-0.3925 -0.4167,-0.666c0,-0.1138 0.0261,-0.23 0.0813,-0.3403c0.1879,-0.3758 0.6306,-0.5232 1.0063,-0.3355z" fill-rule="evenodd"/>\n </g>\n</svg>',
@@ -729,179 +734,175 @@ var Icons = {
729
734
  return '<span class="' + PREFIX_CLASS + "-icon " + PREFIX_CLASS + "-icon-" + type + '" ' + attrStr + ">" + svg + "</span>";
730
735
  }
731
736
  var IconComponents = {
732
- /** 播放 */ play: function(attr) {
737
+ /** 播放 */ play: function play(attr) {
733
738
  if (attr === void 0) attr = {};
734
739
  return createIcon(Icons.play, 'play', attr);
735
740
  },
736
- /** 暂停 */ pause: function(attr) {
741
+ /** 暂停 */ pause: function pause(attr) {
737
742
  if (attr === void 0) attr = {};
738
743
  return createIcon(Icons.pause, 'pause', attr);
739
744
  },
740
- volume: function(attr) {
745
+ volume: function volume(attr) {
741
746
  if (attr === void 0) attr = {};
742
747
  return createIcon(Icons.volume(PREFIX_CLASS), 'volume', attr);
743
748
  },
744
- mobileFullscreen: function(attr) {
749
+ mobileFullscreen: function mobileFullscreen(attr) {
745
750
  if (attr === void 0) attr = {};
746
751
  return createIcon(Icons.mobileFullscreen, 'mobile-fullscreen', attr);
747
752
  },
748
- exitFullscreen: function(attr) {
753
+ exitFullscreen: function exitFullscreen(attr) {
749
754
  if (attr === void 0) attr = {};
750
755
  return createIcon(Icons.exitFullscreen, 'exit-fullscreen', attr);
751
756
  },
752
- fullscreen: function(attr) {
757
+ fullscreen: function fullscreen(attr) {
753
758
  if (attr === void 0) attr = {};
754
759
  return createIcon(Icons.fullscreen, 'fullscreen', attr);
755
760
  },
756
- exitGlobalFullscreen: function(attr) {
761
+ exitGlobalFullscreen: function exitGlobalFullscreen(attr) {
757
762
  if (attr === void 0) attr = {};
758
763
  return createIcon(Icons.exitGlobalFullscreen, 'exit-global-fullscreen', attr);
759
764
  },
760
- globalFullscreen: function(attr) {
765
+ globalFullscreen: function globalFullscreen(attr) {
761
766
  if (attr === void 0) attr = {};
762
767
  return createIcon(Icons.globalFullscreen, 'global-fullscreen', attr);
763
768
  },
764
- capturePicture: function(attr) {
769
+ capturePicture: function capturePicture(attr) {
765
770
  if (attr === void 0) attr = {};
766
771
  return createIcon(Icons.capturePicture, 'capture-picture', attr);
767
772
  },
768
- ptz: function(attr) {
773
+ ptz: function ptz(attr) {
769
774
  if (attr === void 0) attr = {};
770
775
  return createIcon(Icons.ptz, 'ptz', attr);
771
776
  },
772
- record: function(attr) {
777
+ record: function record(attr) {
773
778
  if (attr === void 0) attr = {};
774
779
  return createIcon(Icons.record, 'record', attr);
775
780
  },
776
- recordCircle: function(attr) {
781
+ recordCircle: function recordCircle(attr) {
777
782
  if (attr === void 0) attr = {};
778
783
  return createIcon(Icons.recordCircle, 'record-circle', attr);
779
784
  },
780
- talk: function(attr) {
785
+ talk: function talk(attr) {
781
786
  if (attr === void 0) attr = {};
782
787
  return createIcon(Icons.talk, 'talk', attr);
783
788
  },
784
- broadcast: function(attr) {
789
+ broadcast: function broadcast(attr) {
785
790
  if (attr === void 0) attr = {};
786
791
  return createIcon(Icons.broadcast, 'broadcast', attr);
787
792
  },
788
- aiChat: function(attr) {
793
+ aiChat: function aiChat(attr) {
789
794
  if (attr === void 0) attr = {};
790
795
  return createIcon(Icons.aiChat, 'aiChat', attr);
791
796
  },
792
- talkGrowth: function(attr) {
797
+ talkGrowth: function talkGrowth(attr) {
793
798
  if (attr === void 0) attr = {};
794
799
  return createIcon(Icons.talkGrowth(PREFIX_CLASS), 'talk-growth', attr);
795
800
  },
796
- zoom: function(attr) {
801
+ zoom: function zoom(attr) {
797
802
  if (attr === void 0) attr = {};
798
803
  return createIcon(Icons.zoom, 'zoom', attr);
799
804
  },
800
- more: function(attr) {
805
+ more: function more(attr) {
801
806
  if (attr === void 0) attr = {};
802
807
  return createIcon(Icons.more, 'more', attr);
803
808
  },
804
- moreDot: function(attr) {
809
+ moreDot: function moreDot(attr) {
805
810
  if (attr === void 0) attr = {};
806
811
  return createIcon(Icons.moreDot, 'more-dot', attr);
807
812
  },
808
- minusCircle: function(attr) {
813
+ minusCircle: function minusCircle(attr) {
809
814
  if (attr === void 0) attr = {};
810
815
  return createIcon(Icons.minusCircle, 'minus-circle', attr);
811
816
  },
812
- plusCircle: function(attr) {
817
+ plusCircle: function plusCircle(attr) {
813
818
  if (attr === void 0) attr = {};
814
819
  return createIcon(Icons.plusCircle, 'plus-circle', attr);
815
820
  },
816
- sdk: function(attr) {
821
+ sdk: function sdk(attr) {
817
822
  if (attr === void 0) attr = {};
818
823
  return createIcon(Icons.sdk, 'sdk', attr);
819
824
  },
820
- cloudRec: function(attr) {
825
+ cloudRec: function cloudRec(attr) {
821
826
  if (attr === void 0) attr = {};
822
827
  return createIcon(Icons.cloudRec, 'cloud-rec', attr);
823
828
  },
824
- cloudRecord: function(attr) {
829
+ cloudRecord: function cloudRecord(attr) {
825
830
  if (attr === void 0) attr = {};
826
831
  return createIcon(Icons.cloudRecord, 'cloud-record', attr);
827
832
  },
828
- error: function(attr) {
833
+ error: function error(attr) {
829
834
  if (attr === void 0) attr = {};
830
835
  return createIcon(Icons.error, 'error', attr);
831
836
  },
832
- info: function(attr) {
837
+ info: function info(attr) {
833
838
  if (attr === void 0) attr = {};
834
839
  return createIcon(Icons.info, 'info', attr);
835
840
  },
836
- close: function(attr) {
841
+ close: function close(attr) {
837
842
  if (attr === void 0) attr = {};
838
843
  return createIcon(Icons.close, 'close', attr);
839
844
  },
840
- closeCircleOutLined: function(attr) {
845
+ closeCircleOutLined: function closeCircleOutLined(attr) {
841
846
  if (attr === void 0) attr = {};
842
847
  return createIcon(Icons.closeCircleOutLined, 'close-circle', attr);
843
848
  },
844
- warnCircleOutLined: function(attr) {
849
+ warnCircleOutLined: function warnCircleOutLined(attr) {
845
850
  if (attr === void 0) attr = {};
846
851
  return createIcon(Icons.warnCircleOutLined, 'warn-circle', attr);
847
852
  },
848
- infoCircleOutLined: function(attr) {
853
+ infoCircleOutLined: function infoCircleOutLined(attr) {
849
854
  if (attr === void 0) attr = {};
850
855
  return createIcon(Icons.infoCircleOutLined, 'info-circle', attr);
851
856
  },
852
- date: function(attr) {
857
+ date: function date(attr) {
853
858
  if (attr === void 0) attr = {};
854
859
  return createIcon(Icons.date, 'date', attr);
855
860
  },
856
- filter: function(attr) {
861
+ filter: function filter(attr) {
857
862
  if (attr === void 0) attr = {};
858
863
  return createIcon(Icons.filter, 'filter', attr);
859
864
  },
860
- add: function(attr) {
865
+ add: function add(attr) {
861
866
  if (attr === void 0) attr = {};
862
867
  return createIcon(Icons.add, 'add', attr);
863
868
  },
864
- reduce: function(attr) {
869
+ reduce: function reduce(attr) {
865
870
  if (attr === void 0) attr = {};
866
871
  return createIcon(Icons.reduce, 'reduce', attr);
867
872
  },
868
- /** 直播 */ live: function(attr) {
873
+ /** 直播 */ live: function live(attr) {
869
874
  if (attr === void 0) attr = {};
870
875
  return createIcon(Icons.live, 'live', attr);
871
876
  },
872
- /** 回放 */ recDropdown: function(attr) {
877
+ /** 回放 */ recDropdown: function recDropdown(attr) {
873
878
  if (attr === void 0) attr = {};
874
879
  return createIcon(Icons.recDropdown, 'rec-dropdown', attr);
875
880
  },
876
- /** 录像列表 */ recList: function(attr) {
881
+ /** 录像列表 */ recList: function recList(attr) {
877
882
  if (attr === void 0) attr = {};
878
883
  return createIcon(Icons.list, 'rec-list', attr);
879
884
  },
880
- /** 消息 */ alarmMessage: function(attr) {
885
+ /** 消息 */ alarmMessage: function alarmMessage(attr) {
881
886
  if (attr === void 0) attr = {};
882
887
  return createIcon(Icons.alarmMessage, 'alarm-message', attr);
883
888
  },
884
- time: function(attr) {
889
+ time: function time(attr) {
885
890
  if (attr === void 0) attr = {};
886
891
  return createIcon(Icons.time, 'time', attr);
887
892
  }
888
893
  };
889
894
 
890
- function _extends$v() {
891
- _extends$v = Object.assign || function(target) {
895
+ function _extends$w() {
896
+ _extends$w = Object.assign || function assign(target) {
892
897
  for(var i = 1; i < arguments.length; i++){
893
898
  var source = arguments[i];
894
- for(var key in source){
895
- if (Object.prototype.hasOwnProperty.call(source, key)) {
896
- target[key] = source[key];
897
- }
898
- }
899
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
899
900
  }
900
901
  return target;
901
902
  };
902
- return _extends$v.apply(this, arguments);
903
+ return _extends$w.apply(this, arguments);
903
904
  }
904
- function _inherits$v(subClass, superClass) {
905
+ function _inherits$w(subClass, superClass) {
905
906
  if (typeof superClass !== "function" && superClass !== null) {
906
907
  throw new TypeError("Super expression must either be null or a function");
907
908
  }
@@ -912,25 +913,25 @@ function _inherits$v(subClass, superClass) {
912
913
  configurable: true
913
914
  }
914
915
  });
915
- if (superClass) _set_prototype_of$v(subClass, superClass);
916
+ if (superClass) _set_prototype_of$w(subClass, superClass);
916
917
  }
917
- function _set_prototype_of$v(o, p) {
918
- _set_prototype_of$v = Object.setPrototypeOf || function setPrototypeOf(o, p) {
918
+ function _set_prototype_of$w(o, p) {
919
+ _set_prototype_of$w = Object.setPrototypeOf || function setPrototypeOf(o, p) {
919
920
  o.__proto__ = p;
920
921
  return o;
921
922
  };
922
- return _set_prototype_of$v(o, p);
923
+ return _set_prototype_of$w(o, p);
923
924
  }
924
925
  var MESSAGE_DEFAULT_OPTIONS = {};
925
926
  /**
926
927
  * 消息控件
927
928
  * @category Control
928
929
  */ var Message = /*#__PURE__*/ function(Control) {
929
- _inherits$v(Message, Control);
930
+ _inherits$w(Message, Control);
930
931
  function Message(options) {
931
932
  if (options === void 0) options = {};
932
933
  var _this;
933
- _this = Control.call(this, Object.assign({}, MESSAGE_DEFAULT_OPTIONS, _extends$v({}, options, {
934
+ _this = Control.call(this, Object.assign({}, MESSAGE_DEFAULT_OPTIONS, _extends$w({}, options, {
934
935
  tagName: 'div',
935
936
  controlType: 'block'
936
937
  }))) || this, _this._$toast = null;
@@ -1087,21 +1088,17 @@ function _create_class$8(Constructor, protoProps, staticProps) {
1087
1088
  if (protoProps) _defineProperties$8(Constructor.prototype, protoProps);
1088
1089
  return Constructor;
1089
1090
  }
1090
- function _extends$u() {
1091
- _extends$u = Object.assign || function(target) {
1091
+ function _extends$v() {
1092
+ _extends$v = Object.assign || function assign(target) {
1092
1093
  for(var i = 1; i < arguments.length; i++){
1093
1094
  var source = arguments[i];
1094
- for(var key in source){
1095
- if (Object.prototype.hasOwnProperty.call(source, key)) {
1096
- target[key] = source[key];
1097
- }
1098
- }
1095
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
1099
1096
  }
1100
1097
  return target;
1101
1098
  };
1102
- return _extends$u.apply(this, arguments);
1099
+ return _extends$v.apply(this, arguments);
1103
1100
  }
1104
- function _inherits$u(subClass, superClass) {
1101
+ function _inherits$v(subClass, superClass) {
1105
1102
  if (typeof superClass !== "function" && superClass !== null) {
1106
1103
  throw new TypeError("Super expression must either be null or a function");
1107
1104
  }
@@ -1112,23 +1109,23 @@ function _inherits$u(subClass, superClass) {
1112
1109
  configurable: true
1113
1110
  }
1114
1111
  });
1115
- if (superClass) _set_prototype_of$u(subClass, superClass);
1112
+ if (superClass) _set_prototype_of$v(subClass, superClass);
1116
1113
  }
1117
- function _set_prototype_of$u(o, p) {
1118
- _set_prototype_of$u = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1114
+ function _set_prototype_of$v(o, p) {
1115
+ _set_prototype_of$v = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1119
1116
  o.__proto__ = p;
1120
1117
  return o;
1121
1118
  };
1122
- return _set_prototype_of$u(o, p);
1119
+ return _set_prototype_of$v(o, p);
1123
1120
  }
1124
1121
  /**
1125
1122
  * 播放/暂停控件
1126
1123
  * @category Control
1127
1124
  */ var Play = /*#__PURE__*/ function(Control) {
1128
- _inherits$u(Play, Control);
1125
+ _inherits$v(Play, Control);
1129
1126
  function Play(options) {
1130
1127
  var _this;
1131
- _this = Control.call(this, _extends$u({}, options, {
1128
+ _this = Control.call(this, _extends$v({}, options, {
1132
1129
  tagName: 'span',
1133
1130
  controlType: 'button',
1134
1131
  classNameSuffix: 'play'
@@ -1214,14 +1211,6 @@ function _array_like_to_array$2(arr, len) {
1214
1211
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
1215
1212
  return arr2;
1216
1213
  }
1217
- function _unsupported_iterable_to_array$2(o, minLen) {
1218
- if (!o) return;
1219
- if (typeof o === "string") return _array_like_to_array$2(o, minLen);
1220
- var n = Object.prototype.toString.call(o).slice(8, -1);
1221
- if (n === "Object" && o.constructor) n = o.constructor.name;
1222
- if (n === "Map" || n === "Set") return Array.from(n);
1223
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
1224
- }
1225
1214
  function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1226
1215
  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
1227
1216
  if (it) return (it = it.call(o)).next.bind(it);
@@ -1229,18 +1218,24 @@ function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1229
1218
  if (it) o = it;
1230
1219
  var i = 0;
1231
1220
  return function() {
1232
- if (i >= o.length) {
1233
- return {
1234
- done: true
1235
- };
1236
- }
1221
+ if (i >= o.length) return {
1222
+ done: true
1223
+ };
1237
1224
  return {
1238
1225
  done: false,
1239
1226
  value: o[i++]
1240
1227
  };
1241
1228
  };
1242
1229
  }
1243
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1230
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1231
+ }
1232
+ function _unsupported_iterable_to_array$2(o, minLen) {
1233
+ if (!o) return;
1234
+ if (typeof o === "string") return _array_like_to_array$2(o, minLen);
1235
+ var n = Object.prototype.toString.call(o).slice(8, -1);
1236
+ if (n === "Object" && o.constructor) n = o.constructor.name;
1237
+ if (n === "Map" || n === "Set") return Array.from(n);
1238
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
1244
1239
  }
1245
1240
  /**
1246
1241
  * 工具类
@@ -1267,7 +1262,7 @@ function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1267
1262
  */ // prettier-ignore
1268
1263
  Utils.orientationEventListener = function orientationEventListener(change) {
1269
1264
  var _orientationTimer = null;
1270
- var getOrientation = function() {
1265
+ var getOrientation = function getOrientation() {
1271
1266
  var _screen, _window;
1272
1267
  // 现代浏览器方案
1273
1268
  if ((_screen = screen) == null ? void 0 : _screen.orientation) {
@@ -1304,7 +1299,7 @@ function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1304
1299
  };
1305
1300
  var orientation = getOrientation();
1306
1301
  // 监听变化(兼容写法)
1307
- var onOrientationChange = function() {
1302
+ var onOrientationChange = function onOrientationChange() {
1308
1303
  var newOrientation = getOrientation == null ? void 0 : getOrientation();
1309
1304
  // console.log("onOrientationChange", newOrientation, orientation)
1310
1305
  // prettier-ignore
@@ -1313,7 +1308,7 @@ function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1313
1308
  orientation = newOrientation;
1314
1309
  }
1315
1310
  };
1316
- var onResize = function() {
1311
+ var onResize = function onResize() {
1317
1312
  // 防抖处理
1318
1313
  if (_orientationTimer) clearTimeout(_orientationTimer);
1319
1314
  if (onOrientationChange) _orientationTimer = setTimeout(onOrientationChange, 200);
@@ -1368,7 +1363,7 @@ function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1368
1363
  */ // prettier-ignore
1369
1364
  Utils.resizeObserver = function resizeObserver(node, callback) {
1370
1365
  // prettier-ignore
1371
- var observerFn = function(entries, observer) {
1366
+ var observerFn = function observerFn(entries, observer) {
1372
1367
  for(var _iterator = _create_for_of_iterator_helper_loose$2(entries), _step; !(_step = _iterator()).done;){
1373
1368
  var entry = _step.value;
1374
1369
  if (entry.target === node) {
@@ -1432,9 +1427,9 @@ var PROGRESS_DEFAULT_OPTIONS = {
1432
1427
  showPlus: false,
1433
1428
  showMinus: false,
1434
1429
  isRotated: false,
1435
- onChange: function() {
1430
+ onChange: function onChange() {
1436
1431
  /* no-op */ },
1437
- renderText: function(_, percent) {
1432
+ renderText: function renderText(_, percent) {
1438
1433
  return (percent * 100).toFixed(0);
1439
1434
  }
1440
1435
  };
@@ -1457,6 +1452,7 @@ var PROGRESS_DEFAULT_OPTIONS = {
1457
1452
  * })
1458
1453
  */ var Progress = /*#__PURE__*/ function() {
1459
1454
  function Progress(options) {
1455
+ var _this_options_defaultValue;
1460
1456
  var _this_options_range;
1461
1457
  this._percent = 0;
1462
1458
  this._value = 0;
@@ -1478,7 +1474,6 @@ var PROGRESS_DEFAULT_OPTIONS = {
1478
1474
  this.$container = options.container;
1479
1475
  this._render();
1480
1476
  this._eventListeners();
1481
- var _this_options_defaultValue;
1482
1477
  var value = (_this_options_defaultValue = this.options.defaultValue) != null ? _this_options_defaultValue : this.options.range[0]; // 设置默认值
1483
1478
  this._value = +value.toFixed(2); // 保留两位小数
1484
1479
  // prettier-ignore
@@ -1551,8 +1546,8 @@ var PROGRESS_DEFAULT_OPTIONS = {
1551
1546
  this._percent = +((value - this.options.range[0]) / (this.options.range[1] - this.options.range[0])).toFixed(2);
1552
1547
  };
1553
1548
  _proto._render = function _render() {
1554
- this.$content = document.createElement('div');
1555
1549
  var _this_options_className;
1550
+ this.$content = document.createElement('div');
1556
1551
  this.$content.className = PREFIX_CLASS + "-progress " + ((_this_options_className = this.options.className) != null ? _this_options_className : '');
1557
1552
  this.$content.innerHTML = (this.options.showPercent ? '<div class="' + PREFIX_CLASS + '-progress-text">' + (this.options.renderText == null ? void 0 : this.options.renderText.call(this.options, this._value, this._percent, this.options.range)) + "</div>" : '') + "\n " + (this.options.showPlus ? '<div class="' + PREFIX_CLASS + '-progress-plus">\n ' + IconComponents.plusCircle() + "\n </div>" : '') + '\n <div class="' + PREFIX_CLASS + '-progress-slider">\n <div class="' + PREFIX_CLASS + '-progress-slider-fill"></div>\n <div class="' + PREFIX_CLASS + '-progress-slider-handle" style="top: 100%"></div>\n </div>\n ' + (this.options.showMinus ? '<div class="' + PREFIX_CLASS + '-progress-minus">\n ' + IconComponents.minusCircle() + "\n </div>" : '');
1558
1553
  this.$container.appendChild(this.$content);
@@ -1744,21 +1739,17 @@ function _create_class$6(Constructor, protoProps, staticProps) {
1744
1739
  if (protoProps) _defineProperties$6(Constructor.prototype, protoProps);
1745
1740
  return Constructor;
1746
1741
  }
1747
- function _extends$t() {
1748
- _extends$t = Object.assign || function(target) {
1742
+ function _extends$u() {
1743
+ _extends$u = Object.assign || function assign(target) {
1749
1744
  for(var i = 1; i < arguments.length; i++){
1750
1745
  var source = arguments[i];
1751
- for(var key in source){
1752
- if (Object.prototype.hasOwnProperty.call(source, key)) {
1753
- target[key] = source[key];
1754
- }
1755
- }
1746
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
1756
1747
  }
1757
1748
  return target;
1758
1749
  };
1759
- return _extends$t.apply(this, arguments);
1750
+ return _extends$u.apply(this, arguments);
1760
1751
  }
1761
- function _inherits$t(subClass, superClass) {
1752
+ function _inherits$u(subClass, superClass) {
1762
1753
  if (typeof superClass !== "function" && superClass !== null) {
1763
1754
  throw new TypeError("Super expression must either be null or a function");
1764
1755
  }
@@ -1769,33 +1760,33 @@ function _inherits$t(subClass, superClass) {
1769
1760
  configurable: true
1770
1761
  }
1771
1762
  });
1772
- if (superClass) _set_prototype_of$t(subClass, superClass);
1763
+ if (superClass) _set_prototype_of$u(subClass, superClass);
1773
1764
  }
1774
- function _set_prototype_of$t(o, p) {
1775
- _set_prototype_of$t = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1765
+ function _set_prototype_of$u(o, p) {
1766
+ _set_prototype_of$u = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1776
1767
  o.__proto__ = p;
1777
1768
  return o;
1778
1769
  };
1779
- return _set_prototype_of$t(o, p);
1770
+ return _set_prototype_of$u(o, p);
1780
1771
  }
1781
1772
  var VOLUME_DEFAULT_OPTIONS = {
1782
1773
  volume: 0.8,
1783
1774
  muted: false,
1784
1775
  open: false,
1785
1776
  trigger: 'hover',
1786
- onOpenChange: function() {},
1787
- onChange: function() {}
1777
+ onOpenChange: function onOpenChange() {},
1778
+ onChange: function onChange() {}
1788
1779
  };
1789
1780
  /**
1790
1781
  * 音量调节控件
1791
1782
  * @category Control
1792
1783
  */ var Volume = /*#__PURE__*/ function(Control) {
1793
- _inherits$t(Volume, Control);
1784
+ _inherits$u(Volume, Control);
1794
1785
  function Volume(options) {
1795
1786
  if (options === void 0) options = {};
1796
1787
  var _this;
1797
1788
  var _this__options_props, _this__options_props1, _this__options_props2, _this__options_props3;
1798
- _this = Control.call(this, _extends$t({}, options, {
1789
+ _this = Control.call(this, _extends$u({}, options, {
1799
1790
  tagName: 'span',
1800
1791
  classNameSuffix: 'volume',
1801
1792
  controlType: 'button'
@@ -1812,7 +1803,7 @@ var VOLUME_DEFAULT_OPTIONS = {
1812
1803
  if (!(Utils.isMobile || _this._options.PLAY_TYPE === 'ezopen' || _this._options.PLAY_TYPE === 'ezhls')) {
1813
1804
  var _this__options_props4, _this__options_props5;
1814
1805
  _this.picker = new Picker(_this.$container, {
1815
- getPopupContainer: function() {
1806
+ getPopupContainer: function getPopupContainer() {
1816
1807
  return _this.$container;
1817
1808
  },
1818
1809
  trigger: _this._options.trigger,
@@ -1823,7 +1814,7 @@ var VOLUME_DEFAULT_OPTIONS = {
1823
1814
  -10
1824
1815
  ],
1825
1816
  placement: 'top',
1826
- onOpenChange: function(open) {
1817
+ onOpenChange: function onOpenChange(open) {
1827
1818
  _this._options.onOpenChange == null ? void 0 : _this._options.onOpenChange.call(_this._options, open, _this._muted ? _this._lastVolume : _this.volume, _this._muted);
1828
1819
  // prettier-ignore
1829
1820
  _this.emit(EVENTS.control.volumePanelOpenChange, open, _this._lastVolume, _this._muted);
@@ -1840,10 +1831,10 @@ var VOLUME_DEFAULT_OPTIONS = {
1840
1831
  showPercent: true,
1841
1832
  className: "" + PREFIX_CLASS + "-volume-progress",
1842
1833
  // 为了解决点击进度调取消静音
1843
- onProgressClick: function() {
1834
+ onProgressClick: function onProgressClick() {
1844
1835
  _this.muted = false;
1845
1836
  },
1846
- onChange: function(value) {
1837
+ onChange: function onChange(value) {
1847
1838
  if (value !== _this._volume) _this.volume = value;
1848
1839
  }
1849
1840
  });
@@ -2020,11 +2011,8 @@ function asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, key, arg) {
2020
2011
  reject(error);
2021
2012
  return;
2022
2013
  }
2023
- if (info.done) {
2024
- resolve(value);
2025
- } else {
2026
- Promise.resolve(value).then(_next, _throw);
2027
- }
2014
+ if (info.done) resolve(value);
2015
+ else Promise.resolve(value).then(_next, _throw);
2028
2016
  }
2029
2017
  function _async_to_generator$7(fn) {
2030
2018
  return function() {
@@ -2050,9 +2038,17 @@ function _ts_generator$7(thisArg, body) {
2050
2038
  },
2051
2039
  trys: [],
2052
2040
  ops: []
2053
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
2054
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
2055
- return this;
2041
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
2042
+ return d(g, "next", {
2043
+ value: verb(0)
2044
+ }), d(g, "throw", {
2045
+ value: verb(1)
2046
+ }), d(g, "return", {
2047
+ value: verb(2)
2048
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
2049
+ value: function() {
2050
+ return this;
2051
+ }
2056
2052
  }), g;
2057
2053
  function verb(n) {
2058
2054
  return function(v) {
@@ -2455,21 +2451,17 @@ var __fullscreenProvider__ = Provider.getInstance();
2455
2451
  return Fullscreen;
2456
2452
  }();
2457
2453
 
2458
- function _extends$s() {
2459
- _extends$s = Object.assign || function(target) {
2454
+ function _extends$t() {
2455
+ _extends$t = Object.assign || function assign(target) {
2460
2456
  for(var i = 1; i < arguments.length; i++){
2461
2457
  var source = arguments[i];
2462
- for(var key in source){
2463
- if (Object.prototype.hasOwnProperty.call(source, key)) {
2464
- target[key] = source[key];
2465
- }
2466
- }
2458
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
2467
2459
  }
2468
2460
  return target;
2469
2461
  };
2470
- return _extends$s.apply(this, arguments);
2462
+ return _extends$t.apply(this, arguments);
2471
2463
  }
2472
- function _inherits$s(subClass, superClass) {
2464
+ function _inherits$t(subClass, superClass) {
2473
2465
  if (typeof superClass !== "function" && superClass !== null) {
2474
2466
  throw new TypeError("Super expression must either be null or a function");
2475
2467
  }
@@ -2480,24 +2472,24 @@ function _inherits$s(subClass, superClass) {
2480
2472
  configurable: true
2481
2473
  }
2482
2474
  });
2483
- if (superClass) _set_prototype_of$s(subClass, superClass);
2475
+ if (superClass) _set_prototype_of$t(subClass, superClass);
2484
2476
  }
2485
- function _set_prototype_of$s(o, p) {
2486
- _set_prototype_of$s = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2477
+ function _set_prototype_of$t(o, p) {
2478
+ _set_prototype_of$t = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2487
2479
  o.__proto__ = p;
2488
2480
  return o;
2489
2481
  };
2490
- return _set_prototype_of$s(o, p);
2482
+ return _set_prototype_of$t(o, p);
2491
2483
  }
2492
2484
  /**
2493
2485
  * 全屏控件
2494
2486
  * @category Control
2495
2487
  */ var Fullscreen = /*#__PURE__*/ function(Control) {
2496
- _inherits$s(Fullscreen, Control);
2488
+ _inherits$t(Fullscreen, Control);
2497
2489
  function Fullscreen(options) {
2498
2490
  var _this;
2499
2491
  var _options_props, _this_options;
2500
- _this = Control.call(this, _extends$s({
2492
+ _this = Control.call(this, _extends$t({
2501
2493
  tagName: 'span',
2502
2494
  classNameSuffix: 'fullscreen',
2503
2495
  controlType: 'button'
@@ -2562,21 +2554,17 @@ function _set_prototype_of$s(o, p) {
2562
2554
  return Fullscreen;
2563
2555
  }(Control);
2564
2556
 
2565
- function _extends$r() {
2566
- _extends$r = Object.assign || function(target) {
2557
+ function _extends$s() {
2558
+ _extends$s = Object.assign || function assign(target) {
2567
2559
  for(var i = 1; i < arguments.length; i++){
2568
2560
  var source = arguments[i];
2569
- for(var key in source){
2570
- if (Object.prototype.hasOwnProperty.call(source, key)) {
2571
- target[key] = source[key];
2572
- }
2573
- }
2561
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
2574
2562
  }
2575
2563
  return target;
2576
2564
  };
2577
- return _extends$r.apply(this, arguments);
2565
+ return _extends$s.apply(this, arguments);
2578
2566
  }
2579
- function _inherits$r(subClass, superClass) {
2567
+ function _inherits$s(subClass, superClass) {
2580
2568
  if (typeof superClass !== "function" && superClass !== null) {
2581
2569
  throw new TypeError("Super expression must either be null or a function");
2582
2570
  }
@@ -2587,24 +2575,24 @@ function _inherits$r(subClass, superClass) {
2587
2575
  configurable: true
2588
2576
  }
2589
2577
  });
2590
- if (superClass) _set_prototype_of$r(subClass, superClass);
2578
+ if (superClass) _set_prototype_of$s(subClass, superClass);
2591
2579
  }
2592
- function _set_prototype_of$r(o, p) {
2593
- _set_prototype_of$r = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2580
+ function _set_prototype_of$s(o, p) {
2581
+ _set_prototype_of$s = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2594
2582
  o.__proto__ = p;
2595
2583
  return o;
2596
2584
  };
2597
- return _set_prototype_of$r(o, p);
2585
+ return _set_prototype_of$s(o, p);
2598
2586
  }
2599
2587
  /**
2600
2588
  * 回放类型切换(本地回放(sdk 卡), 云存储回放, 云录制回放)控件
2601
2589
  * @category Control
2602
2590
  */ var Rec = /*#__PURE__*/ function(Control) {
2603
- _inherits$r(Rec, Control);
2591
+ _inherits$s(Rec, Control);
2604
2592
  function Rec(options) {
2605
2593
  var _this;
2606
2594
  var _options_props;
2607
- _this = Control.call(this, _extends$r({}, options, {
2595
+ _this = Control.call(this, _extends$s({}, options, {
2608
2596
  tagName: 'div',
2609
2597
  controlType: 'block',
2610
2598
  classNameSuffix: 'rec'
@@ -3944,7 +3932,7 @@ var en = {
3944
3932
  voice: voice
3945
3933
  };
3946
3934
 
3947
- function _inherits$q(subClass, superClass) {
3935
+ function _inherits$r(subClass, superClass) {
3948
3936
  if (typeof superClass !== "function" && superClass !== null) {
3949
3937
  throw new TypeError("Super expression must either be null or a function");
3950
3938
  }
@@ -3955,20 +3943,20 @@ function _inherits$q(subClass, superClass) {
3955
3943
  configurable: true
3956
3944
  }
3957
3945
  });
3958
- if (superClass) _set_prototype_of$q(subClass, superClass);
3946
+ if (superClass) _set_prototype_of$r(subClass, superClass);
3959
3947
  }
3960
- function _set_prototype_of$q(o, p) {
3961
- _set_prototype_of$q = Object.setPrototypeOf || function setPrototypeOf(o, p) {
3948
+ function _set_prototype_of$r(o, p) {
3949
+ _set_prototype_of$r = Object.setPrototypeOf || function setPrototypeOf(o, p) {
3962
3950
  o.__proto__ = p;
3963
3951
  return o;
3964
3952
  };
3965
- return _set_prototype_of$q(o, p);
3953
+ return _set_prototype_of$r(o, p);
3966
3954
  }
3967
3955
  /**
3968
3956
  * 截图控件
3969
3957
  * @category Content
3970
3958
  */ var Content = /*#__PURE__*/ function(EventEmitter) {
3971
- _inherits$q(Content, EventEmitter);
3959
+ _inherits$r(Content, EventEmitter);
3972
3960
  function Content(options) {
3973
3961
  var _this;
3974
3962
  _this = EventEmitter.call(this) || this, _this._scaleMode = 0, _this._cleanUpResizeObserver = null, _this._originWidth = 0, _this._originHeight = 0, _this._width = 0, _this._height = 0;
@@ -4083,21 +4071,17 @@ function _set_prototype_of$q(o, p) {
4083
4071
  return Content;
4084
4072
  }(EventEmitter);
4085
4073
 
4086
- function _extends$q() {
4087
- _extends$q = Object.assign || function(target) {
4074
+ function _extends$r() {
4075
+ _extends$r = Object.assign || function assign(target) {
4088
4076
  for(var i = 1; i < arguments.length; i++){
4089
4077
  var source = arguments[i];
4090
- for(var key in source){
4091
- if (Object.prototype.hasOwnProperty.call(source, key)) {
4092
- target[key] = source[key];
4093
- }
4094
- }
4078
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
4095
4079
  }
4096
4080
  return target;
4097
4081
  };
4098
- return _extends$q.apply(this, arguments);
4082
+ return _extends$r.apply(this, arguments);
4099
4083
  }
4100
- function _inherits$p(subClass, superClass) {
4084
+ function _inherits$q(subClass, superClass) {
4101
4085
  if (typeof superClass !== "function" && superClass !== null) {
4102
4086
  throw new TypeError("Super expression must either be null or a function");
4103
4087
  }
@@ -4108,23 +4092,23 @@ function _inherits$p(subClass, superClass) {
4108
4092
  configurable: true
4109
4093
  }
4110
4094
  });
4111
- if (superClass) _set_prototype_of$p(subClass, superClass);
4095
+ if (superClass) _set_prototype_of$q(subClass, superClass);
4112
4096
  }
4113
- function _set_prototype_of$p(o, p) {
4114
- _set_prototype_of$p = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4097
+ function _set_prototype_of$q(o, p) {
4098
+ _set_prototype_of$q = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4115
4099
  o.__proto__ = p;
4116
4100
  return o;
4117
4101
  };
4118
- return _set_prototype_of$p(o, p);
4102
+ return _set_prototype_of$q(o, p);
4119
4103
  }
4120
4104
  /**
4121
4105
  * 更多控件
4122
4106
  * @category Control
4123
4107
  */ var More = /*#__PURE__*/ function(Control) {
4124
- _inherits$p(More, Control);
4108
+ _inherits$q(More, Control);
4125
4109
  function More(options) {
4126
4110
  var _this;
4127
- _this = Control.call(this, _extends$q({}, options, {
4111
+ _this = Control.call(this, _extends$r({}, options, {
4128
4112
  tagName: 'span',
4129
4113
  controlType: 'button',
4130
4114
  classNameSuffix: 'more'
@@ -4143,7 +4127,7 @@ function _set_prototype_of$p(o, p) {
4143
4127
  title: (_this_locale1 = this.locale) == null ? void 0 : _this_locale1.BTN_MORE
4144
4128
  });
4145
4129
  this.picker = new Picker(this.$container, {
4146
- getPopupContainer: function() {
4130
+ getPopupContainer: function getPopupContainer() {
4147
4131
  return _this.$container;
4148
4132
  },
4149
4133
  trigger: Utils.isMobile ? 'click' : 'hover',
@@ -4406,14 +4390,22 @@ function debounce(func, wait) {
4406
4390
  // 回放片段
4407
4391
  // =======================================================
4408
4392
  theme.on(EVENTS.setAllDayRecTimes, function(list) {
4409
- var _theme_controls_timeLineControl_emit, _theme_controls_timeLineControl, _theme_controls, _theme_controls_recListControl_emit, _theme_controls_recListControl, _theme_controls1;
4393
+ var _theme_controls_timeLineControl_emit, _theme_controls_timeLineControl, _theme_controls, _theme_controls_recListControl_emit, _theme_controls_recListControl, _theme_controls1, // 播放区间存在时录像列表已在服务端侧按区间查询,这里无需再过滤
4394
+ _theme_controls_segmentProgressControl_emit, _theme_controls_segmentProgressControl, _theme_controls2;
4410
4395
  (_theme_controls = theme.controls) == null ? void 0 : (_theme_controls_timeLineControl = _theme_controls.timeLineControl) == null ? void 0 : (_theme_controls_timeLineControl_emit = _theme_controls_timeLineControl.emit) == null ? void 0 : _theme_controls_timeLineControl_emit.call(_theme_controls_timeLineControl, EVENTS.setAllDayRecTimes, list.list);
4411
4396
  (_theme_controls1 = theme.controls) == null ? void 0 : (_theme_controls_recListControl = _theme_controls1.recListControl) == null ? void 0 : (_theme_controls_recListControl_emit = _theme_controls_recListControl.emit) == null ? void 0 : _theme_controls_recListControl_emit.call(_theme_controls_recListControl, EVENTS.setAllDayRecTimes, list.list);
4397
+ (_theme_controls2 = theme.controls) == null ? void 0 : (_theme_controls_segmentProgressControl = _theme_controls2.segmentProgressControl) == null ? void 0 : (_theme_controls_segmentProgressControl_emit = _theme_controls_segmentProgressControl.emit) == null ? void 0 : _theme_controls_segmentProgressControl_emit.call(_theme_controls_segmentProgressControl, EVENTS.setAllDayRecTimes, list.list);
4412
4398
  });
4413
4399
  theme.on(EVENTS.getOSDTime, function(time) {
4414
- var _theme_controls_timeLineControl_emit, _theme_controls_timeLineControl, _theme_controls, _theme_controls_recListControl_emit, _theme_controls_recListControl, _theme_controls1;
4400
+ var _theme_controls_timeLineControl_emit, _theme_controls_timeLineControl, _theme_controls, _theme_controls_recListControl_emit, _theme_controls_recListControl, _theme_controls1, _theme_controls_segmentProgressControl_emit, _theme_controls_segmentProgressControl, _theme_controls2;
4415
4401
  (_theme_controls = theme.controls) == null ? void 0 : (_theme_controls_timeLineControl = _theme_controls.timeLineControl) == null ? void 0 : (_theme_controls_timeLineControl_emit = _theme_controls_timeLineControl.emit) == null ? void 0 : _theme_controls_timeLineControl_emit.call(_theme_controls_timeLineControl, EVENTS.getOSDTime, time.data);
4416
4402
  (_theme_controls1 = theme.controls) == null ? void 0 : (_theme_controls_recListControl = _theme_controls1.recListControl) == null ? void 0 : (_theme_controls_recListControl_emit = _theme_controls_recListControl.emit) == null ? void 0 : _theme_controls_recListControl_emit.call(_theme_controls_recListControl, EVENTS.getOSDTime, time.data);
4403
+ (_theme_controls2 = theme.controls) == null ? void 0 : (_theme_controls_segmentProgressControl = _theme_controls2.segmentProgressControl) == null ? void 0 : (_theme_controls_segmentProgressControl_emit = _theme_controls_segmentProgressControl.emit) == null ? void 0 : _theme_controls_segmentProgressControl_emit.call(_theme_controls_segmentProgressControl, EVENTS.getOSDTime, time.data);
4404
+ });
4405
+ // 区间播放结束:进度条需要把完成度补到末端(OSD 通常停在末端之前若干秒)
4406
+ theme.on(EVENTS.playbackEnd, function(data) {
4407
+ var _theme_controls_segmentProgressControl_emit, _theme_controls_segmentProgressControl, _theme_controls;
4408
+ (_theme_controls = theme.controls) == null ? void 0 : (_theme_controls_segmentProgressControl = _theme_controls.segmentProgressControl) == null ? void 0 : (_theme_controls_segmentProgressControl_emit = _theme_controls_segmentProgressControl.emit) == null ? void 0 : _theme_controls_segmentProgressControl_emit.call(_theme_controls_segmentProgressControl, EVENTS.playbackEnd, data);
4417
4409
  });
4418
4410
  // =======================================================
4419
4411
  // 全屏
@@ -4459,7 +4451,7 @@ function debounce(func, wait) {
4459
4451
  *
4460
4452
  * @param theme - Theme
4461
4453
  */ function _controlEventemitter(theme) {
4462
- var _theme_controls, _theme_controls1, _theme_controls2, _theme_controls3, _theme_controls4, _theme_controls5, _theme_controls6, _theme_controls7, _theme_controls8, _theme_controls9, _theme_controls10, _theme_controls11, _theme_controls12, _theme_controls13, _theme_controls14, _theme_controls15, _theme_controls16, _theme_controls17, _theme_controls18, _theme_controls19, _theme_controls20, _theme_controls21, _theme_controls22, _theme_controls23, _theme_controls24;
4454
+ var _theme_controls, _theme_controls1, _theme_controls2, _theme_controls3, _theme_controls4, _theme_controls5, _theme_controls6, _theme_controls7, _theme_controls8, _theme_controls9, _theme_controls10, _theme_controls11, _theme_controls12, _theme_controls13, _theme_controls14, _theme_controls15, _theme_controls16, _theme_controls17, _theme_controls18, _theme_controls19, _theme_controls20, _theme_controls21, _theme_controls22, _theme_controls23, _theme_controls24, _theme_controls25;
4463
4455
  // Controls
4464
4456
  if (theme._recFooter) {
4465
4457
  theme._recFooter.on(EVENTS.theme.recFooterDestroy, function() {
@@ -4609,8 +4601,14 @@ function debounce(func, wait) {
4609
4601
  }
4610
4602
  // 播放地址切换后同步 Live/RecDropdown 激活状态
4611
4603
  // changePlayUrl 后 urlInfo 已更新,firstFrameDisplay 表示新地址播放成功
4604
+ // 注意:_controlEventemitter 每次 _renderTheme 都会执行,这里的监听挂在 theme 上,
4605
+ // 必须先移除上一次的引用,避免 changeTheme 反复切换导致监听器无限累积(内存泄漏 + 重复执行)。
4606
+ if (theme._onFirstFrameSync) {
4607
+ theme.removeListener(EVENTS.firstFrameDisplay, theme._onFirstFrameSync);
4608
+ theme._onFirstFrameSync = null;
4609
+ }
4612
4610
  if (((_theme_controls11 = theme.controls) == null ? void 0 : _theme_controls11.liveControl) || ((_theme_controls12 = theme.controls) == null ? void 0 : _theme_controls12.recDropdownControl)) {
4613
- theme.on(EVENTS.firstFrameDisplay, function() {
4611
+ theme._onFirstFrameSync = function() {
4614
4612
  var _theme_controls, _theme_controls1;
4615
4613
  var urlInfo = theme.urlInfo;
4616
4614
  if ((_theme_controls = theme.controls) == null ? void 0 : _theme_controls.liveControl) {
@@ -4619,7 +4617,8 @@ function debounce(func, wait) {
4619
4617
  if ((_theme_controls1 = theme.controls) == null ? void 0 : _theme_controls1.recDropdownControl) {
4620
4618
  theme.controls.recDropdownControl._syncActiveByUrlInfo(urlInfo);
4621
4619
  }
4622
- });
4620
+ };
4621
+ theme.on(EVENTS.firstFrameDisplay, theme._onFirstFrameSync);
4623
4622
  }
4624
4623
  // 缩放控件
4625
4624
  if ((_theme_controls13 = theme.controls) == null ? void 0 : _theme_controls13.zoomControl) {
@@ -4717,8 +4716,15 @@ function debounce(func, wait) {
4717
4716
  theme.emit(EVENTS.control.recDestroy);
4718
4717
  });
4719
4718
  }
4719
+ // 回放片段进度条控件:拖动/点击后与时间轴共用同一条 seek 通道,
4720
+ // 这里必须把控件实例上的事件中继到 theme,否则 SDK 层收不到(拖动看似生效但不会 seek)
4721
+ if ((_theme_controls21 = theme.controls) == null ? void 0 : _theme_controls21.segmentProgressControl) {
4722
+ theme.controls.segmentProgressControl.on(EVENTS.control.timeLineChange, function(date) {
4723
+ theme.emit(EVENTS.control.timeLineChange, date);
4724
+ });
4725
+ }
4720
4726
  // 时间轴控件
4721
- if ((_theme_controls21 = theme.controls) == null ? void 0 : _theme_controls21.timeLineControl) {
4727
+ if ((_theme_controls22 = theme.controls) == null ? void 0 : _theme_controls22.timeLineControl) {
4722
4728
  theme.controls.timeLineControl.on(EVENTS.control.timeLineChange, function(date) {
4723
4729
  theme.emit(EVENTS.control.timeLineChange, date);
4724
4730
  });
@@ -4748,7 +4754,7 @@ function debounce(func, wait) {
4748
4754
  });
4749
4755
  }
4750
4756
  // 日历控件
4751
- if ((_theme_controls22 = theme.controls) == null ? void 0 : _theme_controls22.dateControl) {
4757
+ if ((_theme_controls23 = theme.controls) == null ? void 0 : _theme_controls23.dateControl) {
4752
4758
  theme.controls.dateControl.on(EVENTS.control.datePanelOpenChange, function(open, date) {
4753
4759
  theme.emit(EVENTS.control.datePanelOpenChange, open, date);
4754
4760
  });
@@ -4760,7 +4766,7 @@ function debounce(func, wait) {
4760
4766
  });
4761
4767
  }
4762
4768
  // 时间控件
4763
- if ((_theme_controls23 = theme.controls) == null ? void 0 : _theme_controls23.timeControl) {
4769
+ if ((_theme_controls24 = theme.controls) == null ? void 0 : _theme_controls24.timeControl) {
4764
4770
  theme.controls.timeControl.on(EVENTS.control.timePanelOpenChange, function(open, time) {
4765
4771
  theme.emit(EVENTS.control.timePanelOpenChange, open, time);
4766
4772
  });
@@ -4769,7 +4775,7 @@ function debounce(func, wait) {
4769
4775
  });
4770
4776
  }
4771
4777
  // 回放片段列表
4772
- if ((_theme_controls24 = theme.controls) == null ? void 0 : _theme_controls24.recListControl) {
4778
+ if ((_theme_controls25 = theme.controls) == null ? void 0 : _theme_controls25.recListControl) {
4773
4779
  theme.controls.recListControl.on(EVENTS.control.recListCardClick, function(section, index, sections) {
4774
4780
  theme.emit(EVENTS.control.recListCardClick, section, index, sections);
4775
4781
  });
@@ -4859,21 +4865,17 @@ function _create_class$5(Constructor, protoProps, staticProps) {
4859
4865
  if (protoProps) _defineProperties$5(Constructor.prototype, protoProps);
4860
4866
  return Constructor;
4861
4867
  }
4862
- function _extends$p() {
4863
- _extends$p = Object.assign || function(target) {
4868
+ function _extends$q() {
4869
+ _extends$q = Object.assign || function assign(target) {
4864
4870
  for(var i = 1; i < arguments.length; i++){
4865
4871
  var source = arguments[i];
4866
- for(var key in source){
4867
- if (Object.prototype.hasOwnProperty.call(source, key)) {
4868
- target[key] = source[key];
4869
- }
4870
- }
4872
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
4871
4873
  }
4872
4874
  return target;
4873
4875
  };
4874
- return _extends$p.apply(this, arguments);
4876
+ return _extends$q.apply(this, arguments);
4875
4877
  }
4876
- function _inherits$o(subClass, superClass) {
4878
+ function _inherits$p(subClass, superClass) {
4877
4879
  if (typeof superClass !== "function" && superClass !== null) {
4878
4880
  throw new TypeError("Super expression must either be null or a function");
4879
4881
  }
@@ -4884,14 +4886,14 @@ function _inherits$o(subClass, superClass) {
4884
4886
  configurable: true
4885
4887
  }
4886
4888
  });
4887
- if (superClass) _set_prototype_of$o(subClass, superClass);
4889
+ if (superClass) _set_prototype_of$p(subClass, superClass);
4888
4890
  }
4889
- function _set_prototype_of$o(o, p) {
4890
- _set_prototype_of$o = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4891
+ function _set_prototype_of$p(o, p) {
4892
+ _set_prototype_of$p = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4891
4893
  o.__proto__ = p;
4892
4894
  return o;
4893
4895
  };
4894
- return _set_prototype_of$o(o, p);
4896
+ return _set_prototype_of$p(o, p);
4895
4897
  }
4896
4898
  var ZOOM_DEFAULT_OPTIONS = {
4897
4899
  open: false,
@@ -4901,10 +4903,10 @@ var ZOOM_DEFAULT_OPTIONS = {
4901
4903
  * 电子放大控件
4902
4904
  * @category Control
4903
4905
  */ var Zoom = /*#__PURE__*/ function(Control) {
4904
- _inherits$o(Zoom, Control);
4906
+ _inherits$p(Zoom, Control);
4905
4907
  function Zoom(options) {
4906
4908
  var _this;
4907
- _this = Control.call(this, _extends$p({}, options, {
4909
+ _this = Control.call(this, _extends$q({}, options, {
4908
4910
  tagName: 'span',
4909
4911
  controlType: 'button',
4910
4912
  classNameSuffix: 'zoom'
@@ -4946,14 +4948,14 @@ var ZOOM_DEFAULT_OPTIONS = {
4946
4948
  showPlus: true,
4947
4949
  showPercent: true,
4948
4950
  isRotated: this._isRotated,
4949
- onChange: function(value, percent, range) {
4951
+ onChange: function onChange(value, percent, range) {
4950
4952
  if (value !== _this._value) {
4951
4953
  _this._value = value;
4952
4954
  _this._options.onChange == null ? void 0 : _this._options.onChange.call(_this._options, value, percent, range);
4953
4955
  _this.emit(EVENTS.control.zoomChange, value, percent, range);
4954
4956
  }
4955
4957
  },
4956
- renderText: function(value) {
4958
+ renderText: function renderText(value) {
4957
4959
  return "" + value + "X";
4958
4960
  }
4959
4961
  });
@@ -5032,31 +5034,27 @@ var ZOOM_DEFAULT_OPTIONS = {
5032
5034
  return Zoom;
5033
5035
  }(Control);
5034
5036
 
5035
- function _extends$o() {
5036
- _extends$o = Object.assign || function(target) {
5037
+ function _extends$p() {
5038
+ _extends$p = Object.assign || function assign(target) {
5037
5039
  for(var i = 1; i < arguments.length; i++){
5038
5040
  var source = arguments[i];
5039
- for(var key in source){
5040
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5041
- target[key] = source[key];
5042
- }
5043
- }
5041
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
5044
5042
  }
5045
5043
  return target;
5046
5044
  };
5047
- return _extends$o.apply(this, arguments);
5045
+ return _extends$p.apply(this, arguments);
5048
5046
  }
5049
5047
  function __zoom(theme, container, options) {
5050
- theme.zoomUtil = new Zoom$1(container, _extends$o({}, options || {}, {
5048
+ theme.zoomUtil = new Zoom$1(container, _extends$p({}, options || {}, {
5051
5049
  min: 1,
5052
- onChange: function(zoom, reset) {
5050
+ onChange: function onChange(zoom, reset) {
5053
5051
  if (zoom !== theme._zoom) {
5054
5052
  var _options_onChange;
5055
5053
  theme.zoom = zoom;
5056
5054
  options == null ? void 0 : (_options_onChange = options.onChange) == null ? void 0 : _options_onChange.call(options, zoom, reset);
5057
5055
  }
5058
5056
  },
5059
- onTranslateChange: function(pos) {
5057
+ onTranslateChange: function onTranslateChange(pos) {
5060
5058
  var _options_onTranslateChange;
5061
5059
  theme.emit(EVENTS.zoomTranslateChange, pos);
5062
5060
  options == null ? void 0 : (_options_onTranslateChange = options.onTranslateChange) == null ? void 0 : _options_onTranslateChange.call(options, pos);
@@ -5073,11 +5071,8 @@ function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {
5073
5071
  reject(error);
5074
5072
  return;
5075
5073
  }
5076
- if (info.done) {
5077
- resolve(value);
5078
- } else {
5079
- Promise.resolve(value).then(_next, _throw);
5080
- }
5074
+ if (info.done) resolve(value);
5075
+ else Promise.resolve(value).then(_next, _throw);
5081
5076
  }
5082
5077
  function _async_to_generator$6(fn) {
5083
5078
  return function() {
@@ -5103,9 +5098,17 @@ function _ts_generator$6(thisArg, body) {
5103
5098
  },
5104
5099
  trys: [],
5105
5100
  ops: []
5106
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
5107
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
5108
- return this;
5101
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
5102
+ return d(g, "next", {
5103
+ value: verb(0)
5104
+ }), d(g, "throw", {
5105
+ value: verb(1)
5106
+ }), d(g, "return", {
5107
+ value: verb(2)
5108
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
5109
+ value: function() {
5110
+ return this;
5111
+ }
5109
5112
  }), g;
5110
5113
  function verb(n) {
5111
5114
  return function(v) {
@@ -5192,15 +5195,20 @@ function _ts_generator$6(thisArg, body) {
5192
5195
  * @returns
5193
5196
  */ function getThemeDataByTemplate(theme, id) {
5194
5197
  return _async_to_generator$6(function() {
5195
- var _theme_options_token_httpToken, _theme_options_token, url;
5198
+ var _theme_options_token_httpToken, _theme_options_token, // 中止上一个在途请求,并为本次请求创建可中止的信号(destroy 时会 abort)
5199
+ _theme__templateAbortController, url, controller;
5196
5200
  return _ts_generator$6(this, function(_state) {
5197
5201
  switch(_state.label){
5198
5202
  case 0:
5199
5203
  url = theme.options.env.domain + "/api/service/media/template/getDetail?accessToken=" + (theme.options.accessToken || ((_theme_options_token = theme.options.token) == null ? void 0 : (_theme_options_token_httpToken = _theme_options_token.httpToken) == null ? void 0 : _theme_options_token_httpToken.url)) + "&id=" + id;
5204
+ (_theme__templateAbortController = theme._templateAbortController) == null ? void 0 : _theme__templateAbortController.abort();
5205
+ controller = new AbortController();
5206
+ theme._templateAbortController = controller;
5200
5207
  return [
5201
5208
  4,
5202
5209
  fetch(url, {
5203
- method: 'GET'
5210
+ method: 'GET',
5211
+ signal: controller == null ? void 0 : controller.signal
5204
5212
  }).then(function(response) {
5205
5213
  return _async_to_generator$6(function() {
5206
5214
  return _ts_generator$6(this, function(_state) {
@@ -5256,11 +5264,8 @@ function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
5256
5264
  reject(error);
5257
5265
  return;
5258
5266
  }
5259
- if (info.done) {
5260
- resolve(value);
5261
- } else {
5262
- Promise.resolve(value).then(_next, _throw);
5263
- }
5267
+ if (info.done) resolve(value);
5268
+ else Promise.resolve(value).then(_next, _throw);
5264
5269
  }
5265
5270
  function _async_to_generator$5(fn) {
5266
5271
  return function() {
@@ -5277,19 +5282,15 @@ function _async_to_generator$5(fn) {
5277
5282
  });
5278
5283
  };
5279
5284
  }
5280
- function _extends$n() {
5281
- _extends$n = Object.assign || function(target) {
5285
+ function _extends$o() {
5286
+ _extends$o = Object.assign || function assign(target) {
5282
5287
  for(var i = 1; i < arguments.length; i++){
5283
5288
  var source = arguments[i];
5284
- for(var key in source){
5285
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5286
- target[key] = source[key];
5287
- }
5288
- }
5289
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
5289
5290
  }
5290
5291
  return target;
5291
5292
  };
5292
- return _extends$n.apply(this, arguments);
5293
+ return _extends$o.apply(this, arguments);
5293
5294
  }
5294
5295
  function _ts_generator$5(thisArg, body) {
5295
5296
  var f, y, t, _ = {
@@ -5300,9 +5301,17 @@ function _ts_generator$5(thisArg, body) {
5300
5301
  },
5301
5302
  trys: [],
5302
5303
  ops: []
5303
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
5304
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
5305
- return this;
5304
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
5305
+ return d(g, "next", {
5306
+ value: verb(0)
5307
+ }), d(g, "throw", {
5308
+ value: verb(1)
5309
+ }), d(g, "return", {
5310
+ value: verb(2)
5311
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
5312
+ value: function() {
5313
+ return this;
5314
+ }
5306
5315
  }), g;
5307
5316
  function verb(n) {
5308
5317
  return function(v) {
@@ -5395,10 +5404,10 @@ function _ts_generator$5(thisArg, body) {
5395
5404
  * @param {IThemeData} themeData 主题数据
5396
5405
  * @returns
5397
5406
  */ function _filterControls(themeData) {
5407
+ var _ref;
5398
5408
  var _themeData_header, _themeData_footer;
5399
5409
  var data = {};
5400
- var _themeData_autoFocus;
5401
- data.autoFocus = (_themeData_autoFocus = themeData == null ? void 0 : themeData.autoFocus) != null ? _themeData_autoFocus : 3; // 3s
5410
+ data.autoFocus = (_ref = themeData == null ? void 0 : themeData.autoFocus) != null ? _ref : 3; // 3s
5402
5411
  data.poster = (themeData == null ? void 0 : themeData.poster) || ''; //
5403
5412
  var deviceControls = [];
5404
5413
  var recControls = [];
@@ -5417,7 +5426,7 @@ function _ts_generator$5(thisArg, body) {
5417
5426
  }
5418
5427
  if (item.isrender !== 0 && REC_GROUP.includes(item.iconId)) {
5419
5428
  // TODO: 因为回放是一组, 位置以第一个位置为准
5420
- recControls.push(recControls[0] ? _extends$n({}, item, {
5429
+ recControls.push(recControls[0] ? _extends$o({}, item, {
5421
5430
  part: recControls[0].part
5422
5431
  }) : item);
5423
5432
  return false;
@@ -5440,7 +5449,7 @@ function _ts_generator$5(thisArg, body) {
5440
5449
  }
5441
5450
  if (item.isrender !== 0 && REC_GROUP.includes(item.iconId)) {
5442
5451
  // TODO: 因为回放是一组, 位置以第一个位置为准
5443
- recControls.push(recControls[0] ? _extends$n({}, item, {
5452
+ recControls.push(recControls[0] ? _extends$o({}, item, {
5444
5453
  part: recControls[0].part
5445
5454
  }) : item);
5446
5455
  return false;
@@ -5504,7 +5513,7 @@ function _filterLeftRightControls(btnList) {
5504
5513
  * @returns
5505
5514
  */ function getThemeData(theme, data) {
5506
5515
  return _async_to_generator$5(function() {
5507
- var themeData, _theme_logger, template;
5516
+ var themeData, _theme_logger, template, e;
5508
5517
  return _ts_generator$5(this, function(_state) {
5509
5518
  switch(_state.label){
5510
5519
  case 0:
@@ -5550,13 +5559,23 @@ function _filterLeftRightControls(btnList) {
5550
5559
  2,
5551
5560
  template
5552
5561
  ];
5562
+ // 请求返回前已销毁则静默返回,不在已释放的 theme 上派发事件
5563
+ if (theme.destroyed) return [
5564
+ 2,
5565
+ null
5566
+ ];
5553
5567
  theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED'), 'themeError');
5554
5568
  return [
5555
5569
  2,
5556
5570
  null
5557
5571
  ];
5558
5572
  case 4:
5559
- _state.sent();
5573
+ e = _state.sent();
5574
+ // 请求被中止(destroy/重新渲染)或已销毁:静默返回
5575
+ if (theme.destroyed || (e == null ? void 0 : e.name) === 'AbortError') return [
5576
+ 2,
5577
+ null
5578
+ ];
5560
5579
  theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED'), 'themeError');
5561
5580
  return [
5562
5581
  2,
@@ -5692,21 +5711,17 @@ function rgbOrHexToRgbaWithOpacity(color, opacity) {
5692
5711
  return Component;
5693
5712
  }();
5694
5713
 
5695
- function _extends$m() {
5696
- _extends$m = Object.assign || function(target) {
5714
+ function _extends$n() {
5715
+ _extends$n = Object.assign || function assign(target) {
5697
5716
  for(var i = 1; i < arguments.length; i++){
5698
5717
  var source = arguments[i];
5699
- for(var key in source){
5700
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5701
- target[key] = source[key];
5702
- }
5703
- }
5718
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
5704
5719
  }
5705
5720
  return target;
5706
5721
  };
5707
- return _extends$m.apply(this, arguments);
5722
+ return _extends$n.apply(this, arguments);
5708
5723
  }
5709
- function _inherits$n(subClass, superClass) {
5724
+ function _inherits$o(subClass, superClass) {
5710
5725
  if (typeof superClass !== "function" && superClass !== null) {
5711
5726
  throw new TypeError("Super expression must either be null or a function");
5712
5727
  }
@@ -5717,41 +5732,37 @@ function _inherits$n(subClass, superClass) {
5717
5732
  configurable: true
5718
5733
  }
5719
5734
  });
5720
- if (superClass) _set_prototype_of$n(subClass, superClass);
5735
+ if (superClass) _set_prototype_of$o(subClass, superClass);
5721
5736
  }
5722
- function _set_prototype_of$n(o, p) {
5723
- _set_prototype_of$n = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5737
+ function _set_prototype_of$o(o, p) {
5738
+ _set_prototype_of$o = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5724
5739
  o.__proto__ = p;
5725
5740
  return o;
5726
5741
  };
5727
- return _set_prototype_of$n(o, p);
5742
+ return _set_prototype_of$o(o, p);
5728
5743
  }
5729
5744
  var Footer = /*#__PURE__*/ function(Component) {
5730
- _inherits$n(Footer, Component);
5745
+ _inherits$o(Footer, Component);
5731
5746
  function Footer(options) {
5732
5747
  if (options === void 0) options = {};
5733
- return Component.call(this, _extends$m({}, options, {
5748
+ return Component.call(this, _extends$n({}, options, {
5734
5749
  cType: 'footer'
5735
5750
  })) || this;
5736
5751
  }
5737
5752
  return Footer;
5738
5753
  }(Component);
5739
5754
 
5740
- function _extends$l() {
5741
- _extends$l = Object.assign || function(target) {
5755
+ function _extends$m() {
5756
+ _extends$m = Object.assign || function assign(target) {
5742
5757
  for(var i = 1; i < arguments.length; i++){
5743
5758
  var source = arguments[i];
5744
- for(var key in source){
5745
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5746
- target[key] = source[key];
5747
- }
5748
- }
5759
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
5749
5760
  }
5750
5761
  return target;
5751
5762
  };
5752
- return _extends$l.apply(this, arguments);
5763
+ return _extends$m.apply(this, arguments);
5753
5764
  }
5754
- function _inherits$m(subClass, superClass) {
5765
+ function _inherits$n(subClass, superClass) {
5755
5766
  if (typeof superClass !== "function" && superClass !== null) {
5756
5767
  throw new TypeError("Super expression must either be null or a function");
5757
5768
  }
@@ -5762,20 +5773,20 @@ function _inherits$m(subClass, superClass) {
5762
5773
  configurable: true
5763
5774
  }
5764
5775
  });
5765
- if (superClass) _set_prototype_of$m(subClass, superClass);
5776
+ if (superClass) _set_prototype_of$n(subClass, superClass);
5766
5777
  }
5767
- function _set_prototype_of$m(o, p) {
5768
- _set_prototype_of$m = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5778
+ function _set_prototype_of$n(o, p) {
5779
+ _set_prototype_of$n = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5769
5780
  o.__proto__ = p;
5770
5781
  return o;
5771
5782
  };
5772
- return _set_prototype_of$m(o, p);
5783
+ return _set_prototype_of$n(o, p);
5773
5784
  }
5774
5785
  var Header = /*#__PURE__*/ function(Component) {
5775
- _inherits$m(Header, Component);
5786
+ _inherits$n(Header, Component);
5776
5787
  function Header(options) {
5777
5788
  if (options === void 0) options = {};
5778
- return Component.call(this, _extends$l({}, options, {
5789
+ return Component.call(this, _extends$m({}, options, {
5779
5790
  cType: 'header'
5780
5791
  })) || this;
5781
5792
  }
@@ -5797,13 +5808,13 @@ function interactiveHF($container, second, callback) {
5797
5808
  var _alwaysDisplay = false;
5798
5809
  var _$header = $container.querySelector("." + PREFIX_CLASS + "-header");
5799
5810
  var _$footer = $container.querySelector("." + PREFIX_CLASS + "-footer");
5800
- var _clearTimeout = function() {
5811
+ var _clearTimeout = function _clearTimeout() {
5801
5812
  if (_timer) {
5802
5813
  clearTimeout(_timer);
5803
5814
  _timer = null;
5804
5815
  }
5805
5816
  };
5806
- var _show = function() {
5817
+ var _show = function _show() {
5807
5818
  _clearTimeout == null ? void 0 : _clearTimeout();
5808
5819
  _$header == null ? void 0 : _$header.classList.remove("" + PREFIX_CLASS + "-hide-transition");
5809
5820
  _$footer == null ? void 0 : _$footer.classList.remove("" + PREFIX_CLASS + "-hide-transition");
@@ -5813,7 +5824,7 @@ function interactiveHF($container, second, callback) {
5813
5824
  }
5814
5825
  _open = true;
5815
5826
  };
5816
- var _hide = function() {
5827
+ var _hide = function _hide() {
5817
5828
  if (_alwaysDisplay) {
5818
5829
  return;
5819
5830
  }
@@ -5828,27 +5839,27 @@ function interactiveHF($container, second, callback) {
5828
5839
  }
5829
5840
  _open = false;
5830
5841
  };
5831
- var _setTimeoutShow = function() {
5842
+ var _setTimeoutShow = function _setTimeoutShow() {
5832
5843
  _show == null ? void 0 : _show();
5833
5844
  _timer = setTimeout(function() {
5834
5845
  _clearTimeout == null ? void 0 : _clearTimeout();
5835
5846
  _hide == null ? void 0 : _hide();
5836
5847
  }, second);
5837
5848
  };
5838
- var _headerFooterMousemove = function(e) {
5849
+ var _headerFooterMousemove = function _headerFooterMousemove(e) {
5839
5850
  var // 鼠标在header footer 移动, 不允许消失及不要冒泡
5840
5851
  _e_stopPropagation;
5841
5852
  e == null ? void 0 : (_e_stopPropagation = e.stopPropagation) == null ? void 0 : _e_stopPropagation.call(e);
5842
5853
  _clearTimeout == null ? void 0 : _clearTimeout();
5843
5854
  };
5844
- var _touchStart = function() {
5855
+ var _touchStart = function _touchStart() {
5845
5856
  if (_open) {
5846
5857
  _hide == null ? void 0 : _hide();
5847
5858
  } else {
5848
5859
  _setTimeoutShow == null ? void 0 : _setTimeoutShow();
5849
5860
  }
5850
5861
  };
5851
- var _headerFooterTouchStart = function(e) {
5862
+ var _headerFooterTouchStart = function _headerFooterTouchStart(e) {
5852
5863
  var // 移动端特殊处理, 点击 header footer不允许消失及不要冒泡
5853
5864
  _e_stopPropagation;
5854
5865
  e == null ? void 0 : (_e_stopPropagation = e.stopPropagation) == null ? void 0 : _e_stopPropagation.call(e);
@@ -5885,7 +5896,7 @@ function interactiveHF($container, second, callback) {
5885
5896
  }
5886
5897
  /**
5887
5898
  * 销毁
5888
- */ var cleanup = function() {
5899
+ */ var cleanup = function cleanup() {
5889
5900
  if ($container) {
5890
5901
  if (Utils.isMobile && _touchStart) {
5891
5902
  var eventName = "click";
@@ -5929,11 +5940,11 @@ function interactiveHF($container, second, callback) {
5929
5940
  };
5930
5941
  return {
5931
5942
  cleanup: cleanup,
5932
- clearTimeout: function() {
5943
+ clearTimeout: function clearTimeout1() {
5933
5944
  _clearTimeout == null ? void 0 : _clearTimeout();
5934
5945
  _alwaysDisplay = true;
5935
5946
  },
5936
- setTimeoutShow: function() {
5947
+ setTimeoutShow: function setTimeoutShow() {
5937
5948
  _setTimeoutShow == null ? void 0 : _setTimeoutShow();
5938
5949
  _alwaysDisplay = false;
5939
5950
  },
@@ -5941,21 +5952,17 @@ function interactiveHF($container, second, callback) {
5941
5952
  };
5942
5953
  }
5943
5954
 
5944
- function _extends$k() {
5945
- _extends$k = Object.assign || function(target) {
5955
+ function _extends$l() {
5956
+ _extends$l = Object.assign || function assign(target) {
5946
5957
  for(var i = 1; i < arguments.length; i++){
5947
5958
  var source = arguments[i];
5948
- for(var key in source){
5949
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5950
- target[key] = source[key];
5951
- }
5952
- }
5959
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
5953
5960
  }
5954
5961
  return target;
5955
5962
  };
5956
- return _extends$k.apply(this, arguments);
5963
+ return _extends$l.apply(this, arguments);
5957
5964
  }
5958
- function _inherits$l(subClass, superClass) {
5965
+ function _inherits$m(subClass, superClass) {
5959
5966
  if (typeof superClass !== "function" && superClass !== null) {
5960
5967
  throw new TypeError("Super expression must either be null or a function");
5961
5968
  }
@@ -5966,23 +5973,23 @@ function _inherits$l(subClass, superClass) {
5966
5973
  configurable: true
5967
5974
  }
5968
5975
  });
5969
- if (superClass) _set_prototype_of$l(subClass, superClass);
5976
+ if (superClass) _set_prototype_of$m(subClass, superClass);
5970
5977
  }
5971
- function _set_prototype_of$l(o, p) {
5972
- _set_prototype_of$l = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5978
+ function _set_prototype_of$m(o, p) {
5979
+ _set_prototype_of$m = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5973
5980
  o.__proto__ = p;
5974
5981
  return o;
5975
5982
  };
5976
- return _set_prototype_of$l(o, p);
5983
+ return _set_prototype_of$m(o, p);
5977
5984
  }
5978
5985
  /**
5979
5986
  * 全局全屏
5980
5987
  * 主题和播放器不提供全局全屏的api, 如果开发者想要可以参考这个组件自己实现
5981
5988
  * @category Control
5982
5989
  */ var GlobalFullscreen = /*#__PURE__*/ function(Fullscreen) {
5983
- _inherits$l(GlobalFullscreen, Fullscreen);
5990
+ _inherits$m(GlobalFullscreen, Fullscreen);
5984
5991
  function GlobalFullscreen(options) {
5985
- return Fullscreen.call(this, _extends$k({}, options, {
5992
+ return Fullscreen.call(this, _extends$l({}, options, {
5986
5993
  controlType: 'button',
5987
5994
  classNameSuffix: 'global-fullscreen'
5988
5995
  })) || this;
@@ -6013,21 +6020,17 @@ function _set_prototype_of$l(o, p) {
6013
6020
  return GlobalFullscreen;
6014
6021
  }(Fullscreen);
6015
6022
 
6016
- function _extends$j() {
6017
- _extends$j = Object.assign || function(target) {
6023
+ function _extends$k() {
6024
+ _extends$k = Object.assign || function assign(target) {
6018
6025
  for(var i = 1; i < arguments.length; i++){
6019
6026
  var source = arguments[i];
6020
- for(var key in source){
6021
- if (Object.prototype.hasOwnProperty.call(source, key)) {
6022
- target[key] = source[key];
6023
- }
6024
- }
6027
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
6025
6028
  }
6026
6029
  return target;
6027
6030
  };
6028
- return _extends$j.apply(this, arguments);
6031
+ return _extends$k.apply(this, arguments);
6029
6032
  }
6030
- function _inherits$k(subClass, superClass) {
6033
+ function _inherits$l(subClass, superClass) {
6031
6034
  if (typeof superClass !== "function" && superClass !== null) {
6032
6035
  throw new TypeError("Super expression must either be null or a function");
6033
6036
  }
@@ -6038,23 +6041,23 @@ function _inherits$k(subClass, superClass) {
6038
6041
  configurable: true
6039
6042
  }
6040
6043
  });
6041
- if (superClass) _set_prototype_of$k(subClass, superClass);
6044
+ if (superClass) _set_prototype_of$l(subClass, superClass);
6042
6045
  }
6043
- function _set_prototype_of$k(o, p) {
6044
- _set_prototype_of$k = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6046
+ function _set_prototype_of$l(o, p) {
6047
+ _set_prototype_of$l = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6045
6048
  o.__proto__ = p;
6046
6049
  return o;
6047
6050
  };
6048
- return _set_prototype_of$k(o, p);
6051
+ return _set_prototype_of$l(o, p);
6049
6052
  }
6050
6053
  /**
6051
6054
  * 截图控件,点击后会触发截图事件, 截图数据会通过 onCapture 回调函数返回
6052
6055
  * @category Control
6053
6056
  */ var CapturePicture = /*#__PURE__*/ function(Control) {
6054
- _inherits$k(CapturePicture, Control);
6057
+ _inherits$l(CapturePicture, Control);
6055
6058
  function CapturePicture(options) {
6056
6059
  var _this;
6057
- _this = Control.call(this, _extends$j({}, options, {
6060
+ _this = Control.call(this, _extends$k({}, options, {
6058
6061
  tagName: 'span',
6059
6062
  classNameSuffix: 'capture-picture'
6060
6063
  })) || this, _this._timer = null;
@@ -6084,8 +6087,8 @@ function _set_prototype_of$k(o, p) {
6084
6087
  * 点击 Control 会触发
6085
6088
  */ _proto._onControlClick = function _onControlClick(e) {
6086
6089
  var _this = this;
6087
- this.active = true;
6088
6090
  var _this_options_type, _this_options_cloudRecUpload;
6091
+ this.active = true;
6089
6092
  this.emit(EVENTS.control.capturePicture, {
6090
6093
  type: (_this_options_type = this.options.type) != null ? _this_options_type : 'download',
6091
6094
  quality: this.options.quality || 0.9,
@@ -6120,21 +6123,17 @@ function _create_class$4(Constructor, protoProps, staticProps) {
6120
6123
  if (protoProps) _defineProperties$4(Constructor.prototype, protoProps);
6121
6124
  return Constructor;
6122
6125
  }
6123
- function _extends$i() {
6124
- _extends$i = Object.assign || function(target) {
6126
+ function _extends$j() {
6127
+ _extends$j = Object.assign || function assign(target) {
6125
6128
  for(var i = 1; i < arguments.length; i++){
6126
6129
  var source = arguments[i];
6127
- for(var key in source){
6128
- if (Object.prototype.hasOwnProperty.call(source, key)) {
6129
- target[key] = source[key];
6130
- }
6131
- }
6130
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
6132
6131
  }
6133
6132
  return target;
6134
6133
  };
6135
- return _extends$i.apply(this, arguments);
6134
+ return _extends$j.apply(this, arguments);
6136
6135
  }
6137
- function _inherits$j(subClass, superClass) {
6136
+ function _inherits$k(subClass, superClass) {
6138
6137
  if (typeof superClass !== "function" && superClass !== null) {
6139
6138
  throw new TypeError("Super expression must either be null or a function");
6140
6139
  }
@@ -6145,23 +6144,23 @@ function _inherits$j(subClass, superClass) {
6145
6144
  configurable: true
6146
6145
  }
6147
6146
  });
6148
- if (superClass) _set_prototype_of$j(subClass, superClass);
6147
+ if (superClass) _set_prototype_of$k(subClass, superClass);
6149
6148
  }
6150
- function _set_prototype_of$j(o, p) {
6151
- _set_prototype_of$j = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6149
+ function _set_prototype_of$k(o, p) {
6150
+ _set_prototype_of$k = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6152
6151
  o.__proto__ = p;
6153
6152
  return o;
6154
6153
  };
6155
- return _set_prototype_of$j(o, p);
6154
+ return _set_prototype_of$k(o, p);
6156
6155
  }
6157
6156
  /**
6158
6157
  * 云台控件
6159
6158
  * @category Control
6160
6159
  */ var Ptz = /*#__PURE__*/ function(Control) {
6161
- _inherits$j(Ptz, Control);
6160
+ _inherits$k(Ptz, Control);
6162
6161
  function Ptz(options) {
6163
6162
  var _this;
6164
- _this = Control.call(this, _extends$i({}, options, {
6163
+ _this = Control.call(this, _extends$j({}, options, {
6165
6164
  tagName: 'span',
6166
6165
  controlType: 'button',
6167
6166
  classNameSuffix: 'ptz'
@@ -6204,7 +6203,7 @@ function _set_prototype_of$j(o, p) {
6204
6203
  this.$turntable.classList.add("" + PREFIX_CLASS + "-ptz-turntable");
6205
6204
  this.$panel.appendChild(this.$turntable);
6206
6205
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
6207
- this._ptzControl = new controlPtz.Ptz(this.$turntable, _extends$i({}, this._options, {
6206
+ this._ptzControl = new controlPtz.Ptz(this.$turntable, _extends$j({}, this._options, {
6208
6207
  onSpeedChange: this._onSpeedChange.bind(this),
6209
6208
  onDirection: this._onDirection.bind(this)
6210
6209
  }));
@@ -6213,7 +6212,7 @@ function _set_prototype_of$j(o, p) {
6213
6212
  };
6214
6213
  _proto.renderMobileExtend = function renderMobileExtend($container) {
6215
6214
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
6216
- if (!this._ptzControl1) this._ptzControl1 = new controlPtz.MobilePtz($container, _extends$i({}, this._options, {
6215
+ if (!this._ptzControl1) this._ptzControl1 = new controlPtz.MobilePtz($container, _extends$j({}, this._options, {
6217
6216
  onSpeedChange: this._onSpeedChange.bind(this),
6218
6217
  onDirection: this._onDirection.bind(this)
6219
6218
  }));
@@ -6297,7 +6296,7 @@ function formatTime(seconds, format) {
6297
6296
  var hours = Math.floor(seconds / 3600);
6298
6297
  var minutes = Math.floor(seconds % 3600 / 60);
6299
6298
  var secs = seconds % 60;
6300
- var pad = function(num) {
6299
+ var pad = function pad(num) {
6301
6300
  return num.toString().padStart(2, '0');
6302
6301
  };
6303
6302
  return format.replace('HH', pad(hours)).replace('MM', pad(minutes)).replace('SS', pad(secs));
@@ -6316,21 +6315,17 @@ function _create_class$3(Constructor, protoProps, staticProps) {
6316
6315
  if (protoProps) _defineProperties$3(Constructor.prototype, protoProps);
6317
6316
  return Constructor;
6318
6317
  }
6319
- function _extends$h() {
6320
- _extends$h = Object.assign || function(target) {
6318
+ function _extends$i() {
6319
+ _extends$i = Object.assign || function assign(target) {
6321
6320
  for(var i = 1; i < arguments.length; i++){
6322
6321
  var source = arguments[i];
6323
- for(var key in source){
6324
- if (Object.prototype.hasOwnProperty.call(source, key)) {
6325
- target[key] = source[key];
6326
- }
6327
- }
6322
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
6328
6323
  }
6329
6324
  return target;
6330
6325
  };
6331
- return _extends$h.apply(this, arguments);
6326
+ return _extends$i.apply(this, arguments);
6332
6327
  }
6333
- function _inherits$i(subClass, superClass) {
6328
+ function _inherits$j(subClass, superClass) {
6334
6329
  if (typeof superClass !== "function" && superClass !== null) {
6335
6330
  throw new TypeError("Super expression must either be null or a function");
6336
6331
  }
@@ -6341,14 +6336,14 @@ function _inherits$i(subClass, superClass) {
6341
6336
  configurable: true
6342
6337
  }
6343
6338
  });
6344
- if (superClass) _set_prototype_of$i(subClass, superClass);
6339
+ if (superClass) _set_prototype_of$j(subClass, superClass);
6345
6340
  }
6346
- function _set_prototype_of$i(o, p) {
6347
- _set_prototype_of$i = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6341
+ function _set_prototype_of$j(o, p) {
6342
+ _set_prototype_of$j = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6348
6343
  o.__proto__ = p;
6349
6344
  return o;
6350
6345
  };
6351
- return _set_prototype_of$i(o, p);
6346
+ return _set_prototype_of$j(o, p);
6352
6347
  }
6353
6348
  var RECORD_DEFAULT_OPTIONS = {
6354
6349
  maxDuration: 3600
@@ -6362,10 +6357,10 @@ var RECORD_DEFAULT_OPTIONS = {
6362
6357
  * 2. 录制时间很短可能会因为浏览器的限制或没有I帧而无法生成有效的视频文件
6363
6358
  * @category Control
6364
6359
  */ var Record = /*#__PURE__*/ function(Control) {
6365
- _inherits$i(Record, Control);
6360
+ _inherits$j(Record, Control);
6366
6361
  function Record(options) {
6367
6362
  var _this;
6368
- _this = Control.call(this, _extends$h({}, options, {
6363
+ _this = Control.call(this, _extends$i({}, options, {
6369
6364
  tagName: 'span',
6370
6365
  controlType: 'button',
6371
6366
  classNameSuffix: 'record'
@@ -6472,11 +6467,8 @@ function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
6472
6467
  reject(error);
6473
6468
  return;
6474
6469
  }
6475
- if (info.done) {
6476
- resolve(value);
6477
- } else {
6478
- Promise.resolve(value).then(_next, _throw);
6479
- }
6470
+ if (info.done) resolve(value);
6471
+ else Promise.resolve(value).then(_next, _throw);
6480
6472
  }
6481
6473
  function _async_to_generator$4(fn) {
6482
6474
  return function() {
@@ -6506,21 +6498,17 @@ function _create_class$2(Constructor, protoProps, staticProps) {
6506
6498
  if (protoProps) _defineProperties$2(Constructor.prototype, protoProps);
6507
6499
  return Constructor;
6508
6500
  }
6509
- function _extends$g() {
6510
- _extends$g = Object.assign || function(target) {
6501
+ function _extends$h() {
6502
+ _extends$h = Object.assign || function assign(target) {
6511
6503
  for(var i = 1; i < arguments.length; i++){
6512
6504
  var source = arguments[i];
6513
- for(var key in source){
6514
- if (Object.prototype.hasOwnProperty.call(source, key)) {
6515
- target[key] = source[key];
6516
- }
6517
- }
6505
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
6518
6506
  }
6519
6507
  return target;
6520
6508
  };
6521
- return _extends$g.apply(this, arguments);
6509
+ return _extends$h.apply(this, arguments);
6522
6510
  }
6523
- function _inherits$h(subClass, superClass) {
6511
+ function _inherits$i(subClass, superClass) {
6524
6512
  if (typeof superClass !== "function" && superClass !== null) {
6525
6513
  throw new TypeError("Super expression must either be null or a function");
6526
6514
  }
@@ -6531,14 +6519,14 @@ function _inherits$h(subClass, superClass) {
6531
6519
  configurable: true
6532
6520
  }
6533
6521
  });
6534
- if (superClass) _set_prototype_of$h(subClass, superClass);
6522
+ if (superClass) _set_prototype_of$i(subClass, superClass);
6535
6523
  }
6536
- function _set_prototype_of$h(o, p) {
6537
- _set_prototype_of$h = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6524
+ function _set_prototype_of$i(o, p) {
6525
+ _set_prototype_of$i = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6538
6526
  o.__proto__ = p;
6539
6527
  return o;
6540
6528
  };
6541
- return _set_prototype_of$h(o, p);
6529
+ return _set_prototype_of$i(o, p);
6542
6530
  }
6543
6531
  function _ts_generator$4(thisArg, body) {
6544
6532
  var f, y, t, _ = {
@@ -6549,9 +6537,17 @@ function _ts_generator$4(thisArg, body) {
6549
6537
  },
6550
6538
  trys: [],
6551
6539
  ops: []
6552
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
6553
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
6554
- return this;
6540
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
6541
+ return d(g, "next", {
6542
+ value: verb(0)
6543
+ }), d(g, "throw", {
6544
+ value: verb(1)
6545
+ }), d(g, "return", {
6546
+ value: verb(2)
6547
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
6548
+ value: function() {
6549
+ return this;
6550
+ }
6555
6551
  }), g;
6556
6552
  function verb(n) {
6557
6553
  return function(v) {
@@ -6640,10 +6636,10 @@ function _ts_generator$4(thisArg, body) {
6640
6636
  *
6641
6637
  * @category Control
6642
6638
  */ var Talk = /*#__PURE__*/ function(Control) {
6643
- _inherits$h(Talk, Control);
6639
+ _inherits$i(Talk, Control);
6644
6640
  function Talk(options) {
6645
6641
  var _this;
6646
- _this = Control.call(this, _extends$g({}, options, {
6642
+ _this = Control.call(this, _extends$h({}, options, {
6647
6643
  tagName: 'span',
6648
6644
  controlType: 'button',
6649
6645
  classNameSuffix: 'talk'
@@ -6692,7 +6688,7 @@ function _ts_generator$4(thisArg, body) {
6692
6688
  /**
6693
6689
  * 点击 Control 会触发
6694
6690
  */ _proto._onControlClick = function _onControlClick(e) {
6695
- var _this = this, _superprop_get__onControlClick = function() {
6691
+ var _this = this, _superprop_get__onControlClick = function _superprop_get__onControlClick() {
6696
6692
  return Control.prototype._onControlClick;
6697
6693
  };
6698
6694
  return _async_to_generator$4(function() {
@@ -6755,11 +6751,8 @@ function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
6755
6751
  reject(error);
6756
6752
  return;
6757
6753
  }
6758
- if (info.done) {
6759
- resolve(value);
6760
- } else {
6761
- Promise.resolve(value).then(_next, _throw);
6762
- }
6754
+ if (info.done) resolve(value);
6755
+ else Promise.resolve(value).then(_next, _throw);
6763
6756
  }
6764
6757
  function _async_to_generator$3(fn) {
6765
6758
  return function() {
@@ -6776,21 +6769,17 @@ function _async_to_generator$3(fn) {
6776
6769
  });
6777
6770
  };
6778
6771
  }
6779
- function _extends$f() {
6780
- _extends$f = Object.assign || function(target) {
6772
+ function _extends$g() {
6773
+ _extends$g = Object.assign || function assign(target) {
6781
6774
  for(var i = 1; i < arguments.length; i++){
6782
6775
  var source = arguments[i];
6783
- for(var key in source){
6784
- if (Object.prototype.hasOwnProperty.call(source, key)) {
6785
- target[key] = source[key];
6786
- }
6787
- }
6776
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
6788
6777
  }
6789
6778
  return target;
6790
6779
  };
6791
- return _extends$f.apply(this, arguments);
6780
+ return _extends$g.apply(this, arguments);
6792
6781
  }
6793
- function _inherits$g(subClass, superClass) {
6782
+ function _inherits$h(subClass, superClass) {
6794
6783
  if (typeof superClass !== "function" && superClass !== null) {
6795
6784
  throw new TypeError("Super expression must either be null or a function");
6796
6785
  }
@@ -6801,14 +6790,14 @@ function _inherits$g(subClass, superClass) {
6801
6790
  configurable: true
6802
6791
  }
6803
6792
  });
6804
- if (superClass) _set_prototype_of$g(subClass, superClass);
6793
+ if (superClass) _set_prototype_of$h(subClass, superClass);
6805
6794
  }
6806
- function _set_prototype_of$g(o, p) {
6807
- _set_prototype_of$g = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6795
+ function _set_prototype_of$h(o, p) {
6796
+ _set_prototype_of$h = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6808
6797
  o.__proto__ = p;
6809
6798
  return o;
6810
6799
  };
6811
- return _set_prototype_of$g(o, p);
6800
+ return _set_prototype_of$h(o, p);
6812
6801
  }
6813
6802
  function _ts_generator$3(thisArg, body) {
6814
6803
  var f, y, t, _ = {
@@ -6819,9 +6808,17 @@ function _ts_generator$3(thisArg, body) {
6819
6808
  },
6820
6809
  trys: [],
6821
6810
  ops: []
6822
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
6823
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
6824
- return this;
6811
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
6812
+ return d(g, "next", {
6813
+ value: verb(0)
6814
+ }), d(g, "throw", {
6815
+ value: verb(1)
6816
+ }), d(g, "return", {
6817
+ value: verb(2)
6818
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
6819
+ value: function() {
6820
+ return this;
6821
+ }
6825
6822
  }), g;
6826
6823
  function verb(n) {
6827
6824
  return function(v) {
@@ -6908,10 +6905,10 @@ function _ts_generator$3(thisArg, body) {
6908
6905
  *
6909
6906
  * @category Control
6910
6907
  */ var Broadcast = /*#__PURE__*/ function(Control) {
6911
- _inherits$g(Broadcast, Control);
6908
+ _inherits$h(Broadcast, Control);
6912
6909
  function Broadcast(options) {
6913
6910
  var _this;
6914
- _this = Control.call(this, _extends$f({}, options, {
6911
+ _this = Control.call(this, _extends$g({}, options, {
6915
6912
  tagName: 'span',
6916
6913
  controlType: 'button',
6917
6914
  classNameSuffix: 'broadcast'
@@ -6957,7 +6954,7 @@ function _ts_generator$3(thisArg, body) {
6957
6954
  /**
6958
6955
  * 点击 Control 会触发
6959
6956
  */ _proto._onControlClick = function _onControlClick(e) {
6960
- var _this = this, _superprop_get__onControlClick = function() {
6957
+ var _this = this, _superprop_get__onControlClick = function _superprop_get__onControlClick() {
6961
6958
  return Control.prototype._onControlClick;
6962
6959
  };
6963
6960
  return _async_to_generator$3(function() {
@@ -6985,11 +6982,8 @@ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
6985
6982
  reject(error);
6986
6983
  return;
6987
6984
  }
6988
- if (info.done) {
6989
- resolve(value);
6990
- } else {
6991
- Promise.resolve(value).then(_next, _throw);
6992
- }
6985
+ if (info.done) resolve(value);
6986
+ else Promise.resolve(value).then(_next, _throw);
6993
6987
  }
6994
6988
  function _async_to_generator$2(fn) {
6995
6989
  return function() {
@@ -7006,21 +7000,17 @@ function _async_to_generator$2(fn) {
7006
7000
  });
7007
7001
  };
7008
7002
  }
7009
- function _extends$e() {
7010
- _extends$e = Object.assign || function(target) {
7003
+ function _extends$f() {
7004
+ _extends$f = Object.assign || function assign(target) {
7011
7005
  for(var i = 1; i < arguments.length; i++){
7012
7006
  var source = arguments[i];
7013
- for(var key in source){
7014
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7015
- target[key] = source[key];
7016
- }
7017
- }
7007
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7018
7008
  }
7019
7009
  return target;
7020
7010
  };
7021
- return _extends$e.apply(this, arguments);
7011
+ return _extends$f.apply(this, arguments);
7022
7012
  }
7023
- function _inherits$f(subClass, superClass) {
7013
+ function _inherits$g(subClass, superClass) {
7024
7014
  if (typeof superClass !== "function" && superClass !== null) {
7025
7015
  throw new TypeError("Super expression must either be null or a function");
7026
7016
  }
@@ -7031,14 +7021,14 @@ function _inherits$f(subClass, superClass) {
7031
7021
  configurable: true
7032
7022
  }
7033
7023
  });
7034
- if (superClass) _set_prototype_of$f(subClass, superClass);
7024
+ if (superClass) _set_prototype_of$g(subClass, superClass);
7035
7025
  }
7036
- function _set_prototype_of$f(o, p) {
7037
- _set_prototype_of$f = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7026
+ function _set_prototype_of$g(o, p) {
7027
+ _set_prototype_of$g = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7038
7028
  o.__proto__ = p;
7039
7029
  return o;
7040
7030
  };
7041
- return _set_prototype_of$f(o, p);
7031
+ return _set_prototype_of$g(o, p);
7042
7032
  }
7043
7033
  function _ts_generator$2(thisArg, body) {
7044
7034
  var f, y, t, _ = {
@@ -7049,9 +7039,17 @@ function _ts_generator$2(thisArg, body) {
7049
7039
  },
7050
7040
  trys: [],
7051
7041
  ops: []
7052
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
7053
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
7054
- return this;
7042
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
7043
+ return d(g, "next", {
7044
+ value: verb(0)
7045
+ }), d(g, "throw", {
7046
+ value: verb(1)
7047
+ }), d(g, "return", {
7048
+ value: verb(2)
7049
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
7050
+ value: function() {
7051
+ return this;
7052
+ }
7055
7053
  }), g;
7056
7054
  function verb(n) {
7057
7055
  return function(v) {
@@ -7138,11 +7136,11 @@ function _ts_generator$2(thisArg, body) {
7138
7136
  *
7139
7137
  * @category Control
7140
7138
  */ var AIChat = /*#__PURE__*/ function(Control) {
7141
- _inherits$f(AIChat, Control);
7139
+ _inherits$g(AIChat, Control);
7142
7140
  function AIChat(options) {
7143
7141
  var _this;
7144
7142
  var _options_urlInfo_searchParams, _options_urlInfo, _options_urlInfo1;
7145
- _this = Control.call(this, _extends$e({}, options, {
7143
+ _this = Control.call(this, _extends$f({}, options, {
7146
7144
  tagName: 'span',
7147
7145
  controlType: 'button',
7148
7146
  classNameSuffix: 'aichat'
@@ -7188,7 +7186,7 @@ function _ts_generator$2(thisArg, body) {
7188
7186
  /**
7189
7187
  * 点击 Control 会触发
7190
7188
  */ _proto._onControlClick = function _onControlClick(e) {
7191
- var _this = this, _superprop_get__onControlClick = function() {
7189
+ var _this = this, _superprop_get__onControlClick = function _superprop_get__onControlClick() {
7192
7190
  return Control.prototype._onControlClick;
7193
7191
  };
7194
7192
  return _async_to_generator$2(function() {
@@ -7208,21 +7206,17 @@ function _ts_generator$2(thisArg, body) {
7208
7206
  return AIChat;
7209
7207
  }(Control);
7210
7208
 
7211
- function _extends$d() {
7212
- _extends$d = Object.assign || function(target) {
7209
+ function _extends$e() {
7210
+ _extends$e = Object.assign || function assign(target) {
7213
7211
  for(var i = 1; i < arguments.length; i++){
7214
7212
  var source = arguments[i];
7215
- for(var key in source){
7216
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7217
- target[key] = source[key];
7218
- }
7219
- }
7213
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7220
7214
  }
7221
7215
  return target;
7222
7216
  };
7223
- return _extends$d.apply(this, arguments);
7217
+ return _extends$e.apply(this, arguments);
7224
7218
  }
7225
- function _inherits$e(subClass, superClass) {
7219
+ function _inherits$f(subClass, superClass) {
7226
7220
  if (typeof superClass !== "function" && superClass !== null) {
7227
7221
  throw new TypeError("Super expression must either be null or a function");
7228
7222
  }
@@ -7233,14 +7227,14 @@ function _inherits$e(subClass, superClass) {
7233
7227
  configurable: true
7234
7228
  }
7235
7229
  });
7236
- if (superClass) _set_prototype_of$e(subClass, superClass);
7230
+ if (superClass) _set_prototype_of$f(subClass, superClass);
7237
7231
  }
7238
- function _set_prototype_of$e(o, p) {
7239
- _set_prototype_of$e = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7232
+ function _set_prototype_of$f(o, p) {
7233
+ _set_prototype_of$f = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7240
7234
  o.__proto__ = p;
7241
7235
  return o;
7242
7236
  };
7243
- return _set_prototype_of$e(o, p);
7237
+ return _set_prototype_of$f(o, p);
7244
7238
  }
7245
7239
  /**
7246
7240
  * 直播按钮控件
@@ -7249,11 +7243,11 @@ function _set_prototype_of$e(o, p) {
7249
7243
  *
7250
7244
  * @category Control
7251
7245
  */ var Live = /*#__PURE__*/ function(Control) {
7252
- _inherits$e(Live, Control);
7246
+ _inherits$f(Live, Control);
7253
7247
  function Live(options) {
7254
7248
  var _this;
7255
7249
  var _this___options_props1;
7256
- _this = Control.call(this, _extends$d({}, options, {
7250
+ _this = Control.call(this, _extends$e({}, options, {
7257
7251
  tagName: 'span',
7258
7252
  controlType: 'button',
7259
7253
  classNameSuffix: 'live'
@@ -7303,21 +7297,17 @@ function _set_prototype_of$e(o, p) {
7303
7297
  return Live;
7304
7298
  }(Control);
7305
7299
 
7306
- function _extends$c() {
7307
- _extends$c = Object.assign || function(target) {
7300
+ function _extends$d() {
7301
+ _extends$d = Object.assign || function assign(target) {
7308
7302
  for(var i = 1; i < arguments.length; i++){
7309
7303
  var source = arguments[i];
7310
- for(var key in source){
7311
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7312
- target[key] = source[key];
7313
- }
7314
- }
7304
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7315
7305
  }
7316
7306
  return target;
7317
7307
  };
7318
- return _extends$c.apply(this, arguments);
7308
+ return _extends$d.apply(this, arguments);
7319
7309
  }
7320
- function _inherits$d(subClass, superClass) {
7310
+ function _inherits$e(subClass, superClass) {
7321
7311
  if (typeof superClass !== "function" && superClass !== null) {
7322
7312
  throw new TypeError("Super expression must either be null or a function");
7323
7313
  }
@@ -7328,14 +7318,14 @@ function _inherits$d(subClass, superClass) {
7328
7318
  configurable: true
7329
7319
  }
7330
7320
  });
7331
- if (superClass) _set_prototype_of$d(subClass, superClass);
7321
+ if (superClass) _set_prototype_of$e(subClass, superClass);
7332
7322
  }
7333
- function _set_prototype_of$d(o, p) {
7334
- _set_prototype_of$d = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7323
+ function _set_prototype_of$e(o, p) {
7324
+ _set_prototype_of$e = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7335
7325
  o.__proto__ = p;
7336
7326
  return o;
7337
7327
  };
7338
- return _set_prototype_of$d(o, p);
7328
+ return _set_prototype_of$e(o, p);
7339
7329
  }
7340
7330
  /**
7341
7331
  * 回放下拉控件
@@ -7344,11 +7334,11 @@ function _set_prototype_of$d(o, p) {
7344
7334
  *
7345
7335
  * @category Control
7346
7336
  */ var RecDropdown = /*#__PURE__*/ function(Control) {
7347
- _inherits$d(RecDropdown, Control);
7337
+ _inherits$e(RecDropdown, Control);
7348
7338
  function RecDropdown(options) {
7349
7339
  var _this;
7350
7340
  var _options_props, _this___options_props1;
7351
- _this = Control.call(this, _extends$c({}, options, {
7341
+ _this = Control.call(this, _extends$d({}, options, {
7352
7342
  tagName: 'span',
7353
7343
  controlType: 'button',
7354
7344
  classNameSuffix: 'rec-dropdown'
@@ -7394,7 +7384,7 @@ function _set_prototype_of$d(o, p) {
7394
7384
  _proto._initPicker = function _initPicker() {
7395
7385
  var _this = this;
7396
7386
  this._picker = new Picker(this.$container, {
7397
- getPopupContainer: function() {
7387
+ getPopupContainer: function getPopupContainer() {
7398
7388
  return Utils.isMobile ? _this.__options.rootContainer : _this.$container;
7399
7389
  },
7400
7390
  trigger: Utils.isMobile ? 'click' : 'hover',
@@ -7467,21 +7457,17 @@ function _set_prototype_of$d(o, p) {
7467
7457
  return RecDropdown;
7468
7458
  }(Control);
7469
7459
 
7470
- function _extends$b() {
7471
- _extends$b = Object.assign || function(target) {
7460
+ function _extends$c() {
7461
+ _extends$c = Object.assign || function assign(target) {
7472
7462
  for(var i = 1; i < arguments.length; i++){
7473
7463
  var source = arguments[i];
7474
- for(var key in source){
7475
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7476
- target[key] = source[key];
7477
- }
7478
- }
7464
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7479
7465
  }
7480
7466
  return target;
7481
7467
  };
7482
- return _extends$b.apply(this, arguments);
7468
+ return _extends$c.apply(this, arguments);
7483
7469
  }
7484
- function _inherits$c(subClass, superClass) {
7470
+ function _inherits$d(subClass, superClass) {
7485
7471
  if (typeof superClass !== "function" && superClass !== null) {
7486
7472
  throw new TypeError("Super expression must either be null or a function");
7487
7473
  }
@@ -7492,14 +7478,14 @@ function _inherits$c(subClass, superClass) {
7492
7478
  configurable: true
7493
7479
  }
7494
7480
  });
7495
- if (superClass) _set_prototype_of$c(subClass, superClass);
7481
+ if (superClass) _set_prototype_of$d(subClass, superClass);
7496
7482
  }
7497
- function _set_prototype_of$c(o, p) {
7498
- _set_prototype_of$c = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7483
+ function _set_prototype_of$d(o, p) {
7484
+ _set_prototype_of$d = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7499
7485
  o.__proto__ = p;
7500
7486
  return o;
7501
7487
  };
7502
- return _set_prototype_of$c(o, p);
7488
+ return _set_prototype_of$d(o, p);
7503
7489
  }
7504
7490
  /**
7505
7491
  * 录像列表按钮控件
@@ -7508,12 +7494,12 @@ function _set_prototype_of$c(o, p) {
7508
7494
  *
7509
7495
  * @category Control
7510
7496
  */ var RecList = /*#__PURE__*/ function(Control) {
7511
- _inherits$c(RecList, Control);
7497
+ _inherits$d(RecList, Control);
7512
7498
  function RecList(options) {
7513
7499
  var _this;
7514
7500
  var _this__options_props, _this__options, _this_locale;
7515
7501
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
7516
- _this = Control.call(this, _extends$b({}, options, {
7502
+ _this = Control.call(this, _extends$c({}, options, {
7517
7503
  tagName: 'span',
7518
7504
  controlType: 'button',
7519
7505
  classNameSuffix: 'rec-list'
@@ -7521,17 +7507,17 @@ function _set_prototype_of$c(o, p) {
7521
7507
  _this._options = options;
7522
7508
  _this.records = ((_this__options = _this._options) == null ? void 0 : (_this__options_props = _this__options.props) == null ? void 0 : _this__options_props.recordList) || [];
7523
7509
  _this._render();
7524
- _this._modal = new RecListModal(_this._options.rootContainer, _extends$b({
7510
+ _this._modal = new RecListModal(_this._options.rootContainer, _extends$c({
7525
7511
  showMask: false,
7526
7512
  title: (_this_locale = _this.locale) == null ? void 0 : _this_locale.BTN_REC_LIST_TITLE
7527
7513
  }, options, {
7528
7514
  showEventFilter: false,
7529
7515
  showCardTypeIcon: false,
7530
7516
  sections: [],
7531
- onCardClick: function(section, index, sections) {
7517
+ onCardClick: function onCardClick(section, index, sections) {
7532
7518
  _this.emit(EVENTS.control.recListCardClick, section, index, sections);
7533
7519
  },
7534
- onClose: function() {
7520
+ onClose: function onClose() {
7535
7521
  var _this__options_onClose, _this__options;
7536
7522
  _this._panelOpen = false;
7537
7523
  _this.active = false;
@@ -7619,21 +7605,17 @@ function _set_prototype_of$c(o, p) {
7619
7605
  return RecList;
7620
7606
  }(Control);
7621
7607
 
7622
- function _extends$a() {
7623
- _extends$a = Object.assign || function(target) {
7608
+ function _extends$b() {
7609
+ _extends$b = Object.assign || function assign(target) {
7624
7610
  for(var i = 1; i < arguments.length; i++){
7625
7611
  var source = arguments[i];
7626
- for(var key in source){
7627
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7628
- target[key] = source[key];
7629
- }
7630
- }
7612
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7631
7613
  }
7632
7614
  return target;
7633
7615
  };
7634
- return _extends$a.apply(this, arguments);
7616
+ return _extends$b.apply(this, arguments);
7635
7617
  }
7636
- function _inherits$b(subClass, superClass) {
7618
+ function _inherits$c(subClass, superClass) {
7637
7619
  if (typeof superClass !== "function" && superClass !== null) {
7638
7620
  throw new TypeError("Super expression must either be null or a function");
7639
7621
  }
@@ -7644,14 +7626,14 @@ function _inherits$b(subClass, superClass) {
7644
7626
  configurable: true
7645
7627
  }
7646
7628
  });
7647
- if (superClass) _set_prototype_of$b(subClass, superClass);
7629
+ if (superClass) _set_prototype_of$c(subClass, superClass);
7648
7630
  }
7649
- function _set_prototype_of$b(o, p) {
7650
- _set_prototype_of$b = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7631
+ function _set_prototype_of$c(o, p) {
7632
+ _set_prototype_of$c = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7651
7633
  o.__proto__ = p;
7652
7634
  return o;
7653
7635
  };
7654
- return _set_prototype_of$b(o, p);
7636
+ return _set_prototype_of$c(o, p);
7655
7637
  }
7656
7638
  /**
7657
7639
  * 告警消息按钮控件
@@ -7660,10 +7642,10 @@ function _set_prototype_of$b(o, p) {
7660
7642
  *
7661
7643
  * @category Control
7662
7644
  */ var AlarmMessage = /*#__PURE__*/ function(Control) {
7663
- _inherits$b(AlarmMessage, Control);
7645
+ _inherits$c(AlarmMessage, Control);
7664
7646
  function AlarmMessage(options) {
7665
7647
  var _this;
7666
- _this = Control.call(this, _extends$a({}, options, {
7648
+ _this = Control.call(this, _extends$b({}, options, {
7667
7649
  tagName: 'span',
7668
7650
  controlType: 'button',
7669
7651
  classNameSuffix: 'alarm-message'
@@ -7715,21 +7697,17 @@ function _create_class$1(Constructor, protoProps, staticProps) {
7715
7697
  if (protoProps) _defineProperties$1(Constructor.prototype, protoProps);
7716
7698
  return Constructor;
7717
7699
  }
7718
- function _extends$9() {
7719
- _extends$9 = Object.assign || function(target) {
7700
+ function _extends$a() {
7701
+ _extends$a = Object.assign || function assign(target) {
7720
7702
  for(var i = 1; i < arguments.length; i++){
7721
7703
  var source = arguments[i];
7722
- for(var key in source){
7723
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7724
- target[key] = source[key];
7725
- }
7726
- }
7704
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7727
7705
  }
7728
7706
  return target;
7729
7707
  };
7730
- return _extends$9.apply(this, arguments);
7708
+ return _extends$a.apply(this, arguments);
7731
7709
  }
7732
- function _inherits$a(subClass, superClass) {
7710
+ function _inherits$b(subClass, superClass) {
7733
7711
  if (typeof superClass !== "function" && superClass !== null) {
7734
7712
  throw new TypeError("Super expression must either be null or a function");
7735
7713
  }
@@ -7740,25 +7718,25 @@ function _inherits$a(subClass, superClass) {
7740
7718
  configurable: true
7741
7719
  }
7742
7720
  });
7743
- if (superClass) _set_prototype_of$a(subClass, superClass);
7721
+ if (superClass) _set_prototype_of$b(subClass, superClass);
7744
7722
  }
7745
- function _set_prototype_of$a(o, p) {
7746
- _set_prototype_of$a = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7723
+ function _set_prototype_of$b(o, p) {
7724
+ _set_prototype_of$b = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7747
7725
  o.__proto__ = p;
7748
7726
  return o;
7749
7727
  };
7750
- return _set_prototype_of$a(o, p);
7728
+ return _set_prototype_of$b(o, p);
7751
7729
  }
7752
7730
  var SELECT_DEFAULT_OPTIONS = {
7753
7731
  fieldNames: {
7754
7732
  label: 'label',
7755
7733
  value: 'value'
7756
7734
  },
7757
- renderLabel: function(label) {
7735
+ renderLabel: function renderLabel(label) {
7758
7736
  return "<span>" + (label || '') + "</span>";
7759
7737
  },
7760
- onChange: function() {},
7761
- onOpenChange: function() {}
7738
+ onChange: function onChange() {},
7739
+ onOpenChange: function onOpenChange() {}
7762
7740
  };
7763
7741
  /**
7764
7742
  * 选择器切换 (支持PC/Mobile)
@@ -7809,11 +7787,12 @@ var SELECT_DEFAULT_OPTIONS = {
7809
7787
  * }
7810
7788
  * ```
7811
7789
  */ var Select = /*#__PURE__*/ function(Control) {
7812
- _inherits$a(Select, Control);
7790
+ _inherits$b(Select, Control);
7813
7791
  function Select(options) {
7814
7792
  var _this;
7793
+ var _ref;
7815
7794
  var _this__options_fieldNames, _this__picker_$body;
7816
- _this = Control.call(this, _extends$9({
7795
+ _this = Control.call(this, _extends$a({
7817
7796
  tagName: 'span',
7818
7797
  type: 'button',
7819
7798
  controlType: 'button'
@@ -7825,11 +7804,10 @@ var SELECT_DEFAULT_OPTIONS = {
7825
7804
  if (options.value !== undefined || options.value !== null) {
7826
7805
  _this._value = options.value + '';
7827
7806
  }
7828
- var _this__options_fieldNames_value;
7829
- var valueKey = (_this__options_fieldNames_value = (_this__options_fieldNames = _this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.value) != null ? _this__options_fieldNames_value : 'value';
7807
+ var valueKey = (_ref = (_this__options_fieldNames = _this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.value) != null ? _ref : 'value';
7830
7808
  _this._picker = new Picker(_this.$container, {
7831
7809
  // 由于某些原因, 移动端强制渲染在 body 上
7832
- getPopupContainer: function() {
7810
+ getPopupContainer: function getPopupContainer() {
7833
7811
  return Utils.isMobile ? options.rootContainer : _this.$container;
7834
7812
  },
7835
7813
  trigger: Utils.isMobile ? 'click' : 'hover',
@@ -7842,7 +7820,7 @@ var SELECT_DEFAULT_OPTIONS = {
7842
7820
  ],
7843
7821
  placement: 'top',
7844
7822
  // zIndex: 10000,
7845
- onOpenChange: function(open) {
7823
+ onOpenChange: function onOpenChange(open) {
7846
7824
  var item = _this.list.find(function(item) {
7847
7825
  return item[valueKey] + '' === _this.value;
7848
7826
  });
@@ -7866,11 +7844,10 @@ var SELECT_DEFAULT_OPTIONS = {
7866
7844
  var _this = this;
7867
7845
  if (list === void 0) list = [];
7868
7846
  if ((list == null ? void 0 : list.length) > 0 && this._picker) {
7847
+ var _ref, _ref1;
7869
7848
  var _this__options_fieldNames, _this__options_fieldNames1, _this_locale, _this__picker;
7870
- var _this__options_fieldNames_label;
7871
- var labelKey = (_this__options_fieldNames_label = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.label) != null ? _this__options_fieldNames_label : 'label';
7872
- var _this__options_fieldNames_value;
7873
- var valueKey = (_this__options_fieldNames_value = (_this__options_fieldNames1 = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames1.value) != null ? _this__options_fieldNames_value : 'value';
7849
+ var labelKey = (_ref = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.label) != null ? _ref : 'label';
7850
+ var valueKey = (_ref1 = (_this__options_fieldNames1 = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames1.value) != null ? _ref1 : 'value';
7874
7851
  (_this__picker = this._picker) == null ? void 0 : _this__picker.innerHTML('<div class="' + PREFIX_CLASS + '-select-panel">\n <ul class="' + PREFIX_CLASS + '-select-list">\n ' + list.map(function(item) {
7875
7852
  return '\n <li class="' + PREFIX_CLASS + "-select-option " + (+item[valueKey] === _this.value ? "" + PREFIX_CLASS + "-active" : '') + '" data-value="' + item[valueKey] + '">\n <span>' + item[labelKey] + "</span>\n </li>\n ";
7876
7853
  }).join('') + "\n </ul>\n " + (Utils.isMobile ? '<div class="' + PREFIX_CLASS + '-select-cancel">\n <span>' + (((_this_locale = this.locale) == null ? void 0 : _this_locale.cancel) || '取消') + "</span>\n </div>" : '') + "\n " + (Utils.isMobile ? '<span class="' + PREFIX_CLASS + '-select-close">' + IconComponents.close() + "</span>" : '') + "\n <div>");
@@ -7882,12 +7859,12 @@ var SELECT_DEFAULT_OPTIONS = {
7882
7859
  }
7883
7860
  };
7884
7861
  _proto._render = function _render(item) {
7862
+ var _ref;
7885
7863
  var _this__options_fieldNames;
7886
7864
  if (this.list.length === 0) {
7887
7865
  return;
7888
7866
  }
7889
- var _this__options_fieldNames_label;
7890
- var labelKey = (_this__options_fieldNames_label = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.label) != null ? _this__options_fieldNames_label : 'label';
7867
+ var labelKey = (_ref = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.label) != null ? _ref : 'label';
7891
7868
  if (this.$container.querySelector("." + PREFIX_CLASS + "-select-btn")) {
7892
7869
  this.$container.querySelector("." + PREFIX_CLASS + "-select-btn").innerHTML = this._options.renderLabel == null ? void 0 : this._options.renderLabel.call(this._options, item == null ? void 0 : item[labelKey], item, this.list);
7893
7870
  } else {
@@ -7903,9 +7880,9 @@ var SELECT_DEFAULT_OPTIONS = {
7903
7880
  _proto._activeOption = function _activeOption() {
7904
7881
  var _this = this;
7905
7882
  if (this._picker) {
7883
+ var _ref;
7906
7884
  var _this__options_fieldNames, _this__picker_$body, _this__picker_$body1;
7907
- var _this__options_fieldNames_value;
7908
- var valueKey = (_this__options_fieldNames_value = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.value) != null ? _this__options_fieldNames_value : 'value';
7885
+ var valueKey = (_ref = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.value) != null ? _ref : 'value';
7909
7886
  var $active = (_this__picker_$body = this._picker.$body) == null ? void 0 : _this__picker_$body.querySelector("." + PREFIX_CLASS + "-active");
7910
7887
  $active == null ? void 0 : $active.classList.remove(PREFIX_CLASS + '-active');
7911
7888
  var $target = (_this__picker_$body1 = this._picker.$body) == null ? void 0 : _this__picker_$body1.querySelector("." + PREFIX_CLASS + '-select-option[data-value="' + this.value + '"]');
@@ -7919,9 +7896,9 @@ var SELECT_DEFAULT_OPTIONS = {
7919
7896
  _proto._onSelectChange = function _onSelectChange() {
7920
7897
  var _this = this;
7921
7898
  if (this._picker) {
7899
+ var _ref;
7922
7900
  var _this__options_fieldNames;
7923
- var _this__options_fieldNames_value;
7924
- var valueKey = (_this__options_fieldNames_value = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.value) != null ? _this__options_fieldNames_value : 'value';
7901
+ var valueKey = (_ref = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.value) != null ? _ref : 'value';
7925
7902
  this._delegationOption = delegate(this._picker.$body, "." + PREFIX_CLASS + "-select-option", 'click', function(e) {
7926
7903
  var target = e.delegateTarget;
7927
7904
  e.stopPropagation();
@@ -8006,26 +7983,20 @@ var SELECT_DEFAULT_OPTIONS = {
8006
7983
  }(Control);
8007
7984
 
8008
7985
  function _assert_this_initialized$1(self) {
8009
- if (self === void 0) {
8010
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
8011
- }
7986
+ if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
8012
7987
  return self;
8013
7988
  }
8014
- function _extends$8() {
8015
- _extends$8 = Object.assign || function(target) {
7989
+ function _extends$9() {
7990
+ _extends$9 = Object.assign || function assign(target) {
8016
7991
  for(var i = 1; i < arguments.length; i++){
8017
7992
  var source = arguments[i];
8018
- for(var key in source){
8019
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8020
- target[key] = source[key];
8021
- }
8022
- }
7993
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8023
7994
  }
8024
7995
  return target;
8025
7996
  };
8026
- return _extends$8.apply(this, arguments);
7997
+ return _extends$9.apply(this, arguments);
8027
7998
  }
8028
- function _inherits$9(subClass, superClass) {
7999
+ function _inherits$a(subClass, superClass) {
8029
8000
  if (typeof superClass !== "function" && superClass !== null) {
8030
8001
  throw new TypeError("Super expression must either be null or a function");
8031
8002
  }
@@ -8036,14 +8007,14 @@ function _inherits$9(subClass, superClass) {
8036
8007
  configurable: true
8037
8008
  }
8038
8009
  });
8039
- if (superClass) _set_prototype_of$9(subClass, superClass);
8010
+ if (superClass) _set_prototype_of$a(subClass, superClass);
8040
8011
  }
8041
- function _set_prototype_of$9(o, p) {
8042
- _set_prototype_of$9 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8012
+ function _set_prototype_of$a(o, p) {
8013
+ _set_prototype_of$a = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8043
8014
  o.__proto__ = p;
8044
8015
  return o;
8045
8016
  };
8046
- return _set_prototype_of$9(o, p);
8017
+ return _set_prototype_of$a(o, p);
8047
8018
  }
8048
8019
  function _type_of(obj) {
8049
8020
  "@swc/helpers - typeof";
@@ -8093,12 +8064,12 @@ function __filter(list, locale) {
8093
8064
  *
8094
8065
  * @category Control
8095
8066
  */ var Definition = /*#__PURE__*/ function(Select) {
8096
- _inherits$9(Definition, Select);
8067
+ _inherits$a(Definition, Select);
8097
8068
  function Definition(options) {
8098
8069
  if (options === void 0) options = {};
8099
8070
  var _this;
8100
8071
  var _options_props, _options_props1, _options_locales_options_language;
8101
- _this = Select.call(this, _extends$8({}, DEFINITION_DEFAULT_OPTIONS, {
8072
+ _this = Select.call(this, _extends$9({}, DEFINITION_DEFAULT_OPTIONS, {
8102
8073
  value: (_options_props = options.props) == null ? void 0 : _options_props.videoLevel
8103
8074
  }, options, {
8104
8075
  fieldNames: {
@@ -8109,7 +8080,7 @@ function __filter(list, locale) {
8109
8080
  title: options == null ? void 0 : (_options_locales_options_language = options.locales[options.language]) == null ? void 0 : _options_locales_options_language.BTN_HD,
8110
8081
  controlType: 'button',
8111
8082
  classNameSuffix: 'definition',
8112
- renderLabel: function(label, item, list) {
8083
+ renderLabel: function renderLabel(label, item, list) {
8113
8084
  var _list_;
8114
8085
  if ((item == null ? void 0 : item.level) === 'auto') {
8115
8086
  var _options_locales_options_language;
@@ -8121,7 +8092,7 @@ function __filter(list, locale) {
8121
8092
  // 如果 label 不存在,则不显示label,直接显示list的第一个label, 一般自定义清晰度列表可能会出现
8122
8093
  return "<span>" + (label || ((_list_ = list[0]) == null ? void 0 : _list_.name) || '') + "</span>";
8123
8094
  },
8124
- onChange: function(value, item) {
8095
+ onChange: function onChange(value, item) {
8125
8096
  var _options_onChange;
8126
8097
  options == null ? void 0 : (_options_onChange = options.onChange) == null ? void 0 : _options_onChange.call(options, value, item);
8127
8098
  if (value === 'auto') {
@@ -8131,7 +8102,7 @@ function __filter(list, locale) {
8131
8102
  _assert_this_initialized$1(_this).emit(EVENTS.control.definitionChange, value, item);
8132
8103
  }
8133
8104
  },
8134
- onOpenChange: function(open, value, item) {
8105
+ onOpenChange: function onOpenChange(open, value, item) {
8135
8106
  var _options_onOpenChange;
8136
8107
  options == null ? void 0 : (_options_onOpenChange = options.onOpenChange) == null ? void 0 : _options_onOpenChange.call(options, open, value, item);
8137
8108
  _assert_this_initialized$1(_this).emit(EVENTS.control.definitionPanelOpenChange, open, value, item);
@@ -8167,26 +8138,20 @@ function __filter(list, locale) {
8167
8138
  }(Select);
8168
8139
 
8169
8140
  function _assert_this_initialized(self) {
8170
- if (self === void 0) {
8171
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
8172
- }
8141
+ if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
8173
8142
  return self;
8174
8143
  }
8175
- function _extends$7() {
8176
- _extends$7 = Object.assign || function(target) {
8144
+ function _extends$8() {
8145
+ _extends$8 = Object.assign || function assign(target) {
8177
8146
  for(var i = 1; i < arguments.length; i++){
8178
8147
  var source = arguments[i];
8179
- for(var key in source){
8180
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8181
- target[key] = source[key];
8182
- }
8183
- }
8148
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8184
8149
  }
8185
8150
  return target;
8186
8151
  };
8187
- return _extends$7.apply(this, arguments);
8152
+ return _extends$8.apply(this, arguments);
8188
8153
  }
8189
- function _inherits$8(subClass, superClass) {
8154
+ function _inherits$9(subClass, superClass) {
8190
8155
  if (typeof superClass !== "function" && superClass !== null) {
8191
8156
  throw new TypeError("Super expression must either be null or a function");
8192
8157
  }
@@ -8197,14 +8162,14 @@ function _inherits$8(subClass, superClass) {
8197
8162
  configurable: true
8198
8163
  }
8199
8164
  });
8200
- if (superClass) _set_prototype_of$8(subClass, superClass);
8165
+ if (superClass) _set_prototype_of$9(subClass, superClass);
8201
8166
  }
8202
- function _set_prototype_of$8(o, p) {
8203
- _set_prototype_of$8 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8167
+ function _set_prototype_of$9(o, p) {
8168
+ _set_prototype_of$9 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8204
8169
  o.__proto__ = p;
8205
8170
  return o;
8206
8171
  };
8207
- return _set_prototype_of$8(o, p);
8172
+ return _set_prototype_of$9(o, p);
8208
8173
  }
8209
8174
  // 支持的倍速列表, 需要是 2 的指数,不能小于 0.5, 最大 16 倍
8210
8175
  var SUPPORT_SPEED = [
@@ -8238,22 +8203,22 @@ var SPEED_DEFAULT_OPTIONS = {
8238
8203
  * 2. 标准流不支持;
8239
8204
  * @category Control
8240
8205
  */ var Speed = /*#__PURE__*/ function(Select) {
8241
- _inherits$8(Speed, Select);
8206
+ _inherits$9(Speed, Select);
8242
8207
  function Speed(options) {
8243
8208
  var _this;
8244
8209
  var _options_locales_options_language, _options_locales;
8245
- _this = Select.call(this, _extends$7({}, SPEED_DEFAULT_OPTIONS, options, {
8210
+ _this = Select.call(this, _extends$8({}, SPEED_DEFAULT_OPTIONS, options, {
8246
8211
  value: (options.props.speed || 1) + '',
8247
8212
  classNameSuffix: 'speed',
8248
8213
  controlType: 'button',
8249
8214
  title: options == null ? void 0 : (_options_locales = options.locales) == null ? void 0 : (_options_locales_options_language = _options_locales[options.language]) == null ? void 0 : _options_locales_options_language.BTN_SPEED,
8250
- onChange: function(value, item) {
8215
+ onChange: function onChange(value, item) {
8251
8216
  var _options_onChange;
8252
8217
  value = +value;
8253
8218
  options == null ? void 0 : (_options_onChange = options.onChange) == null ? void 0 : _options_onChange.call(options, value, item);
8254
8219
  _assert_this_initialized(_this).emit(EVENTS.control.speedChange, value, item);
8255
8220
  },
8256
- onOpenChange: function(open, value, item) {
8221
+ onOpenChange: function onOpenChange(open, value, item) {
8257
8222
  var _options_onOpenChange;
8258
8223
  value = +value;
8259
8224
  options == null ? void 0 : (_options_onOpenChange = options.onOpenChange) == null ? void 0 : _options_onOpenChange.call(options, open, value, item);
@@ -8302,21 +8267,17 @@ var SPEED_DEFAULT_OPTIONS = {
8302
8267
  return Speed;
8303
8268
  }(Select);
8304
8269
 
8305
- function _extends$6() {
8306
- _extends$6 = Object.assign || function(target) {
8270
+ function _extends$7() {
8271
+ _extends$7 = Object.assign || function assign(target) {
8307
8272
  for(var i = 1; i < arguments.length; i++){
8308
8273
  var source = arguments[i];
8309
- for(var key in source){
8310
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8311
- target[key] = source[key];
8312
- }
8313
- }
8274
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8314
8275
  }
8315
8276
  return target;
8316
8277
  };
8317
- return _extends$6.apply(this, arguments);
8278
+ return _extends$7.apply(this, arguments);
8318
8279
  }
8319
- function _inherits$7(subClass, superClass) {
8280
+ function _inherits$8(subClass, superClass) {
8320
8281
  if (typeof superClass !== "function" && superClass !== null) {
8321
8282
  throw new TypeError("Super expression must either be null or a function");
8322
8283
  }
@@ -8327,24 +8288,24 @@ function _inherits$7(subClass, superClass) {
8327
8288
  configurable: true
8328
8289
  }
8329
8290
  });
8330
- if (superClass) _set_prototype_of$7(subClass, superClass);
8291
+ if (superClass) _set_prototype_of$8(subClass, superClass);
8331
8292
  }
8332
- function _set_prototype_of$7(o, p) {
8333
- _set_prototype_of$7 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8293
+ function _set_prototype_of$8(o, p) {
8294
+ _set_prototype_of$8 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8334
8295
  o.__proto__ = p;
8335
8296
  return o;
8336
8297
  };
8337
- return _set_prototype_of$7(o, p);
8298
+ return _set_prototype_of$8(o, p);
8338
8299
  }
8339
8300
  /**
8340
8301
  * 日历选择器控件
8341
8302
  * @category Control
8342
8303
  */ var DatePickerControl = /*#__PURE__*/ function(Control) {
8343
- _inherits$7(DatePickerControl, Control);
8304
+ _inherits$8(DatePickerControl, Control);
8344
8305
  function DatePickerControl(options) {
8345
8306
  var _this;
8346
8307
  var _this_options_props_urlInfo_searchParams, _this_options_props_urlInfo, _this_options_props;
8347
- _this = Control.call(this, _extends$6({
8308
+ _this = Control.call(this, _extends$7({
8348
8309
  maxDate: new Date()
8349
8310
  }, options, {
8350
8311
  tagName: 'span',
@@ -8375,7 +8336,7 @@ function _set_prototype_of$7(o, p) {
8375
8336
  title: (_this_locale1 = this.locale) == null ? void 0 : _this_locale1.BTN_CALENDAR
8376
8337
  });
8377
8338
  }
8378
- this.datePicker = new controlDatePicker.DatePicker(this.$container, _extends$6({
8339
+ this.datePicker = new controlDatePicker.DatePicker(this.$container, _extends$7({
8379
8340
  isMobile: isMobile1,
8380
8341
  mode: 'date',
8381
8342
  offset: [
@@ -8387,16 +8348,16 @@ function _set_prototype_of$7(o, p) {
8387
8348
  current: utilsTools.DateTime.toDate(this._value),
8388
8349
  placement: 'tr',
8389
8350
  triggerClose: true,
8390
- disabledDate: function(date) {
8351
+ disabledDate: function disabledDate(date) {
8391
8352
  return date.getTime() > (_this.options.maxDate || new Date()).getTime();
8392
8353
  }
8393
8354
  }, this.options || {}, {
8394
8355
  // 不支持自定义
8395
- getPopupContainer: function() {
8356
+ getPopupContainer: function getPopupContainer() {
8396
8357
  return _this.$container;
8397
8358
  },
8398
8359
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
8399
- onOk: function(date, _mode) {
8360
+ onOk: function onOk(date, _mode) {
8400
8361
  if (date && _this._value !== utilsTools.DateTime.format(date, 'YYYY-MM-DD') && isMobile1) {
8401
8362
  _this._value = utilsTools.DateTime.format(date, 'YYYY-MM-DD');
8402
8363
  _this.options.onOk == null ? void 0 : _this.options.onOk.call(_this.options, date);
@@ -8406,14 +8367,14 @@ function _set_prototype_of$7(o, p) {
8406
8367
  }
8407
8368
  }
8408
8369
  },
8409
- onChange: function(date, mode) {
8370
+ onChange: function onChange(date, mode) {
8410
8371
  if (date && _this._value !== utilsTools.DateTime.format(date, 'YYYY-MM-DD') && !isMobile1 && mode === 'date') {
8411
8372
  _this._value = utilsTools.DateTime.format(date, 'YYYY-MM-DD');
8412
8373
  _this.options.onChange == null ? void 0 : _this.options.onChange.call(_this.options, date);
8413
8374
  _this.emit(EVENTS.control.dateChange, date);
8414
8375
  }
8415
8376
  },
8416
- onOpenChange: function(open) {
8377
+ onOpenChange: function onOpenChange(open) {
8417
8378
  _this.options.onPanelChange == null ? void 0 : _this.options.onPanelChange.call(_this.options, open, _this.datePicker.current);
8418
8379
  _this.emit(EVENTS.control.datePanelOpenChange, open, _this.datePicker.current);
8419
8380
  }
@@ -8462,21 +8423,17 @@ function _set_prototype_of$7(o, p) {
8462
8423
  return DatePickerControl;
8463
8424
  }(Control);
8464
8425
 
8465
- function _extends$5() {
8466
- _extends$5 = Object.assign || function(target) {
8426
+ function _extends$6() {
8427
+ _extends$6 = Object.assign || function assign(target) {
8467
8428
  for(var i = 1; i < arguments.length; i++){
8468
8429
  var source = arguments[i];
8469
- for(var key in source){
8470
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8471
- target[key] = source[key];
8472
- }
8473
- }
8430
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8474
8431
  }
8475
8432
  return target;
8476
8433
  };
8477
- return _extends$5.apply(this, arguments);
8434
+ return _extends$6.apply(this, arguments);
8478
8435
  }
8479
- function _inherits$6(subClass, superClass) {
8436
+ function _inherits$7(subClass, superClass) {
8480
8437
  if (typeof superClass !== "function" && superClass !== null) {
8481
8438
  throw new TypeError("Super expression must either be null or a function");
8482
8439
  }
@@ -8487,25 +8444,25 @@ function _inherits$6(subClass, superClass) {
8487
8444
  configurable: true
8488
8445
  }
8489
8446
  });
8490
- if (superClass) _set_prototype_of$6(subClass, superClass);
8447
+ if (superClass) _set_prototype_of$7(subClass, superClass);
8491
8448
  }
8492
- function _set_prototype_of$6(o, p) {
8493
- _set_prototype_of$6 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8449
+ function _set_prototype_of$7(o, p) {
8450
+ _set_prototype_of$7 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8494
8451
  o.__proto__ = p;
8495
8452
  return o;
8496
8453
  };
8497
- return _set_prototype_of$6(o, p);
8454
+ return _set_prototype_of$7(o, p);
8498
8455
  }
8499
8456
  /** 时间格式 HH:mm:ss */ var TIME_FORMAT = 'HH:mm:ss';
8500
8457
  /**
8501
8458
  * 时间选择器控件
8502
8459
  * @category Control
8503
8460
  */ var TimePickerControl = /*#__PURE__*/ function(Control) {
8504
- _inherits$6(TimePickerControl, Control);
8461
+ _inherits$7(TimePickerControl, Control);
8505
8462
  function TimePickerControl(options) {
8506
8463
  var _this;
8507
8464
  var _this_options_props_urlInfo_searchParams, _this_options_props_urlInfo, _this_options_props;
8508
- _this = Control.call(this, _extends$5({}, options, {
8465
+ _this = Control.call(this, _extends$6({}, options, {
8509
8466
  tagName: 'span',
8510
8467
  controlType: 'button',
8511
8468
  classNameSuffix: 'time'
@@ -8531,7 +8488,7 @@ function _set_prototype_of$6(o, p) {
8531
8488
  title: (_this_locale = this.locale) == null ? void 0 : _this_locale.BTN_TIME
8532
8489
  });
8533
8490
  // }
8534
- this.timePicker = new controlDatePicker.TimePicker(this.$container, _extends$5({
8491
+ this.timePicker = new controlDatePicker.TimePicker(this.$container, _extends$6({
8535
8492
  showHeader: false,
8536
8493
  isMobile: false,
8537
8494
  offset: [
@@ -8544,17 +8501,17 @@ function _set_prototype_of$6(o, p) {
8544
8501
  triggerClose: true
8545
8502
  }, this.options || {}, {
8546
8503
  // 不支持自定义
8547
- getPopupContainer: function() {
8504
+ getPopupContainer: function getPopupContainer() {
8548
8505
  return _this.$container;
8549
8506
  },
8550
- onChange: function(time, _times) {
8507
+ onChange: function onChange(time, _times) {
8551
8508
  if (time && _this._value !== time) {
8552
8509
  _this._value = time;
8553
8510
  _this.options.onChange == null ? void 0 : _this.options.onChange.call(_this.options, time, _times);
8554
8511
  _this.emit(EVENTS.control.timeChange, time);
8555
8512
  }
8556
8513
  },
8557
- onOpenChange: function(open) {
8514
+ onOpenChange: function onOpenChange(open) {
8558
8515
  _this.options.onPanelChange == null ? void 0 : _this.options.onPanelChange.call(_this.options, open, _this.timePicker.current);
8559
8516
  _this.emit(EVENTS.control.timePanelOpenChange, open, _this.timePicker.current);
8560
8517
  }
@@ -8601,21 +8558,17 @@ function _set_prototype_of$6(o, p) {
8601
8558
  return TimePickerControl;
8602
8559
  }(Control);
8603
8560
 
8604
- function _extends$4() {
8605
- _extends$4 = Object.assign || function(target) {
8561
+ function _extends$5() {
8562
+ _extends$5 = Object.assign || function assign(target) {
8606
8563
  for(var i = 1; i < arguments.length; i++){
8607
8564
  var source = arguments[i];
8608
- for(var key in source){
8609
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8610
- target[key] = source[key];
8611
- }
8612
- }
8565
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8613
8566
  }
8614
8567
  return target;
8615
8568
  };
8616
- return _extends$4.apply(this, arguments);
8569
+ return _extends$5.apply(this, arguments);
8617
8570
  }
8618
- function _inherits$5(subClass, superClass) {
8571
+ function _inherits$6(subClass, superClass) {
8619
8572
  if (typeof superClass !== "function" && superClass !== null) {
8620
8573
  throw new TypeError("Super expression must either be null or a function");
8621
8574
  }
@@ -8626,23 +8579,23 @@ function _inherits$5(subClass, superClass) {
8626
8579
  configurable: true
8627
8580
  }
8628
8581
  });
8629
- if (superClass) _set_prototype_of$5(subClass, superClass);
8582
+ if (superClass) _set_prototype_of$6(subClass, superClass);
8630
8583
  }
8631
- function _set_prototype_of$5(o, p) {
8632
- _set_prototype_of$5 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8584
+ function _set_prototype_of$6(o, p) {
8585
+ _set_prototype_of$6 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8633
8586
  o.__proto__ = p;
8634
8587
  return o;
8635
8588
  };
8636
- return _set_prototype_of$5(o, p);
8589
+ return _set_prototype_of$6(o, p);
8637
8590
  }
8638
8591
  /**
8639
8592
  * 回放时间轴控件
8640
8593
  */ var TimeLineControl = /*#__PURE__*/ function(Control) {
8641
- _inherits$5(TimeLineControl, Control);
8594
+ _inherits$6(TimeLineControl, Control);
8642
8595
  function TimeLineControl(options) {
8643
8596
  var _this;
8644
8597
  var _this__options_props, _this__options;
8645
- _this = Control.call(this, _extends$4({}, options, {
8598
+ _this = Control.call(this, _extends$5({}, options, {
8646
8599
  tagName: 'div',
8647
8600
  controlType: 'block',
8648
8601
  classNameSuffix: 'time-line'
@@ -8678,9 +8631,9 @@ function _set_prototype_of$5(o, p) {
8678
8631
  var _proto = TimeLineControl.prototype;
8679
8632
  _proto._render = function _render() {
8680
8633
  var _this = this;
8681
- var _this_timeLineUtil_updateTimeSections, _this_timeLineUtil;
8682
8634
  var _this__options_showTimeWidthBtn, _this__options_showCoverFold;
8683
- var _timeLineOptions = _extends$4({
8635
+ var _this_timeLineUtil_updateTimeSections, _this_timeLineUtil;
8636
+ var _timeLineOptions = _extends$5({
8684
8637
  language: this._options.language || 'zh',
8685
8638
  coverQuery: this._options.coverQuery || '',
8686
8639
  showTimeWidthBtn: (_this__options_showTimeWidthBtn = this._options.showTimeWidthBtn) != null ? _this__options_showTimeWidthBtn : true,
@@ -8688,23 +8641,42 @@ function _set_prototype_of$5(o, p) {
8688
8641
  hoverTipPlacement: 'top'
8689
8642
  }, this._options || {}, {
8690
8643
  showSectionIcon: false,
8691
- onClickSeek: function(date) {
8644
+ onClickSeek: function onClickSeek(date) {
8692
8645
  if (date == null ? void 0 : date.getTime()) {
8693
8646
  _this._options.onClickSeek == null ? void 0 : _this._options.onClickSeek.call(_this._options, date);
8694
8647
  _this.emit(EVENTS.control.timeLineChange, date);
8695
8648
  }
8696
8649
  },
8697
- onChange: function(date) {
8650
+ onChange: function onChange(date) {
8698
8651
  if (_this._currentTime !== (date == null ? void 0 : date.getTime())) {
8699
8652
  _this._options.onChange == null ? void 0 : _this._options.onChange.call(_this._options, date);
8700
8653
  _this.emit(EVENTS.control.timeLineChange, date);
8701
8654
  }
8702
8655
  },
8703
- onPickerOpenChange: function(open) {
8656
+ onDragEnd: function onDragEnd(date, isOver) {
8657
+ var _this__options_props_playbackRange, _this__options_props, _this__options;
8658
+ _this._options.onDragEnd == null ? void 0 : _this._options.onDragEnd.call(_this._options, date, isOver);
8659
+ // 松手时鼠标已移出时间轴容器(isOver 为 false):控件把这种拖动视为取消,
8660
+ // onChange 不会触发(见 @ezuikit/control-time-line 的 pc/index.ts _moveEndOrTouchEndFun,
8661
+ // onChange 受 _isOver 约束),于是 SDK 层的播放区间夹取拿不到事件,光标停在
8662
+ // 区间外不再被纠正 —— 播放已结束时 OSD 轮询也已停止,靠后续同步也拉不回来。
8663
+ // 这里补发一次 timeLineChange 交给 SDK 层夹取回弹。
8664
+ //
8665
+ // 必须用 isOver === false 而不是 !isOver:移动端(mobile/index.ts)调 onDragEnd
8666
+ // 时不传第二个参数,值为 undefined,用 !isOver 会让移动端每次拖动都补发,
8667
+ // 而它的 _setState 已经触发过一次 onChange,会造成重复 seek。
8668
+ // 移动端也不需要这个补丁:DragScroll 是容器内滚动,没有"拖出容器外松手"的情况。
8669
+ //
8670
+ // 无播放区间时不补发,保持控件"拖出容器不 seek"的既有语义,避免破坏存量集成
8671
+ if (isOver === false && ((_this__options = _this._options) == null ? void 0 : (_this__options_props = _this__options.props) == null ? void 0 : (_this__options_props_playbackRange = _this__options_props.playbackRange) == null ? void 0 : _this__options_props_playbackRange.begin)) {
8672
+ _this.emit(EVENTS.control.timeLineChange, date);
8673
+ }
8674
+ },
8675
+ onPickerOpenChange: function onPickerOpenChange(open) {
8704
8676
  _this.emit(EVENTS.control.timeLinePanelOpenChange, open);
8705
8677
  },
8706
8678
  // 2025-10-27 仅移动端支持
8707
- onPickerSelect: function(item) {
8679
+ onPickerSelect: function onPickerSelect(item) {
8708
8680
  var date = null;
8709
8681
  try {
8710
8682
  if ((item.startTime + '').length === 10) date = new Date(item.startTime * 1000);
@@ -8715,7 +8687,7 @@ function _set_prototype_of$5(o, p) {
8715
8687
  } catch (error) {
8716
8688
  }
8717
8689
  },
8718
- onSectionIconClick: function(result) {
8690
+ onSectionIconClick: function onSectionIconClick(result) {
8719
8691
  _this.emit('TimeLine.onSectionIconClick', result);
8720
8692
  }
8721
8693
  });
@@ -8785,15 +8757,224 @@ function _set_prototype_of$5(o, p) {
8785
8757
  return TimeLineControl;
8786
8758
  }(Control);
8787
8759
 
8788
- function _extends$3() {
8789
- _extends$3 = Object.assign || function(target) {
8760
+ function _extends$4() {
8761
+ _extends$4 = Object.assign || function assign(target) {
8790
8762
  for(var i = 1; i < arguments.length; i++){
8791
8763
  var source = arguments[i];
8792
- for(var key in source){
8793
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8794
- target[key] = source[key];
8795
- }
8764
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8765
+ }
8766
+ return target;
8767
+ };
8768
+ return _extends$4.apply(this, arguments);
8769
+ }
8770
+ function _inherits$5(subClass, superClass) {
8771
+ if (typeof superClass !== "function" && superClass !== null) {
8772
+ throw new TypeError("Super expression must either be null or a function");
8773
+ }
8774
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
8775
+ constructor: {
8776
+ value: subClass,
8777
+ writable: true,
8778
+ configurable: true
8779
+ }
8780
+ });
8781
+ if (superClass) _set_prototype_of$5(subClass, superClass);
8782
+ }
8783
+ function _set_prototype_of$5(o, p) {
8784
+ _set_prototype_of$5 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8785
+ o.__proto__ = p;
8786
+ return o;
8787
+ };
8788
+ return _set_prototype_of$5(o, p);
8789
+ }
8790
+ /**
8791
+ * 播放结束后忽略 OSD 回写的静默期(毫秒)
8792
+ *
8793
+ * 断流结束时 SDK 不会立刻停掉 OSD 轮询(要让时间轴光标跟到画面最后一帧,见
8794
+ * api/_playbackRange.ts 的 OSD_SETTLE_MS = 2500),这些回写的时间早于区间末端,
8795
+ * 会把刚补满的进度拉回去。取值需覆盖该窗口。
8796
+ *
8797
+ * 用静默期而不是永久忽略:用户可能从时间轴点回区间内继续看,那条 seek 不经过
8798
+ * 进度条的 onChange,永久忽略会让进度条卡死不再更新。
8799
+ */ var PLAYBACK_END_SILENCE_MS = 3000;
8800
+ /**
8801
+ * 读取录像片段的起止时间(毫秒)
8802
+ *
8803
+ * 录像列表是服务端原始返回、未做字段归一化,`begin/end` 与 `startTime/endTime`
8804
+ * 两套字段名在不同回放类型下都出现过,这里统一兼容。
8805
+ *
8806
+ * @param seg 录像片段
8807
+ * @param which 取起点还是终点
8808
+ */ function segMs(seg, which) {
8809
+ var _ref, _ref1;
8810
+ var value = which === 'start' ? (_ref = seg == null ? void 0 : seg.startTime) != null ? _ref : seg == null ? void 0 : seg.begin : (_ref1 = seg == null ? void 0 : seg.endTime) != null ? _ref1 : seg == null ? void 0 : seg.end;
8811
+ if (value === undefined || value === null || value === '') return NaN;
8812
+ if (typeof value === 'number') return value < 1e12 ? value * 1000 : value;
8813
+ return utilsTools.DateTime.toDate(value).getTime();
8814
+ }
8815
+ /**
8816
+ * 回放片段进度条控件(移动端)
8817
+ *
8818
+ * 只在设置了播放区间时渲染,范围是「当前录像片段 ∩ 播放区间」。
8819
+ * 区间内跨片段的定位由时间轴承担,这里只负责当前片段的精细拖动。
8820
+ * @category Control
8821
+ */ var SegmentProgressControl = /*#__PURE__*/ function(Control) {
8822
+ _inherits$5(SegmentProgressControl, Control);
8823
+ function SegmentProgressControl(options) {
8824
+ var _this;
8825
+ var _this__options_props, _this__options_props1;
8826
+ _this = Control.call(this, _extends$4({}, options, {
8827
+ tagName: 'div',
8828
+ controlType: 'block',
8829
+ classNameSuffix: 'segment-progress'
8830
+ })) || this, /** 播放区间(毫秒) */ _this._rangeBeginMs = 0, _this._rangeEndMs = 0, /** 区间内的录像片段,按起点升序 */ _this._segments = [], /** 当前片段下标,-1 表示不在任何片段内 */ _this._currentIndex = -1, _this._isDragging = false, /** 播放结束静默期的截止时刻(时间戳),此前忽略 OSD 回写 */ _this._silenceUntil = 0;
8831
+ _this._options = options;
8832
+ _this._render();
8833
+ // 区间通过 props 下发,避免主题异步渲染时错过初始化事件。
8834
+ // 区间只在初始化时设置,没有运行时变更入口
8835
+ _this._setRange((_this__options_props = _this._options.props) == null ? void 0 : _this__options_props.playbackRange);
8836
+ _this._setSegments(((_this__options_props1 = _this._options.props) == null ? void 0 : _this__options_props1.recordList) || []);
8837
+ _this.on(EVENTS.setAllDayRecTimes, function(records) {
8838
+ _this._setSegments(records || []);
8839
+ _this._syncSegment(true);
8840
+ });
8841
+ _this.on(EVENTS.getOSDTime, function(time) {
8842
+ if (!time || _this._isDragging) return;
8843
+ // 结束静默期内忽略回写,避免把补满的进度拉回(详见 PLAYBACK_END_SILENCE_MS)
8844
+ if (_this._silenceUntil > Date.now()) return;
8845
+ // OSD 如实跟随,不做 seek 过渡期的拦截或下限抑制:
8846
+ // 定位后 OSD 还会推几拍 seek 之前的位置,进度会先回到原处再跳到目标(跳两次),
8847
+ // 关键帧定位还可能让落点比目标早一秒(退一格)。这些与时间轴光标的表现一致,
8848
+ // 由 SDK 侧的定位行为决定,控件层不再单独补偿
8849
+ _this._syncCurrent(time * 1000);
8850
+ });
8851
+ // 区间播完时把完成度补到轨道末端。
8852
+ // 进度值来自 OSD 轮询,受轮询精度(1s)与服务端提前断流影响,通常停在末端之前
8853
+ // 若干秒(实测 1~5s)。时间轴光标停在真实最后一帧是对的,但进度条表达的是"完成度",
8854
+ // 停在 87% 却提示"回放结束"会让人以为卡住,所以这里补满。
8855
+ // noMoreSegment 不补:那时播放停在无录像间隔,补满会谎报已看完整段
8856
+ _this.on(EVENTS.playbackEnd, function(data) {
8857
+ var _this__segments_this__currentIndex;
8858
+ if ((data == null ? void 0 : data.reason) !== 'reachRangeEnd' || _this._isDragging) return;
8859
+ var endMs = _this._currentIndex >= 0 ? (_this__segments_this__currentIndex = _this._segments[_this._currentIndex]) == null ? void 0 : _this__segments_this__currentIndex.endTime : _this._rangeEndMs;
8860
+ if (!Number.isFinite(endMs)) return;
8861
+ // 先开静默期再补满,否则紧随其后的收尾 OSD 会把进度拉回
8862
+ _this._silenceUntil = Date.now() + PLAYBACK_END_SILENCE_MS;
8863
+ _this._progress.setCurrent(endMs);
8864
+ });
8865
+ return _this;
8866
+ }
8867
+ var _proto = SegmentProgressControl.prototype;
8868
+ _proto._render = function _render() {
8869
+ var _this = this;
8870
+ this._progress = new SegmentProgress(this.$container, {
8871
+ onChange: function onChange(date) {
8872
+ // 用户主动定位即视为重新开始播放,立即解除结束静默,否则静默期内的回写被丢弃、
8873
+ // 进度条会停住不动
8874
+ _this._silenceUntil = 0;
8875
+ _this._options.onChange == null ? void 0 : _this._options.onChange.call(_this._options, date);
8876
+ _this.emit(EVENTS.control.timeLineChange, date);
8877
+ },
8878
+ onDragStart: function onDragStart() {
8879
+ _this._isDragging = true;
8880
+ },
8881
+ onDragEnd: function onDragEnd() {
8882
+ _this._isDragging = false;
8796
8883
  }
8884
+ });
8885
+ this._updateVisible();
8886
+ };
8887
+ /**
8888
+ * 设置播放区间
8889
+ * @param range 区间;null 表示解除约束
8890
+ */ _proto._setRange = function _setRange(range) {
8891
+ if ((range == null ? void 0 : range.begin) && (range == null ? void 0 : range.end)) {
8892
+ this._rangeBeginMs = utilsTools.DateTime.toDate(range.begin).getTime();
8893
+ this._rangeEndMs = utilsTools.DateTime.toDate(range.end).getTime();
8894
+ } else {
8895
+ this._rangeBeginMs = 0;
8896
+ this._rangeEndMs = 0;
8897
+ }
8898
+ this._updateVisible();
8899
+ };
8900
+ /**
8901
+ * 用区间裁剪录像片段
8902
+ * @param records 全天录像片段
8903
+ */ _proto._setSegments = function _setSegments(records) {
8904
+ var _this = this;
8905
+ if (!this._hasRange() || !Array.isArray(records)) {
8906
+ this._segments = [];
8907
+ return;
8908
+ }
8909
+ this._segments = records.map(function(seg) {
8910
+ return {
8911
+ startTime: segMs(seg, 'start'),
8912
+ endTime: segMs(seg, 'end')
8913
+ };
8914
+ }).filter(function(seg) {
8915
+ return !Number.isNaN(seg.startTime) && !Number.isNaN(seg.endTime) && seg.endTime > _this._rangeBeginMs && seg.startTime < _this._rangeEndMs;
8916
+ }).map(function(seg) {
8917
+ return {
8918
+ startTime: Math.max(seg.startTime, _this._rangeBeginMs),
8919
+ endTime: Math.min(seg.endTime, _this._rangeEndMs)
8920
+ };
8921
+ }).sort(function(a, b) {
8922
+ return a.startTime - b.startTime;
8923
+ });
8924
+ };
8925
+ /** 用当前进度重新定位所属片段 */ _proto._syncSegment = function _syncSegment(force) {
8926
+ if (force === void 0) force = false;
8927
+ if (force) this._currentIndex = -1;
8928
+ this._updateVisible();
8929
+ };
8930
+ /**
8931
+ * 按播放进度更新片段与进度
8932
+ * @param currentMs 当前播放时间(毫秒)
8933
+ */ _proto._syncCurrent = function _syncCurrent(currentMs) {
8934
+ if (!this._hasRange()) return;
8935
+ var index = this._segments.findIndex(function(seg) {
8936
+ return currentMs >= seg.startTime && currentMs < seg.endTime;
8937
+ });
8938
+ // 落在片段间隔时保持上一个片段的展示,等 SDK 层完成自动续播后再切换
8939
+ if (index === -1) {
8940
+ if (this._currentIndex === -1) this._fallbackToRange();
8941
+ this._progress.setCurrent(currentMs);
8942
+ return;
8943
+ }
8944
+ if (index !== this._currentIndex) {
8945
+ this._currentIndex = index;
8946
+ var seg = this._segments[index];
8947
+ this._progress.setSegment(seg.startTime, seg.endTime);
8948
+ }
8949
+ this._progress.setCurrent(currentMs);
8950
+ };
8951
+ /** 没有可用片段信息时退化为整个区间,避免进度条空转 */ _proto._fallbackToRange = function _fallbackToRange() {
8952
+ if (!this._hasRange()) return;
8953
+ this._progress.setSegment(this._rangeBeginMs, this._rangeEndMs);
8954
+ };
8955
+ _proto._hasRange = function _hasRange() {
8956
+ return this._rangeEndMs > this._rangeBeginMs;
8957
+ };
8958
+ _proto._updateVisible = function _updateVisible() {
8959
+ var visible = this._hasRange();
8960
+ this.$container.style.display = visible ? '' : 'none';
8961
+ if (visible && this._currentIndex === -1 && !this._segments.length) {
8962
+ this._fallbackToRange();
8963
+ }
8964
+ };
8965
+ _proto.destroy = function destroy() {
8966
+ var _this__progress;
8967
+ (_this__progress = this._progress) == null ? void 0 : _this__progress.destroy();
8968
+ Control.prototype.destroy.call(this);
8969
+ };
8970
+ return SegmentProgressControl;
8971
+ }(Control);
8972
+
8973
+ function _extends$3() {
8974
+ _extends$3 = Object.assign || function assign(target) {
8975
+ for(var i = 1; i < arguments.length; i++){
8976
+ var source = arguments[i];
8977
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8797
8978
  }
8798
8979
  return target;
8799
8980
  };
@@ -8879,10 +9060,11 @@ var Controls = {
8879
9060
  speed: Speed,
8880
9061
  date: DatePickerControl,
8881
9062
  time: TimePickerControl,
8882
- timeLine: TimeLineControl
9063
+ timeLine: TimeLineControl,
9064
+ segmentProgress: SegmentProgressControl
8883
9065
  };
8884
9066
 
8885
- /* eslint-disable @typescript-eslint/no-non-null-assertion */ function _inherits$3(subClass, superClass) {
9067
+ function _inherits$3(subClass, superClass) {
8886
9068
  if (typeof superClass !== "function" && superClass !== null) {
8887
9069
  throw new TypeError("Super expression must either be null or a function");
8888
9070
  }
@@ -9023,6 +9205,10 @@ function _set_prototype_of$2(o, p) {
9023
9205
  this.$content = document.createElement('div');
9024
9206
  this.$content.classList.add("" + PREFIX_CLASS + "-mobile-extend-control-content");
9025
9207
  this.$controlPanel.appendChild(this.$content);
9208
+ // 片段进度条紧贴播放控件下方,位于日期/回放类型那一行之前
9209
+ this.$segmentProgress = document.createElement('div');
9210
+ this.$segmentProgress.classList.add("" + PREFIX_CLASS + "-mobile-extend-segment-progress");
9211
+ this.$content.appendChild(this.$segmentProgress);
9026
9212
  this.$top = document.createElement('div');
9027
9213
  this.$top.classList.add("" + PREFIX_CLASS + "-mobile-extend-control-top");
9028
9214
  this.$content.appendChild(this.$top);
@@ -9043,14 +9229,10 @@ function _set_prototype_of$2(o, p) {
9043
9229
  }(EventEmitter);
9044
9230
 
9045
9231
  function _extends$2() {
9046
- _extends$2 = Object.assign || function(target) {
9232
+ _extends$2 = Object.assign || function assign(target) {
9047
9233
  for(var i = 1; i < arguments.length; i++){
9048
9234
  var source = arguments[i];
9049
- for(var key in source){
9050
- if (Object.prototype.hasOwnProperty.call(source, key)) {
9051
- target[key] = source[key];
9052
- }
9053
- }
9235
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
9054
9236
  }
9055
9237
  return target;
9056
9238
  };
@@ -9182,7 +9364,7 @@ var PAUSE_DEFAULT_OPTIONS = {};
9182
9364
  return Pause;
9183
9365
  }(Control);
9184
9366
 
9185
- var _unmountedControls = function(theme) {
9367
+ var _unmountedControls = function _unmountedControls(theme) {
9186
9368
  if (!theme.controls) {
9187
9369
  return;
9188
9370
  }
@@ -9246,6 +9428,11 @@ var _unmountedControls = function(theme) {
9246
9428
  if (theme._onPauseTimingFunc) {
9247
9429
  theme._onPauseTimingFunc = null;
9248
9430
  }
9431
+ // 移除首帧同步监听(挂在 theme 上,需显式解绑,避免 changeTheme 累积)
9432
+ if (theme._onFirstFrameSync) {
9433
+ theme.removeListener(EVENTS.firstFrameDisplay, theme._onFirstFrameSync);
9434
+ theme._onFirstFrameSync = null;
9435
+ }
9249
9436
  if (hasControls) {
9250
9437
  theme.emit(EVENTS.control.unmountedControls);
9251
9438
  }
@@ -9264,11 +9451,8 @@ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
9264
9451
  reject(error);
9265
9452
  return;
9266
9453
  }
9267
- if (info.done) {
9268
- resolve(value);
9269
- } else {
9270
- Promise.resolve(value).then(_next, _throw);
9271
- }
9454
+ if (info.done) resolve(value);
9455
+ else Promise.resolve(value).then(_next, _throw);
9272
9456
  }
9273
9457
  function _async_to_generator$1(fn) {
9274
9458
  return function() {
@@ -9285,28 +9469,6 @@ function _async_to_generator$1(fn) {
9285
9469
  });
9286
9470
  };
9287
9471
  }
9288
- function _extends$1() {
9289
- _extends$1 = Object.assign || function(target) {
9290
- for(var i = 1; i < arguments.length; i++){
9291
- var source = arguments[i];
9292
- for(var key in source){
9293
- if (Object.prototype.hasOwnProperty.call(source, key)) {
9294
- target[key] = source[key];
9295
- }
9296
- }
9297
- }
9298
- return target;
9299
- };
9300
- return _extends$1.apply(this, arguments);
9301
- }
9302
- function _unsupported_iterable_to_array$1(o, minLen) {
9303
- if (!o) return;
9304
- if (typeof o === "string") return _array_like_to_array$1(o, minLen);
9305
- var n = Object.prototype.toString.call(o).slice(8, -1);
9306
- if (n === "Object" && o.constructor) n = o.constructor.name;
9307
- if (n === "Map" || n === "Set") return Array.from(n);
9308
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
9309
- }
9310
9472
  function _create_for_of_iterator_helper_loose$1(o, allowArrayLike) {
9311
9473
  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
9312
9474
  if (it) return (it = it.call(o)).next.bind(it);
@@ -9314,18 +9476,26 @@ function _create_for_of_iterator_helper_loose$1(o, allowArrayLike) {
9314
9476
  if (it) o = it;
9315
9477
  var i = 0;
9316
9478
  return function() {
9317
- if (i >= o.length) {
9318
- return {
9319
- done: true
9320
- };
9321
- }
9479
+ if (i >= o.length) return {
9480
+ done: true
9481
+ };
9322
9482
  return {
9323
9483
  done: false,
9324
9484
  value: o[i++]
9325
9485
  };
9326
9486
  };
9327
9487
  }
9328
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9488
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9489
+ }
9490
+ function _extends$1() {
9491
+ _extends$1 = Object.assign || function assign(target) {
9492
+ for(var i = 1; i < arguments.length; i++){
9493
+ var source = arguments[i];
9494
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
9495
+ }
9496
+ return target;
9497
+ };
9498
+ return _extends$1.apply(this, arguments);
9329
9499
  }
9330
9500
  function _ts_generator$1(thisArg, body) {
9331
9501
  var f, y, t, _ = {
@@ -9336,9 +9506,17 @@ function _ts_generator$1(thisArg, body) {
9336
9506
  },
9337
9507
  trys: [],
9338
9508
  ops: []
9339
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
9340
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
9341
- return this;
9509
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
9510
+ return d(g, "next", {
9511
+ value: verb(0)
9512
+ }), d(g, "throw", {
9513
+ value: verb(1)
9514
+ }), d(g, "return", {
9515
+ value: verb(2)
9516
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
9517
+ value: function() {
9518
+ return this;
9519
+ }
9342
9520
  }), g;
9343
9521
  function verb(n) {
9344
9522
  return function(v) {
@@ -9418,6 +9596,14 @@ function _ts_generator$1(thisArg, body) {
9418
9596
  };
9419
9597
  }
9420
9598
  }
9599
+ function _unsupported_iterable_to_array$1(o, minLen) {
9600
+ if (!o) return;
9601
+ if (typeof o === "string") return _array_like_to_array$1(o, minLen);
9602
+ var n = Object.prototype.toString.call(o).slice(8, -1);
9603
+ if (n === "Object" && o.constructor) n = o.constructor.name;
9604
+ if (n === "Map" || n === "Set") return Array.from(n);
9605
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
9606
+ }
9421
9607
  // 需要权限的控件
9422
9608
  var AUTH_KEY = [
9423
9609
  'ptz',
@@ -9456,7 +9642,7 @@ function _renderControls(theme, $container, btnList, props) {
9456
9642
  // eslint-disable-next-line @typescript-eslint/dot-notation, new-cap, @typescript-eslint/no-unsafe-argument
9457
9643
  theme.controls["deviceControl"] = new Controls["device"](_extends$1({
9458
9644
  rootContainer: theme.$container,
9459
- getPopupContainer: function() {
9645
+ getPopupContainer: function getPopupContainer() {
9460
9646
  return $container;
9461
9647
  },
9462
9648
  recType: theme.recType,
@@ -9479,7 +9665,7 @@ function _renderControls(theme, $container, btnList, props) {
9479
9665
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9480
9666
  theme.controls["" + item.iconId + "Control"] = new Controls[item.iconId](_extends$1({
9481
9667
  rootContainer: theme.$container,
9482
- getPopupContainer: function() {
9668
+ getPopupContainer: function getPopupContainer() {
9483
9669
  return $container;
9484
9670
  },
9485
9671
  language: theme.options.language || "zh",
@@ -9506,7 +9692,7 @@ function _renderControls(theme, $container, btnList, props) {
9506
9692
  }
9507
9693
  function _renderTheme(theme, data) {
9508
9694
  return _async_to_generator$1(function() {
9509
- var _theme_posterControl, _filterThemeData_header, _filterThemeData_footer, _theme_urlInfo, _theme_options_mobileExtendOptions_controls, _theme_options_mobileExtendOptions, themeData, filterThemeData, props, _$_filterLeftRightControls, leftBtns, rightBtns, _theme_controls, _theme_controls1, _$_filterLeftRightControls1, leftBtns1, rightBtns1, _filterThemeData_footer_btnList, list, _needTimeLine, hasPtz, _theme_options_mobileExtendOptions1, _theme_options_mobileExtendOptions2, _theme_options_mobileExtendOptions3, _theme_controls2, _theme_options_mobileExtendOptions4, _theme_options_mobileExtendOptions_controls1, _theme_options_mobileExtendOptions5, _filterThemeData_header1, _filterThemeData_footer1, _filterThemeData_footer_btnList1, _theme_options;
9695
+ var _ref, _theme_posterControl, _filterThemeData_header, _filterThemeData_footer, _theme_urlInfo, _theme_playbackRange, _theme_playbackRange1, _theme_options_mobileExtendOptions_controls, _theme_options_mobileExtendOptions, themeData, filterThemeData, props, _$_filterLeftRightControls, leftBtns, rightBtns, _theme_controls, _theme_controls1, _$_filterLeftRightControls1, leftBtns1, rightBtns1, list, _needTimeLine, _hasPlaybackRange, _needDatePicker, hasPtz, _theme_options_mobileExtendOptions1, _theme_options_mobileExtendOptions2, _theme_options_mobileExtendOptions3, _theme_options_mobileExtendOptions4, _theme_controls2, _theme_options_mobileExtendOptions5, _theme_options_mobileExtendOptions_controls1, _theme_options_mobileExtendOptions6, _ref1, _filterThemeData_header1, _filterThemeData_footer1, _theme_options;
9510
9696
  return _ts_generator$1(this, function(_state) {
9511
9697
  switch(_state.label){
9512
9698
  case 0:
@@ -9516,6 +9702,10 @@ function _renderTheme(theme, data) {
9516
9702
  ];
9517
9703
  case 1:
9518
9704
  themeData = _state.sent();
9705
+ // 异步获取主题数据期间可能已 destroy(),避免在已释放的 theme 上继续渲染/emit
9706
+ if (theme.destroyed) return [
9707
+ 2
9708
+ ];
9519
9709
  _unmountedControls(theme);
9520
9710
  if (Object.prototype.toString.call(themeData) !== '[object Object]') {
9521
9711
  // 主题空
@@ -9528,7 +9718,7 @@ function _renderTheme(theme, data) {
9528
9718
  language: theme.options.language,
9529
9719
  locales: theme.i18n.translations
9530
9720
  }, theme.options.loadingOptions || {}, {
9531
- getPopupContainer: function() {
9721
+ getPopupContainer: function getPopupContainer() {
9532
9722
  return theme.$container;
9533
9723
  }
9534
9724
  }));
@@ -9538,7 +9728,7 @@ function _renderTheme(theme, data) {
9538
9728
  language: theme.options.language,
9539
9729
  locales: theme.i18n.translations
9540
9730
  }, theme.options.pauseOptions || {}, {
9541
- getPopupContainer: function() {
9731
+ getPopupContainer: function getPopupContainer() {
9542
9732
  return theme.contentControl.$wrapper;
9543
9733
  }
9544
9734
  }));
@@ -9550,14 +9740,14 @@ function _renderTheme(theme, data) {
9550
9740
  theme.messageControl = new Message(_extends$1({
9551
9741
  rootContainer: theme.$container
9552
9742
  }, theme.options.messageOptions || {}, {
9553
- getPopupContainer: function() {
9743
+ getPopupContainer: function getPopupContainer() {
9554
9744
  return theme.contentControl.$wrapper;
9555
9745
  }
9556
9746
  }));
9557
9747
  }
9558
9748
  if (theme.options.posterOptions !== null) {
9559
9749
  theme.posterControl = new Poster(_extends$1({}, theme.options.posterOptions || {}, {
9560
- getPopupContainer: function() {
9750
+ getPopupContainer: function getPopupContainer() {
9561
9751
  return theme.contentControl.$video;
9562
9752
  }
9563
9753
  }));
@@ -9587,7 +9777,7 @@ function _renderTheme(theme, data) {
9587
9777
  }
9588
9778
  if (filterThemeData.header) {
9589
9779
  theme._header = new Header({
9590
- getPopupContainer: function() {
9780
+ getPopupContainer: function getPopupContainer() {
9591
9781
  return theme.$container;
9592
9782
  },
9593
9783
  color: filterThemeData.header.color,
@@ -9602,7 +9792,7 @@ function _renderTheme(theme, data) {
9602
9792
  if (filterThemeData.footer) {
9603
9793
  // prettier-ignore
9604
9794
  theme._footer = new Footer({
9605
- getPopupContainer: function() {
9795
+ getPopupContainer: function getPopupContainer() {
9606
9796
  return theme.$container;
9607
9797
  },
9608
9798
  color: filterThemeData.footer.color,
@@ -9648,20 +9838,23 @@ function _renderTheme(theme, data) {
9648
9838
  _renderControls(theme, theme._footer.$left, leftBtns1, props);
9649
9839
  _renderControls(theme, theme._footer.$right, rightBtns1, props);
9650
9840
  }
9651
- list = [].concat(((_filterThemeData_header = filterThemeData.header) == null ? void 0 : _filterThemeData_header.btnList) || [], (_filterThemeData_footer_btnList = (_filterThemeData_footer = filterThemeData.footer) == null ? void 0 : _filterThemeData_footer.btnList) != null ? _filterThemeData_footer_btnList : []);
9841
+ list = [].concat(((_filterThemeData_header = filterThemeData.header) == null ? void 0 : _filterThemeData_header.btnList) || [], (_ref = (_filterThemeData_footer = filterThemeData.footer) == null ? void 0 : _filterThemeData_footer.btnList) != null ? _ref : []);
9652
9842
  // FIXME: 这个逻辑实际上是有问题的
9653
9843
  _needTimeLine = list.some(function(item) {
9654
9844
  return REC_GROUP.includes(item.iconId) || item.iconId === 'recDropdown';
9655
9845
  }) && ((_theme_urlInfo = theme.urlInfo) == null ? void 0 : _theme_urlInfo.type) === 'rec';
9846
+ // 处于播放区间约束中时不渲染日历:区间必然在同一天内,切到任何其它日期都会越界
9847
+ _hasPlaybackRange = !!((_theme_playbackRange = theme.playbackRange) == null ? void 0 : _theme_playbackRange.begin) && !!((_theme_playbackRange1 = theme.playbackRange) == null ? void 0 : _theme_playbackRange1.end);
9848
+ _needDatePicker = theme.options.dateOptions !== null && !_hasPlaybackRange;
9656
9849
  theme.$container.classList.remove("" + PREFIX_CLASS + "-has-time-line");
9657
9850
  // PC 单独渲染timeLine
9658
9851
  if (!Utils.isMobile && !(theme.options.timeLineOptions === null || theme.options.disabledTimeLine) && _needTimeLine) {
9659
9852
  theme._recFooter = new RecFooter(theme.$container, {
9660
- hasDatePicker: theme.options.dateOptions !== null,
9853
+ hasDatePicker: _needDatePicker,
9661
9854
  hasTimePicker: theme.options.timeOptions !== null
9662
9855
  });
9663
9856
  // 放置在 timeline 前面是为了防止 时间轴宽度设置后导致 图标按钮被挤出 footer
9664
- if (theme.options.dateOptions !== null) {
9857
+ if (_needDatePicker) {
9665
9858
  _renderDatePicker(theme, theme._recFooter.$datePickerContainer, props);
9666
9859
  }
9667
9860
  if (theme.options.timeOptions !== null) {
@@ -9681,14 +9874,19 @@ function _renderTheme(theme, data) {
9681
9874
  });
9682
9875
  if (hasPtz || _needTimeLine) {
9683
9876
  theme._mobileExtend = new MobileExtend(theme.$container);
9684
- if (theme.options.dateOptions !== null && ((_theme_options_mobileExtendOptions1 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions1.controls.includes('date')) && _needTimeLine) {
9877
+ // 播放区间约束下渲染片段进度条(紧贴播放控件下方)
9878
+ if (_hasPlaybackRange && theme.options.segmentProgressOptions !== null && ((_theme_options_mobileExtendOptions1 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions1.controls.includes('segmentProgress')) && _needTimeLine) {
9879
+ _renderSegmentProgress(theme, theme._mobileExtend.$segmentProgress, props);
9880
+ }
9881
+ if (_needDatePicker && ((_theme_options_mobileExtendOptions2 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions2.controls.includes('date')) && _needTimeLine) {
9685
9882
  _renderDatePicker(theme, theme._mobileExtend.$topLeft, props);
9686
9883
  }
9687
- if (theme.options.timeOptions !== null && ((_theme_options_mobileExtendOptions2 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions2.controls.includes('time')) && _needTimeLine) {
9884
+ if (theme.options.timeOptions !== null && ((_theme_options_mobileExtendOptions3 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions3.controls.includes('time')) && _needTimeLine) {
9688
9885
  _renderTimePicker(theme, theme._mobileExtend.$topLeft, props);
9689
9886
  }
9690
- if (theme.options.recOptions !== null && ((_theme_options_mobileExtendOptions3 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions3.controls.includes('rec')) && _needTimeLine) {
9691
- [].concat(((_filterThemeData_header1 = filterThemeData.header) == null ? void 0 : _filterThemeData_header1.btnList) || [], (_filterThemeData_footer_btnList1 = (_filterThemeData_footer1 = filterThemeData.footer) == null ? void 0 : _filterThemeData_footer1.btnList) != null ? _filterThemeData_footer_btnList1 : []).forEach(function(item) {
9887
+ // 回放类型切换正常渲染,用户点击后由 SDK 层在 recDropdownChange 事件中自行处理
9888
+ if (theme.options.recOptions !== null && ((_theme_options_mobileExtendOptions4 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions4.controls.includes('rec')) && _needTimeLine) {
9889
+ [].concat(((_filterThemeData_header1 = filterThemeData.header) == null ? void 0 : _filterThemeData_header1.btnList) || [], (_ref1 = (_filterThemeData_footer1 = filterThemeData.footer) == null ? void 0 : _filterThemeData_footer1.btnList) != null ? _ref1 : []).forEach(function(item) {
9692
9890
  var _theme__mobileExtend;
9693
9891
  if (REC_GROUP.includes(item.iconId)) _renderRecType(theme, (_theme__mobileExtend = theme._mobileExtend) == null ? void 0 : _theme__mobileExtend.$topRight, item.iconId, props);
9694
9892
  });
@@ -9698,7 +9896,7 @@ function _renderTheme(theme, data) {
9698
9896
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9699
9897
  theme.controls['alarmMessageControl'] = new Controls['alarmMessage'](_extends$1({
9700
9898
  rootContainer: theme.$container,
9701
- getPopupContainer: function() {
9899
+ getPopupContainer: function getPopupContainer() {
9702
9900
  var _theme__mobileExtend;
9703
9901
  return (_theme__mobileExtend = theme._mobileExtend) == null ? void 0 : _theme__mobileExtend.$topRight;
9704
9902
  },
@@ -9710,10 +9908,10 @@ function _renderTheme(theme, data) {
9710
9908
  props: props
9711
9909
  }));
9712
9910
  }
9713
- if ((theme.options.timeLineOptions !== null || !theme.options.disabledTimeLine) && ((_theme_options_mobileExtendOptions4 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions4.controls.includes('timeLine')) && _needTimeLine) {
9911
+ if ((theme.options.timeLineOptions !== null || !theme.options.disabledTimeLine) && ((_theme_options_mobileExtendOptions5 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions5.controls.includes('timeLine')) && _needTimeLine) {
9714
9912
  _renderTimeLine(theme, theme._mobileExtend.$content, props);
9715
9913
  }
9716
- if (Utils.isMobile && ((_theme_options_mobileExtendOptions5 = theme.options.mobileExtendOptions) == null ? void 0 : (_theme_options_mobileExtendOptions_controls1 = _theme_options_mobileExtendOptions5.controls) == null ? void 0 : _theme_options_mobileExtendOptions_controls1.includes('ptz')) && hasPtz && theme.controls.ptzControl) {
9914
+ if (Utils.isMobile && ((_theme_options_mobileExtendOptions6 = theme.options.mobileExtendOptions) == null ? void 0 : (_theme_options_mobileExtendOptions_controls1 = _theme_options_mobileExtendOptions6.controls) == null ? void 0 : _theme_options_mobileExtendOptions_controls1.includes('ptz')) && hasPtz && theme.controls.ptzControl) {
9717
9915
  theme.controls.ptzControl.renderMobileExtend(theme._mobileExtend.$content);
9718
9916
  }
9719
9917
  }
@@ -9732,32 +9930,49 @@ function _renderTheme(theme, data) {
9732
9930
  });
9733
9931
  })();
9734
9932
  }
9735
- var _renderTimeLine = function(theme, container, props) {
9933
+ var _renderTimeLine = function _renderTimeLine(theme, container, props) {
9736
9934
  if (props === void 0) props = {};
9737
9935
  if (!theme.controls.timeLineControl && theme.options.timeLineOptions !== null) {
9936
+ var _ref;
9738
9937
  var _theme_urlInfo, _theme_urlInfo1, _theme_options, _theme_options1, _this, _theme_options2;
9739
- var _showSectionIcon;
9740
9938
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9741
9939
  theme.controls.timeLineControl = new Controls['timeLine'](_extends$1({
9742
- getPopupContainer: function() {
9940
+ getPopupContainer: function getPopupContainer() {
9743
9941
  return container;
9744
9942
  },
9745
9943
  language: theme.options.language,
9746
9944
  locales: theme.i18n.translations,
9747
9945
  coverQuery: ((_theme_urlInfo = theme.urlInfo) == null ? void 0 : _theme_urlInfo.validateCode) ? "decodekey=" + ((_theme_urlInfo1 = theme.urlInfo) == null ? void 0 : _theme_urlInfo1.validateCode) : ''
9748
9946
  }, ((_theme_options = theme.options) == null ? void 0 : _theme_options["timeLineOptions"]) || {}, {
9749
- showSectionIcon: ((_theme_options1 = theme.options) == null ? void 0 : _theme_options1["recListOptions"]) !== null ? (_showSectionIcon = (_this = ((_theme_options2 = theme.options) == null ? void 0 : _theme_options2["timeLineOptions"]) || {}) == null ? void 0 : _this.showSectionIcon) != null ? _showSectionIcon : true : true,
9947
+ showSectionIcon: ((_theme_options1 = theme.options) == null ? void 0 : _theme_options1["recListOptions"]) !== null ? (_ref = (_this = ((_theme_options2 = theme.options) == null ? void 0 : _theme_options2["timeLineOptions"]) || {}) == null ? void 0 : _this.showSectionIcon) != null ? _ref : true : true,
9750
9948
  props: props
9751
9949
  }));
9752
9950
  }
9753
9951
  };
9754
- var _renderDatePicker = function(theme, container, props) {
9952
+ var _renderSegmentProgress = function _renderSegmentProgress(theme, container, props) {
9953
+ if (props === void 0) props = {};
9954
+ if (!theme.controls.segmentProgressControl && theme.options.segmentProgressOptions !== null) {
9955
+ var _theme_options;
9956
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9957
+ theme.controls.segmentProgressControl = new Controls['segmentProgress'](_extends$1({
9958
+ rootContainer: theme.$container,
9959
+ getPopupContainer: function getPopupContainer() {
9960
+ return container;
9961
+ },
9962
+ language: theme.options.language,
9963
+ locales: theme.i18n.translations
9964
+ }, ((_theme_options = theme.options) == null ? void 0 : _theme_options["segmentProgressOptions"]) || {}, {
9965
+ props: props
9966
+ }));
9967
+ }
9968
+ };
9969
+ var _renderDatePicker = function _renderDatePicker(theme, container, props) {
9755
9970
  if (props === void 0) props = {};
9756
9971
  if (!theme.controls.dateControl && theme.options.dateOptions !== null) {
9757
9972
  var _theme_options;
9758
9973
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9759
9974
  theme.controls.dateControl = new Controls['date'](_extends$1({
9760
- getPopupContainer: function() {
9975
+ getPopupContainer: function getPopupContainer() {
9761
9976
  return container;
9762
9977
  },
9763
9978
  language: theme.options.language,
@@ -9767,13 +9982,13 @@ var _renderDatePicker = function(theme, container, props) {
9767
9982
  }));
9768
9983
  }
9769
9984
  };
9770
- var _renderTimePicker = function(theme, container, props) {
9985
+ var _renderTimePicker = function _renderTimePicker(theme, container, props) {
9771
9986
  if (props === void 0) props = {};
9772
9987
  if (!theme.controls.timeControl && theme.options.timeOptions !== null) {
9773
9988
  var _theme_options;
9774
9989
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9775
9990
  theme.controls.timeControl = new Controls['time'](_extends$1({
9776
- getPopupContainer: function() {
9991
+ getPopupContainer: function getPopupContainer() {
9777
9992
  return container;
9778
9993
  },
9779
9994
  language: theme.options.language,
@@ -9783,14 +9998,14 @@ var _renderTimePicker = function(theme, container, props) {
9783
9998
  }));
9784
9999
  }
9785
10000
  };
9786
- var _renderRecType = function(theme, container, recType, props) {
10001
+ var _renderRecType = function _renderRecType(theme, container, recType, props) {
9787
10002
  if (props === void 0) props = {};
9788
10003
  var _theme_controls, _theme_controls1, _theme_controls2;
9789
10004
  if (!((_theme_controls = theme.controls) == null ? void 0 : _theme_controls['recControl']) && theme.options.recOptions !== null && container) {
9790
10005
  var _theme_options;
9791
10006
  // eslint-disable-next-line @typescript-eslint/dot-notation, new-cap, @typescript-eslint/no-unsafe-argument
9792
10007
  theme.controls['recControl'] = new Controls['rec'](_extends$1({
9793
- getPopupContainer: function() {
10008
+ getPopupContainer: function getPopupContainer() {
9794
10009
  return container;
9795
10010
  },
9796
10011
  recType: theme.recType,
@@ -9894,7 +10109,7 @@ var _renderRecType = function(theme, container, recType, props) {
9894
10109
  return width - leftWidth - rightWidth > offset;
9895
10110
  }
9896
10111
 
9897
- /* eslint-disable @typescript-eslint/no-non-null-assertion */ function _array_like_to_array(arr, len) {
10112
+ function _array_like_to_array(arr, len) {
9898
10113
  if (len == null || len > arr.length) len = arr.length;
9899
10114
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
9900
10115
  return arr2;
@@ -9907,11 +10122,8 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
9907
10122
  reject(error);
9908
10123
  return;
9909
10124
  }
9910
- if (info.done) {
9911
- resolve(value);
9912
- } else {
9913
- Promise.resolve(value).then(_next, _throw);
9914
- }
10125
+ if (info.done) resolve(value);
10126
+ else Promise.resolve(value).then(_next, _throw);
9915
10127
  }
9916
10128
  function _async_to_generator(fn) {
9917
10129
  return function() {
@@ -9941,15 +10153,29 @@ function _create_class(Constructor, protoProps, staticProps) {
9941
10153
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
9942
10154
  return Constructor;
9943
10155
  }
10156
+ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
10157
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
10158
+ if (it) return (it = it.call(o)).next.bind(it);
10159
+ if (Array.isArray(o) || (it = _unsupported_iterable_to_array(o)) || allowArrayLike) {
10160
+ if (it) o = it;
10161
+ var i = 0;
10162
+ return function() {
10163
+ if (i >= o.length) return {
10164
+ done: true
10165
+ };
10166
+ return {
10167
+ done: false,
10168
+ value: o[i++]
10169
+ };
10170
+ };
10171
+ }
10172
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10173
+ }
9944
10174
  function _extends() {
9945
- _extends = Object.assign || function(target) {
10175
+ _extends = Object.assign || function assign(target) {
9946
10176
  for(var i = 1; i < arguments.length; i++){
9947
10177
  var source = arguments[i];
9948
- for(var key in source){
9949
- if (Object.prototype.hasOwnProperty.call(source, key)) {
9950
- target[key] = source[key];
9951
- }
9952
- }
10178
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
9953
10179
  }
9954
10180
  return target;
9955
10181
  };
@@ -9975,34 +10201,6 @@ function _set_prototype_of(o, p) {
9975
10201
  };
9976
10202
  return _set_prototype_of(o, p);
9977
10203
  }
9978
- function _unsupported_iterable_to_array(o, minLen) {
9979
- if (!o) return;
9980
- if (typeof o === "string") return _array_like_to_array(o, minLen);
9981
- var n = Object.prototype.toString.call(o).slice(8, -1);
9982
- if (n === "Object" && o.constructor) n = o.constructor.name;
9983
- if (n === "Map" || n === "Set") return Array.from(n);
9984
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
9985
- }
9986
- function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
9987
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
9988
- if (it) return (it = it.call(o)).next.bind(it);
9989
- if (Array.isArray(o) || (it = _unsupported_iterable_to_array(o)) || allowArrayLike) {
9990
- if (it) o = it;
9991
- var i = 0;
9992
- return function() {
9993
- if (i >= o.length) {
9994
- return {
9995
- done: true
9996
- };
9997
- }
9998
- return {
9999
- done: false,
10000
- value: o[i++]
10001
- };
10002
- };
10003
- }
10004
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10005
- }
10006
10204
  function _ts_generator(thisArg, body) {
10007
10205
  var f, y, t, _ = {
10008
10206
  label: 0,
@@ -10012,9 +10210,17 @@ function _ts_generator(thisArg, body) {
10012
10210
  },
10013
10211
  trys: [],
10014
10212
  ops: []
10015
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
10016
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
10017
- return this;
10213
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
10214
+ return d(g, "next", {
10215
+ value: verb(0)
10216
+ }), d(g, "throw", {
10217
+ value: verb(1)
10218
+ }), d(g, "return", {
10219
+ value: verb(2)
10220
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
10221
+ value: function() {
10222
+ return this;
10223
+ }
10018
10224
  }), g;
10019
10225
  function verb(n) {
10020
10226
  return function(v) {
@@ -10094,6 +10300,14 @@ function _ts_generator(thisArg, body) {
10094
10300
  };
10095
10301
  }
10096
10302
  }
10303
+ function _unsupported_iterable_to_array(o, minLen) {
10304
+ if (!o) return;
10305
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
10306
+ var n = Object.prototype.toString.call(o).slice(8, -1);
10307
+ if (n === "Object" && o.constructor) n = o.constructor.name;
10308
+ if (n === "Map" || n === "Set") return Array.from(n);
10309
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
10310
+ }
10097
10311
  var THEME_DEFAULT_OPTIONS = {
10098
10312
  dblClickFullscreen: true,
10099
10313
  language: 'zh',
@@ -10147,6 +10361,7 @@ var THEME_DEFAULT_OPTIONS = {
10147
10361
  _inherits(Theme, EventEmitter);
10148
10362
  function Theme(options) {
10149
10363
  var _this;
10364
+ var _ref, _ref1, _ref2, _ref3, _ref4, _ref5;
10150
10365
  var _this_options_volumeOptions, _this_options_volumeOptions1, _this_options_speedOptions, _this_urlInfo_searchParams, _this_urlInfo, _this_options, _this_options1;
10151
10366
  _this = EventEmitter.call(this) || this, /** 播放器配置项 */ _this.options = THEME_DEFAULT_OPTIONS, _this.staticPath = '', /** 所有控件列表, 所有控件名称规则(`${iconId}Control`), 如音量控件 this.controls["volumeControl"] @since 0.0.1 */ _this.controls = {}, /**
10152
10367
  * @since 0.0.1
@@ -10167,7 +10382,11 @@ var THEME_DEFAULT_OPTIONS = {
10167
10382
  */ _this._footerMoreControl = null, /** 头部控件 @since 0.0.1 @private */ _this._header = null, /** 低部控件 @since 0.0.1 @private */ _this._footer = null, /** 回放底部时间轴 @since 0.0.1 @private */ _this._recFooter = null, /**
10168
10383
  * 移动端扩展容器, 扩展的控件渲染在指定容器以外, 仅只用端适用, 为了可以放置大的控件和方便开发接入
10169
10384
  * @private
10170
- */ _this._mobileExtend = null, /** @since 0.0.1 @private */ _this._interactiveResult = null, /** @since 0.0.1 @private */ _this._themeData = null, _this._fullscreen = null, _this.zoomUtil = null, /** 清除屏幕旋转 */ _this._cleanupOrientation = null, /** resizeObserver 监听销毁 */ _this._cleanUpResizeObserver = null, /** 容器的宽 */ _this._width = 0, /** 容器的高 */ _this._height = 0, /** 当前容器的全屏状态 true: 全屏, false: 非全屏 */ _this._isCurrentFullscreen = false, /** 屏幕旋转角度 0 | 90 | 180 | 270 */ _this._orientationAngle = 0, _this._url = '', /** 是否播放中 @private */ _this._playing = false, /** @private 加载中 */ _this._loading = false, /** 音量 */ _this._volume = 0, /** 静音 */ _this._muted = false, /** 电子放大倍数 @private */ _this._zoom = 1, /** 放大中 true: 可缩放状态,false: 禁止缩放状态(不能缩放) @private */ _this._zooming = false, /** 录制中 @private */ _this._recording = false, /** 对讲中 @private */ _this._talking = false, /** 倍速 @private */ _this._speed = 1, /** 自定清晰度 @private */ _this._videoLevelAuto = false, /** 清晰度列表 */ _this.videoLevelList = [], /** 回放片段列表 */ _this.recordList = [], /** 窗口尺寸变化时,设置窗口超出隐藏,防止出现滚动条 */ _this._resizeOverflowTimer = null, // /**
10385
+ */ _this._mobileExtend = null, /** @since 0.0.1 @private */ _this._interactiveResult = null, /** @since 0.0.1 @private */ _this._themeData = null, _this._fullscreen = null, _this.zoomUtil = null, /** 清除屏幕旋转 */ _this._cleanupOrientation = null, /** resizeObserver 监听销毁 */ _this._cleanUpResizeObserver = null, /** 容器的宽 */ _this._width = 0, /** 容器的高 */ _this._height = 0, /** 当前容器的全屏状态 true: 全屏, false: 非全屏 */ _this._isCurrentFullscreen = false, /** 屏幕旋转角度 0 | 90 | 180 | 270 */ _this._orientationAngle = 0, _this._url = '', /** 是否播放中 @private */ _this._playing = false, /** @private 加载中 */ _this._loading = false, /** 音量 */ _this._volume = 0, /** 静音 */ _this._muted = false, /** 电子放大倍数 @private */ _this._zoom = 1, /** 放大中 true: 可缩放状态,false: 禁止缩放状态(不能缩放) @private */ _this._zooming = false, /** 录制中 @private */ _this._recording = false, /** 对讲中 @private */ _this._talking = false, /** 倍速 @private */ _this._speed = 1, /** 自定清晰度 @private */ _this._videoLevelAuto = false, /** 清晰度列表 */ _this.videoLevelList = [], /** 回放片段列表 */ _this.recordList = [], /**
10386
+ * 播放区间(片段分享),null 表示不约束。
10387
+ * 由 SDK 层在初始化时通过 props 下发,主题层据此决定日历/回放类型按钮
10388
+ * 是否渲染、片段进度条是否渲染。区间没有运行时变更入口。
10389
+ */ _this.playbackRange = null, /** 窗口尺寸变化时,设置窗口超出隐藏,防止出现滚动条 */ _this._resizeOverflowTimer = null, // /**
10171
10390
  // * 记录回放的月份
10172
10391
  // *
10173
10392
  // * key: {序列号}_{通道号}_{rec | cloud | cloudRecord} 比如:BC7799091_1_rec BC7799091_1_cloud BC7799091_1_cloudRecord
@@ -10178,7 +10397,15 @@ var THEME_DEFAULT_OPTIONS = {
10178
10397
  // _recMonthObj: Record<string, string[]> = {};
10179
10398
  /**
10180
10399
  * 录像回放的月份列表 @private
10181
- */ _this.recMonth = [], /** 清理 header/footer 动画 定时器 @private */ _this._onPauseTimingFunc = null, /** 销毁标识 @readonly */ _this.destroyed = false, _this.scaleMode = 0, _this._videoInfo = {};
10400
+ */ _this.recMonth = [], /** 清理 header/footer 动画 定时器 @private */ _this._onPauseTimingFunc = null, /**
10401
+ * 首帧同步 Live/RecDropdown 激活态的监听器引用。
10402
+ * 每次 `_renderTheme` 重新绑定前需先移除旧引用,避免 changeTheme 累积监听。
10403
+ * @private
10404
+ */ _this._onFirstFrameSync = null, /**
10405
+ * 模板请求(getDetail)的中止控制器。
10406
+ * 重新渲染或销毁时中止在途请求,避免请求返回后在已销毁/已切换的 theme 上继续操作。
10407
+ * @private
10408
+ */ _this._templateAbortController = null, /** 销毁标识 @readonly */ _this.destroyed = false, _this.scaleMode = 0, _this._videoInfo = {};
10182
10409
  _this._initOptions(options);
10183
10410
  if (_this.options.type === 'ezopen') {
10184
10411
  var _this_urlInfo_searchParams1, _this_urlInfo1, _this_urlInfo2;
@@ -10200,7 +10427,7 @@ var THEME_DEFAULT_OPTIONS = {
10200
10427
  _this._initClassName();
10201
10428
  // 画布需要渲染在 this.contentControl.$content 内
10202
10429
  _this.contentControl = new Content({
10203
- getContainer: function() {
10430
+ getContainer: function getContainer() {
10204
10431
  return _this.$container;
10205
10432
  },
10206
10433
  scaleMode: _this.scaleMode
@@ -10210,18 +10437,15 @@ var THEME_DEFAULT_OPTIONS = {
10210
10437
  });
10211
10438
  // zoom utils
10212
10439
  __zoom(_this, _this.contentControl.$content, _extends({}, _this.options.zoomOptions || {}, {
10213
- onTap: function() {
10440
+ onTap: function onTap() {
10214
10441
  var _this__interactiveResult_setTimeoutShow, _this__interactiveResult;
10215
10442
  (_this__interactiveResult = _this._interactiveResult) == null ? void 0 : (_this__interactiveResult_setTimeoutShow = _this__interactiveResult.setTimeoutShow) == null ? void 0 : _this__interactiveResult_setTimeoutShow.call(_this__interactiveResult);
10216
10443
  }
10217
10444
  }));
10218
- var _this_options_volumeOptions_volume, _ref;
10219
- _this._volume = (_ref = (_this_options_volumeOptions_volume = (_this_options_volumeOptions = _this.options.volumeOptions) == null ? void 0 : _this_options_volumeOptions.volume) != null ? _this_options_volumeOptions_volume : _this.options.volume) != null ? _ref : 0.8;
10220
- var _this_options_volumeOptions_muted, _ref1;
10221
- _this._muted = (_ref1 = (_this_options_volumeOptions_muted = (_this_options_volumeOptions1 = _this.options.volumeOptions) == null ? void 0 : _this_options_volumeOptions1.muted) != null ? _this_options_volumeOptions_muted : _this.options.muted) != null ? _ref1 : false;
10222
- var _this_options_speedOptions_value, _ref2;
10445
+ _this._volume = (_ref = (_ref1 = (_this_options_volumeOptions = _this.options.volumeOptions) == null ? void 0 : _this_options_volumeOptions.volume) != null ? _ref1 : _this.options.volume) != null ? _ref : 0.8;
10446
+ _this._muted = (_ref2 = (_ref3 = (_this_options_volumeOptions1 = _this.options.volumeOptions) == null ? void 0 : _this_options_volumeOptions1.muted) != null ? _ref3 : _this.options.muted) != null ? _ref2 : false;
10223
10447
  // playbackSpeed 是 萤石标准流倍速字段
10224
- _this._speed = +((_ref2 = (_this_options_speedOptions_value = (_this_options_speedOptions = _this.options.speedOptions) == null ? void 0 : _this_options_speedOptions.value) != null ? _this_options_speedOptions_value : (_this_urlInfo = _this.urlInfo) == null ? void 0 : (_this_urlInfo_searchParams = _this_urlInfo.searchParams) == null ? void 0 : _this_urlInfo_searchParams.playbackSpeed) != null ? _ref2 : 1);
10448
+ _this._speed = +((_ref4 = (_ref5 = (_this_options_speedOptions = _this.options.speedOptions) == null ? void 0 : _this_options_speedOptions.value) != null ? _ref5 : (_this_urlInfo = _this.urlInfo) == null ? void 0 : (_this_urlInfo_searchParams = _this_urlInfo.searchParams) == null ? void 0 : _this_urlInfo_searchParams.playbackSpeed) != null ? _ref4 : 1);
10225
10449
  _this._mobileInnerWidthHeight = _this._mobileInnerWidthHeight.bind(_this);
10226
10450
  _this._throttleMobileInnerWidthHeight = throttle(_this._mobileInnerWidthHeight, 20).bind(_this);
10227
10451
  _this._onDblClickFullscreen = debounce(_this._onDblClickFullscreen, 20).bind(_this);
@@ -10249,9 +10473,9 @@ var THEME_DEFAULT_OPTIONS = {
10249
10473
  // flv / mp4:支持自定义 themeData,未传时回退到标准直播模板 LiveTemplate(2026-01-19 起支持自定义)
10250
10474
  initialThemeData = themeData !== undefined ? themeData : LiveTemplate;
10251
10475
  } else {
10252
- var _ref3;
10476
+ var _ref6;
10253
10477
  // 其余类型(如 ezopen 私有流):template 优先级高于 themeData,二者都未设置时为 null
10254
- initialThemeData = (_ref3 = template != null ? template : themeData) != null ? _ref3 : null;
10478
+ initialThemeData = (_ref6 = template != null ? template : themeData) != null ? _ref6 : null;
10255
10479
  }
10256
10480
  _this._renderTheme(initialThemeData);
10257
10481
  _this._addEventListener();
@@ -10433,12 +10657,15 @@ var THEME_DEFAULT_OPTIONS = {
10433
10657
  * ```
10434
10658
  */ _proto.destroy = function destroy() {
10435
10659
  var _this = this;
10436
- var _this_contentControl, _this_$container;
10660
+ var // 中止在途的模板请求,避免其回调在已销毁的 theme 上继续执行
10661
+ _this__templateAbortController, _this_contentControl, _this_$container;
10437
10662
  if (!this.$container || this.destroyed) {
10438
10663
  // 防止多次销毁
10439
10664
  return;
10440
10665
  }
10441
10666
  this.emit(EVENTS.theme.beforeDestroy);
10667
+ (_this__templateAbortController = this._templateAbortController) == null ? void 0 : _this__templateAbortController.abort();
10668
+ this._templateAbortController = null;
10442
10669
  this._removeEventListener();
10443
10670
  _unmountedControls(this);
10444
10671
  (_this_contentControl = this.contentControl) == null ? void 0 : _this_contentControl.destroy();
@@ -10473,7 +10700,12 @@ var THEME_DEFAULT_OPTIONS = {
10473
10700
  /** 初始化配置项 */ _proto._initOptions = function _initOptions(options) {
10474
10701
  if (options === void 0) options = {};
10475
10702
  var _this_options_loggerOptions, _this_options_definitionOptions_list, _this_options_definitionOptions, _this_options_videoLevelList;
10476
- this.options = deepmerge(THEME_DEFAULT_OPTIONS, options, {
10703
+ // 先对模块级默认配置做一次深拷贝,得到全新的嵌套对象/数组,
10704
+ // 避免 this.options 与 THEME_DEFAULT_OPTIONS(如 mobileExtendOptions.controls、env、loggerOptions)
10705
+ // 共享引用而在多实例间相互污染。
10706
+ // 仍对用户 options 使用 clone:false —— container 可能是 DOM 节点/函数,深拷贝会破坏它。
10707
+ var defaults = deepmerge({}, THEME_DEFAULT_OPTIONS);
10708
+ this.options = deepmerge(defaults, options, {
10477
10709
  clone: false
10478
10710
  });
10479
10711
  this._url = this.options.url;
@@ -10508,10 +10740,12 @@ var THEME_DEFAULT_OPTIONS = {
10508
10740
  this.logger.log('[options] \n', this.options);
10509
10741
  }
10510
10742
  var language = this.options.language || 'zh';
10511
- var locales = deepmerge({
10743
+ // 深拷贝内置语言包,避免与模块级 zh/en 常量共享引用(I18n 若对其做合并/修改会污染全局)
10744
+ var baseLocales = deepmerge({}, {
10512
10745
  zh: zh,
10513
10746
  en: en
10514
- }, this.options.locales || {}, {
10747
+ });
10748
+ var locales = deepmerge(baseLocales, this.options.locales || {}, {
10515
10749
  clone: false
10516
10750
  });
10517
10751
  // prettier-ignore
@@ -10592,7 +10826,7 @@ var THEME_DEFAULT_OPTIONS = {
10592
10826
  this._fullscreen = new Fullscreen$1(this.$container, {
10593
10827
  prefix: PREFIX_CLASS,
10594
10828
  // 全屏变化
10595
- onChange: function(info) {
10829
+ onChange: function onChange(info) {
10596
10830
  if (info.isCurrentFullscreen) {
10597
10831
  _this.emit(EVENTS.fullscreen);
10598
10832
  } else if (_this._isCurrentFullscreen) {
@@ -10610,7 +10844,7 @@ var THEME_DEFAULT_OPTIONS = {
10610
10844
  }
10611
10845
  });
10612
10846
  // ------------------------------ 旋转方向 -----------------------------
10613
- var rotateOrientation = function(orientation) {
10847
+ var rotateOrientation = function rotateOrientation(orientation) {
10614
10848
  if (_this.$container) {
10615
10849
  var // 重置移除旋转角度
10616
10850
  _this_$container_classList;
@@ -10733,7 +10967,7 @@ var THEME_DEFAULT_OPTIONS = {
10733
10967
  language: this.options.language,
10734
10968
  locales: this.i18n.translations,
10735
10969
  rootContainer: this.$container,
10736
- getPopupContainer: function() {
10970
+ getPopupContainer: function getPopupContainer() {
10737
10971
  var _this__header;
10738
10972
  return (_this__header = _this._header) == null ? void 0 : _this__header.$right;
10739
10973
  },
@@ -10745,7 +10979,7 @@ var THEME_DEFAULT_OPTIONS = {
10745
10979
  8
10746
10980
  ],
10747
10981
  wrapClassName: "" + PREFIX_CLASS + "-header-more",
10748
- onOpenChange: function(open) {
10982
+ onOpenChange: function onOpenChange(open) {
10749
10983
  _this.emit(EVENTS.control.headerMorePanelOpenChange, open);
10750
10984
  }
10751
10985
  });
@@ -10788,7 +11022,7 @@ var THEME_DEFAULT_OPTIONS = {
10788
11022
  language: this.options.language,
10789
11023
  locales: this.i18n.translations,
10790
11024
  rootContainer: this.$container,
10791
- getPopupContainer: function() {
11025
+ getPopupContainer: function getPopupContainer() {
10792
11026
  var _this__footer;
10793
11027
  return (_this__footer = _this._footer) == null ? void 0 : _this__footer.$right;
10794
11028
  },
@@ -10800,7 +11034,7 @@ var THEME_DEFAULT_OPTIONS = {
10800
11034
  -8
10801
11035
  ],
10802
11036
  wrapClassName: "" + PREFIX_CLASS + "-footer-more",
10803
- onOpenChange: function(open) {
11037
+ onOpenChange: function onOpenChange(open) {
10804
11038
  _this.emit(EVENTS.control.footerMorePanelOpenChange, open);
10805
11039
  }
10806
11040
  });
@@ -11316,6 +11550,7 @@ var THEME_DEFAULT_OPTIONS = {
11316
11550
  * theme.on(Theme.EVENTS.zoomChange, (zoom: number) => {})
11317
11551
  * ```
11318
11552
  */ function set(zoom) {
11553
+ var _ref;
11319
11554
  var _this_options_zoomOptions;
11320
11555
  if (!this._zooming) {
11321
11556
  var _this_messageControl_info, _this_messageControl, _this_logger;
@@ -11324,8 +11559,7 @@ var THEME_DEFAULT_OPTIONS = {
11324
11559
  return;
11325
11560
  }
11326
11561
  zoom = +zoom.toFixed(1);
11327
- var _this_options_zoomOptions_max;
11328
- var ZOOM_MAX = (_this_options_zoomOptions_max = (_this_options_zoomOptions = this.options.zoomOptions) == null ? void 0 : _this_options_zoomOptions.max) != null ? _this_options_zoomOptions_max : ZOOM_DEFAULT_OPTIONS.max;
11562
+ var ZOOM_MAX = (_ref = (_this_options_zoomOptions = this.options.zoomOptions) == null ? void 0 : _this_options_zoomOptions.max) != null ? _ref : ZOOM_DEFAULT_OPTIONS.max;
11329
11563
  if (zoom > ZOOM_MAX) {
11330
11564
  var _this_messageControl_info1, _this_messageControl1, _this_logger1;
11331
11565
  (_this_messageControl1 = this.messageControl) == null ? void 0 : (_this_messageControl_info1 = _this_messageControl1.info) == null ? void 0 : _this_messageControl_info1.call(_this_messageControl1, this.i18n.t('ZOOM_LIMIT_MAX', {
@@ -11529,7 +11763,7 @@ var THEME_DEFAULT_OPTIONS = {
11529
11763
  zh: zh,
11530
11764
  en: en
11531
11765
  };
11532
- /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.2-beta.3';
11766
+ /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.3-beta.1';
11533
11767
 
11534
11768
  exports.Control = Control;
11535
11769
  exports.EVENTS = EVENTS;