@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.esm.js 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
  import EventEmitter from 'eventemitter3';
@@ -16,6 +16,7 @@ import { Ptz as Ptz$1, MobilePtz } from '@ezuikit/control-ptz';
16
16
  import RecListModal from '@ezuikit/control-rec-list-modal';
17
17
  import { DatePicker, TimePicker } from '@ezuikit/control-date-picker';
18
18
  import { MobileTimeLine, TimeLine } from '@ezuikit/control-time-line';
19
+ import SegmentProgress from '@ezuikit/control-segment-progress';
19
20
 
20
21
  /**
21
22
  * 播放器的类名前缀
@@ -46,7 +47,9 @@ var THEME_PROPS = [
46
47
  'videoLevelList',
47
48
  'videoLevel',
48
49
  'recMonth',
49
- 'url'
50
+ 'url',
51
+ // 播放区间(片段分享)。通过 props 下发而不是靠事件,避免主题异步渲染时错过初始化事件
52
+ 'playbackRange'
50
53
  ];
51
54
  /**
52
55
  * 当移动端 picker 控件打开时需要关闭动画(定时器)
@@ -91,7 +94,8 @@ var THEME_PROPS = [
91
94
  'ptz',
92
95
  'timeLine',
93
96
  'rec',
94
- 'date'
97
+ 'date',
98
+ 'segmentProgress'
95
99
  ];
96
100
  /**
97
101
  *
@@ -156,6 +160,7 @@ var EVENTS = {
156
160
  currentVideoLevelAuto: 'currentVideoLevelAuto',
157
161
  setAllDayRecTimes: 'setAllDayRecTimes',
158
162
  getOSDTime: 'getOSDTime',
163
+ /** 播放区间播放结束(SDK 层 playbackRange 特性) */ playbackEnd: 'playbackEnd',
159
164
  /**
160
165
  * 控件相关
161
166
  */ control: {
@@ -257,7 +262,7 @@ function _create_class$9(Constructor, protoProps, staticProps) {
257
262
  if (protoProps) _defineProperties$9(Constructor.prototype, protoProps);
258
263
  return Constructor;
259
264
  }
260
- function _inherits$y(subClass, superClass) {
265
+ function _inherits$z(subClass, superClass) {
261
266
  if (typeof superClass !== "function" && superClass !== null) {
262
267
  throw new TypeError("Super expression must either be null or a function");
263
268
  }
@@ -268,14 +273,14 @@ function _inherits$y(subClass, superClass) {
268
273
  configurable: true
269
274
  }
270
275
  });
271
- if (superClass) _set_prototype_of$y(subClass, superClass);
276
+ if (superClass) _set_prototype_of$z(subClass, superClass);
272
277
  }
