@ezuikit/player-theme 3.0.2-beta.1 → 3.1.0-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.0.2-beta.1
3
- * Copyright (c) 2026-05-15 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v3.1.0-beta.1
3
+ * Copyright (c) 2026-06-24 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  import EventEmitter from 'eventemitter3';
@@ -13,13 +13,12 @@ import I18n from '@ezuikit/utils-i18n';
13
13
  import Logger from '@ezuikit/utils-logger';
14
14
  import Zoom$1 from '@ezuikit/control-zoom';
15
15
  import { Ptz as Ptz$1, MobilePtz } from '@ezuikit/control-ptz';
16
- import { DatePicker } from '@ezuikit/control-date-picker';
16
+ import { DatePicker, TimePicker } from '@ezuikit/control-date-picker';
17
17
  import { MobileTimeLine, TimeLine } from '@ezuikit/control-time-line';
18
18
 
19
19
  /**
20
20
  * 播放器的类名前缀
21
21
  */ var PREFIX_CLASS = 'ezplayer';
22
- /** */ var DATE_PICKER_ICON_WIDTH = 36;
23
22
  /** 填充模式 */ var THEME_SCALE_MODE_TYPE = {
24
23
  /** 画面完全填充canvas区域,画面会被拉伸 */ full: 0,
25
24
  /** 画面做等比缩放后,高或宽对齐canvas区域,画面不被拉伸,但有黑边 */ auto: 1,
@@ -143,6 +142,9 @@ var EVENTS = {
143
142
  /** 麦克风音量变化 */ talkVolumeChange: 'talkVolumeChange',
144
143
  /** 语音广播状态变化 */ broadcastChange: 'broadcastChange',
145
144
  /** AI对话框状态变化 */ aichatChange: 'aichatChange',
145
+ /** 直播模式切换 */ liveChange: 'liveChange',
146
+ /** 回放下拉选择变化 */ recDropdownChange: 'recDropdownChange',
147
+ /** 告警消息面板状态变化 */ alarmMessageChange: 'alarmMessageChange',
146
148
  /** 动态切换日志配置 */ setLoggerOptions: 'setLoggerOptions',
147
149
  records: 'records',
148
150
  ptzSpeedChange: 'ptzSpeedChange',
@@ -190,6 +192,12 @@ var EVENTS = {
190
192
  /** 语音广播控件销毁 */ broadcastDestroy: 'Control.broadcastDestroy',
191
193
  /** AI对话框状态变化 */ aichatChange: 'Control.aichatChange',
192
194
  /** AI对话框控件销毁 */ aichatDestroy: 'Control.aichatDestroy',
195
+ /** 直播按钮点击 */ liveChange: 'Control.liveChange',
196
+ /** 直播控件销毁 */ liveDestroy: 'Control.liveDestroy',
197
+ /** 回放下拉选择变化 */ recDropdownChange: 'Control.recDropdownChange',
198
+ /** 回放下拉控件销毁 */ recDropdownDestroy: 'Control.recDropdownDestroy',
199
+ /** 告警消息面板开关 */ alarmMessageChange: 'Control.alarmMessageChange',
200
+ /** 告警消息面板销毁 */ alarmMessageDestroy: 'Control.alarmMessageDestroy',
193
201
  /** 缩放比例改变 */ zoomChange: 'Control.zoomChange',
194
202
  /** 音量调节面板 展示隐藏变换 */ zoomPanelOpenChange: 'Control.zoomPanelOpenChange',
195
203
  /** 缩放控件销毁 */ zoomDestroy: 'Control.zoomDestroy',
@@ -199,6 +207,8 @@ var EVENTS = {
199
207
  /** 日期改变 */ dateChange: 'Control.dateChange',
200
208
  /** 日期改变 */ dateMonthChange: 'Control.dateMonthChange',
201
209
  /** 日期销毁 */ dateDestroy: 'Control.datePanelDestroy',
210
+ /** 时间面板展示隐藏变换 */ timePanelOpenChange: 'Control.timePanelOpenChange',
211
+ /** 时间改变 */ timeChange: 'Control.timeChange',
202
212
  /** 时间轴拖动结束 */ timeLineChange: 'Control.timeLineChange',
203
213
  /** 时间轴图片列表面板 */ timeLinePanelOpenChange: 'Control.timeLinePanelOpenChange',
204
214
  /** 时间轴控件销毁 */ timeLineDestroy: 'Control.timeLineDestroy',
@@ -241,7 +251,7 @@ function _create_class$9(Constructor, protoProps, staticProps) {
241
251
  if (protoProps) _defineProperties$9(Constructor.prototype, protoProps);
242
252
  return Constructor;
243
253
  }
244
- function _inherits$t(subClass, superClass) {
254
+ function _inherits$x(subClass, superClass) {
245
255
  if (typeof superClass !== "function" && superClass !== null) {
246
256
  throw new TypeError("Super expression must either be null or a function");
247
257
  }
@@ -252,14 +262,14 @@ function _inherits$t(subClass, superClass) {
252
262
  configurable: true
253
263
  }
254
264
  });
255
- if (superClass) _set_prototype_of$t(subClass, superClass);
265
+ if (superClass) _set_prototype_of$x(subClass, superClass);
256
266
  }
257
- function _set_prototype_of$t(o, p) {
258
- _set_prototype_of$t = Object.setPrototypeOf || function setPrototypeOf(o, p) {
267
+ function _set_prototype_of$x(o, p) {
268
+ _set_prototype_of$x = Object.setPrototypeOf || function setPrototypeOf(o, p) {
259
269
  o.__proto__ = p;
260
270
  return o;
261
271
  };
262
- return _set_prototype_of$t(o, p);
272
+ return _set_prototype_of$x(o, p);
263
273
  }
264
274
  /**
265
275
  * 控件基类
@@ -273,7 +283,7 @@ function _set_prototype_of$t(o, p) {
273
283
  * const myControl = new MyControl({})
274
284
  * ```
275
285
  */ var Control = /*#__PURE__*/ function(EventEmitter) {
276
- _inherits$t(Control, EventEmitter);
286
+ _inherits$x(Control, EventEmitter);
277
287
  function Control(options) {
278
288
  var _this;
279
289
  var _this___options;
@@ -365,7 +375,7 @@ function _set_prototype_of$t(o, p) {
365
375
  if (this._camelCaseName) {
366
376
  this.emit("Control." + this._camelCaseName + "Destroy");
367
377
  }
368
- if (((_this___options = this.__options) == null ? void 0 : _this___options.controlType) !== 'block') this.$container.addEventListener('dblclick', this._onDBlClick);
378
+ if (((_this___options = this.__options) == null ? void 0 : _this___options.controlType) !== 'block') this.$container.removeEventListener('dblclick', this._onDBlClick);
369
379
  this._active = false;
370
380
  this.removeAllListeners();
371
381
  (_this_$container = this.$container) == null ? void 0 : (_this_$container_remove = _this_$container.remove) == null ? void 0 : _this_$container_remove.call(_this_$container);
@@ -448,8 +458,8 @@ function _set_prototype_of$t(o, p) {
448
458
  return Control;
449
459
  }(EventEmitter);
450
460
 
451
- function _extends$s() {
452
- _extends$s = Object.assign || function(target) {
461
+ function _extends$w() {
462
+ _extends$w = Object.assign || function(target) {
453
463
  for(var i = 1; i < arguments.length; i++){
454
464
  var source = arguments[i];
455
465
  for(var key in source){
@@ -460,9 +470,9 @@ function _extends$s() {
460
470
  }
461
471
  return target;
462
472
  };
463
- return _extends$s.apply(this, arguments);
473
+ return _extends$w.apply(this, arguments);
464
474
  }
465
- function _inherits$s(subClass, superClass) {
475
+ function _inherits$w(subClass, superClass) {
466
476
  if (typeof superClass !== "function" && superClass !== null) {
467
477
  throw new TypeError("Super expression must either be null or a function");
468
478
  }
@@ -473,25 +483,25 @@ function _inherits$s(subClass, superClass) {
473
483
  configurable: true
474
484
  }
475
485
  });
476
- if (superClass) _set_prototype_of$s(subClass, superClass);
486
+ if (superClass) _set_prototype_of$w(subClass, superClass);
477
487
  }
478
- function _set_prototype_of$s(o, p) {
479
- _set_prototype_of$s = Object.setPrototypeOf || function setPrototypeOf(o, p) {
488
+ function _set_prototype_of$w(o, p) {
489
+ _set_prototype_of$w = Object.setPrototypeOf || function setPrototypeOf(o, p) {
480
490
  o.__proto__ = p;
481
491
  return o;
482
492
  };
483
- return _set_prototype_of$s(o, p);
493
+ return _set_prototype_of$w(o, p);
484
494
  }
485
495
  var LOADING_DEFAULT_OPTIONS = {};
486
496
  /**
487
497
  * 加载动画控件
488
498
  * @category Control
489
499
  */ var Loading = /*#__PURE__*/ function(Control) {
490
- _inherits$s(Loading, Control);
500
+ _inherits$w(Loading, Control);
491
501
  function Loading(options) {
492
502
  if (options === void 0) options = {};
493
503
  var _this;
494
- _this = Control.call(this, Object.assign({}, LOADING_DEFAULT_OPTIONS, _extends$s({}, options, {
504
+ _this = Control.call(this, Object.assign({}, LOADING_DEFAULT_OPTIONS, _extends$w({}, options, {
495
505
  tagName: 'div',
496
506
  controlType: 'block',
497
507
  classNameSuffix: 'loading'
@@ -529,8 +539,8 @@ var LOADING_DEFAULT_OPTIONS = {};
529
539
  return Loading;
530
540
  }(Control);
531
541
 
532
- function _extends$r() {
533
- _extends$r = Object.assign || function(target) {
542
+ function _extends$v() {
543
+ _extends$v = Object.assign || function(target) {
534
544
  for(var i = 1; i < arguments.length; i++){
535
545
  var source = arguments[i];
536
546
  for(var key in source){
@@ -541,9 +551,9 @@ function _extends$r() {
541
551
  }
542
552
  return target;
543
553
  };
544
- return _extends$r.apply(this, arguments);
554
+ return _extends$v.apply(this, arguments);
545
555
  }
546
- function _inherits$r(subClass, superClass) {
556
+ function _inherits$v(subClass, superClass) {
547
557
  if (typeof superClass !== "function" && superClass !== null) {
548
558
  throw new TypeError("Super expression must either be null or a function");
549
559
  }
@@ -554,14 +564,14 @@ function _inherits$r(subClass, superClass) {
554
564
  configurable: true
555
565
  }
556
566
  });
557
- if (superClass) _set_prototype_of$r(subClass, superClass);
567
+ if (superClass) _set_prototype_of$v(subClass, superClass);
558
568
  }
559
- function _set_prototype_of$r(o, p) {
560
- _set_prototype_of$r = Object.setPrototypeOf || function setPrototypeOf(o, p) {
569
+ function _set_prototype_of$v(o, p) {
570
+ _set_prototype_of$v = Object.setPrototypeOf || function setPrototypeOf(o, p) {
561
571
  o.__proto__ = p;
562
572
  return o;
563
573
  };
564
- return _set_prototype_of$r(o, p);
574
+ return _set_prototype_of$v(o, p);
565
575
  }
566
576
  // 不放在服务器上 是因为有可能http加载失败
567
577
  // prettier-ignore
@@ -573,11 +583,11 @@ var POSTER_OPTIONS = {
573
583
  * 封面控件
574
584
  * @category Control
575
585
  */ var Poster = /*#__PURE__*/ function(Control) {
576
- _inherits$r(Poster, Control);
586
+ _inherits$v(Poster, Control);
577
587
  function Poster(options) {
578
588
  if (options === void 0) options = {};
579
589
  var _this;
580
- _this = Control.call(this, Object.assign({}, POSTER_OPTIONS, _extends$r({}, options, {
590
+ _this = Control.call(this, Object.assign({}, POSTER_OPTIONS, _extends$v({}, options, {
581
591
  tagName: 'div',
582
592
  controlType: 'block',
583
593
  classNameSuffix: 'poster'
@@ -683,7 +693,11 @@ var Icons = {
683
693
  warnCircleOutLined: '<svg width="1em" height="1em" viewBox="0 0 16 16" fill="currentColor" focusable="false" aria-hidden="true" data-icon="info-circle">\n <path d="M8 1C11.866 1 15 4.13401 15 8C15 11.866 11.866 15 8 15C4.13401 15 1 11.866 1 8C1 4.13401 4.13401 1 8 1ZM8 2C4.68629 2 2 4.68629 2 8C2 11.3137 4.68629 14 8 14C11.3137 14 14 11.3137 14 8C14 4.68629 11.3137 2 8 2ZM7.5 8.875C7.5 8.94375 7.55625 9 7.625 9L8.375 9C8.44375 9 8.5 8.94375 8.5 8.875L8.5 4.625C8.5 4.55625 8.44375 4.5 8.375 4.5L7.625 4.5C7.55625 4.5 7.5 4.55625 7.5 4.625L7.5 8.875ZM7.25 10.75C7.25 11.1642 7.58579 11.5 8 11.5C8.41421 11.5 8.75 11.1642 8.75 10.75C8.75 10.3358 8.41421 10 8 10C7.58579 10 7.25 10.3358 7.25 10.75Z" fill-rule="evenodd" />\n </svg>',
684
694
  date: '<svg width="1em" height="1em" viewBox="0 0 20 20" fill="currentColor" focusable="false" aria-hidden="true" data-icon="date">\n <g>\n <path d="m13.35,5.9c-0.3,0 -0.5,-0.2 -0.5,-0.5l0,-3.3c0,-0.3 0.2,-0.5 0.5,-0.5s0.5,0.2 0.5,0.5l0,3.3c0,0.3 -0.3,0.5 -0.5,0.5z" />\n <path d="m6.65,5.9c-0.3,0 -0.5,-0.2 -0.5,-0.5l0,-3.3c0,-0.3 0.2,-0.5 0.5,-0.5s0.5,0.2 0.5,0.5l0,3.3c0,0.3 -0.2,0.5 -0.5,0.5z" />\n <path d="m17.45,8.4l-15,0c-0.3,0 -0.5,-0.2 -0.5,-0.5s0.2,-0.5 0.5,-0.5l15,0c0.3,0 0.5,0.2 0.5,0.5s-0.2,0.5 -0.5,0.5z" />\n <path d="m15.85,18.4l-11.7,0c-1.2,0 -2.2,-1 -2.2,-2.2l0,-10.8c0,-1.2 1,-2.2 2.2,-2.2l11.7,0c1.2,0 2.2,1 2.2,2.2l0,10.8c-0.1,1.3 -1,2.2 -2.2,2.2zm-11.7,-14.1c-0.6,0 -1.2,0.5 -1.2,1.2l0,10.8c0,0.6 0.5,1.2 1.2,1.2l11.7,0c0.6,0 1.2,-0.5 1.2,-1.2l0,-10.9c0,-0.6 -0.5,-1.2 -1.2,-1.2l-11.7,0l0,0.1z" />\n <path d="m9.95,12c-0.4,0 -0.7,-0.3 -0.7,-0.7c0,-0.2 0.1,-0.4 0.2,-0.5s0.3,-0.2 0.5,-0.2l0,0l0,0c0.4,0 0.7,0.3 0.7,0.7s-0.3,0.7 -0.7,0.7z" />\n <path d="m14.15,12c-0.4,0 -0.7,-0.3 -0.7,-0.7c0,-0.2 0.1,-0.4 0.2,-0.5c0.1,-0.1 0.3,-0.2 0.5,-0.2c0.4,0 0.7,0.3 0.7,0.7s-0.3,0.7 -0.7,0.7zm0,-1c-0.2,0 -0.3,0.1 -0.3,0.3c0,0.2 0.3,0.4 0.5,0.2c0.1,-0.1 0.1,-0.1 0.1,-0.2c0,-0.2 -0.1,-0.3 -0.3,-0.3z" />\n <path d="m5.85,15.3c-0.4,0 -0.7,-0.3 -0.7,-0.7c0,-0.2 0.1,-0.4 0.2,-0.5c0.1,-0.1 0.3,-0.2 0.5,-0.2l0,0l0,0c0.4,0 0.7,0.3 0.7,0.7c0,0.4 -0.3,0.7 -0.7,0.7z" />\n <path d="m9.95,15.3c-0.4,0 -0.7,-0.3 -0.7,-0.7c0,-0.2 0.1,-0.4 0.2,-0.5c0.1,-0.1 0.3,-0.2 0.5,-0.2l0,0l0,0c0.4,0 0.7,0.3 0.7,0.7c0.1,0.4 -0.3,0.7 -0.7,0.7z" />\n </g>\n </svg>',
685
695
  add: '<svg fill="currentColor" width="1em" height="1em" viewBox="0 0 20 20" focusable="false" aria-hidden="true" data-icon="add">\n <path d="M10.5859 2.96875L9.41406 2.96875C9.3099 2.96875 9.25781 3.02083 9.25781 3.125L9.25781 9.25781L3.4375 9.25781C3.38542 9.25781 3.34635 9.27083 3.32031 9.29688C3.29427 9.32292 3.28125 9.36198 3.28125 9.41406L3.28125 10.5859C3.28125 10.6901 3.33333 10.7422 3.4375 10.7422L9.25781 10.7422L9.25781 16.875C9.25781 16.9792 9.3099 17.0312 9.41406 17.0312L10.5859 17.0312C10.6901 17.0312 10.7422 16.9792 10.7422 16.875L10.7422 10.7422L16.5625 10.7422C16.6667 10.7422 16.7188 10.6901 16.7188 10.5859L16.7188 9.41406C16.7188 9.3099 16.6667 9.25781 16.5625 9.25781L10.7422 9.25781L10.7422 3.125C10.7422 3.07292 10.7292 3.03385 10.7031 3.00781C10.6771 2.98177 10.638 2.96875 10.5859 2.96875Z" fill-rule="evenodd" /></svg>',
686
- reduce: '<svg fill="currentColor" width="1em" height="1em" viewBox="0 0 20 20" focusable="false" aria-hidden="true" data-icon="reduce">\n <path d="M3.4375 9.25781L16.5625 9.25781C16.6667 9.25781 16.7188 9.3099 16.7188 9.41406L16.7188 10.5859C16.7188 10.6901 16.6667 10.7422 16.5625 10.7422L3.4375 10.7422C3.33333 10.7422 3.28125 10.6901 3.28125 10.5859L3.28125 9.41406C3.28125 9.3099 3.33333 9.25781 3.4375 9.25781Z" fill-rule="evenodd" />\n </svg>'
696
+ reduce: '<svg fill="currentColor" width="1em" height="1em" viewBox="0 0 20 20" focusable="false" aria-hidden="true" data-icon="reduce">\n <path d="M3.4375 9.25781L16.5625 9.25781C16.6667 9.25781 16.7188 9.3099 16.7188 9.41406L16.7188 10.5859C16.7188 10.6901 16.6667 10.7422 16.5625 10.7422L3.4375 10.7422C3.33333 10.7422 3.28125 10.6901 3.28125 10.5859L3.28125 9.41406C3.28125 9.3099 3.33333 9.25781 3.4375 9.25781Z" fill-rule="evenodd" />\n </svg>',
697
+ /** 直播 */ live: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" focusable="false" aria-hidden="true" data-icon="live">\n <rect width="18" height="13" x="3" y="7" rx="1.6" stroke-linejoin="round" stroke-width="1.5"/>\n <path d="M8.26636 4.8L10.466 7" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>\n <path d="M15.996 4.8L13.796 7" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>\n <path d="M9.8 17L15.4 13.354L9.8 10L9.8 17Z" fill="currentColor" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>\n </svg>',
698
+ /** 回放 */ recDropdown: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" focusable="false" aria-hidden="true" data-icon="rec-dropdown">\n <path d="M9.168 2.556C9.168 2.556 12.51 4.445 12 4.445C7.306 4.445 3.5 8.251 3.5 12.945C3.5 17.64 7.306 21.445 12 21.445C16.695 21.445 20.5 17.64 20.5 12.945C20.5 10.622 19.568 8.517 18.058 6.982" stroke-linecap="round" stroke-width="1.5"/>\n <path d="M11.61 9.829L11.61 13.731L16.064 13.731" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>\n </svg>',
699
+ /** 消息/告警 */ alarmMessage: '<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" focusable="false" aria-hidden="true" data-icon="alarm-message">\n <path d="M9.708 18.344L9.708 18.709C9.708 19.974 10.734 21 12 21C13.266 21 14.292 19.974 14.292 18.709L14.292 18.343" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>\n <path d="M13.833 5.751L13.833 4.833C13.833 3.821 13.013 3 12 3C10.987 3 10.167 3.821 10.167 4.833L10.167 5.751" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>\n <path d="M6.563 10.189C6.563 7.686 8.592 5.657 11.094 5.657L12.907 5.657C15.41 5.657 17.438 7.686 17.438 10.189L17.438 12.986C17.438 13.516 17.649 14.025 18.024 14.4L18.665 15.04C19.04 15.416 19.251 15.925 19.251 16.455C19.251 17.499 18.405 18.345 17.361 18.345L6.64 18.345C5.596 18.345 4.75 17.499 4.75 16.455C4.75 15.925 4.961 15.416 5.336 15.04L5.977 14.4C6.352 14.025 6.563 13.516 6.563 12.986L6.563 10.189Z" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.5"/>\n </svg>',
700
+ time: '<svg fill="currentColor" width="1em" height="1em" viewBox="0 0 20 20" focusable="false" aria-hidden="true" data-icon="time">\n <path d="M10 1.66504C14.6026 1.66521 18.333 5.39635 18.333 9.99902C18.3328 14.6015 14.6025 18.3319 10 18.332C5.39733 18.332 1.66619 14.6017 1.66602 9.99902C1.66602 5.39624 5.39722 1.66504 10 1.66504ZM10 2.91504C6.08758 2.91504 2.91602 6.0866 2.91602 9.99902C2.91619 13.9113 6.08769 17.082 10 17.082C13.9122 17.0819 17.0828 13.9112 17.083 9.99902C17.083 6.08671 13.9123 2.91521 10 2.91504ZM10 6.875C10.3451 6.87508 10.625 7.1549 10.625 7.5V9.59863L10.71 9.63672C12.71 10.5481 13.253 10.796 13.6406 10.9727L13.7217 11.0098L13.8008 11.0459C13.8799 11.082 13.9609 11.1179 14.0557 11.1611C14.3697 11.3043 14.5083 11.6752 14.3652 11.9893C14.2221 12.3034 13.8512 12.442 13.5371 12.2988C13.4108 12.2412 13.3093 12.1949 13.2031 12.1465L13.1221 12.1094C12.7068 11.9201 12.1127 11.6495 9.74023 10.5684C9.51771 10.4667 9.375 10.2447 9.375 10V7.5C9.37504 7.15485 9.65485 6.875 10 6.875Z"/>\n </svg>'
687
701
  };
688
702
 
689
703
  /**
@@ -841,11 +855,27 @@ var IconComponents = {
841
855
  reduce: function(attr) {
842
856
  if (attr === void 0) attr = {};
843
857
  return createIcon(Icons.reduce, 'reduce', attr);
858
+ },
859
+ /** 直播 */ live: function(attr) {
860
+ if (attr === void 0) attr = {};
861
+ return createIcon(Icons.live, 'live', attr);
862
+ },
863
+ /** 回放 */ recDropdown: function(attr) {
864
+ if (attr === void 0) attr = {};
865
+ return createIcon(Icons.recDropdown, 'rec-dropdown', attr);
866
+ },
867
+ /** 消息 */ alarmMessage: function(attr) {
868
+ if (attr === void 0) attr = {};
869
+ return createIcon(Icons.alarmMessage, 'alarm-message', attr);
870
+ },
871
+ time: function(attr) {
872
+ if (attr === void 0) attr = {};
873
+ return createIcon(Icons.time, 'time', attr);
844
874
  }
845
875
  };
846
876
 
847
- function _extends$q() {
848
- _extends$q = Object.assign || function(target) {
877
+ function _extends$u() {
878
+ _extends$u = Object.assign || function(target) {
849
879
  for(var i = 1; i < arguments.length; i++){
850
880
  var source = arguments[i];
851
881
  for(var key in source){
@@ -856,9 +886,9 @@ function _extends$q() {
856
886
  }
857
887
  return target;
858
888
  };
859
- return _extends$q.apply(this, arguments);
889
+ return _extends$u.apply(this, arguments);
860
890
  }
861
- function _inherits$q(subClass, superClass) {
891
+ function _inherits$u(subClass, superClass) {
862
892
  if (typeof superClass !== "function" && superClass !== null) {
863
893
  throw new TypeError("Super expression must either be null or a function");
864
894
  }
@@ -869,25 +899,25 @@ function _inherits$q(subClass, superClass) {
869
899
  configurable: true
870
900
  }
871
901
  });
872
- if (superClass) _set_prototype_of$q(subClass, superClass);
902
+ if (superClass) _set_prototype_of$u(subClass, superClass);
873
903
  }
874
- function _set_prototype_of$q(o, p) {
875
- _set_prototype_of$q = Object.setPrototypeOf || function setPrototypeOf(o, p) {
904
+ function _set_prototype_of$u(o, p) {
905
+ _set_prototype_of$u = Object.setPrototypeOf || function setPrototypeOf(o, p) {
876
906
  o.__proto__ = p;
877
907
  return o;
878
908
  };
879
- return _set_prototype_of$q(o, p);
909
+ return _set_prototype_of$u(o, p);
880
910
  }
881
911
  var MESSAGE_DEFAULT_OPTIONS = {};
882
912
  /**
883
913
  * 消息控件
884
914
  * @category Control
885
915
  */ var Message = /*#__PURE__*/ function(Control) {
886
- _inherits$q(Message, Control);
916
+ _inherits$u(Message, Control);
887
917
  function Message(options) {
888
918
  if (options === void 0) options = {};
889
919
  var _this;
890
- _this = Control.call(this, Object.assign({}, MESSAGE_DEFAULT_OPTIONS, _extends$q({}, options, {
920
+ _this = Control.call(this, Object.assign({}, MESSAGE_DEFAULT_OPTIONS, _extends$u({}, options, {
891
921
  tagName: 'div',
892
922
  controlType: 'block'
893
923
  }))) || this, _this._$toast = null;
@@ -1040,8 +1070,8 @@ function _create_class$8(Constructor, protoProps, staticProps) {
1040
1070
  if (protoProps) _defineProperties$8(Constructor.prototype, protoProps);
1041
1071
  return Constructor;
1042
1072
  }
1043
- function _extends$p() {
1044
- _extends$p = Object.assign || function(target) {
1073
+ function _extends$t() {
1074
+ _extends$t = Object.assign || function(target) {
1045
1075
  for(var i = 1; i < arguments.length; i++){
1046
1076
  var source = arguments[i];
1047
1077
  for(var key in source){
@@ -1052,9 +1082,9 @@ function _extends$p() {
1052
1082
  }
1053
1083
  return target;
1054
1084
  };
1055
- return _extends$p.apply(this, arguments);
1085
+ return _extends$t.apply(this, arguments);
1056
1086
  }
1057
- function _inherits$p(subClass, superClass) {
1087
+ function _inherits$t(subClass, superClass) {
1058
1088
  if (typeof superClass !== "function" && superClass !== null) {
1059
1089
  throw new TypeError("Super expression must either be null or a function");
1060
1090
  }
@@ -1065,23 +1095,23 @@ function _inherits$p(subClass, superClass) {
1065
1095
  configurable: true
1066
1096
  }
1067
1097
  });
1068
- if (superClass) _set_prototype_of$p(subClass, superClass);
1098
+ if (superClass) _set_prototype_of$t(subClass, superClass);
1069
1099
  }
1070
- function _set_prototype_of$p(o, p) {
1071
- _set_prototype_of$p = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1100
+ function _set_prototype_of$t(o, p) {
1101
+ _set_prototype_of$t = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1072
1102
  o.__proto__ = p;
1073
1103
  return o;
1074
1104
  };
1075
- return _set_prototype_of$p(o, p);
1105
+ return _set_prototype_of$t(o, p);
1076
1106
  }
1077
1107
  /**
1078
1108
  * 播放/暂停控件
1079
1109
  * @category Control
1080
1110
  */ var Play = /*#__PURE__*/ function(Control) {
1081
- _inherits$p(Play, Control);
1111
+ _inherits$t(Play, Control);
1082
1112
  function Play(options) {
1083
1113
  var _this;
1084
- _this = Control.call(this, _extends$p({}, options, {
1114
+ _this = Control.call(this, _extends$t({}, options, {
1085
1115
  tagName: 'span',
1086
1116
  controlType: 'button',
1087
1117
  classNameSuffix: 'play'
@@ -1697,8 +1727,8 @@ function _create_class$6(Constructor, protoProps, staticProps) {
1697
1727
  if (protoProps) _defineProperties$6(Constructor.prototype, protoProps);
1698
1728
  return Constructor;
1699
1729
  }
1700
- function _extends$o() {
1701
- _extends$o = Object.assign || function(target) {
1730
+ function _extends$s() {
1731
+ _extends$s = Object.assign || function(target) {
1702
1732
  for(var i = 1; i < arguments.length; i++){
1703
1733
  var source = arguments[i];
1704
1734
  for(var key in source){
@@ -1709,9 +1739,9 @@ function _extends$o() {
1709
1739
  }
1710
1740
  return target;
1711
1741
  };
1712
- return _extends$o.apply(this, arguments);
1742
+ return _extends$s.apply(this, arguments);
1713
1743
  }
1714
- function _inherits$o(subClass, superClass) {
1744
+ function _inherits$s(subClass, superClass) {
1715
1745
  if (typeof superClass !== "function" && superClass !== null) {
1716
1746
  throw new TypeError("Super expression must either be null or a function");
1717
1747
  }
@@ -1722,14 +1752,14 @@ function _inherits$o(subClass, superClass) {
1722
1752
  configurable: true
1723
1753
  }
1724
1754
  });
1725
- if (superClass) _set_prototype_of$o(subClass, superClass);
1755
+ if (superClass) _set_prototype_of$s(subClass, superClass);
1726
1756
  }
1727
- function _set_prototype_of$o(o, p) {
1728
- _set_prototype_of$o = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1757
+ function _set_prototype_of$s(o, p) {
1758
+ _set_prototype_of$s = Object.setPrototypeOf || function setPrototypeOf(o, p) {
1729
1759
  o.__proto__ = p;
1730
1760
  return o;
1731
1761
  };
1732
- return _set_prototype_of$o(o, p);
1762
+ return _set_prototype_of$s(o, p);
1733
1763
  }
1734
1764
  var VOLUME_DEFAULT_OPTIONS = {
1735
1765
  volume: 0.8,
@@ -1743,12 +1773,12 @@ var VOLUME_DEFAULT_OPTIONS = {
1743
1773
  * 音量调节控件
1744
1774
  * @category Control
1745
1775
  */ var Volume = /*#__PURE__*/ function(Control) {
1746
- _inherits$o(Volume, Control);
1776
+ _inherits$s(Volume, Control);
1747
1777
  function Volume(options) {
1748
1778
  if (options === void 0) options = {};
1749
1779
  var _this;
1750
1780
  var _this__options_props, _this__options_props1, _this__options_props2, _this__options_props3;
1751
- _this = Control.call(this, _extends$o({}, options, {
1781
+ _this = Control.call(this, _extends$s({}, options, {
1752
1782
  tagName: 'span',
1753
1783
  classNameSuffix: 'volume',
1754
1784
  controlType: 'button'
@@ -2408,8 +2438,8 @@ var __fullscreenProvider__ = Provider.getInstance();
2408
2438
  return Fullscreen;
2409
2439
  }();
2410
2440
 
2411
- function _extends$n() {
2412
- _extends$n = Object.assign || function(target) {
2441
+ function _extends$r() {
2442
+ _extends$r = Object.assign || function(target) {
2413
2443
  for(var i = 1; i < arguments.length; i++){
2414
2444
  var source = arguments[i];
2415
2445
  for(var key in source){
@@ -2420,9 +2450,9 @@ function _extends$n() {
2420
2450
  }
2421
2451
  return target;
2422
2452
  };
2423
- return _extends$n.apply(this, arguments);
2453
+ return _extends$r.apply(this, arguments);
2424
2454
  }
2425
- function _inherits$n(subClass, superClass) {
2455
+ function _inherits$r(subClass, superClass) {
2426
2456
  if (typeof superClass !== "function" && superClass !== null) {
2427
2457
  throw new TypeError("Super expression must either be null or a function");
2428
2458
  }
@@ -2433,24 +2463,24 @@ function _inherits$n(subClass, superClass) {
2433
2463
  configurable: true
2434
2464
  }
2435
2465
  });
2436
- if (superClass) _set_prototype_of$n(subClass, superClass);
2466
+ if (superClass) _set_prototype_of$r(subClass, superClass);
2437
2467
  }
2438
- function _set_prototype_of$n(o, p) {
2439
- _set_prototype_of$n = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2468
+ function _set_prototype_of$r(o, p) {
2469
+ _set_prototype_of$r = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2440
2470
  o.__proto__ = p;
2441
2471
  return o;
2442
2472
  };
2443
- return _set_prototype_of$n(o, p);
2473
+ return _set_prototype_of$r(o, p);
2444
2474
  }
2445
2475
  /**
2446
2476
  * 全屏控件
2447
2477
  * @category Control
2448
2478
  */ var Fullscreen = /*#__PURE__*/ function(Control) {
2449
- _inherits$n(Fullscreen, Control);
2479
+ _inherits$r(Fullscreen, Control);
2450
2480
  function Fullscreen(options) {
2451
2481
  var _this;
2452
2482
  var _options_props, _this_options;
2453
- _this = Control.call(this, _extends$n({
2483
+ _this = Control.call(this, _extends$r({
2454
2484
  tagName: 'span',
2455
2485
  classNameSuffix: 'fullscreen',
2456
2486
  controlType: 'button'
@@ -2515,8 +2545,8 @@ function _set_prototype_of$n(o, p) {
2515
2545
  return Fullscreen;
2516
2546
  }(Control);
2517
2547
 
2518
- function _extends$m() {
2519
- _extends$m = Object.assign || function(target) {
2548
+ function _extends$q() {
2549
+ _extends$q = Object.assign || function(target) {
2520
2550
  for(var i = 1; i < arguments.length; i++){
2521
2551
  var source = arguments[i];
2522
2552
  for(var key in source){
@@ -2527,9 +2557,9 @@ function _extends$m() {
2527
2557
  }
2528
2558
  return target;
2529
2559
  };
2530
- return _extends$m.apply(this, arguments);
2560
+ return _extends$q.apply(this, arguments);
2531
2561
  }
2532
- function _inherits$m(subClass, superClass) {
2562
+ function _inherits$q(subClass, superClass) {
2533
2563
  if (typeof superClass !== "function" && superClass !== null) {
2534
2564
  throw new TypeError("Super expression must either be null or a function");
2535
2565
  }
@@ -2540,24 +2570,24 @@ function _inherits$m(subClass, superClass) {
2540
2570
  configurable: true
2541
2571
  }
2542
2572
  });
2543
- if (superClass) _set_prototype_of$m(subClass, superClass);
2573
+ if (superClass) _set_prototype_of$q(subClass, superClass);
2544
2574
  }
2545
- function _set_prototype_of$m(o, p) {
2546
- _set_prototype_of$m = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2575
+ function _set_prototype_of$q(o, p) {
2576
+ _set_prototype_of$q = Object.setPrototypeOf || function setPrototypeOf(o, p) {
2547
2577
  o.__proto__ = p;
2548
2578
  return o;
2549
2579
  };
2550
- return _set_prototype_of$m(o, p);
2580
+ return _set_prototype_of$q(o, p);
2551
2581
  }
2552
2582
  /**
2553
2583
  * 回放类型切换(本地回放(sdk 卡), 云存储回放, 云录制回放)控件
2554
2584
  * @category Control
2555
2585
  */ var Rec = /*#__PURE__*/ function(Control) {
2556
- _inherits$m(Rec, Control);
2586
+ _inherits$q(Rec, Control);
2557
2587
  function Rec(options) {
2558
2588
  var _this;
2559
2589
  var _options_props;
2560
- _this = Control.call(this, _extends$m({}, options, {
2590
+ _this = Control.call(this, _extends$q({}, options, {
2561
2591
  tagName: 'div',
2562
2592
  controlType: 'block',
2563
2593
  classNameSuffix: 'rec'
@@ -2834,6 +2864,12 @@ var zh = {
2834
2864
  BTN_TALK: '对讲',
2835
2865
  BTN_BROADCAST: '语音广播',
2836
2866
  BTN_AICHAT: 'AI对话',
2867
+ BTN_LIVE: '直播',
2868
+ BTN_REC_DROPDOWN: '回放',
2869
+ BTN_ALARM_MESSAGE: '消息',
2870
+ REC_DROPDOWN_CLOUD_REC: '云存储',
2871
+ REC_DROPDOWN_CLOUD_RECORD: '云录制',
2872
+ REC_DROPDOWN_LOCAL_REC: '本地回放',
2837
2873
  BTN_ZOOM: '电子放大',
2838
2874
  BTN_3D_ZOOM: '3D定位',
2839
2875
  BTN_PTZ: '云台控制',
@@ -2847,6 +2883,7 @@ var zh = {
2847
2883
  BTN_CLOUDRECORD: '云录制',
2848
2884
  BTN_REC: '本地存储',
2849
2885
  BTN_CALENDAR: '日历',
2886
+ BTN_TIME: '时间',
2850
2887
  BTN_MORE: '更多',
2851
2888
  DEVICE_NAME: '设备名称',
2852
2889
  DEVICE_ID: '设备序列号',
@@ -3106,6 +3143,12 @@ var en = {
3106
3143
  BTN_TALK: 'Intercom',
3107
3144
  BTN_BROADCAST: 'Voice broadcast',
3108
3145
  BTN_AICHAT: 'AI Chat',
3146
+ BTN_LIVE: 'Live',
3147
+ BTN_REC_DROPDOWN: 'Playback',
3148
+ BTN_ALARM_MESSAGE: 'Messages',
3149
+ REC_DROPDOWN_CLOUD_REC: 'Cloud Storage',
3150
+ REC_DROPDOWN_CLOUD_RECORD: 'Cloud Recording',
3151
+ REC_DROPDOWN_LOCAL_REC: 'Local Playback',
3109
3152
  BTN_ZOOM: 'Electronic zoom',
3110
3153
  BTN_3D_ZOOM: '3D positioning',
3111
3154
  BTN_PTZ: 'PTZ control',
@@ -3121,6 +3164,7 @@ var en = {
3121
3164
  BTN_CLOUDRECORD: 'Cloud recording',
3122
3165
  BTN_REC: 'Local storage',
3123
3166
  BTN_CALENDAR: 'Calendar',
3167
+ BTN_TIME: 'Time',
3124
3168
  BTN_MORE: 'More',
3125
3169
  DEVICE_NAME: 'Device name',
3126
3170
  DEVICE_ID: 'Device serial number',
@@ -3301,6 +3345,21 @@ var en = {
3301
3345
  iconId: 'deviceName',
3302
3346
  part: 'left',
3303
3347
  isrender: 1
3348
+ },
3349
+ {
3350
+ iconId: 'live',
3351
+ part: 'right',
3352
+ isrender: 1
3353
+ },
3354
+ {
3355
+ iconId: 'recDropdown',
3356
+ part: 'right',
3357
+ isrender: 1
3358
+ },
3359
+ {
3360
+ iconId: 'alarmMessage',
3361
+ part: 'right',
3362
+ isrender: 1
3304
3363
  }
3305
3364
  ]
3306
3365
  },
@@ -3388,19 +3447,19 @@ var en = {
3388
3447
  isrender: 1
3389
3448
  },
3390
3449
  {
3391
- iconId: 'cloudRec',
3450
+ iconId: 'live',
3392
3451
  part: 'right',
3393
3452
  defaultActive: 0,
3394
3453
  isrender: 1
3395
3454
  },
3396
3455
  {
3397
- iconId: 'cloudRecord',
3456
+ iconId: 'recDropdown',
3398
3457
  part: 'right',
3399
3458
  defaultActive: 0,
3400
3459
  isrender: 1
3401
3460
  },
3402
3461
  {
3403
- iconId: 'rec',
3462
+ iconId: 'alarmMessage',
3404
3463
  part: 'right',
3405
3464
  defaultActive: 0,
3406
3465
  isrender: 1
@@ -3803,7 +3862,7 @@ var en = {
3803
3862
  voice: voice
3804
3863
  };
3805
3864
 
3806
- function _inherits$l(subClass, superClass) {
3865
+ function _inherits$p(subClass, superClass) {
3807
3866
  if (typeof superClass !== "function" && superClass !== null) {
3808
3867
  throw new TypeError("Super expression must either be null or a function");
3809
3868
  }
@@ -3814,20 +3873,20 @@ function _inherits$l(subClass, superClass) {
3814
3873
  configurable: true
3815
3874
  }
3816
3875
  });
3817
- if (superClass) _set_prototype_of$l(subClass, superClass);
3876
+ if (superClass) _set_prototype_of$p(subClass, superClass);
3818
3877
  }
3819
- function _set_prototype_of$l(o, p) {
3820
- _set_prototype_of$l = Object.setPrototypeOf || function setPrototypeOf(o, p) {
3878
+ function _set_prototype_of$p(o, p) {
3879
+ _set_prototype_of$p = Object.setPrototypeOf || function setPrototypeOf(o, p) {
3821
3880
  o.__proto__ = p;
3822
3881
  return o;
3823
3882
  };
3824
- return _set_prototype_of$l(o, p);
3883
+ return _set_prototype_of$p(o, p);
3825
3884
  }
3826
3885
  /**
3827
3886
  * 截图控件
3828
3887
  * @category Content
3829
3888
  */ var Content = /*#__PURE__*/ function(EventEmitter) {
3830
- _inherits$l(Content, EventEmitter);
3889
+ _inherits$p(Content, EventEmitter);
3831
3890
  function Content(options) {
3832
3891
  var _this;
3833
3892
  _this = EventEmitter.call(this) || this, _this._scaleMode = 0, _this._cleanUpResizeObserver = null, _this._originWidth = 0, _this._originHeight = 0, _this._width = 0, _this._height = 0;
@@ -3942,8 +4001,8 @@ function _set_prototype_of$l(o, p) {
3942
4001
  return Content;
3943
4002
  }(EventEmitter);
3944
4003
 
3945
- function _extends$l() {
3946
- _extends$l = Object.assign || function(target) {
4004
+ function _extends$p() {
4005
+ _extends$p = Object.assign || function(target) {
3947
4006
  for(var i = 1; i < arguments.length; i++){
3948
4007
  var source = arguments[i];
3949
4008
  for(var key in source){
@@ -3954,9 +4013,9 @@ function _extends$l() {
3954
4013
  }
3955
4014
  return target;
3956
4015
  };
3957
- return _extends$l.apply(this, arguments);
4016
+ return _extends$p.apply(this, arguments);
3958
4017
  }
3959
- function _inherits$k(subClass, superClass) {
4018
+ function _inherits$o(subClass, superClass) {
3960
4019
  if (typeof superClass !== "function" && superClass !== null) {
3961
4020
  throw new TypeError("Super expression must either be null or a function");
3962
4021
  }
@@ -3967,23 +4026,23 @@ function _inherits$k(subClass, superClass) {
3967
4026
  configurable: true
3968
4027
  }
3969
4028
  });
3970
- if (superClass) _set_prototype_of$k(subClass, superClass);
4029
+ if (superClass) _set_prototype_of$o(subClass, superClass);
3971
4030
  }
3972
- function _set_prototype_of$k(o, p) {
3973
- _set_prototype_of$k = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4031
+ function _set_prototype_of$o(o, p) {
4032
+ _set_prototype_of$o = Object.setPrototypeOf || function setPrototypeOf(o, p) {
3974
4033
  o.__proto__ = p;
3975
4034
  return o;
3976
4035
  };
3977
- return _set_prototype_of$k(o, p);
4036
+ return _set_prototype_of$o(o, p);
3978
4037
  }
3979
4038
  /**
3980
4039
  * 更多控件
3981
4040
  * @category Control
3982
4041
  */ var More = /*#__PURE__*/ function(Control) {
3983
- _inherits$k(More, Control);
4042
+ _inherits$o(More, Control);
3984
4043
  function More(options) {
3985
4044
  var _this;
3986
- _this = Control.call(this, _extends$l({}, options, {
4045
+ _this = Control.call(this, _extends$p({}, options, {
3987
4046
  tagName: 'span',
3988
4047
  controlType: 'button',
3989
4048
  classNameSuffix: 'more'
@@ -4199,6 +4258,15 @@ function debounce(func, wait) {
4199
4258
  }
4200
4259
  });
4201
4260
  // =======================================================
4261
+ // 告警消息
4262
+ // =======================================================
4263
+ theme.on(EVENTS.alarmMessageChange, function(active) {
4264
+ var _theme_controls;
4265
+ if ((_theme_controls = theme.controls) == null ? void 0 : _theme_controls.alarmMessageControl) {
4266
+ theme.controls.alarmMessageControl._panelOpen = active;
4267
+ }
4268
+ });
4269
+ // =======================================================
4202
4270
  // 录制
4203
4271
  // =======================================================
4204
4272
  theme.on(EVENTS.recordingChange, function(recording) {
@@ -4294,7 +4362,7 @@ function debounce(func, wait) {
4294
4362
  *
4295
4363
  * @param theme - Theme
4296
4364
  */ function _controlEventemitter(theme) {
4297
- 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;
4365
+ 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;
4298
4366
  // Controls
4299
4367
  if (theme._recFooter) {
4300
4368
  theme._recFooter.on(EVENTS.theme.recFooterDestroy, function() {
@@ -4405,8 +4473,50 @@ function debounce(func, wait) {
4405
4473
  theme.emit(EVENTS.control.aichatDestroy);
4406
4474
  });
4407
4475
  }
4476
+ // 直播按钮
4477
+ if ((_theme_controls7 = theme.controls) == null ? void 0 : _theme_controls7.liveControl) {
4478
+ theme.controls.liveControl.on(EVENTS.control.liveChange, function() {
4479
+ var _theme_controls;
4480
+ // 直接设置回放下拉控件为非激活状态
4481
+ if ((_theme_controls = theme.controls) == null ? void 0 : _theme_controls.recDropdownControl) {
4482
+ theme.controls.recDropdownControl.active = false;
4483
+ }
4484
+ theme.emit(EVENTS.control.liveChange);
4485
+ });
4486
+ }
4487
+ // 回放下拉
4488
+ if ((_theme_controls8 = theme.controls) == null ? void 0 : _theme_controls8.recDropdownControl) {
4489
+ theme.controls.recDropdownControl.on(EVENTS.control.recDropdownChange, function(type) {
4490
+ var _theme_controls;
4491
+ // 直接设置直播控件为非激活状态
4492
+ if ((_theme_controls = theme.controls) == null ? void 0 : _theme_controls.liveControl) {
4493
+ theme.controls.liveControl.active = false;
4494
+ }
4495
+ theme.emit(EVENTS.control.recDropdownChange, type);
4496
+ });
4497
+ }
4498
+ // 告警消息
4499
+ if ((_theme_controls9 = theme.controls) == null ? void 0 : _theme_controls9.alarmMessageControl) {
4500
+ theme.controls.alarmMessageControl.on(EVENTS.control.alarmMessageChange, function(active) {
4501
+ theme.emit(EVENTS.control.alarmMessageChange, active);
4502
+ });
4503
+ }
4504
+ // 播放地址切换后同步 Live/RecDropdown 激活状态
4505
+ // changePlayUrl 后 urlInfo 已更新,firstFrameDisplay 表示新地址播放成功
4506
+ if (((_theme_controls10 = theme.controls) == null ? void 0 : _theme_controls10.liveControl) || ((_theme_controls11 = theme.controls) == null ? void 0 : _theme_controls11.recDropdownControl)) {
4507
+ theme.on(EVENTS.firstFrameDisplay, function() {
4508
+ var _theme_controls, _theme_controls1;
4509
+ var urlInfo = theme.urlInfo;
4510
+ if ((_theme_controls = theme.controls) == null ? void 0 : _theme_controls.liveControl) {
4511
+ theme.controls.liveControl._syncActiveByUrlInfo(urlInfo);
4512
+ }
4513
+ if ((_theme_controls1 = theme.controls) == null ? void 0 : _theme_controls1.recDropdownControl) {
4514
+ theme.controls.recDropdownControl._syncActiveByUrlInfo(urlInfo);
4515
+ }
4516
+ });
4517
+ }
4408
4518
  // 缩放控件
4409
- if ((_theme_controls7 = theme.controls) == null ? void 0 : _theme_controls7.zoomControl) {
4519
+ if ((_theme_controls12 = theme.controls) == null ? void 0 : _theme_controls12.zoomControl) {
4410
4520
  theme.controls.zoomControl.on(EVENTS.control.zoomChange, function(value, _percent, _range) {
4411
4521
  if (theme.zoom !== value) {
4412
4522
  theme.zoom = value;
@@ -4428,7 +4538,7 @@ function debounce(func, wait) {
4428
4538
  });
4429
4539
  }
4430
4540
  // 清晰度控件
4431
- if ((_theme_controls8 = theme.controls) == null ? void 0 : _theme_controls8.definitionControl) {
4541
+ if ((_theme_controls13 = theme.controls) == null ? void 0 : _theme_controls13.definitionControl) {
4432
4542
  theme.controls.definitionControl.on(EVENTS.control.definitionPanelOpenChange, function(open, definition, item) {
4433
4543
  theme.emit(CLEAR_TIMER_HEADER_FOOTER_ANIMATION, open, definition);
4434
4544
  theme.emit(EVENTS.control.definitionPanelOpenChange, open, definition, item);
@@ -4441,7 +4551,7 @@ function debounce(func, wait) {
4441
4551
  });
4442
4552
  }
4443
4553
  // 倍速控件
4444
- if ((_theme_controls9 = theme.controls) == null ? void 0 : _theme_controls9.speedControl) {
4554
+ if ((_theme_controls14 = theme.controls) == null ? void 0 : _theme_controls14.speedControl) {
4445
4555
  theme.controls.speedControl.on(EVENTS.control.speedPanelOpenChange, function(open, speed, item) {
4446
4556
  theme.emit(CLEAR_TIMER_HEADER_FOOTER_ANIMATION, open, speed);
4447
4557
  theme.emit(EVENTS.control.speedPanelOpenChange, open, speed, item);
@@ -4454,7 +4564,7 @@ function debounce(func, wait) {
4454
4564
  });
4455
4565
  }
4456
4566
  // 截图控件
4457
- if ((_theme_controls10 = theme.controls) == null ? void 0 : _theme_controls10.capturePictureControl) {
4567
+ if ((_theme_controls15 = theme.controls) == null ? void 0 : _theme_controls15.capturePictureControl) {
4458
4568
  theme.controls.capturePictureControl.on(EVENTS.control.capturePicture, function(options) {
4459
4569
  theme.emit(EVENTS.control.capturePicture, options);
4460
4570
  });
@@ -4463,25 +4573,25 @@ function debounce(func, wait) {
4463
4573
  });
4464
4574
  }
4465
4575
  // 全屏控件
4466
- if ((_theme_controls11 = theme.controls) == null ? void 0 : _theme_controls11.fullscreenControl) {
4576
+ if ((_theme_controls16 = theme.controls) == null ? void 0 : _theme_controls16.fullscreenControl) {
4467
4577
  theme.controls.fullscreenControl.on(EVENTS.control.fullscreenDestroy, function() {
4468
4578
  theme.emit(EVENTS.control.fullscreenDestroy);
4469
4579
  });
4470
4580
  }
4471
4581
  // 全局全屏控件
4472
- if ((_theme_controls12 = theme.controls) == null ? void 0 : _theme_controls12.globalFullscreenControl) {
4582
+ if ((_theme_controls17 = theme.controls) == null ? void 0 : _theme_controls17.globalFullscreenControl) {
4473
4583
  theme.controls.globalFullscreenControl.on(EVENTS.control.globalFullscreenDestroy, function() {
4474
4584
  theme.emit(EVENTS.control.globalFullscreenDestroy);
4475
4585
  });
4476
4586
  }
4477
4587
  // 设备信息控件
4478
- if ((_theme_controls13 = theme.controls) == null ? void 0 : _theme_controls13.deviceControl) {
4588
+ if ((_theme_controls18 = theme.controls) == null ? void 0 : _theme_controls18.deviceControl) {
4479
4589
  theme.controls.deviceControl.on(EVENTS.control.deviceDestroy, function() {
4480
4590
  theme.emit(EVENTS.control.deviceDestroy);
4481
4591
  });
4482
4592
  }
4483
4593
  // 回放类型切换控件
4484
- if ((_theme_controls14 = theme.controls) == null ? void 0 : _theme_controls14.recControl) {
4594
+ if ((_theme_controls19 = theme.controls) == null ? void 0 : _theme_controls19.recControl) {
4485
4595
  // prettier-ignore
4486
4596
  theme.controls.recControl.on(EVENTS.control.recTypeChange, function(type) {
4487
4597
  if (theme.recType !== type) {
@@ -4502,15 +4612,19 @@ function debounce(func, wait) {
4502
4612
  });
4503
4613
  }
4504
4614
  // 时间轴控件
4505
- if ((_theme_controls15 = theme.controls) == null ? void 0 : _theme_controls15.timeLineControl) {
4615
+ if ((_theme_controls20 = theme.controls) == null ? void 0 : _theme_controls20.timeLineControl) {
4506
4616
  theme.controls.timeLineControl.on(EVENTS.control.timeLineChange, function(date) {
4507
4617
  theme.emit(EVENTS.control.timeLineChange, date);
4508
4618
  });
4509
4619
  theme.controls.timeLineControl.on(EVENTS.control.timeLinePanelOpenChange, function(open) {
4510
- var _theme_controls_dateControl, _theme_controls;
4620
+ var _theme_controls_dateControl, _theme_controls, _theme_controls_timeControl, _theme_controls1;
4511
4621
  if ((_theme_controls = theme.controls) == null ? void 0 : (_theme_controls_dateControl = _theme_controls.dateControl) == null ? void 0 : _theme_controls_dateControl.datePicker) {
4512
- var _theme_controls_dateControl_datePicker, _theme_controls_dateControl1, _theme_controls1;
4513
- (_theme_controls1 = theme.controls) == null ? void 0 : (_theme_controls_dateControl1 = _theme_controls1.dateControl) == null ? void 0 : (_theme_controls_dateControl_datePicker = _theme_controls_dateControl1.datePicker) == null ? void 0 : _theme_controls_dateControl_datePicker.hide();
4622
+ var _theme_controls_dateControl_datePicker, _theme_controls_dateControl1, _theme_controls2;
4623
+ (_theme_controls2 = theme.controls) == null ? void 0 : (_theme_controls_dateControl1 = _theme_controls2.dateControl) == null ? void 0 : (_theme_controls_dateControl_datePicker = _theme_controls_dateControl1.datePicker) == null ? void 0 : _theme_controls_dateControl_datePicker.hide();
4624
+ }
4625
+ if ((_theme_controls1 = theme.controls) == null ? void 0 : (_theme_controls_timeControl = _theme_controls1.timeControl) == null ? void 0 : _theme_controls_timeControl.timePicker) {
4626
+ var _theme_controls_timeControl_timePicker, _theme_controls_timeControl1, _theme_controls3;
4627
+ (_theme_controls3 = theme.controls) == null ? void 0 : (_theme_controls_timeControl1 = _theme_controls3.timeControl) == null ? void 0 : (_theme_controls_timeControl_timePicker = _theme_controls_timeControl1.timePicker) == null ? void 0 : _theme_controls_timeControl_timePicker.hide();
4514
4628
  }
4515
4629
  theme.emit(EVENTS.control.timeLinePanelOpenChange, open);
4516
4630
  });
@@ -4519,7 +4633,7 @@ function debounce(func, wait) {
4519
4633
  });
4520
4634
  }
4521
4635
  // 日历控件
4522
- if ((_theme_controls16 = theme.controls) == null ? void 0 : _theme_controls16.dateControl) {
4636
+ if ((_theme_controls21 = theme.controls) == null ? void 0 : _theme_controls21.dateControl) {
4523
4637
  theme.controls.dateControl.on(EVENTS.control.datePanelOpenChange, function(open, date) {
4524
4638
  theme.emit(EVENTS.control.datePanelOpenChange, open, date);
4525
4639
  });
@@ -4530,6 +4644,15 @@ function debounce(func, wait) {
4530
4644
  theme.emit(EVENTS.control.recDestroy);
4531
4645
  });
4532
4646
  }
4647
+ // 时间控件
4648
+ if ((_theme_controls22 = theme.controls) == null ? void 0 : _theme_controls22.timeControl) {
4649
+ theme.controls.timeControl.on(EVENTS.control.timePanelOpenChange, function(open, time) {
4650
+ theme.emit(EVENTS.control.timePanelOpenChange, open, time);
4651
+ });
4652
+ theme.controls.timeControl.on(EVENTS.control.timeChange, function(time) {
4653
+ theme.emit(EVENTS.control.timeChange, time);
4654
+ });
4655
+ }
4533
4656
  }
4534
4657
  var ignoreList = [
4535
4658
  EVENTS.getOSDTime,
@@ -4614,8 +4737,8 @@ function _create_class$5(Constructor, protoProps, staticProps) {
4614
4737
  if (protoProps) _defineProperties$5(Constructor.prototype, protoProps);
4615
4738
  return Constructor;
4616
4739
  }
4617
- function _extends$k() {
4618
- _extends$k = Object.assign || function(target) {
4740
+ function _extends$o() {
4741
+ _extends$o = Object.assign || function(target) {
4619
4742
  for(var i = 1; i < arguments.length; i++){
4620
4743
  var source = arguments[i];
4621
4744
  for(var key in source){
@@ -4626,9 +4749,9 @@ function _extends$k() {
4626
4749
  }
4627
4750
  return target;
4628
4751
  };
4629
- return _extends$k.apply(this, arguments);
4752
+ return _extends$o.apply(this, arguments);
4630
4753
  }
4631
- function _inherits$j(subClass, superClass) {
4754
+ function _inherits$n(subClass, superClass) {
4632
4755
  if (typeof superClass !== "function" && superClass !== null) {
4633
4756
  throw new TypeError("Super expression must either be null or a function");
4634
4757
  }
@@ -4639,14 +4762,14 @@ function _inherits$j(subClass, superClass) {
4639
4762
  configurable: true
4640
4763
  }
4641
4764
  });
4642
- if (superClass) _set_prototype_of$j(subClass, superClass);
4765
+ if (superClass) _set_prototype_of$n(subClass, superClass);
4643
4766
  }
4644
- function _set_prototype_of$j(o, p) {
4645
- _set_prototype_of$j = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4767
+ function _set_prototype_of$n(o, p) {
4768
+ _set_prototype_of$n = Object.setPrototypeOf || function setPrototypeOf(o, p) {
4646
4769
  o.__proto__ = p;
4647
4770
  return o;
4648
4771
  };
4649
- return _set_prototype_of$j(o, p);
4772
+ return _set_prototype_of$n(o, p);
4650
4773
  }
4651
4774
  var ZOOM_DEFAULT_OPTIONS = {
4652
4775
  open: false,
@@ -4656,10 +4779,10 @@ var ZOOM_DEFAULT_OPTIONS = {
4656
4779
  * 电子放大控件
4657
4780
  * @category Control
4658
4781
  */ var Zoom = /*#__PURE__*/ function(Control) {
4659
- _inherits$j(Zoom, Control);
4782
+ _inherits$n(Zoom, Control);
4660
4783
  function Zoom(options) {
4661
4784
  var _this;
4662
- _this = Control.call(this, _extends$k({}, options, {
4785
+ _this = Control.call(this, _extends$o({}, options, {
4663
4786
  tagName: 'span',
4664
4787
  controlType: 'button',
4665
4788
  classNameSuffix: 'zoom'
@@ -4787,8 +4910,8 @@ var ZOOM_DEFAULT_OPTIONS = {
4787
4910
  return Zoom;
4788
4911
  }(Control);
4789
4912
 
4790
- function _extends$j() {
4791
- _extends$j = Object.assign || function(target) {
4913
+ function _extends$n() {
4914
+ _extends$n = Object.assign || function(target) {
4792
4915
  for(var i = 1; i < arguments.length; i++){
4793
4916
  var source = arguments[i];
4794
4917
  for(var key in source){
@@ -4799,10 +4922,10 @@ function _extends$j() {
4799
4922
  }
4800
4923
  return target;
4801
4924
  };
4802
- return _extends$j.apply(this, arguments);
4925
+ return _extends$n.apply(this, arguments);
4803
4926
  }
4804
4927
  function __zoom(theme, container, options) {
4805
- theme.zoomUtil = new Zoom$1(container, _extends$j({}, options || {}, {
4928
+ theme.zoomUtil = new Zoom$1(container, _extends$n({}, options || {}, {
4806
4929
  min: 1,
4807
4930
  onChange: function(zoom, reset) {
4808
4931
  if (zoom !== theme._zoom) {
@@ -5027,8 +5150,8 @@ function _async_to_generator$5(fn) {
5027
5150
  });
5028
5151
  };
5029
5152
  }
5030
- function _extends$i() {
5031
- _extends$i = Object.assign || function(target) {
5153
+ function _extends$m() {
5154
+ _extends$m = Object.assign || function(target) {
5032
5155
  for(var i = 1; i < arguments.length; i++){
5033
5156
  var source = arguments[i];
5034
5157
  for(var key in source){
@@ -5039,7 +5162,7 @@ function _extends$i() {
5039
5162
  }
5040
5163
  return target;
5041
5164
  };
5042
- return _extends$i.apply(this, arguments);
5165
+ return _extends$m.apply(this, arguments);
5043
5166
  }
5044
5167
  function _ts_generator$5(thisArg, body) {
5045
5168
  var f, y, t, _ = {
@@ -5167,7 +5290,7 @@ function _ts_generator$5(thisArg, body) {
5167
5290
  }
5168
5291
  if (item.isrender !== 0 && REC_GROUP.includes(item.iconId)) {
5169
5292
  // TODO: 因为回放是一组, 位置以第一个位置为准
5170
- recControls.push(recControls[0] ? _extends$i({}, item, {
5293
+ recControls.push(recControls[0] ? _extends$m({}, item, {
5171
5294
  part: recControls[0].part
5172
5295
  }) : item);
5173
5296
  return false;
@@ -5190,7 +5313,7 @@ function _ts_generator$5(thisArg, body) {
5190
5313
  }
5191
5314
  if (item.isrender !== 0 && REC_GROUP.includes(item.iconId)) {
5192
5315
  // TODO: 因为回放是一组, 位置以第一个位置为准
5193
- recControls.push(recControls[0] ? _extends$i({}, item, {
5316
+ recControls.push(recControls[0] ? _extends$m({}, item, {
5194
5317
  part: recControls[0].part
5195
5318
  }) : item);
5196
5319
  return false;
@@ -5441,8 +5564,8 @@ function rgbOrHexToRgbaWithOpacity(color, opacity) {
5441
5564
  return Component;
5442
5565
  }();
5443
5566
 
5444
- function _extends$h() {
5445
- _extends$h = Object.assign || function(target) {
5567
+ function _extends$l() {
5568
+ _extends$l = Object.assign || function(target) {
5446
5569
  for(var i = 1; i < arguments.length; i++){
5447
5570
  var source = arguments[i];
5448
5571
  for(var key in source){
@@ -5453,9 +5576,9 @@ function _extends$h() {
5453
5576
  }
5454
5577
  return target;
5455
5578
  };
5456
- return _extends$h.apply(this, arguments);
5579
+ return _extends$l.apply(this, arguments);
5457
5580
  }
5458
- function _inherits$i(subClass, superClass) {
5581
+ function _inherits$m(subClass, superClass) {
5459
5582
  if (typeof superClass !== "function" && superClass !== null) {
5460
5583
  throw new TypeError("Super expression must either be null or a function");
5461
5584
  }
@@ -5466,28 +5589,28 @@ function _inherits$i(subClass, superClass) {
5466
5589
  configurable: true
5467
5590
  }
5468
5591
  });
5469
- if (superClass) _set_prototype_of$i(subClass, superClass);
5592
+ if (superClass) _set_prototype_of$m(subClass, superClass);
5470
5593
  }
5471
- function _set_prototype_of$i(o, p) {
5472
- _set_prototype_of$i = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5594
+ function _set_prototype_of$m(o, p) {
5595
+ _set_prototype_of$m = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5473
5596
  o.__proto__ = p;
5474
5597
  return o;
5475
5598
  };
5476
- return _set_prototype_of$i(o, p);
5599
+ return _set_prototype_of$m(o, p);
5477
5600
  }
5478
5601
  var Footer = /*#__PURE__*/ function(Component) {
5479
- _inherits$i(Footer, Component);
5602
+ _inherits$m(Footer, Component);
5480
5603
  function Footer(options) {
5481
5604
  if (options === void 0) options = {};
5482
- return Component.call(this, _extends$h({}, options, {
5605
+ return Component.call(this, _extends$l({}, options, {
5483
5606
  cType: 'footer'
5484
5607
  })) || this;
5485
5608
  }
5486
5609
  return Footer;
5487
5610
  }(Component);
5488
5611
 
5489
- function _extends$g() {
5490
- _extends$g = Object.assign || function(target) {
5612
+ function _extends$k() {
5613
+ _extends$k = Object.assign || function(target) {
5491
5614
  for(var i = 1; i < arguments.length; i++){
5492
5615
  var source = arguments[i];
5493
5616
  for(var key in source){
@@ -5498,9 +5621,9 @@ function _extends$g() {
5498
5621
  }
5499
5622
  return target;
5500
5623
  };
5501
- return _extends$g.apply(this, arguments);
5624
+ return _extends$k.apply(this, arguments);
5502
5625
  }
5503
- function _inherits$h(subClass, superClass) {
5626
+ function _inherits$l(subClass, superClass) {
5504
5627
  if (typeof superClass !== "function" && superClass !== null) {
5505
5628
  throw new TypeError("Super expression must either be null or a function");
5506
5629
  }
@@ -5511,20 +5634,20 @@ function _inherits$h(subClass, superClass) {
5511
5634
  configurable: true
5512
5635
  }
5513
5636
  });
5514
- if (superClass) _set_prototype_of$h(subClass, superClass);
5637
+ if (superClass) _set_prototype_of$l(subClass, superClass);
5515
5638
  }
5516
- function _set_prototype_of$h(o, p) {
5517
- _set_prototype_of$h = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5639
+ function _set_prototype_of$l(o, p) {
5640
+ _set_prototype_of$l = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5518
5641
  o.__proto__ = p;
5519
5642
  return o;
5520
5643
  };
5521
- return _set_prototype_of$h(o, p);
5644
+ return _set_prototype_of$l(o, p);
5522
5645
  }
5523
5646
  var Header = /*#__PURE__*/ function(Component) {
5524
- _inherits$h(Header, Component);
5647
+ _inherits$l(Header, Component);
5525
5648
  function Header(options) {
5526
5649
  if (options === void 0) options = {};
5527
- return Component.call(this, _extends$g({}, options, {
5650
+ return Component.call(this, _extends$k({}, options, {
5528
5651
  cType: 'header'
5529
5652
  })) || this;
5530
5653
  }
@@ -5690,8 +5813,8 @@ function interactiveHF($container, second, callback) {
5690
5813
  };
5691
5814
  }
5692
5815
 
5693
- function _extends$f() {
5694
- _extends$f = Object.assign || function(target) {
5816
+ function _extends$j() {
5817
+ _extends$j = Object.assign || function(target) {
5695
5818
  for(var i = 1; i < arguments.length; i++){
5696
5819
  var source = arguments[i];
5697
5820
  for(var key in source){
@@ -5702,9 +5825,9 @@ function _extends$f() {
5702
5825
  }
5703
5826
  return target;
5704
5827
  };
5705
- return _extends$f.apply(this, arguments);
5828
+ return _extends$j.apply(this, arguments);
5706
5829
  }
5707
- function _inherits$g(subClass, superClass) {
5830
+ function _inherits$k(subClass, superClass) {
5708
5831
  if (typeof superClass !== "function" && superClass !== null) {
5709
5832
  throw new TypeError("Super expression must either be null or a function");
5710
5833
  }
@@ -5715,23 +5838,23 @@ function _inherits$g(subClass, superClass) {
5715
5838
  configurable: true
5716
5839
  }
5717
5840
  });
5718
- if (superClass) _set_prototype_of$g(subClass, superClass);
5841
+ if (superClass) _set_prototype_of$k(subClass, superClass);
5719
5842
  }
5720
- function _set_prototype_of$g(o, p) {
5721
- _set_prototype_of$g = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5843
+ function _set_prototype_of$k(o, p) {
5844
+ _set_prototype_of$k = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5722
5845
  o.__proto__ = p;
5723
5846
  return o;
5724
5847
  };
5725
- return _set_prototype_of$g(o, p);
5848
+ return _set_prototype_of$k(o, p);
5726
5849
  }
5727
5850
  /**
5728
5851
  * 全局全屏
5729
5852
  * 主题和播放器不提供全局全屏的api, 如果开发者想要可以参考这个组件自己实现
5730
5853
  * @category Control
5731
5854
  */ var GlobalFullscreen = /*#__PURE__*/ function(Fullscreen) {
5732
- _inherits$g(GlobalFullscreen, Fullscreen);
5855
+ _inherits$k(GlobalFullscreen, Fullscreen);
5733
5856
  function GlobalFullscreen(options) {
5734
- return Fullscreen.call(this, _extends$f({}, options, {
5857
+ return Fullscreen.call(this, _extends$j({}, options, {
5735
5858
  controlType: 'button',
5736
5859
  classNameSuffix: 'global-fullscreen'
5737
5860
  })) || this;
@@ -5762,8 +5885,8 @@ function _set_prototype_of$g(o, p) {
5762
5885
  return GlobalFullscreen;
5763
5886
  }(Fullscreen);
5764
5887
 
5765
- function _extends$e() {
5766
- _extends$e = Object.assign || function(target) {
5888
+ function _extends$i() {
5889
+ _extends$i = Object.assign || function(target) {
5767
5890
  for(var i = 1; i < arguments.length; i++){
5768
5891
  var source = arguments[i];
5769
5892
  for(var key in source){
@@ -5774,9 +5897,9 @@ function _extends$e() {
5774
5897
  }
5775
5898
  return target;
5776
5899
  };
5777
- return _extends$e.apply(this, arguments);
5900
+ return _extends$i.apply(this, arguments);
5778
5901
  }
5779
- function _inherits$f(subClass, superClass) {
5902
+ function _inherits$j(subClass, superClass) {
5780
5903
  if (typeof superClass !== "function" && superClass !== null) {
5781
5904
  throw new TypeError("Super expression must either be null or a function");
5782
5905
  }
@@ -5787,23 +5910,23 @@ function _inherits$f(subClass, superClass) {
5787
5910
  configurable: true
5788
5911
  }
5789
5912
  });
5790
- if (superClass) _set_prototype_of$f(subClass, superClass);
5913
+ if (superClass) _set_prototype_of$j(subClass, superClass);
5791
5914
  }
5792
- function _set_prototype_of$f(o, p) {
5793
- _set_prototype_of$f = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5915
+ function _set_prototype_of$j(o, p) {
5916
+ _set_prototype_of$j = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5794
5917
  o.__proto__ = p;
5795
5918
  return o;
5796
5919
  };
5797
- return _set_prototype_of$f(o, p);
5920
+ return _set_prototype_of$j(o, p);
5798
5921
  }
5799
5922
  /**
5800
5923
  * 截图控件,点击后会触发截图事件, 截图数据会通过 onCapture 回调函数返回
5801
5924
  * @category Control
5802
5925
  */ var CapturePicture = /*#__PURE__*/ function(Control) {
5803
- _inherits$f(CapturePicture, Control);
5926
+ _inherits$j(CapturePicture, Control);
5804
5927
  function CapturePicture(options) {
5805
5928
  var _this;
5806
- _this = Control.call(this, _extends$e({}, options, {
5929
+ _this = Control.call(this, _extends$i({}, options, {
5807
5930
  tagName: 'span',
5808
5931
  classNameSuffix: 'capture-picture'
5809
5932
  })) || this, _this._timer = null;
@@ -5869,8 +5992,8 @@ function _create_class$4(Constructor, protoProps, staticProps) {
5869
5992
  if (protoProps) _defineProperties$4(Constructor.prototype, protoProps);
5870
5993
  return Constructor;
5871
5994
  }
5872
- function _extends$d() {
5873
- _extends$d = Object.assign || function(target) {
5995
+ function _extends$h() {
5996
+ _extends$h = Object.assign || function(target) {
5874
5997
  for(var i = 1; i < arguments.length; i++){
5875
5998
  var source = arguments[i];
5876
5999
  for(var key in source){
@@ -5881,9 +6004,9 @@ function _extends$d() {
5881
6004
  }
5882
6005
  return target;
5883
6006
  };
5884
- return _extends$d.apply(this, arguments);
6007
+ return _extends$h.apply(this, arguments);
5885
6008
  }
5886
- function _inherits$e(subClass, superClass) {
6009
+ function _inherits$i(subClass, superClass) {
5887
6010
  if (typeof superClass !== "function" && superClass !== null) {
5888
6011
  throw new TypeError("Super expression must either be null or a function");
5889
6012
  }
@@ -5894,23 +6017,23 @@ function _inherits$e(subClass, superClass) {
5894
6017
  configurable: true
5895
6018
  }
5896
6019
  });
5897
- if (superClass) _set_prototype_of$e(subClass, superClass);
6020
+ if (superClass) _set_prototype_of$i(subClass, superClass);
5898
6021
  }
5899
- function _set_prototype_of$e(o, p) {
5900
- _set_prototype_of$e = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6022
+ function _set_prototype_of$i(o, p) {
6023
+ _set_prototype_of$i = Object.setPrototypeOf || function setPrototypeOf(o, p) {
5901
6024
  o.__proto__ = p;
5902
6025
  return o;
5903
6026
  };
5904
- return _set_prototype_of$e(o, p);
6027
+ return _set_prototype_of$i(o, p);
5905
6028
  }
5906
6029
  /**
5907
6030
  * 云台控件
5908
6031
  * @category Control
5909
6032
  */ var Ptz = /*#__PURE__*/ function(Control) {
5910
- _inherits$e(Ptz, Control);
6033
+ _inherits$i(Ptz, Control);
5911
6034
  function Ptz(options) {
5912
6035
  var _this;
5913
- _this = Control.call(this, _extends$d({}, options, {
6036
+ _this = Control.call(this, _extends$h({}, options, {
5914
6037
  tagName: 'span',
5915
6038
  controlType: 'button',
5916
6039
  classNameSuffix: 'ptz'
@@ -5953,7 +6076,7 @@ function _set_prototype_of$e(o, p) {
5953
6076
  this.$turntable.classList.add("" + PREFIX_CLASS + "-ptz-turntable");
5954
6077
  this.$panel.appendChild(this.$turntable);
5955
6078
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
5956
- this._ptzControl = new Ptz$1(this.$turntable, _extends$d({}, this._options, {
6079
+ this._ptzControl = new Ptz$1(this.$turntable, _extends$h({}, this._options, {
5957
6080
  onSpeedChange: this._onSpeedChange.bind(this),
5958
6081
  onDirection: this._onDirection.bind(this)
5959
6082
  }));
@@ -5962,7 +6085,7 @@ function _set_prototype_of$e(o, p) {
5962
6085
  };
5963
6086
  _proto.renderMobileExtend = function renderMobileExtend($container) {
5964
6087
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
5965
- if (!this._ptzControl1) this._ptzControl1 = new MobilePtz($container, _extends$d({}, this._options, {
6088
+ if (!this._ptzControl1) this._ptzControl1 = new MobilePtz($container, _extends$h({}, this._options, {
5966
6089
  onSpeedChange: this._onSpeedChange.bind(this),
5967
6090
  onDirection: this._onDirection.bind(this)
5968
6091
  }));
@@ -6065,8 +6188,8 @@ function _create_class$3(Constructor, protoProps, staticProps) {
6065
6188
  if (protoProps) _defineProperties$3(Constructor.prototype, protoProps);
6066
6189
  return Constructor;
6067
6190
  }
6068
- function _extends$c() {
6069
- _extends$c = Object.assign || function(target) {
6191
+ function _extends$g() {
6192
+ _extends$g = Object.assign || function(target) {
6070
6193
  for(var i = 1; i < arguments.length; i++){
6071
6194
  var source = arguments[i];
6072
6195
  for(var key in source){
@@ -6077,9 +6200,9 @@ function _extends$c() {
6077
6200
  }
6078
6201
  return target;
6079
6202
  };
6080
- return _extends$c.apply(this, arguments);
6203
+ return _extends$g.apply(this, arguments);
6081
6204
  }
6082
- function _inherits$d(subClass, superClass) {
6205
+ function _inherits$h(subClass, superClass) {
6083
6206
  if (typeof superClass !== "function" && superClass !== null) {
6084
6207
  throw new TypeError("Super expression must either be null or a function");
6085
6208
  }
@@ -6090,14 +6213,14 @@ function _inherits$d(subClass, superClass) {
6090
6213
  configurable: true
6091
6214
  }
6092
6215
  });
6093
- if (superClass) _set_prototype_of$d(subClass, superClass);
6216
+ if (superClass) _set_prototype_of$h(subClass, superClass);
6094
6217
  }
6095
- function _set_prototype_of$d(o, p) {
6096
- _set_prototype_of$d = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6218
+ function _set_prototype_of$h(o, p) {
6219
+ _set_prototype_of$h = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6097
6220
  o.__proto__ = p;
6098
6221
  return o;
6099
6222
  };
6100
- return _set_prototype_of$d(o, p);
6223
+ return _set_prototype_of$h(o, p);
6101
6224
  }
6102
6225
  var RECORD_DEFAULT_OPTIONS = {
6103
6226
  maxDuration: 3600
@@ -6111,10 +6234,10 @@ var RECORD_DEFAULT_OPTIONS = {
6111
6234
  * 2. 录制时间很短可能会因为浏览器的限制或没有I帧而无法生成有效的视频文件
6112
6235
  * @category Control
6113
6236
  */ var Record = /*#__PURE__*/ function(Control) {
6114
- _inherits$d(Record, Control);
6237
+ _inherits$h(Record, Control);
6115
6238
  function Record(options) {
6116
6239
  var _this;
6117
- _this = Control.call(this, _extends$c({}, options, {
6240
+ _this = Control.call(this, _extends$g({}, options, {
6118
6241
  tagName: 'span',
6119
6242
  controlType: 'button',
6120
6243
  classNameSuffix: 'record'
@@ -6255,8 +6378,8 @@ function _create_class$2(Constructor, protoProps, staticProps) {
6255
6378
  if (protoProps) _defineProperties$2(Constructor.prototype, protoProps);
6256
6379
  return Constructor;
6257
6380
  }
6258
- function _extends$b() {
6259
- _extends$b = Object.assign || function(target) {
6381
+ function _extends$f() {
6382
+ _extends$f = Object.assign || function(target) {
6260
6383
  for(var i = 1; i < arguments.length; i++){
6261
6384
  var source = arguments[i];
6262
6385
  for(var key in source){
@@ -6267,9 +6390,9 @@ function _extends$b() {
6267
6390
  }
6268
6391
  return target;
6269
6392
  };
6270
- return _extends$b.apply(this, arguments);
6393
+ return _extends$f.apply(this, arguments);
6271
6394
  }
6272
- function _inherits$c(subClass, superClass) {
6395
+ function _inherits$g(subClass, superClass) {
6273
6396
  if (typeof superClass !== "function" && superClass !== null) {
6274
6397
  throw new TypeError("Super expression must either be null or a function");
6275
6398
  }
@@ -6280,14 +6403,14 @@ function _inherits$c(subClass, superClass) {
6280
6403
  configurable: true
6281
6404
  }
6282
6405
  });
6283
- if (superClass) _set_prototype_of$c(subClass, superClass);
6406
+ if (superClass) _set_prototype_of$g(subClass, superClass);
6284
6407
  }
6285
- function _set_prototype_of$c(o, p) {
6286
- _set_prototype_of$c = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6408
+ function _set_prototype_of$g(o, p) {
6409
+ _set_prototype_of$g = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6287
6410
  o.__proto__ = p;
6288
6411
  return o;
6289
6412
  };
6290
- return _set_prototype_of$c(o, p);
6413
+ return _set_prototype_of$g(o, p);
6291
6414
  }
6292
6415
  function _ts_generator$4(thisArg, body) {
6293
6416
  var f, y, t, _ = {
@@ -6389,10 +6512,10 @@ function _ts_generator$4(thisArg, body) {
6389
6512
  *
6390
6513
  * @category Control
6391
6514
  */ var Talk = /*#__PURE__*/ function(Control) {
6392
- _inherits$c(Talk, Control);
6515
+ _inherits$g(Talk, Control);
6393
6516
  function Talk(options) {
6394
6517
  var _this;
6395
- _this = Control.call(this, _extends$b({}, options, {
6518
+ _this = Control.call(this, _extends$f({}, options, {
6396
6519
  tagName: 'span',
6397
6520
  controlType: 'button',
6398
6521
  classNameSuffix: 'talk'
@@ -6525,8 +6648,8 @@ function _async_to_generator$3(fn) {
6525
6648
  });
6526
6649
  };
6527
6650
  }
6528
- function _extends$a() {
6529
- _extends$a = Object.assign || function(target) {
6651
+ function _extends$e() {
6652
+ _extends$e = Object.assign || function(target) {
6530
6653
  for(var i = 1; i < arguments.length; i++){
6531
6654
  var source = arguments[i];
6532
6655
  for(var key in source){
@@ -6537,9 +6660,9 @@ function _extends$a() {
6537
6660
  }
6538
6661
  return target;
6539
6662
  };
6540
- return _extends$a.apply(this, arguments);
6663
+ return _extends$e.apply(this, arguments);
6541
6664
  }
6542
- function _inherits$b(subClass, superClass) {
6665
+ function _inherits$f(subClass, superClass) {
6543
6666
  if (typeof superClass !== "function" && superClass !== null) {
6544
6667
  throw new TypeError("Super expression must either be null or a function");
6545
6668
  }
@@ -6550,14 +6673,14 @@ function _inherits$b(subClass, superClass) {
6550
6673
  configurable: true
6551
6674
  }
6552
6675
  });
6553
- if (superClass) _set_prototype_of$b(subClass, superClass);
6676
+ if (superClass) _set_prototype_of$f(subClass, superClass);
6554
6677
  }
6555
- function _set_prototype_of$b(o, p) {
6556
- _set_prototype_of$b = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6678
+ function _set_prototype_of$f(o, p) {
6679
+ _set_prototype_of$f = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6557
6680
  o.__proto__ = p;
6558
6681
  return o;
6559
6682
  };
6560
- return _set_prototype_of$b(o, p);
6683
+ return _set_prototype_of$f(o, p);
6561
6684
  }
6562
6685
  function _ts_generator$3(thisArg, body) {
6563
6686
  var f, y, t, _ = {
@@ -6657,10 +6780,10 @@ function _ts_generator$3(thisArg, body) {
6657
6780
  *
6658
6781
  * @category Control
6659
6782
  */ var Broadcast = /*#__PURE__*/ function(Control) {
6660
- _inherits$b(Broadcast, Control);
6783
+ _inherits$f(Broadcast, Control);
6661
6784
  function Broadcast(options) {
6662
6785
  var _this;
6663
- _this = Control.call(this, _extends$a({}, options, {
6786
+ _this = Control.call(this, _extends$e({}, options, {
6664
6787
  tagName: 'span',
6665
6788
  controlType: 'button',
6666
6789
  classNameSuffix: 'broadcast'
@@ -6755,8 +6878,8 @@ function _async_to_generator$2(fn) {
6755
6878
  });
6756
6879
  };
6757
6880
  }
6758
- function _extends$9() {
6759
- _extends$9 = Object.assign || function(target) {
6881
+ function _extends$d() {
6882
+ _extends$d = Object.assign || function(target) {
6760
6883
  for(var i = 1; i < arguments.length; i++){
6761
6884
  var source = arguments[i];
6762
6885
  for(var key in source){
@@ -6767,9 +6890,9 @@ function _extends$9() {
6767
6890
  }
6768
6891
  return target;
6769
6892
  };
6770
- return _extends$9.apply(this, arguments);
6893
+ return _extends$d.apply(this, arguments);
6771
6894
  }
6772
- function _inherits$a(subClass, superClass) {
6895
+ function _inherits$e(subClass, superClass) {
6773
6896
  if (typeof superClass !== "function" && superClass !== null) {
6774
6897
  throw new TypeError("Super expression must either be null or a function");
6775
6898
  }
@@ -6780,14 +6903,14 @@ function _inherits$a(subClass, superClass) {
6780
6903
  configurable: true
6781
6904
  }
6782
6905
  });
6783
- if (superClass) _set_prototype_of$a(subClass, superClass);
6906
+ if (superClass) _set_prototype_of$e(subClass, superClass);
6784
6907
  }
6785
- function _set_prototype_of$a(o, p) {
6786
- _set_prototype_of$a = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6908
+ function _set_prototype_of$e(o, p) {
6909
+ _set_prototype_of$e = Object.setPrototypeOf || function setPrototypeOf(o, p) {
6787
6910
  o.__proto__ = p;
6788
6911
  return o;
6789
6912
  };
6790
- return _set_prototype_of$a(o, p);
6913
+ return _set_prototype_of$e(o, p);
6791
6914
  }
6792
6915
  function _ts_generator$2(thisArg, body) {
6793
6916
  var f, y, t, _ = {
@@ -6887,10 +7010,10 @@ function _ts_generator$2(thisArg, body) {
6887
7010
  *
6888
7011
  * @category Control
6889
7012
  */ var AIChat = /*#__PURE__*/ function(Control) {
6890
- _inherits$a(AIChat, Control);
7013
+ _inherits$e(AIChat, Control);
6891
7014
  function AIChat(options) {
6892
7015
  var _this;
6893
- _this = Control.call(this, _extends$9({}, options, {
7016
+ _this = Control.call(this, _extends$d({}, options, {
6894
7017
  tagName: 'span',
6895
7018
  controlType: 'button',
6896
7019
  classNameSuffix: 'aichat'
@@ -6956,6 +7079,348 @@ function _ts_generator$2(thisArg, body) {
6956
7079
  return AIChat;
6957
7080
  }(Control);
6958
7081
 
7082
+ function _extends$c() {
7083
+ _extends$c = Object.assign || function(target) {
7084
+ for(var i = 1; i < arguments.length; i++){
7085
+ var source = arguments[i];
7086
+ for(var key in source){
7087
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
7088
+ target[key] = source[key];
7089
+ }
7090
+ }
7091
+ }
7092
+ return target;
7093
+ };
7094
+ return _extends$c.apply(this, arguments);
7095
+ }
7096
+ function _inherits$d(subClass, superClass) {
7097
+ if (typeof superClass !== "function" && superClass !== null) {
7098
+ throw new TypeError("Super expression must either be null or a function");
7099
+ }
7100
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
7101
+ constructor: {
7102
+ value: subClass,
7103
+ writable: true,
7104
+ configurable: true
7105
+ }
7106
+ });
7107
+ if (superClass) _set_prototype_of$d(subClass, superClass);
7108
+ }
7109
+ function _set_prototype_of$d(o, p) {
7110
+ _set_prototype_of$d = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7111
+ o.__proto__ = p;
7112
+ return o;
7113
+ };
7114
+ return _set_prototype_of$d(o, p);
7115
+ }
7116
+ /**
7117
+ * 直播按钮控件
7118
+ *
7119
+ * 点击切换到直播模式
7120
+ *
7121
+ * @category Control
7122
+ */ var Live = /*#__PURE__*/ function(Control) {
7123
+ _inherits$d(Live, Control);
7124
+ function Live(options) {
7125
+ var _this;
7126
+ var _this___options_props1;
7127
+ _this = Control.call(this, _extends$c({}, options, {
7128
+ tagName: 'span',
7129
+ controlType: 'button',
7130
+ classNameSuffix: 'live'
7131
+ })) || this;
7132
+ _this._options = options;
7133
+ _this._render();
7134
+ // H5 端不展示直播/回放切换按钮
7135
+ if (Utils.isMobile) {
7136
+ _this.$container.style.display = 'none';
7137
+ }
7138
+ // 初始化时根据当前播放模式确定激活状态
7139
+ _this._syncActiveByUrlInfo((_this___options_props1 = _this.__options.props) == null ? void 0 : _this___options_props1.urlInfo);
7140
+ return _this;
7141
+ }
7142
+ var _proto = Live.prototype;
7143
+ /**
7144
+ * 根据 urlInfo 同步激活状态
7145
+ * 在初始化和播放地址切换后调用
7146
+ */ _proto._syncActiveByUrlInfo = function _syncActiveByUrlInfo(urlInfo) {
7147
+ var shouldBeActive = !!(urlInfo && urlInfo.type === 'live');
7148
+ this.active = shouldBeActive;
7149
+ };
7150
+ _proto._render = function _render() {
7151
+ var _this_locale;
7152
+ this.$container.innerHTML = IconComponents.live({
7153
+ title: ((_this_locale = this.locale) == null ? void 0 : _this_locale.BTN_LIVE) || '直播'
7154
+ });
7155
+ };
7156
+ /**
7157
+ * 销毁
7158
+ */ _proto.destroy = function destroy() {
7159
+ Control.prototype.destroy.call(this);
7160
+ };
7161
+ /**
7162
+ * 点击 Control 会触发
7163
+ */ _proto._onControlClick = function _onControlClick(e) {
7164
+ var _this__options_onChange, _this__options;
7165
+ Control.prototype._onControlClick.call(this, e);
7166
+ // 已经是直播模式则不触发
7167
+ if (this.active) {
7168
+ return;
7169
+ }
7170
+ this.active = true;
7171
+ this.emit(EVENTS.control.liveChange);
7172
+ (_this__options = this._options) == null ? void 0 : (_this__options_onChange = _this__options.onChange) == null ? void 0 : _this__options_onChange.call(_this__options);
7173
+ };
7174
+ return Live;
7175
+ }(Control);
7176
+
7177
+ function _extends$b() {
7178
+ _extends$b = Object.assign || function(target) {
7179
+ for(var i = 1; i < arguments.length; i++){
7180
+ var source = arguments[i];
7181
+ for(var key in source){
7182
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
7183
+ target[key] = source[key];
7184
+ }
7185
+ }
7186
+ }
7187
+ return target;
7188
+ };
7189
+ return _extends$b.apply(this, arguments);
7190
+ }
7191
+ function _inherits$c(subClass, superClass) {
7192
+ if (typeof superClass !== "function" && superClass !== null) {
7193
+ throw new TypeError("Super expression must either be null or a function");
7194
+ }
7195
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
7196
+ constructor: {
7197
+ value: subClass,
7198
+ writable: true,
7199
+ configurable: true
7200
+ }
7201
+ });
7202
+ if (superClass) _set_prototype_of$c(subClass, superClass);
7203
+ }
7204
+ function _set_prototype_of$c(o, p) {
7205
+ _set_prototype_of$c = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7206
+ o.__proto__ = p;
7207
+ return o;
7208
+ };
7209
+ return _set_prototype_of$c(o, p);
7210
+ }
7211
+ /**
7212
+ * 回放下拉控件
7213
+ *
7214
+ * 鼠标移入弹出气泡,展示云存储、云录制、本地回放三个选项
7215
+ *
7216
+ * @category Control
7217
+ */ var RecDropdown = /*#__PURE__*/ function(Control) {
7218
+ _inherits$c(RecDropdown, Control);
7219
+ function RecDropdown(options) {
7220
+ var _this;
7221
+ var _options_props, _this___options_props1;
7222
+ _this = Control.call(this, _extends$b({}, options, {
7223
+ tagName: 'span',
7224
+ controlType: 'button',
7225
+ classNameSuffix: 'rec-dropdown'
7226
+ })) || this;
7227
+ _this._options = options;
7228
+ // H5 端不展示直播/回放切换按钮
7229
+ if (Utils.isMobile) {
7230
+ _this.$container.style.display = 'none';
7231
+ }
7232
+ // 初始化时根据 urlInfo 确定当前回放类型和激活状态
7233
+ _this._recType = options.recType || ((_options_props = options.props) == null ? void 0 : _options_props.recType) || 'cloudRec';
7234
+ _this._syncActiveByUrlInfo((_this___options_props1 = _this.__options.props) == null ? void 0 : _this___options_props1.urlInfo);
7235
+ _this._render();
7236
+ _this._initPicker();
7237
+ return _this;
7238
+ }
7239
+ var _proto = RecDropdown.prototype;
7240
+ /**
7241
+ * 根据 urlInfo 同步激活状态和回放类型
7242
+ * 在初始化和播放地址切换后调用
7243
+ */ _proto._syncActiveByUrlInfo = function _syncActiveByUrlInfo(urlInfo) {
7244
+ if (urlInfo && urlInfo.type === 'rec') {
7245
+ var _urlInfo_searchParams1;
7246
+ this.active = true;
7247
+ if (urlInfo.recType === 'cloud' && ((_urlInfo_searchParams1 = urlInfo.searchParams) == null ? void 0 : _urlInfo_searchParams1.busType) === '7') {
7248
+ this._recType = 'cloudRecord';
7249
+ } else if (urlInfo.recType === 'cloud') {
7250
+ this._recType = 'cloudRec';
7251
+ } else {
7252
+ this._recType = 'rec';
7253
+ }
7254
+ this._activeOption(this._recType);
7255
+ } else {
7256
+ this.active = false;
7257
+ }
7258
+ };
7259
+ _proto._render = function _render() {
7260
+ var _this_locale;
7261
+ this.$container.innerHTML = IconComponents.recDropdown({
7262
+ title: ((_this_locale = this.locale) == null ? void 0 : _this_locale.BTN_REC_DROPDOWN) || '回放'
7263
+ });
7264
+ };
7265
+ _proto._initPicker = function _initPicker() {
7266
+ var _this = this;
7267
+ this._picker = new Picker(this.$container, {
7268
+ getPopupContainer: function() {
7269
+ return Utils.isMobile ? _this.__options.rootContainer : _this.$container;
7270
+ },
7271
+ trigger: Utils.isMobile ? 'click' : 'hover',
7272
+ isMobile: Utils.isMobile,
7273
+ wrapClassName: "" + PREFIX_CLASS + "-rec-dropdown-picker",
7274
+ placement: 'bottom',
7275
+ offset: [
7276
+ 0,
7277
+ 4
7278
+ ]
7279
+ });
7280
+ this._picker.innerHTML(this._getPanelHTML());
7281
+ this._activeOption(this._recType);
7282
+ this._bindPanelEvents();
7283
+ };
7284
+ _proto._getPanelHTML = function _getPanelHTML() {
7285
+ var _this_locale, _this_locale1, _this_locale2;
7286
+ var cloudRecLabel = ((_this_locale = this.locale) == null ? void 0 : _this_locale.REC_DROPDOWN_CLOUD_REC) || '云存储';
7287
+ var cloudRecordLabel = ((_this_locale1 = this.locale) == null ? void 0 : _this_locale1.REC_DROPDOWN_CLOUD_RECORD) || '云录制';
7288
+ var localRecLabel = ((_this_locale2 = this.locale) == null ? void 0 : _this_locale2.REC_DROPDOWN_LOCAL_REC) || '本地回放';
7289
+ return '<div class="' + PREFIX_CLASS + '-rec-dropdown-panel">\n <ul class="' + PREFIX_CLASS + '-rec-dropdown-list">\n <li class="' + PREFIX_CLASS + '-rec-dropdown-item" data-type="cloudRec">\n <span>' + cloudRecLabel + '</span>\n </li>\n <li class="' + PREFIX_CLASS + '-rec-dropdown-item" data-type="cloudRecord">\n <span>' + cloudRecordLabel + '</span>\n </li>\n <li class="' + PREFIX_CLASS + '-rec-dropdown-item" data-type="rec">\n <span>' + localRecLabel + "</span>\n </li>\n </ul>\n </div>";
7290
+ };
7291
+ _proto._bindPanelEvents = function _bindPanelEvents() {
7292
+ var _this = this;
7293
+ this._delegation = delegate(this._picker.$body, "." + PREFIX_CLASS + "-rec-dropdown-item", 'click', function(e) {
7294
+ e.stopPropagation();
7295
+ var type = e.delegateTarget.getAttribute('data-type');
7296
+ if (type) {
7297
+ var _this__options_onChange, _this__options;
7298
+ _this._recType = type;
7299
+ _this._activeOption(type);
7300
+ // 设置自身为激活状态
7301
+ _this.active = true;
7302
+ _this.emit(EVENTS.control.recDropdownChange, type);
7303
+ (_this__options = _this._options) == null ? void 0 : (_this__options_onChange = _this__options.onChange) == null ? void 0 : _this__options_onChange.call(_this__options, type);
7304
+ _this._picker.open = false;
7305
+ }
7306
+ });
7307
+ };
7308
+ _proto._activeOption = function _activeOption(type) {
7309
+ var _this__picker;
7310
+ if ((_this__picker = this._picker) == null ? void 0 : _this__picker.$body) {
7311
+ var items = this._picker.$body.querySelectorAll("." + PREFIX_CLASS + "-rec-dropdown-item");
7312
+ items.forEach(function(item) {
7313
+ item.classList.remove("" + PREFIX_CLASS + "-active");
7314
+ });
7315
+ var target = this._picker.$body.querySelector("." + PREFIX_CLASS + '-rec-dropdown-item[data-type="' + type + '"]');
7316
+ target == null ? void 0 : target.classList.add("" + PREFIX_CLASS + "-active");
7317
+ }
7318
+ };
7319
+ /**
7320
+ * 销毁
7321
+ */ _proto.destroy = function destroy() {
7322
+ var _this__delegation_destroy, _this__delegation;
7323
+ (_this__delegation = this._delegation) == null ? void 0 : (_this__delegation_destroy = _this__delegation.destroy) == null ? void 0 : _this__delegation_destroy.call(_this__delegation);
7324
+ this._delegation = null;
7325
+ if (this._picker) {
7326
+ this._picker.destroy();
7327
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
7328
+ this._picker = null;
7329
+ }
7330
+ Control.prototype.destroy.call(this);
7331
+ };
7332
+ /**
7333
+ * 点击 Control 会触发(移动端 click 触发 picker)
7334
+ */ // eslint-disable-next-line @typescript-eslint/no-unused-vars
7335
+ _proto._onControlClick = function _onControlClick(_e) {
7336
+ // picker 自行处理 click/hover,这里不额外处理
7337
+ };
7338
+ return RecDropdown;
7339
+ }(Control);
7340
+
7341
+ function _extends$a() {
7342
+ _extends$a = Object.assign || function(target) {
7343
+ for(var i = 1; i < arguments.length; i++){
7344
+ var source = arguments[i];
7345
+ for(var key in source){
7346
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
7347
+ target[key] = source[key];
7348
+ }
7349
+ }
7350
+ }
7351
+ return target;
7352
+ };
7353
+ return _extends$a.apply(this, arguments);
7354
+ }
7355
+ function _inherits$b(subClass, superClass) {
7356
+ if (typeof superClass !== "function" && superClass !== null) {
7357
+ throw new TypeError("Super expression must either be null or a function");
7358
+ }
7359
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
7360
+ constructor: {
7361
+ value: subClass,
7362
+ writable: true,
7363
+ configurable: true
7364
+ }
7365
+ });
7366
+ if (superClass) _set_prototype_of$b(subClass, superClass);
7367
+ }
7368
+ function _set_prototype_of$b(o, p) {
7369
+ _set_prototype_of$b = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7370
+ o.__proto__ = p;
7371
+ return o;
7372
+ };
7373
+ return _set_prototype_of$b(o, p);
7374
+ }
7375
+ /**
7376
+ * 告警消息按钮控件
7377
+ *
7378
+ * 点击弹出告警消息列表弹窗(纯触发按钮,无激活状态)
7379
+ *
7380
+ * @category Control
7381
+ */ var AlarmMessage = /*#__PURE__*/ function(Control) {
7382
+ _inherits$b(AlarmMessage, Control);
7383
+ function AlarmMessage(options) {
7384
+ var _this;
7385
+ _this = Control.call(this, _extends$a({}, options, {
7386
+ tagName: 'span',
7387
+ controlType: 'button',
7388
+ classNameSuffix: 'alarm-message'
7389
+ })) || this, _this._panelOpen = false;
7390
+ _this._options = options;
7391
+ _this._render();
7392
+ _this.on(EVENTS.alarmMessageChange, function(open) {
7393
+ _this._panelOpen = open;
7394
+ });
7395
+ return _this;
7396
+ }
7397
+ var _proto = AlarmMessage.prototype;
7398
+ _proto._render = function _render() {
7399
+ var _this_locale;
7400
+ this.$container.innerHTML = IconComponents.alarmMessage({
7401
+ title: ((_this_locale = this.locale) == null ? void 0 : _this_locale.BTN_ALARM_MESSAGE) || '消息'
7402
+ });
7403
+ };
7404
+ /**
7405
+ * 销毁
7406
+ */ _proto.destroy = function destroy() {
7407
+ if (this._panelOpen) {
7408
+ this.emit(EVENTS.control.alarmMessageChange, false);
7409
+ }
7410
+ Control.prototype.destroy.call(this);
7411
+ };
7412
+ /**
7413
+ * 点击 Control 会触发
7414
+ */ _proto._onControlClick = function _onControlClick(e) {
7415
+ var _this__options_onChange, _this__options;
7416
+ Control.prototype._onControlClick.call(this, e);
7417
+ this._panelOpen = !this._panelOpen;
7418
+ this.emit(EVENTS.control.alarmMessageChange, this._panelOpen);
7419
+ (_this__options = this._options) == null ? void 0 : (_this__options_onChange = _this__options.onChange) == null ? void 0 : _this__options_onChange.call(_this__options, this._panelOpen);
7420
+ };
7421
+ return AlarmMessage;
7422
+ }(Control);
7423
+
6959
7424
  function _defineProperties$1(target, props) {
6960
7425
  for(var i = 0; i < props.length; i++){
6961
7426
  var descriptor = props[i];
@@ -6969,8 +7434,8 @@ function _create_class$1(Constructor, protoProps, staticProps) {
6969
7434
  if (protoProps) _defineProperties$1(Constructor.prototype, protoProps);
6970
7435
  return Constructor;
6971
7436
  }
6972
- function _extends$8() {
6973
- _extends$8 = Object.assign || function(target) {
7437
+ function _extends$9() {
7438
+ _extends$9 = Object.assign || function(target) {
6974
7439
  for(var i = 1; i < arguments.length; i++){
6975
7440
  var source = arguments[i];
6976
7441
  for(var key in source){
@@ -6981,9 +7446,9 @@ function _extends$8() {
6981
7446
  }
6982
7447
  return target;
6983
7448
  };
6984
- return _extends$8.apply(this, arguments);
7449
+ return _extends$9.apply(this, arguments);
6985
7450
  }
6986
- function _inherits$9(subClass, superClass) {
7451
+ function _inherits$a(subClass, superClass) {
6987
7452
  if (typeof superClass !== "function" && superClass !== null) {
6988
7453
  throw new TypeError("Super expression must either be null or a function");
6989
7454
  }
@@ -6994,14 +7459,14 @@ function _inherits$9(subClass, superClass) {
6994
7459
  configurable: true
6995
7460
  }
6996
7461
  });
6997
- if (superClass) _set_prototype_of$9(subClass, superClass);
7462
+ if (superClass) _set_prototype_of$a(subClass, superClass);
6998
7463
  }
6999
- function _set_prototype_of$9(o, p) {
7000
- _set_prototype_of$9 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7464
+ function _set_prototype_of$a(o, p) {
7465
+ _set_prototype_of$a = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7001
7466
  o.__proto__ = p;
7002
7467
  return o;
7003
7468
  };
7004
- return _set_prototype_of$9(o, p);
7469
+ return _set_prototype_of$a(o, p);
7005
7470
  }
7006
7471
  var SELECT_DEFAULT_OPTIONS = {
7007
7472
  fieldNames: {
@@ -7063,11 +7528,11 @@ var SELECT_DEFAULT_OPTIONS = {
7063
7528
  * }
7064
7529
  * ```
7065
7530
  */ var Select = /*#__PURE__*/ function(Control) {
7066
- _inherits$9(Select, Control);
7531
+ _inherits$a(Select, Control);
7067
7532
  function Select(options) {
7068
7533
  var _this;
7069
7534
  var _this__options_fieldNames, _this__picker_$body;
7070
- _this = Control.call(this, _extends$8({
7535
+ _this = Control.call(this, _extends$9({
7071
7536
  tagName: 'span',
7072
7537
  type: 'button',
7073
7538
  controlType: 'button'
@@ -7265,8 +7730,8 @@ function _assert_this_initialized$1(self) {
7265
7730
  }
7266
7731
  return self;
7267
7732
  }
7268
- function _extends$7() {
7269
- _extends$7 = Object.assign || function(target) {
7733
+ function _extends$8() {
7734
+ _extends$8 = Object.assign || function(target) {
7270
7735
  for(var i = 1; i < arguments.length; i++){
7271
7736
  var source = arguments[i];
7272
7737
  for(var key in source){
@@ -7277,9 +7742,9 @@ function _extends$7() {
7277
7742
  }
7278
7743
  return target;
7279
7744
  };
7280
- return _extends$7.apply(this, arguments);
7745
+ return _extends$8.apply(this, arguments);
7281
7746
  }
7282
- function _inherits$8(subClass, superClass) {
7747
+ function _inherits$9(subClass, superClass) {
7283
7748
  if (typeof superClass !== "function" && superClass !== null) {
7284
7749
  throw new TypeError("Super expression must either be null or a function");
7285
7750
  }
@@ -7290,14 +7755,14 @@ function _inherits$8(subClass, superClass) {
7290
7755
  configurable: true
7291
7756
  }
7292
7757
  });
7293
- if (superClass) _set_prototype_of$8(subClass, superClass);
7758
+ if (superClass) _set_prototype_of$9(subClass, superClass);
7294
7759
  }
7295
- function _set_prototype_of$8(o, p) {
7296
- _set_prototype_of$8 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7760
+ function _set_prototype_of$9(o, p) {
7761
+ _set_prototype_of$9 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7297
7762
  o.__proto__ = p;
7298
7763
  return o;
7299
7764
  };
7300
- return _set_prototype_of$8(o, p);
7765
+ return _set_prototype_of$9(o, p);
7301
7766
  }
7302
7767
  function _type_of(obj) {
7303
7768
  "@swc/helpers - typeof";
@@ -7347,12 +7812,12 @@ function __filter(list, locale) {
7347
7812
  *
7348
7813
  * @category Control
7349
7814
  */ var Definition = /*#__PURE__*/ function(Select) {
7350
- _inherits$8(Definition, Select);
7815
+ _inherits$9(Definition, Select);
7351
7816
  function Definition(options) {
7352
7817
  if (options === void 0) options = {};
7353
7818
  var _this;
7354
7819
  var _options_props, _options_props1, _options_locales_options_language;
7355
- _this = Select.call(this, _extends$7({}, DEFINITION_DEFAULT_OPTIONS, {
7820
+ _this = Select.call(this, _extends$8({}, DEFINITION_DEFAULT_OPTIONS, {
7356
7821
  value: (_options_props = options.props) == null ? void 0 : _options_props.videoLevel
7357
7822
  }, options, {
7358
7823
  fieldNames: {
@@ -7426,8 +7891,8 @@ function _assert_this_initialized(self) {
7426
7891
  }
7427
7892
  return self;
7428
7893
  }
7429
- function _extends$6() {
7430
- _extends$6 = Object.assign || function(target) {
7894
+ function _extends$7() {
7895
+ _extends$7 = Object.assign || function(target) {
7431
7896
  for(var i = 1; i < arguments.length; i++){
7432
7897
  var source = arguments[i];
7433
7898
  for(var key in source){
@@ -7438,9 +7903,9 @@ function _extends$6() {
7438
7903
  }
7439
7904
  return target;
7440
7905
  };
7441
- return _extends$6.apply(this, arguments);
7906
+ return _extends$7.apply(this, arguments);
7442
7907
  }
7443
- function _inherits$7(subClass, superClass) {
7908
+ function _inherits$8(subClass, superClass) {
7444
7909
  if (typeof superClass !== "function" && superClass !== null) {
7445
7910
  throw new TypeError("Super expression must either be null or a function");
7446
7911
  }
@@ -7451,14 +7916,14 @@ function _inherits$7(subClass, superClass) {
7451
7916
  configurable: true
7452
7917
  }
7453
7918
  });
7454
- if (superClass) _set_prototype_of$7(subClass, superClass);
7919
+ if (superClass) _set_prototype_of$8(subClass, superClass);
7455
7920
  }
7456
- function _set_prototype_of$7(o, p) {
7457
- _set_prototype_of$7 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7921
+ function _set_prototype_of$8(o, p) {
7922
+ _set_prototype_of$8 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7458
7923
  o.__proto__ = p;
7459
7924
  return o;
7460
7925
  };
7461
- return _set_prototype_of$7(o, p);
7926
+ return _set_prototype_of$8(o, p);
7462
7927
  }
7463
7928
  // 支持的倍速列表, 需要是 2 的指数,不能小于 0.5, 最大 16 倍
7464
7929
  var SUPPORT_SPEED = [
@@ -7492,11 +7957,11 @@ var SPEED_DEFAULT_OPTIONS = {
7492
7957
  * 2. 标准流不支持;
7493
7958
  * @category Control
7494
7959
  */ var Speed = /*#__PURE__*/ function(Select) {
7495
- _inherits$7(Speed, Select);
7960
+ _inherits$8(Speed, Select);
7496
7961
  function Speed(options) {
7497
7962
  var _this;
7498
7963
  var _options_locales_options_language, _options_locales;
7499
- _this = Select.call(this, _extends$6({}, SPEED_DEFAULT_OPTIONS, options, {
7964
+ _this = Select.call(this, _extends$7({}, SPEED_DEFAULT_OPTIONS, options, {
7500
7965
  value: (options.props.speed || 1) + '',
7501
7966
  classNameSuffix: 'speed',
7502
7967
  controlType: 'button',
@@ -7550,8 +8015,8 @@ var SPEED_DEFAULT_OPTIONS = {
7550
8015
  return Speed;
7551
8016
  }(Select);
7552
8017
 
7553
- function _extends$5() {
7554
- _extends$5 = Object.assign || function(target) {
8018
+ function _extends$6() {
8019
+ _extends$6 = Object.assign || function(target) {
7555
8020
  for(var i = 1; i < arguments.length; i++){
7556
8021
  var source = arguments[i];
7557
8022
  for(var key in source){
@@ -7562,9 +8027,9 @@ function _extends$5() {
7562
8027
  }
7563
8028
  return target;
7564
8029
  };
7565
- return _extends$5.apply(this, arguments);
8030
+ return _extends$6.apply(this, arguments);
7566
8031
  }
7567
- function _inherits$6(subClass, superClass) {
8032
+ function _inherits$7(subClass, superClass) {
7568
8033
  if (typeof superClass !== "function" && superClass !== null) {
7569
8034
  throw new TypeError("Super expression must either be null or a function");
7570
8035
  }
@@ -7575,24 +8040,24 @@ function _inherits$6(subClass, superClass) {
7575
8040
  configurable: true
7576
8041
  }
7577
8042
  });
7578
- if (superClass) _set_prototype_of$6(subClass, superClass);
8043
+ if (superClass) _set_prototype_of$7(subClass, superClass);
7579
8044
  }
7580
- function _set_prototype_of$6(o, p) {
7581
- _set_prototype_of$6 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8045
+ function _set_prototype_of$7(o, p) {
8046
+ _set_prototype_of$7 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
7582
8047
  o.__proto__ = p;
7583
8048
  return o;
7584
8049
  };
7585
- return _set_prototype_of$6(o, p);
8050
+ return _set_prototype_of$7(o, p);
7586
8051
  }
7587
8052
  /**
7588
8053
  * 日历选择器控件
7589
8054
  * @category Control
7590
8055
  */ var DatePickerControl = /*#__PURE__*/ function(Control) {
7591
- _inherits$6(DatePickerControl, Control);
8056
+ _inherits$7(DatePickerControl, Control);
7592
8057
  function DatePickerControl(options) {
7593
8058
  var _this;
7594
8059
  var _this_options_props_urlInfo_searchParams, _this_options_props_urlInfo, _this_options_props;
7595
- _this = Control.call(this, _extends$5({
8060
+ _this = Control.call(this, _extends$6({
7596
8061
  maxDate: new Date()
7597
8062
  }, options, {
7598
8063
  tagName: 'span',
@@ -7623,11 +8088,8 @@ function _set_prototype_of$6(o, p) {
7623
8088
  title: (_this_locale1 = this.locale) == null ? void 0 : _this_locale1.BTN_CALENDAR
7624
8089
  });
7625
8090
  }
7626
- this.datePicker = new DatePicker(this.$container, {
8091
+ this.datePicker = new DatePicker(this.$container, _extends$6({
7627
8092
  isMobile: isMobile1,
7628
- getPopupContainer: function() {
7629
- return _this.$container;
7630
- },
7631
8093
  mode: 'date',
7632
8094
  offset: [
7633
8095
  0,
@@ -7640,6 +8102,11 @@ function _set_prototype_of$6(o, p) {
7640
8102
  triggerClose: true,
7641
8103
  disabledDate: function(date) {
7642
8104
  return date.getTime() > (_this.options.maxDate || new Date()).getTime();
8105
+ }
8106
+ }, this.options || {}, {
8107
+ // 不支持自定义
8108
+ getPopupContainer: function() {
8109
+ return _this.$container;
7643
8110
  },
7644
8111
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
7645
8112
  onOk: function(date, _mode) {
@@ -7663,7 +8130,7 @@ function _set_prototype_of$6(o, p) {
7663
8130
  _this.options.onPanelChange == null ? void 0 : _this.options.onPanelChange.call(_this.options, open, _this.datePicker.current);
7664
8131
  _this.emit(EVENTS.control.datePanelOpenChange, open, _this.datePicker.current);
7665
8132
  }
7666
- });
8133
+ }));
7667
8134
  };
7668
8135
  /**
7669
8136
  * 设置日期, change = true 时触发 onChange 事件
@@ -7708,6 +8175,145 @@ function _set_prototype_of$6(o, p) {
7708
8175
  return DatePickerControl;
7709
8176
  }(Control);
7710
8177
 
8178
+ function _extends$5() {
8179
+ _extends$5 = Object.assign || function(target) {
8180
+ for(var i = 1; i < arguments.length; i++){
8181
+ var source = arguments[i];
8182
+ for(var key in source){
8183
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
8184
+ target[key] = source[key];
8185
+ }
8186
+ }
8187
+ }
8188
+ return target;
8189
+ };
8190
+ return _extends$5.apply(this, arguments);
8191
+ }
8192
+ function _inherits$6(subClass, superClass) {
8193
+ if (typeof superClass !== "function" && superClass !== null) {
8194
+ throw new TypeError("Super expression must either be null or a function");
8195
+ }
8196
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
8197
+ constructor: {
8198
+ value: subClass,
8199
+ writable: true,
8200
+ configurable: true
8201
+ }
8202
+ });
8203
+ if (superClass) _set_prototype_of$6(subClass, superClass);
8204
+ }
8205
+ function _set_prototype_of$6(o, p) {
8206
+ _set_prototype_of$6 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
8207
+ o.__proto__ = p;
8208
+ return o;
8209
+ };
8210
+ return _set_prototype_of$6(o, p);
8211
+ }
8212
+ /** 时间格式 HH:mm:ss */ var TIME_FORMAT = 'HH:mm:ss';
8213
+ /**
8214
+ * 时间选择器控件
8215
+ * @category Control
8216
+ */ var TimePickerControl = /*#__PURE__*/ function(Control) {
8217
+ _inherits$6(TimePickerControl, Control);
8218
+ function TimePickerControl(options) {
8219
+ var _this;
8220
+ var _this_options_props_urlInfo_searchParams, _this_options_props_urlInfo, _this_options_props;
8221
+ _this = Control.call(this, _extends$5({}, options, {
8222
+ tagName: 'span',
8223
+ controlType: 'button',
8224
+ classNameSuffix: 'time'
8225
+ })) || this;
8226
+ _this.options = options;
8227
+ _this._value = DateTime.format(((_this_options_props = _this.options.props) == null ? void 0 : (_this_options_props_urlInfo = _this_options_props.urlInfo) == null ? void 0 : (_this_options_props_urlInfo_searchParams = _this_options_props_urlInfo.searchParams) == null ? void 0 : _this_options_props_urlInfo_searchParams.begin) || _this.options.current || new Date(), TIME_FORMAT);
8228
+ _this._render();
8229
+ return _this;
8230
+ }
8231
+ var _proto = TimePickerControl.prototype;
8232
+ _proto._render = function _render() {
8233
+ var _this = this;
8234
+ var _this_locale;
8235
+ isMobile();
8236
+ // if (isMobile1) {
8237
+ // this.$container.innerHTML = `
8238
+ // <span class="${PREFIX_CLASS}-mobile-date-filter" title="${(this.locale?.BTN_TIME || '') as string}">
8239
+ // <span class="${PREFIX_CLASS}-mobile-date-filter-value">${this._getTimeStr()}</span>
8240
+ // ${IconComponents.filter()}
8241
+ // <span>`;
8242
+ // } else {
8243
+ this.$container.innerHTML = IconComponents.time({
8244
+ title: (_this_locale = this.locale) == null ? void 0 : _this_locale.BTN_TIME
8245
+ });
8246
+ // }
8247
+ this.timePicker = new TimePicker(this.$container, _extends$5({
8248
+ showHeader: false,
8249
+ isMobile: false,
8250
+ offset: [
8251
+ 0,
8252
+ -10
8253
+ ],
8254
+ language: this.options.language === 'zh' ? 'zh' : 'en',
8255
+ current: this._value,
8256
+ placement: 'tr',
8257
+ triggerClose: true
8258
+ }, this.options || {}, {
8259
+ // 不支持自定义
8260
+ getPopupContainer: function() {
8261
+ return _this.$container;
8262
+ },
8263
+ onChange: function(time, _times) {
8264
+ if (time && _this._value !== time) {
8265
+ _this._value = time;
8266
+ _this.options.onChange == null ? void 0 : _this.options.onChange.call(_this.options, time, _times);
8267
+ _this.emit(EVENTS.control.timeChange, time);
8268
+ }
8269
+ },
8270
+ onOpenChange: function(open) {
8271
+ _this.options.onPanelChange == null ? void 0 : _this.options.onPanelChange.call(_this.options, open, _this.timePicker.current);
8272
+ _this.emit(EVENTS.control.timePanelOpenChange, open, _this.timePicker.current);
8273
+ }
8274
+ }));
8275
+ };
8276
+ /**
8277
+ * 设置时间
8278
+ * @param time 设置的时间 HH:mm:ss
8279
+ */ _proto.setTime = function setTime(time) {
8280
+ var _this_timePicker;
8281
+ (_this_timePicker = this.timePicker) == null ? void 0 : _this_timePicker.setCurrent(time);
8282
+ if (time && this._value !== time) {
8283
+ this._value = time;
8284
+ var valueEl = this.$container.querySelector("." + PREFIX_CLASS + "-mobile-date-filter-value");
8285
+ if (valueEl) {
8286
+ valueEl.innerHTML = this._getTimeStr();
8287
+ }
8288
+ }
8289
+ };
8290
+ _proto.reset = function reset() {
8291
+ if (this.timePicker) this.timePicker.open = false;
8292
+ Control.prototype.reset.call(this);
8293
+ };
8294
+ /**
8295
+ * 销毁控件
8296
+ * @override
8297
+ */ _proto.destroy = function destroy() {
8298
+ if (this.timePicker) {
8299
+ this.timePicker.destroy();
8300
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
8301
+ this.timePicker = null;
8302
+ }
8303
+ Control.prototype.destroy.call(this);
8304
+ };
8305
+ _proto._getTimeStr = function _getTimeStr() {
8306
+ return this._value;
8307
+ };
8308
+ /**
8309
+ * 点击 Control 会触发
8310
+ * @overload super._onControlClick(e: Event)
8311
+ */ _proto._onControlClick = function _onControlClick(e) {
8312
+ Control.prototype._onControlClick.call(this, e);
8313
+ };
8314
+ return TimePickerControl;
8315
+ }(Control);
8316
+
7711
8317
  function _extends$4() {
7712
8318
  _extends$4 = Object.assign || function(target) {
7713
8319
  for(var i = 1; i < arguments.length; i++){
@@ -7753,9 +8359,16 @@ function _set_prototype_of$5(o, p) {
7753
8359
  tagName: 'div',
7754
8360
  controlType: 'block',
7755
8361
  classNameSuffix: 'time-line'
7756
- })) || this, _this._$add = null, _this._$reduce = null, _this._currentTime = 0, _this.records = [];
8362
+ })) || this, _this._$add = null, _this._$reduce = null, _this._$scaleWrapper = null, _this._currentTime = 0, _this.records = [];
7757
8363
  _this._currentTime = 0;
7758
- _this._options = options;
8364
+ _this._options = deepmerge.all([
8365
+ {
8366
+ showTimeWidthBtn: true
8367
+ },
8368
+ options
8369
+ ], {
8370
+ clone: false
8371
+ });
7759
8372
  _this.records = ((_this__options = _this._options) == null ? void 0 : (_this__options_props = _this__options.props) == null ? void 0 : _this__options_props.recordList) || [];
7760
8373
  _this._render();
7761
8374
  _this.on(EVENTS.setAllDayRecTimes, function(records) {
@@ -7780,11 +8393,19 @@ function _set_prototype_of$5(o, p) {
7780
8393
  var _this = this;
7781
8394
  var _this_timeLineUtil_updateTimeSections, _this_timeLineUtil;
7782
8395
  var _this__options_showTimeWidthBtn, _this__options_showCoverFold;
7783
- var _timeLineOptions = {
8396
+ var _timeLineOptions = _extends$4({
7784
8397
  language: this._options.language || 'zh',
7785
8398
  coverQuery: this._options.coverQuery || '',
7786
8399
  showTimeWidthBtn: (_this__options_showTimeWidthBtn = this._options.showTimeWidthBtn) != null ? _this__options_showTimeWidthBtn : true,
7787
8400
  showCoverFold: (_this__options_showCoverFold = this._options.showCoverFold) != null ? _this__options_showCoverFold : true,
8401
+ hoverTipPlacement: 'top'
8402
+ }, this._options || {}, {
8403
+ onClickSeek: function(date) {
8404
+ if (date == null ? void 0 : date.getTime()) {
8405
+ _this._options.onClickSeek == null ? void 0 : _this._options.onClickSeek.call(_this._options, date);
8406
+ _this.emit(EVENTS.control.timeLineChange, date);
8407
+ }
8408
+ },
7788
8409
  onChange: function(date) {
7789
8410
  if (_this._currentTime !== (date == null ? void 0 : date.getTime())) {
7790
8411
  _this._options.onChange == null ? void 0 : _this._options.onChange.call(_this._options, date);
@@ -7806,12 +8427,12 @@ function _set_prototype_of$5(o, p) {
7806
8427
  } catch (error) {
7807
8428
  }
7808
8429
  }
7809
- };
8430
+ });
7810
8431
  if (isMobile()) {
7811
8432
  this.timeLineUtil = new MobileTimeLine(this.$container, _timeLineOptions);
7812
8433
  } else {
7813
8434
  this.timeLineUtil = new TimeLine(this.$container, _timeLineOptions);
7814
- this._renderAddReduce();
8435
+ if (this._options.showTimeWidthBtn) this._renderAddReduce();
7815
8436
  }
7816
8437
  (_this_timeLineUtil = this.timeLineUtil) == null ? void 0 : (_this_timeLineUtil_updateTimeSections = _this_timeLineUtil.updateTimeSections) == null ? void 0 : _this_timeLineUtil_updateTimeSections.call(_this_timeLineUtil, this.records);
7817
8438
  this.timeLineUtil.update(new Date());
@@ -7822,7 +8443,7 @@ function _set_prototype_of$5(o, p) {
7822
8443
  _proto._renderAddReduce = function _renderAddReduce() {
7823
8444
  var _this = this;
7824
8445
  this._$add = document.createElement('span');
7825
- this._$add.classList.add("" + PREFIX_CLASS + "-time-line-scale-add");
8446
+ this._$add.classList.add("" + PREFIX_CLASS + "-time-line-zoom-add");
7826
8447
  this._$add.innerHTML = IconComponents.add();
7827
8448
  this._$add.addEventListener('click', function() {
7828
8449
  if (_this.timeLineUtil) {
@@ -7831,7 +8452,7 @@ function _set_prototype_of$5(o, p) {
7831
8452
  }
7832
8453
  });
7833
8454
  this._$reduce = document.createElement('span');
7834
- this._$reduce.classList.add("" + PREFIX_CLASS + "-time-line-scale-sub");
8455
+ this._$reduce.classList.add("" + PREFIX_CLASS + "-time-line-zoom-sub");
7835
8456
  this._$reduce.innerHTML = IconComponents.reduce();
7836
8457
  this._$reduce.addEventListener('click', function() {
7837
8458
  if (_this.timeLineUtil) {
@@ -7839,8 +8460,11 @@ function _set_prototype_of$5(o, p) {
7839
8460
  _this.timeLineUtil.setTimeWidth(currentScale - 1);
7840
8461
  }
7841
8462
  });
7842
- this.$container.appendChild(this._$add);
7843
- this.$container.appendChild(this._$reduce);
8463
+ this._$scaleWrapper = document.createElement('span');
8464
+ this._$scaleWrapper.classList.add("" + PREFIX_CLASS + "-time-line-zoom");
8465
+ this._$scaleWrapper.appendChild(this._$add);
8466
+ this._$scaleWrapper.appendChild(this._$reduce);
8467
+ this.$container.appendChild(this._$scaleWrapper);
7844
8468
  };
7845
8469
  _proto.destroy = function destroy() {
7846
8470
  if (this._$add) {
@@ -7851,6 +8475,10 @@ function _set_prototype_of$5(o, p) {
7851
8475
  this._$reduce.remove();
7852
8476
  this._$reduce = null;
7853
8477
  }
8478
+ if (this._$scaleWrapper) {
8479
+ this._$scaleWrapper.remove();
8480
+ this._$scaleWrapper = null;
8481
+ }
7854
8482
  if (this.timeLineUtil) {
7855
8483
  this.timeLineUtil.destroy();
7856
8484
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
@@ -7948,6 +8576,9 @@ var Controls = {
7948
8576
  talk: Talk,
7949
8577
  broadcast: Broadcast,
7950
8578
  aiChat: AIChat,
8579
+ live: Live,
8580
+ recDropdown: RecDropdown,
8581
+ alarmMessage: AlarmMessage,
7951
8582
  zoom: Zoom,
7952
8583
  definition: Definition,
7953
8584
  fullscreen: Fullscreen,
@@ -7955,6 +8586,7 @@ var Controls = {
7955
8586
  rec: Rec,
7956
8587
  speed: Speed,
7957
8588
  date: DatePickerControl,
8589
+ time: TimePickerControl,
7958
8590
  timeLine: TimeLineControl
7959
8591
  };
7960
8592
 
@@ -7990,17 +8622,25 @@ var RecFooter = /*#__PURE__*/ function(EventEmitter) {
7990
8622
  _this.$container = container;
7991
8623
  _this.$popupContainer = document.createElement('div');
7992
8624
  _this.$popupContainer.classList.add("" + PREFIX_CLASS + "-rec-footer");
7993
- if (_this.options.hasDatePicker) {
7994
- _this.$popupContainer.classList.add("" + PREFIX_CLASS + "-rec-footer-has-date-picker");
7995
- }
7996
8625
  _this.$container.appendChild(_this.$popupContainer);
7997
8626
  _this.$timeLineContainer = document.createElement('div');
7998
8627
  _this.$timeLineContainer.classList.add("" + PREFIX_CLASS + "-rec-footer-time-line");
7999
- if (_this.options.hasDatePicker) {
8628
+ if (_this.options.hasDatePicker || _this.options.hasTimePicker) {
8000
8629
  _this.$popupContainer.appendChild(_this.$timeLineContainer);
8630
+ // 右侧容器: 放置时间选择器和日期选择器
8631
+ _this.$rightContainer = document.createElement('div');
8632
+ _this.$rightContainer.classList.add("" + PREFIX_CLASS + "-rec-footer-right");
8633
+ _this.$popupContainer.appendChild(_this.$rightContainer);
8634
+ }
8635
+ if (_this.options.hasTimePicker) {
8636
+ _this.$timePickerContainer = document.createElement('div');
8637
+ _this.$timePickerContainer.classList.add("" + PREFIX_CLASS + "-rec-footer-btn", "" + PREFIX_CLASS + "-rec-footer-time-picker");
8638
+ _this.$rightContainer.appendChild(_this.$timePickerContainer);
8639
+ }
8640
+ if (_this.options.hasDatePicker) {
8001
8641
  _this.$datePickerContainer = document.createElement('div');
8002
- _this.$datePickerContainer.classList.add("" + PREFIX_CLASS + "-rec-footer-date-picker");
8003
- _this.$popupContainer.appendChild(_this.$datePickerContainer);
8642
+ _this.$datePickerContainer.classList.add("" + PREFIX_CLASS + "-rec-footer-btn", "" + PREFIX_CLASS + "-rec-footer-date-picker");
8643
+ _this.$rightContainer.appendChild(_this.$datePickerContainer);
8004
8644
  }
8005
8645
  _this.$popupContainer.addEventListener('dblclick', function(e) {
8006
8646
  e.preventDefault();
@@ -8014,6 +8654,14 @@ var RecFooter = /*#__PURE__*/ function(EventEmitter) {
8014
8654
  this.$datePickerContainer.remove();
8015
8655
  this.$datePickerContainer = null;
8016
8656
  }
8657
+ if (this.$timePickerContainer) {
8658
+ this.$timePickerContainer.remove();
8659
+ this.$timePickerContainer = null;
8660
+ }
8661
+ if (this.$rightContainer) {
8662
+ this.$rightContainer.remove();
8663
+ this.$rightContainer = null;
8664
+ }
8017
8665
  if (this.$timeLineContainer) {
8018
8666
  var _this_$timeLineContainer_remove, _this_$timeLineContainer;
8019
8667
  (_this_$timeLineContainer = this.$timeLineContainer) == null ? void 0 : (_this_$timeLineContainer_remove = _this_$timeLineContainer.remove) == null ? void 0 : _this_$timeLineContainer_remove.call(_this_$timeLineContainer);
@@ -8481,7 +9129,10 @@ function _ts_generator$1(thisArg, body) {
8481
9129
  // 需要权限的控件
8482
9130
  var AUTH_KEY = [
8483
9131
  'ptz',
8484
- 'aiChat'
9132
+ 'aiChat',
9133
+ 'live',
9134
+ 'recDropdown',
9135
+ 'alarmMessage'
8485
9136
  ];
8486
9137
  /**
8487
9138
  * 渲染控件
@@ -8561,7 +9212,7 @@ function _renderControls(theme, $container, btnList, props) {
8561
9212
  }
8562
9213
  function _renderTheme(theme, data) {
8563
9214
  return _async_to_generator$1(function() {
8564
- var _theme_posterControl, _filterThemeData_header, _filterThemeData_footer, _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_options_mobileExtendOptions_controls1, _theme_options_mobileExtendOptions4, _filterThemeData_header1, _filterThemeData_footer1, _filterThemeData_footer_btnList1;
9215
+ 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;
8565
9216
  return _ts_generator$1(this, function(_state) {
8566
9217
  switch(_state.label){
8567
9218
  case 0:
@@ -8702,13 +9353,14 @@ function _renderTheme(theme, data) {
8702
9353
  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 : []);
8703
9354
  // FIXME: 这个逻辑实际上是有问题的
8704
9355
  _needTimeLine = list.some(function(item) {
8705
- return REC_GROUP.includes(item.iconId);
8706
- });
9356
+ return REC_GROUP.includes(item.iconId) || item.iconId === 'recDropdown';
9357
+ }) && ((_theme_urlInfo = theme.urlInfo) == null ? void 0 : _theme_urlInfo.type) === 'rec';
8707
9358
  theme.$container.classList.remove("" + PREFIX_CLASS + "-has-time-line");
8708
9359
  // PC 单独渲染timeLine
8709
9360
  if (!Utils.isMobile && !(theme.options.timeLineOptions === null || theme.options.disabledTimeLine) && _needTimeLine) {
8710
9361
  theme._recFooter = new RecFooter(theme.$container, {
8711
- hasDatePicker: theme.options.dateOptions !== null
9362
+ hasDatePicker: theme.options.dateOptions !== null,
9363
+ hasTimePicker: theme.options.timeOptions !== null
8712
9364
  });
8713
9365
  //
8714
9366
  _renderTimeLine(theme, theme._recFooter.$timeLineContainer, props);
@@ -8719,6 +9371,9 @@ function _renderTheme(theme, data) {
8719
9371
  if (theme.options.dateOptions !== null) {
8720
9372
  _renderDatePicker(theme, theme._recFooter.$datePickerContainer, props);
8721
9373
  }
9374
+ if (theme.options.timeOptions !== null) {
9375
+ _renderTimePicker(theme, theme._recFooter.$timePickerContainer, props);
9376
+ }
8722
9377
  }
8723
9378
  // 移动端扩展
8724
9379
  if (Utils.isMobile && ((_theme_options_mobileExtendOptions = theme.options.mobileExtendOptions) == null ? void 0 : (_theme_options_mobileExtendOptions_controls = _theme_options_mobileExtendOptions.controls) == null ? void 0 : _theme_options_mobileExtendOptions_controls.length)) {
@@ -8730,22 +9385,46 @@ function _renderTheme(theme, data) {
8730
9385
  if (theme.options.dateOptions !== null && ((_theme_options_mobileExtendOptions1 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions1.controls.includes('date')) && _needTimeLine) {
8731
9386
  _renderDatePicker(theme, theme._mobileExtend.$topLeft, props);
8732
9387
  }
8733
- if (theme.options.recOptions !== null && ((_theme_options_mobileExtendOptions2 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions2.controls.includes('rec')) && _needTimeLine) {
9388
+ if (theme.options.timeOptions !== null && ((_theme_options_mobileExtendOptions2 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions2.controls.includes('time')) && _needTimeLine) {
9389
+ _renderTimePicker(theme, theme._mobileExtend.$topLeft, props);
9390
+ }
9391
+ if (theme.options.recOptions !== null && ((_theme_options_mobileExtendOptions3 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions3.controls.includes('rec')) && _needTimeLine) {
8734
9392
  [].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) {
8735
9393
  var _theme__mobileExtend;
8736
9394
  if (REC_GROUP.includes(item.iconId)) _renderRecType(theme, (_theme__mobileExtend = theme._mobileExtend) == null ? void 0 : _theme__mobileExtend.$topRight, item.iconId, props);
8737
9395
  });
8738
9396
  }
8739
- if ((theme.options.timeLineOptions !== null || !theme.options.disabledTimeLine) && ((_theme_options_mobileExtendOptions3 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions3.controls.includes('timeLine')) && _needTimeLine) {
9397
+ // 移动端:在 rec 控件旁渲染 alarmMessage 按钮
9398
+ if (theme.options.alarmMessageOptions !== null && !((_theme_controls2 = theme.controls) == null ? void 0 : _theme_controls2['alarmMessageControl'])) {
9399
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9400
+ theme.controls['alarmMessageControl'] = new Controls['alarmMessage'](_extends$1({
9401
+ rootContainer: theme.$container,
9402
+ getPopupContainer: function() {
9403
+ var _theme__mobileExtend;
9404
+ return (_theme__mobileExtend = theme._mobileExtend) == null ? void 0 : _theme__mobileExtend.$topRight;
9405
+ },
9406
+ language: theme.options.language || 'zh',
9407
+ locales: theme.i18n.translations,
9408
+ sdkType: theme.options.sdkType,
9409
+ urlInfo: theme.urlInfo
9410
+ }, ((_theme_options = theme.options) == null ? void 0 : _theme_options.alarmMessageOptions) || {}, {
9411
+ props: props
9412
+ }));
9413
+ }
9414
+ if ((theme.options.timeLineOptions !== null || !theme.options.disabledTimeLine) && ((_theme_options_mobileExtendOptions4 = theme.options.mobileExtendOptions) == null ? void 0 : _theme_options_mobileExtendOptions4.controls.includes('timeLine')) && _needTimeLine) {
8740
9415
  _renderTimeLine(theme, theme._mobileExtend.$content, props);
8741
9416
  }
8742
- if (Utils.isMobile && ((_theme_options_mobileExtendOptions4 = theme.options.mobileExtendOptions) == null ? void 0 : (_theme_options_mobileExtendOptions_controls1 = _theme_options_mobileExtendOptions4.controls) == null ? void 0 : _theme_options_mobileExtendOptions_controls1.includes('ptz')) && hasPtz && theme.controls.ptzControl) {
9417
+ 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) {
8743
9418
  theme.controls.ptzControl.renderMobileExtend(theme._mobileExtend.$content);
8744
9419
  }
8745
9420
  }
8746
9421
  }
8747
9422
  theme.emit(EVENTS.control.mountedControls);
8748
9423
  if (!theme.playing) theme._disabled(true);
9424
+ // 同步 loading 状态(修复:_loadingControl 创建前设置的 loading=true 不生效的问题)
9425
+ if (theme._loading && theme._loadingControl) {
9426
+ theme._loadingControl.show();
9427
+ }
8749
9428
  _controlEventemitter(theme);
8750
9429
  return [
8751
9430
  2
@@ -8787,6 +9466,22 @@ var _renderDatePicker = function(theme, container, props) {
8787
9466
  }));
8788
9467
  }
8789
9468
  };
9469
+ var _renderTimePicker = function(theme, container, props) {
9470
+ if (props === void 0) props = {};
9471
+ if (!theme.controls.timeControl && theme.options.timeOptions !== null) {
9472
+ var _theme_options;
9473
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
9474
+ theme.controls.timeControl = new Controls['time'](_extends$1({
9475
+ getPopupContainer: function() {
9476
+ return container;
9477
+ },
9478
+ language: theme.options.language,
9479
+ locales: theme.i18n.translations
9480
+ }, ((_theme_options = theme.options) == null ? void 0 : _theme_options["timeOptions"]) || {}, {
9481
+ props: props
9482
+ }));
9483
+ }
9484
+ };
8790
9485
  var _renderRecType = function(theme, container, recType, props) {
8791
9486
  if (props === void 0) props = {};
8792
9487
  var _theme_controls, _theme_controls1, _theme_controls2;
@@ -9599,7 +10294,9 @@ var THEME_DEFAULT_OPTIONS = {
9599
10294
  _this._width = width;
9600
10295
  _this._height = height;
9601
10296
  if ((_this_controls = _this.controls) == null ? void 0 : _this_controls.timeLineControl) {
9602
- _this.controls.timeLineControl.setWidth(width - 20 - DATE_PICKER_ICON_WIDTH);
10297
+ var _this_$container_querySelector;
10298
+ var rcFooterRightWidth = ((_this_$container_querySelector = _this.$container.querySelector("." + PREFIX_CLASS + "-rec-footer-right")) == null ? void 0 : _this_$container_querySelector.clientWidth) || 0;
10299
+ _this.controls.timeLineControl.setWidth(width - rcFooterRightWidth);
9603
10300
  }
9604
10301
  // header 和 footer 使用防抖去实现, 避免频繁触发,
9605
10302
  _this._headerMoreControlShow();
@@ -10353,6 +11050,6 @@ var THEME_DEFAULT_OPTIONS = {
10353
11050
  zh: zh,
10354
11051
  en: en
10355
11052
  };
10356
- /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.0.2-beta.1';
11053
+ /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.0-beta.1';
10357
11054
 
10358
11055
  export { Control, EVENTS, Fullscreen, Loading, Message, Play, Poster, Rec, Theme, Utils, Volume };