273
- function _set_prototype_of$y(o, p) {
274
- _set_prototype_of$y = Object.setPrototypeOf || function setPrototypeOf(o, p) {
278
+ function _set_prototype_of$z(o, p) {
279
+ _set_prototype_of$z = Object.setPrototypeOf || function setPrototypeOf(o, p) {
275
280
  o.__proto__ = p;
276
281
  return o;
277
282
  };
278
- return _set_prototype_of$y(o, p);
283
+ return _set_prototype_of$z(o, p);
279
284
  }
280
285
  /**
281
286
  * 控件基类
@@ -289,11 +294,11 @@ function _set_prototype_of$y(o, p) {
289
294
  * const myControl = new MyControl({})
290
295
  * ```
291
296
  */ var Control = /*#__PURE__*/ function(EventEmitter) {
292
- _inherits$y(Control, EventEmitter);
297
+ _inherits$z(Control, EventEmitter);
293
298
  function Control(options) {
294
299
  var _this;
295
300
  var _this___options;
296
- _this = EventEmitter.call(this) || this, /** 具体语言对应的值 */ _this.locale = null, _this.__options = {}, _this._disabled = false, _this._active = false, _this._camelCaseName = '';
301
+ _this = EventEmitter.call(this) || this, /** 具体语言对应的值 */ _this.locale = null, _this.__options = {}, _this._disabled = false, _this._active = false, _this._camelCaseName = '', /** click 监听引用,销毁时需显式移除 */ _this._onClickHandler = null;
297
302
  _this.__options = options;
298
303
  _this.locale = getLocale(_this.__options.locales, _this.__options.language);
299
304
  _this._camelCaseName = _this.__options.classNameSuffix ? _this.__options.classNameSuffix.replace(/[-_\s]+(.)?/g, function(_, c) {
@@ -382,6 +387,12 @@ function _set_prototype_of$y(o, p) {
382
387
  this.emit("Control." + this._camelCaseName + "Destroy");
383
388
  }
384
389
  if (((_this___options = this.__options) == null ? void 0 : _this___options.controlType) !== 'block') this.$container.removeEventListener('dblclick', this._onDBlClick);
390
+ // 移除 click 监听
391
+ if (this._onClickHandler) {
392
+ var _this_$container1;
393
+ (_this_$container1 = this.$container) == null ? void 0 : _this_$container1.removeEventListener('click', this._onClickHandler);
394
+ this._onClickHandler = null;
395
+ }
385
396
  this._active = false;
386
397
  this.removeAllListeners();
387
398
  (_this_$container = this.$container) == null ? void 0 : (_this_$container_remove = _this_$container.remove) == null ? void 0 : _this_$container_remove.call(_this_$container);
@@ -410,14 +421,16 @@ function _set_prototype_of$y(o, p) {
410
421
  * 当点击 Control 时 触发子类的 _onControlClick
411
422
  */ _proto._onClick = function _onClick() {
412
423
  var _this = this;
413
- this.$container.addEventListener('click', function(e) {
424
+ // 使用具名 handler 便于在 destroy 时精确移除,避免匿名监听残留
425
+ this._onClickHandler = function(e) {
414
426
  var _this_$container;
415
427
  // prettier-ignore
416
428
  if (!((_this_$container = _this.$container) == null ? void 0 : _this_$container.classList.contains("" + PREFIX_CLASS + "-disabled"))) {
417
429
  // _onControlClick 来源自子类中
418
430
  _this._onControlClick == null ? void 0 : _this._onControlClick.call(_this, e);
419
431
  }
420
- });
432
+ };
433
+ this.$container.addEventListener('click', this._onClickHandler);
421
434
  };
422
435
  _proto._onDBlClick = function _onDBlClick(e) {
423
436
  e.stopPropagation();
@@ -464,21 +477,17 @@ function _set_prototype_of$y(o, p) {
464
477
  return Control;
465
478
  }(EventEmitter);
466
479
 
467
- function _extends$x() {
468
- _extends$x = Object.assign || function(target) {
480
+ function _extends$y() {
481
+ _extends$y = Object.assign || function assign(target) {
469
482
  for(var i = 1; i < arguments.length; i++){
470
483
  var source = arguments[i];
471
- for(var key in source){
472
- if (Object.prototype.hasOwnProperty.call(source, key)) {
473
- target[key] = source[key];
474
- }
475
- }
484
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
476
485
  }
477
486
  return target;
478
487
  };
479
- return _extends$x.apply(this, arguments);
488
+ return _extends$y.apply(this, arguments);
480
489
  }
481
- function _inherits$x(subClass, superClass) {
490
+ function _inherits$y(subClass, superClass) {
482
491
  if (typeof superClass !== "function" && superClass !== null) {
483
492
  throw new TypeError("Super expression must either be null or a function");
484
493
  }
@@ -489,25 +498,25 @@ function _inherits$x(subClass, superClass) {
489
498
  configurable: true
490
499
  }
491
500
  });
492
- if (superClass) _set_prototype_of$x(subClass, superClass);
501
+ if (superClass) _set_prototype_of$y(subClass, superClass);
493
502
  }
494
- function _set_prototype_of$x(o, p) {
495
- _set_prototype_of$x = Object.setPrototypeOf || function setPrototypeOf(o, p) {
503
+ function _set_prototype_of$y(o, p) {
504
+ _set_prototype_of$y = Object.setPrototypeOf || function setPrototypeOf(o, p) {
496
505
  o.__proto__ = p;
497
506
  return o;
498
507
  };
499
- return _set_prototype_of$x(o, p);
508
+ return _set_prototype_of$y(o, p);
500
509
  }
501
510
  var LOADING_DEFAULT_OPTIONS = {};
502
511
  /**
503
512
  * 加载动画控件
504
513
  * @category Control
505
514
  */ var Loading = /*#__PURE__*/ function(Control) {
506
- _inherits$x(Loading, Control);
515
+ _inherits$y(Loading, Control);
507
516
  function Loading(options) {
508
517
  if (options === void 0) options = {};
509
518
  var _this;
510
- _this = Control.call(this, Object.assign({}, LOADING_DEFAULT_OPTIONS, _extends$x({}, options, {
519
+ _this = Control.call(this, Object.assign({}, LOADING_DEFAULT_OPTIONS, _extends$y({}, options, {
511
520
  tagName: 'div',
512
521
  controlType: 'block',
513
522
  classNameSuffix: 'loading'
@@ -545,21 +554,17 @@ var LOADING_DEFAULT_OPTIONS = {};
545
554
  return Loading;
546
555
  }(Control);
547
556
 
548
- function _extends$w() {
549
- _extends$w = Object.assign || function(target) {
557
+ function _extends$x() {
558
+ _extends$x = Object.assign || function assign(target) {
550
559
  for(var i = 1; i < arguments.length; i++){
551
560
  var source = arguments[i];
552
- for(var key in source){
553
- if (Object.prototype.hasOwnProperty.call(source, key)) {
554
- target[key] = source[key];
555
- }
556
- }
561
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
557
562
  }
558
563
  return target;
559
564
  };
560
- return _extends$w.apply(this, arguments);
565
+ return _extends$x.apply(this, arguments);
561
566
  }
562
- function _inherits$w(subClass, superClass) {
567
+ function _inherits$x(subClass, superClass) {
563
568
  if (typeof superClass !== "function" && superClass !== null) {
564
569
  throw new TypeError("Super expression must either be null or a function");
565
570
  }
@@ -570,14 +575,14 @@ function _inherits$w(subClass, superClass) {
570
575
  configurable: true
571
576
  }
572
577
  });
573
- if (superClass) _set_prototype_of$w(subClass, superClass);
578
+ if (superClass) _set_prototype_of$x(subClass, superClass);
574
579
  }
575
- function _set_prototype_of$w(o, p) {
576
- _set_prototype_of$w = Object.setPrototypeOf || function setPrototypeOf(o, p) {
580
+ function _set_prototype_of$x(o, p) {
581
+ _set_prototype_of$x = Object.setPrototypeOf || function setPrototypeOf(o, p) {
577
582
  o.__proto__ = p;
578
583
  return o;
579
584
  };
580
- return _set_prototype_of$w(o, p);
585
+ return _set_prototype_of$x(o, p);
581
586
  }
582
587
  // 不放在服务器上 是因为有可能http加载失败
583
588
  // prettier-ignore
@@ -589,11 +594,11 @@ var POSTER_OPTIONS = {
589
594
  * 封面控件
590
595
  * @category Control
591
596
  */ var Poster = /*#__PURE__*/ function(Control) {
592
- _inherits$w(Poster, Control);
597
+ _inherits$x(Poster, Control);
593
598
  function Poster(options) {
594
599
  if (options === void 0) options = {};
595
600
  var _this;
596
- _this = Control.call(this, Object.assign({}, POSTER_OPTIONS, _extends$w({}, options, {
601
+ _this = Control.call(this, Object.assign({}, POSTER_OPTIONS, _extends$x({}, options, {
597
602
  tagName: 'div',
598
603
  controlType: 'block',
599
604
  classNameSuffix: 'poster'
@@ -659,7 +664,7 @@ var POSTER_OPTIONS = {
659
664
  var Icons = {
660
665
  /** 播放 */ 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>',
661
666
  /** 暂停 */ 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>',
662
- /** 音量 */ volume: function(prefix) {
667
+ /** 音量 */ volume: function volume(prefix) {
663
668
  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>';
664
669
  },
665
670
  /** 全屏 */ 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>',
@@ -685,7 +690,7 @@ var Icons = {
685
690
  /** 录制/摄像机 */ 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>',
686
691
  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 ',
687
692
  /** 对讲 */ 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>',
688
- talkGrowth: function(prefix) {
693
+ talkGrowth: function talkGrowth(prefix) {
689
694
  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>';
690
695
  },
691
696
  /** 语音广播 */ 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>',
@@ -727,179 +732,175 @@ var Icons = {
727
732
  return '<span class="' + PREFIX_CLASS + "-icon " + PREFIX_CLASS + "-icon-" + type + '" ' + attrStr + ">" + svg + "</span>";
728
733
  }
729
734
  var IconComponents = {
730
- /** 播放 */ play: function(attr) {
735
+ /** 播放 */ play: function play(attr) {
731
736
  if (attr === void 0) attr = {};
732
737
  return createIcon(Icons.play, 'play', attr);
733
738
  },
734
- /** 暂停 */ pause: function(attr) {
739
+ /** 暂停 */ pause: function pause(attr) {
735
740
  if (attr === void 0) attr = {};
736
741
  return createIcon(Icons.pause, 'pause', attr);
737
742
  },
738
- volume: function(attr) {
743
+ volume: function volume(attr) {
739
744
  if (attr === void 0) attr = {};
740
745
  return createIcon(Icons.volume(PREFIX_CLASS), 'volume', attr);
741
746
  },
742
- mobileFullscreen: function(attr) {
747
+ mobileFullscreen: function mobileFullscreen(attr) {
743
748
  if (attr === void 0) attr = {};
744
749
  return createIcon(Icons.mobileFullscreen, 'mobile-fullscreen', attr);
745
750
  },
746
- exitFullscreen: function(attr) {
751
+ exitFullscreen: function exitFullscreen(attr) {
747
752
  if (attr === void 0) attr = {};
748
753
  return createIcon(Icons.exitFullscreen, 'exit-fullscreen', attr);
749
754
  },
750
- fullscreen: function(attr) {
755
+ fullscreen: function fullscreen(attr) {
751
756
  if (attr === void 0) attr = {};
752
757
  return createIcon(Icons.fullscreen, 'fullscreen', attr);
753
758
  },
754
- exitGlobalFullscreen: function(attr) {
759
+ exitGlobalFullscreen: function exitGlobalFullscreen(attr) {
755
760
  if (attr === void 0) attr = {};
756
761
  return createIcon(Icons.exitGlobalFullscreen, 'exit-global-fullscreen', attr);
757
762
  },
758
- globalFullscreen: function(attr) {
763
+ globalFullscreen: function globalFullscreen(attr) {
759
764
  if (attr === void 0) attr = {};
760
765
  return createIcon(Icons.globalFullscreen, 'global-fullscreen', attr);
761
766
  },
762
- capturePicture: function(attr) {
767
+ capturePicture: function capturePicture(attr) {
763
768
  if (attr === void 0) attr = {};
764
769
  return createIcon(Icons.capturePicture, 'capture-picture', attr);
765
770
  },
766
- ptz: function(attr) {
771
+ ptz: function ptz(attr) {
767
772
  if (attr === void 0) attr = {};
768
773
  return createIcon(Icons.ptz, 'ptz', attr);
769
774
  },
770
- record: function(attr) {
775
+ record: function record(attr) {
771
776
  if (attr === void 0) attr = {};
772
777
  return createIcon(Icons.record, 'record', attr);
773
778
  },
774
- recordCircle: function(attr) {
779
+ recordCircle: function recordCircle(attr) {
775
780
  if (attr === void 0) attr = {};
776
781
  return createIcon(Icons.recordCircle, 'record-circle', attr);
777
782
  },
778
- talk: function(attr) {
783
+ talk: function talk(attr) {
779
784
  if (attr === void 0) attr = {};
780
785
  return createIcon(Icons.talk, 'talk', attr);
781
786
  },
782
- broadcast: function(attr) {
787
+ broadcast: function broadcast(attr) {
783
788
  if (attr === void 0) attr = {};
784
789
  return createIcon(Icons.broadcast, 'broadcast', attr);
785
790
  },
786
- aiChat: function(attr) {
791
+ aiChat: function aiChat(attr) {
787
792
  if (attr === void 0) attr = {};
788
793
  return createIcon(Icons.aiChat, 'aiChat', attr);
789
794
  },
790
- talkGrowth: function(attr) {
795
+ talkGrowth: function talkGrowth(attr) {
791
796
  if (attr === void 0) attr = {};
792
797
  return createIcon(Icons.talkGrowth(PREFIX_CLASS), 'talk-growth', attr);
793
798
  },
794
- zoom: function(attr) {
799
+ zoom: function zoom(attr) {
795
800
  if (attr === void 0) attr = {};
796
801
  return createIcon(Icons.zoom, 'zoom', attr);
797
802
  },
798
- more: function(attr) {
803
+ more: function more(attr) {
799
804
  if (attr === void 0) attr = {};
800
805
  return createIcon(Icons.more, 'more', attr);
801
806
  },
802
- moreDot: function(attr) {
807
+ moreDot: function moreDot(attr) {
803
808
  if (attr === void 0) attr = {};
804
809
  return createIcon(Icons.moreDot, 'more-dot', attr);
805
810
  },
806
- minusCircle: function(attr) {
811
+ minusCircle: function minusCircle(attr) {
807
812
  if (attr === void 0) attr = {};
808
813
  return createIcon(Icons.minusCircle, 'minus-circle', attr);
809
814
  },
810
- plusCircle: function(attr) {
815
+ plusCircle: function plusCircle(attr) {
811
816
  if (attr === void 0) attr = {};
812
817
  return createIcon(Icons.plusCircle, 'plus-circle', attr);
813
818
  },
814
- sdk: function(attr) {
819
+ sdk: function sdk(attr) {
815
820
  if (attr === void 0) attr = {};
816
821
  return createIcon(Icons.sdk, 'sdk', attr);
817
822
  },
818
- cloudRec: function(attr) {
823
+ cloudRec: function cloudRec(attr) {
819
824
  if (attr === void 0) attr = {};
820
825
  return createIcon(Icons.cloudRec, 'cloud-rec', attr);
821
826
  },
822
- cloudRecord: function(attr) {
827
+ cloudRecord: function cloudRecord(attr) {
823
828
  if (attr === void 0) attr = {};
824
829
  return createIcon(Icons.cloudRecord, 'cloud-record', attr);
825
830
  },
826
- error: function(attr) {
831
+ error: function error(attr) {
827
832
  if (attr === void 0) attr = {};
828
833
  return createIcon(Icons.error, 'error', attr);
829
834
  },
830
- info: function(attr) {
835
+ info: function info(attr) {
831
836
  if (attr === void 0) attr = {};
832
837
  return createIcon(Icons.info, 'info', attr);
833
838
  },
834
- close: function(attr) {
839
+ close: function close(attr) {
835
840
  if (attr === void 0) attr = {};
836
841
  return createIcon(Icons.close, 'close', attr);
837
842
  },
838
- closeCircleOutLined: function(attr) {
843
+ closeCircleOutLined: function closeCircleOutLined(attr) {
839
844
  if (attr === void 0) attr = {};
840
845
  return createIcon(Icons.closeCircleOutLined, 'close-circle', attr);
841
846
  },
842
- warnCircleOutLined: function(attr) {
847
+ warnCircleOutLined: function warnCircleOutLined(attr) {
843
848
  if (attr === void 0) attr = {};
844
849
  return createIcon(Icons.warnCircleOutLined, 'warn-circle', attr);
845
850
  },
846
- infoCircleOutLined: function(attr) {
851
+ infoCircleOutLined: function infoCircleOutLined(attr) {
847
852
  if (attr === void 0) attr = {};
848
853
  return createIcon(Icons.infoCircleOutLined, 'info-circle', attr);
849
854
  },
850
- date: function(attr) {
855
+ date: function date(attr) {
851
856
  if (attr === void 0) attr = {};
852
857
  return createIcon(Icons.date, 'date', attr);
853
858
  },
854
- filter: function(attr) {
859
+ filter: function filter(attr) {
855
860
  if (attr === void 0) attr = {};
856
861
  return createIcon(Icons.filter, 'filter', attr);
857
862
  },
858
- add: function(attr) {
863
+ add: function add(attr) {
859
864
  if (attr === void 0) attr = {};
860
865
  return createIcon(Icons.add, 'add', attr);
861
866
  },
862
- reduce: function(attr) {
867
+ reduce: function reduce(attr) {
863
868
  if (attr === void 0) attr = {};
864
869
  return createIcon(Icons.reduce, 'reduce', attr);
865
870
  },
866
- /** 直播 */ live: function(attr) {
871
+ /** 直播 */ live: function live(attr) {
867
872
  if (attr === void 0) attr = {};
868
873
  return createIcon(Icons.live, 'live', attr);
869
874
  },
870
- /** 回放 */ recDropdown: function(attr) {
875
+ /** 回放 */ recDropdown: function recDropdown(attr) {
871
876
  if (attr === void 0) attr = {};
872
877
  return createIcon(Icons.recDropdown, 'rec-dropdown', attr);
873
878
  },
874
- /** 录像列表 */ recList: function(attr) {
879
+ /** 录像列表 */ recList: function recList(attr) {
875
880
  if (attr === void 0) attr = {};
876
881
  return createIcon(Icons.list, 'rec-list', attr);
877
882
  },
878
- /** 消息 */ alarmMessage: function(attr) {
883
+ /** 消息 */ alarmMessage: function alarmMessage(attr) {
879
884
  if (attr === void 0) attr = {};
880
885
  return createIcon(Icons.alarmMessage, 'alarm-message', attr);
881
886
  },
882
- time: function(attr) {
887
+ time: function time(attr) {
883
888
  if (attr === void 0) attr = {};
884
889
  return createIcon(Icons.time, 'time', attr);
885
890
  }
886
891
  };
887
892
 
888
- function _extends$v() {
889
- _extends$v = Object.assign || function(target) {
893
+ function _extends$w() {
894
+ _extends$w = Object.assign || function assign(target) {
890
895
  for(var i = 1; i < arguments.length; i++){
891
896
  var source = arguments[i];
892
- for(var key in source){
893
- if (Object.prototype.hasOwnProperty.call(source, key)) {
894
- target[key] = source[key];
895
- }
896
- }
897
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
897
898
  }
898
899
  return target;
899
900
  };
900
- return _extends$v.apply(this, arguments);
901
+ return _extends$w.apply(this, arguments);
901
902
  }
902
- function _inherits$v(subClass, superClass) {
903
+ function _inherits$w(subClass, superClass) {
903
904
  if (typeof superClass !== "function" && superClass !== null) {
904
905
  throw new TypeError("Super expression must either be null or a function");
905
906
  }
@@ -910,25 +911,25 @@ function _inherits$v(subClass, superClass) {
910
911
  configurable: true
911
912
  }
912
913
  });
913
- if (superClass) _set_prototype_of$v(subClass, superClass);
914
+ if (superClass) _set_prototype_of$w(subClass, superClass);
914
915
  }
915
- function _set_prototype_of$v(o, p) {
916
- _set_prototype_of$v = Object.setPrototypeOf || function setPrototypeOf(o, p) {
916
+ function _set_prototype_of$w(o, p) {
917
+ _set_prototype_of$w = Object.setPrototypeOf || function setPrototypeOf(o, p) {
917
918
  o.__proto__ = p;
918
919
  return o;
919
920
  };
920
- return _set_prototype_of$v(o, p);
921
+ return _set_prototype_of$w(o, p);
921
922
  }
922
923
  var MESSAGE_DEFAULT_OPTIONS = {};
923
924
  /**
924
925
  * 消息控件
925
926
  * @category Control
926
927
  */ var Message = /*#__PURE__*/ function(Control) {
927
- _inherits$v(Message, Control);
928
+ _inherits$w(Message, Control);
928
929
  function Message(options) {
929
930
  if (options === void 0) options = {};
930
931
  var _this;
931
- _this = Control.call(this, Object.assign({}, MESSAGE_DEFAULT_OPTIONS, _extends$v({}, options, {
932
+ _this = Control.call(this, Object.assign({}, MESSAGE_DEFAULT_OPTIONS, _extends$w({}, options, {
932
933
  tagName: 'div',
933
934
  controlType: 'block'
934
935
  }))) || this, _this._$toast = null;
@@ -1085,21 +1086,17 @@ function _create_class$8(Constructor, protoProps, staticProps) {
1085
1086
  if (protoProps) _defineProperties$8(Constructor.prototype, protoProps);
1086
1087
  return Constructor;
1087
1088
  }
1088
- function _extends$u() {
1089
- _extends$u = Object.assign || function(target) {
1089
+ function _extends$v() {
1090
+ _extends$v = Object.assign || function assign(target) {
1090
1091
  for(var i = 1; i < arguments.length; i++){
1091
1092
  var source = arguments[i];
1092
- for(var key in source){
1093
- if (Object.prototype.hasOwnProperty.call(source, key)) {
1094
- target[key] = source[key];
1095
- }
1096
- }
1093
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
1097
1094
  }
1098
1095
  return target;
1099
1096
  };
1100
- return _extends$u.apply(this, arguments);
1097
+ return _extends$v.apply(this, arguments);
1101
1098
  }
1102
- function _inherits$u(subClass, superClass) {
1099
+ function _inherits$v(subClass, superClass) {
1103
1100
  if (typeof superClass !== "function" && superClass !== null) {
1104
1101
  throw new TypeError("Super expression must either be null or a function");
1105
1102
  }
@@ -1110,23 +1107,23 @@ function _inherits$u(subClass, superClass) {
1110
1107
  configurable: true
1111
1108
  }
1112
1109
  });
1113
- if (superClass) _set_prototype_of$u(subClass, superClass);
1110
+ if (superClass) _set_prototype_of$v(subClass, superClass);
1114
1111
  }
1115
- function _set_prototype_of$u(o, p) {
1116
- _set_prototype_of$u = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1112
+ function _set_prototype_of$v(o, p) {
1113
+ _set_prototype_of$v = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1117
1114
  o.__proto__ = p;
1118
1115
  return o;
1119
1116
  };
1120
- return _set_prototype_of$u(o, p);
1117
+ return _set_prototype_of$v(o, p);
1121
1118
  }
1122
1119
  /**
1123
1120
  * 播放/暂停控件
1124
1121
  * @category Control
1125
1122
  */ var Play = /*#__PURE__*/ function(Control) {
1126
- _inherits$u(Play, Control);
1123
+ _inherits$v(Play, Control);
1127
1124
  function Play(options) {
1128
1125
  var _this;
1129
- _this = Control.call(this, _extends$u({}, options, {
1126
+ _this = Control.call(this, _extends$v({}, options, {
1130
1127
  tagName: 'span',
1131
1128
  controlType: 'button',
1132
1129
  classNameSuffix: 'play'
@@ -1212,14 +1209,6 @@ function _array_like_to_array$2(arr, len) {
1212
1209
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
1213
1210
  return arr2;
1214
1211
  }
1215
- function _unsupported_iterable_to_array$2(o, minLen) {
1216
- if (!o) return;
1217
- if (typeof o === "string") return _array_like_to_array$2(o, minLen);
1218
- var n = Object.prototype.toString.call(o).slice(8, -1);
1219
- if (n === "Object" && o.constructor) n = o.constructor.name;
1220
- if (n === "Map" || n === "Set") return Array.from(n);
1221
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
1222
- }
1223
1212
  function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1224
1213
  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
1225
1214
  if (it) return (it = it.call(o)).next.bind(it);
@@ -1227,18 +1216,24 @@ function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1227
1216
  if (it) o = it;
1228
1217
  var i = 0;
1229
1218
  return function() {
1230
- if (i >= o.length) {
1231
- return {
1232
- done: true
1233
- };
1234
- }
1219
+ if (i >= o.length) return {
1220
+ done: true
1221
+ };
1235
1222
  return {
1236
1223
  done: false,
1237
1224
  value: o[i++]
1238
1225
  };
1239
1226
  };
1240
1227
  }
1241
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1228
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
1229
+ }
1230
+ function _unsupported_iterable_to_array$2(o, minLen) {
1231
+ if (!o) return;
1232
+ if (typeof o === "string") return _array_like_to_array$2(o, minLen);
1233
+ var n = Object.prototype.toString.call(o).slice(8, -1);
1234
+ if (n === "Object" && o.constructor) n = o.constructor.name;
1235
+ if (n === "Map" || n === "Set") return Array.from(n);
1236
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
1242
1237
  }
1243
1238
  /**
1244
1239
  * 工具类
@@ -1265,7 +1260,7 @@ function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1265
1260
  */ // prettier-ignore
1266
1261
  Utils.orientationEventListener = function orientationEventListener(change) {
1267
1262
  var _orientationTimer = null;
1268
- var getOrientation = function() {
1263
+ var getOrientation = function getOrientation() {
1269
1264
  var _screen, _window;
1270
1265
  // 现代浏览器方案
1271
1266
  if ((_screen = screen) == null ? void 0 : _screen.orientation) {
@@ -1302,7 +1297,7 @@ function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1302
1297
  };
1303
1298
  var orientation = getOrientation();
1304
1299
  // 监听变化(兼容写法)
1305
- var onOrientationChange = function() {
1300
+ var onOrientationChange = function onOrientationChange() {
1306
1301
  var newOrientation = getOrientation == null ? void 0 : getOrientation();
1307
1302
  // console.log("onOrientationChange", newOrientation, orientation)
1308
1303
  // prettier-ignore
@@ -1311,7 +1306,7 @@ function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1311
1306
  orientation = newOrientation;
1312
1307
  }
1313
1308
  };
1314
- var onResize = function() {
1309
+ var onResize = function onResize() {
1315
1310
  // 防抖处理
1316
1311
  if (_orientationTimer) clearTimeout(_orientationTimer);
1317
1312
  if (onOrientationChange) _orientationTimer = setTimeout(onOrientationChange, 200);
@@ -1366,7 +1361,7 @@ function _create_for_of_iterator_helper_loose$2(o, allowArrayLike) {
1366
1361
  */ // prettier-ignore
1367
1362
  Utils.resizeObserver = function resizeObserver(node, callback) {
1368
1363
  // prettier-ignore
1369
- var observerFn = function(entries, observer) {
1364
+ var observerFn = function observerFn(entries, observer) {
1370
1365
  for(var _iterator = _create_for_of_iterator_helper_loose$2(entries), _step; !(_step = _iterator()).done;){
1371
1366
  var entry = _step.value;
1372
1367
  if (entry.target === node) {
@@ -1430,9 +1425,9 @@ var PROGRESS_DEFAULT_OPTIONS = {
1430
1425
  showPlus: false,
1431
1426
  showMinus: false,
1432
1427
  isRotated: false,
1433
- onChange: function() {
1428
+ onChange: function onChange() {
1434
1429
  /* no-op */ },
1435
- renderText: function(_, percent) {
1430
+ renderText: function renderText(_, percent) {
1436
1431
  return (percent * 100).toFixed(0);
1437
1432
  }
1438
1433
  };
@@ -1455,6 +1450,7 @@ var PROGRESS_DEFAULT_OPTIONS = {
1455
1450
  * })
1456
1451
  */ var Progress = /*#__PURE__*/ function() {
1457
1452
  function Progress(options) {
1453
+ var _this_options_defaultValue;
1458
1454
  var _this_options_range;
1459
1455
  this._percent = 0;
1460
1456
  this._value = 0;
@@ -1476,7 +1472,6 @@ var PROGRESS_DEFAULT_OPTIONS = {
1476
1472
  this.$container = options.container;
1477
1473
  this._render();
1478
1474
  this._eventListeners();
1479
- var _this_options_defaultValue;
1480
1475
  var value = (_this_options_defaultValue = this.options.defaultValue) != null ? _this_options_defaultValue : this.options.range[0]; // 设置默认值
1481
1476
  this._value = +value.toFixed(2); // 保留两位小数
1482
1477
  // prettier-ignore
@@ -1549,8 +1544,8 @@ var PROGRESS_DEFAULT_OPTIONS = {
1549
1544
  this._percent = +((value - this.options.range[0]) / (this.options.range[1] - this.options.range[0])).toFixed(2);
1550
1545
  };
1551
1546
  _proto._render = function _render() {
1552
- this.$content = document.createElement('div');
1553
1547
  var _this_options_className;
1548
+ this.$content = document.createElement('div');
1554
1549
  this.$content.className = PREFIX_CLASS + "-progress " + ((_this_options_className = this.options.className) != null ? _this_options_className : '');
1555
1550
  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>" : '');
1556
1551
  this.$container.appendChild(this.$content);
@@ -1742,21 +1737,17 @@ function _create_class$6(Constructor, protoProps, staticProps) {
1742
1737
  if (protoProps) _defineProperties$6(Constructor.prototype, protoProps);
1743
1738
  return Constructor;
1744
1739
  }
1745
- function _extends$t() {
1746
- _extends$t = Object.assign || function(target) {
1740
+ function _extends$u() {
1741
+ _extends$u = Object.assign || function assign(target) {
1747
1742
  for(var i = 1; i < arguments.length; i++){
1748
1743
  var source = arguments[i];
1749
- for(var key in source){
1750
- if (Object.prototype.hasOwnProperty.call(source, key)) {
1751
- target[key] = source[key];
1752
- }
1753
- }
1744
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
1754
1745
  }
1755
1746
  return target;
1756
1747
  };
1757
- return _extends$t.apply(this, arguments);
1748
+ return _extends$u.apply(this, arguments);
1758
1749
  }
1759
- function _inherits$t(subClass, superClass) {
1750
+ function _inherits$u(subClass, superClass) {
1760
1751
  if (typeof superClass !== "function" && superClass !== null) {
1761
1752
  throw new TypeError("Super expression must either be null or a function");
1762
1753
  }
@@ -1767,33 +1758,33 @@ function _inherits$t(subClass, superClass) {
1767
1758
  configurable: true
1768
1759
  }
1769
1760
  });
1770
- if (superClass) _set_prototype_of$t(subClass, superClass);
1761
+ if (superClass) _set_prototype_of$u(subClass, superClass);
1771
1762
  }
1772
- function _set_prototype_of$t(o, p) {
1773
- _set_prototype_of$t = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1763
+ function _set_prototype_of$u(o, p) {
1764
+ _set_prototype_of$u = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1774
1765
  o.__proto__ = p;
1775
1766
  return o;
1776
1767
  };
1777
- return _set_prototype_of$t(o, p);
1768
+ return _set_prototype_of$u(o, p);
1778
1769
  }
1779
1770
  var VOLUME_DEFAULT_OPTIONS = {
1780
1771
  volume: 0.8,
1781
1772
  muted: false,
1782
1773
  open: false,
1783
1774
  trigger: 'hover',
1784
- onOpenChange: function() {},
1785
- onChange: function() {}
1775
+ onOpenChange: function onOpenChange() {},
1776
+ onChange: function onChange() {}
1786
1777
  };
1787
1778
  /**
1788
1779
  * 音量调节控件
1789
1780
  * @category Control
1790
1781
  */ var Volume = /*#__PURE__*/ function(Control) {
1791
- _inherits$t(Volume, Control);
1782
+ _inherits$u(Volume, Control);
1792
1783
  function Volume(options) {
1793
1784
  if (options === void 0) options = {};
1794
1785
  var _this;
1795
1786
  var _this__options_props, _this__options_props1, _this__options_props2, _this__options_props3;
1796
- _this = Control.call(this, _extends$t({}, options, {
1787
+ _this = Control.call(this, _extends$u({}, options, {
1797
1788
  tagName: 'span',
1798
1789
  classNameSuffix: 'volume',
1799
1790
  controlType: 'button'
@@ -1810,7 +1801,7 @@ var VOLUME_DEFAULT_OPTIONS = {
1810
1801
  if (!(Utils.isMobile || _this._options.PLAY_TYPE === 'ezopen' || _this._options.PLAY_TYPE === 'ezhls')) {
1811
1802
  var _this__options_props4, _this__options_props5;
1812
1803
  _this.picker = new Picker(_this.$container, {
1813
- getPopupContainer: function() {
1804
+ getPopupContainer: function getPopupContainer() {
1814
1805
  return _this.$container;
1815
1806
  },
1816
1807
  trigger: _this._options.trigger,
@@ -1821,7 +1812,7 @@ var VOLUME_DEFAULT_OPTIONS = {
1821
1812
  -10
1822
1813
  ],
1823
1814
  placement: 'top',
1824
- onOpenChange: function(open) {
1815
+ onOpenChange: function onOpenChange(open) {
1825
1816
  _this._options.onOpenChange == null ? void 0 : _this._options.onOpenChange.call(_this._options, open, _this._muted ? _this._lastVolume : _this.volume, _this._muted);
1826
1817
  // prettier-ignore
1827
1818
  _this.emit(EVENTS.control.volumePanelOpenChange, open, _this._lastVolume, _this._muted);
@@ -1838,10 +1829,10 @@ var VOLUME_DEFAULT_OPTIONS = {
1838
1829
  showPercent: true,
1839
1830
  className: "" + PREFIX_CLASS + "-volume-progress",
1840
1831
  // 为了解决点击进度调取消静音
1841
- onProgressClick: function() {
1832
+ onProgressClick: function onProgressClick() {
1842
1833
  _this.muted = false;
1843
1834
  },
1844
- onChange: function(value) {
1835
+ onChange: function onChange(value) {
1845
1836
  if (value !== _this._volume) _this.volume = value;
1846
1837
  }
1847
1838
  });
@@ -2018,11 +2009,8 @@ function asyncGeneratorStep$7(gen, resolve, reject, _next, _throw, key, arg) {
2018
2009
  reject(error);
2019
2010
  return;
2020
2011
  }
2021
- if (info.done) {
2022
- resolve(value);
2023
- } else {
2024
- Promise.resolve(value).then(_next, _throw);
2025
- }
2012
+ if (info.done) resolve(value);
2013
+ else Promise.resolve(value).then(_next, _throw);
2026
2014
  }
2027
2015
  function _async_to_generator$7(fn) {
2028
2016
  return function() {
@@ -2048,9 +2036,17 @@ function _ts_generator$7(thisArg, body) {
2048
2036
  },
2049
2037
  trys: [],
2050
2038
  ops: []
2051
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
2052
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
2053
- return this;
2039
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
2040
+ return d(g, "next", {
2041
+ value: verb(0)
2042
+ }), d(g, "throw", {
2043
+ value: verb(1)
2044
+ }), d(g, "return", {
2045
+ value: verb(2)
2046
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
2047
+ value: function() {
2048
+ return this;
2049
+ }
2054
2050
  }), g;
2055
2051
  function verb(n) {
2056
2052
  return function(v) {
@@ -2453,21 +2449,17 @@ var __fullscreenProvider__ = Provider.getInstance();
2453
2449
  return Fullscreen;
2454
2450
  }();
2455
2451
 
2456
- function _extends$s() {
2457
- _extends$s = Object.assign || function(target) {
2452
+ function _extends$t() {
2453
+ _extends$t = Object.assign || function assign(target) {
2458
2454
  for(var i = 1; i < arguments.length; i++){
2459
2455
  var source = arguments[i];
2460
- for(var key in source){
2461
- if (Object.prototype.hasOwnProperty.call(source, key)) {
2462
- target[key] = source[key];
2463
- }
2464
- }
2456
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
2465
2457
  }
2466
2458
  return target;
2467
2459
  };
2468
- return _extends$s.apply(this, arguments);
2460
+ return _extends$t.apply(this, arguments);
2469
2461
  }
2470
- function _inherits$s(subClass, superClass) {
2462
+ function _inherits$t(subClass, superClass) {
2471
2463
  if (typeof superClass !== "function" && superClass !== null) {
2472
2464
  throw new TypeError("Super expression must either be null or a function");
2473
2465
  }
@@ -2478,24 +2470,24 @@ function _inherits$s(subClass, superClass) {
2478
2470
  configurable: true
2479
2471
  }
2480
2472
  });
2481
- if (superClass) _set_prototype_of$s(subClass, superClass);
2473
+ if (superClass) _set_prototype_of$t(subClass, superClass);
2482
2474
  }
2483
- function _set_prototype_of$s(o, p) {
2484
- _set_prototype_of$s = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2475
+ function _set_prototype_of$t(o, p) {
2476
+ _set_prototype_of$t = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2485
2477
  o.__proto__ = p;
2486
2478
  return o;
2487
2479
  };
2488
- return _set_prototype_of$s(o, p);
2480
+ return _set_prototype_of$t(o, p);
2489
2481
  }
2490
2482
  /**
2491
2483
  * 全屏控件
2492
2484
  * @category Control
2493
2485
  */ var Fullscreen = /*#__PURE__*/ function(Control) {
2494
- _inherits$s(Fullscreen, Control);
2486
+ _inherits$t(Fullscreen, Control);
2495
2487
  function Fullscreen(options) {
2496
2488
  var _this;
2497
2489
  var _options_props, _this_options;
2498
- _this = Control.call(this, _extends$s({
2490
+ _this = Control.call(this, _extends$t({
2499
2491
  tagName: 'span',
2500
2492
  classNameSuffix: 'fullscreen',
2501
2493
  controlType: 'button'
@@ -2560,21 +2552,17 @@ function _set_prototype_of$s(o, p) {
2560
2552
  return Fullscreen;
2561
2553
  }(Control);
2562
2554
 
2563
- function _extends$r() {
2564
- _extends$r = Object.assign || function(target) {
2555
+ function _extends$s() {
2556
+ _extends$s = Object.assign || function assign(target) {
2565
2557
  for(var i = 1; i < arguments.length; i++){
2566
2558
  var source = arguments[i];
2567
- for(var key in source){
2568
- if (Object.prototype.hasOwnProperty.call(source, key)) {
2569
- target[key] = source[key];
2570
- }
2571
- }
2559
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
2572
2560
  }
2573
2561
  return target;
2574
2562
  };
2575
- return _extends$r.apply(this, arguments);
2563
+ return _extends$s.apply(this, arguments);
2576
2564
  }
2577
- function _inherits$r(subClass, superClass) {
2565
+ function _inherits$s(subClass, superClass) {
2578
2566
  if (typeof superClass !== "function" && superClass !== null) {
2579
2567
  throw new TypeError("Super expression must either be null or a function");
2580
2568
  }
@@ -2585,24 +2573,24 @@ function _inherits$r(subClass, superClass) {
2585
2573
  configurable: true
2586
2574
  }
2587
2575
  });
2588
- if (superClass) _set_prototype_of$r(subClass, superClass);
2576
+ if (superClass) _set_prototype_of$s(subClass, superClass);
2589
2577
  }
2590
- function _set_prototype_of$r(o, p) {
2591
- _set_prototype_of$r = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2578
+ function _set_prototype_of$s(o, p) {
2579
+ _set_prototype_of$s = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2592
2580
  o.__proto__ = p;
2593
2581
  return o;
2594
2582
  };
2595
- return _set_prototype_of$r(o, p);
2583
+ return _set_prototype_of$s(o, p);
2596
2584
  }
2597
2585
  /**
2598
2586
  * 回放类型切换(本地回放(sdk 卡), 云存储回放, 云录制回放)控件
2599
2587
  * @category Control
2600
2588
  */ var Rec = /*#__PURE__*/ function(Control) {
2601
- _inherits$r(Rec, Control);
2589
+ _inherits$s(Rec, Control);
2602
2590
  function Rec(options) {
2603
2591
  var _this;
2604
2592
  var _options_props;
2605
- _this = Control.call(this, _extends$r({}, options, {
2593
+ _this = Control.call(this, _extends$s({}, options, {
2606
2594
  tagName: 'div',
2607
2595
  controlType: 'block',
2608
2596
  classNameSuffix: 'rec'
@@ -3942,7 +3930,7 @@ var en = {
3942
3930
  voice: voice
3943
3931
  };
3944
3932
 
3945
- function _inherits$q(subClass, superClass) {
3933
+ function _inherits$r(subClass, superClass) {
3946
3934
  if (typeof superClass !== "function" && superClass !== null) {
3947
3935
  throw new TypeError("Super expression must either be null or a function");
3948
3936
  }
@@ -3953,20 +3941,20 @@ function _inherits$q(subClass, superClass) {
3953
3941
  configurable: true
3954
3942
  }
3955
3943
  });
3956
- if (superClass) _set_prototype_of$q(subClass, superClass);
3944
+ if (superClass) _set_prototype_of$r(subClass, superClass);
3957
3945
  }
3958
- function _set_prototype_of$q(o, p) {
3959
- _set_prototype_of$q = Object.setPrototypeOf || function setPrototypeOf(o, p) {
3946
+ function _set_prototype_of$r(o, p) {
3947
+ _set_prototype_of$r = Object.setPrototypeOf || function setPrototypeOf(o, p) {
3960
3948
  o.__proto__ = p;
3961
3949
  return o;
3962
3950
  };
3963
- return _set_prototype_of$q(o, p);
3951
+ return _set_prototype_of$r(o, p);
3964
3952
  }
3965
3953
  /**
3966
3954
  * 截图控件
3967
3955
  * @category Content
3968
3956
  */ var Content = /*#__PURE__*/ function(EventEmitter) {
3969
- _inherits$q(Content, EventEmitter);
3957
+ _inherits$r(Content, EventEmitter);
3970
3958
  function Content(options) {
3971
3959
  var _this;
3972
3960
  _this = EventEmitter.call(this) || this, _this._scaleMode = 0, _this._cleanUpResizeObserver = null, _this._originWidth = 0, _this._originHeight = 0, _this._width = 0, _this._height = 0;
@@ -4081,21 +4069,17 @@ function _set_prototype_of$q(o, p) {
4081
4069
  return Content;
4082
4070
  }(EventEmitter);
4083
4071
 
4084
- function _extends$q() {
4085
- _extends$q = Object.assign || function(target) {
4072
+ function _extends$r() {
4073
+ _extends$r = Object.assign || function assign(target) {
4086
4074
  for(var i = 1; i < arguments.length; i++){
4087
4075
  var source = arguments[i];
4088
- for(var key in source){
4089
- if (Object.prototype.hasOwnProperty.call(source, key)) {
4090
- target[key] = source[key];
4091
- }
4092
- }
4076
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
4093
4077
  }
4094
4078
  return target;
4095
4079
  };
4096
- return _extends$q.apply(this, arguments);
4080
+ return _extends$r.apply(this, arguments);
4097
4081
  }
4098
- function _inherits$p(subClass, superClass) {
4082
+ function _inherits$q(subClass, superClass) {
4099
4083
  if (typeof superClass !== "function" && superClass !== null) {
4100
4084
  throw new TypeError("Super expression must either be null or a function");
4101
4085
  }
@@ -4106,23 +4090,23 @@ function _inherits$p(subClass, superClass) {
4106
4090
  configurable: true
4107
4091
  }
4108
4092
  });
4109
- if (superClass) _set_prototype_of$p(subClass, superClass);
4093
+ if (superClass) _set_prototype_of$q(subClass, superClass);
4110
4094
  }
4111
- function _set_prototype_of$p(o, p) {
4112
- _set_prototype_of$p = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4095
+ function _set_prototype_of$q(o, p) {
4096
+ _set_prototype_of$q = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4113
4097
  o.__proto__ = p;
4114
4098
  return o;
4115
4099
  };
4116
- return _set_prototype_of$p(o, p);
4100
+ return _set_prototype_of$q(o, p);
4117
4101
  }
4118
4102
  /**
4119
4103
  * 更多控件
4120
4104
  * @category Control
4121
4105
  */ var More = /*#__PURE__*/ function(Control) {
4122
- _inherits$p(More, Control);
4106
+ _inherits$q(More, Control);
4123
4107
  function More(options) {
4124
4108
  var _this;
4125
- _this = Control.call(this, _extends$q({}, options, {
4109
+ _this = Control.call(this, _extends$r({}, options, {
4126
4110
  tagName: 'span',
4127
4111
  controlType: 'button',
4128
4112
  classNameSuffix: 'more'
@@ -4141,7 +4125,7 @@ function _set_prototype_of$p(o, p) {
4141
4125
  title: (_this_locale1 = this.locale) == null ? void 0 : _this_locale1.BTN_MORE
4142
4126
  });
4143
4127
  this.picker = new Picker(this.$container, {
4144
- getPopupContainer: function() {
4128
+ getPopupContainer: function getPopupContainer() {
4145
4129
  return _this.$container;
4146
4130
  },
4147
4131
  trigger: Utils.isMobile ? 'click' : 'hover',
@@ -4404,14 +4388,22 @@ function debounce(func, wait) {
4404
4388
  // 回放片段
4405
4389
  // =======================================================
4406
4390
  theme.on(EVENTS.setAllDayRecTimes, function(list) {
4407
- var _theme_controls_timeLineControl_emit, _theme_controls_timeLineControl, _theme_controls, _theme_controls_recListControl_emit, _theme_controls_recListControl, _theme_controls1;
4391
+ var _theme_controls_timeLineControl_emit, _theme_controls_timeLineControl, _theme_controls, _theme_controls_recListControl_emit, _theme_controls_recListControl, _theme_controls1, // 播放区间存在时录像列表已在服务端侧按区间查询,这里无需再过滤
4392
+ _theme_controls_segmentProgressControl_emit, _theme_controls_segmentProgressControl, _theme_controls2;
4408
4393
  (_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);
4409
4394
  (_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);
4395
+ (_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);
4410
4396
  });
4411
4397
  theme.on(EVENTS.getOSDTime, function(time) {
4412
- var _theme_controls_timeLineControl_emit, _theme_controls_timeLineControl, _theme_controls, _theme_controls_recListControl_emit, _theme_controls_recListControl, _theme_controls1;
4398
+ 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;
4413
4399
  (_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);
4414
4400
  (_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);
4401
+ (_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);
4402
+ });
4403
+ // 区间播放结束:进度条需要把完成度补到末端(OSD 通常停在末端之前若干秒)
4404
+ theme.on(EVENTS.playbackEnd, function(data) {
4405
+ var _theme_controls_segmentProgressControl_emit, _theme_controls_segmentProgressControl, _theme_controls;
4406
+ (_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);
4415
4407
  });
4416
4408
  // =======================================================
4417
4409
  // 全屏
@@ -4457,7 +4449,7 @@ function debounce(func, wait) {
4457
4449
  *
4458
4450
  * @param theme - Theme
4459
4451
  */ function _controlEventemitter(theme) {
4460
- 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;
4452
+ 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;
4461
4453
  // Controls
4462
4454
  if (theme._recFooter) {
4463
4455
  theme._recFooter.on(EVENTS.theme.recFooterDestroy, function() {
@@ -4607,8 +4599,14 @@ function debounce(func, wait) {
4607
4599
  }
4608
4600
  // 播放地址切换后同步 Live/RecDropdown 激活状态
4609
4601
  // changePlayUrl 后 urlInfo 已更新,firstFrameDisplay 表示新地址播放成功
4602
+ // 注意:_controlEventemitter 每次 _renderTheme 都会执行,这里的监听挂在 theme 上,
4603
+ // 必须先移除上一次的引用,避免 changeTheme 反复切换导致监听器无限累积(内存泄漏 + 重复执行)。
4604
+ if (theme._onFirstFrameSync) {
4605
+ theme.removeListener(EVENTS.firstFrameDisplay, theme._onFirstFrameSync);
4606
+ theme._onFirstFrameSync = null;
4607
+ }
4610
4608
  if (((_theme_controls11 = theme.controls) == null ? void 0 : _theme_controls11.liveControl) || ((_theme_controls12 = theme.controls) == null ? void 0 : _theme_controls12.recDropdownControl)) {
4611
- theme.on(EVENTS.firstFrameDisplay, function() {
4609
+ theme._onFirstFrameSync = function() {
4612
4610
  var _theme_controls, _theme_controls1;
4613
4611
  var urlInfo = theme.urlInfo;
4614
4612
  if ((_theme_controls = theme.controls) == null ? void 0 : _theme_controls.liveControl) {
@@ -4617,7 +4615,8 @@ function debounce(func, wait) {
4617
4615
  if ((_theme_controls1 = theme.controls) == null ? void 0 : _theme_controls1.recDropdownControl) {
4618
4616
  theme.controls.recDropdownControl._syncActiveByUrlInfo(urlInfo);
4619
4617
  }
4620
- });
4618
+ };
4619
+ theme.on(EVENTS.firstFrameDisplay, theme._onFirstFrameSync);
4621
4620
  }
4622
4621
  // 缩放控件
4623
4622
  if ((_theme_controls13 = theme.controls) == null ? void 0 : _theme_controls13.zoomControl) {
@@ -4715,8 +4714,15 @@ function debounce(func, wait) {
4715
4714
  theme.emit(EVENTS.control.recDestroy);
4716
4715
  });
4717
4716
  }
4717
+ // 回放片段进度条控件:拖动/点击后与时间轴共用同一条 seek 通道,
4718
+ // 这里必须把控件实例上的事件中继到 theme,否则 SDK 层收不到(拖动看似生效但不会 seek)
4719
+ if ((_theme_controls21 = theme.controls) == null ? void 0 : _theme_controls21.segmentProgressControl) {
4720
+ theme.controls.segmentProgressControl.on(EVENTS.control.timeLineChange, function(date) {
4721
+ theme.emit(EVENTS.control.timeLineChange, date);
4722
+ });
4723
+ }
4718
4724
  // 时间轴控件
4719
- if ((_theme_controls21 = theme.controls) == null ? void 0 : _theme_controls21.timeLineControl) {
4725
+ if ((_theme_controls22 = theme.controls) == null ? void 0 : _theme_controls22.timeLineControl) {
4720
4726
  theme.controls.timeLineControl.on(EVENTS.control.timeLineChange, function(date) {
4721
4727
  theme.emit(EVENTS.control.timeLineChange, date);
4722
4728
  });
@@ -4746,7 +4752,7 @@ function debounce(func, wait) {
4746
4752
  });
4747
4753
  }
4748
4754
  // 日历控件
4749
- if ((_theme_controls22 = theme.controls) == null ? void 0 : _theme_controls22.dateControl) {
4755
+ if ((_theme_controls23 = theme.controls) == null ? void 0 : _theme_controls23.dateControl) {
4750
4756
  theme.controls.dateControl.on(EVENTS.control.datePanelOpenChange, function(open, date) {
4751
4757
  theme.emit(EVENTS.control.datePanelOpenChange, open, date);
4752
4758
  });
@@ -4758,7 +4764,7 @@ function debounce(func, wait) {
4758
4764
  });
4759
4765
  }
4760
4766
  // 时间控件
4761
- if ((_theme_controls23 = theme.controls) == null ? void 0 : _theme_controls23.timeControl) {
4767
+ if ((_theme_controls24 = theme.controls) == null ? void 0 : _theme_controls24.timeControl) {
4762
4768
  theme.controls.timeControl.on(EVENTS.control.timePanelOpenChange, function(open, time) {
4763
4769
  theme.emit(EVENTS.control.timePanelOpenChange, open, time);
4764
4770
  });
@@ -4767,7 +4773,7 @@ function debounce(func, wait) {
4767
4773
  });
4768
4774
  }
4769
4775
  // 回放片段列表
4770
- if ((_theme_controls24 = theme.controls) == null ? void 0 : _theme_controls24.recListControl) {
4776
+ if ((_theme_controls25 = theme.controls) == null ? void 0 : _theme_controls25.recListControl) {
4771
4777
  theme.controls.recListControl.on(EVENTS.control.recListCardClick, function(section, index, sections) {
4772
4778
  theme.emit(EVENTS.control.recListCardClick, section, index, sections);
4773
4779
  });
@@ -4857,21 +4863,17 @@ function _create_class$5(Constructor, protoProps, staticProps) {
4857
4863
  if (protoProps) _defineProperties$5(Constructor.prototype, protoProps);
4858
4864
  return Constructor;
4859
4865
  }
4860
- function _extends$p() {
4861
- _extends$p = Object.assign || function(target) {
4866
+ function _extends$q() {
4867
+ _extends$q = Object.assign || function assign(target) {
4862
4868
  for(var i = 1; i < arguments.length; i++){
4863
4869
  var source = arguments[i];
4864
- for(var key in source){
4865
- if (Object.prototype.hasOwnProperty.call(source, key)) {
4866
- target[key] = source[key];
4867
- }
4868
- }
4870
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
4869
4871
  }
4870
4872
  return target;
4871
4873
  };
4872
- return _extends$p.apply(this, arguments);
4874
+ return _extends$q.apply(this, arguments);
4873
4875
  }
4874
- function _inherits$o(subClass, superClass) {
4876
+ function _inherits$p(subClass, superClass) {
4875
4877
  if (typeof superClass !== "function" && superClass !== null) {
4876
4878
  throw new TypeError("Super expression must either be null or a function");
4877
4879
  }
@@ -4882,14 +4884,14 @@ function _inherits$o(subClass, superClass) {
4882
4884
  configurable: true
4883
4885
  }
4884
4886
  });
4885
- if (superClass) _set_prototype_of$o(subClass, superClass);
4887
+ if (superClass) _set_prototype_of$p(subClass, superClass);
4886
4888
  }
4887
- function _set_prototype_of$o(o, p) {
4888
- _set_prototype_of$o = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4889
+ function _set_prototype_of$p(o, p) {
4890
+ _set_prototype_of$p = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4889
4891
  o.__proto__ = p;
4890
4892
  return o;
4891
4893
  };
4892
- return _set_prototype_of$o(o, p);
4894
+ return _set_prototype_of$p(o, p);
4893
4895
  }
4894
4896
  var ZOOM_DEFAULT_OPTIONS = {
4895
4897
  open: false,
@@ -4899,10 +4901,10 @@ var ZOOM_DEFAULT_OPTIONS = {
4899
4901
  * 电子放大控件
4900
4902
  * @category Control
4901
4903
  */ var Zoom = /*#__PURE__*/ function(Control) {
4902
- _inherits$o(Zoom, Control);
4904
+ _inherits$p(Zoom, Control);
4903
4905
  function Zoom(options) {
4904
4906
  var _this;
4905
- _this = Control.call(this, _extends$p({}, options, {
4907
+ _this = Control.call(this, _extends$q({}, options, {
4906
4908
  tagName: 'span',
4907
4909
  controlType: 'button',
4908
4910
  classNameSuffix: 'zoom'
@@ -4944,14 +4946,14 @@ var ZOOM_DEFAULT_OPTIONS = {
4944
4946
  showPlus: true,
4945
4947
  showPercent: true,
4946
4948
  isRotated: this._isRotated,
4947
- onChange: function(value, percent, range) {
4949
+ onChange: function onChange(value, percent, range) {
4948
4950
  if (value !== _this._value) {
4949
4951
  _this._value = value;
4950
4952
  _this._options.onChange == null ? void 0 : _this._options.onChange.call(_this._options, value, percent, range);
4951
4953
  _this.emit(EVENTS.control.zoomChange, value, percent, range);
4952
4954
  }
4953
4955
  },
4954
- renderText: function(value) {
4956
+ renderText: function renderText(value) {
4955
4957
  return "" + value + "X";
4956
4958
  }
4957
4959
  });
@@ -5030,31 +5032,27 @@ var ZOOM_DEFAULT_OPTIONS = {
5030
5032
  return Zoom;
5031
5033
  }(Control);
5032
5034
 
5033
- function _extends$o() {
5034
- _extends$o = Object.assign || function(target) {
5035
+ function _extends$p() {
5036
+ _extends$p = Object.assign || function assign(target) {
5035
5037
  for(var i = 1; i < arguments.length; i++){
5036
5038
  var source = arguments[i];
5037
- for(var key in source){
5038
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5039
- target[key] = source[key];
5040
- }
5041
- }
5039
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
5042
5040
  }
5043
5041
  return target;
5044
5042
  };
5045
- return _extends$o.apply(this, arguments);
5043
+ return _extends$p.apply(this, arguments);
5046
5044
  }
5047
5045
  function __zoom(theme, container, options) {
5048
- theme.zoomUtil = new Zoom$1(container, _extends$o({}, options || {}, {
5046
+ theme.zoomUtil = new Zoom$1(container, _extends$p({}, options || {}, {
5049
5047
  min: 1,
5050
- onChange: function(zoom, reset) {
5048
+ onChange: function onChange(zoom, reset) {
5051
5049
  if (zoom !== theme._zoom) {
5052
5050
  var _options_onChange;
5053
5051
  theme.zoom = zoom;
5054
5052
  options == null ? void 0 : (_options_onChange = options.onChange) == null ? void 0 : _options_onChange.call(options, zoom, reset);
5055
5053
  }
5056
5054
  },
5057
- onTranslateChange: function(pos) {
5055
+ onTranslateChange: function onTranslateChange(pos) {
5058
5056
  var _options_onTranslateChange;
5059
5057
  theme.emit(EVENTS.zoomTranslateChange, pos);
5060
5058
  options == null ? void 0 : (_options_onTranslateChange = options.onTranslateChange) == null ? void 0 : _options_onTranslateChange.call(options, pos);
@@ -5071,11 +5069,8 @@ function asyncGeneratorStep$6(gen, resolve, reject, _next, _throw, key, arg) {
5071
5069
  reject(error);
5072
5070
  return;
5073
5071
  }
5074
- if (info.done) {
5075
- resolve(value);
5076
- } else {
5077
- Promise.resolve(value).then(_next, _throw);
5078
- }
5072
+ if (info.done) resolve(value);
5073
+ else Promise.resolve(value).then(_next, _throw);
5079
5074
  }
5080
5075
  function _async_to_generator$6(fn) {
5081
5076
  return function() {
@@ -5101,9 +5096,17 @@ function _ts_generator$6(thisArg, body) {
5101
5096
  },
5102
5097
  trys: [],
5103
5098
  ops: []
5104
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
5105
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
5106
- return this;
5099
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
5100
+ return d(g, "next", {
5101
+ value: verb(0)
5102
+ }), d(g, "throw", {
5103
+ value: verb(1)
5104
+ }), d(g, "return", {
5105
+ value: verb(2)
5106
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
5107
+ value: function() {
5108
+ return this;
5109
+ }
5107
5110
  }), g;
5108
5111
  function verb(n) {
5109
5112
  return function(v) {
@@ -5190,15 +5193,20 @@ function _ts_generator$6(thisArg, body) {
5190
5193
  * @returns
5191
5194
  */ function getThemeDataByTemplate(theme, id) {
5192
5195
  return _async_to_generator$6(function() {
5193
- var _theme_options_token_httpToken, _theme_options_token, url;
5196
+ var _theme_options_token_httpToken, _theme_options_token, // 中止上一个在途请求,并为本次请求创建可中止的信号(destroy 时会 abort)
5197
+ _theme__templateAbortController, url, controller;
5194
5198
  return _ts_generator$6(this, function(_state) {
5195
5199
  switch(_state.label){
5196
5200
  case 0:
5197
5201
  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;
5202
+ (_theme__templateAbortController = theme._templateAbortController) == null ? void 0 : _theme__templateAbortController.abort();
5203
+ controller = new AbortController();
5204
+ theme._templateAbortController = controller;
5198
5205
  return [
5199
5206
  4,
5200
5207
  fetch(url, {
5201
- method: 'GET'
5208
+ method: 'GET',
5209
+ signal: controller == null ? void 0 : controller.signal
5202
5210
  }).then(function(response) {
5203
5211
  return _async_to_generator$6(function() {
5204
5212
  return _ts_generator$6(this, function(_state) {
@@ -5254,11 +5262,8 @@ function asyncGeneratorStep$5(gen, resolve, reject, _next, _throw, key, arg) {
5254
5262
  reject(error);
5255
5263
  return;
5256
5264
  }
5257
- if (info.done) {
5258
- resolve(value);
5259
- } else {
5260
- Promise.resolve(value).then(_next, _throw);
5261
- }
5265
+ if (info.done) resolve(value);
5266
+ else Promise.resolve(value).then(_next, _throw);
5262
5267
  }
5263
5268
  function _async_to_generator$5(fn) {
5264
5269
  return function() {
@@ -5275,19 +5280,15 @@ function _async_to_generator$5(fn) {
5275
5280
  });
5276
5281
  };
5277
5282
  }
5278
- function _extends$n() {
5279
- _extends$n = Object.assign || function(target) {
5283
+ function _extends$o() {
5284
+ _extends$o = Object.assign || function assign(target) {
5280
5285
  for(var i = 1; i < arguments.length; i++){
5281
5286
  var source = arguments[i];
5282
- for(var key in source){
5283
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5284
- target[key] = source[key];
5285
- }
5286
- }
5287
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
5287
5288
  }
5288
5289
  return target;
5289
5290
  };
5290
- return _extends$n.apply(this, arguments);
5291
+ return _extends$o.apply(this, arguments);
5291
5292
  }
5292
5293
  function _ts_generator$5(thisArg, body) {
5293
5294
  var f, y, t, _ = {
@@ -5298,9 +5299,17 @@ function _ts_generator$5(thisArg, body) {
5298
5299
  },
5299
5300
  trys: [],
5300
5301
  ops: []
5301
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
5302
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
5303
- return this;
5302
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
5303
+ return d(g, "next", {
5304
+ value: verb(0)
5305
+ }), d(g, "throw", {
5306
+ value: verb(1)
5307
+ }), d(g, "return", {
5308
+ value: verb(2)
5309
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
5310
+ value: function() {
5311
+ return this;
5312
+ }
5304
5313
  }), g;
5305
5314
  function verb(n) {
5306
5315
  return function(v) {
@@ -5393,10 +5402,10 @@ function _ts_generator$5(thisArg, body) {
5393
5402
  * @param {IThemeData} themeData 主题数据
5394
5403
  * @returns
5395
5404
  */ function _filterControls(themeData) {
5405
+ var _ref;
5396
5406
  var _themeData_header, _themeData_footer;
5397
5407
  var data = {};
5398
- var _themeData_autoFocus;
5399
- data.autoFocus = (_themeData_autoFocus = themeData == null ? void 0 : themeData.autoFocus) != null ? _themeData_autoFocus : 3; // 3s
5408
+ data.autoFocus = (_ref = themeData == null ? void 0 : themeData.autoFocus) != null ? _ref : 3; // 3s
5400
5409
  data.poster = (themeData == null ? void 0 : themeData.poster) || ''; //
5401
5410
  var deviceControls = [];
5402
5411
  var recControls = [];
@@ -5415,7 +5424,7 @@ function _ts_generator$5(thisArg, body) {
5415
5424
  }
5416
5425
  if (item.isrender !== 0 && REC_GROUP.includes(item.iconId)) {
5417
5426
  // TODO: 因为回放是一组, 位置以第一个位置为准
5418
- recControls.push(recControls[0] ? _extends$n({}, item, {
5427
+ recControls.push(recControls[0] ? _extends$o({}, item, {
5419
5428
  part: recControls[0].part
5420
5429
  }) : item);
5421
5430
  return false;
@@ -5438,7 +5447,7 @@ function _ts_generator$5(thisArg, body) {
5438
5447
  }
5439
5448
  if (item.isrender !== 0 && REC_GROUP.includes(item.iconId)) {
5440
5449
  // TODO: 因为回放是一组, 位置以第一个位置为准
5441
- recControls.push(recControls[0] ? _extends$n({}, item, {
5450
+ recControls.push(recControls[0] ? _extends$o({}, item, {
5442
5451
  part: recControls[0].part
5443
5452
  }) : item);
5444
5453
  return false;
@@ -5502,7 +5511,7 @@ function _filterLeftRightControls(btnList) {
5502
5511
  * @returns
5503
5512
  */ function getThemeData(theme, data) {
5504
5513
  return _async_to_generator$5(function() {
5505
- var themeData, _theme_logger, template;
5514
+ var themeData, _theme_logger, template, e;
5506
5515
  return _ts_generator$5(this, function(_state) {
5507
5516
  switch(_state.label){
5508
5517
  case 0:
@@ -5548,13 +5557,23 @@ function _filterLeftRightControls(btnList) {
5548
5557
  2,
5549
5558
  template
5550
5559
  ];
5560
+ // 请求返回前已销毁则静默返回,不在已释放的 theme 上派发事件
5561
+ if (theme.destroyed) return [
5562
+ 2,
5563
+ null
5564
+ ];
5551
5565
  theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED'), 'themeError');
5552
5566
  return [
5553
5567
  2,
5554
5568
  null
5555
5569
  ];
5556
5570
  case 4:
5557
- _state.sent();
5571
+ e = _state.sent();
5572
+ // 请求被中止(destroy/重新渲染)或已销毁:静默返回
5573
+ if (theme.destroyed || (e == null ? void 0 : e.name) === 'AbortError') return [
5574
+ 2,
5575
+ null
5576
+ ];
5558
5577
  theme.emit(EVENTS.message, theme.i18n.t('FETCH_THEME_FAILED'), 'themeError');
5559
5578
  return [
5560
5579
  2,
@@ -5690,21 +5709,17 @@ function rgbOrHexToRgbaWithOpacity(color, opacity) {
5690
5709
  return Component;
5691
5710
  }();
5692
5711
 
5693
- function _extends$m() {
5694
- _extends$m = Object.assign || function(target) {
5712
+ function _extends$n() {
5713
+ _extends$n = Object.assign || function assign(target) {
5695
5714
  for(var i = 1; i < arguments.length; i++){
5696
5715
  var source = arguments[i];
5697
- for(var key in source){
5698
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5699
- target[key] = source[key];
5700
- }
5701
- }
5716
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
5702
5717
  }
5703
5718
  return target;
5704
5719
  };
5705
- return _extends$m.apply(this, arguments);
5720
+ return _extends$n.apply(this, arguments);
5706
5721
  }
5707
- function _inherits$n(subClass, superClass) {
5722
+ function _inherits$o(subClass, superClass) {
5708
5723
  if (typeof superClass !== "function" && superClass !== null) {
5709
5724
  throw new TypeError("Super expression must either be null or a function");
5710
5725
  }
@@ -5715,41 +5730,37 @@ function _inherits$n(subClass, superClass) {
5715
5730
  configurable: true
5716
5731
  }
5717
5732
  });
5718
- if (superClass) _set_prototype_of$n(subClass, superClass);
5733
+ if (superClass) _set_prototype_of$o(subClass, superClass);
5719
5734
  }
5720
- function _set_prototype_of$n(o, p) {
5721
- _set_prototype_of$n = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5735
+ function _set_prototype_of$o(o, p) {
5736
+ _set_prototype_of$o = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5722
5737
  o.__proto__ = p;
5723
5738
  return o;
5724
5739
  };
5725
- return _set_prototype_of$n(o, p);
5740
+ return _set_prototype_of$o(o, p);
5726
5741
  }
5727
5742
  var Footer = /*#__PURE__*/ function(Component) {
5728
- _inherits$n(Footer, Component);
5743
+ _inherits$o(Footer, Component);
5729
5744
  function Footer(options) {
5730
5745
  if (options === void 0) options = {};
5731
- return Component.call(this, _extends$m({}, options, {
5746
+ return Component.call(this, _extends$n({}, options, {
5732
5747
  cType: 'footer'
5733
5748
  })) || this;
5734
5749
  }
5735
5750
  return Footer;
5736
5751
  }(Component);
5737
5752
 
5738
- function _extends$l() {
5739
- _extends$l = Object.assign || function(target) {
5753
+ function _extends$m() {
5754
+ _extends$m = Object.assign || function assign(target) {
5740
5755
  for(var i = 1; i < arguments.length; i++){
5741
5756
  var source = arguments[i];
5742
- for(var key in source){
5743
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5744
- target[key] = source[key];
5745
- }
5746
- }
5757
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
5747
5758
  }
5748
5759
  return target;
5749
5760
  };
5750
- return _extends$l.apply(this, arguments);
5761
+ return _extends$m.apply(this, arguments);
5751
5762
  }
5752
- function _inherits$m(subClass, superClass) {
5763
+ function _inherits$n(subClass, superClass) {
5753
5764
  if (typeof superClass !== "function" && superClass !== null) {
5754
5765
  throw new TypeError("Super expression must either be null or a function");
5755
5766
  }
@@ -5760,20 +5771,20 @@ function _inherits$m(subClass, superClass) {
5760
5771
  configurable: true
5761
5772
  }
5762
5773
  });
5763
- if (superClass) _set_prototype_of$m(subClass, superClass);
5774
+ if (superClass) _set_prototype_of$n(subClass, superClass);
5764
5775
  }
5765
- function _set_prototype_of$m(o, p) {
5766
- _set_prototype_of$m = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5776
+ function _set_prototype_of$n(o, p) {
5777
+ _set_prototype_of$n = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5767
5778
  o.__proto__ = p;
5768
5779
  return o;
5769
5780
  };
5770
- return _set_prototype_of$m(o, p);
5781
+ return _set_prototype_of$n(o, p);
5771
5782
  }
5772
5783
  var Header = /*#__PURE__*/ function(Component) {
5773
- _inherits$m(Header, Component);
5784
+ _inherits$n(Header, Component);
5774
5785
  function Header(options) {
5775
5786
  if (options === void 0) options = {};
5776
- return Component.call(this, _extends$l({}, options, {
5787
+ return Component.call(this, _extends$m({}, options, {
5777
5788
  cType: 'header'
5778
5789
  })) || this;
5779
5790
  }
@@ -5795,13 +5806,13 @@ function interactiveHF($container, second, callback) {
5795
5806
  var _alwaysDisplay = false;
5796
5807
  var _$header = $container.querySelector("." + PREFIX_CLASS + "-header");
5797
5808
  var _$footer = $container.querySelector("." + PREFIX_CLASS + "-footer");
5798
- var _clearTimeout = function() {
5809
+ var _clearTimeout = function _clearTimeout() {
5799
5810
  if (_timer) {
5800
5811
  clearTimeout(_timer);
5801
5812
  _timer = null;
5802
5813
  }
5803
5814
  };
5804
- var _show = function() {
5815
+ var _show = function _show() {
5805
5816
  _clearTimeout == null ? void 0 : _clearTimeout();
5806
5817
  _$header == null ? void 0 : _$header.classList.remove("" + PREFIX_CLASS + "-hide-transition");
5807
5818
  _$footer == null ? void 0 : _$footer.classList.remove("" + PREFIX_CLASS + "-hide-transition");
@@ -5811,7 +5822,7 @@ function interactiveHF($container, second, callback) {
5811
5822
  }
5812
5823
  _open = true;
5813
5824
  };
5814
- var _hide = function() {
5825
+ var _hide = function _hide() {
5815
5826
  if (_alwaysDisplay) {
5816
5827
  return;
5817
5828
  }
@@ -5826,27 +5837,27 @@ function interactiveHF($container, second, callback) {
5826
5837
  }
5827
5838
  _open = false;
5828
5839
  };
5829
- var _setTimeoutShow = function() {
5840
+ var _setTimeoutShow = function _setTimeoutShow() {
5830
5841
  _show == null ? void 0 : _show();
5831
5842
  _timer = setTimeout(function() {
5832
5843
  _clearTimeout == null ? void 0 : _clearTimeout();
5833
5844
  _hide == null ? void 0 : _hide();
5834
5845
  }, second);
5835
5846
  };
5836
- var _headerFooterMousemove = function(e) {
5847
+ var _headerFooterMousemove = function _headerFooterMousemove(e) {
5837
5848
  var // 鼠标在header footer 移动, 不允许消失及不要冒泡
5838
5849
  _e_stopPropagation;
5839
5850
  e == null ? void 0 : (_e_stopPropagation = e.stopPropagation) == null ? void 0 : _e_stopPropagation.call(e);
5840
5851
  _clearTimeout == null ? void 0 : _clearTimeout();
5841
5852
  };
5842
- var _touchStart = function() {
5853
+ var _touchStart = function _touchStart() {
5843
5854
  if (_open) {
5844
5855
  _hide == null ? void 0 : _hide();
5845
5856
  } else {
5846
5857
  _setTimeoutShow == null ? void 0 : _setTimeoutShow();
5847
5858
  }
5848
5859
  };
5849
- var _headerFooterTouchStart = function(e) {
5860
+ var _headerFooterTouchStart = function _headerFooterTouchStart(e) {
5850
5861
  var // 移动端特殊处理, 点击 header footer不允许消失及不要冒泡
5851
5862
  _e_stopPropagation;
5852
5863
  e == null ? void 0 : (_e_stopPropagation = e.stopPropagation) == null ? void 0 : _e_stopPropagation.call(e);
@@ -5883,7 +5894,7 @@ function interactiveHF($container, second, callback) {
5883
5894
  }
5884
5895
  /**
5885
5896
  * 销毁
5886
- */ var cleanup = function() {
5897
+ */ var cleanup = function cleanup() {
5887
5898
  if ($container) {
5888
5899
  if (Utils.isMobile && _touchStart) {
5889
5900
  var eventName = "click";
@@ -5927,11 +5938,11 @@ function interactiveHF($container, second, callback) {
5927
5938
  };
5928
5939
  return {
5929
5940
  cleanup: cleanup,
5930
- clearTimeout: function() {
5941
+ clearTimeout: function clearTimeout1() {
5931
5942
  _clearTimeout == null ? void 0 : _clearTimeout();
5932
5943
  _alwaysDisplay = true;
5933
5944
  },
5934
- setTimeoutShow: function() {
5945
+ setTimeoutShow: function setTimeoutShow() {
5935
5946
  _setTimeoutShow == null ? void 0 : _setTimeoutShow();
5936
5947
  _alwaysDisplay = false;
5937
5948
  },
@@ -5939,21 +5950,17 @@ function interactiveHF($container, second, callback) {
5939
5950
  };
5940
5951
  }
5941
5952
 
5942
- function _extends$k() {
5943
- _extends$k = Object.assign || function(target) {
5953
+ function _extends$l() {
5954
+ _extends$l = Object.assign || function assign(target) {
5944
5955
  for(var i = 1; i < arguments.length; i++){
5945
5956
  var source = arguments[i];
5946
- for(var key in source){
5947
- if (Object.prototype.hasOwnProperty.call(source, key)) {
5948
- target[key] = source[key];
5949
- }
5950
- }
5957
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
5951
5958
  }
5952
5959
  return target;
5953
5960
  };
5954
- return _extends$k.apply(this, arguments);
5961
+ return _extends$l.apply(this, arguments);
5955
5962
  }
5956
- function _inherits$l(subClass, superClass) {
5963
+ function _inherits$m(subClass, superClass) {
5957
5964
  if (typeof superClass !== "function" && superClass !== null) {
5958
5965
  throw new TypeError("Super expression must either be null or a function");
5959
5966
  }
@@ -5964,23 +5971,23 @@ function _inherits$l(subClass, superClass) {
5964
5971
  configurable: true
5965
5972
  }
5966
5973
  });
5967
- if (superClass) _set_prototype_of$l(subClass, superClass);
5974
+ if (superClass) _set_prototype_of$m(subClass, superClass);
5968
5975
  }
5969
- function _set_prototype_of$l(o, p) {
5970
- _set_prototype_of$l = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5976
+ function _set_prototype_of$m(o, p) {
5977
+ _set_prototype_of$m = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5971
5978
  o.__proto__ = p;
5972
5979
  return o;
5973
5980
  };
5974
- return _set_prototype_of$l(o, p);
5981
+ return _set_prototype_of$m(o, p);
5975
5982
  }
5976
5983
  /**
5977
5984
  * 全局全屏
5978
5985
  * 主题和播放器不提供全局全屏的api, 如果开发者想要可以参考这个组件自己实现
5979
5986
  * @category Control
5980
5987
  */ var GlobalFullscreen = /*#__PURE__*/ function(Fullscreen) {
5981
- _inherits$l(GlobalFullscreen, Fullscreen);
5988
+ _inherits$m(GlobalFullscreen, Fullscreen);
5982
5989
  function GlobalFullscreen(options) {
5983
- return Fullscreen.call(this, _extends$k({}, options, {
5990
+ return Fullscreen.call(this, _extends$l({}, options, {
5984
5991
  controlType: 'button',
5985
5992
  classNameSuffix: 'global-fullscreen'
5986
5993
  })) || this;
@@ -6011,21 +6018,17 @@ function _set_prototype_of$l(o, p) {
6011
6018
  return GlobalFullscreen;
6012
6019
  }(Fullscreen);
6013
6020
 
6014
- function _extends$j() {
6015
- _extends$j = Object.assign || function(target) {
6021
+ function _extends$k() {
6022
+ _extends$k = Object.assign || function assign(target) {
6016
6023
  for(var i = 1; i < arguments.length; i++){
6017
6024
  var source = arguments[i];
6018
- for(var key in source){
6019
- if (Object.prototype.hasOwnProperty.call(source, key)) {
6020
- target[key] = source[key];
6021
- }
6022
- }
6025
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
6023
6026
  }
6024
6027
  return target;
6025
6028
  };
6026
- return _extends$j.apply(this, arguments);
6029
+ return _extends$k.apply(this, arguments);
6027
6030
  }
6028
- function _inherits$k(subClass, superClass) {
6031
+ function _inherits$l(subClass, superClass) {
6029
6032
  if (typeof superClass !== "function" && superClass !== null) {
6030
6033
  throw new TypeError("Super expression must either be null or a function");
6031
6034
  }
@@ -6036,23 +6039,23 @@ function _inherits$k(subClass, superClass) {
6036
6039
  configurable: true
6037
6040
  }
6038
6041
  });
6039
- if (superClass) _set_prototype_of$k(subClass, superClass);
6042
+ if (superClass) _set_prototype_of$l(subClass, superClass);
6040
6043
  }
6041
- function _set_prototype_of$k(o, p) {
6042
- _set_prototype_of$k = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6044
+ function _set_prototype_of$l(o, p) {
6045
+ _set_prototype_of$l = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6043
6046
  o.__proto__ = p;
6044
6047
  return o;
6045
6048
  };
6046
- return _set_prototype_of$k(o, p);
6049
+ return _set_prototype_of$l(o, p);
6047
6050
  }
6048
6051
  /**
6049
6052
  * 截图控件,点击后会触发截图事件, 截图数据会通过 onCapture 回调函数返回
6050
6053
  * @category Control
6051
6054
  */ var CapturePicture = /*#__PURE__*/ function(Control) {
6052
- _inherits$k(CapturePicture, Control);
6055
+ _inherits$l(CapturePicture, Control);
6053
6056
  function CapturePicture(options) {
6054
6057
  var _this;
6055
- _this = Control.call(this, _extends$j({}, options, {
6058
+ _this = Control.call(this, _extends$k({}, options, {
6056
6059
  tagName: 'span',
6057
6060
  classNameSuffix: 'capture-picture'
6058
6061
  })) || this, _this._timer = null;
@@ -6082,8 +6085,8 @@ function _set_prototype_of$k(o, p) {
6082
6085
  * 点击 Control 会触发
6083
6086
  */ _proto._onControlClick = function _onControlClick(e) {
6084
6087
  var _this = this;
6085
- this.active = true;
6086
6088
  var _this_options_type, _this_options_cloudRecUpload;
6089
+ this.active = true;
6087
6090
  this.emit(EVENTS.control.capturePicture, {
6088
6091
  type: (_this_options_type = this.options.type) != null ? _this_options_type : 'download',
6089
6092
  quality: this.options.quality || 0.9,
@@ -6118,21 +6121,17 @@ function _create_class$4(Constructor, protoProps, staticProps) {
6118
6121
  if (protoProps) _defineProperties$4(Constructor.prototype, protoProps);
6119
6122
  return Constructor;
6120
6123
  }
6121
- function _extends$i() {
6122
- _extends$i = Object.assign || function(target) {
6124
+ function _extends$j() {
6125
+ _extends$j = Object.assign || function assign(target) {
6123
6126
  for(var i = 1; i < arguments.length; i++){
6124
6127
  var source = arguments[i];
6125
- for(var key in source){
6126
- if (Object.prototype.hasOwnProperty.call(source, key)) {
6127
- target[key] = source[key];
6128
- }
6129
- }
6128
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
6130
6129
  }
6131
6130
  return target;
6132
6131
  };
6133
- return _extends$i.apply(this, arguments);
6132
+ return _extends$j.apply(this, arguments);
6134
6133
  }
6135
- function _inherits$j(subClass, superClass) {
6134
+ function _inherits$k(subClass, superClass) {
6136
6135
  if (typeof superClass !== "function" && superClass !== null) {
6137
6136
  throw new TypeError("Super expression must either be null or a function");
6138
6137
  }
@@ -6143,23 +6142,23 @@ function _inherits$j(subClass, superClass) {
6143
6142
  configurable: true
6144
6143
  }
6145
6144
  });
6146
- if (superClass) _set_prototype_of$j(subClass, superClass);
6145
+ if (superClass) _set_prototype_of$k(subClass, superClass);
6147
6146
  }
6148
- function _set_prototype_of$j(o, p) {
6149
- _set_prototype_of$j = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6147
+ function _set_prototype_of$k(o, p) {
6148
+ _set_prototype_of$k = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6150
6149
  o.__proto__ = p;
6151
6150
  return o;
6152
6151
  };
6153
- return _set_prototype_of$j(o, p);
6152
+ return _set_prototype_of$k(o, p);
6154
6153
  }
6155
6154
  /**
6156
6155
  * 云台控件
6157
6156
  * @category Control
6158
6157
  */ var Ptz = /*#__PURE__*/ function(Control) {
6159
- _inherits$j(Ptz, Control);
6158
+ _inherits$k(Ptz, Control);
6160
6159
  function Ptz(options) {
6161
6160
  var _this;
6162
- _this = Control.call(this, _extends$i({}, options, {
6161
+ _this = Control.call(this, _extends$j({}, options, {
6163
6162
  tagName: 'span',
6164
6163
  controlType: 'button',
6165
6164
  classNameSuffix: 'ptz'
@@ -6202,7 +6201,7 @@ function _set_prototype_of$j(o, p) {
6202
6201
  this.$turntable.classList.add("" + PREFIX_CLASS + "-ptz-turntable");
6203
6202
  this.$panel.appendChild(this.$turntable);
6204
6203
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
6205
- this._ptzControl = new Ptz$1(this.$turntable, _extends$i({}, this._options, {
6204
+ this._ptzControl = new Ptz$1(this.$turntable, _extends$j({}, this._options, {
6206
6205
  onSpeedChange: this._onSpeedChange.bind(this),
6207
6206
  onDirection: this._onDirection.bind(this)
6208
6207
  }));
@@ -6211,7 +6210,7 @@ function _set_prototype_of$j(o, p) {
6211
6210
  };
6212
6211
  _proto.renderMobileExtend = function renderMobileExtend($container) {
6213
6212
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
6214
- if (!this._ptzControl1) this._ptzControl1 = new MobilePtz($container, _extends$i({}, this._options, {
6213
+ if (!this._ptzControl1) this._ptzControl1 = new MobilePtz($container, _extends$j({}, this._options, {
6215
6214
  onSpeedChange: this._onSpeedChange.bind(this),
6216
6215
  onDirection: this._onDirection.bind(this)
6217
6216
  }));
@@ -6295,7 +6294,7 @@ function formatTime(seconds, format) {
6295
6294
  var hours = Math.floor(seconds / 3600);
6296
6295
  var minutes = Math.floor(seconds % 3600 / 60);
6297
6296
  var secs = seconds % 60;
6298
- var pad = function(num) {
6297
+ var pad = function pad(num) {
6299
6298
  return num.toString().padStart(2, '0');
6300
6299
  };
6301
6300
  return format.replace('HH', pad(hours)).replace('MM', pad(minutes)).replace('SS', pad(secs));
@@ -6314,21 +6313,17 @@ function _create_class$3(Constructor, protoProps, staticProps) {
6314
6313
  if (protoProps) _defineProperties$3(Constructor.prototype, protoProps);
6315
6314
  return Constructor;
6316
6315
  }
6317
- function _extends$h() {
6318
- _extends$h = Object.assign || function(target) {
6316
+ function _extends$i() {
6317
+ _extends$i = Object.assign || function assign(target) {
6319
6318
  for(var i = 1; i < arguments.length; i++){
6320
6319
  var source = arguments[i];
6321
- for(var key in source){
6322
- if (Object.prototype.hasOwnProperty.call(source, key)) {
6323
- target[key] = source[key];
6324
- }
6325
- }
6320
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
6326
6321
  }
6327
6322
  return target;
6328
6323
  };
6329
- return _extends$h.apply(this, arguments);
6324
+ return _extends$i.apply(this, arguments);
6330
6325
  }
6331
- function _inherits$i(subClass, superClass) {
6326
+ function _inherits$j(subClass, superClass) {
6332
6327
  if (typeof superClass !== "function" && superClass !== null) {
6333
6328
  throw new TypeError("Super expression must either be null or a function");
6334
6329
  }
@@ -6339,14 +6334,14 @@ function _inherits$i(subClass, superClass) {
6339
6334
  configurable: true
6340
6335
  }
6341
6336
  });
6342
- if (superClass) _set_prototype_of$i(subClass, superClass);
6337
+ if (superClass) _set_prototype_of$j(subClass, superClass);
6343
6338
  }
6344
- function _set_prototype_of$i(o, p) {
6345
- _set_prototype_of$i = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6339
+ function _set_prototype_of$j(o, p) {
6340
+ _set_prototype_of$j = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6346
6341
  o.__proto__ = p;
6347
6342
  return o;
6348
6343
  };
6349
- return _set_prototype_of$i(o, p);
6344
+ return _set_prototype_of$j(o, p);
6350
6345
  }
6351
6346
  var RECORD_DEFAULT_OPTIONS = {
6352
6347
  maxDuration: 3600
@@ -6360,10 +6355,10 @@ var RECORD_DEFAULT_OPTIONS = {
6360
6355
  * 2. 录制时间很短可能会因为浏览器的限制或没有I帧而无法生成有效的视频文件
6361
6356
  * @category Control
6362
6357
  */ var Record = /*#__PURE__*/ function(Control) {
6363
- _inherits$i(Record, Control);
6358
+ _inherits$j(Record, Control);
6364
6359
  function Record(options) {
6365
6360
  var _this;
6366
- _this = Control.call(this, _extends$h({}, options, {
6361
+ _this = Control.call(this, _extends$i({}, options, {
6367
6362
  tagName: 'span',
6368
6363
  controlType: 'button',
6369
6364
  classNameSuffix: 'record'
@@ -6470,11 +6465,8 @@ function asyncGeneratorStep$4(gen, resolve, reject, _next, _throw, key, arg) {
6470
6465
  reject(error);
6471
6466
  return;
6472
6467
  }
6473
- if (info.done) {
6474
- resolve(value);
6475
- } else {
6476
- Promise.resolve(value).then(_next, _throw);
6477
- }
6468
+ if (info.done) resolve(value);
6469
+ else Promise.resolve(value).then(_next, _throw);
6478
6470
  }
6479
6471
  function _async_to_generator$4(fn) {
6480
6472
  return function() {
@@ -6504,21 +6496,17 @@ function _create_class$2(Constructor, protoProps, staticProps) {
6504
6496
  if (protoProps) _defineProperties$2(Constructor.prototype, protoProps);
6505
6497
  return Constructor;
6506
6498
  }
6507
- function _extends$g() {
6508
- _extends$g = Object.assign || function(target) {
6499
+ function _extends$h() {
6500
+ _extends$h = Object.assign || function assign(target) {
6509
6501
  for(var i = 1; i < arguments.length; i++){
6510
6502
  var source = arguments[i];
6511
- for(var key in source){
6512
- if (Object.prototype.hasOwnProperty.call(source, key)) {
6513
- target[key] = source[key];
6514
- }
6515
- }
6503
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
6516
6504
  }
6517
6505
  return target;
6518
6506
  };
6519
- return _extends$g.apply(this, arguments);
6507
+ return _extends$h.apply(this, arguments);
6520
6508
  }
6521
- function _inherits$h(subClass, superClass) {
6509
+ function _inherits$i(subClass, superClass) {
6522
6510
  if (typeof superClass !== "function" && superClass !== null) {
6523
6511
  throw new TypeError("Super expression must either be null or a function");
6524
6512
  }
@@ -6529,14 +6517,14 @@ function _inherits$h(subClass, superClass) {
6529
6517
  configurable: true
6530
6518
  }
6531
6519
  });
6532
- if (superClass) _set_prototype_of$h(subClass, superClass);
6520
+ if (superClass) _set_prototype_of$i(subClass, superClass);
6533
6521
  }
6534
- function _set_prototype_of$h(o, p) {
6535
- _set_prototype_of$h = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6522
+ function _set_prototype_of$i(o, p) {
6523
+ _set_prototype_of$i = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6536
6524
  o.__proto__ = p;
6537
6525
  return o;
6538
6526
  };
6539
- return _set_prototype_of$h(o, p);
6527
+ return _set_prototype_of$i(o, p);
6540
6528
  }
6541
6529
  function _ts_generator$4(thisArg, body) {
6542
6530
  var f, y, t, _ = {
@@ -6547,9 +6535,17 @@ function _ts_generator$4(thisArg, body) {
6547
6535
  },
6548
6536
  trys: [],
6549
6537
  ops: []
6550
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
6551
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
6552
- return this;
6538
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
6539
+ return d(g, "next", {
6540
+ value: verb(0)
6541
+ }), d(g, "throw", {
6542
+ value: verb(1)
6543
+ }), d(g, "return", {
6544
+ value: verb(2)
6545
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
6546
+ value: function() {
6547
+ return this;
6548
+ }
6553
6549
  }), g;
6554
6550
  function verb(n) {
6555
6551
  return function(v) {
@@ -6638,10 +6634,10 @@ function _ts_generator$4(thisArg, body) {
6638
6634
  *
6639
6635
  * @category Control
6640
6636
  */ var Talk = /*#__PURE__*/ function(Control) {
6641
- _inherits$h(Talk, Control);
6637
+ _inherits$i(Talk, Control);
6642
6638
  function Talk(options) {
6643
6639
  var _this;
6644
- _this = Control.call(this, _extends$g({}, options, {
6640
+ _this = Control.call(this, _extends$h({}, options, {
6645
6641
  tagName: 'span',
6646
6642
  controlType: 'button',
6647
6643
  classNameSuffix: 'talk'
@@ -6690,7 +6686,7 @@ function _ts_generator$4(thisArg, body) {
6690
6686
  /**
6691
6687
  * 点击 Control 会触发
6692
6688
  */ _proto._onControlClick = function _onControlClick(e) {
6693
- var _this = this, _superprop_get__onControlClick = function() {
6689
+ var _this = this, _superprop_get__onControlClick = function _superprop_get__onControlClick() {
6694
6690
  return Control.prototype._onControlClick;
6695
6691
  };
6696
6692
  return _async_to_generator$4(function() {
@@ -6753,11 +6749,8 @@ function asyncGeneratorStep$3(gen, resolve, reject, _next, _throw, key, arg) {
6753
6749
  reject(error);
6754
6750
  return;
6755
6751
  }
6756
- if (info.done) {
6757
- resolve(value);
6758
- } else {
6759
- Promise.resolve(value).then(_next, _throw);
6760
- }
6752
+ if (info.done) resolve(value);
6753
+ else Promise.resolve(value).then(_next, _throw);
6761
6754
  }
6762
6755
  function _async_to_generator$3(fn) {
6763
6756
  return function() {
@@ -6774,21 +6767,17 @@ function _async_to_generator$3(fn) {
6774
6767
  });
6775
6768
  };
6776
6769
  }
6777
- function _extends$f() {
6778
- _extends$f = Object.assign || function(target) {
6770
+ function _extends$g() {
6771
+ _extends$g = Object.assign || function assign(target) {
6779
6772
  for(var i = 1; i < arguments.length; i++){
6780
6773
  var source = arguments[i];
6781
- for(var key in source){
6782
- if (Object.prototype.hasOwnProperty.call(source, key)) {
6783
- target[key] = source[key];
6784
- }
6785
- }
6774
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
6786
6775
  }
6787
6776
  return target;
6788
6777
  };
6789
- return _extends$f.apply(this, arguments);
6778
+ return _extends$g.apply(this, arguments);
6790
6779
  }
6791
- function _inherits$g(subClass, superClass) {
6780
+ function _inherits$h(subClass, superClass) {
6792
6781
  if (typeof superClass !== "function" && superClass !== null) {
6793
6782
  throw new TypeError("Super expression must either be null or a function");
6794
6783
  }
@@ -6799,14 +6788,14 @@ function _inherits$g(subClass, superClass) {
6799
6788
  configurable: true
6800
6789
  }
6801
6790
  });
6802
- if (superClass) _set_prototype_of$g(subClass, superClass);
6791
+ if (superClass) _set_prototype_of$h(subClass, superClass);
6803
6792
  }
6804
- function _set_prototype_of$g(o, p) {
6805
- _set_prototype_of$g = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6793
+ function _set_prototype_of$h(o, p) {
6794
+ _set_prototype_of$h = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6806
6795
  o.__proto__ = p;
6807
6796
  return o;
6808
6797
  };
6809
- return _set_prototype_of$g(o, p);
6798
+ return _set_prototype_of$h(o, p);
6810
6799
  }
6811
6800
  function _ts_generator$3(thisArg, body) {
6812
6801
  var f, y, t, _ = {
@@ -6817,9 +6806,17 @@ function _ts_generator$3(thisArg, body) {
6817
6806
  },
6818
6807
  trys: [],
6819
6808
  ops: []
6820
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
6821
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
6822
- return this;
6809
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
6810
+ return d(g, "next", {
6811
+ value: verb(0)
6812
+ }), d(g, "throw", {
6813
+ value: verb(1)
6814
+ }), d(g, "return", {
6815
+ value: verb(2)
6816
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
6817
+ value: function() {
6818
+ return this;
6819
+ }
6823
6820
  }), g;
6824
6821
  function verb(n) {
6825
6822
  return function(v) {
@@ -6906,10 +6903,10 @@ function _ts_generator$3(thisArg, body) {
6906
6903
  *
6907
6904
  * @category Control
6908
6905
  */ var Broadcast = /*#__PURE__*/ function(Control) {
6909
- _inherits$g(Broadcast, Control);
6906
+ _inherits$h(Broadcast, Control);
6910
6907
  function Broadcast(options) {
6911
6908
  var _this;
6912
- _this = Control.call(this, _extends$f({}, options, {
6909
+ _this = Control.call(this, _extends$g({}, options, {
6913
6910
  tagName: 'span',
6914
6911
  controlType: 'button',
6915
6912
  classNameSuffix: 'broadcast'
@@ -6955,7 +6952,7 @@ function _ts_generator$3(thisArg, body) {
6955
6952
  /**
6956
6953
  * 点击 Control 会触发
6957
6954
  */ _proto._onControlClick = function _onControlClick(e) {
6958
- var _this = this, _superprop_get__onControlClick = function() {
6955
+ var _this = this, _superprop_get__onControlClick = function _superprop_get__onControlClick() {
6959
6956
  return Control.prototype._onControlClick;
6960
6957
  };
6961
6958
  return _async_to_generator$3(function() {
@@ -6983,11 +6980,8 @@ function asyncGeneratorStep$2(gen, resolve, reject, _next, _throw, key, arg) {
6983
6980
  reject(error);
6984
6981
  return;
6985
6982
  }
6986
- if (info.done) {
6987
- resolve(value);
6988
- } else {
6989
- Promise.resolve(value).then(_next, _throw);
6990
- }
6983
+ if (info.done) resolve(value);
6984
+ else Promise.resolve(value).then(_next, _throw);
6991
6985
  }
6992
6986
  function _async_to_generator$2(fn) {
6993
6987
  return function() {
@@ -7004,21 +6998,17 @@ function _async_to_generator$2(fn) {
7004
6998
  });
7005
6999
  };
7006
7000
  }
7007
- function _extends$e() {
7008
- _extends$e = Object.assign || function(target) {
7001
+ function _extends$f() {
7002
+ _extends$f = Object.assign || function assign(target) {
7009
7003
  for(var i = 1; i < arguments.length; i++){
7010
7004
  var source = arguments[i];
7011
- for(var key in source){
7012
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7013
- target[key] = source[key];
7014
- }
7015
- }
7005
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7016
7006
  }
7017
7007
  return target;
7018
7008
  };
7019
- return _extends$e.apply(this, arguments);
7009
+ return _extends$f.apply(this, arguments);
7020
7010
  }
7021
- function _inherits$f(subClass, superClass) {
7011
+ function _inherits$g(subClass, superClass) {
7022
7012
  if (typeof superClass !== "function" && superClass !== null) {
7023
7013
  throw new TypeError("Super expression must either be null or a function");
7024
7014
  }
@@ -7029,14 +7019,14 @@ function _inherits$f(subClass, superClass) {
7029
7019
  configurable: true
7030
7020
  }
7031
7021
  });
7032
- if (superClass) _set_prototype_of$f(subClass, superClass);
7022
+ if (superClass) _set_prototype_of$g(subClass, superClass);
7033
7023
  }
7034
- function _set_prototype_of$f(o, p) {
7035
- _set_prototype_of$f = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7024
+ function _set_prototype_of$g(o, p) {
7025
+ _set_prototype_of$g = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7036
7026
  o.__proto__ = p;
7037
7027
  return o;
7038
7028
  };
7039
- return _set_prototype_of$f(o, p);
7029
+ return _set_prototype_of$g(o, p);
7040
7030
  }
7041
7031
  function _ts_generator$2(thisArg, body) {
7042
7032
  var f, y, t, _ = {
@@ -7047,9 +7037,17 @@ function _ts_generator$2(thisArg, body) {
7047
7037
  },
7048
7038
  trys: [],
7049
7039
  ops: []
7050
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
7051
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
7052
- return this;
7040
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
7041
+ return d(g, "next", {
7042
+ value: verb(0)
7043
+ }), d(g, "throw", {
7044
+ value: verb(1)
7045
+ }), d(g, "return", {
7046
+ value: verb(2)
7047
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
7048
+ value: function() {
7049
+ return this;
7050
+ }
7053
7051
  }), g;
7054
7052
  function verb(n) {
7055
7053
  return function(v) {
@@ -7136,11 +7134,11 @@ function _ts_generator$2(thisArg, body) {
7136
7134
  *
7137
7135
  * @category Control
7138
7136
  */ var AIChat = /*#__PURE__*/ function(Control) {
7139
- _inherits$f(AIChat, Control);
7137
+ _inherits$g(AIChat, Control);
7140
7138
  function AIChat(options) {
7141
7139
  var _this;
7142
7140
  var _options_urlInfo_searchParams, _options_urlInfo, _options_urlInfo1;
7143
- _this = Control.call(this, _extends$e({}, options, {
7141
+ _this = Control.call(this, _extends$f({}, options, {
7144
7142
  tagName: 'span',
7145
7143
  controlType: 'button',
7146
7144
  classNameSuffix: 'aichat'
@@ -7186,7 +7184,7 @@ function _ts_generator$2(thisArg, body) {
7186
7184
  /**
7187
7185
  * 点击 Control 会触发
7188
7186
  */ _proto._onControlClick = function _onControlClick(e) {
7189
- var _this = this, _superprop_get__onControlClick = function() {
7187
+ var _this = this, _superprop_get__onControlClick = function _superprop_get__onControlClick() {
7190
7188
  return Control.prototype._onControlClick;
7191
7189
  };
7192
7190
  return _async_to_generator$2(function() {
@@ -7206,21 +7204,17 @@ function _ts_generator$2(thisArg, body) {
7206
7204
  return AIChat;
7207
7205
  }(Control);
7208
7206
 
7209
- function _extends$d() {
7210
- _extends$d = Object.assign || function(target) {
7207
+ function _extends$e() {
7208
+ _extends$e = Object.assign || function assign(target) {
7211
7209
  for(var i = 1; i < arguments.length; i++){
7212
7210
  var source = arguments[i];
7213
- for(var key in source){
7214
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7215
- target[key] = source[key];
7216
- }
7217
- }
7211
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7218
7212
  }
7219
7213
  return target;
7220
7214
  };
7221
- return _extends$d.apply(this, arguments);
7215
+ return _extends$e.apply(this, arguments);
7222
7216
  }
7223
- function _inherits$e(subClass, superClass) {
7217
+ function _inherits$f(subClass, superClass) {
7224
7218
  if (typeof superClass !== "function" && superClass !== null) {
7225
7219
  throw new TypeError("Super expression must either be null or a function");
7226
7220
  }
@@ -7231,14 +7225,14 @@ function _inherits$e(subClass, superClass) {
7231
7225
  configurable: true
7232
7226
  }
7233
7227
  });
7234
- if (superClass) _set_prototype_of$e(subClass, superClass);
7228
+ if (superClass) _set_prototype_of$f(subClass, superClass);
7235
7229
  }
7236
- function _set_prototype_of$e(o, p) {
7237
- _set_prototype_of$e = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7230
+ function _set_prototype_of$f(o, p) {
7231
+ _set_prototype_of$f = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7238
7232
  o.__proto__ = p;
7239
7233
  return o;
7240
7234
  };
7241
- return _set_prototype_of$e(o, p);
7235
+ return _set_prototype_of$f(o, p);
7242
7236
  }
7243
7237
  /**
7244
7238
  * 直播按钮控件
@@ -7247,11 +7241,11 @@ function _set_prototype_of$e(o, p) {
7247
7241
  *
7248
7242
  * @category Control
7249
7243
  */ var Live = /*#__PURE__*/ function(Control) {
7250
- _inherits$e(Live, Control);
7244
+ _inherits$f(Live, Control);
7251
7245
  function Live(options) {
7252
7246
  var _this;
7253
7247
  var _this___options_props1;
7254
- _this = Control.call(this, _extends$d({}, options, {
7248
+ _this = Control.call(this, _extends$e({}, options, {
7255
7249
  tagName: 'span',
7256
7250
  controlType: 'button',
7257
7251
  classNameSuffix: 'live'
@@ -7301,21 +7295,17 @@ function _set_prototype_of$e(o, p) {
7301
7295
  return Live;
7302
7296
  }(Control);
7303
7297
 
7304
- function _extends$c() {
7305
- _extends$c = Object.assign || function(target) {
7298
+ function _extends$d() {
7299
+ _extends$d = Object.assign || function assign(target) {
7306
7300
  for(var i = 1; i < arguments.length; i++){
7307
7301
  var source = arguments[i];
7308
- for(var key in source){
7309
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7310
- target[key] = source[key];
7311
- }
7312
- }
7302
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7313
7303
  }
7314
7304
  return target;
7315
7305
  };
7316
- return _extends$c.apply(this, arguments);
7306
+ return _extends$d.apply(this, arguments);
7317
7307
  }
7318
- function _inherits$d(subClass, superClass) {
7308
+ function _inherits$e(subClass, superClass) {
7319
7309
  if (typeof superClass !== "function" && superClass !== null) {
7320
7310
  throw new TypeError("Super expression must either be null or a function");
7321
7311
  }
@@ -7326,14 +7316,14 @@ function _inherits$d(subClass, superClass) {
7326
7316
  configurable: true
7327
7317
  }
7328
7318
  });
7329
- if (superClass) _set_prototype_of$d(subClass, superClass);
7319
+ if (superClass) _set_prototype_of$e(subClass, superClass);
7330
7320
  }
7331
- function _set_prototype_of$d(o, p) {
7332
- _set_prototype_of$d = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7321
+ function _set_prototype_of$e(o, p) {
7322
+ _set_prototype_of$e = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7333
7323
  o.__proto__ = p;
7334
7324
  return o;
7335
7325
  };
7336
- return _set_prototype_of$d(o, p);
7326
+ return _set_prototype_of$e(o, p);
7337
7327
  }
7338
7328
  /**
7339
7329
  * 回放下拉控件
@@ -7342,11 +7332,11 @@ function _set_prototype_of$d(o, p) {
7342
7332
  *
7343
7333
  * @category Control
7344
7334
  */ var RecDropdown = /*#__PURE__*/ function(Control) {
7345
- _inherits$d(RecDropdown, Control);
7335
+ _inherits$e(RecDropdown, Control);
7346
7336
  function RecDropdown(options) {
7347
7337
  var _this;
7348
7338
  var _options_props, _this___options_props1;
7349
- _this = Control.call(this, _extends$c({}, options, {
7339
+ _this = Control.call(this, _extends$d({}, options, {
7350
7340
  tagName: 'span',
7351
7341
  controlType: 'button',
7352
7342
  classNameSuffix: 'rec-dropdown'
@@ -7392,7 +7382,7 @@ function _set_prototype_of$d(o, p) {
7392
7382
  _proto._initPicker = function _initPicker() {
7393
7383
  var _this = this;
7394
7384
  this._picker = new Picker(this.$container, {
7395
- getPopupContainer: function() {
7385
+ getPopupContainer: function getPopupContainer() {
7396
7386
  return Utils.isMobile ? _this.__options.rootContainer : _this.$container;
7397
7387
  },
7398
7388
  trigger: Utils.isMobile ? 'click' : 'hover',
@@ -7465,21 +7455,17 @@ function _set_prototype_of$d(o, p) {
7465
7455
  return RecDropdown;
7466
7456
  }(Control);
7467
7457
 
7468
- function _extends$b() {
7469
- _extends$b = Object.assign || function(target) {
7458
+ function _extends$c() {
7459
+ _extends$c = Object.assign || function assign(target) {
7470
7460
  for(var i = 1; i < arguments.length; i++){
7471
7461
  var source = arguments[i];
7472
- for(var key in source){
7473
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7474
- target[key] = source[key];
7475
- }
7476
- }
7462
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7477
7463
  }
7478
7464
  return target;
7479
7465
  };
7480
- return _extends$b.apply(this, arguments);
7466
+ return _extends$c.apply(this, arguments);
7481
7467
  }
7482
- function _inherits$c(subClass, superClass) {
7468
+ function _inherits$d(subClass, superClass) {
7483
7469
  if (typeof superClass !== "function" && superClass !== null) {
7484
7470
  throw new TypeError("Super expression must either be null or a function");
7485
7471
  }
@@ -7490,14 +7476,14 @@ function _inherits$c(subClass, superClass) {
7490
7476
  configurable: true
7491
7477
  }
7492
7478
  });
7493
- if (superClass) _set_prototype_of$c(subClass, superClass);
7479
+ if (superClass) _set_prototype_of$d(subClass, superClass);
7494
7480
  }
7495
- function _set_prototype_of$c(o, p) {
7496
- _set_prototype_of$c = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7481
+ function _set_prototype_of$d(o, p) {
7482
+ _set_prototype_of$d = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7497
7483
  o.__proto__ = p;
7498
7484
  return o;
7499
7485
  };
7500
- return _set_prototype_of$c(o, p);
7486
+ return _set_prototype_of$d(o, p);
7501
7487
  }
7502
7488
  /**
7503
7489
  * 录像列表按钮控件
@@ -7506,12 +7492,12 @@ function _set_prototype_of$c(o, p) {
7506
7492
  *
7507
7493
  * @category Control
7508
7494
  */ var RecList = /*#__PURE__*/ function(Control) {
7509
- _inherits$c(RecList, Control);
7495
+ _inherits$d(RecList, Control);
7510
7496
  function RecList(options) {
7511
7497
  var _this;
7512
7498
  var _this__options_props, _this__options, _this_locale;
7513
7499
  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
7514
- _this = Control.call(this, _extends$b({}, options, {
7500
+ _this = Control.call(this, _extends$c({}, options, {
7515
7501
  tagName: 'span',
7516
7502
  controlType: 'button',
7517
7503
  classNameSuffix: 'rec-list'
@@ -7519,17 +7505,17 @@ function _set_prototype_of$c(o, p) {
7519
7505
  _this._options = options;
7520
7506
  _this.records = ((_this__options = _this._options) == null ? void 0 : (_this__options_props = _this__options.props) == null ? void 0 : _this__options_props.recordList) || [];
7521
7507
  _this._render();
7522
- _this._modal = new RecListModal(_this._options.rootContainer, _extends$b({
7508
+ _this._modal = new RecListModal(_this._options.rootContainer, _extends$c({
7523
7509
  showMask: false,
7524
7510
  title: (_this_locale = _this.locale) == null ? void 0 : _this_locale.BTN_REC_LIST_TITLE
7525
7511
  }, options, {
7526
7512
  showEventFilter: false,
7527
7513
  showCardTypeIcon: false,
7528
7514
  sections: [],
7529
- onCardClick: function(section, index, sections) {
7515
+ onCardClick: function onCardClick(section, index, sections) {
7530
7516
  _this.emit(EVENTS.control.recListCardClick, section, index, sections);
7531
7517
  },
7532
- onClose: function() {
7518
+ onClose: function onClose() {
7533
7519
  var _this__options_onClose, _this__options;
7534
7520
  _this._panelOpen = false;
7535
7521
  _this.active = false;
@@ -7617,21 +7603,17 @@ function _set_prototype_of$c(o, p) {
7617
7603
  return RecList;
7618
7604
  }(Control);
7619
7605
 
7620
- function _extends$a() {
7621
- _extends$a = Object.assign || function(target) {
7606
+ function _extends$b() {
7607
+ _extends$b = Object.assign || function assign(target) {
7622
7608
  for(var i = 1; i < arguments.length; i++){
7623
7609
  var source = arguments[i];
7624
- for(var key in source){
7625
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7626
- target[key] = source[key];
7627
- }
7628
- }
7610
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7629
7611
  }
7630
7612
  return target;
7631
7613
  };
7632
- return _extends$a.apply(this, arguments);
7614
+ return _extends$b.apply(this, arguments);
7633
7615
  }
7634
- function _inherits$b(subClass, superClass) {
7616
+ function _inherits$c(subClass, superClass) {
7635
7617
  if (typeof superClass !== "function" && superClass !== null) {
7636
7618
  throw new TypeError("Super expression must either be null or a function");
7637
7619
  }
@@ -7642,14 +7624,14 @@ function _inherits$b(subClass, superClass) {
7642
7624
  configurable: true
7643
7625
  }
7644
7626
  });
7645
- if (superClass) _set_prototype_of$b(subClass, superClass);
7627
+ if (superClass) _set_prototype_of$c(subClass, superClass);
7646
7628
  }
7647
- function _set_prototype_of$b(o, p) {
7648
- _set_prototype_of$b = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7629
+ function _set_prototype_of$c(o, p) {
7630
+ _set_prototype_of$c = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7649
7631
  o.__proto__ = p;
7650
7632
  return o;
7651
7633
  };
7652
- return _set_prototype_of$b(o, p);
7634
+ return _set_prototype_of$c(o, p);
7653
7635
  }
7654
7636
  /**
7655
7637
  * 告警消息按钮控件
@@ -7658,10 +7640,10 @@ function _set_prototype_of$b(o, p) {
7658
7640
  *
7659
7641
  * @category Control
7660
7642
  */ var AlarmMessage = /*#__PURE__*/ function(Control) {
7661
- _inherits$b(AlarmMessage, Control);
7643
+ _inherits$c(AlarmMessage, Control);
7662
7644
  function AlarmMessage(options) {
7663
7645
  var _this;
7664
- _this = Control.call(this, _extends$a({}, options, {
7646
+ _this = Control.call(this, _extends$b({}, options, {
7665
7647
  tagName: 'span',
7666
7648
  controlType: 'button',
7667
7649
  classNameSuffix: 'alarm-message'
@@ -7713,21 +7695,17 @@ function _create_class$1(Constructor, protoProps, staticProps) {
7713
7695
  if (protoProps) _defineProperties$1(Constructor.prototype, protoProps);
7714
7696
  return Constructor;
7715
7697
  }
7716
- function _extends$9() {
7717
- _extends$9 = Object.assign || function(target) {
7698
+ function _extends$a() {
7699
+ _extends$a = Object.assign || function assign(target) {
7718
7700
  for(var i = 1; i < arguments.length; i++){
7719
7701
  var source = arguments[i];
7720
- for(var key in source){
7721
- if (Object.prototype.hasOwnProperty.call(source, key)) {
7722
- target[key] = source[key];
7723
- }
7724
- }
7702
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
7725
7703
  }
7726
7704
  return target;
7727
7705
  };
7728
- return _extends$9.apply(this, arguments);
7706
+ return _extends$a.apply(this, arguments);
7729
7707
  }
7730
- function _inherits$a(subClass, superClass) {
7708
+ function _inherits$b(subClass, superClass) {
7731
7709
  if (typeof superClass !== "function" && superClass !== null) {
7732
7710
  throw new TypeError("Super expression must either be null or a function");
7733
7711
  }
@@ -7738,25 +7716,25 @@ function _inherits$a(subClass, superClass) {
7738
7716
  configurable: true
7739
7717
  }
7740
7718
  });
7741
- if (superClass) _set_prototype_of$a(subClass, superClass);
7719
+ if (superClass) _set_prototype_of$b(subClass, superClass);
7742
7720
  }
7743
- function _set_prototype_of$a(o, p) {
7744
- _set_prototype_of$a = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7721
+ function _set_prototype_of$b(o, p) {
7722
+ _set_prototype_of$b = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7745
7723
  o.__proto__ = p;
7746
7724
  return o;
7747
7725
  };
7748
- return _set_prototype_of$a(o, p);
7726
+ return _set_prototype_of$b(o, p);
7749
7727
  }
7750
7728
  var SELECT_DEFAULT_OPTIONS = {
7751
7729
  fieldNames: {
7752
7730
  label: 'label',
7753
7731
  value: 'value'
7754
7732
  },
7755
- renderLabel: function(label) {
7733
+ renderLabel: function renderLabel(label) {
7756
7734
  return "<span>" + (label || '') + "</span>";
7757
7735
  },
7758
- onChange: function() {},
7759
- onOpenChange: function() {}
7736
+ onChange: function onChange() {},
7737
+ onOpenChange: function onOpenChange() {}
7760
7738
  };
7761
7739
  /**
7762
7740
  * 选择器切换 (支持PC/Mobile)
@@ -7807,11 +7785,12 @@ var SELECT_DEFAULT_OPTIONS = {
7807
7785
  * }
7808
7786
  * ```
7809
7787
  */ var Select = /*#__PURE__*/ function(Control) {
7810
- _inherits$a(Select, Control);
7788
+ _inherits$b(Select, Control);
7811
7789
  function Select(options) {
7812
7790
  var _this;
7791
+ var _ref;
7813
7792
  var _this__options_fieldNames, _this__picker_$body;
7814
- _this = Control.call(this, _extends$9({
7793
+ _this = Control.call(this, _extends$a({
7815
7794
  tagName: 'span',
7816
7795
  type: 'button',
7817
7796
  controlType: 'button'
@@ -7823,11 +7802,10 @@ var SELECT_DEFAULT_OPTIONS = {
7823
7802
  if (options.value !== undefined || options.value !== null) {
7824
7803
  _this._value = options.value + '';
7825
7804
  }
7826
- var _this__options_fieldNames_value;
7827
- 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';
7805
+ var valueKey = (_ref = (_this__options_fieldNames = _this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.value) != null ? _ref : 'value';
7828
7806
  _this._picker = new Picker(_this.$container, {
7829
7807
  // 由于某些原因, 移动端强制渲染在 body 上
7830
- getPopupContainer: function() {
7808
+ getPopupContainer: function getPopupContainer() {
7831
7809
  return Utils.isMobile ? options.rootContainer : _this.$container;
7832
7810
  },
7833
7811
  trigger: Utils.isMobile ? 'click' : 'hover',
@@ -7840,7 +7818,7 @@ var SELECT_DEFAULT_OPTIONS = {
7840
7818
  ],
7841
7819
  placement: 'top',
7842
7820
  // zIndex: 10000,
7843
- onOpenChange: function(open) {
7821
+ onOpenChange: function onOpenChange(open) {
7844
7822
  var item = _this.list.find(function(item) {
7845
7823
  return item[valueKey] + '' === _this.value;
7846
7824
  });
@@ -7864,11 +7842,10 @@ var SELECT_DEFAULT_OPTIONS = {
7864
7842
  var _this = this;
7865
7843
  if (list === void 0) list = [];
7866
7844
  if ((list == null ? void 0 : list.length) > 0 && this._picker) {
7845
+ var _ref, _ref1;
7867
7846
  var _this__options_fieldNames, _this__options_fieldNames1, _this_locale, _this__picker;
7868
- var _this__options_fieldNames_label;
7869
- 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';
7870
- var _this__options_fieldNames_value;
7871
- 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';
7847
+ var labelKey = (_ref = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.label) != null ? _ref : 'label';
7848
+ var valueKey = (_ref1 = (_this__options_fieldNames1 = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames1.value) != null ? _ref1 : 'value';
7872
7849
  (_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) {
7873
7850
  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 ";
7874
7851
  }).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>");
@@ -7880,12 +7857,12 @@ var SELECT_DEFAULT_OPTIONS = {
7880
7857
  }
7881
7858
  };
7882
7859
  _proto._render = function _render(item) {
7860
+ var _ref;
7883
7861
  var _this__options_fieldNames;
7884
7862
  if (this.list.length === 0) {
7885
7863
  return;
7886
7864
  }
7887
- var _this__options_fieldNames_label;
7888
- 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';
7865
+ var labelKey = (_ref = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.label) != null ? _ref : 'label';
7889
7866
  if (this.$container.querySelector("." + PREFIX_CLASS + "-select-btn")) {
7890
7867
  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);
7891
7868
  } else {
@@ -7901,9 +7878,9 @@ var SELECT_DEFAULT_OPTIONS = {
7901
7878
  _proto._activeOption = function _activeOption() {
7902
7879
  var _this = this;
7903
7880
  if (this._picker) {
7881
+ var _ref;
7904
7882
  var _this__options_fieldNames, _this__picker_$body, _this__picker_$body1;
7905
- var _this__options_fieldNames_value;
7906
- 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';
7883
+ var valueKey = (_ref = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.value) != null ? _ref : 'value';
7907
7884
  var $active = (_this__picker_$body = this._picker.$body) == null ? void 0 : _this__picker_$body.querySelector("." + PREFIX_CLASS + "-active");
7908
7885
  $active == null ? void 0 : $active.classList.remove(PREFIX_CLASS + '-active');
7909
7886
  var $target = (_this__picker_$body1 = this._picker.$body) == null ? void 0 : _this__picker_$body1.querySelector("." + PREFIX_CLASS + '-select-option[data-value="' + this.value + '"]');
@@ -7917,9 +7894,9 @@ var SELECT_DEFAULT_OPTIONS = {
7917
7894
  _proto._onSelectChange = function _onSelectChange() {
7918
7895
  var _this = this;
7919
7896
  if (this._picker) {
7897
+ var _ref;
7920
7898
  var _this__options_fieldNames;
7921
- var _this__options_fieldNames_value;
7922
- 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';
7899
+ var valueKey = (_ref = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.value) != null ? _ref : 'value';
7923
7900
  this._delegationOption = delegate(this._picker.$body, "." + PREFIX_CLASS + "-select-option", 'click', function(e) {
7924
7901
  var target = e.delegateTarget;
7925
7902
  e.stopPropagation();
@@ -8004,26 +7981,20 @@ var SELECT_DEFAULT_OPTIONS = {
8004
7981
  }(Control);
8005
7982
 
8006
7983
  function _assert_this_initialized$1(self) {
8007
- if (self === void 0) {
8008
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
8009
- }
7984
+ if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
8010
7985
  return self;
8011
7986
  }
8012
- function _extends$8() {
8013
- _extends$8 = Object.assign || function(target) {
7987
+ function _extends$9() {
7988
+ _extends$9 = Object.assign || function assign(target) {
8014
7989
  for(var i = 1; i < arguments.length; i++){
8015
7990
  var source = arguments[i];
8016
- for(var key in source){
8017
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8018
- target[key] = source[key];
8019
- }
8020
- }
7991
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8021
7992
  }
8022
7993
  return target;
8023
7994
  };
8024
- return _extends$8.apply(this, arguments);
7995
+ return _extends$9.apply(this, arguments);
8025
7996
  }
8026
- function _inherits$9(subClass, superClass) {
7997
+ function _inherits$a(subClass, superClass) {
8027
7998
  if (typeof superClass !== "function" && superClass !== null) {
8028
7999
  throw new TypeError("Super expression must either be null or a function");
8029
8000
  }
@@ -8034,14 +8005,14 @@ function _inherits$9(subClass, superClass) {
8034
8005
  configurable: true
8035
8006
  }
8036
8007
  });
8037
- if (superClass) _set_prototype_of$9(subClass, superClass);
8008
+ if (superClass) _set_prototype_of$a(subClass, superClass);
8038
8009
  }
8039
- function _set_prototype_of$9(o, p) {
8040
- _set_prototype_of$9 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8010
+ function _set_prototype_of$a(o, p) {
8011
+ _set_prototype_of$a = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8041
8012
  o.__proto__ = p;
8042
8013
  return o;
8043
8014
  };
8044
- return _set_prototype_of$9(o, p);
8015
+ return _set_prototype_of$a(o, p);
8045
8016
  }
8046
8017
  function _type_of(obj) {
8047
8018
  "@swc/helpers - typeof";
@@ -8091,12 +8062,12 @@ function __filter(list, locale) {
8091
8062
  *
8092
8063
  * @category Control
8093
8064
  */ var Definition = /*#__PURE__*/ function(Select) {
8094
- _inherits$9(Definition, Select);
8065
+ _inherits$a(Definition, Select);
8095
8066
  function Definition(options) {
8096
8067
  if (options === void 0) options = {};
8097
8068
  var _this;
8098
8069
  var _options_props, _options_props1, _options_locales_options_language;
8099
- _this = Select.call(this, _extends$8({}, DEFINITION_DEFAULT_OPTIONS, {
8070
+ _this = Select.call(this, _extends$9({}, DEFINITION_DEFAULT_OPTIONS, {
8100
8071
  value: (_options_props = options.props) == null ? void 0 : _options_props.videoLevel
8101
8072
  }, options, {
8102
8073
  fieldNames: {
@@ -8107,7 +8078,7 @@ function __filter(list, locale) {
8107
8078
  title: options == null ? void 0 : (_options_locales_options_language = options.locales[options.language]) == null ? void 0 : _options_locales_options_language.BTN_HD,
8108
8079
  controlType: 'button',
8109
8080
  classNameSuffix: 'definition',
8110
- renderLabel: function(label, item, list) {
8081
+ renderLabel: function renderLabel(label, item, list) {
8111
8082
  var _list_;
8112
8083
  if ((item == null ? void 0 : item.level) === 'auto') {
8113
8084
  var _options_locales_options_language;
@@ -8119,7 +8090,7 @@ function __filter(list, locale) {
8119
8090
  // 如果 label 不存在,则不显示label,直接显示list的第一个label, 一般自定义清晰度列表可能会出现
8120
8091
  return "<span>" + (label || ((_list_ = list[0]) == null ? void 0 : _list_.name) || '') + "</span>";
8121
8092
  },
8122
- onChange: function(value, item) {
8093
+ onChange: function onChange(value, item) {
8123
8094
  var _options_onChange;
8124
8095
  options == null ? void 0 : (_options_onChange = options.onChange) == null ? void 0 : _options_onChange.call(options, value, item);
8125
8096
  if (value === 'auto') {
@@ -8129,7 +8100,7 @@ function __filter(list, locale) {
8129
8100
  _assert_this_initialized$1(_this).emit(EVENTS.control.definitionChange, value, item);
8130
8101
  }
8131
8102
  },
8132
- onOpenChange: function(open, value, item) {
8103
+ onOpenChange: function onOpenChange(open, value, item) {
8133
8104
  var _options_onOpenChange;
8134
8105
  options == null ? void 0 : (_options_onOpenChange = options.onOpenChange) == null ? void 0 : _options_onOpenChange.call(options, open, value, item);
8135
8106
  _assert_this_initialized$1(_this).emit(EVENTS.control.definitionPanelOpenChange, open, value, item);
@@ -8165,26 +8136,20 @@ function __filter(list, locale) {
8165
8136
  }(Select);
8166
8137
 
8167
8138
  function _assert_this_initialized(self) {
8168
- if (self === void 0) {
8169
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
8170
- }
8139
+ if (self === void 0) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
8171
8140
  return self;
8172
8141
  }
8173
- function _extends$7() {
8174
- _extends$7 = Object.assign || function(target) {
8142
+ function _extends$8() {
8143
+ _extends$8 = Object.assign || function assign(target) {
8175
8144
  for(var i = 1; i < arguments.length; i++){
8176
8145
  var source = arguments[i];
8177
- for(var key in source){
8178
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8179
- target[key] = source[key];
8180
- }
8181
- }
8146
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8182
8147
  }
8183
8148
  return target;
8184
8149
  };
8185
- return _extends$7.apply(this, arguments);
8150
+ return _extends$8.apply(this, arguments);
8186
8151
  }
8187
- function _inherits$8(subClass, superClass) {
8152
+ function _inherits$9(subClass, superClass) {
8188
8153
  if (typeof superClass !== "function" && superClass !== null) {
8189
8154
  throw new TypeError("Super expression must either be null or a function");
8190
8155
  }
@@ -8195,14 +8160,14 @@ function _inherits$8(subClass, superClass) {
8195
8160
  configurable: true
8196
8161
  }
8197
8162
  });
8198
- if (superClass) _set_prototype_of$8(subClass, superClass);
8163
+ if (superClass) _set_prototype_of$9(subClass, superClass);
8199
8164
  }
8200
- function _set_prototype_of$8(o, p) {
8201
- _set_prototype_of$8 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8165
+ function _set_prototype_of$9(o, p) {
8166
+ _set_prototype_of$9 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8202
8167
  o.__proto__ = p;
8203
8168
  return o;
8204
8169
  };
8205
- return _set_prototype_of$8(o, p);
8170
+ return _set_prototype_of$9(o, p);
8206
8171
  }
8207
8172
  // 支持的倍速列表, 需要是 2 的指数,不能小于 0.5, 最大 16 倍
8208
8173
  var SUPPORT_SPEED = [
@@ -8236,22 +8201,22 @@ var SPEED_DEFAULT_OPTIONS = {
8236
8201
  * 2. 标准流不支持;
8237
8202
  * @category Control
8238
8203
  */ var Speed = /*#__PURE__*/ function(Select) {
8239
- _inherits$8(Speed, Select);
8204
+ _inherits$9(Speed, Select);
8240
8205
  function Speed(options) {
8241
8206
  var _this;
8242
8207
  var _options_locales_options_language, _options_locales;
8243
- _this = Select.call(this, _extends$7({}, SPEED_DEFAULT_OPTIONS, options, {
8208
+ _this = Select.call(this, _extends$8({}, SPEED_DEFAULT_OPTIONS, options, {
8244
8209
  value: (options.props.speed || 1) + '',
8245
8210
  classNameSuffix: 'speed',
8246
8211
  controlType: 'button',
8247
8212
  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,
8248
- onChange: function(value, item) {
8213
+ onChange: function onChange(value, item) {
8249
8214
  var _options_onChange;
8250
8215
  value = +value;
8251
8216
  options == null ? void 0 : (_options_onChange = options.onChange) == null ? void 0 : _options_onChange.call(options, value, item);
8252
8217
  _assert_this_initialized(_this).emit(EVENTS.control.speedChange, value, item);
8253
8218
  },
8254
- onOpenChange: function(open, value, item) {
8219
+ onOpenChange: function onOpenChange(open, value, item) {
8255
8220
  var _options_onOpenChange;
8256
8221
  value = +value;
8257
8222
  options == null ? void 0 : (_options_onOpenChange = options.onOpenChange) == null ? void 0 : _options_onOpenChange.call(options, open, value, item);
@@ -8300,21 +8265,17 @@ var SPEED_DEFAULT_OPTIONS = {
8300
8265
  return Speed;
8301
8266
  }(Select);
8302
8267
 
8303
- function _extends$6() {
8304
- _extends$6 = Object.assign || function(target) {
8268
+ function _extends$7() {
8269
+ _extends$7 = Object.assign || function assign(target) {
8305
8270
  for(var i = 1; i < arguments.length; i++){
8306
8271
  var source = arguments[i];
8307
- for(var key in source){
8308
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8309
- target[key] = source[key];
8310
- }
8311
- }
8272
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8312
8273
  }
8313
8274
  return target;
8314
8275
  };
8315
- return _extends$6.apply(this, arguments);
8276
+ return _extends$7.apply(this, arguments);
8316
8277
  }
8317
- function _inherits$7(subClass, superClass) {
8278
+ function _inherits$8(subClass, superClass) {
8318
8279
  if (typeof superClass !== "function" && superClass !== null) {
8319
8280
  throw new TypeError("Super expression must either be null or a function");
8320
8281
  }
@@ -8325,24 +8286,24 @@ function _inherits$7(subClass, superClass) {
8325
8286
  configurable: true
8326
8287
  }
8327
8288
  });
8328
- if (superClass) _set_prototype_of$7(subClass, superClass);
8289
+ if (superClass) _set_prototype_of$8(subClass, superClass);
8329
8290
  }
8330
- function _set_prototype_of$7(o, p) {
8331
- _set_prototype_of$7 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8291
+ function _set_prototype_of$8(o, p) {
8292
+ _set_prototype_of$8 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8332
8293
  o.__proto__ = p;
8333
8294
  return o;
8334
8295
  };
8335
- return _set_prototype_of$7(o, p);
8296
+ return _set_prototype_of$8(o, p);
8336
8297
  }
8337
8298
  /**
8338
8299
  * 日历选择器控件
8339
8300
  * @category Control
8340
8301
  */ var DatePickerControl = /*#__PURE__*/ function(Control) {
8341
- _inherits$7(DatePickerControl, Control);
8302
+ _inherits$8(DatePickerControl, Control);
8342
8303
  function DatePickerControl(options) {
8343
8304
  var _this;
8344
8305
  var _this_options_props_urlInfo_searchParams, _this_options_props_urlInfo, _this_options_props;
8345
- _this = Control.call(this, _extends$6({
8306
+ _this = Control.call(this, _extends$7({
8346
8307
  maxDate: new Date()
8347
8308
  }, options, {
8348
8309
  tagName: 'span',
@@ -8373,7 +8334,7 @@ function _set_prototype_of$7(o, p) {
8373
8334
  title: (_this_locale1 = this.locale) == null ? void 0 : _this_locale1.BTN_CALENDAR
8374
8335
  });
8375
8336
  }
8376
- this.datePicker = new DatePicker(this.$container, _extends$6({
8337
+ this.datePicker = new DatePicker(this.$container, _extends$7({
8377
8338
  isMobile: isMobile1,
8378
8339
  mode: 'date',
8379
8340
  offset: [
@@ -8385,16 +8346,16 @@ function _set_prototype_of$7(o, p) {
8385
8346
  current: DateTime.toDate(this._value),
8386
8347
  placement: 'tr',
8387
8348
  triggerClose: true,
8388
- disabledDate: function(date) {
8349
+ disabledDate: function disabledDate(date) {
8389
8350
  return date.getTime() > (_this.options.maxDate || new Date()).getTime();
8390
8351
  }
8391
8352
  }, this.options || {}, {
8392
8353
  // 不支持自定义
8393
- getPopupContainer: function() {
8354
+ getPopupContainer: function getPopupContainer() {
8394
8355
  return _this.$container;
8395
8356
  },
8396
8357
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
8397
- onOk: function(date, _mode) {
8358
+ onOk: function onOk(date, _mode) {
8398
8359
  if (date && _this._value !== DateTime.format(date, 'YYYY-MM-DD') && isMobile1) {
8399
8360
  _this._value = DateTime.format(date, 'YYYY-MM-DD');
8400
8361
  _this.options.onOk == null ? void 0 : _this.options.onOk.call(_this.options, date);
@@ -8404,14 +8365,14 @@ function _set_prototype_of$7(o, p) {
8404
8365
  }
8405
8366
  }
8406
8367
  },
8407
- onChange: function(date, mode) {
8368
+ onChange: function onChange(date, mode) {
8408
8369
  if (date && _this._value !== DateTime.format(date, 'YYYY-MM-DD') && !isMobile1 && mode === 'date') {
8409
8370
  _this._value = DateTime.format(date, 'YYYY-MM-DD');
8410
8371
  _this.options.onChange == null ? void 0 : _this.options.onChange.call(_this.options, date);
8411
8372
  _this.emit(EVENTS.control.dateChange, date);
8412
8373
  }
8413
8374
  },
8414
- onOpenChange: function(open) {
8375
+ onOpenChange: function onOpenChange(open) {
8415
8376
  _this.options.onPanelChange == null ? void 0 : _this.options.onPanelChange.call(_this.options, open, _this.datePicker.current);
8416
8377
  _this.emit(EVENTS.control.datePanelOpenChange, open, _this.datePicker.current);
8417
8378
  }
@@ -8460,21 +8421,17 @@ function _set_prototype_of$7(o, p) {
8460
8421
  return DatePickerControl;
8461
8422
  }(Control);
8462
8423
 
8463
- function _extends$5() {
8464
- _extends$5 = Object.assign || function(target) {
8424
+ function _extends$6() {
8425
+ _extends$6 = Object.assign || function assign(target) {
8465
8426
  for(var i = 1; i < arguments.length; i++){
8466
8427
  var source = arguments[i];
8467
- for(var key in source){
8468
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8469
- target[key] = source[key];
8470
- }
8471
- }
8428
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8472
8429
  }
8473
8430
  return target;
8474
8431
  };
8475
- return _extends$5.apply(this, arguments);
8432
+ return _extends$6.apply(this, arguments);
8476
8433
  }
8477
- function _inherits$6(subClass, superClass) {
8434
+ function _inherits$7(subClass, superClass) {
8478
8435
  if (typeof superClass !== "function" && superClass !== null) {
8479
8436
  throw new TypeError("Super expression must either be null or a function");
8480
8437
  }
@@ -8485,25 +8442,25 @@ function _inherits$6(subClass, superClass) {
8485
8442
  configurable: true
8486
8443
  }
8487
8444
  });
8488
- if (superClass) _set_prototype_of$6(subClass, superClass);
8445
+ if (superClass) _set_prototype_of$7(subClass, superClass);
8489
8446
  }
8490
- function _set_prototype_of$6(o, p) {
8491
- _set_prototype_of$6 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8447
+ function _set_prototype_of$7(o, p) {
8448
+ _set_prototype_of$7 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8492
8449
  o.__proto__ = p;
8493
8450
  return o;
8494
8451
  };
8495
- return _set_prototype_of$6(o, p);
8452
+ return _set_prototype_of$7(o, p);
8496
8453
  }
8497
8454
  /** 时间格式 HH:mm:ss */ var TIME_FORMAT = 'HH:mm:ss';
8498
8455
  /**
8499
8456
  * 时间选择器控件
8500
8457
  * @category Control
8501
8458
  */ var TimePickerControl = /*#__PURE__*/ function(Control) {
8502
- _inherits$6(TimePickerControl, Control);
8459
+ _inherits$7(TimePickerControl, Control);
8503
8460
  function TimePickerControl(options) {
8504
8461
  var _this;
8505
8462
  var _this_options_props_urlInfo_searchParams, _this_options_props_urlInfo, _this_options_props;
8506
- _this = Control.call(this, _extends$5({}, options, {
8463
+ _this = Control.call(this, _extends$6({}, options, {
8507
8464
  tagName: 'span',
8508
8465
  controlType: 'button',
8509
8466
  classNameSuffix: 'time'
@@ -8529,7 +8486,7 @@ function _set_prototype_of$6(o, p) {
8529
8486
  title: (_this_locale = this.locale) == null ? void 0 : _this_locale.BTN_TIME
8530
8487
  });
8531
8488
  // }
8532
- this.timePicker = new TimePicker(this.$container, _extends$5({
8489
+ this.timePicker = new TimePicker(this.$container, _extends$6({
8533
8490
  showHeader: false,
8534
8491
  isMobile: false,
8535
8492
  offset: [
@@ -8542,17 +8499,17 @@ function _set_prototype_of$6(o, p) {
8542
8499
  triggerClose: true
8543
8500
  }, this.options || {}, {
8544
8501
  // 不支持自定义
8545
- getPopupContainer: function() {
8502
+ getPopupContainer: function getPopupContainer() {
8546
8503
  return _this.$container;
8547
8504
  },
8548
- onChange: function(time, _times) {
8505
+ onChange: function onChange(time, _times) {
8549
8506
  if (time && _this._value !== time) {
8550
8507
  _this._value = time;
8551
8508
  _this.options.onChange == null ? void 0 : _this.options.onChange.call(_this.options, time, _times);
8552
8509
  _this.emit(EVENTS.control.timeChange, time);
8553
8510
  }
8554
8511
  },
8555
- onOpenChange: function(open) {
8512
+ onOpenChange: function onOpenChange(open) {
8556
8513
  _this.options.onPanelChange == null ? void 0 : _this.options.onPanelChange.call(_this.options, open, _this.timePicker.current);
8557
8514
  _this.emit(EVENTS.control.timePanelOpenChange, open, _this.timePicker.current);
8558
8515
  }
@@ -8599,21 +8556,17 @@ function _set_prototype_of$6(o, p) {
8599
8556
  return TimePickerControl;
8600
8557
  }(Control);
8601
8558
 
8602
- function _extends$4() {
8603
- _extends$4 = Object.assign || function(target) {
8559
+ function _extends$5() {
8560
+ _extends$5 = Object.assign || function assign(target) {
8604
8561
  for(var i = 1; i < arguments.length; i++){
8605
8562
  var source = arguments[i];
8606
- for(var key in source){
8607
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8608
- target[key] = source[key];
8609
- }
8610
- }
8563
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8611
8564
  }
8612
8565
  return target;
8613
8566
  };
8614
- return _extends$4.apply(this, arguments);
8567
+ return _extends$5.apply(this, arguments);
8615
8568
  }
8616
- function _inherits$5(subClass, superClass) {
8569
+ function _inherits$6(subClass, superClass) {
8617
8570
  if (typeof superClass !== "function" && superClass !== null) {
8618
8571
  throw new TypeError("Super expression must either be null or a function");
8619
8572
  }
@@ -8624,23 +8577,23 @@ function _inherits$5(subClass, superClass) {
8624
8577
  configurable: true
8625
8578
  }
8626
8579
  });
8627
- if (superClass) _set_prototype_of$5(subClass, superClass);
8580
+ if (superClass) _set_prototype_of$6(subClass, superClass);
8628
8581
  }
8629
- function _set_prototype_of$5(o, p) {
8630
- _set_prototype_of$5 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8582
+ function _set_prototype_of$6(o, p) {
8583
+ _set_prototype_of$6 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8631
8584
  o.__proto__ = p;
8632
8585
  return o;
8633
8586
  };
8634
- return _set_prototype_of$5(o, p);
8587
+ return _set_prototype_of$6(o, p);
8635
8588
  }
8636
8589
  /**
8637
8590
  * 回放时间轴控件
8638
8591
  */ var TimeLineControl = /*#__PURE__*/ function(Control) {
8639
- _inherits$5(TimeLineControl, Control);
8592
+ _inherits$6(TimeLineControl, Control);
8640
8593
  function TimeLineControl(options) {
8641
8594
  var _this;
8642
8595
  var _this__options_props, _this__options;
8643
- _this = Control.call(this, _extends$4({}, options, {
8596
+ _this = Control.call(this, _extends$5({}, options, {
8644
8597
  tagName: 'div',
8645
8598
  controlType: 'block',
8646
8599
  classNameSuffix: 'time-line'
@@ -8676,9 +8629,9 @@ function _set_prototype_of$5(o, p) {
8676
8629
  var _proto = TimeLineControl.prototype;
8677
8630
  _proto._render = function _render() {
8678
8631
  var _this = this;
8679
- var _this_timeLineUtil_updateTimeSections, _this_timeLineUtil;
8680
8632
  var _this__options_showTimeWidthBtn, _this__options_showCoverFold;
8681
- var _timeLineOptions = _extends$4({
8633
+ var _this_timeLineUtil_updateTimeSections, _this_timeLineUtil;
8634
+ var _timeLineOptions = _extends$5({
8682
8635
  language: this._options.language || 'zh',
8683
8636
  coverQuery: this._options.coverQuery || '',
8684
8637
  showTimeWidthBtn: (_this__options_showTimeWidthBtn = this._options.showTimeWidthBtn) != null ? _this__options_showTimeWidthBtn : true,
@@ -8686,23 +8639,42 @@ function _set_prototype_of$5(o, p) {
8686
8639
  hoverTipPlacement: 'top'
8687
8640
  }, this._options || {}, {
8688
8641
  showSectionIcon: false,
8689
- onClickSeek: function(date) {
8642
+ onClickSeek: function onClickSeek(date) {
8690
8643
  if (date == null ? void 0 : date.getTime()) {
8691
8644
  _this._options.onClickSeek == null ? void 0 : _this._options.onClickSeek.call(_this._options, date);
8692
8645
  _this.emit(EVENTS.control.timeLineChange, date);
8693
8646
  }
8694
8647
  },
8695
- onChange: function(date) {
8648
+ onChange: function onChange(date) {
8696
8649
  if (_this._currentTime !== (date == null ? void 0 : date.getTime())) {
8697
8650
  _this._options.onChange == null ? void 0 : _this._options.onChange.call(_this._options, date);
8698
8651
  _this.emit(EVENTS.control.timeLineChange, date);
8699
8652
  }
8700
8653
  },
8701
- onPickerOpenChange: function(open) {
8654
+ onDragEnd: function onDragEnd(date, isOver) {
8655
+ var _this__options_props_playbackRange, _this__options_props, _this__options;
8656
+ _this._options.onDragEnd == null ? void 0 : _this._options.onDragEnd.call(_this._options, date, isOver);
8657
+ // 松手时鼠标已移出时间轴容器(isOver 为 false):控件把这种拖动视为取消,
8658
+ // onChange 不会触发(见 @ezuikit/control-time-line 的 pc/index.ts _moveEndOrTouchEndFun,
8659
+ // onChange 受 _isOver 约束),于是 SDK 层的播放区间夹取拿不到事件,光标停在
8660
+ // 区间外不再被纠正 —— 播放已结束时 OSD 轮询也已停止,靠后续同步也拉不回来。
8661
+ // 这里补发一次 timeLineChange 交给 SDK 层夹取回弹。
8662
+ //
8663
+ // 必须用 isOver === false 而不是 !isOver:移动端(mobile/index.ts)调 onDragEnd
8664
+ // 时不传第二个参数,值为 undefined,用 !isOver 会让移动端每次拖动都补发,
8665
+ // 而它的 _setState 已经触发过一次 onChange,会造成重复 seek。
8666
+ // 移动端也不需要这个补丁:DragScroll 是容器内滚动,没有"拖出容器外松手"的情况。
8667
+ //
8668
+ // 无播放区间时不补发,保持控件"拖出容器不 seek"的既有语义,避免破坏存量集成
8669
+ 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)) {
8670
+ _this.emit(EVENTS.control.timeLineChange, date);
8671
+ }
8672
+ },
8673
+ onPickerOpenChange: function onPickerOpenChange(open) {
8702
8674
  _this.emit(EVENTS.control.timeLinePanelOpenChange, open);
8703
8675
  },
8704
8676
  // 2025-10-27 仅移动端支持
8705
- onPickerSelect: function(item) {
8677
+ onPickerSelect: function onPickerSelect(item) {
8706
8678
  var date = null;
8707
8679
  try {
8708
8680
  if ((item.startTime + '').length === 10) date = new Date(item.startTime * 1000);
@@ -8713,7 +8685,7 @@ function _set_prototype_of$5(o, p) {
8713
8685
  } catch (error) {
8714
8686
  }
8715
8687
  },
8716
- onSectionIconClick: function(result) {
8688
+ onSectionIconClick: function onSectionIconClick(result) {
8717
8689
  _this.emit('TimeLine.onSectionIconClick', result);
8718
8690
  }
8719
8691
  });
@@ -8783,15 +8755,224 @@ function _set_prototype_of$5(o, p) {
8783
8755
  return TimeLineControl;
8784
8756
  }(Control);
8785
8757
 
8786
- function _extends$3() {
8787
- _extends$3 = Object.assign || function(target) {
8758
+ function _extends$4() {
8759
+ _extends$4 = Object.assign || function assign(target) {
8788
8760
  for(var i = 1; i < arguments.length; i++){
8789
8761
  var source = arguments[i];
8790
- for(var key in source){
8791
- if (Object.prototype.hasOwnProperty.call(source, key)) {
8792
- target[key] = source[key];
8793
- }
8762
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8763
+ }
8764
+ return target;
8765
+ };
8766
+ return _extends$4.apply(this, arguments);
8767
+ }
8768
+ function _inherits$5(subClass, superClass) {
8769
+ if (typeof superClass !== "function" && superClass !== null) {
8770
+ throw new TypeError("Super expression must either be null or a function");
8771
+ }
8772
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
8773
+ constructor: {
8774
+ value: subClass,
8775
+ writable: true,
8776
+ configurable: true
8777
+ }
8778
+ });
8779
+ if (superClass) _set_prototype_of$5(subClass, superClass);
8780
+ }
8781
+ function _set_prototype_of$5(o, p) {
8782
+ _set_prototype_of$5 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8783
+ o.__proto__ = p;
8784
+ return o;
8785
+ };
8786
+ return _set_prototype_of$5(o, p);
8787
+ }
8788
+ /**
8789
+ * 播放结束后忽略 OSD 回写的静默期(毫秒)
8790
+ *
8791
+ * 断流结束时 SDK 不会立刻停掉 OSD 轮询(要让时间轴光标跟到画面最后一帧,见
8792
+ * api/_playbackRange.ts 的 OSD_SETTLE_MS = 2500),这些回写的时间早于区间末端,
8793
+ * 会把刚补满的进度拉回去。取值需覆盖该窗口。
8794
+ *
8795
+ * 用静默期而不是永久忽略:用户可能从时间轴点回区间内继续看,那条 seek 不经过
8796
+ * 进度条的 onChange,永久忽略会让进度条卡死不再更新。
8797
+ */ var PLAYBACK_END_SILENCE_MS = 3000;
8798
+ /**
8799
+ * 读取录像片段的起止时间(毫秒)
8800
+ *
8801
+ * 录像列表是服务端原始返回、未做字段归一化,`begin/end` 与 `startTime/endTime`
8802
+ * 两套字段名在不同回放类型下都出现过,这里统一兼容。
8803
+ *
8804
+ * @param seg 录像片段
8805
+ * @param which 取起点还是终点
8806
+ */ function segMs(seg, which) {
8807
+ var _ref, _ref1;
8808
+ 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;
8809
+ if (value === undefined || value === null || value === '') return NaN;
8810
+ if (typeof value === 'number') return value < 1e12 ? value * 1000 : value;
8811
+ return DateTime.toDate(value).getTime();
8812
+ }
8813
+ /**
8814
+ * 回放片段进度条控件(移动端)
8815
+ *
8816
+ * 只在设置了播放区间时渲染,范围是「当前录像片段 ∩ 播放区间」。
8817
+ * 区间内跨片段的定位由时间轴承担,这里只负责当前片段的精细拖动。
8818
+ * @category Control
8819
+ */ var SegmentProgressControl = /*#__PURE__*/ function(Control) {
8820
+ _inherits$5(SegmentProgressControl, Control);
8821
+ function SegmentProgressControl(options) {
8822
+ var _this;
8823
+ var _this__options_props, _this__options_props1;
8824
+ _this = Control.call(this, _extends$4({}, options, {
8825
+ tagName: 'div',
8826
+ controlType: 'block',
8827
+ classNameSuffix: 'segment-progress'
8828
+ })) || this, /** 播放区间(毫秒) */ _this._rangeBeginMs = 0, _this._rangeEndMs = 0, /** 区间内的录像片段,按起点升序 */ _this._segments = [], /** 当前片段下标,-1 表示不在任何片段内 */ _this._currentIndex = -1, _this._isDragging = false, /** 播放结束静默期的截止时刻(时间戳),此前忽略 OSD 回写 */ _this._silenceUntil = 0;
8829
+ _this._options = options;
8830
+ _this._render();
8831
+ // 区间通过 props 下发,避免主题异步渲染时错过初始化事件。
8832
+ // 区间只在初始化时设置,没有运行时变更入口
8833
+ _this._setRange((_this__options_props = _this._options.props) == null ? void 0 : _this__options_props.playbackRange);
8834
+ _this._setSegments(((_this__options_props1 = _this._options.props) == null ? void 0 : _this__options_props1.recordList) || []);
8835
+ _this.on(EVENTS.setAllDayRecTimes, function(records) {
8836
+ _this._setSegments(records || []);
8837
+ _this._syncSegment(true);
8838
+ });
8839
+ _this.on(EVENTS.getOSDTime, function(time) {
8840
+ if (!time || _this._isDragging) return;
8841
+ // 结束静默期内忽略回写,避免把补满的进度拉回(详见 PLAYBACK_END_SILENCE_MS)
8842
+ if (_this._silenceUntil > Date.now()) return;
8843
+ // OSD 如实跟随,不做 seek 过渡期的拦截或下限抑制:
8844
+ // 定位后 OSD 还会推几拍 seek 之前的位置,进度会先回到原处再跳到目标(跳两次),
8845
+ // 关键帧定位还可能让落点比目标早一秒(退一格)。这些与时间轴光标的表现一致,
8846
+ // 由 SDK 侧的定位行为决定,控件层不再单独补偿
8847
+ _this._syncCurrent(time * 1000);
8848
+ });
8849
+ // 区间播完时把完成度补到轨道末端。
8850
+ // 进度值来自 OSD 轮询,受轮询精度(1s)与服务端提前断流影响,通常停在末端之前
8851
+ // 若干秒(实测 1~5s)。时间轴光标停在真实最后一帧是对的,但进度条表达的是"完成度",
8852
+ // 停在 87% 却提示"回放结束"会让人以为卡住,所以这里补满。
8853
+ // noMoreSegment 不补:那时播放停在无录像间隔,补满会谎报已看完整段
8854
+ _this.on(EVENTS.playbackEnd, function(data) {
8855
+ var _this__segments_this__currentIndex;
8856
+ if ((data == null ? void 0 : data.reason) !== 'reachRangeEnd' || _this._isDragging) return;
8857
+ var endMs = _this._currentIndex >= 0 ? (_this__segments_this__currentIndex = _this._segments[_this._currentIndex]) == null ? void 0 : _this__segments_this__currentIndex.endTime : _this._rangeEndMs;
8858
+ if (!Number.isFinite(endMs)) return;
8859
+ // 先开静默期再补满,否则紧随其后的收尾 OSD 会把进度拉回
8860
+ _this._silenceUntil = Date.now() + PLAYBACK_END_SILENCE_MS;
8861
+ _this._progress.setCurrent(endMs);
8862
+ });
8863
+ return _this;
8864
+ }
8865
+ var _proto = SegmentProgressControl.prototype;
8866
+ _proto._render = function _render() {
8867
+ var _this = this;
8868
+ this._progress = new SegmentProgress(this.$container, {
8869
+ onChange: function onChange(date) {
8870
+ // 用户主动定位即视为重新开始播放,立即解除结束静默,否则静默期内的回写被丢弃、
8871
+ // 进度条会停住不动
8872
+ _this._silenceUntil = 0;
8873
+ _this._options.onChange == null ? void 0 : _this._options.onChange.call(_this._options, date);
8874
+ _this.emit(EVENTS.control.timeLineChange, date);
8875
+ },
8876
+ onDragStart: function onDragStart() {
8877
+ _this._isDragging = true;
8878
+ },
8879
+ onDragEnd: function onDragEnd() {
8880
+ _this._isDragging = false;
8794
8881
  }
8882
+ });
8883
+ this._updateVisible();
8884
+ };
8885
+ /**
8886
+ * 设置播放区间
8887
+ * @param range 区间;null 表示解除约束
8888
+ */ _proto._setRange = function _setRange(range) {
8889
+ if ((range == null ? void 0 : range.begin) && (range == null ? void 0 : range.end)) {
8890
+ this._rangeBeginMs = DateTime.toDate(range.begin).getTime();
8891
+ this._rangeEndMs = DateTime.toDate(range.end).getTime();
8892
+ } else {
8893
+ this._rangeBeginMs = 0;
8894
+ this._rangeEndMs = 0;
8895
+ }
8896
+ this._updateVisible();
8897
+ };
8898
+ /**
8899
+ * 用区间裁剪录像片段
8900
+ * @param records 全天录像片段
8901
+ */ _proto._setSegments = function _setSegments(records) {
8902
+ var _this = this;
8903
+ if (!this._hasRange() || !Array.isArray(records)) {
8904
+ this._segments = [];
8905
+ return;
8906
+ }
8907
+ this._segments = records.map(function(seg) {
8908
+ return {
8909
+ startTime: segMs(seg, 'start'),
8910
+ endTime: segMs(seg, 'end')
8911
+ };
8912
+ }).filter(function(seg) {
8913
+ return !Number.isNaN(seg.startTime) && !Number.isNaN(seg.endTime) && seg.endTime > _this._rangeBeginMs && seg.startTime < _this._rangeEndMs;
8914
+ }).map(function(seg) {
8915
+ return {
8916
+ startTime: Math.max(seg.startTime, _this._rangeBeginMs),
8917
+ endTime: Math.min(seg.endTime, _this._rangeEndMs)
8918
+ };
8919
+ }).sort(function(a, b) {
8920
+ return a.startTime - b.startTime;
8921
+ });
8922
+ };
8923
+ /** 用当前进度重新定位所属片段 */ _proto._syncSegment = function _syncSegment(force) {
8924
+ if (force === void 0) force = false;
8925
+ if (force) this._currentIndex = -1;
8926
+ this._updateVisible();
8927
+ };
8928
+ /**
8929
+ * 按播放进度更新片段与进度
8930
+ * @param currentMs 当前播放时间(毫秒)
8931
+ */ _proto._syncCurrent = function _syncCurrent(currentMs) {
8932
+ if (!this._hasRange()) return;
8933
+ var index = this._segments.findIndex(function(seg) {
8934
+ return currentMs >= seg.startTime && currentMs < seg.endTime;
8935
+ });
8936
+ // 落在片段间隔时保持上一个片段的展示,等 SDK 层完成自动续播后再切换
8937
+ if (index === -1) {
8938
+ if (this._currentIndex === -1) this._fallbackToRange();
8939
+ this._progress.setCurrent(currentMs);
8940
+ return;
8941
+ }
8942
+ if (index !== this._currentIndex) {
8943
+ this._currentIndex = index;
8944
+ var seg = this._segments[index];
8945
+ this._progress.setSegment(seg.startTime, seg.endTime);
8946
+ }
8947
+ this._progress.setCurrent(currentMs);
8948
+ };
8949
+ /** 没有可用片段信息时退化为整个区间,避免进度条空转 */ _proto._fallbackToRange = function _fallbackToRange() {
8950
+ if (!this._hasRange()) return;
8951
+ this._progress.setSegment(this._rangeBeginMs, this._rangeEndMs);
8952
+ };
8953
+ _proto._hasRange = function _hasRange() {
8954
+ return this._rangeEndMs > this._rangeBeginMs;
8955
+ };
8956
+ _proto._updateVisible = function _updateVisible() {
8957
+ var visible = this._hasRange();
8958
+ this.$container.style.display = visible ? '' : 'none';
8959
+ if (visible && this._currentIndex === -1 && !this._segments.length) {
8960
+ this._fallbackToRange();
8961
+ }
8962
+ };
8963
+ _proto.destroy = function destroy() {
8964
+ var _this__progress;
8965
+ (_this__progress = this._progress) == null ? void 0 : _this__progress.destroy();
8966
+ Control.prototype.destroy.call(this);
8967
+ };
8968
+ return SegmentProgressControl;
8969
+ }(Control);
8970
+
8971
+ function _extends$3() {
8972
+ _extends$3 = Object.assign || function assign(target) {
8973
+ for(var i = 1; i < arguments.length; i++){
8974
+ var source = arguments[i];
8975
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
8795
8976
  }
8796
8977
  return target;
8797
8978
  };
@@ -8877,10 +9058,11 @@ var Controls = {
8877
9058
  speed: Speed,
8878
9059
  date: DatePickerControl,
8879
9060
  time: TimePickerControl,
8880
- timeLine: TimeLineControl
9061
+ timeLine: TimeLineControl,
9062
+ segmentProgress: SegmentProgressControl
8881
9063
  };
8882
9064
 
8883
- /* eslint-disable @typescript-eslint/no-non-null-assertion */ function _inherits$3(subClass, superClass) {
9065
+ function _inherits$3(subClass, superClass) {
8884
9066
  if (typeof superClass !== "function" && superClass !== null) {
8885
9067
  throw new TypeError("Super expression must either be null or a function");
8886
9068
  }
@@ -9021,6 +9203,10 @@ function _set_prototype_of$2(o, p) {
9021
9203
  this.$content = document.createElement('div');
9022
9204
  this.$content.classList.add("" + PREFIX_CLASS + "-mobile-extend-control-content");
9023
9205
  this.$controlPanel.appendChild(this.$content);
9206
+ // 片段进度条紧贴播放控件下方,位于日期/回放类型那一行之前
9207
+ this.$segmentProgress = document.createElement('div');
9208
+ this.$segmentProgress.classList.add("" + PREFIX_CLASS + "-mobile-extend-segment-progress");
9209
+ this.$content.appendChild(this.$segmentProgress);
9024
9210
  this.$top = document.createElement('div');
9025
9211
  this.$top.classList.add("" + PREFIX_CLASS + "-mobile-extend-control-top");
9026
9212
  this.$content.appendChild(this.$top);
@@ -9041,14 +9227,10 @@ function _set_prototype_of$2(o, p) {
9041
9227
  }(EventEmitter);
9042
9228
 
9043
9229
  function _extends$2() {
9044
- _extends$2 = Object.assign || function(target) {
9230
+ _extends$2 = Object.assign || function assign(target) {
9045
9231
  for(var i = 1; i < arguments.length; i++){
9046
9232
  var source = arguments[i];
9047
- for(var key in source){
9048
- if (Object.prototype.hasOwnProperty.call(source, key)) {
9049
- target[key] = source[key];
9050
- }
9051
- }
9233
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
9052
9234
  }
9053
9235
  return target;
9054
9236
  };
@@ -9180,7 +9362,7 @@ var PAUSE_DEFAULT_OPTIONS = {};
9180
9362
  return Pause;
9181
9363
  }(Control);
9182
9364
 
9183
- var _unmountedControls = function(theme) {
9365
+ var _unmountedControls = function _unmountedControls(theme) {
9184
9366
  if (!theme.controls) {
9185
9367
  return;
9186
9368
  }
@@ -9244,6 +9426,11 @@ var _unmountedControls = function(theme) {
9244
9426
  if (theme._onPauseTimingFunc) {
9245
9427
  theme._onPauseTimingFunc = null;
9246
9428
  }
9429
+ // 移除首帧同步监听(挂在 theme 上,需显式解绑,避免 changeTheme 累积)
9430
+ if (theme._onFirstFrameSync) {
9431
+ theme.removeListener(EVENTS.firstFrameDisplay, theme._onFirstFrameSync);
9432
+ theme._onFirstFrameSync = null;
9433
+ }
9247
9434
  if (hasControls) {
9248
9435
  theme.emit(EVENTS.control.unmountedControls);
9249
9436
  }
@@ -9262,11 +9449,8 @@ function asyncGeneratorStep$1(gen, resolve, reject, _next, _throw, key, arg) {
9262
9449
  reject(error);
9263
9450
  return;
9264
9451
  }
9265
- if (info.done) {
9266
- resolve(value);
9267
- } else {
9268
- Promise.resolve(value).then(_next, _throw);
9269
- }
9452
+ if (info.done) resolve(value);
9453
+ else Promise.resolve(value).then(_next, _throw);
9270
9454
  }
9271
9455
  function _async_to_generator$1(fn) {
9272
9456
  return function() {
@@ -9283,28 +9467,6 @@ function _async_to_generator$1(fn) {
9283
9467
  });
9284
9468
  };
9285
9469
  }
9286
- function _extends$1() {
9287
- _extends$1 = Object.assign || function(target) {
9288
- for(var i = 1; i < arguments.length; i++){
9289
- var source = arguments[i];
9290
- for(var key in source){
9291
- if (Object.prototype.hasOwnProperty.call(source, key)) {
9292
- target[key] = source[key];
9293
- }
9294
- }
9295
- }
9296
- return target;
9297
- };
9298
- return _extends$1.apply(this, arguments);
9299
- }
9300
- function _unsupported_iterable_to_array$1(o, minLen) {
9301
- if (!o) return;
9302
- if (typeof o === "string") return _array_like_to_array$1(o, minLen);
9303
- var n = Object.prototype.toString.call(o).slice(8, -1);
9304
- if (n === "Object" && o.constructor) n = o.constructor.name;
9305
- if (n === "Map" || n === "Set") return Array.from(n);
9306
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
9307
- }
9308
9470
  function _create_for_of_iterator_helper_loose$1(o, allowArrayLike) {
9309
9471
  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
9310
9472
  if (it) return (it = it.call(o)).next.bind(it);
@@ -9312,18 +9474,26 @@ function _create_for_of_iterator_helper_loose$1(o, allowArrayLike) {
9312
9474
  if (it) o = it;
9313
9475
  var i = 0;
9314
9476
  return function() {
9315
- if (i >= o.length) {
9316
- return {
9317
- done: true
9318
- };
9319
- }
9477
+ if (i >= o.length) return {
9478
+ done: true
9479
+ };
9320
9480
  return {
9321
9481
  done: false,
9322
9482
  value: o[i++]
9323
9483
  };
9324
9484
  };
9325
9485
  }
9326
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9486
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
9487
+ }
9488
+ function _extends$1() {
9489
+ _extends$1 = Object.assign || function assign(target) {
9490
+ for(var i = 1; i < arguments.length; i++){
9491
+ var source = arguments[i];
9492
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
9493
+ }
9494
+ return target;
9495
+ };
9496
+ return _extends$1.apply(this, arguments);
9327
9497
  }
9328
9498
  function _ts_generator$1(thisArg, body) {
9329
9499
  var f, y, t, _ = {
@@ -9334,9 +9504,17 @@ function _ts_generator$1(thisArg, body) {
9334
9504
  },
9335
9505
  trys: [],
9336
9506
  ops: []
9337
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
9338
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
9339
- return this;
9507
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
9508
+ return d(g, "next", {
9509
+ value: verb(0)
9510
+ }), d(g, "throw", {
9511
+ value: verb(1)
9512
+ }), d(g, "return", {
9513
+ value: verb(2)
9514
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
9515
+ value: function() {
9516
+ return this;
9517
+ }
9340
9518
  }), g;
9341
9519
  function verb(n) {
9342
9520
  return function(v) {
@@ -9416,6 +9594,14 @@ function _ts_generator$1(thisArg, body) {
9416
9594
  };
9417
9595
  }
9418
9596
  }
9597
+ function _unsupported_iterable_to_array$1(o, minLen) {
9598
+ if (!o) return;
9599
+ if (typeof o === "string") return _array_like_to_array$1(o, minLen);
9600
+ var n = Object.prototype.toString.call(o).slice(8, -1);
9601
+ if (n === "Object" && o.constructor) n = o.constructor.name;
9602
+ if (n === "Map" || n === "Set") return Array.from(n);
9603
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
9604
+ }
9419
9605
  // 需要权限的控件
9420
9606
  var AUTH_KEY = [
9421
9607
  'ptz',
@@ -9454,7 +9640,7 @@ function _renderControls(theme, $container, btnList, props) {
9454
9640
  // eslint-disable-next-line @typescript-eslint/dot-notation, new-cap, @typescript-eslint/no-unsafe-argument
9455
9641
  theme.controls["deviceControl"] = new Controls["device"](_extends$1({
9456
9642
  rootContainer: theme.$container,
9457
- getPopupContainer: function() {
9643
+ getPopupContainer: function getPopupContainer() {
9458
9644
  return $container;
9459
9645
  },
9460
9646
  recType: theme.recType,
@@ -9477,7 +9663,7 @@ function _renderControls(theme, $container, btnList, props) {
9477
9663
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9478
9664
  theme.controls["" + item.iconId + "Control"] = new Controls[item.iconId](_extends$1({
9479
9665
  rootContainer: theme.$container,
9480
- getPopupContainer: function() {
9666
+ getPopupContainer: function getPopupContainer() {
9481
9667
  return $container;
9482
9668
  },
9483
9669
  language: theme.options.language || "zh",
@@ -9504,7 +9690,7 @@ function _renderControls(theme, $container, btnList, props) {
9504
9690
  }
9505
9691
  function _renderTheme(theme, data) {
9506
9692
  return _async_to_generator$1(function() {
9507
- 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;
9693
+ 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;
9508
9694
  return _ts_generator$1(this, function(_state) {
9509
9695
  switch(_state.label){
9510
9696
  case 0:
@@ -9514,6 +9700,10 @@ function _renderTheme(theme, data) {
9514
9700
  ];
9515
9701
  case 1:
9516
9702
  themeData = _state.sent();
9703
+ // 异步获取主题数据期间可能已 destroy(),避免在已释放的 theme 上继续渲染/emit
9704
+ if (theme.destroyed) return [
9705
+ 2
9706
+ ];
9517
9707
  _unmountedControls(theme);
9518
9708
  if (Object.prototype.toString.call(themeData) !== '[object Object]') {
9519
9709
  // 主题空
@@ -9526,7 +9716,7 @@ function _renderTheme(theme, data) {
9526
9716
  language: theme.options.language,
9527
9717
  locales: theme.i18n.translations
9528
9718
  }, theme.options.loadingOptions || {}, {
9529
- getPopupContainer: function() {
9719
+ getPopupContainer: function getPopupContainer() {
9530
9720
  return theme.$container;
9531
9721
  }
9532
9722
  }));
@@ -9536,7 +9726,7 @@ function _renderTheme(theme, data) {
9536
9726
  language: theme.options.language,
9537
9727
  locales: theme.i18n.translations
9538
9728
  }, theme.options.pauseOptions || {}, {
9539
- getPopupContainer: function() {
9729
+ getPopupContainer: function getPopupContainer() {
9540
9730
  return theme.contentControl.$wrapper;
9541
9731
  }
9542
9732
  }));
@@ -9548,14 +9738,14 @@ function _renderTheme(theme, data) {
9548
9738
  theme.messageControl = new Message(_extends$1({
9549
9739
  rootContainer: theme.$container
9550
9740
  }, theme.options.messageOptions || {}, {
9551
- getPopupContainer: function() {
9741
+ getPopupContainer: function getPopupContainer() {
9552
9742
  return theme.contentControl.$wrapper;
9553
9743
  }
9554
9744
  }));
9555
9745
  }
9556
9746
  if (theme.options.posterOptions !== null) {
9557
9747
  theme.posterControl = new Poster(_extends$1({}, theme.options.posterOptions || {}, {
9558
- getPopupContainer: function() {
9748
+ getPopupContainer: function getPopupContainer() {
9559
9749
  return theme.contentControl.$video;
9560
9750
  }
9561
9751
  }));
@@ -9585,7 +9775,7 @@ function _renderTheme(theme, data) {
9585
9775
  }
9586
9776
  if (filterThemeData.header) {
9587
9777
  theme._header = new Header({
9588
- getPopupContainer: function() {
9778
+ getPopupContainer: function getPopupContainer() {
9589
9779
  return theme.$container;
9590
9780
  },
9591
9781
  color: filterThemeData.header.color,
@@ -9600,7 +9790,7 @@ function _renderTheme(theme, data) {
9600
9790
  if (filterThemeData.footer) {
9601
9791
  // prettier-ignore
9602
9792
  theme._footer = new Footer({
9603
- getPopupContainer: function() {
9793
+ getPopupContainer: function getPopupContainer() {
9604
9794
  return theme.$container;
9605
9795
  },
9606
9796
  color: filterThemeData.footer.color,
@@ -9646,20 +9836,23 @@ function _renderTheme(theme, data) {
9646
9836
  _renderControls(theme, theme._footer.$left, leftBtns1, props);
9647
9837
  _renderControls(theme, theme._footer.$right, rightBtns1, props);
9648
9838
  }
9649
- 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 : []);
9839
+ 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 : []);
9650
9840
  // FIXME: 这个逻辑实际上是有问题的
9651
9841
  _needTimeLine = list.some(function(item) {
9652
9842
  return REC_GROUP.includes(item.iconId) || item.iconId === 'recDropdown';
9653
9843
  }) && ((_theme_urlInfo = theme.urlInfo) == null ? void 0 : _theme_urlInfo.type) === 'rec';
9844
+ // 处于播放区间约束中时不渲染日历:区间必然在同一天内,切到任何其它日期都会越界
9845
+ _hasPlaybackRange = !!((_theme_playbackRange = theme.playbackRange) == null ? void 0 : _theme_playbackRange.begin) && !!((_theme_playbackRange1 = theme.playbackRange) == null ? void 0 : _theme_playbackRange1.end);
9846
+ _needDatePicker = theme.options.dateOptions !== null && !_hasPlaybackRange;
9654
9847
  theme.$container.classList.remove("" + PREFIX_CLASS + "-has-time-line");
9655
9848
  // PC 单独渲染timeLine
9656
9849
  if (!Utils.isMobile && !(theme.options.timeLineOptions === null || theme.options.disabledTimeLine) && _needTimeLine) {
9657
9850
  theme._recFooter = new RecFooter(theme.$container, {
9658
- hasDatePicker: theme.options.dateOptions !== null,
9851
+ hasDatePicker: _needDatePicker,
9659
9852
  hasTimePicker: theme.options.timeOptions !== null
9660
9853
  });
9661
9854
  // 放置在 timeline 前面是为了防止 时间轴宽度设置后导致 图标按钮被挤出 footer
9662
- if (theme.options.dateOptions !== null) {
9855
+ if (_needDatePicker) {
9663
9856
  _renderDatePicker(theme, theme._recFooter.$datePickerContainer, props);
9664
9857
  }
9665
9858
  if (theme.options.timeOptions !== null) {
@@ -9679,14 +9872,19 @@ function _renderTheme(theme, data) {
9679
9872
  });
9680
9873
  if (hasPtz || _needTimeLine) {
9681
9874
  theme._mobileExtend = new MobileExtend(theme.$container);
9682
- if (theme.options.dateOptions !== null && ((_theme_options_mobileExtendOptions1 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions1.controls.includes('date')) && _needTimeLine) {
9875
+ // 播放区间约束下渲染片段进度条(紧贴播放控件下方)
9876
+ if (_hasPlaybackRange && theme.options.segmentProgressOptions !== null && ((_theme_options_mobileExtendOptions1 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions1.controls.includes('segmentProgress')) && _needTimeLine) {
9877
+ _renderSegmentProgress(theme, theme._mobileExtend.$segmentProgress, props);
9878
+ }
9879
+ if (_needDatePicker && ((_theme_options_mobileExtendOptions2 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions2.controls.includes('date')) && _needTimeLine) {
9683
9880
  _renderDatePicker(theme, theme._mobileExtend.$topLeft, props);
9684
9881
  }
9685
- if (theme.options.timeOptions !== null && ((_theme_options_mobileExtendOptions2 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions2.controls.includes('time')) && _needTimeLine) {
9882
+ if (theme.options.timeOptions !== null && ((_theme_options_mobileExtendOptions3 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions3.controls.includes('time')) && _needTimeLine) {
9686
9883
  _renderTimePicker(theme, theme._mobileExtend.$topLeft, props);
9687
9884
  }
9688
- if (theme.options.recOptions !== null && ((_theme_options_mobileExtendOptions3 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions3.controls.includes('rec')) && _needTimeLine) {
9689
- [].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) {
9885
+ // 回放类型切换正常渲染,用户点击后由 SDK 层在 recDropdownChange 事件中自行处理
9886
+ if (theme.options.recOptions !== null && ((_theme_options_mobileExtendOptions4 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions4.controls.includes('rec')) && _needTimeLine) {
9887
+ [].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) {
9690
9888
  var _theme__mobileExtend;
9691
9889
  if (REC_GROUP.includes(item.iconId)) _renderRecType(theme, (_theme__mobileExtend = theme._mobileExtend) == null ? void 0 : _theme__mobileExtend.$topRight, item.iconId, props);
9692
9890
  });
@@ -9696,7 +9894,7 @@ function _renderTheme(theme, data) {
9696
9894
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9697
9895
  theme.controls['alarmMessageControl'] = new Controls['alarmMessage'](_extends$1({
9698
9896
  rootContainer: theme.$container,
9699
- getPopupContainer: function() {
9897
+ getPopupContainer: function getPopupContainer() {
9700
9898
  var _theme__mobileExtend;
9701
9899
  return (_theme__mobileExtend = theme._mobileExtend) == null ? void 0 : _theme__mobileExtend.$topRight;
9702
9900
  },
@@ -9708,10 +9906,10 @@ function _renderTheme(theme, data) {
9708
9906
  props: props
9709
9907
  }));
9710
9908
  }
9711
- if ((theme.options.timeLineOptions !== null || !theme.options.disabledTimeLine) && ((_theme_options_mobileExtendOptions4 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions4.controls.includes('timeLine')) && _needTimeLine) {
9909
+ if ((theme.options.timeLineOptions !== null || !theme.options.disabledTimeLine) && ((_theme_options_mobileExtendOptions5 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions5.controls.includes('timeLine')) && _needTimeLine) {
9712
9910
  _renderTimeLine(theme, theme._mobileExtend.$content, props);
9713
9911
  }
9714
- 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) {
9912
+ 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) {
9715
9913
  theme.controls.ptzControl.renderMobileExtend(theme._mobileExtend.$content);
9716
9914
  }
9717
9915
  }
@@ -9730,32 +9928,49 @@ function _renderTheme(theme, data) {
9730
9928
  });
9731
9929
  })();
9732
9930
  }
9733
- var _renderTimeLine = function(theme, container, props) {
9931
+ var _renderTimeLine = function _renderTimeLine(theme, container, props) {
9734
9932
  if (props === void 0) props = {};
9735
9933
  if (!theme.controls.timeLineControl && theme.options.timeLineOptions !== null) {
9934
+ var _ref;
9736
9935
  var _theme_urlInfo, _theme_urlInfo1, _theme_options, _theme_options1, _this, _theme_options2;
9737
- var _showSectionIcon;
9738
9936
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9739
9937
  theme.controls.timeLineControl = new Controls['timeLine'](_extends$1({
9740
- getPopupContainer: function() {
9938
+ getPopupContainer: function getPopupContainer() {
9741
9939
  return container;
9742
9940
  },
9743
9941
  language: theme.options.language,
9744
9942
  locales: theme.i18n.translations,
9745
9943
  coverQuery: ((_theme_urlInfo = theme.urlInfo) == null ? void 0 : _theme_urlInfo.validateCode) ? "decodekey=" + ((_theme_urlInfo1 = theme.urlInfo) == null ? void 0 : _theme_urlInfo1.validateCode) : ''
9746
9944
  }, ((_theme_options = theme.options) == null ? void 0 : _theme_options["timeLineOptions"]) || {}, {
9747
- 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,
9945
+ 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,
9748
9946
  props: props
9749
9947
  }));
9750
9948
  }
9751
9949
  };
9752
- var _renderDatePicker = function(theme, container, props) {
9950
+ var _renderSegmentProgress = function _renderSegmentProgress(theme, container, props) {
9951
+ if (props === void 0) props = {};
9952
+ if (!theme.controls.segmentProgressControl && theme.options.segmentProgressOptions !== null) {
9953
+ var _theme_options;
9954
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9955
+ theme.controls.segmentProgressControl = new Controls['segmentProgress'](_extends$1({
9956
+ rootContainer: theme.$container,
9957
+ getPopupContainer: function getPopupContainer() {
9958
+ return container;
9959
+ },
9960
+ language: theme.options.language,
9961
+ locales: theme.i18n.translations
9962
+ }, ((_theme_options = theme.options) == null ? void 0 : _theme_options["segmentProgressOptions"]) || {}, {
9963
+ props: props
9964
+ }));
9965
+ }
9966
+ };
9967
+ var _renderDatePicker = function _renderDatePicker(theme, container, props) {
9753
9968
  if (props === void 0) props = {};
9754
9969
  if (!theme.controls.dateControl && theme.options.dateOptions !== null) {
9755
9970
  var _theme_options;
9756
9971
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9757
9972
  theme.controls.dateControl = new Controls['date'](_extends$1({
9758
- getPopupContainer: function() {
9973
+ getPopupContainer: function getPopupContainer() {
9759
9974
  return container;
9760
9975
  },
9761
9976
  language: theme.options.language,
@@ -9765,13 +9980,13 @@ var _renderDatePicker = function(theme, container, props) {
9765
9980
  }));
9766
9981
  }
9767
9982
  };
9768
- var _renderTimePicker = function(theme, container, props) {
9983
+ var _renderTimePicker = function _renderTimePicker(theme, container, props) {
9769
9984
  if (props === void 0) props = {};
9770
9985
  if (!theme.controls.timeControl && theme.options.timeOptions !== null) {
9771
9986
  var _theme_options;
9772
9987
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9773
9988
  theme.controls.timeControl = new Controls['time'](_extends$1({
9774
- getPopupContainer: function() {
9989
+ getPopupContainer: function getPopupContainer() {
9775
9990
  return container;
9776
9991
  },
9777
9992
  language: theme.options.language,
@@ -9781,14 +9996,14 @@ var _renderTimePicker = function(theme, container, props) {
9781
9996
  }));
9782
9997
  }
9783
9998
  };
9784
- var _renderRecType = function(theme, container, recType, props) {
9999
+ var _renderRecType = function _renderRecType(theme, container, recType, props) {
9785
10000
  if (props === void 0) props = {};
9786
10001
  var _theme_controls, _theme_controls1, _theme_controls2;
9787
10002
  if (!((_theme_controls = theme.controls) == null ? void 0 : _theme_controls['recControl']) && theme.options.recOptions !== null && container) {
9788
10003
  var _theme_options;
9789
10004
  // eslint-disable-next-line @typescript-eslint/dot-notation, new-cap, @typescript-eslint/no-unsafe-argument
9790
10005
  theme.controls['recControl'] = new Controls['rec'](_extends$1({
9791
- getPopupContainer: function() {
10006
+ getPopupContainer: function getPopupContainer() {
9792
10007
  return container;
9793
10008
  },
9794
10009
  recType: theme.recType,
@@ -9892,7 +10107,7 @@ var _renderRecType = function(theme, container, recType, props) {
9892
10107
  return width - leftWidth - rightWidth > offset;
9893
10108
  }
9894
10109
 
9895
- /* eslint-disable @typescript-eslint/no-non-null-assertion */ function _array_like_to_array(arr, len) {
10110
+ function _array_like_to_array(arr, len) {
9896
10111
  if (len == null || len > arr.length) len = arr.length;
9897
10112
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
9898
10113
  return arr2;
@@ -9905,11 +10120,8 @@ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
9905
10120
  reject(error);
9906
10121
  return;
9907
10122
  }
9908
- if (info.done) {
9909
- resolve(value);
9910
- } else {
9911
- Promise.resolve(value).then(_next, _throw);
9912
- }
10123
+ if (info.done) resolve(value);
10124
+ else Promise.resolve(value).then(_next, _throw);
9913
10125
  }
9914
10126
  function _async_to_generator(fn) {
9915
10127
  return function() {
@@ -9939,15 +10151,29 @@ function _create_class(Constructor, protoProps, staticProps) {
9939
10151
  if (protoProps) _defineProperties(Constructor.prototype, protoProps);
9940
10152
  return Constructor;
9941
10153
  }
10154
+ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
10155
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
10156
+ if (it) return (it = it.call(o)).next.bind(it);
10157
+ if (Array.isArray(o) || (it = _unsupported_iterable_to_array(o)) || allowArrayLike) {
10158
+ if (it) o = it;
10159
+ var i = 0;
10160
+ return function() {
10161
+ if (i >= o.length) return {
10162
+ done: true
10163
+ };
10164
+ return {
10165
+ done: false,
10166
+ value: o[i++]
10167
+ };
10168
+ };
10169
+ }
10170
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10171
+ }
9942
10172
  function _extends() {
9943
- _extends = Object.assign || function(target) {
10173
+ _extends = Object.assign || function assign(target) {
9944
10174
  for(var i = 1; i < arguments.length; i++){
9945
10175
  var source = arguments[i];
9946
- for(var key in source){
9947
- if (Object.prototype.hasOwnProperty.call(source, key)) {
9948
- target[key] = source[key];
9949
- }
9950
- }
10176
+ for(var key in source)if (Object.prototype.hasOwnProperty.call(source, key)) target[key] = source[key];
9951
10177
  }
9952
10178
  return target;
9953
10179
  };
@@ -9973,34 +10199,6 @@ function _set_prototype_of(o, p) {
9973
10199
  };
9974
10200
  return _set_prototype_of(o, p);
9975
10201
  }
9976
- function _unsupported_iterable_to_array(o, minLen) {
9977
- if (!o) return;
9978
- if (typeof o === "string") return _array_like_to_array(o, minLen);
9979
- var n = Object.prototype.toString.call(o).slice(8, -1);
9980
- if (n === "Object" && o.constructor) n = o.constructor.name;
9981
- if (n === "Map" || n === "Set") return Array.from(n);
9982
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
9983
- }
9984
- function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
9985
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
9986
- if (it) return (it = it.call(o)).next.bind(it);
9987
- if (Array.isArray(o) || (it = _unsupported_iterable_to_array(o)) || allowArrayLike) {
9988
- if (it) o = it;
9989
- var i = 0;
9990
- return function() {
9991
- if (i >= o.length) {
9992
- return {
9993
- done: true
9994
- };
9995
- }
9996
- return {
9997
- done: false,
9998
- value: o[i++]
9999
- };
10000
- };
10001
- }
10002
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10003
- }
10004
10202
  function _ts_generator(thisArg, body) {
10005
10203
  var f, y, t, _ = {
10006
10204
  label: 0,
@@ -10010,9 +10208,17 @@ function _ts_generator(thisArg, body) {
10010
10208
  },
10011
10209
  trys: [],
10012
10210
  ops: []
10013
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
10014
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
10015
- return this;
10211
+ }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype), d = Object.defineProperty;
10212
+ return d(g, "next", {
10213
+ value: verb(0)
10214
+ }), d(g, "throw", {
10215
+ value: verb(1)
10216
+ }), d(g, "return", {
10217
+ value: verb(2)
10218
+ }), typeof Symbol === "function" && d(g, Symbol.iterator, {
10219
+ value: function() {
10220
+ return this;
10221
+ }
10016
10222
  }), g;
10017
10223
  function verb(n) {
10018
10224
  return function(v) {
@@ -10092,6 +10298,14 @@ function _ts_generator(thisArg, body) {
10092
10298
  };
10093
10299
  }
10094
10300
  }
10301
+ function _unsupported_iterable_to_array(o, minLen) {
10302
+ if (!o) return;
10303
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
10304
+ var n = Object.prototype.toString.call(o).slice(8, -1);
10305
+ if (n === "Object" && o.constructor) n = o.constructor.name;
10306
+ if (n === "Map" || n === "Set") return Array.from(n);
10307
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
10308
+ }
10095
10309
  var THEME_DEFAULT_OPTIONS = {
10096
10310
  dblClickFullscreen: true,
10097
10311
  language: 'zh',
@@ -10145,6 +10359,7 @@ var THEME_DEFAULT_OPTIONS = {
10145
10359
  _inherits(Theme, EventEmitter);
10146
10360
  function Theme(options) {
10147
10361
  var _this;
10362
+ var _ref, _ref1, _ref2, _ref3, _ref4, _ref5;
10148
10363
  var _this_options_volumeOptions, _this_options_volumeOptions1, _this_options_speedOptions, _this_urlInfo_searchParams, _this_urlInfo, _this_options, _this_options1;
10149
10364
  _this = EventEmitter.call(this) || this, /** 播放器配置项 */ _this.options = THEME_DEFAULT_OPTIONS, _this.staticPath = '', /** 所有控件列表, 所有控件名称规则(`${iconId}Control`), 如音量控件 this.controls["volumeControl"] @since 0.0.1 */ _this.controls = {}, /**
10150
10365
  * @since 0.0.1
@@ -10165,7 +10380,11 @@ var THEME_DEFAULT_OPTIONS = {
10165
10380
  */ _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, /**
10166
10381
  * 移动端扩展容器, 扩展的控件渲染在指定容器以外, 仅只用端适用, 为了可以放置大的控件和方便开发接入
10167
10382
  * @private
10168
- */ _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, // /**
10383
+ */ _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 = [], /**
10384
+ * 播放区间(片段分享),null 表示不约束。
10385
+ * 由 SDK 层在初始化时通过 props 下发,主题层据此决定日历/回放类型按钮
10386
+ * 是否渲染、片段进度条是否渲染。区间没有运行时变更入口。
10387
+ */ _this.playbackRange = null, /** 窗口尺寸变化时,设置窗口超出隐藏,防止出现滚动条 */ _this._resizeOverflowTimer = null, // /**
10169
10388
  // * 记录回放的月份
10170
10389
  // *
10171
10390
  // * key: {序列号}_{通道号}_{rec | cloud | cloudRecord} 比如:BC7799091_1_rec BC7799091_1_cloud BC7799091_1_cloudRecord
@@ -10176,7 +10395,15 @@ var THEME_DEFAULT_OPTIONS = {
10176
10395
  // _recMonthObj: Record<string, string[]> = {};
10177
10396
  /**
10178
10397
  * 录像回放的月份列表 @private
10179
- */ _this.recMonth = [], /** 清理 header/footer 动画 定时器 @private */ _this._onPauseTimingFunc = null, /** 销毁标识 @readonly */ _this.destroyed = false, _this.scaleMode = 0, _this._videoInfo = {};
10398
+ */ _this.recMonth = [], /** 清理 header/footer 动画 定时器 @private */ _this._onPauseTimingFunc = null, /**
10399
+ * 首帧同步 Live/RecDropdown 激活态的监听器引用。
10400
+ * 每次 `_renderTheme` 重新绑定前需先移除旧引用,避免 changeTheme 累积监听。
10401
+ * @private
10402
+ */ _this._onFirstFrameSync = null, /**
10403
+ * 模板请求(getDetail)的中止控制器。
10404
+ * 重新渲染或销毁时中止在途请求,避免请求返回后在已销毁/已切换的 theme 上继续操作。
10405
+ * @private
10406
+ */ _this._templateAbortController = null, /** 销毁标识 @readonly */ _this.destroyed = false, _this.scaleMode = 0, _this._videoInfo = {};
10180
10407
  _this._initOptions(options);
10181
10408
  if (_this.options.type === 'ezopen') {
10182
10409
  var _this_urlInfo_searchParams1, _this_urlInfo1, _this_urlInfo2;
@@ -10198,7 +10425,7 @@ var THEME_DEFAULT_OPTIONS = {
10198
10425
  _this._initClassName();
10199
10426
  // 画布需要渲染在 this.contentControl.$content 内
10200
10427
  _this.contentControl = new Content({
10201
- getContainer: function() {
10428
+ getContainer: function getContainer() {
10202
10429
  return _this.$container;
10203
10430
  },
10204
10431
  scaleMode: _this.scaleMode
@@ -10208,18 +10435,15 @@ var THEME_DEFAULT_OPTIONS = {
10208
10435
  });
10209
10436
  // zoom utils
10210
10437
  __zoom(_this, _this.contentControl.$content, _extends({}, _this.options.zoomOptions || {}, {
10211
- onTap: function() {
10438
+ onTap: function onTap() {
10212
10439
  var _this__interactiveResult_setTimeoutShow, _this__interactiveResult;
10213
10440
  (_this__interactiveResult = _this._interactiveResult) == null ? void 0 : (_this__interactiveResult_setTimeoutShow = _this__interactiveResult.setTimeoutShow) == null ? void 0 : _this__interactiveResult_setTimeoutShow.call(_this__interactiveResult);
10214
10441
  }
10215
10442
  }));
10216
- var _this_options_volumeOptions_volume, _ref;
10217
- _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;
10218
- var _this_options_volumeOptions_muted, _ref1;
10219
- _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;
10220
- var _this_options_speedOptions_value, _ref2;
10443
+ _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;
10444
+ _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;
10221
10445
  // playbackSpeed 是 萤石标准流倍速字段
10222
- _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);
10446
+ _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);
10223
10447
  _this._mobileInnerWidthHeight = _this._mobileInnerWidthHeight.bind(_this);
10224
10448
  _this._throttleMobileInnerWidthHeight = throttle(_this._mobileInnerWidthHeight, 20).bind(_this);
10225
10449
  _this._onDblClickFullscreen = debounce(_this._onDblClickFullscreen, 20).bind(_this);
@@ -10247,9 +10471,9 @@ var THEME_DEFAULT_OPTIONS = {
10247
10471
  // flv / mp4:支持自定义 themeData,未传时回退到标准直播模板 LiveTemplate(2026-01-19 起支持自定义)
10248
10472
  initialThemeData = themeData !== undefined ? themeData : LiveTemplate;
10249
10473
  } else {
10250
- var _ref3;
10474
+ var _ref6;
10251
10475
  // 其余类型(如 ezopen 私有流):template 优先级高于 themeData,二者都未设置时为 null
10252
- initialThemeData = (_ref3 = template != null ? template : themeData) != null ? _ref3 : null;
10476
+ initialThemeData = (_ref6 = template != null ? template : themeData) != null ? _ref6 : null;
10253
10477
  }
10254
10478
  _this._renderTheme(initialThemeData);
10255
10479
  _this._addEventListener();
@@ -10431,12 +10655,15 @@ var THEME_DEFAULT_OPTIONS = {
10431
10655
  * ```
10432
10656
  */ _proto.destroy = function destroy() {
10433
10657
  var _this = this;
10434
- var _this_contentControl, _this_$container;
10658
+ var // 中止在途的模板请求,避免其回调在已销毁的 theme 上继续执行
10659
+ _this__templateAbortController, _this_contentControl, _this_$container;
10435
10660
  if (!this.$container || this.destroyed) {
10436
10661
  // 防止多次销毁
10437
10662
  return;
10438
10663
  }
10439
10664
  this.emit(EVENTS.theme.beforeDestroy);
10665
+ (_this__templateAbortController = this._templateAbortController) == null ? void 0 : _this__templateAbortController.abort();
10666
+ this._templateAbortController = null;
10440
10667
  this._removeEventListener();
10441
10668
  _unmountedControls(this);
10442
10669
  (_this_contentControl = this.contentControl) == null ? void 0 : _this_contentControl.destroy();
@@ -10471,7 +10698,12 @@ var THEME_DEFAULT_OPTIONS = {
10471
10698
  /** 初始化配置项 */ _proto._initOptions = function _initOptions(options) {
10472
10699
  if (options === void 0) options = {};
10473
10700
  var _this_options_loggerOptions, _this_options_definitionOptions_list, _this_options_definitionOptions, _this_options_videoLevelList;
10474
- this.options = deepmerge(THEME_DEFAULT_OPTIONS, options, {
10701
+ // 先对模块级默认配置做一次深拷贝,得到全新的嵌套对象/数组,
10702
+ // 避免 this.options 与 THEME_DEFAULT_OPTIONS(如 mobileExtendOptions.controls、env、loggerOptions)
10703
+ // 共享引用而在多实例间相互污染。
10704
+ // 仍对用户 options 使用 clone:false —— container 可能是 DOM 节点/函数,深拷贝会破坏它。
10705
+ var defaults = deepmerge({}, THEME_DEFAULT_OPTIONS);
10706
+ this.options = deepmerge(defaults, options, {
10475
10707
  clone: false
10476
10708
  });
10477
10709
  this._url = this.options.url;
@@ -10506,10 +10738,12 @@ var THEME_DEFAULT_OPTIONS = {
10506
10738
  this.logger.log('[options] \n', this.options);
10507
10739
  }
10508
10740
  var language = this.options.language || 'zh';
10509
- var locales = deepmerge({
10741
+ // 深拷贝内置语言包,避免与模块级 zh/en 常量共享引用(I18n 若对其做合并/修改会污染全局)
10742
+ var baseLocales = deepmerge({}, {
10510
10743
  zh: zh,
10511
10744
  en: en
10512
- }, this.options.locales || {}, {
10745
+ });
10746
+ var locales = deepmerge(baseLocales, this.options.locales || {}, {
10513
10747
  clone: false
10514
10748
  });
10515
10749
  // prettier-ignore
@@ -10590,7 +10824,7 @@ var THEME_DEFAULT_OPTIONS = {
10590
10824
  this._fullscreen = new Fullscreen$1(this.$container, {
10591
10825
  prefix: PREFIX_CLASS,
10592
10826
  // 全屏变化
10593
- onChange: function(info) {
10827
+ onChange: function onChange(info) {
10594
10828
  if (info.isCurrentFullscreen) {
10595
10829
  _this.emit(EVENTS.fullscreen);
10596
10830
  } else if (_this._isCurrentFullscreen) {
@@ -10608,7 +10842,7 @@ var THEME_DEFAULT_OPTIONS = {
10608
10842
  }
10609
10843
  });
10610
10844
  // ------------------------------ 旋转方向 -----------------------------
10611
- var rotateOrientation = function(orientation) {
10845
+ var rotateOrientation = function rotateOrientation(orientation) {
10612
10846
  if (_this.$container) {
10613
10847
  var // 重置移除旋转角度
10614
10848
  _this_$container_classList;
@@ -10731,7 +10965,7 @@ var THEME_DEFAULT_OPTIONS = {
10731
10965
  language: this.options.language,
10732
10966
  locales: this.i18n.translations,
10733
10967
  rootContainer: this.$container,
10734
- getPopupContainer: function() {
10968
+ getPopupContainer: function getPopupContainer() {
10735
10969
  var _this__header;
10736
10970
  return (_this__header = _this._header) == null ? void 0 : _this__header.$right;
10737
10971
  },
@@ -10743,7 +10977,7 @@ var THEME_DEFAULT_OPTIONS = {
10743
10977
  8
10744
10978
  ],
10745
10979
  wrapClassName: "" + PREFIX_CLASS + "-header-more",
10746
- onOpenChange: function(open) {
10980
+ onOpenChange: function onOpenChange(open) {
10747
10981
  _this.emit(EVENTS.control.headerMorePanelOpenChange, open);
10748
10982
  }
10749
10983
  });
@@ -10786,7 +11020,7 @@ var THEME_DEFAULT_OPTIONS = {
10786
11020
  language: this.options.language,
10787
11021
  locales: this.i18n.translations,
10788
11022
  rootContainer: this.$container,
10789
- getPopupContainer: function() {
11023
+ getPopupContainer: function getPopupContainer() {
10790
11024
  var _this__footer;
10791
11025
  return (_this__footer = _this._footer) == null ? void 0 : _this__footer.$right;
10792
11026
  },
@@ -10798,7 +11032,7 @@ var THEME_DEFAULT_OPTIONS = {
10798
11032
  -8
10799
11033
  ],
10800
11034
  wrapClassName: "" + PREFIX_CLASS + "-footer-more",
10801
- onOpenChange: function(open) {
11035
+ onOpenChange: function onOpenChange(open) {
10802
11036
  _this.emit(EVENTS.control.footerMorePanelOpenChange, open);
10803
11037
  }
10804
11038
  });
@@ -11314,6 +11548,7 @@ var THEME_DEFAULT_OPTIONS = {
11314
11548
  * theme.on(Theme.EVENTS.zoomChange, (zoom: number) => {})
11315
11549
  * ```
11316
11550
  */ function set(zoom) {
11551
+ var _ref;
11317
11552
  var _this_options_zoomOptions;
11318
11553
  if (!this._zooming) {
11319
11554
  var _this_messageControl_info, _this_messageControl, _this_logger;
@@ -11322,8 +11557,7 @@ var THEME_DEFAULT_OPTIONS = {
11322
11557
  return;
11323
11558
  }
11324
11559
  zoom = +zoom.toFixed(1);
11325
- var _this_options_zoomOptions_max;
11326
- 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;
11560
+ var ZOOM_MAX = (_ref = (_this_options_zoomOptions = this.options.zoomOptions) == null ? void 0 : _this_options_zoomOptions.max) != null ? _ref : ZOOM_DEFAULT_OPTIONS.max;
11327
11561
  if (zoom > ZOOM_MAX) {
11328
11562
  var _this_messageControl_info1, _this_messageControl1, _this_logger1;
11329
11563
  (_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', {
@@ -11527,6 +11761,6 @@ var THEME_DEFAULT_OPTIONS = {
11527
11761
  zh: zh,
11528
11762
  en: en
11529
11763
  };
11530
- /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.2-beta.3';
11764
+ /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.3-beta.1';
11531
11765
 
11532
11766
  export { Control, EVENTS, Fullscreen, Loading, Message, Play, Poster, Rec, Theme, Utils, Volume };