@ezuikit/player-theme 2.0.0-beta.6 → 2.0.1-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.umd.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * @ezuikit/player-theme v2.0.0-beta.6
3
- * Copyright (c) 2025-11-18 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v2.0.1-beta.1
3
+ * Copyright (c) 2025-12-03 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  (function (global, factory) {
@@ -1479,12 +1479,12 @@
1479
1479
  * LICENSE file in the root directory of this source tree.
1480
1480
  */
1481
1481
 
1482
- var dist$a;
1483
- var hasRequiredDist$a;
1482
+ var dist$c;
1483
+ var hasRequiredDist$c;
1484
1484
 
1485
- function requireDist$a () {
1486
- if (hasRequiredDist$a) return dist$a;
1487
- hasRequiredDist$a = 1;
1485
+ function requireDist$c () {
1486
+ if (hasRequiredDist$c) return dist$c;
1487
+ hasRequiredDist$c = 1;
1488
1488
 
1489
1489
  function _array_like_to_array(arr, len) {
1490
1490
  if (len == null || len > arr.length) len = arr.length;
@@ -2042,11 +2042,11 @@
2042
2042
  */
2043
2043
  Picker.VERSION = '1.1.5';
2044
2044
 
2045
- dist$a = Picker;
2046
- return dist$a;
2045
+ dist$c = Picker;
2046
+ return dist$c;
2047
2047
  }
2048
2048
 
2049
- var distExports$8 = requireDist$a();
2049
+ var distExports$8 = requireDist$c();
2050
2050
  var Picker = /*@__PURE__*/getDefaultExportFromCjs(distExports$8);
2051
2051
 
2052
2052
  /*
@@ -2055,12 +2055,12 @@
2055
2055
  * Released under the MIT License.
2056
2056
  */
2057
2057
 
2058
- var dist$9;
2059
- var hasRequiredDist$9;
2058
+ var dist$b;
2059
+ var hasRequiredDist$b;
2060
2060
 
2061
- function requireDist$9 () {
2062
- if (hasRequiredDist$9) return dist$9;
2063
- hasRequiredDist$9 = 1;
2061
+ function requireDist$b () {
2062
+ if (hasRequiredDist$b) return dist$b;
2063
+ hasRequiredDist$b = 1;
2064
2064
 
2065
2065
  const DOCUMENT_NODE_TYPE = 9;
2066
2066
  /**
@@ -2173,19 +2173,19 @@
2173
2173
  };
2174
2174
  }
2175
2175
 
2176
- dist$9 = delegate;
2177
- return dist$9;
2176
+ dist$b = delegate;
2177
+ return dist$b;
2178
2178
  }
2179
2179
 
2180
- var distExports$7 = requireDist$9();
2181
- var delegate = /*@__PURE__*/getDefaultExportFromCjs(distExports$7);
2180
+ var distExports$7 = requireDist$b();
2181
+ var delegate$2 = /*@__PURE__*/getDefaultExportFromCjs(distExports$7);
2182
2182
 
2183
- var cjs;
2184
- var hasRequiredCjs;
2183
+ var cjs$1;
2184
+ var hasRequiredCjs$1;
2185
2185
 
2186
- function requireCjs () {
2187
- if (hasRequiredCjs) return cjs;
2188
- hasRequiredCjs = 1;
2186
+ function requireCjs$1 () {
2187
+ if (hasRequiredCjs$1) return cjs$1;
2188
+ hasRequiredCjs$1 = 1;
2189
2189
 
2190
2190
  var isMergeableObject = function isMergeableObject(value) {
2191
2191
  return isNonNullObject(value)
@@ -2317,32 +2317,32 @@
2317
2317
 
2318
2318
  var deepmerge_1 = deepmerge;
2319
2319
 
2320
- cjs = deepmerge_1;
2321
- return cjs;
2320
+ cjs$1 = deepmerge_1;
2321
+ return cjs$1;
2322
2322
  }
2323
2323
 
2324
- var cjsExports = requireCjs();
2324
+ var cjsExports = requireCjs$1();
2325
2325
  var deepmerge = /*@__PURE__*/getDefaultExportFromCjs(cjsExports);
2326
2326
 
2327
- var dist$8 = {};
2327
+ var dist$a = {};
2328
2328
 
2329
2329
  /*
2330
- * @ezuikit/utils-tools v2.0.1-beta.1
2330
+ * @ezuikit/utils-tools v2.0.1
2331
2331
  * tools utils
2332
- * Copyright (c) 2025-11-16 Ezviz-OpenBiz
2332
+ * Copyright (c) 2025-12-02 Ezviz-OpenBiz
2333
2333
  * Released under the MIT License.
2334
2334
  */
2335
2335
 
2336
- var hasRequiredDist$8;
2336
+ var hasRequiredDist$a;
2337
2337
 
2338
- function requireDist$8 () {
2339
- if (hasRequiredDist$8) return dist$8;
2340
- hasRequiredDist$8 = 1;
2341
- var getQuery=function(url){var query=url.split("?")[1],obj={};if(query)for(var vars=query.split("&"),i=0;i<vars.length;i++){var pair=vars[i].split("=");obj[pair[0]]=decodeURIComponent(pair[1]);}return obj};function parseEzopenUrl(url){var obj={};if(/^ezopen:\/\//.test(url)){if(url.includes("@")){var endIndex=url.indexOf("@"),startIndex=url.indexOf("//");obj.validateCode=url.substring(startIndex+2,endIndex),url=url.replace(obj.validateCode+"@","");}obj.protocol=url.split("//")[0],obj.search=url.split("?")[1]?"?"+url.split("?")[1]:"",obj.hostname=url.split("/")[2],obj.origin=obj.protocol+"//"+obj.hostname,obj.pathname=url.split("?")[0].replace(obj.origin,""),obj.href=url;var pathnames=obj.pathname.split("/"),lastPath=pathnames[2].split(".");return obj.deviceSerial=pathnames[1],obj.channelNo=lastPath[0],obj.type=lastPath[lastPath.length-1],"live"===obj.type&&(obj.definition=lastPath.length>2?lastPath[1]:"sd"),"rec"===obj.type&&pathnames[2]&&(obj.recType=pathnames[2].includes(".cloud.")?"cloud":""),obj.searchParams=getQuery(url),obj}return {}}var codec={h264:1,h265:2,h266:4,vp8:8,vp9:16,av1:32};dist$8.addVc=function(url,codecs){ void 0===codecs&&(codecs=["h264"]);var vc=(codecs||["h264"]).reduce((function(acc,key){return key=key.toLowerCase(),acc+(codec[key]||0)}),0),host=url.split("?")[0],query=url.split("?")[1];return query=(query||"").split("&").filter((function(item){return !/^vc=\d?/.test(item)})).join("&"),host+"?"+(query+=(query?"&":"")+"vc="+vc)},dist$8.getQuery=getQuery,dist$8.getStaticPath=function(path,base){ void 0===base&&(base="");var protocolReg=/^(https?:\/\/|^\/\/)/;if(""===path||void 0===path)return "";if(protocolReg.test(path))return path;path=path.replace(/\/+/g,"/"),base=protocolReg.test(base||"")?base:window.location.href;try{return new URL(path,base).href}catch(error){return path}},dist$8.isHttp=function(url){return /^http[s]?:\/\//.test(url)},dist$8.isMobile=function(agent){var _navigator,_navigator1,_navigator2,_window;return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i.test(null!=agent?agent:null==(_navigator=navigator)?void 0:_navigator.userAgent)||/Macintosh/i.test(agent||(null==(_navigator1=navigator)?void 0:_navigator1.userAgent))&&(null==(_navigator2=navigator)?void 0:_navigator2.maxTouchPoints)>1||!!(null==(_window=window)?void 0:_window.__IS_MOBILE_SIMULATOR__)},dist$8.parseEzopenUrl=parseEzopenUrl,dist$8.pick=function(obj,keys){return Object.entries(obj).reduce((function(acc,param){var key=param[0],value=param[1];return keys.includes(key)&&(acc[key]=value),acc}),{})},dist$8.switchEzopenUrl=function(url,options){var _ref=null!=options?options:{},type=_ref.type,recType=_ref.recType,search=_ref.search,definition=_ref.definition,channelNo=_ref.channelNo,deviceSerial=_ref.deviceSerial,validateCode=_ref.validateCode,obj=parseEzopenUrl(url);if(search){var ns=Object.assign({},obj.searchParams,getQuery("?"+search.replace("?","")));search=Object.entries(ns).reduce((function(acc,param){var key=param[0],value=param[1];return ""===value?acc:acc+=key+"="+encodeURIComponent(value)+"&"}),"?").replace(/&$/,"");}else search=obj.search;return type=type||obj.type,recType=null!=recType?recType:obj.recType,definition=null!=definition?definition:obj.definition,channelNo=channelNo||obj.channelNo,deviceSerial=deviceSerial||obj.deviceSerial,validateCode=null!=validateCode?validateCode:obj.validateCode,obj.protocol+"//"+(validateCode?validateCode+"@":"")+obj.hostname+"/"+deviceSerial+"/"+channelNo+("rec"===type&&recType?"."+recType:"")+("live"===type&&"hd"===definition?"."+definition:"")+"."+type+search};
2342
- return dist$8;
2338
+ function requireDist$a () {
2339
+ if (hasRequiredDist$a) return dist$a;
2340
+ hasRequiredDist$a = 1;
2341
+ var getQuery=function(url){var query=url.split("?")[1],obj={};if(query)for(var vars=query.split("&"),i=0;i<vars.length;i++){var pair=vars[i].split("=");obj[pair[0]]=decodeURIComponent(pair[1]);}return obj};function parseEzopenUrl(url){var obj={};if(/^ezopen:\/\//.test(url)){if(url.includes("@")){var endIndex=url.indexOf("@"),startIndex=url.indexOf("//");obj.validateCode=url.substring(startIndex+2,endIndex),url=url.replace(obj.validateCode+"@","");}obj.protocol=url.split("//")[0],obj.search=url.split("?")[1]?"?"+url.split("?")[1]:"",obj.hostname=url.split("/")[2],obj.origin=obj.protocol+"//"+obj.hostname,obj.pathname=url.split("?")[0].replace(obj.origin,""),obj.href=url;var pathnames=obj.pathname.split("/"),lastPath=pathnames[2].split(".");return obj.deviceSerial=pathnames[1],obj.channelNo=lastPath[0],obj.type=lastPath[lastPath.length-1],"live"===obj.type&&(obj.definition=lastPath.length>2?lastPath[1]:"sd"),"rec"===obj.type&&pathnames[2]&&(obj.recType=pathnames[2].includes(".cloud.")?"cloud":""),obj.searchParams=getQuery(url),obj}return {}}var codec={h264:1,h265:2,h266:4,vp8:8,vp9:16,av1:32};function _array_like_to_array(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _instanceof(left,right){return null!=right&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?!!right[Symbol.hasInstance](left):left instanceof right}function _create_for_of_iterator_helper_loose(o,allowArrayLike){var it="undefined"!=typeof Symbol&&o[Symbol.iterator]||o["@@iterator"];if(it)return (it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=function(o,minLen){if(o){if("string"==typeof o)return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return "Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(o,minLen):void 0}}(o))||allowArrayLike){it&&(o=it);var i=0;return function(){return i>=o.length?{done:true}:{done:false,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var DateTime=function(){function DateTime(){}return DateTime.fillZero=function(num,len){return void 0===len&&(len=2),num.toString().padStart(len,"0")},DateTime.format=function(input,format){var date;if(_instanceof(input,Date))date=input;else {if("number"!=typeof input&&"string"!=typeof input)throw new Error("Invalid date input");date=DateTime.toDate(input+"");}for(var _step,result=format,_iterator=_create_for_of_iterator_helper_loose([[/(yyyy|YYYY)/g,function(){return DateTime.fillZero(date.getFullYear(),4)}],[/(yy|YY)/g,function(){return DateTime.fillZero(date.getFullYear()%100,2)}],[/(MM)/g,function(){return DateTime.fillZero(date.getMonth()+1,2)}],[/(M)/g,function(){return (date.getMonth()+1).toString()}],[/(dd|DD)/g,function(){return DateTime.fillZero(date.getDate(),2)}],[/(d|D)/g,function(){return date.getDate().toString()}],[/(HH|hh)/g,function(){return DateTime.fillZero(date.getHours(),2)}],[/(H|h)/g,function(){return date.getHours().toString()}],[/(mm)/g,function(){return DateTime.fillZero(date.getMinutes(),2)}],[/(m)/g,function(){return date.getMinutes().toString()}],[/(ss|SS)/g,function(){return DateTime.fillZero(date.getSeconds(),2)}],[/(s|S)/g,function(){return date.getSeconds().toString()}],[/(fff)/g,function(){return DateTime.fillZero(date.getMilliseconds(),3)}]]);!(_step=_iterator()).done;){var _step_value=_step.value,regexp=_step_value[0],fn=_step_value[1];result=result.replace(regexp,fn);}return result},DateTime.toDate=function(str){if(_instanceof(str,Date))return str;str=(str+"").trim().replace(/\/|\./gi,"-"),/^\d{4}$/.test(str)&&(str+="-01"),/^\d{4}-\d{2}$/.test(str)&&(str+="-01");try{return /^\d{4}-\d{2}-\d{2}$/.test(str)?new Date(str+"T00:00:00"):/^\d{8}$/.test(str)?(str+="",new Date(str.slice(0,4)+"-"+str.slice(4,6)+"-"+str.slice(6,8)+"T00:00:00")):/^\d{14}$/.test(str)?(str+="",new Date(str.slice(0,4)+"-"+str.slice(4,6)+"-"+str.slice(6,8)+"T"+str.slice(8,10)+":"+str.slice(10,12)+":"+str.slice(12,14))):/^\d{13}$/.test(str)?new Date(Number(str)):/^\d{10}$/.test(str)?new Date(1e3*Number(str)):new Date(str)}catch(error){throw new Error("Invalid date string")}},DateTime.diff=function(date1,date2,type){ void 0===type&&(type="second");var d1=DateTime.toDate(date1),d2=DateTime.toDate(date2);return "second"===type?Math.floor((d1.getTime()-d2.getTime())/1e3):"minute"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60):"hour"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60/60):"day"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60/60/24):Math.abs(d1.getTime()-d2.getTime())},DateTime}();dist$a.DateTime=DateTime,dist$a.addVc=function(url,codecs){ void 0===codecs&&(codecs=["h264"]);var vc=(codecs||["h264"]).reduce((function(acc,key){return key=key.toLowerCase(),acc+(codec[key]||0)}),0),host=url.split("?")[0],query=url.split("?")[1];return query=(query||"").split("&").filter((function(item){return !/^vc=\d?/.test(item)})).join("&"),host+"?"+(query+=(query?"&":"")+"vc="+vc)},dist$a.getQuery=getQuery,dist$a.getStaticPath=function(path,base){ void 0===base&&(base="");var protocolReg=/^(https?:\/\/|^\/\/)/;if(""===path||void 0===path)return "";if(protocolReg.test(path))return path;path=path.replace(/\/+/g,"/"),base=protocolReg.test(base||"")?base:window.location.href;try{return new URL(path,base).href}catch(error){return path}},dist$a.isHttp=function(url){return /^http[s]?:\/\//.test(url)},dist$a.isMobile=function(agent){var _navigator,_navigator1,_navigator2,_window;return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i.test(null!=agent?agent:null==(_navigator=navigator)?void 0:_navigator.userAgent)||/Macintosh/i.test(agent||(null==(_navigator1=navigator)?void 0:_navigator1.userAgent))&&(null==(_navigator2=navigator)?void 0:_navigator2.maxTouchPoints)>1||!!(null==(_window=window)?void 0:_window.__IS_MOBILE_SIMULATOR__)},dist$a.parseEzopenUrl=parseEzopenUrl,dist$a.pick=function(obj,keys){return Object.entries(obj).reduce((function(acc,param){var key=param[0],value=param[1];return keys.includes(key)&&(acc[key]=value),acc}),{})},dist$a.switchEzopenUrl=function(url,options){var _ref=null!=options?options:{},type=_ref.type,recType=_ref.recType,search=_ref.search,definition=_ref.definition,channelNo=_ref.channelNo,deviceSerial=_ref.deviceSerial,validateCode=_ref.validateCode,obj=parseEzopenUrl(url);if(search){var ns=Object.assign({},obj.searchParams,getQuery("?"+search.replace("?","")));search=Object.entries(ns).reduce((function(acc,param){var key=param[0],value=param[1];return ""===value?acc:acc+=key+"="+encodeURIComponent(value)+"&"}),"?").replace(/&$/,"");}else search=obj.search;return type=type||obj.type,recType=null!=recType?recType:obj.recType,definition=null!=definition?definition:obj.definition,channelNo=channelNo||obj.channelNo,deviceSerial=deviceSerial||obj.deviceSerial,validateCode=null!=validateCode?validateCode:obj.validateCode,obj.protocol+"//"+(validateCode?validateCode+"@":"")+obj.hostname+"/"+deviceSerial+"/"+channelNo+("rec"===type&&recType?"."+recType:"")+("live"===type&&"hd"===definition?"."+definition:"")+"."+type+search};
2342
+ return dist$a;
2343
2343
  }
2344
2344
 
2345
- var distExports$6 = requireDist$8();
2345
+ var distExports$6 = requireDist$a();
2346
2346
 
2347
2347
  /**
2348
2348
  * 节流函数
@@ -2739,7 +2739,7 @@
2739
2739
  var _this = this;
2740
2740
  var mousedownName = window.PointerEvent ? 'pointerdown' : 'mousedown';
2741
2741
  // prettier-ignore
2742
- this._delegateSliderMouseDown = delegate(this.$content, "." + PREFIX_CLASS + "-progress-slider", mousedownName, function(e) {
2742
+ this._delegateSliderMouseDown = delegate$2(this.$content, "." + PREFIX_CLASS + "-progress-slider", mousedownName, function(e) {
2743
2743
  var // 垂直方向Y轴是反的,所以用高度减去点击位置
2744
2744
  _this_options_onProgressClick, _this_options;
2745
2745
  e.stopPropagation();
@@ -2764,7 +2764,7 @@
2764
2764
  _this.percent = percent;
2765
2765
  });
2766
2766
  // prettier-ignore
2767
- this._delegateSliderHandleMouseDown = delegate(this.$content, "." + PREFIX_CLASS + "-progress-slider-handle", mousedownName, function(e) {
2767
+ this._delegateSliderHandleMouseDown = delegate$2(this.$content, "." + PREFIX_CLASS + "-progress-slider-handle", mousedownName, function(e) {
2768
2768
  e.stopPropagation();
2769
2769
  if (!_this.options.draggable) {
2770
2770
  return;
@@ -2804,7 +2804,7 @@
2804
2804
  // plug
2805
2805
  if (this.options.showPlus) {
2806
2806
  var clickName = window.PointerEvent ? 'pointerdown' : 'click';
2807
- this._delegatePlusClick = delegate(this.$content, "." + PREFIX_CLASS + "-progress-plus", clickName, function(e) {
2807
+ this._delegatePlusClick = delegate$2(this.$content, "." + PREFIX_CLASS + "-progress-plus", clickName, function(e) {
2808
2808
  e.stopPropagation();
2809
2809
  if (e.delegateTarget.classList.contains("" + PREFIX_CLASS + "-disabled") || _this._disabled) {
2810
2810
  return;
@@ -2822,7 +2822,7 @@
2822
2822
  if (this.options.showMinus) {
2823
2823
  var clickName1 = window.PointerEvent ? 'pointerdown' : 'click';
2824
2824
  // prettier-ignore
2825
- this._delegateMinusClick = delegate(this.$content, "." + PREFIX_CLASS + "-progress-minus", clickName1, function(e) {
2825
+ this._delegateMinusClick = delegate$2(this.$content, "." + PREFIX_CLASS + "-progress-minus", clickName1, function(e) {
2826
2826
  e.stopPropagation();
2827
2827
  if (e.delegateTarget.classList.contains("" + PREFIX_CLASS + "-disabled") || _this._disabled) {
2828
2828
  return;
@@ -2842,7 +2842,7 @@
2842
2842
  'touchmove',
2843
2843
  'dblclick'
2844
2844
  ].forEach(function(name) {
2845
- delegate(_this.$container, "." + PREFIX_CLASS + "-progress", name, function(e) {
2845
+ delegate$2(_this.$container, "." + PREFIX_CLASS + "-progress", name, function(e) {
2846
2846
  e.stopPropagation();
2847
2847
  e.preventDefault(); // 阻止默认的触摸行为
2848
2848
  });
@@ -3094,7 +3094,7 @@
3094
3094
  var _this = this;
3095
3095
  // 这里不要用 click 事件,因为拖动音量大小时鼠标移动到图标上会触发 click
3096
3096
  // prettier-ignore
3097
- delegate(this.$container, "." + PREFIX_CLASS + "-control-volume", "mousedown", function() {
3097
+ delegate$2(this.$container, "." + PREFIX_CLASS + "-control-volume", "mousedown", function() {
3098
3098
  if (!_this.$container.classList.contains("" + PREFIX_CLASS + "-disabled")) {
3099
3099
  _this._toggleMute();
3100
3100
  }
@@ -4037,7 +4037,7 @@
4037
4037
  };
4038
4038
  _proto._onClickIcon = function _onClickIcon() {
4039
4039
  var _this = this;
4040
- this._delegation = delegate(this.$container, "." + PREFIX_CLASS + "-icon", 'click', function(e) {
4040
+ this._delegation = delegate$2(this.$container, "." + PREFIX_CLASS + "-icon", 'click', function(e) {
4041
4041
  var target = e.delegateTarget;
4042
4042
  if (!target.classList.contains("" + PREFIX_CLASS + "-disabled")) {
4043
4043
  var type = target.getAttribute('data-type');
@@ -4056,15 +4056,15 @@
4056
4056
  return Rec;
4057
4057
  }(Control);
4058
4058
 
4059
- var dist$7 = {exports: {}};
4059
+ var dist$9 = {exports: {}};
4060
4060
 
4061
- var hasRequiredDist$7;
4061
+ var hasRequiredDist$9;
4062
4062
 
4063
- function requireDist$7 () {
4064
- if (hasRequiredDist$7) return dist$7.exports;
4065
- hasRequiredDist$7 = 1;
4063
+ function requireDist$9 () {
4064
+ if (hasRequiredDist$9) return dist$9.exports;
4065
+ hasRequiredDist$9 = 1;
4066
4066
 
4067
- var deepmerge = requireCjs();
4067
+ var deepmerge = requireCjs$1();
4068
4068
 
4069
4069
  function _create_class(Constructor, protoProps, staticProps) {
4070
4070
  return protoProps && function(target, props) {
@@ -4134,19 +4134,19 @@
4134
4134
  } ]), I18n;
4135
4135
  }();
4136
4136
 
4137
- I18n.VERSION = "2.0.0", dist$7.exports = I18n;
4138
- return dist$7.exports;
4137
+ I18n.VERSION = "2.0.0", dist$9.exports = I18n;
4138
+ return dist$9.exports;
4139
4139
  }
4140
4140
 
4141
- var distExports$5 = requireDist$7();
4141
+ var distExports$5 = requireDist$9();
4142
4142
  var I18n = /*@__PURE__*/getDefaultExportFromCjs(distExports$5);
4143
4143
 
4144
- var dist$6;
4145
- var hasRequiredDist$6;
4144
+ var dist$8;
4145
+ var hasRequiredDist$8;
4146
4146
 
4147
- function requireDist$6 () {
4148
- if (hasRequiredDist$6) return dist$6;
4149
- hasRequiredDist$6 = 1;
4147
+ function requireDist$8 () {
4148
+ if (hasRequiredDist$8) return dist$8;
4149
+ hasRequiredDist$8 = 1;
4150
4150
 
4151
4151
  var _$LoggerStyle$_ = {
4152
4152
  info: "",
@@ -4211,7 +4211,7 @@
4211
4211
 
4212
4212
  var __$list$__ = [ "info", "log", "warn", "error" ];
4213
4213
 
4214
- dist$6 = function(options) {
4214
+ dist$8 = function(options) {
4215
4215
  var logger = new LoggerCls(options);
4216
4216
  return new Proxy(logger, {
4217
4217
  get: function(target, prop) {
@@ -4230,10 +4230,10 @@
4230
4230
  }
4231
4231
  });
4232
4232
  };
4233
- return dist$6;
4233
+ return dist$8;
4234
4234
  }
4235
4235
 
4236
- var distExports$4 = requireDist$6();
4236
+ var distExports$4 = requireDist$8();
4237
4237
  var Logger = /*@__PURE__*/getDefaultExportFromCjs(distExports$4);
4238
4238
 
4239
4239
  var zh = {
@@ -6246,12 +6246,12 @@
6246
6246
  * Released under the MIT License.
6247
6247
  */
6248
6248
 
6249
- var dist$5;
6250
- var hasRequiredDist$5;
6249
+ var dist$7;
6250
+ var hasRequiredDist$7;
6251
6251
 
6252
- function requireDist$5 () {
6253
- if (hasRequiredDist$5) return dist$5;
6254
- hasRequiredDist$5 = 1;
6252
+ function requireDist$7 () {
6253
+ if (hasRequiredDist$7) return dist$7;
6254
+ hasRequiredDist$7 = 1;
6255
6255
 
6256
6256
  /**
6257
6257
  * Zoom position
@@ -6958,11 +6958,11 @@
6958
6958
  }();
6959
6959
  Zoom.VERSION = '0.0.2';
6960
6960
 
6961
- dist$5 = Zoom;
6962
- return dist$5;
6961
+ dist$7 = Zoom;
6962
+ return dist$7;
6963
6963
  }
6964
6964
 
6965
- var distExports$3 = requireDist$5();
6965
+ var distExports$3 = requireDist$7();
6966
6966
  var Zoom = /*@__PURE__*/getDefaultExportFromCjs(distExports$3);
6967
6967
 
6968
6968
  function _extends$h() {
@@ -8038,9 +8038,9 @@
8038
8038
  return CapturePicture;
8039
8039
  }(Control);
8040
8040
 
8041
- var dist$4 = {};
8041
+ var dist$6 = {};
8042
8042
 
8043
- var dist$3 = {};
8043
+ var dist$5 = {};
8044
8044
 
8045
8045
  /*
8046
8046
  * @ezuikit/utils-tools v1.1.1-beta.1
@@ -8049,13 +8049,13 @@
8049
8049
  * Released under the MIT License.
8050
8050
  */
8051
8051
 
8052
- var hasRequiredDist$4;
8052
+ var hasRequiredDist$6;
8053
8053
 
8054
- function requireDist$4 () {
8055
- if (hasRequiredDist$4) return dist$3;
8056
- hasRequiredDist$4 = 1;
8057
- const getQuery=url=>{const query=url.split("?")[1],obj={};if(query){const vars=query.split("&");for(let i=0;i<vars.length;i++){const pair=vars[i].split("=");obj[pair[0]]=decodeURIComponent(pair[1]);}}return obj};function parseEzopenUrl(url){const obj={};if(/^ezopen:\/\//.test(url)){if(url.includes("@")){const endIndex=url.indexOf("@"),startIndex=url.indexOf("//");obj.validateCode=url.substring(startIndex+2,endIndex),url=url.replace(obj.validateCode+"@","");}obj.protocol=url.split("//")[0],obj.search=url.split("?")[1]?"?"+url.split("?")[1]:"",obj.hostname=url.split("/")[2],obj.origin=obj.protocol+"//"+obj.hostname,obj.pathname=url.split("?")[0].replace(obj.origin,""),obj.href=url;const pathnames=obj.pathname.split("/"),lastPath=pathnames[2].split(".");return obj.deviceSerial=pathnames[1],obj.channelNo=lastPath[0],obj.type=lastPath[lastPath.length-1],"live"===obj.type&&(obj.definition=lastPath.length>2?lastPath[1]:"sd"),"rec"===obj.type&&pathnames[2]&&(obj.recType=pathnames[2].includes(".cloud.")?"cloud":""),obj.searchParams=getQuery(url),obj}return {}}const codec={h264:1,h265:2,h266:4,vp8:8,vp9:16,av1:32};dist$3.addVc=function(url){const vc=((arguments.length>1&&void 0!==arguments[1]?arguments[1]:["h264"])||["h264"]).reduce(((acc,key)=>(key=key.toLowerCase(),acc+(codec[key]||0))),0),host=url.split("?")[0];let query=url.split("?")[1];return query=(query||"").split("&").filter((item=>!/^vc=\d?/.test(item))).join("&"),query+=`${query?"&":""}vc=${vc}`,host+"?"+query},dist$3.getQuery=getQuery,dist$3.getStaticPath=function(path){let base=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const protocolReg=/^(https?:\/\/|^\/\/)/;if(""===path||void 0===path)return "";if(protocolReg.test(path))return path;path=path.replace(/\/+/g,"/"),base=protocolReg.test(base||"")?base:window.location.href;try{return new URL(path,base).href}catch(error){return path}},dist$3.isHttp=function(url){return /^http[s]?:\/\//.test(url)},dist$3.isMobile=function(agent){var _navigator,_navigator1,_navigator2,_window;return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i.test(null!=agent?agent:null==(_navigator=navigator)?void 0:_navigator.userAgent)||/Macintosh/i.test(null==(_navigator1=navigator)?void 0:_navigator1.userAgent)&&(null==(_navigator2=navigator)?void 0:_navigator2.maxTouchPoints)>1||(null==(_window=window)?void 0:_window.__IS_MOBILE_SIMULATOR__)},dist$3.parseEzopenUrl=parseEzopenUrl,dist$3.pick=function(obj,keys){return Object.entries(obj).reduce(((acc,_ref)=>{let[key,value]=_ref;return keys.includes(key)&&(acc[key]=value),acc}),{})},dist$3.switchEzopenUrl=function(url,options){let{type:type,recType:recType,search:search,definition:definition,channelNo:channelNo,deviceSerial:deviceSerial,validateCode:validateCode}=null!=options?options:{};const obj=parseEzopenUrl(url);if(search){const ns=Object.assign({},obj.searchParams,getQuery("?"+search.replace("?","")));search=Object.entries(ns).reduce(((acc,_ref)=>{let[key,value]=_ref;return ""===value?acc:acc+=`${key}=${encodeURIComponent(value)}&`}),"?").replace(/&$/,"");}else search=obj.search;return type=type||obj.type,recType=null!=recType?recType:obj.recType,definition=null!=definition?definition:obj.definition,channelNo=channelNo||obj.channelNo,deviceSerial=deviceSerial||obj.deviceSerial,validateCode=null!=validateCode?validateCode:obj.validateCode,`${obj.protocol}//${validateCode?`${validateCode}@`:""}${obj.hostname}/${deviceSerial}/${channelNo}${"rec"===type&&recType?"."+recType:""}${"live"===type&&"hd"===definition?"."+definition:""}.${type}${search}`};
8058
- return dist$3;
8054
+ function requireDist$6 () {
8055
+ if (hasRequiredDist$6) return dist$5;
8056
+ hasRequiredDist$6 = 1;
8057
+ const getQuery=url=>{const query=url.split("?")[1],obj={};if(query){const vars=query.split("&");for(let i=0;i<vars.length;i++){const pair=vars[i].split("=");obj[pair[0]]=decodeURIComponent(pair[1]);}}return obj};function parseEzopenUrl(url){const obj={};if(/^ezopen:\/\//.test(url)){if(url.includes("@")){const endIndex=url.indexOf("@"),startIndex=url.indexOf("//");obj.validateCode=url.substring(startIndex+2,endIndex),url=url.replace(obj.validateCode+"@","");}obj.protocol=url.split("//")[0],obj.search=url.split("?")[1]?"?"+url.split("?")[1]:"",obj.hostname=url.split("/")[2],obj.origin=obj.protocol+"//"+obj.hostname,obj.pathname=url.split("?")[0].replace(obj.origin,""),obj.href=url;const pathnames=obj.pathname.split("/"),lastPath=pathnames[2].split(".");return obj.deviceSerial=pathnames[1],obj.channelNo=lastPath[0],obj.type=lastPath[lastPath.length-1],"live"===obj.type&&(obj.definition=lastPath.length>2?lastPath[1]:"sd"),"rec"===obj.type&&pathnames[2]&&(obj.recType=pathnames[2].includes(".cloud.")?"cloud":""),obj.searchParams=getQuery(url),obj}return {}}const codec={h264:1,h265:2,h266:4,vp8:8,vp9:16,av1:32};dist$5.addVc=function(url){const vc=((arguments.length>1&&void 0!==arguments[1]?arguments[1]:["h264"])||["h264"]).reduce(((acc,key)=>(key=key.toLowerCase(),acc+(codec[key]||0))),0),host=url.split("?")[0];let query=url.split("?")[1];return query=(query||"").split("&").filter((item=>!/^vc=\d?/.test(item))).join("&"),query+=`${query?"&":""}vc=${vc}`,host+"?"+query},dist$5.getQuery=getQuery,dist$5.getStaticPath=function(path){let base=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const protocolReg=/^(https?:\/\/|^\/\/)/;if(""===path||void 0===path)return "";if(protocolReg.test(path))return path;path=path.replace(/\/+/g,"/"),base=protocolReg.test(base||"")?base:window.location.href;try{return new URL(path,base).href}catch(error){return path}},dist$5.isHttp=function(url){return /^http[s]?:\/\//.test(url)},dist$5.isMobile=function(agent){var _navigator,_navigator1,_navigator2,_window;return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i.test(null!=agent?agent:null==(_navigator=navigator)?void 0:_navigator.userAgent)||/Macintosh/i.test(null==(_navigator1=navigator)?void 0:_navigator1.userAgent)&&(null==(_navigator2=navigator)?void 0:_navigator2.maxTouchPoints)>1||(null==(_window=window)?void 0:_window.__IS_MOBILE_SIMULATOR__)},dist$5.parseEzopenUrl=parseEzopenUrl,dist$5.pick=function(obj,keys){return Object.entries(obj).reduce(((acc,_ref)=>{let[key,value]=_ref;return keys.includes(key)&&(acc[key]=value),acc}),{})},dist$5.switchEzopenUrl=function(url,options){let{type:type,recType:recType,search:search,definition:definition,channelNo:channelNo,deviceSerial:deviceSerial,validateCode:validateCode}=null!=options?options:{};const obj=parseEzopenUrl(url);if(search){const ns=Object.assign({},obj.searchParams,getQuery("?"+search.replace("?","")));search=Object.entries(ns).reduce(((acc,_ref)=>{let[key,value]=_ref;return ""===value?acc:acc+=`${key}=${encodeURIComponent(value)}&`}),"?").replace(/&$/,"");}else search=obj.search;return type=type||obj.type,recType=null!=recType?recType:obj.recType,definition=null!=definition?definition:obj.definition,channelNo=channelNo||obj.channelNo,deviceSerial=deviceSerial||obj.deviceSerial,validateCode=null!=validateCode?validateCode:obj.validateCode,`${obj.protocol}//${validateCode?`${validateCode}@`:""}${obj.hostname}/${deviceSerial}/${channelNo}${"rec"===type&&recType?"."+recType:""}${"live"===type&&"hd"===definition?"."+definition:""}.${type}${search}`};
8058
+ return dist$5;
8059
8059
  }
8060
8060
 
8061
8061
  /*
@@ -8064,14 +8064,14 @@
8064
8064
  * Released under the MIT License.
8065
8065
  */
8066
8066
 
8067
- var hasRequiredDist$3;
8067
+ var hasRequiredDist$5;
8068
8068
 
8069
- function requireDist$3 () {
8070
- if (hasRequiredDist$3) return dist$4;
8071
- hasRequiredDist$3 = 1;
8069
+ function requireDist$5 () {
8070
+ if (hasRequiredDist$5) return dist$6;
8071
+ hasRequiredDist$5 = 1;
8072
8072
 
8073
- var deepmerge = requireCjs();
8074
- var utilsTools = requireDist$4();
8073
+ var deepmerge = requireCjs$1();
8074
+ var utilsTools = requireDist$6();
8075
8075
 
8076
8076
  var en_US = {
8077
8077
  GET_PTZ_STATUS: 'Get current PTZ status',
@@ -8991,13 +8991,13 @@
8991
8991
  return Ptz;
8992
8992
  }(BasePtz);
8993
8993
 
8994
- dist$4.BasePtz = BasePtz;
8995
- dist$4.MobilePtz = MobilePtz;
8996
- dist$4.Ptz = Ptz;
8997
- return dist$4;
8994
+ dist$6.BasePtz = BasePtz;
8995
+ dist$6.MobilePtz = MobilePtz;
8996
+ dist$6.Ptz = Ptz;
8997
+ return dist$6;
8998
8998
  }
8999
8999
 
9000
- var distExports$2 = requireDist$3();
9000
+ var distExports$2 = requireDist$5();
9001
9001
 
9002
9002
  function _defineProperties$4(target, props) {
9003
9003
  for(var i = 0; i < props.length; i++){
@@ -9859,7 +9859,7 @@
9859
9859
  var _this__options_fieldNames;
9860
9860
  var _this__options_fieldNames_value;
9861
9861
  var valueKey = (_this__options_fieldNames_value = (_this__options_fieldNames = this._options.fieldNames) == null ? void 0 : _this__options_fieldNames.value) != null ? _this__options_fieldNames_value : 'value';
9862
- this._delegationOption = delegate(this._picker.$body, "." + PREFIX_CLASS + "-select-option", 'click', function(e) {
9862
+ this._delegationOption = delegate$2(this._picker.$body, "." + PREFIX_CLASS + "-select-option", 'click', function(e) {
9863
9863
  var target = e.delegateTarget;
9864
9864
  e.stopPropagation();
9865
9865
  if (!target.classList.contains("" + PREFIX_CLASS + "-disabled")) {
@@ -9874,11 +9874,11 @@
9874
9874
  }
9875
9875
  }
9876
9876
  });
9877
- this._delegationClose = delegate(this._picker.$body, "." + PREFIX_CLASS + "-select-close", 'click', function(e) {
9877
+ this._delegationClose = delegate$2(this._picker.$body, "." + PREFIX_CLASS + "-select-close", 'click', function(e) {
9878
9878
  e.stopPropagation();
9879
9879
  _this._picker.open = false;
9880
9880
  });
9881
- this._delegationCancel = delegate(this._picker.$body, "." + PREFIX_CLASS + "-select-cancel", 'click', function(e) {
9881
+ this._delegationCancel = delegate$2(this._picker.$body, "." + PREFIX_CLASS + "-select-cancel", 'click', function(e) {
9882
9882
  e.stopPropagation();
9883
9883
  _this._picker.open = false;
9884
9884
  });
@@ -9982,6 +9982,10 @@
9982
9982
  };
9983
9983
  return _set_prototype_of$8(o, p);
9984
9984
  }
9985
+ function _type_of(obj) {
9986
+ "@swc/helpers - typeof";
9987
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
9988
+ }
9985
9989
  var DEFINITION_LEVELS_LOCALE = [
9986
9990
  'VIDEO_LEVEL_FLUENT',
9987
9991
  'VIDEO_LEVEL_STANDARD',
@@ -10075,7 +10079,7 @@
10075
10079
  Select.prototype.updateOptions.call(_assert_this_initialized$1(_this), __filter(list, _this.locale));
10076
10080
  });
10077
10081
  _this.on(EVENTS.currentVideoLevel, function(item, realLevel) {
10078
- var l = typeof item === 'object' ? item.level : item;
10082
+ var l = (typeof item === "undefined" ? "undefined" : _type_of(item)) === 'object' ? item.level : item;
10079
10083
  _this._level = realLevel + '';
10080
10084
  if (l === 'auto') {
10081
10085
  var _options_locales_options_language;
@@ -10204,393 +10208,2498 @@
10204
10208
  return Speed;
10205
10209
  }(Select);
10206
10210
 
10211
+ var dist$4 = {};
10212
+
10213
+ var delegate$1 = {exports: {}};
10214
+
10207
10215
  /*
10208
- * @ezuikit/control-date-picker v0.0.1-alpha.2
10209
- * Copyright (c) 2025-11-12 Ezviz-OpenBiz
10216
+ * delegate.js v4.0.1
10217
+ * Copyright (c) 2025-11-23
10210
10218
  * Released under the MIT License.
10211
10219
  */
10220
+ var delegate = delegate$1.exports;
10221
+
10222
+ var hasRequiredDelegate;
10223
+
10224
+ function requireDelegate () {
10225
+ if (hasRequiredDelegate) return delegate$1.exports;
10226
+ hasRequiredDelegate = 1;
10227
+ (function (module, exports) {
10228
+ (function (global, factory) {
10229
+ module.exports = factory() ;
10230
+ })(delegate, (function () {
10231
+ var DOCUMENT_NODE_TYPE = 9;
10232
+ /**
10233
+ * A polyfill for Element.matches()
10234
+ */ if (typeof Element !== "undefined" && !Element.prototype.matches) {
10235
+ var proto = Element.prototype;
10236
+ proto.matches = (proto == null ? void 0 : proto.matchesSelector) || (proto == null ? void 0 : proto.mozMatchesSelector) || (proto == null ? void 0 : proto.msMatchesSelector) || (proto == null ? void 0 : proto.oMatchesSelector) || (proto == null ? void 0 : proto.webkitMatchesSelector);
10237
+ }
10238
+ /**
10239
+ * Finds the closest parent that matches a selector.
10240
+ *
10241
+ * @param {Element} element
10242
+ * @param {string} selector
10243
+ * @return {Element}
10244
+ */ function closest(element, selector) {
10245
+ while(element && element.nodeType !== DOCUMENT_NODE_TYPE){
10246
+ if (typeof element.matches === "function" && element.matches(selector)) {
10247
+ return element;
10248
+ }
10249
+ element = element.parentNode;
10250
+ }
10251
+ return null;
10252
+ }
10253
+ /**
10254
+ * Finds the closest parent that matches a selector.
10255
+ *
10256
+ * @param {Element} element
10257
+ * @param {string} selector
10258
+ * @return {Element}
10259
+ */ function closestNative(element, selector) {
10260
+ return element && element.closest(selector);
10261
+ }
10262
+ var closest$1 = typeof Element.prototype.closest === "function" ? closestNative : closest;
10263
+
10264
+ /**
10265
+ * Delegates event to a selector.
10266
+ *
10267
+ * @param {Element} element
10268
+ * @param {string} selector
10269
+ * @param {string} type
10270
+ * @param {Function} callback
10271
+ * @param {boolean} useCapture
10272
+ * @return {Object}
10273
+ */ // prettier-ignore
10274
+ function _delegate(element, selector, type, callback, useCapture) {
10275
+ // prettier-ignore
10276
+ var listenerFn = listener.apply(this, arguments);
10277
+ element.addEventListener(type, listenerFn, useCapture);
10278
+ return {
10279
+ destroy: function destroy() {
10280
+ element.removeEventListener(type, listenerFn, useCapture);
10281
+ }
10282
+ };
10283
+ }
10284
+ /**
10285
+ * Delegates event to a selector.
10286
+ *
10287
+ * @param {Element|string|Array} [elements]
10288
+ * @param {string | Element} selector
10289
+ * @param {string} type
10290
+ * @param {Function} callback
10291
+ * @param {boolean} useCapture
10292
+ * @return {Object}
10293
+ * @example
10294
+ * ```ts
10295
+ * const delegation = delegate(document.body, 'a', 'click', function (e) {})
10296
+ * // destroy (removeEventListener)
10297
+ * delegation.destroy();
10298
+ *
10299
+ * const delegation1 = delegate(".btn", "click", function (e) { console.log(e.delegateTarget)},false);
10300
+ * // destroy (removeEventListener)
10301
+ * delegation1.destroy();
10302
+ * ```
10303
+ */ // prettier-ignore
10304
+ function delegate(elements, selector, type, callback, useCapture) {
10305
+ // Handle the regular Element usage
10306
+ if (typeof elements.addEventListener === "function") {
10307
+ return _delegate.apply(null, arguments);
10308
+ }
10309
+ // Handle Element-less usage, it defaults to global delegation
10310
+ if (typeof type === "function") {
10311
+ // Use `document` as the first parameter, then apply arguments
10312
+ // This is a short way to .unshift `arguments` without running into deoptimizations
10313
+ return _delegate.bind(null, document).apply(null, arguments);
10314
+ }
10315
+ // Handle Selector-based usage
10316
+ if (typeof elements === "string") {
10317
+ elements = document.querySelectorAll(elements);
10318
+ }
10319
+ // Handle Array-like based usage
10320
+ return Array.prototype.map.call(elements, function(element) {
10321
+ return _delegate(element, selector, type, callback, useCapture);
10322
+ });
10323
+ }
10324
+ /**
10325
+ * Finds closest match and invokes callback.
10326
+ *
10327
+ * @param {Element} element
10328
+ * @param {string} selector
10329
+ * @param {string} type
10330
+ * @param {Function} callback
10331
+ * @return {Function}
10332
+ */ // prettier-ignore
10333
+ function listener(element, selector, type, callback) {
10334
+ return function(e) {
10335
+ e.delegateTarget = closest$1(e.target, selector);
10336
+ if (e.delegateTarget) {
10337
+ callback.call(element, e);
10338
+ }
10339
+ };
10340
+ }
10212
10341
 
10213
- var dist$2;
10214
- var hasRequiredDist$2;
10342
+ return delegate;
10215
10343
 
10216
- function requireDist$2 () {
10217
- if (hasRequiredDist$2) return dist$2;
10218
- hasRequiredDist$2 = 1;
10344
+ }));
10345
+ } (delegate$1));
10346
+ return delegate$1.exports;
10347
+ }
10219
10348
 
10220
- function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
10221
- try {
10222
- var info = gen[key](arg);
10223
- var value = info.value;
10224
- } catch (error) {
10225
- reject(error);
10226
- return;
10227
- }
10228
- if (info.done) {
10229
- resolve(value);
10230
- } else {
10231
- Promise.resolve(value).then(_next, _throw);
10232
- }
10233
- }
10234
- function _async_to_generator(fn) {
10235
- return function() {
10236
- var self = this, args = arguments;
10237
- return new Promise(function(resolve, reject) {
10238
- var gen = fn.apply(self, args);
10239
- function _next(value) {
10240
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
10241
- }
10242
- function _throw(err) {
10243
- asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
10244
- }
10245
- _next(undefined);
10246
- });
10247
- };
10349
+ var dist$3 = {};
10350
+
10351
+ /*
10352
+ * @ezuikit/utils-tools v2.0.1
10353
+ * tools utils
10354
+ * Copyright (c) 2025-12-02 Ezviz-OpenBiz
10355
+ * Released under the MIT License.
10356
+ */
10357
+
10358
+ var hasRequiredDist$4;
10359
+
10360
+ function requireDist$4 () {
10361
+ if (hasRequiredDist$4) return dist$3;
10362
+ hasRequiredDist$4 = 1;
10363
+ var getQuery=function(url){var query=url.split("?")[1],obj={};if(query)for(var vars=query.split("&"),i=0;i<vars.length;i++){var pair=vars[i].split("=");obj[pair[0]]=decodeURIComponent(pair[1]);}return obj};function parseEzopenUrl(url){var obj={};if(/^ezopen:\/\//.test(url)){if(url.includes("@")){var endIndex=url.indexOf("@"),startIndex=url.indexOf("//");obj.validateCode=url.substring(startIndex+2,endIndex),url=url.replace(obj.validateCode+"@","");}obj.protocol=url.split("//")[0],obj.search=url.split("?")[1]?"?"+url.split("?")[1]:"",obj.hostname=url.split("/")[2],obj.origin=obj.protocol+"//"+obj.hostname,obj.pathname=url.split("?")[0].replace(obj.origin,""),obj.href=url;var pathnames=obj.pathname.split("/"),lastPath=pathnames[2].split(".");return obj.deviceSerial=pathnames[1],obj.channelNo=lastPath[0],obj.type=lastPath[lastPath.length-1],"live"===obj.type&&(obj.definition=lastPath.length>2?lastPath[1]:"sd"),"rec"===obj.type&&pathnames[2]&&(obj.recType=pathnames[2].includes(".cloud.")?"cloud":""),obj.searchParams=getQuery(url),obj}return {}}var codec={h264:1,h265:2,h266:4,vp8:8,vp9:16,av1:32};function _array_like_to_array(arr,len){(null==len||len>arr.length)&&(len=arr.length);for(var i=0,arr2=new Array(len);i<len;i++)arr2[i]=arr[i];return arr2}function _instanceof(left,right){return null!=right&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?!!right[Symbol.hasInstance](left):left instanceof right}function _create_for_of_iterator_helper_loose(o,allowArrayLike){var it="undefined"!=typeof Symbol&&o[Symbol.iterator]||o["@@iterator"];if(it)return (it=it.call(o)).next.bind(it);if(Array.isArray(o)||(it=function(o,minLen){if(o){if("string"==typeof o)return _array_like_to_array(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);return "Object"===n&&o.constructor&&(n=o.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(o,minLen):void 0}}(o))||allowArrayLike){it&&(o=it);var i=0;return function(){return i>=o.length?{done:true}:{done:false,value:o[i++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var DateTime=function(){function DateTime(){}return DateTime.fillZero=function(num,len){return void 0===len&&(len=2),num.toString().padStart(len,"0")},DateTime.format=function(input,format){var date;if(_instanceof(input,Date))date=input;else {if("number"!=typeof input&&"string"!=typeof input)throw new Error("Invalid date input");date=DateTime.toDate(input+"");}for(var _step,result=format,_iterator=_create_for_of_iterator_helper_loose([[/(yyyy|YYYY)/g,function(){return DateTime.fillZero(date.getFullYear(),4)}],[/(yy|YY)/g,function(){return DateTime.fillZero(date.getFullYear()%100,2)}],[/(MM)/g,function(){return DateTime.fillZero(date.getMonth()+1,2)}],[/(M)/g,function(){return (date.getMonth()+1).toString()}],[/(dd|DD)/g,function(){return DateTime.fillZero(date.getDate(),2)}],[/(d|D)/g,function(){return date.getDate().toString()}],[/(HH|hh)/g,function(){return DateTime.fillZero(date.getHours(),2)}],[/(H|h)/g,function(){return date.getHours().toString()}],[/(mm)/g,function(){return DateTime.fillZero(date.getMinutes(),2)}],[/(m)/g,function(){return date.getMinutes().toString()}],[/(ss|SS)/g,function(){return DateTime.fillZero(date.getSeconds(),2)}],[/(s|S)/g,function(){return date.getSeconds().toString()}],[/(fff)/g,function(){return DateTime.fillZero(date.getMilliseconds(),3)}]]);!(_step=_iterator()).done;){var _step_value=_step.value,regexp=_step_value[0],fn=_step_value[1];result=result.replace(regexp,fn);}return result},DateTime.toDate=function(str){if(_instanceof(str,Date))return str;str=(str+"").trim().replace(/\/|\./gi,"-"),/^\d{4}$/.test(str)&&(str+="-01"),/^\d{4}-\d{2}$/.test(str)&&(str+="-01");try{return /^\d{4}-\d{2}-\d{2}$/.test(str)?new Date(str+"T00:00:00"):/^\d{8}$/.test(str)?(str+="",new Date(str.slice(0,4)+"-"+str.slice(4,6)+"-"+str.slice(6,8)+"T00:00:00")):/^\d{14}$/.test(str)?(str+="",new Date(str.slice(0,4)+"-"+str.slice(4,6)+"-"+str.slice(6,8)+"T"+str.slice(8,10)+":"+str.slice(10,12)+":"+str.slice(12,14))):/^\d{13}$/.test(str)?new Date(Number(str)):/^\d{10}$/.test(str)?new Date(1e3*Number(str)):new Date(str)}catch(error){throw new Error("Invalid date string")}},DateTime.diff=function(date1,date2,type){ void 0===type&&(type="second");var d1=DateTime.toDate(date1),d2=DateTime.toDate(date2);return "second"===type?Math.floor((d1.getTime()-d2.getTime())/1e3):"minute"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60):"hour"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60/60):"day"===type?Math.floor((d1.getTime()-d2.getTime())/1e3/60/60/24):Math.abs(d1.getTime()-d2.getTime())},DateTime}();dist$3.DateTime=DateTime,dist$3.addVc=function(url,codecs){ void 0===codecs&&(codecs=["h264"]);var vc=(codecs||["h264"]).reduce((function(acc,key){return key=key.toLowerCase(),acc+(codec[key]||0)}),0),host=url.split("?")[0],query=url.split("?")[1];return query=(query||"").split("&").filter((function(item){return !/^vc=\d?/.test(item)})).join("&"),host+"?"+(query+=(query?"&":"")+"vc="+vc)},dist$3.getQuery=getQuery,dist$3.getStaticPath=function(path,base){ void 0===base&&(base="");var protocolReg=/^(https?:\/\/|^\/\/)/;if(""===path||void 0===path)return "";if(protocolReg.test(path))return path;path=path.replace(/\/+/g,"/"),base=protocolReg.test(base||"")?base:window.location.href;try{return new URL(path,base).href}catch(error){return path}},dist$3.isHttp=function(url){return /^http[s]?:\/\//.test(url)},dist$3.isMobile=function(agent){var _navigator,_navigator1,_navigator2,_window;return /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone|Opera Mini)/i.test(null!=agent?agent:null==(_navigator=navigator)?void 0:_navigator.userAgent)||/Macintosh/i.test(agent||(null==(_navigator1=navigator)?void 0:_navigator1.userAgent))&&(null==(_navigator2=navigator)?void 0:_navigator2.maxTouchPoints)>1||!!(null==(_window=window)?void 0:_window.__IS_MOBILE_SIMULATOR__)},dist$3.parseEzopenUrl=parseEzopenUrl,dist$3.pick=function(obj,keys){return Object.entries(obj).reduce((function(acc,param){var key=param[0],value=param[1];return keys.includes(key)&&(acc[key]=value),acc}),{})},dist$3.switchEzopenUrl=function(url,options){var _ref=null!=options?options:{},type=_ref.type,recType=_ref.recType,search=_ref.search,definition=_ref.definition,channelNo=_ref.channelNo,deviceSerial=_ref.deviceSerial,validateCode=_ref.validateCode,obj=parseEzopenUrl(url);if(search){var ns=Object.assign({},obj.searchParams,getQuery("?"+search.replace("?","")));search=Object.entries(ns).reduce((function(acc,param){var key=param[0],value=param[1];return ""===value?acc:acc+=key+"="+encodeURIComponent(value)+"&"}),"?").replace(/&$/,"");}else search=obj.search;return type=type||obj.type,recType=null!=recType?recType:obj.recType,definition=null!=definition?definition:obj.definition,channelNo=channelNo||obj.channelNo,deviceSerial=deviceSerial||obj.deviceSerial,validateCode=null!=validateCode?validateCode:obj.validateCode,obj.protocol+"//"+(validateCode?validateCode+"@":"")+obj.hostname+"/"+deviceSerial+"/"+channelNo+("rec"===type&&recType?"."+recType:"")+("live"===type&&"hd"===definition?"."+definition:"")+"."+type+search};
10364
+ return dist$3;
10365
+ }
10366
+
10367
+ var cjs;
10368
+ var hasRequiredCjs;
10369
+
10370
+ function requireCjs () {
10371
+ if (hasRequiredCjs) return cjs;
10372
+ hasRequiredCjs = 1;
10373
+
10374
+ var isMergeableObject = function isMergeableObject(value) {
10375
+ return isNonNullObject(value)
10376
+ && !isSpecial(value)
10377
+ };
10378
+
10379
+ function isNonNullObject(value) {
10380
+ return !!value && typeof value === 'object'
10248
10381
  }
10249
- function _ts_generator(thisArg, body) {
10250
- var f, y, t, _ = {
10251
- label: 0,
10252
- sent: function() {
10253
- if (t[0] & 1) throw t[1];
10254
- return t[1];
10255
- },
10256
- trys: [],
10257
- ops: []
10258
- }, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
10259
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() {
10260
- return this;
10261
- }), g;
10262
- function verb(n) {
10263
- return function(v) {
10264
- return step([
10265
- n,
10266
- v
10267
- ]);
10268
- };
10269
- }
10270
- function step(op) {
10271
- if (f) throw new TypeError("Generator is already executing.");
10272
- while(g && (g = 0, op[0] && (_ = 0)), _)try {
10273
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
10274
- if (y = 0, t) op = [
10275
- op[0] & 2,
10276
- t.value
10277
- ];
10278
- switch(op[0]){
10279
- case 0:
10280
- case 1:
10281
- t = op;
10282
- break;
10283
- case 4:
10284
- _.label++;
10285
- return {
10286
- value: op[1],
10287
- done: false
10288
- };
10289
- case 5:
10290
- _.label++;
10291
- y = op[1];
10292
- op = [
10293
- 0
10294
- ];
10295
- continue;
10296
- case 7:
10297
- op = _.ops.pop();
10298
- _.trys.pop();
10299
- continue;
10300
- default:
10301
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
10302
- _ = 0;
10303
- continue;
10304
- }
10305
- if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {
10306
- _.label = op[1];
10307
- break;
10308
- }
10309
- if (op[0] === 6 && _.label < t[1]) {
10310
- _.label = t[1];
10311
- t = op;
10312
- break;
10313
- }
10314
- if (t && _.label < t[2]) {
10315
- _.label = t[2];
10316
- _.ops.push(op);
10317
- break;
10318
- }
10319
- if (t[2]) _.ops.pop();
10320
- _.trys.pop();
10321
- continue;
10322
- }
10323
- op = body.call(thisArg, _);
10324
- } catch (e) {
10325
- op = [
10326
- 6,
10327
- e
10328
- ];
10329
- y = 0;
10330
- } finally{
10331
- f = t = 0;
10332
- }
10333
- if (op[0] & 5) throw op[1];
10334
- return {
10335
- value: op[0] ? op[1] : void 0,
10336
- done: true
10337
- };
10338
- }
10382
+
10383
+ function isSpecial(value) {
10384
+ var stringValue = Object.prototype.toString.call(value);
10385
+
10386
+ return stringValue === '[object RegExp]'
10387
+ || stringValue === '[object Date]'
10388
+ || isReactElement(value)
10339
10389
  }
10340
- var AppendJS = /*#__PURE__*/ function() {
10341
- function AppendJS() {}
10342
- AppendJS.loadScript = function loadScript(src) {
10343
- return _async_to_generator(function() {
10344
- return _ts_generator(this, function(_state) {
10345
- switch(_state.label){
10346
- case 0:
10347
- return [
10348
- 4,
10349
- new Promise(function(resolve, reject) {
10350
- if (AppendJS.LoadedScr.includes(src)) {
10351
- return resolve(src);
10352
- }
10353
- if (AppendJS.LoadingScrQueue[src]) {
10354
- return AppendJS.LoadingScrQueue[src].push(resolve);
10355
- } else {
10356
- AppendJS.LoadingScrQueue[src] = [
10357
- resolve
10358
- ];
10359
- }
10360
- var link;
10361
- if (src.includes('.js')) {
10362
- link = document.createElement('script');
10363
- link.src = src;
10364
- link.async = true;
10365
- } else if (src.includes('.css')) {
10366
- link = document.createElement('link');
10367
- link.rel = 'stylesheet';
10368
- link.href = src;
10369
- }
10370
- link.onload = function() {
10371
- AppendJS.LoadedScr.push(src);
10372
- AppendJS.LoadingScrQueue[src].forEach(function(resolve) {
10373
- return resolve(src);
10374
- });
10375
- AppendJS.LoadingScrQueue[src] = [];
10376
- };
10377
- link.onerror = function() {
10378
- return reject(new Error('Failed to load ' + src));
10379
- };
10380
- document.head.appendChild(link);
10381
- })
10382
- ];
10383
- case 1:
10384
- return [
10385
- 2,
10386
- _state.sent()
10387
- ];
10388
- }
10389
- });
10390
- })();
10391
- };
10392
- AppendJS.loadScriptsBatch = function loadScriptsBatch(srcArr) {
10393
- return _async_to_generator(function() {
10394
- return _ts_generator(this, function(_state) {
10395
- switch(_state.label){
10396
- case 0:
10397
- return [
10398
- 4,
10399
- Promise.all(srcArr.map(AppendJS.loadScript))
10400
- ];
10401
- case 1:
10402
- return [
10403
- 2,
10404
- _state.sent()
10405
- ];
10406
- }
10407
- });
10408
- })();
10409
- };
10410
- AppendJS.remove = function remove(src) {
10411
- src.forEach(function(item) {
10412
- var link = document.querySelector('script[src="' + item + '"]') || document.querySelector('link[href="' + item + '"]');
10413
- if (link) {
10414
- link.remove();
10415
- }
10416
- });
10417
- };
10418
- AppendJS.clear = function clear() {
10419
- AppendJS.remove(AppendJS.LoadedScr);
10420
- };
10421
- return AppendJS;
10422
- }();
10423
- /** 已经加载完的js/css */ AppendJS.LoadedScr = [];
10424
- /** 正在加载的js/css */ AppendJS.LoadingScrQueue = {};
10425
10390
 
10426
- function _defineProperties(target, props) {
10427
- for(var i = 0; i < props.length; i++){
10428
- var descriptor = props[i];
10429
- descriptor.enumerable = descriptor.enumerable || false;
10430
- descriptor.configurable = true;
10391
+ // see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25
10392
+ var canUseSymbol = typeof Symbol === 'function' && Symbol.for;
10393
+ var REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;
10394
+
10395
+ function isReactElement(value) {
10396
+ return value.$$typeof === REACT_ELEMENT_TYPE
10397
+ }
10398
+
10399
+ function emptyTarget(val) {
10400
+ return Array.isArray(val) ? [] : {}
10401
+ }
10402
+
10403
+ function cloneUnlessOtherwiseSpecified(value, options) {
10404
+ return (options.clone !== false && options.isMergeableObject(value))
10405
+ ? deepmerge(emptyTarget(value), value, options)
10406
+ : value
10407
+ }
10408
+
10409
+ function defaultArrayMerge(target, source, options) {
10410
+ return target.concat(source).map(function(element) {
10411
+ return cloneUnlessOtherwiseSpecified(element, options)
10412
+ })
10413
+ }
10414
+
10415
+ function getMergeFunction(key, options) {
10416
+ if (!options.customMerge) {
10417
+ return deepmerge
10418
+ }
10419
+ var customMerge = options.customMerge(key);
10420
+ return typeof customMerge === 'function' ? customMerge : deepmerge
10421
+ }
10422
+
10423
+ function getEnumerableOwnPropertySymbols(target) {
10424
+ return Object.getOwnPropertySymbols
10425
+ ? Object.getOwnPropertySymbols(target).filter(function(symbol) {
10426
+ return Object.propertyIsEnumerable.call(target, symbol)
10427
+ })
10428
+ : []
10429
+ }
10430
+
10431
+ function getKeys(target) {
10432
+ return Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))
10433
+ }
10434
+
10435
+ function propertyIsOnObject(object, property) {
10436
+ try {
10437
+ return property in object
10438
+ } catch(_) {
10439
+ return false
10440
+ }
10441
+ }
10442
+
10443
+ // Protects from prototype poisoning and unexpected merging up the prototype chain.
10444
+ function propertyIsUnsafe(target, key) {
10445
+ return propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,
10446
+ && !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,
10447
+ && Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.
10448
+ }
10449
+
10450
+ function mergeObject(target, source, options) {
10451
+ var destination = {};
10452
+ if (options.isMergeableObject(target)) {
10453
+ getKeys(target).forEach(function(key) {
10454
+ destination[key] = cloneUnlessOtherwiseSpecified(target[key], options);
10455
+ });
10456
+ }
10457
+ getKeys(source).forEach(function(key) {
10458
+ if (propertyIsUnsafe(target, key)) {
10459
+ return
10460
+ }
10461
+
10462
+ if (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {
10463
+ destination[key] = getMergeFunction(key, options)(target[key], source[key], options);
10464
+ } else {
10465
+ destination[key] = cloneUnlessOtherwiseSpecified(source[key], options);
10466
+ }
10467
+ });
10468
+ return destination
10469
+ }
10470
+
10471
+ function deepmerge(target, source, options) {
10472
+ options = options || {};
10473
+ options.arrayMerge = options.arrayMerge || defaultArrayMerge;
10474
+ options.isMergeableObject = options.isMergeableObject || isMergeableObject;
10475
+ // cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()
10476
+ // implementations can use it. The caller may not replace it.
10477
+ options.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;
10478
+
10479
+ var sourceIsArray = Array.isArray(source);
10480
+ var targetIsArray = Array.isArray(target);
10481
+ var sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;
10482
+
10483
+ if (!sourceAndTargetTypesMatch) {
10484
+ return cloneUnlessOtherwiseSpecified(source, options)
10485
+ } else if (sourceIsArray) {
10486
+ return options.arrayMerge(target, source, options)
10487
+ } else {
10488
+ return mergeObject(target, source, options)
10489
+ }
10490
+ }
10491
+
10492
+ deepmerge.all = function deepmergeAll(array, options) {
10493
+ if (!Array.isArray(array)) {
10494
+ throw new Error('first argument should be an array')
10495
+ }
10496
+
10497
+ return array.reduce(function(prev, next) {
10498
+ return deepmerge(prev, next, options)
10499
+ }, {})
10500
+ };
10501
+
10502
+ var deepmerge_1 = deepmerge;
10503
+
10504
+ cjs = deepmerge_1;
10505
+ return cjs;
10506
+ }
10507
+
10508
+ /**
10509
+ * picker component for js framework, support mobile and pc
10510
+ *
10511
+ * @skax/picker v1.1.5
10512
+ * Copyright (c) 2025-11-15 ShineShao <xiaoshaoqq@gmail.com>
10513
+ *
10514
+ * This source code is licensed under the MIT license found in the
10515
+ * LICENSE file in the root directory of this source tree.
10516
+ */
10517
+
10518
+ var dist$2;
10519
+ var hasRequiredDist$3;
10520
+
10521
+ function requireDist$3 () {
10522
+ if (hasRequiredDist$3) return dist$2;
10523
+ hasRequiredDist$3 = 1;
10524
+
10525
+ function _array_like_to_array(arr, len) {
10526
+ if (len == null || len > arr.length) len = arr.length;
10527
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
10528
+ return arr2;
10529
+ }
10530
+ function _unsupported_iterable_to_array(o, minLen) {
10531
+ if (!o) return;
10532
+ if (typeof o === "string") return _array_like_to_array(o, minLen);
10533
+ var n = Object.prototype.toString.call(o).slice(8, -1);
10534
+ if (n === "Object" && o.constructor) n = o.constructor.name;
10535
+ if (n === "Map" || n === "Set") return Array.from(n);
10536
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
10537
+ }
10538
+ function _create_for_of_iterator_helper_loose(o, allowArrayLike) {
10539
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
10540
+ if (it) return (it = it.call(o)).next.bind(it);
10541
+ if (Array.isArray(o) || (it = _unsupported_iterable_to_array(o)) || allowArrayLike) {
10542
+ if (it) o = it;
10543
+ var i = 0;
10544
+ return function () {
10545
+ if (i >= o.length) {
10546
+ return {
10547
+ done: true
10548
+ };
10549
+ }
10550
+ return {
10551
+ done: false,
10552
+ value: o[i++]
10553
+ };
10554
+ };
10555
+ }
10556
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
10557
+ }
10558
+ /**
10559
+ * PickerProvider 单例类
10560
+ */
10561
+ var PickerProvider = /*#__PURE__*/function () {
10562
+
10563
+ function PickerProvider() {
10564
+ this.pickers = [];
10565
+ }
10566
+ var _proto = PickerProvider.prototype;
10567
+ /**
10568
+ * 添加picker
10569
+ * @param picker Picker 实例
10570
+ */
10571
+ _proto.add = function add(picker) {
10572
+ this.pickers.push(picker);
10573
+ };
10574
+ /**
10575
+ * 移除picker
10576
+ * @param picker Picker 实例
10577
+ */
10578
+ _proto.remove = function remove(picker) {
10579
+ var index = this.pickers.indexOf(picker);
10580
+ if (index > -1) {
10581
+ this.pickers.splice(index, 1);
10582
+ } else {
10583
+ console.warn('Picker not found in the provider.');
10584
+ }
10585
+ };
10586
+ /**
10587
+ * 关闭其他picker
10588
+ * @param e 事件
10589
+ */
10590
+ _proto.closeOther = function closeOther(e) {
10591
+ for (var _iterator = _create_for_of_iterator_helper_loose(this.pickers), _step; !(_step = _iterator()).done;) {
10592
+ var p = _step.value;
10593
+ var _p_$container_contains, _p_$container, _p_$wrapperContent_contains, _p_$wrapperContent;
10594
+ if (p && !(e.target === p.$container || ((_p_$container = p.$container) == null ? void 0 : (_p_$container_contains = _p_$container.contains) == null ? void 0 : _p_$container_contains.call(_p_$container, e.target)) || e.target === p.$wrapperContent || ((_p_$wrapperContent = p.$wrapperContent) == null ? void 0 : (_p_$wrapperContent_contains = _p_$wrapperContent.contains) == null ? void 0 : _p_$wrapperContent_contains.call(_p_$wrapperContent, e.target)))) {
10595
+ p.open = false;
10596
+ }
10597
+ }
10598
+ };
10599
+ /**
10600
+ * 获取单例实例
10601
+ * @returns Picker 实例
10602
+ */
10603
+ PickerProvider.getInstance = function getInstance() {
10604
+ if (!PickerProvider.instance) {
10605
+ PickerProvider.instance = new PickerProvider();
10606
+ }
10607
+ return PickerProvider.instance;
10608
+ };
10609
+ return PickerProvider;
10610
+ }();
10611
+ var pickerProvider = PickerProvider.getInstance();
10612
+
10613
+ function _defineProperties(target, props) {
10614
+ for (var i = 0; i < props.length; i++) {
10615
+ var descriptor = props[i];
10616
+ descriptor.enumerable = descriptor.enumerable || false;
10617
+ descriptor.configurable = true;
10618
+ if ("value" in descriptor) descriptor.writable = true;
10619
+ Object.defineProperty(target, descriptor.key, descriptor);
10620
+ }
10621
+ }
10622
+ function _create_class(Constructor, protoProps, staticProps) {
10623
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
10624
+ return Constructor;
10625
+ }
10626
+ /**
10627
+ * picker 位置
10628
+ *
10629
+ * | top | tl | tr | bottom | bl | br |
10630
+ * |:--------:|:---------:|:---------:|:----------:|:----------:|:----------:|
10631
+ * | 顶部中间 | 顶部左侧 | 顶部右侧 | 底部中间 | 底部左侧 | 底部右侧 |
10632
+ *
10633
+ * @public
10634
+ */
10635
+ var _$PICKER_PLACEMENT$_ = ['top', 'tl', 'tr', 'bottom', 'bl', 'br'];
10636
+ /**
10637
+ * 默认样式前缀
10638
+ */
10639
+ var _$PICKER_PREFIX_CLS$_ = 'epicker';
10640
+ /**
10641
+ * Picker 默认值
10642
+ */
10643
+ var __$PICKER_DEFAULT_OPTIONS$__ = {
10644
+ getPopupContainer: function () {
10645
+ return document.body;
10646
+ },
10647
+ wrapClassName: '',
10648
+ open: false,
10649
+ placement: 'br',
10650
+ offset: [0, 0],
10651
+ zIndex: 1000,
10652
+ content: '',
10653
+ trigger: 'click',
10654
+ mouseLeaveDelay: 0.1,
10655
+ mouseEnterDelay: 0.1,
10656
+ isMobile: false
10657
+ };
10658
+ /**
10659
+ * Picker 弹窗, 支持 PC 和移动端
10660
+ * @remarks
10661
+ * Picker 是一个通用的弹窗组件,可以用于日期选择器、时间选择器等场景。
10662
+ * 它提供了丰富的配置选项,可以自定义弹窗的样式、位置、触发方式等。
10663
+ *
10664
+ * @example
10665
+ * ```ts
10666
+ * import "@skax/picker/dist/style/css";
10667
+ * import Picker from '@skax/picker';
10668
+ * const picker = new Picker(document.getElementById('picker-container'),
10669
+ * {
10670
+ * placement: 'bottom',
10671
+ * content: '<div>选择内容</div>', // or () => '<div>选择内容</div>'
10672
+ * trigger: 'click',
10673
+ * isMobile: false,
10674
+ * });
10675
+ * picker.open = true; // 打开弹窗
10676
+ * picker.setPlacement('top'); // 设置弹窗位置
10677
+ * picker.innerHTML('<div>新内容</div>'); // 设置弹窗内容(会覆盖之前的内容)
10678
+ * picker.destroy(); // 销毁弹窗
10679
+ * ```
10680
+ */
10681
+ var Picker = /*#__PURE__*/function () {
10682
+
10683
+ function Picker(container, options) {
10684
+ var _this__$popupContainer, _this__$popupContainer1;
10685
+ /** 是否打开 */
10686
+ this._open = false;
10687
+ this._OpenChange = false;
10688
+ this._animationTimer = null;
10689
+ this._disabled = false;
10690
+ this._timer = null;
10691
+ // prettier-ignore
10692
+ this._options = Object.assign({}, __$PICKER_DEFAULT_OPTIONS$__, options || {});
10693
+ // 移动端模式强制使用 click 触发
10694
+ if (this._options.isMobile) this._options.trigger = "click";
10695
+ pickerProvider.add(this);
10696
+ if (typeof container === "function") this.$container = container();else this.$container = container;
10697
+ this.$wrapperContent = document.createElement("div");
10698
+ this._initContentStyle();
10699
+ if (typeof this._options.getPopupContainer === "function") {
10700
+ this._$popupContainer = this._options.getPopupContainer();
10701
+ } else {
10702
+ this._$popupContainer = document.body;
10703
+ }
10704
+ if (["INPUT", "CANVAS", "VIDEO", "IMG"].includes((_this__$popupContainer = this._$popupContainer) == null ? void 0 : _this__$popupContainer.tagName)) {
10705
+ console.warn("popup container node does not support child elements, default body!");
10706
+ this._$popupContainer = document.body;
10707
+ }
10708
+ if (this._$popupContainer !== document.body) this._$popupContainer.style.position = "relative";
10709
+ (_this__$popupContainer1 = this._$popupContainer) == null ? void 0 : _this__$popupContainer1.appendChild(this.$wrapperContent);
10710
+ this._onContentClick = this._onContentClick.bind(this);
10711
+ this._onShow = this._onShow.bind(this);
10712
+ this._onWrapperShow = this._onWrapperShow.bind(this);
10713
+ this._onHide = this._onHide.bind(this);
10714
+ this._onDocumentClick = this._onDocumentClick.bind(this);
10715
+ this._eventListener();
10716
+ this.open = !!this._options.open;
10717
+ }
10718
+ var _proto = Picker.prototype;
10719
+ /**
10720
+ * 设置弹出位置(移动端不生效)
10721
+ * @param placement - 弹出位置
10722
+ * @example
10723
+ * ```ts
10724
+ * picker.setPlacement("top");
10725
+ * picker.setPlacement("tl");
10726
+ * picker.setPlacement("tr");
10727
+ * picker.setPlacement("bottom");
10728
+ * picker.setPlacement("bl");
10729
+ * picker.setPlacement("br");
10730
+ * ```
10731
+ */
10732
+ _proto.setPlacement = function setPlacement(placement) {
10733
+ if (this._disabled) return;
10734
+ if (_$PICKER_PLACEMENT$_.includes(placement)) {
10735
+ this._options.placement = placement;
10736
+ } else {
10737
+ console.warn("" + placement + " is not a valid placement");
10738
+ }
10739
+ this._setPlacement();
10740
+ };
10741
+ /**
10742
+ * 销毁
10743
+ * @example
10744
+ * ```ts
10745
+ * picker.destroy();
10746
+ * ```
10747
+ */
10748
+ _proto.destroy = function destroy() {
10749
+ this._animationTimerClear();
10750
+ this._removeHtml();
10751
+ pickerProvider.remove(this);
10752
+ // this._$popupContainer 的 position 样式不会被移除
10753
+ };
10754
+ /**
10755
+ * 设置内容(会覆盖之前内容)
10756
+ * @param html - html 字符串内容
10757
+ * @example
10758
+ * ```ts
10759
+ * picker.innerHTML('<div>内容</div>');
10760
+ * ```
10761
+ */
10762
+ _proto.innerHTML = function innerHTML(html) {
10763
+ if (this.$body) {
10764
+ this.$body.innerHTML = html || '';
10765
+ this._setPlacement();
10766
+ }
10767
+ };
10768
+ // --------------------------------------------------------------------------
10769
+ // Private methods
10770
+ // --------------------------------------------------------------------------
10771
+ /**
10772
+ * picker 面板展开或关闭变化时触发
10773
+ * @param open - true: 展开, false:关闭
10774
+ */
10775
+ _proto._onOpenChange = function _onOpenChange(open) {
10776
+ this._options.onOpenChange == null ? void 0 : this._options.onOpenChange.call(this._options, !!open);
10777
+ };
10778
+ /**
10779
+ * 移除动画定时器
10780
+ */
10781
+ _proto._animationTimerClear = function _animationTimerClear() {
10782
+ if (this._animationTimer) {
10783
+ clearTimeout(this._animationTimer);
10784
+ this._animationTimer = null;
10785
+ }
10786
+ };
10787
+ /**
10788
+ * 移除html
10789
+ */
10790
+ _proto._removeHtml = function _removeHtml() {
10791
+ var _this_$wrapperContent, _this_$container_removeEventListener, _this_$container, _this_$container_removeEventListener1, _this_$container1;
10792
+ (_this_$wrapperContent = this.$wrapperContent) == null ? void 0 : _this_$wrapperContent.removeEventListener('click', this._onContentClick);
10793
+ (_this_$container = this.$container) == null ? void 0 : (_this_$container_removeEventListener = _this_$container.removeEventListener) == null ? void 0 : _this_$container_removeEventListener.call(_this_$container, 'click', this._onContentClick);
10794
+ if (this._options.trigger === 'click') (_this_$container1 = this.$container) == null ? void 0 : (_this_$container_removeEventListener1 = _this_$container1.removeEventListener) == null ? void 0 : _this_$container_removeEventListener1.call(_this_$container1, 'click', this._onShow);
10795
+ if (this._options.trigger === 'hover') {
10796
+ var _this_$container_removeEventListener2, _this_$container2, _this_$container_removeEventListener3, _this_$container3, _this_$container_removeEventListener4, _this_$container4,
10797
+ // prettier-ignore
10798
+ _this_$wrapperContent1, _this_$wrapperContent2;
10799
+ (_this_$container2 = this.$container) == null ? void 0 : (_this_$container_removeEventListener2 = _this_$container2.removeEventListener) == null ? void 0 : _this_$container_removeEventListener2.call(_this_$container2, 'mouseenter', this._onShow);
10800
+ (_this_$container3 = this.$container) == null ? void 0 : (_this_$container_removeEventListener3 = _this_$container3.removeEventListener) == null ? void 0 : _this_$container_removeEventListener3.call(_this_$container3, 'mouseover', this._onShow);
10801
+ (_this_$container4 = this.$container) == null ? void 0 : (_this_$container_removeEventListener4 = _this_$container4.removeEventListener) == null ? void 0 : _this_$container_removeEventListener4.call(_this_$container4, 'mouseleave', this._onHide);
10802
+ (_this_$wrapperContent1 = this.$wrapperContent) == null ? void 0 : _this_$wrapperContent1.removeEventListener("mouseenter", this._onWrapperShow);
10803
+ (_this_$wrapperContent2 = this.$wrapperContent) == null ? void 0 : _this_$wrapperContent2.removeEventListener('mouseleave', this._onHide);
10804
+ }
10805
+ if (!this._options.isMobile) {
10806
+ window.removeEventListener('blur', this._onHide);
10807
+ document.removeEventListener('visibilitychange', this._onHide);
10808
+ window.removeEventListener('resize', this._onHide);
10809
+ document.removeEventListener('click', this._onDocumentClick);
10810
+ }
10811
+ if (this._$mask) {
10812
+ this._$mask.removeEventListener('click', this._onHide);
10813
+ this._$mask.remove();
10814
+ this._$mask = null;
10815
+ }
10816
+ if (this._options.isMobile) document.body.classList.remove("" + _$PICKER_PREFIX_CLS$_ + "-body-noscroll");
10817
+ if (this.$wrapperContent) {
10818
+ this.$wrapperContent.remove();
10819
+ this.$wrapperContent = null;
10820
+ }
10821
+ };
10822
+ /**
10823
+ * 现实位置
10824
+ */
10825
+ _proto._setPlacement = function _setPlacement() {
10826
+ var _this_$container_getBoundingClientRect, _this_$container;
10827
+ if (!this._open || this._options.isMobile || !this.$container) return;
10828
+ var $containerRect = (_this_$container = this.$container) == null ? void 0 : (_this_$container_getBoundingClientRect = _this_$container.getBoundingClientRect) == null ? void 0 : _this_$container_getBoundingClientRect.call(_this_$container);
10829
+ var $wrapperContentRect = this.$wrapperContent.getBoundingClientRect();
10830
+ var $popupContainerRect = this._$popupContainer.getBoundingClientRect();
10831
+ // 容器的坐标 - 挂载的容器的坐标差
10832
+ // prettier-ignore
10833
+ var containerLeft = $containerRect.left - $popupContainerRect.left;
10834
+ var containerRight = -($containerRect.right - $popupContainerRect.right);
10835
+ // prettier-ignore
10836
+ var containerTop = $containerRect.y - $popupContainerRect.y;
10837
+ var left = containerLeft + ($containerRect.width - $wrapperContentRect.width) / 2;
10838
+ var right;
10839
+ var top = containerTop - $wrapperContentRect.height;
10840
+ var bottom = containerTop + $containerRect.height;
10841
+ if (/^t/.test(this._options.placement)) {
10842
+ var _this__options_offset, _this__options_offset1, _this__options_offset2;
10843
+ switch (this._options.placement) {
10844
+ case 'top':
10845
+ right = undefined;
10846
+ break;
10847
+ case 'tl':
10848
+ right = undefined;
10849
+ left = containerLeft;
10850
+ break;
10851
+ case 'tr':
10852
+ left = undefined;
10853
+ right = containerRight;
10854
+ break;
10855
+ }
10856
+ this.$wrapperContent.style.cssText += "\n " + (right !== undefined ? "right: " + (right + (((_this__options_offset = this._options.offset) == null ? void 0 : _this__options_offset[0]) || 0)) + "px;" : '') + "\n " + (left !== undefined ? "left: " + (left + (((_this__options_offset1 = this._options.offset) == null ? void 0 : _this__options_offset1[0]) || 0)) + "px;" : '') + "\n top: " + (top + (((_this__options_offset2 = this._options.offset) == null ? void 0 : _this__options_offset2[1]) || 0)) + "px;\n z-index:" + this._options.zIndex + ";\n ";
10857
+ } else if (/^b/.test(this._options.placement)) {
10858
+ var _this__options_offset3, _this__options_offset4, _this__options_offset5;
10859
+ switch (this._options.placement) {
10860
+ case 'bottom':
10861
+ right = undefined;
10862
+ break;
10863
+ case 'bl':
10864
+ right = undefined;
10865
+ left = containerLeft;
10866
+ break;
10867
+ case 'br':
10868
+ left = undefined;
10869
+ right = containerRight;
10870
+ break;
10871
+ }
10872
+ if (this.$wrapperContent) this.$wrapperContent.style.cssText += "\n " + (right !== undefined ? "right: " + (right + (((_this__options_offset3 = this._options.offset) == null ? void 0 : _this__options_offset3[0]) || 0)) + "px;" : '') + "\n " + (left !== undefined ? "left: " + (left + (((_this__options_offset4 = this._options.offset) == null ? void 0 : _this__options_offset4[0]) || 0)) + "px;" : '') + "\n top: " + (bottom + (((_this__options_offset5 = this._options.offset) == null ? void 0 : _this__options_offset5[1]) || 0)) + "px;\n z-index:" + this._options.zIndex + ";\n ";
10873
+ }
10874
+ };
10875
+ /**
10876
+ * 初始化内容样式
10877
+ */
10878
+ _proto._initContentStyle = function _initContentStyle() {
10879
+ if (!this.$wrapperContent) return;
10880
+ // prettier-ignore
10881
+ this.$wrapperContent.classList.add("" + _$PICKER_PREFIX_CLS$_, "" + _$PICKER_PREFIX_CLS$_ + "-wrapper", _$PICKER_PREFIX_CLS$_ + "-" + this._options.placement);
10882
+ // 提升优先级
10883
+ this.$wrapperContent.style.display = 'none';
10884
+ if (this._options.isMobile) {
10885
+ this.$wrapperContent.classList.add("" + _$PICKER_PREFIX_CLS$_ + "-mobile");
10886
+ this._$mask = document.createElement('div');
10887
+ this._$mask.classList.add("" + _$PICKER_PREFIX_CLS$_ + "-mask");
10888
+ this.$wrapperContent.appendChild(this._$mask);
10889
+ }
10890
+ this.$body = document.createElement('div');
10891
+ this.$body.classList.add("" + _$PICKER_PREFIX_CLS$_ + "-body");
10892
+ this.$wrapperContent.appendChild(this.$body);
10893
+ if (typeof this._options.content === 'string') {
10894
+ this.innerHTML(this._options.content);
10895
+ } else if (typeof this._options.content === 'function') {
10896
+ this.innerHTML(this._options.content == null ? void 0 : this._options.content.call(this._options));
10897
+ }
10898
+ if (typeof this._options.wrapClassName === 'string') {
10899
+ try {
10900
+ var _this_$wrapperContent_classList;
10901
+ var _this_$wrapperContent;
10902
+ (_this_$wrapperContent = this.$wrapperContent) == null ? void 0 : (_this_$wrapperContent_classList = _this_$wrapperContent.classList).add.apply(_this_$wrapperContent_classList, [].concat(this._options.wrapClassName.split(' ')));
10903
+ } catch (_error) {
10904
+ //
10905
+ }
10906
+ }
10907
+ };
10908
+ /**
10909
+ * 绑定事件
10910
+ */
10911
+ _proto._eventListener = function _eventListener() {
10912
+ var _this_$container_addEventListener, _this_$container, _this_$container_addEventListener1, _this_$container1;
10913
+ this.$wrapperContent.addEventListener('click', this._onContentClick);
10914
+ (_this_$container = this.$container) == null ? void 0 : (_this_$container_addEventListener = _this_$container.addEventListener) == null ? void 0 : _this_$container_addEventListener.call(_this_$container, 'click', this._onContentClick);
10915
+ //
10916
+ if (this._options.trigger === 'click') (_this_$container1 = this.$container) == null ? void 0 : (_this_$container_addEventListener1 = _this_$container1.addEventListener) == null ? void 0 : _this_$container_addEventListener1.call(_this_$container1, 'click', this._onShow);
10917
+ if (this._options.trigger === 'hover') {
10918
+ var _this_$container_addEventListener2, _this_$container2, _this_$container_addEventListener3, _this_$container3, _this_$container_addEventListener4, _this_$container4;
10919
+ (_this_$container2 = this.$container) == null ? void 0 : (_this_$container_addEventListener2 = _this_$container2.addEventListener) == null ? void 0 : _this_$container_addEventListener2.call(_this_$container2, 'mouseenter', this._onShow);
10920
+ (_this_$container3 = this.$container) == null ? void 0 : (_this_$container_addEventListener3 = _this_$container3.addEventListener) == null ? void 0 : _this_$container_addEventListener3.call(_this_$container3, 'mouseover', this._onShow);
10921
+ (_this_$container4 = this.$container) == null ? void 0 : (_this_$container_addEventListener4 = _this_$container4.addEventListener) == null ? void 0 : _this_$container_addEventListener4.call(_this_$container4, 'mouseleave', this._onHide);
10922
+ this.$wrapperContent.addEventListener('mouseenter', this._onWrapperShow);
10923
+ this.$wrapperContent.addEventListener('mouseleave', this._onHide);
10924
+ }
10925
+ if (this._$mask) this._$mask.addEventListener('click', this._onHide);
10926
+ if (!this._options.isMobile) {
10927
+ window.addEventListener('blur', this._onHide);
10928
+ document.addEventListener('visibilitychange', this._onHide);
10929
+ window.addEventListener('resize', this._onHide);
10930
+ document.addEventListener('click', this._onDocumentClick);
10931
+ }
10932
+ };
10933
+ /**
10934
+ * $wrapperContent click event
10935
+ * @param e - 内容点击事件
10936
+ */
10937
+ _proto._onContentClick = function _onContentClick(e) {
10938
+ pickerProvider.closeOther(e);
10939
+ };
10940
+ /**
10941
+ * 显示事件
10942
+ */
10943
+ _proto._onShow = function _onShow() {
10944
+ if (this._disabled) return;
10945
+ this.open = true;
10946
+ };
10947
+ /**
10948
+ * $wrapperContent 显示事件(输入进入前 为 false 阻止设置为 true)
10949
+ */
10950
+ _proto._onWrapperShow = function _onWrapperShow() {
10951
+ if (this._disabled) return;
10952
+ this._onShow();
10953
+ };
10954
+ /**
10955
+ * 隐藏事件
10956
+ */
10957
+ _proto._onHide = function _onHide(e) {
10958
+ if (!this._open || this._disabled) return;
10959
+ if ((e == null ? void 0 : e.target) === this._$mask) e == null ? void 0 : e.stopPropagation();
10960
+ this.open = false;
10961
+ };
10962
+ /**
10963
+ * document 点击事件
10964
+ * @param event - 鼠标点击事件
10965
+ */
10966
+ _proto._onDocumentClick = function _onDocumentClick(event) {
10967
+ var _this_$container;
10968
+ if (!(this.$wrapperContent.contains(event.target) || this.$wrapperContent === event.target || ((_this_$container = this.$container) == null ? void 0 : _this_$container.contains(event.target)) || this.$container === event.target)) {
10969
+ if (this._disabled) return;
10970
+ this._onHide();
10971
+ }
10972
+ };
10973
+ _create_class(Picker, [{
10974
+ key: "open",
10975
+ get:
10976
+ /**
10977
+ * 获取当前打开状态
10978
+ * @example
10979
+ * ```ts
10980
+ * console.log(picker.open); // 获取当前打开状态
10981
+ * picker.open = true; // 打开
10982
+ * picker.open = false; // 关闭
10983
+ * ```
10984
+ */
10985
+ function get() {
10986
+ return this._open;
10987
+ },
10988
+ set: function set(open) {
10989
+ var _this = this;
10990
+ if (this._disabled) return;
10991
+ if (this._open !== !!open) {
10992
+ this._animationTimerClear();
10993
+ if (this._timer) {
10994
+ clearTimeout(this._timer);
10995
+ this._timer = null;
10996
+ }
10997
+ if (open) {
10998
+ // prettier-ignore
10999
+ this._timer = setTimeout(function () {
11000
+ if (!_this.$wrapperContent) return;
11001
+ _this.$wrapperContent.style.display = "inline-flex";
11002
+ _this.$wrapperContent.style.pointerEvents = "";
11003
+ // prettier-ignore
11004
+ if (_this._options.isMobile) document.body.classList.add("" + _$PICKER_PREFIX_CLS$_ + "-body-noscroll");
11005
+ _this._animationTimer = setTimeout(function () {
11006
+ _this._animationTimerClear();
11007
+ _this.$wrapperContent.style.opacity = "1";
11008
+ }, 0);
11009
+ requestAnimationFrame(function () {
11010
+ _this._setPlacement();
11011
+ });
11012
+ _this._OpenChange = open;
11013
+ _this._onOpenChange(open);
11014
+ },
11015
+ // prettier-ignore
11016
+ (this._options.mouseEnterDelay < 0 ? 0 : this._options.mouseEnterDelay) * 1000);
11017
+ } else {
11018
+ // prettier-ignore
11019
+ this._timer = setTimeout(function () {
11020
+ if (!_this.$wrapperContent) return;
11021
+ _this.$wrapperContent.style.opacity = "0";
11022
+ _this.$wrapperContent.style.pointerEvents = "none";
11023
+ // prettier-ignore
11024
+ if (_this._options.isMobile) document.body.classList.remove("" + _$PICKER_PREFIX_CLS$_ + "-body-noscroll");
11025
+ _this._animationTimer = setTimeout(function () {
11026
+ _this._animationTimerClear();
11027
+ _this.$wrapperContent.style.display = "none";
11028
+ }, 301); // css 动画是 300ms
11029
+ _this._OpenChange = open;
11030
+ _this._onOpenChange(open);
11031
+ },
11032
+ // prettier-ignore
11033
+ (this._options.mouseLeaveDelay < 0 ? 0 : this._options.mouseLeaveDelay) * 1000);
11034
+ }
11035
+ if (this._OpenChange === open) {
11036
+ if (this._timer) {
11037
+ clearTimeout(this._timer);
11038
+ this._timer = null;
11039
+ }
11040
+ }
11041
+ this._open = !!open;
11042
+ }
11043
+ }
11044
+ }, {
11045
+ key: "disabled",
11046
+ get:
11047
+ /**
11048
+ * 获取或设置禁用状态
11049
+ * @example
11050
+ * ```ts
11051
+ * picker.disabled = true; // 禁用
11052
+ * picker.disabled = false; // 启用
11053
+ * console.log(picker.disabled); // 获取禁用状态
11054
+ * ```
11055
+ */
11056
+ function get() {
11057
+ return this._disabled;
11058
+ },
11059
+ set: function set(disabled) {
11060
+ if (disabled) {
11061
+ var _this_$container_classList_add, _this_$container_classList, _this_$container;
11062
+ (_this_$container = this.$container) == null ? void 0 : (_this_$container_classList = _this_$container.classList) == null ? void 0 : (_this_$container_classList_add = _this_$container_classList.add) == null ? void 0 : _this_$container_classList_add.call(_this_$container_classList, "" + _$PICKER_PREFIX_CLS$_ + "-disabled");
11063
+ } else {
11064
+ var _this_$container_classList_remove, _this_$container_classList1, _this_$container1;
11065
+ (_this_$container1 = this.$container) == null ? void 0 : (_this_$container_classList1 = _this_$container1.classList) == null ? void 0 : (_this_$container_classList_remove = _this_$container_classList1.remove) == null ? void 0 : _this_$container_classList_remove.call(_this_$container_classList1, "" + _$PICKER_PREFIX_CLS$_ + "-disabled");
11066
+ }
11067
+ this._disabled = disabled;
11068
+ }
11069
+ }]);
11070
+ return Picker;
11071
+ }();
11072
+ /**
11073
+ * 版本号
11074
+ * @example
11075
+ * ```ts
11076
+ * Picker.VERSION; // 输出版本号
11077
+ * ```
11078
+ */
11079
+ Picker.VERSION = '1.1.5';
11080
+
11081
+ dist$2 = Picker;
11082
+ return dist$2;
11083
+ }
11084
+
11085
+ /*
11086
+ * @ezuikit/control-date-picker v1.0.0-beta.6
11087
+ * Copyright (c) 2025-12-03 Ezviz-OpenBiz
11088
+ * Released under the MIT License.
11089
+ */
11090
+
11091
+ var hasRequiredDist$2;
11092
+
11093
+ function requireDist$2 () {
11094
+ if (hasRequiredDist$2) return dist$4;
11095
+ hasRequiredDist$2 = 1;
11096
+
11097
+ var delegate = requireDelegate();
11098
+ var utilsTools = requireDist$4();
11099
+ var deepmerge = requireCjs();
11100
+ var Picker = requireDist$3();
11101
+
11102
+ /**
11103
+ * 工具类
11104
+ */ var Util = /*#__PURE__*/ function() {
11105
+ function Util() {}
11106
+ /**
11107
+ * 数字格式化 十位补0
11108
+ * @param {number | string} num
11109
+ * @returns {string}
11110
+ *
11111
+ * @example
11112
+ * ```js
11113
+ * fillZero(0) // "00"
11114
+ * fillZero(9) // "09"
11115
+ * fillZero(23) // "23"
11116
+ * ```
11117
+ */ Util.fillZero = function fillZero(num, len) {
11118
+ if (len === void 0) len = 2;
11119
+ return num.toString().padStart(len, '0');
11120
+ };
11121
+ /**
11122
+ * 按照size 对数组 arr 进行分组
11123
+ * @param {Array<string | number>} arr
11124
+ * @param {number} size 每组的个数
11125
+ * @returns {T[][]}
11126
+ */ Util.chunkBySize = function chunkBySize(arr, size) {
11127
+ return Array.from({
11128
+ length: Math.ceil(arr.length / size)
11129
+ }).map(function(_, index) {
11130
+ return arr.slice(index * size, (index + 1) * size);
11131
+ });
11132
+ };
11133
+ /**
11134
+ * 根据year 生成年份列表 (12年份列表)
11135
+ * @param {number} year 年份
11136
+ * @returns {number[]} 年份列表
11137
+ * @example
11138
+ * generateYearsList(2025) // [2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026, 2027, 2028, 2029, 2030]
11139
+ */ Util.generateYears = function generateYears(year) {
11140
+ var years = [];
11141
+ var index = year % 10 + 1;
11142
+ for(var i = index; i >= 0; i--){
11143
+ years.push(year - i);
11144
+ }
11145
+ for(var i1 = 1; years.length < 12; i1++){
11146
+ years.push(year + i1);
11147
+ }
11148
+ return years;
11149
+ };
11150
+ /**
11151
+ * 返回给定年份和月份的总天数
11152
+ * @param {number} year 年
11153
+ * @param {number} month 月 (从0开始)
11154
+ * @returns {number}
11155
+ */ Util.getDaysInMonth = function getDaysInMonth(year, month) {
11156
+ return new Date(year, month + 1, 0).getDate();
11157
+ };
11158
+ /**
11159
+ * 计算出给定月份(month)的第一天是星期几
11160
+ * @param {number} year 年
11161
+ * @param {number} month 月 (从0开始)
11162
+ * @param {number} startOfWeek 开始周,[0-6]: 0 为周日,1为周一,以此类推 默认从周日开始
11163
+ * @returns
11164
+ */ // prettier-ignore
11165
+ Util.getFirstDayOfMonth = function getFirstDayOfMonth(year, month, startOfWeek) {
11166
+ if (startOfWeek === void 0) startOfWeek = 0;
11167
+ var firstDayInMonth = new Date(year, month).getDay();
11168
+ return (firstDayInMonth - startOfWeek + 7) % 7;
11169
+ };
11170
+ /**
11171
+ * 获取六行一个月份中日期的数据
11172
+ * @param {number} year 年
11173
+ * @param {number} month 月 (从1开始)
11174
+ * @param {number} startOfWeek 开始周,[0-6]: 0 为周日,1为周一,以此类推 默认从周日开始
11175
+ * @returns {string[]}
11176
+ * @example
11177
+ * generateWeeksByYearMonth(2025, 5, 0)
11178
+ * // ["2025-04-28", "2025-04-29", "2025-04-30", "2025-05-01", "2025-05-02", "2025-05-03", "2025-05-04",
11179
+ * // "2025-05-05", "2025-05-06", "2025-05-07", "2025-05-08", "2025-05-09", "2025-05-10", "2025-05-11",
11180
+ * // "2025-05-12", "2025-05-13", "2025-05-14", "2025-05-15", "2025-05-16", "2025-05-17", "2025-05-18",
11181
+ * // "2025-05-19", "2025-05-20", "2025-05-21", "2025-05-22", "2025-05-23", "2025-05-24", "2025-05-25",
11182
+ * // "2025-05-26", "2025-05-27", "2025-05-28", "2025-05-29", "2025-05-30", "2025-05-31", "2025-06-01",
11183
+ * // "2025-06-02", "2025-06-03", "2025-06-04", "2025-06-05", "2025-06-06", "2025-06-07", "2025-06-08"]
11184
+ *
11185
+ */ // prettier-ignore
11186
+ Util.generateWeeksByYearMonth = function generateWeeksByYearMonth(year, month, startOfWeek) {
11187
+ if (startOfWeek === void 0) startOfWeek = 0;
11188
+ month = month - 1;
11189
+ var daysInMonth = Util.getDaysInMonth(year, month);
11190
+ var firstDay = Util.getFirstDayOfMonth(year, month, startOfWeek);
11191
+ var weeks = [];
11192
+ for(var i = 1; i <= firstDay + daysInMonth; i++){
11193
+ var day = i - firstDay;
11194
+ if (day < 1) {
11195
+ // prettier-ignore
11196
+ weeks.push((month === 0 ? year - 1 : year) + "-" + Util.fillZero((month + 12 - 1) % 12 + 1) + "-" + Util.fillZero(Util.getDaysInMonth(year, month - 1) + day));
11197
+ } else if (day > daysInMonth) {
11198
+ // prettier-ignore
11199
+ weeks.push((month === 11 ? year + 1 : year) + "-" + Util.fillZero((month + 1) % 12 + 1) + "-" + (day - daysInMonth));
11200
+ } else {
11201
+ // prettier-ignore
11202
+ weeks.push(year + "-" + Util.fillZero(month + 1) + "-" + Util.fillZero(day));
11203
+ }
11204
+ }
11205
+ // Fill remaining places if data array is less than 42
11206
+ var nextDay = 1;
11207
+ while(weeks.length < 42){
11208
+ // prettier-ignore
11209
+ weeks.push((month === 11 ? year + 1 : year) + "-" + Util.fillZero((month + 1) % 12 + 1) + "-" + Util.fillZero(nextDay++));
11210
+ }
11211
+ return weeks;
11212
+ };
11213
+ /**
11214
+ * 生成小时数组
11215
+ * @returns {string[]} 24小时数组
11216
+ * @example
11217
+ * generateHours() // ['00', '01', '02', ..., '23']
11218
+ */ Util.generateHours = function generateHours() {
11219
+ var hours = [];
11220
+ for(var i = 0; i < 24; i++){
11221
+ hours.push(Util.fillZero(i));
11222
+ }
11223
+ return hours;
11224
+ };
11225
+ /**
11226
+ * 生成分钟或秒数组
11227
+ * @returns {string[]} 分钟或秒数组
11228
+ * @example
11229
+ * generateMinutesOrSeconds() // ['00', '01', '02', ..., '59']
11230
+ */ Util.generateMinutesOrSeconds = function generateMinutesOrSeconds() {
11231
+ var hours = [];
11232
+ for(var i = 0; i <= 59; i++){
11233
+ hours.push(Util.fillZero(i));
11234
+ }
11235
+ return hours;
11236
+ };
11237
+ return Util;
11238
+ }();
11239
+
11240
+ // eslint-disable-next-line @typescript-eslint/naming-convention
11241
+ var _CONTAINER_PREFIX_CLASSNAME_ = 'edate';
11242
+ var _DATE_DISABLED_$1 = "" + _CONTAINER_PREFIX_CLASSNAME_ + "-disabled";
11243
+ var _PREFIX_CLS_HEADER_HOVER_$1 = "" + _CONTAINER_PREFIX_CLASSNAME_ + "-header-title-hover";
11244
+ // eslint-disable-next-line @typescript-eslint/naming-convention
11245
+ var __$CALENDAR_LOCALES$__ = {
11246
+ en: {
11247
+ year: '',
11248
+ month: '',
11249
+ weeks: [
11250
+ 'Su',
11251
+ 'Mo',
11252
+ 'Tu',
11253
+ 'We',
11254
+ 'Th',
11255
+ 'Fr',
11256
+ 'Sa'
11257
+ ],
11258
+ today: 'Today',
11259
+ ok: 'OK',
11260
+ months: [
11261
+ 'Jan',
11262
+ 'Feb',
11263
+ 'Mar',
11264
+ 'Apr',
11265
+ 'May',
11266
+ 'Jun',
11267
+ 'Jul',
11268
+ 'Aug',
11269
+ 'Sep',
11270
+ 'Oct',
11271
+ 'Nov',
11272
+ 'Dec'
11273
+ ]
11274
+ },
11275
+ zh: {
11276
+ year: '年',
11277
+ month: '月',
11278
+ weeks: [
11279
+ '日',
11280
+ '一',
11281
+ '二',
11282
+ '三',
11283
+ '四',
11284
+ '五',
11285
+ '六'
11286
+ ],
11287
+ today: '今天',
11288
+ ok: '确定',
11289
+ months: [
11290
+ '01',
11291
+ '02',
11292
+ '03',
11293
+ '04',
11294
+ '05',
11295
+ '06',
11296
+ '07',
11297
+ '08',
11298
+ '09',
11299
+ '10',
11300
+ '11',
11301
+ '12'
11302
+ ]
11303
+ }
11304
+ };
11305
+
11306
+ // eslint-disable-next-line @typescript-eslint/naming-convention
11307
+ var __DEFAULT_COMPONENTS_OPTIONS__ = {
11308
+ showSuperPrevIcon: false,
11309
+ showSuperNextIcon: false,
11310
+ showPrevIcon: false,
11311
+ showNextIcon: false,
11312
+ showHeaderClose: false,
11313
+ showHeaderOk: false,
11314
+ renderSuperPrevIcon: '<span class="' + _CONTAINER_PREFIX_CLASSNAME_ + '-super-prev-icon"></span>',
11315
+ renderSuperNextIcon: '<span class="' + _CONTAINER_PREFIX_CLASSNAME_ + '-super-next-icon"></span>',
11316
+ renderPrevIcon: '<span class="' + _CONTAINER_PREFIX_CLASSNAME_ + '-prev-icon"></span>',
11317
+ renderNextIcon: '<span class="' + _CONTAINER_PREFIX_CLASSNAME_ + '-next-icon"></span>',
11318
+ renderHeaderCloseIcon: '<span class="' + _CONTAINER_PREFIX_CLASSNAME_ + '-close-icon">\n <svg viewBox="0 0 24 24" fill="none" width="1em" height="1em" stroke="currentColor" focusable="false" aria-hidden="true" data-icon="close">\n <path d="M0 0L15.9998 0" stroke-linecap="round" stroke-width="1.5" transform="matrix(0.707099,0.707114,-0.707114,0.707099,6.34277,6.34326)" />\n <path d="M0 0L15.9998 0" stroke-linecap="round" stroke-width="1.5" transform="matrix(0.707099,-0.707114,0.707114,0.707099,6.34277,17.6567)" />\n </svg>\n </span>',
11319
+ renderHeaderOkIcon: function(locale) {
11320
+ return '<span class="' + _CONTAINER_PREFIX_CLASSNAME_ + '-btn-text">' + ((locale == null ? void 0 : locale.ok) || '确定') + "</span>";
11321
+ }
11322
+ };
11323
+ /**
11324
+ * 公共头部组件
11325
+ * @param options - Options for the header component.
11326
+ * @param {string} options.className - Optional class name to be added to the header element for custom styling.
11327
+ * @param {string | (() => string)} options.content - The content to be rendered in the header.
11328
+ * It can be a string or a function that returns a string.
11329
+ * This function creates a header element with the specified class name and content.
11330
+ * It returns a string representing the HTML structure of the header.
11331
+ * @example
11332
+ * ```ts
11333
+ * import Header from "./header";
11334
+ * const header = new Header({
11335
+ * className: "custom-header",
11336
+ * prefixCls: "prefix",
11337
+ * content: () => "<h1>Header Content</h1>"
11338
+ * })
11339
+ * @returns {string} The HTML string representing the header element.
11340
+ *
11341
+ */ var Header = /*#__PURE__*/ function() {
11342
+ function Header(options) {
11343
+ this.$header = null;
11344
+ // prettier-ignore
11345
+ this.options = deepmerge.all([
11346
+ {},
11347
+ __DEFAULT_COMPONENTS_OPTIONS__,
11348
+ options
11349
+ ], {
11350
+ clone: false
11351
+ });
11352
+ this.$header = document.createElement('div');
11353
+ // prettier-ignore
11354
+ this.$header.classList.add("" + _CONTAINER_PREFIX_CLASSNAME_ + "-header", "" + options.prefixCls + "-header");
11355
+ if (options.className) {
11356
+ this.$header.classList.add(options.className);
11357
+ }
11358
+ this._render();
11359
+ this._eventListeners();
11360
+ }
11361
+ var _proto = Header.prototype;
11362
+ _proto._render = function _render() {
11363
+ if (this.$header) {
11364
+ var _this__getStrOrFunToStr, _this__getStrOrFunToStr1, _this__getStrOrFunToStr2, _this__getStrOrFunToStr3, _this__getStrOrFunToStr4, _this__getStrOrFunToStr5;
11365
+ this.$header.innerHTML = "\n " + (this.options.showHeaderClose ? '<div class="' + _CONTAINER_PREFIX_CLASSNAME_ + '-close-btn">\n ' + ((_this__getStrOrFunToStr = this._getStrOrFunToStr(this.options.renderHeaderCloseIcon)) != null ? _this__getStrOrFunToStr : __DEFAULT_COMPONENTS_OPTIONS__.renderHeaderCloseIcon) + "\n </div>" : this.options.showHeaderOk ? "<span></span>" : '') + "\n " + (this.options.showSuperPrevIcon || this.options.showPrevIcon ? '\n <div class="' + _CONTAINER_PREFIX_CLASSNAME_ + '-prev-btns">\n ' + (this.options.showSuperPrevIcon ? '<div class="' + _CONTAINER_PREFIX_CLASSNAME_ + "-super-prev-btn " + this.options.prefixCls + '-super-prev-btn">\n ' + ((_this__getStrOrFunToStr1 = this._getStrOrFunToStr(this.options.renderSuperPrevIcon)) != null ? _this__getStrOrFunToStr1 : __DEFAULT_COMPONENTS_OPTIONS__.renderSuperPrevIcon) + "\n </div>" : '') + "\n " + (this.options.showPrevIcon ? '<div class="' + _CONTAINER_PREFIX_CLASSNAME_ + "-prev-btn " + this.options.prefixCls + '-prev-btn">\n ' + ((_this__getStrOrFunToStr2 = this._getStrOrFunToStr(this.options.renderPrevIcon)) != null ? _this__getStrOrFunToStr2 : __DEFAULT_COMPONENTS_OPTIONS__.renderPrevIcon) + "\n </div>" : '') + "\n </div>\n " : '') + '\n\n <div class="' + _CONTAINER_PREFIX_CLASSNAME_ + "-header-view " + this.options.prefixCls + '-header-view"></div>\n\n ' + (this.options.showNextIcon || this.options.showSuperNextIcon ? '\n <div class="' + _CONTAINER_PREFIX_CLASSNAME_ + '-next-btns">\n ' + (this.options.showNextIcon ? '<div class="' + _CONTAINER_PREFIX_CLASSNAME_ + "-next-btn " + this.options.prefixCls + '-next-btn">\n ' + ((_this__getStrOrFunToStr3 = this._getStrOrFunToStr(this.options.renderNextIcon)) != null ? _this__getStrOrFunToStr3 : __DEFAULT_COMPONENTS_OPTIONS__.renderNextIcon) + "\n </div>" : '') + "\n " + (this.options.showSuperNextIcon ? '<div class="' + _CONTAINER_PREFIX_CLASSNAME_ + "-super-next-btn " + this.options.prefixCls + '-super-next-btn">\n ' + ((_this__getStrOrFunToStr4 = this._getStrOrFunToStr(this.options.renderSuperNextIcon)) != null ? _this__getStrOrFunToStr4 : __DEFAULT_COMPONENTS_OPTIONS__.renderSuperNextIcon) + "\n </div>" : '') + "\n </div>\n " : '') + "\n " + (this.options.showHeaderOk ? '<div class="' + _CONTAINER_PREFIX_CLASSNAME_ + '-ok-btn">\n ' + ((_this__getStrOrFunToStr5 = this._getStrOrFunToStr(this.options.renderHeaderOkIcon)) != null ? _this__getStrOrFunToStr5 : __DEFAULT_COMPONENTS_OPTIONS__.renderHeaderOkIcon) + "\n </div>" : this.options.showHeaderClose ? "<span></span>" : '');
11366
+ }
11367
+ };
11368
+ _proto._getStrOrFunToStr = function _getStrOrFunToStr(value) {
11369
+ if (value === undefined || value === null) {
11370
+ return undefined;
11371
+ }
11372
+ if (typeof value === 'function') {
11373
+ var _this_options;
11374
+ return this._getStrOrFunToStr(value == null ? void 0 : value((_this_options = this.options) == null ? void 0 : _this_options.locale));
11375
+ }
11376
+ if (typeof value !== 'string') {
11377
+ return undefined;
11378
+ }
11379
+ return value;
11380
+ };
11381
+ /**
11382
+ * 渲染内容
11383
+ * @param html 内容
11384
+ * @returns
11385
+ */ _proto.renderContent = function renderContent(html) {
11386
+ if (this.$header) {
11387
+ // prettier-ignore
11388
+ var _$content = this.$header.querySelector("." + _CONTAINER_PREFIX_CLASSNAME_ + "-header-view");
11389
+ if (!_$content) return;
11390
+ _$content.innerHTML = html;
11391
+ }
11392
+ };
11393
+ _proto.destroy = function destroy() {
11394
+ if (this.$header) {
11395
+ this.$header.remove();
11396
+ }
11397
+ };
11398
+ _proto._eventListeners = function _eventListeners() {
11399
+ // eslint-disable-next-line @typescript-eslint/no-this-alias
11400
+ var _this = this;
11401
+ if (_this.$header) {
11402
+ // prettier-ignore
11403
+ delegate(_this.$header, "." + _CONTAINER_PREFIX_CLASSNAME_ + "-super-prev-btn", "click", function(event) {
11404
+ if (event.delegateTarget.classList.contains(_DATE_DISABLED_$1)) return;
11405
+ _this.options.onSuperPrev == null ? void 0 : _this.options.onSuperPrev.call(_this.options);
11406
+ });
11407
+ // prettier-ignore
11408
+ delegate(_this.$header, "." + _CONTAINER_PREFIX_CLASSNAME_ + "-prev-btn", "click", function(event) {
11409
+ if (event.delegateTarget.classList.contains(_DATE_DISABLED_$1)) return;
11410
+ _this.options.onPrev == null ? void 0 : _this.options.onPrev.call(_this.options);
11411
+ });
11412
+ // prettier-ignore
11413
+ delegate(_this.$header, "." + _CONTAINER_PREFIX_CLASSNAME_ + "-next-btn", "click", function(event) {
11414
+ if (event.delegateTarget.classList.contains(_DATE_DISABLED_$1)) return;
11415
+ _this.options.onNext == null ? void 0 : _this.options.onNext.call(_this.options);
11416
+ });
11417
+ // prettier-ignore
11418
+ delegate(_this.$header, "." + _CONTAINER_PREFIX_CLASSNAME_ + "-super-next-btn", "click", function(event) {
11419
+ if (event.delegateTarget.classList.contains(_DATE_DISABLED_$1)) return;
11420
+ _this.options.onSuperNext == null ? void 0 : _this.options.onSuperNext.call(_this.options);
11421
+ });
11422
+ // prettier-ignore
11423
+ delegate(_this.$header, "." + _CONTAINER_PREFIX_CLASSNAME_ + "-close-btn", "click", function(event) {
11424
+ if (event.delegateTarget.classList.contains(_DATE_DISABLED_$1)) return;
11425
+ _this.options.onClose == null ? void 0 : _this.options.onClose.call(_this.options);
11426
+ });
11427
+ // prettier-ignore
11428
+ delegate(_this.$header, "." + _CONTAINER_PREFIX_CLASSNAME_ + "-ok-btn", "click", function(event) {
11429
+ if (event.delegateTarget.classList.contains(_DATE_DISABLED_$1)) return;
11430
+ _this.options.onOk == null ? void 0 : _this.options.onOk.call(_this.options);
11431
+ });
11432
+ }
11433
+ };
11434
+ return Header;
11435
+ }();
11436
+
11437
+ function _extends$2() {
11438
+ _extends$2 = Object.assign || function(target) {
11439
+ for(var i = 1; i < arguments.length; i++){
11440
+ var source = arguments[i];
11441
+ for(var key in source){
11442
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
11443
+ target[key] = source[key];
11444
+ }
11445
+ }
11446
+ }
11447
+ return target;
11448
+ };
11449
+ return _extends$2.apply(this, arguments);
11450
+ }
11451
+ /**
11452
+ * Default options for the Container class.
11453
+ */ var _CONTAINER_DEFAULT_OPTIONS_ = {
11454
+ prefixCls: _CONTAINER_PREFIX_CLASSNAME_,
11455
+ locales: __$CALENDAR_LOCALES$__,
11456
+ showHeader: true
11457
+ };
11458
+ /**
11459
+ * Container class for creating a content container with options for locale and styling.
11460
+ * @example
11461
+ * ```ts
11462
+ * import Container from "./Container";
11463
+ * const container = new Container({
11464
+ * getContainer: document.body,
11465
+ * wrapClassName: "custom-wrap",
11466
+ * prefixCls: "custom-prefix",
11467
+ * language: "zh-CN",
11468
+ * locales: {
11469
+ * "en-US": { today: "Today", cancel: "Cancel" },
11470
+ * "zh-CN": { today: "今天", cancel: "取消" },
11471
+ * },
11472
+ * });
11473
+ */ var Container = /*#__PURE__*/ function() {
11474
+ function Container(popupContainer, options) {
11475
+ /**
11476
+ * panel element node.
11477
+ */ this.$panel = document.createElement('div');
11478
+ /**
11479
+ * body element node.
11480
+ */ this.$body = document.createElement('div');
11481
+ /**
11482
+ * The container element where the container's content will be appended.
11483
+ */ this.$container = document.createElement('div');
11484
+ /**
11485
+ * The language used for localization.
11486
+ */ this.language = 'zh';
11487
+ /**
11488
+ * header.
11489
+ */ this.header = null;
11490
+ /**
11491
+ * The locale object for the current language.
11492
+ */ this.locale = __$CALENDAR_LOCALES$__['zh'];
11493
+ this.options = deepmerge.all([
11494
+ {},
11495
+ _CONTAINER_DEFAULT_OPTIONS_,
11496
+ options
11497
+ ], {
11498
+ clone: false
11499
+ });
11500
+ if (popupContainer) {
11501
+ // prettier-ignore
11502
+ this.$popupContainer = typeof popupContainer === "function" ? popupContainer() : popupContainer;
11503
+ } else {
11504
+ this.$popupContainer = document.body;
11505
+ }
11506
+ this._setLocale();
11507
+ // prettier-ignore
11508
+ this.$container.classList.add("" + _CONTAINER_PREFIX_CLASSNAME_ + "-container", (this.options.prefixCls || _CONTAINER_PREFIX_CLASSNAME_) + "-container");
11509
+ // prettier-ignore
11510
+ if (options.isMobile) this.$container.classList.add("" + _CONTAINER_PREFIX_CLASSNAME_ + "-mobile", "" + this.options.prefixCls + "-mobile");
11511
+ // prettier-ignore
11512
+ if (this.options.wrapClassName) this.$container.classList.add(this.options.wrapClassName);
11513
+ // prettier-ignore
11514
+ this.$panel.classList.add("" + _CONTAINER_PREFIX_CLASSNAME_ + "-panel", (this.options.prefixCls || _CONTAINER_PREFIX_CLASSNAME_) + "-panel");
11515
+ if (this.options.showHeader) {
11516
+ this.header = new Header(_extends$2({}, this.options, {
11517
+ locale: this.locale,
11518
+ onPrev: this._onPrev.bind(this),
11519
+ onNext: this._onNext.bind(this),
11520
+ onSuperPrev: this._onSuperPrev.bind(this),
11521
+ onSuperNext: this._onSuperNext.bind(this),
11522
+ onClose: this._onClose.bind(this),
11523
+ onOk: this._onOk.bind(this)
11524
+ }));
11525
+ this.$panel.appendChild(this.header.$header);
11526
+ }
11527
+ // prettier-ignore
11528
+ this.$body.classList.add("" + _CONTAINER_PREFIX_CLASSNAME_ + "-body", (this.options.prefixCls || _CONTAINER_PREFIX_CLASSNAME_) + "-body");
11529
+ this.$container.appendChild(this.$panel);
11530
+ this.$popupContainer.appendChild(this.$container);
11531
+ }
11532
+ var _proto = Container.prototype;
11533
+ /**
11534
+ * set locale
11535
+ * @private
11536
+ * @returns {void}
11537
+ */ _proto._setLocale = function _setLocale() {
11538
+ if (this.options.locales) {
11539
+ if (typeof this.options.language === 'string') {
11540
+ var language = this.options.language || navigator.language;
11541
+ if (this.options.locales[language]) {
11542
+ this.locale = this.options.locales[language];
11543
+ } else {
11544
+ this.locale = this.options.locales['zh'];
11545
+ }
11546
+ } else {
11547
+ this.locale = this.options.locales['zh'];
11548
+ }
11549
+ }
11550
+ };
11551
+ /**
11552
+ * destroy content node
11553
+ * @example
11554
+ * ```ts
11555
+ * container.destroy();
11556
+ * ```
11557
+ * @returns {void}
11558
+ */ _proto.destroy = function destroy() {
11559
+ var _this_$container;
11560
+ if ((_this_$container = this.$container) == null ? void 0 : _this_$container.parentNode) {
11561
+ this.$container.parentNode.removeChild(this.$container);
11562
+ }
11563
+ this.header = null;
11564
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
11565
+ this.$container = null;
11566
+ // this.locale = {}; // Reset locale
11567
+ };
11568
+ /**
11569
+ * set locale
11570
+ * @param {"en-US" | "zh-CN" | L} locale locale
11571
+ * @example
11572
+ * ```ts
11573
+ * container.setLocale("zh-CN");
11574
+ * container.setLocale({ today: "今天" });
11575
+ * ```
11576
+ * @returns {void}
11577
+ */ _proto.setLocale = function setLocale(locale) {
11578
+ if (typeof locale === 'string') {
11579
+ this._setLocale();
11580
+ } else {
11581
+ this.locale = locale;
11582
+ }
11583
+ };
11584
+ _proto._onSuperPrev = function _onSuperPrev() {
11585
+ // throw new Error('Method not implemented.');
11586
+ };
11587
+ _proto._onSuperNext = function _onSuperNext() {
11588
+ // throw new Error('Method not implemented.');
11589
+ };
11590
+ _proto._onPrev = function _onPrev() {
11591
+ // throw new Error('Method not implemented.');
11592
+ };
11593
+ _proto._onNext = function _onNext() {
11594
+ // throw new Error('Method not implemented.');
11595
+ };
11596
+ _proto._onClose = function _onClose() {
11597
+ // throw new Error('Method not implemented.');
11598
+ };
11599
+ _proto._onOk = function _onOk() {
11600
+ // throw new Error('Method not implemented.');
11601
+ };
11602
+ return Container;
11603
+ }();
11604
+
11605
+ function _defineProperties$3(target, props) {
11606
+ for(var i = 0; i < props.length; i++){
11607
+ var descriptor = props[i];
11608
+ descriptor.enumerable = descriptor.enumerable || false;
11609
+ descriptor.configurable = true;
11610
+ if ("value" in descriptor) descriptor.writable = true;
11611
+ Object.defineProperty(target, descriptor.key, descriptor);
11612
+ }
11613
+ }
11614
+ function _create_class$3(Constructor, protoProps, staticProps) {
11615
+ if (protoProps) _defineProperties$3(Constructor.prototype, protoProps);
11616
+ return Constructor;
11617
+ }
11618
+ function _extends$1() {
11619
+ _extends$1 = Object.assign || function(target) {
11620
+ for(var i = 1; i < arguments.length; i++){
11621
+ var source = arguments[i];
11622
+ for(var key in source){
11623
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
11624
+ target[key] = source[key];
11625
+ }
11626
+ }
11627
+ }
11628
+ return target;
11629
+ };
11630
+ return _extends$1.apply(this, arguments);
11631
+ }
11632
+ function _inherits$3(subClass, superClass) {
11633
+ if (typeof superClass !== "function" && superClass !== null) {
11634
+ throw new TypeError("Super expression must either be null or a function");
11635
+ }
11636
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
11637
+ constructor: {
11638
+ value: subClass,
11639
+ writable: true,
11640
+ configurable: true
11641
+ }
11642
+ });
11643
+ if (superClass) _set_prototype_of$3(subClass, superClass);
11644
+ }
11645
+ function _instanceof$2(left, right) {
11646
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
11647
+ return !!right[Symbol.hasInstance](left);
11648
+ } else {
11649
+ return left instanceof right;
11650
+ }
11651
+ }
11652
+ function _set_prototype_of$3(o, p) {
11653
+ _set_prototype_of$3 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
11654
+ o.__proto__ = p;
11655
+ return o;
11656
+ };
11657
+ return _set_prototype_of$3(o, p);
11658
+ }
11659
+ var _CALENDAR_PREFIX_CLS_ = 'ecalendar';
11660
+ var _DATE_CELL_SELECTED_ = "" + _CALENDAR_PREFIX_CLS_ + "-cell-selected";
11661
+ var _DATE_DISABLED_ = "" + _CONTAINER_PREFIX_CLASSNAME_ + "-disabled";
11662
+ /** YYYY-MM-DD */ var _ECALENDAR_FORMAT_ = 'YYYY-MM-DD';
11663
+ var _CALENDAR_DEFAULT_OPTIONS_ = {
11664
+ startOfWeek: 0,
11665
+ showHeader: true,
11666
+ showSuperPrevIcon: true,
11667
+ showSuperNextIcon: true,
11668
+ showPrevIcon: true,
11669
+ showNextIcon: true,
11670
+ language: 'zh',
11671
+ renderBadge: '<span class="' + _CALENDAR_PREFIX_CLS_ + '-badge"></span>',
11672
+ badges: []
11673
+ };
11674
+ /**
11675
+ * 日历
11676
+ * @param {CalendarOptions} options
11677
+ * @example
11678
+ * ```ts
11679
+ * const calendar = new Calendar(document.getElementById('container'), {
11680
+ * startOfWeek: 0,
11681
+ * language: 'en',
11682
+ * })
11683
+ *
11684
+ * calendar.setCurrent(new Date());
11685
+ * calendar.setCurrent(new Date('2025-01-01'));
11686
+ * ```
11687
+ */ var Calendar = /*#__PURE__*/ function(Container) {
11688
+ _inherits$3(Calendar, Container);
11689
+ function Calendar(container, options) {
11690
+ var _this;
11691
+ var _this_options_badges, _this_options, _this_options1, _this_options2;
11692
+ _this = Container.call(this, container, _extends$1({}, _CALENDAR_DEFAULT_OPTIONS_, options, {
11693
+ prefixCls: _CALENDAR_PREFIX_CLS_
11694
+ })) || this, _this.badges = [];
11695
+ if ((_this_options_badges = _this.options.badges) == null ? void 0 : _this_options_badges.length) {
11696
+ _this._updateBadges(_this.options.badges, false);
11697
+ }
11698
+ // prettier-ignore
11699
+ if (((_this_options = _this.options) == null ? void 0 : _this_options.startOfWeek) && (((_this_options1 = _this.options) == null ? void 0 : _this_options1.startOfWeek) > 6 || ((_this_options2 = _this.options) == null ? void 0 : _this_options2.startOfWeek) < 0)) {
11700
+ _this.options.startOfWeek = 0;
11701
+ }
11702
+ _this._render();
11703
+ _this.setCurrent(_this.options.current, false);
11704
+ _this._onHeader();
11705
+ _this._onCell();
11706
+ return _this;
11707
+ }
11708
+ var _proto = Calendar.prototype;
11709
+ /**
11710
+ * 设置当前设置的日期
11711
+ * @param {Date | string} date 当前选择的日期
11712
+ * @param {boolean} change 是否触发 onChange, 默认 true
11713
+ * @returns {void}
11714
+ * @example
11715
+ * ```ts
11716
+ * calendar.setCurrent(new Date()); // 设置当前选择的日期 支持多种时间格式
11717
+ * ```
11718
+ */ _proto.setCurrent = function setCurrent(date, change) {
11719
+ if (change === void 0) change = true;
11720
+ if (typeof date === 'string' || _instanceof$2(date, Date)) {
11721
+ try {
11722
+ date = typeof date === 'string' ? utilsTools.DateTime.toDate(date) : date;
11723
+ // prettier-ignore
11724
+ if (!this._current || utilsTools.DateTime.format(date, _ECALENDAR_FORMAT_) !== utilsTools.DateTime.format(this._current, _ECALENDAR_FORMAT_)) {
11725
+ this._current = date;
11726
+ if (change) {
11727
+ // prettier-ignore
11728
+ this.options.onChange == null ? void 0 : this.options.onChange.call(this.options, date, utilsTools.DateTime.format(date, _ECALENDAR_FORMAT_));
11729
+ }
11730
+ if (this.$body) {
11731
+ var // prettier-ignore
11732
+ _this_$body_querySelector, // prettier-ignore
11733
+ _this_$body_querySelector1;
11734
+ (_this_$body_querySelector = this.$body.querySelector("." + _DATE_CELL_SELECTED_)) == null ? void 0 : _this_$body_querySelector.classList.remove(_DATE_CELL_SELECTED_);
11735
+ var title = utilsTools.DateTime.format(this._current, "YYYY-MM-DD");
11736
+ (_this_$body_querySelector1 = this.$body.querySelector("." + _CALENDAR_PREFIX_CLS_ + "-cell-in-view[title='" + title + "']")) == null ? void 0 : _this_$body_querySelector1.classList.add(_DATE_CELL_SELECTED_);
11737
+ }
11738
+ }
11739
+ this._setRenderCurrent(this._current);
11740
+ } catch (error) {
11741
+ this._setRenderCurrent(new Date());
11742
+ }
11743
+ } else {
11744
+ this._setRenderCurrent(new Date());
11745
+ }
11746
+ };
11747
+ /**
11748
+ * 更新徽章点
11749
+ * @param {Array<string | Date>} badges 徽章点列表
11750
+ * @returns {void}
11751
+ * @example
11752
+ * ```ts
11753
+ * calendar.updateBadges([new Date(), new Date('2025-01-01')]);
11754
+ * ```
11755
+ */ _proto.updateBadges = function updateBadges(badges) {
11756
+ this._updateBadges(badges);
11757
+ };
11758
+ /**
11759
+ * 更新徽章点
11760
+ * @param {Array<string | Date>} badges 徽章点列表
11761
+ * @returns {void}
11762
+ * @example
11763
+ * ```ts
11764
+ * calendar.updateBadges([new Date(), new Date('2025-01-01')]);
11765
+ * ```
11766
+ */ _proto._updateBadges = function _updateBadges(badges, rerender) {
11767
+ if (rerender === void 0) rerender = true;
11768
+ if (badges == null ? void 0 : badges.length) {
11769
+ this.badges = badges.map(function(date) {
11770
+ var dateStr = utilsTools.DateTime.format(date, _ECALENDAR_FORMAT_);
11771
+ return dateStr;
11772
+ });
11773
+ if (rerender) this._renderDate(); // 重新渲染节点
11774
+ }
11775
+ };
11776
+ _proto._setRenderCurrent = function _setRenderCurrent(date) {
11777
+ // prettier-ignore
11778
+ if (!this._renderCurrent || date && utilsTools.DateTime.format(this._renderCurrent, "YYYY-MM") !== utilsTools.DateTime.format(date, "YYYY-MM")) {
11779
+ this._renderCurrent = date || new Date();
11780
+ this._renderDate();
11781
+ }
11782
+ };
11783
+ _proto._onCell = function _onCell() {
11784
+ var _this = this;
11785
+ // 点击日期
11786
+ // prettier-ignore
11787
+ delegate(this.$body, "." + _CALENDAR_PREFIX_CLS_ + "-cell", "click", function(event) {
11788
+ var date = new Date(event.delegateTarget.getAttribute('title').replace(/\//ig, "/"));
11789
+ _this.options.onCell == null ? void 0 : _this.options.onCell.call(_this.options, date, _this._renderCurrent);
11790
+ // disabled
11791
+ if (event.delegateTarget.classList.contains(_DATE_DISABLED_)) return;
11792
+ _this.setCurrent(date);
11793
+ event.stopPropagation();
11794
+ event.preventDefault();
11795
+ });
11796
+ };
11797
+ /**
11798
+ * 上一年
11799
+ * @override 重写 Container 的 _onSuperPrev
11800
+ */ _proto._onSuperPrev = function _onSuperPrev() {
11801
+ var date = new Date(this._renderCurrent);
11802
+ date.setFullYear(date.getFullYear() - 1, date.getMonth(), date.getDate());
11803
+ this._setRenderCurrent(date);
11804
+ this.options.onPrevMonth == null ? void 0 : this.options.onPrevMonth.call(this.options, this._current, this._renderCurrent);
11805
+ };
11806
+ /**
11807
+ * 下一年
11808
+ * @override 重写 Container 的 _onSuperNext
11809
+ */ _proto._onSuperNext = function _onSuperNext() {
11810
+ var date = new Date(this._renderCurrent);
11811
+ date.setFullYear(date.getFullYear() + 1, date.getMonth(), date.getDate());
11812
+ this._setRenderCurrent(date);
11813
+ this.options.onNextMonth == null ? void 0 : this.options.onNextMonth.call(this.options, this._current, this._renderCurrent);
11814
+ };
11815
+ /**
11816
+ * 上一月
11817
+ * @override 重写 Container 的 _onPrev
11818
+ */ _proto._onPrev = function _onPrev() {
11819
+ var date = new Date(this._renderCurrent);
11820
+ date.setMonth(date.getMonth() - 1, date.getDate());
11821
+ this._setRenderCurrent(date);
11822
+ this.options.onPrevMonth == null ? void 0 : this.options.onPrevMonth.call(this.options, this._current, this._renderCurrent);
11823
+ };
11824
+ /**
11825
+ * 下一月
11826
+ * @override 重写 Container 的 _onNext
11827
+ */ _proto._onNext = function _onNext() {
11828
+ var date = new Date(this._renderCurrent);
11829
+ date.setMonth(date.getMonth() + 1, date.getDate());
11830
+ this._setRenderCurrent(date);
11831
+ this.options.onNextMonth == null ? void 0 : this.options.onNextMonth.call(this.options, this._current, this._renderCurrent);
11832
+ };
11833
+ /**
11834
+ * 头部点击事件
11835
+ */ _proto._onHeader = function _onHeader() {
11836
+ var _this = this;
11837
+ // prettier-ignore
11838
+ delegate(this.$panel, "." + _CALENDAR_PREFIX_CLS_ + "-header-month-btn", "click", function() {
11839
+ _this.options.onMonth == null ? void 0 : _this.options.onMonth.call(_this.options, _this._current, _this._renderCurrent);
11840
+ });
11841
+ // prettier-ignore
11842
+ delegate(this.$panel, "." + _CALENDAR_PREFIX_CLS_ + "-header-year-btn", "click", function() {
11843
+ _this.options.onYear == null ? void 0 : _this.options.onYear.call(_this.options, _this._current, _this._renderCurrent);
11844
+ });
11845
+ };
11846
+ /**
11847
+ * 点击确定
11848
+ * @override 覆盖Container的 _onOk
11849
+ */ _proto._onOk = function _onOk() {
11850
+ this.options.onOk == null ? void 0 : this.options.onOk.call(this.options, this.current);
11851
+ };
11852
+ /**
11853
+ * 点击关闭
11854
+ * @override 覆盖Container的 _onClose
11855
+ */ _proto._onClose = function _onClose() {
11856
+ this.options.onClose == null ? void 0 : this.options.onClose.call(this.options, this.current);
11857
+ };
11858
+ /**
11859
+ * 渲染
11860
+ */ _proto._render = function _render() {
11861
+ var _this_locale, _this_locale1;
11862
+ var shiftedCustomDays = [].concat((((_this_locale = this.locale) == null ? void 0 : _this_locale.weeks) || []).slice(this.options.startOfWeek), (((_this_locale1 = this.locale) == null ? void 0 : _this_locale1.weeks) || []).slice(0, this.options.startOfWeek));
11863
+ this.$body.innerHTML = '<table class="' + _CALENDAR_PREFIX_CLS_ + '-content">\n <thead><tr>' + shiftedCustomDays.map(function(day) {
11864
+ return "<th>" + day + "</th>";
11865
+ }).join('') + "</tr></thead>\n <tbody></tbody>\n </table>";
11866
+ this.$panel.appendChild(this.$body);
11867
+ };
11868
+ /**
11869
+ * 渲染日期
11870
+ */ _proto._renderDate = function _renderDate() {
11871
+ var _this = this;
11872
+ var _this_header, _this_$body_querySelector;
11873
+ if (!this.$body) {
11874
+ return;
11875
+ }
11876
+ var todayStr = utilsTools.DateTime.format(new Date(), _ECALENDAR_FORMAT_);
11877
+ var year = this._renderCurrent.getFullYear();
11878
+ var month = this._renderCurrent.getMonth() + 1;
11879
+ // prettier-ignore
11880
+ var dayGroupArray = Util.chunkBySize(Util.generateWeeksByYearMonth(year, month, this.options.startOfWeek), 7);
11881
+ var allowMonthClick = typeof this.options.onMonth === 'function';
11882
+ var allowYearClick = typeof this.options.onYear === 'function';
11883
+ if ((_this_header = this.header) == null ? void 0 : _this_header.$header) {
11884
+ var _this_locale_months, _this_locale, _this_locale1, _this_locale2, _this_locale3, _this_locale_months1, _this_locale4, _this_locale5;
11885
+ this.header.renderContent("\n " + (this.options.language !== 'zh' ? '<span class="' + _CALENDAR_PREFIX_CLS_ + "-header-month-btn " + (allowMonthClick ? _PREFIX_CLS_HEADER_HOVER_$1 : '') + '">' + ((_this_locale = this.locale) == null ? void 0 : (_this_locale_months = _this_locale.months) == null ? void 0 : _this_locale_months[+(month - 1)]) + (((_this_locale1 = this.locale) == null ? void 0 : _this_locale1.month) || '') + '</span> <span class="' + _CALENDAR_PREFIX_CLS_ + "-header-year-btn " + (allowYearClick ? _PREFIX_CLS_HEADER_HOVER_$1 : '') + '">' + year + (((_this_locale2 = this.locale) == null ? void 0 : _this_locale2.year) || '') + "</span>" : '<span class="' + _CALENDAR_PREFIX_CLS_ + "-header-year-btn " + (allowYearClick ? _PREFIX_CLS_HEADER_HOVER_$1 : '') + '">' + year + (((_this_locale3 = this.locale) == null ? void 0 : _this_locale3.year) || '') + '</span> <span class="' + _CALENDAR_PREFIX_CLS_ + "-header-month-btn " + (allowMonthClick ? _PREFIX_CLS_HEADER_HOVER_$1 : '') + '">' + ((_this_locale4 = this.locale) == null ? void 0 : (_this_locale_months1 = _this_locale4.months) == null ? void 0 : _this_locale_months1[+(month - 1)]) + (((_this_locale5 = this.locale) == null ? void 0 : _this_locale5.month) || '') + "</span>"));
11886
+ }
11887
+ // prettier-ignore
11888
+ if ((_this_$body_querySelector = this.$body.querySelector("." + _CALENDAR_PREFIX_CLS_ + "-content")) == null ? void 0 : _this_$body_querySelector.querySelector("tbody")) {
11889
+ var // prettier-ignore
11890
+ _this_$body_querySelector1;
11891
+ ((_this_$body_querySelector1 = this.$body.querySelector("." + _CALENDAR_PREFIX_CLS_ + "-content")) == null ? void 0 : _this_$body_querySelector1.querySelector("tbody")).innerHTML = "\n " + dayGroupArray.slice(0, 7).map(function(dates) {
11892
+ return "<tr>\n " + dates.map(function(dateStr) {
11893
+ var _this_options;
11894
+ var _dateStr_split = dateStr.split('-'), y = _dateStr_split[0], m = _dateStr_split[1], d = _dateStr_split[2];
11895
+ var date = new Date(+y, +m, +d);
11896
+ var classNames = [
11897
+ month === +m ? "" + _CALENDAR_PREFIX_CLS_ + "-cell-in-view" : '',
11898
+ todayStr === dateStr ? "" + _CALENDAR_PREFIX_CLS_ + "-cell-today" : '',
11899
+ _this._current && utilsTools.DateTime.format(_this._current, _ECALENDAR_FORMAT_) === dateStr ? _DATE_CELL_SELECTED_ : "",
11900
+ typeof ((_this_options = _this.options) == null ? void 0 : _this_options.disabledDate) === 'function' && _this.options.disabledDate(utilsTools.DateTime.toDate(dateStr), dateStr) ? _DATE_DISABLED_ : ""
11901
+ ].filter(Boolean);
11902
+ var badgeHtml = _this._renderBadge(date, dateStr);
11903
+ return '<td title="' + dateStr + '" class="' + _CALENDAR_PREFIX_CLS_ + "-cell " + classNames.join(" ") + '">\n ' + (typeof _this.options.renderDate === 'function' ? _this.options.renderDate(date, dateStr) : '<span class="' + _CALENDAR_PREFIX_CLS_ + '-cell-inner">' + Util.fillZero(+d) + "</span>") + "\n " + badgeHtml + "\n </td>";
11904
+ }).join('') + "\n </tr>";
11905
+ }).join('');
11906
+ }
11907
+ };
11908
+ /**
11909
+ * 渲染徽章
11910
+ * @param date
11911
+ * @param dateStr
11912
+ * @returns
11913
+ */ _proto._renderBadge = function _renderBadge(date, dateStr) {
11914
+ var badgeHtml = '';
11915
+ if (typeof this.options.renderBadge === 'function') {
11916
+ badgeHtml = this.options.renderBadge(date, dateStr);
11917
+ } else if (typeof this.options.renderBadge === 'string') {
11918
+ badgeHtml = this.options.renderBadge;
11919
+ } else {
11920
+ badgeHtml = '';
11921
+ }
11922
+ var showBadge = typeof this.options.showBadge === 'function' ? this.options.showBadge(date, dateStr) : false;
11923
+ // 数组 和 showBadge 共同判断
11924
+ if (!(this.badges.includes(dateStr) || showBadge)) {
11925
+ badgeHtml = '';
11926
+ }
11927
+ return badgeHtml;
11928
+ };
11929
+ _create_class$3(Calendar, [
11930
+ {
11931
+ key: "current",
11932
+ get: /**
11933
+ * 当前选择的日期
11934
+ */ function get() {
11935
+ return this._current;
11936
+ }
11937
+ }
11938
+ ]);
11939
+ return Calendar;
11940
+ }(Container);
11941
+ Calendar.DateTime = utilsTools.DateTime;
11942
+
11943
+ function _defineProperties$2(target, props) {
11944
+ for(var i = 0; i < props.length; i++){
11945
+ var descriptor = props[i];
11946
+ descriptor.enumerable = descriptor.enumerable || false;
11947
+ descriptor.configurable = true;
11948
+ if ("value" in descriptor) descriptor.writable = true;
11949
+ Object.defineProperty(target, descriptor.key, descriptor);
11950
+ }
11951
+ }
11952
+ function _create_class$2(Constructor, protoProps, staticProps) {
11953
+ if (protoProps) _defineProperties$2(Constructor.prototype, protoProps);
11954
+ return Constructor;
11955
+ }
11956
+ function _inherits$2(subClass, superClass) {
11957
+ if (typeof superClass !== "function" && superClass !== null) {
11958
+ throw new TypeError("Super expression must either be null or a function");
11959
+ }
11960
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
11961
+ constructor: {
11962
+ value: subClass,
11963
+ writable: true,
11964
+ configurable: true
11965
+ }
11966
+ });
11967
+ if (superClass) _set_prototype_of$2(subClass, superClass);
11968
+ }
11969
+ function _instanceof$1(left, right) {
11970
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
11971
+ return !!right[Symbol.hasInstance](left);
11972
+ } else {
11973
+ return left instanceof right;
11974
+ }
11975
+ }
11976
+ function _set_prototype_of$2(o, p) {
11977
+ _set_prototype_of$2 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
11978
+ o.__proto__ = p;
11979
+ return o;
11980
+ };
11981
+ return _set_prototype_of$2(o, p);
11982
+ }
11983
+ var _MONTH_PREFIX_CLS_ = 'emonth';
11984
+ var _PREFIX_CLS_SELECTED_ = "" + _MONTH_PREFIX_CLS_ + "-cell-selected";
11985
+ var _PREFIX_CLS_HEADER_HOVER_ = "" + _CONTAINER_PREFIX_CLASSNAME_ + "-header-title-hover";
11986
+ var _PREFIX_CLS_DISABLED_ = "" + _CONTAINER_PREFIX_CLASSNAME_ + "-disabled";
11987
+ // eslint-disable-next-line @typescript-eslint/naming-convention
11988
+ var _Month_DEFAULT_OPTIONS_ = {
11989
+ showHeader: true,
11990
+ showSuperPrevIcon: true,
11991
+ showSuperNextIcon: true,
11992
+ language: 'zh'
11993
+ };
11994
+ /**
11995
+ * 月历 (12 月)
11996
+ * @param popupContainer
11997
+ * @param options
11998
+ * @returns
11999
+ * @example
12000
+ * ```ts
12001
+ * const month = new Month(document.body, {
12002
+ * onChange: (date: Date) => {}
12003
+ * })
12004
+ * month.setCurrent("2025-01")
12005
+ * ```
12006
+ */ var Month = /*#__PURE__*/ function(Container) {
12007
+ _inherits$2(Month, Container);
12008
+ function Month(popupContainer, options) {
12009
+ var _this;
12010
+ _this = Container.call(this, popupContainer, deepmerge.all([
12011
+ {},
12012
+ _Month_DEFAULT_OPTIONS_,
12013
+ options || {},
12014
+ {
12015
+ showPrevIcon: false,
12016
+ showNextIcon: false,
12017
+ prefixCls: _MONTH_PREFIX_CLS_
12018
+ }
12019
+ ], {
12020
+ clone: false
12021
+ })) || this;
12022
+ _this._render();
12023
+ _this.setCurrent(_this.options.current, false);
12024
+ _this._onHeaderTitle();
12025
+ _this._onCell();
12026
+ return _this;
12027
+ }
12028
+ var _proto = Month.prototype;
12029
+ /**
12030
+ * 设置选中月份
12031
+ * @param date 日期
12032
+ * @param {boolean} change 是否触发 onChange 事件
12033
+ * @example
12034
+ * ```ts
12035
+ * month.setCurrent("2025-01")
12036
+ * ```
12037
+ */ _proto.setCurrent = function setCurrent(date, change) {
12038
+ if (change === void 0) change = true;
12039
+ this._setCurrent(date, change);
12040
+ };
12041
+ /**
12042
+ * 设置选中月份
12043
+ * @param date 日期
12044
+ * @param {boolean} change 是否触发 onChange 事件
12045
+ */ _proto._setCurrent = function _setCurrent(date, change) {
12046
+ if (typeof date === 'string' || _instanceof$1(date, Date)) {
12047
+ try {
12048
+ var d = date;
12049
+ if (typeof d === 'string') {
12050
+ d = utilsTools.DateTime.toDate(d);
12051
+ }
12052
+ var current = d;
12053
+ if (!this._current && current || utilsTools.DateTime.format(current, 'YYYY-MM') !== utilsTools.DateTime.format(this._current, 'YYYY-MM')) {
12054
+ this._current = current;
12055
+ if (typeof this.options.onChange === 'function' && change) {
12056
+ this.options.onChange == null ? void 0 : this.options.onChange.call(this.options, current, utilsTools.DateTime.format(current, 'YYYY-MM'));
12057
+ }
12058
+ }
12059
+ this._setRenderCurrent(current);
12060
+ } catch (error) {
12061
+ this._setRenderCurrent(new Date());
12062
+ console.warn('Invalid date!', error);
12063
+ }
12064
+ } else {
12065
+ this._setRenderCurrent(new Date());
12066
+ }
12067
+ };
12068
+ _proto._setRenderCurrent = function _setRenderCurrent(date) {
12069
+ // 判断的年份是否变换
12070
+ // prettier-ignore
12071
+ if (!this._renderCurrent || this._renderCurrent && utilsTools.DateTime.format(date, "YYYY") !== utilsTools.DateTime.format(this._renderCurrent, "YYYY")) {
12072
+ this._renderCurrent = date;
12073
+ this._renderMonths(date.getFullYear());
12074
+ }
12075
+ if (this._current) {
12076
+ var // prettier-ignore
12077
+ _this_$body_querySelector, // prettier-ignore
12078
+ _this_$body_querySelector1;
12079
+ (_this_$body_querySelector = this.$body.querySelector("." + _PREFIX_CLS_SELECTED_)) == null ? void 0 : _this_$body_querySelector.classList.remove(_PREFIX_CLS_SELECTED_);
12080
+ var selectedTitle = utilsTools.DateTime.format(this._current, 'YYYY-MM');
12081
+ (_this_$body_querySelector1 = this.$body.querySelector("." + _MONTH_PREFIX_CLS_ + "-cell-in-view[title='" + selectedTitle + "']")) == null ? void 0 : _this_$body_querySelector1.classList.add(_PREFIX_CLS_SELECTED_);
12082
+ }
12083
+ this._setHeader();
12084
+ };
12085
+ /**
12086
+ * 点击确定
12087
+ * @override 重写 Container 的 _onOk
12088
+ */ _proto._onOk = function _onOk() {
12089
+ this.options.onOk == null ? void 0 : this.options.onOk.call(this.options, this.current);
12090
+ };
12091
+ /**
12092
+ * 点击关闭
12093
+ * @override 重写 Container 的 _onClose
12094
+ */ _proto._onClose = function _onClose() {
12095
+ this.options.onClose == null ? void 0 : this.options.onClose.call(this.options, this.current);
12096
+ };
12097
+ /**
12098
+ * 点击月份
12099
+ */ _proto._onCell = function _onCell() {
12100
+ var _this = this;
12101
+ // 点击月份
12102
+ // prettier-ignore
12103
+ delegate(this.$body, "." + _MONTH_PREFIX_CLS_ + "-cell", "click", function(e) {
12104
+ e.stopPropagation();
12105
+ e.preventDefault();
12106
+ var month = e.delegateTarget.getAttribute('title');
12107
+ var date = utilsTools.DateTime.toDate(month + utilsTools.DateTime.format(_this._renderCurrent, "-DDTHH:mm:ss")) // new Date(month.replace(/-/g, "/") + `/${this.current?.getDate() || "01"}`);
12108
+ ;
12109
+ _this.options.onCell == null ? void 0 : _this.options.onCell.call(_this.options, date, utilsTools.DateTime.format(date, "YYYY-MM"));
12110
+ if (e.delegateTarget.classList.contains(_PREFIX_CLS_DISABLED_)) return;
12111
+ _this.setCurrent(date);
12112
+ });
12113
+ };
12114
+ /**
12115
+ * 上一年
12116
+ * @override 重写 Container 的 _onSuperPrev
12117
+ */ _proto._onSuperPrev = function _onSuperPrev() {
12118
+ var year = this._renderCurrent.getFullYear() - 1;
12119
+ var date = utilsTools.DateTime.toDate(year + utilsTools.DateTime.format(this._renderCurrent, '-MM-DDTHH:mm:ss'));
12120
+ this._setRenderCurrent(date);
12121
+ this.options.onSuperPrev == null ? void 0 : this.options.onSuperPrev.call(this.options, this._current, this._renderCurrent);
12122
+ };
12123
+ /**
12124
+ * 下一年
12125
+ * @override 重写 Container 的 _onSuperNext
12126
+ */ _proto._onSuperNext = function _onSuperNext() {
12127
+ var year = this._renderCurrent.getFullYear() + 1;
12128
+ var date = utilsTools.DateTime.toDate(year + utilsTools.DateTime.format(this._renderCurrent, '-MM-DDTHH:mm:ss'));
12129
+ this._setRenderCurrent(date);
12130
+ this.options.onSuperNext == null ? void 0 : this.options.onSuperNext.call(this.options, this._current, this._renderCurrent);
12131
+ };
12132
+ /**
12133
+ * 点击头部标题
12134
+ */ _proto._onHeaderTitle = function _onHeaderTitle() {
12135
+ var _this = this;
12136
+ // prettier-ignore
12137
+ delegate(this.$panel, "." + _PREFIX_CLS_HEADER_HOVER_, "click", function() {
12138
+ _this.options.onYear == null ? void 0 : _this.options.onYear.call(_this.options, _this._current, _this._renderCurrent);
12139
+ });
12140
+ };
12141
+ _proto._setHeader = function _setHeader() {
12142
+ if (this.$panel.querySelector("." + _MONTH_PREFIX_CLS_ + "-header-view")) {
12143
+ var allowClick = typeof this.options.onYear === 'function';
12144
+ // prettier-ignore
12145
+ this.$panel.querySelector("." + _MONTH_PREFIX_CLS_ + "-header-view").innerHTML = '<span class="' + (allowClick ? _PREFIX_CLS_HEADER_HOVER_ : "") + '">' + this._renderCurrent.getFullYear() + this.locale.year + "</span>";
12146
+ }
12147
+ };
12148
+ _proto._setDisabled = function _setDisabled() {
12149
+ var year = this._renderCurrent.getFullYear();
12150
+ for(var i = 0; i < 12; i++){
12151
+ // prettier-ignore
12152
+ var $cell = this.$body.querySelector("." + _MONTH_PREFIX_CLS_ + "-cell[title='" + year + "-" + Util.fillZero(i + 1) + "']");
12153
+ if ($cell) {
12154
+ var date = utilsTools.DateTime.toDate(year + "-" + Util.fillZero(i + 1) + "-" + utilsTools.DateTime.format(this._renderCurrent, 'DDTHH:mm:ss'));
12155
+ // prettier-ignore
12156
+ var disable = typeof this.options.disabledMonth === "function" ? this.options.disabledMonth(date, utilsTools.DateTime.format(date, "YYYY-MM")) : false;
12157
+ if (disable) {
12158
+ $cell.classList.add(_PREFIX_CLS_DISABLED_);
12159
+ } else {
12160
+ $cell.classList.remove(_PREFIX_CLS_DISABLED_);
12161
+ }
12162
+ }
12163
+ }
12164
+ };
12165
+ _proto._render = function _render() {
12166
+ this.$body.innerHTML = '<table class="' + _MONTH_PREFIX_CLS_ + '-content"></table>';
12167
+ this.$panel.appendChild(this.$body);
12168
+ };
12169
+ _proto._renderMonths = function _renderMonths(year) {
12170
+ var _this = this;
12171
+ if (this.$body.querySelector("." + _MONTH_PREFIX_CLS_ + "-content")) {
12172
+ // prettier-ignore
12173
+ this.$body.querySelector("." + _MONTH_PREFIX_CLS_ + "-content").innerHTML = "\n <tbody>\n " + Util.chunkBySize(this.locale.months, 3).slice(0, 4).map(function(month, index) {
12174
+ return "<tr>\n " + month.map(function(m, i) {
12175
+ var classNames = _MONTH_PREFIX_CLS_ + "-cell " + _MONTH_PREFIX_CLS_ + "-cell-in-view";
12176
+ return '<td title="' + year + "-" + Util.fillZero(index * 3 + i + 1) + '" class="' + classNames + '">\n <span class="' + _MONTH_PREFIX_CLS_ + '-cell-inner">' + (_this.options.monthRender && typeof _this.options.monthRender === "function" ? _this.options.monthRender(utilsTools.DateTime.toDate(year + "-" + Util.fillZero(index * 3 + i + 1)), year + "-" + Util.fillZero(index * 3 + i + 1)) || '' : m) + "</span>\n </td>";
12177
+ }).join("") + "\n </tr>";
12178
+ }).join("") + "\n </tbody>";
12179
+ }
12180
+ this._setDisabled();
12181
+ };
12182
+ _create_class$2(Month, [
12183
+ {
12184
+ key: "current",
12185
+ get: /**
12186
+ * 当前选中的月份日期
12187
+ * @example
12188
+ * ```ts
12189
+ * month.current
12190
+ * ```
12191
+ * @returns {Date}
12192
+ */ function get() {
12193
+ return this._current;
12194
+ }
12195
+ }
12196
+ ]);
12197
+ return Month;
12198
+ }(Container);
12199
+
12200
+ function _defineProperties$1(target, props) {
12201
+ for(var i = 0; i < props.length; i++){
12202
+ var descriptor = props[i];
12203
+ descriptor.enumerable = descriptor.enumerable || false;
12204
+ descriptor.configurable = true;
10431
12205
  if ("value" in descriptor) descriptor.writable = true;
10432
12206
  Object.defineProperty(target, descriptor.key, descriptor);
10433
12207
  }
10434
12208
  }
10435
- function _create_class(Constructor, protoProps, staticProps) {
10436
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
12209
+ function _create_class$1(Constructor, protoProps, staticProps) {
12210
+ if (protoProps) _defineProperties$1(Constructor.prototype, protoProps);
10437
12211
  return Constructor;
10438
12212
  }
10439
- var DEFAULT_OPTIONS = {
10440
- staticPath: '.',
10441
- place: 'top-right',
10442
- language: 'zh-CN',
10443
- current: new Date(),
10444
- maxDate: new Date()
12213
+ function _inherits$1(subClass, superClass) {
12214
+ if (typeof superClass !== "function" && superClass !== null) {
12215
+ throw new TypeError("Super expression must either be null or a function");
12216
+ }
12217
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
12218
+ constructor: {
12219
+ value: subClass,
12220
+ writable: true,
12221
+ configurable: true
12222
+ }
12223
+ });
12224
+ if (superClass) _set_prototype_of$1(subClass, superClass);
12225
+ }
12226
+ function _instanceof(left, right) {
12227
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
12228
+ return !!right[Symbol.hasInstance](left);
12229
+ } else {
12230
+ return left instanceof right;
12231
+ }
12232
+ }
12233
+ function _set_prototype_of$1(o, p) {
12234
+ _set_prototype_of$1 = Object.setPrototypeOf || function setPrototypeOf(o, p) {
12235
+ o.__proto__ = p;
12236
+ return o;
12237
+ };
12238
+ return _set_prototype_of$1(o, p);
12239
+ }
12240
+ var _YEAR_PREFIX_CLS_ = 'eyear';
12241
+ var _PREFIX_CLS_DATE_SELECTED_ = "" + _YEAR_PREFIX_CLS_ + "-cell-selected";
12242
+ var _DISABLED_CLASS_ = "" + _CONTAINER_PREFIX_CLASSNAME_ + "-disabled";
12243
+ var _YEAR_DEFAULT_OPTIONS_ = {
12244
+ showHeader: true,
12245
+ showSuperPrevIcon: true,
12246
+ showSuperNextIcon: true,
12247
+ language: 'zh',
12248
+ prefixCls: _YEAR_PREFIX_CLS_
10445
12249
  };
10446
12250
  /**
10447
- * 日期选择器
10448
- */ var DatePicker = /*#__PURE__*/ function() {
10449
- function DatePicker(container, options) {
10450
- var _this = this;
10451
- this._open = false;
10452
- this._change = true;
10453
- this.$container = container;
10454
- this.options = Object.assign({}, DEFAULT_OPTIONS, options);
10455
- this.options.staticPath = (this.options.staticPath || '').replace(/\/$/, '');
10456
- if (this.options.current) {
10457
- this._date = this.options.current;
10458
- }
10459
- this._init();
10460
- this.$container.addEventListener('click', function() {
10461
- if (_this._open) _this.hide();
10462
- else _this.show();
10463
- });
10464
- document.body.addEventListener('click', function(e) {
10465
- if (!_this.$container.contains(e.target)) {
10466
- _this.hide();
12251
+ * 年历 (12 年)
12252
+ * @example
12253
+ * ```ts
12254
+ * const year = new Year(document.body, {
12255
+ * onChange: (date: Date) => {}
12256
+ * })
12257
+ * year.setCurrent(2023)
12258
+ * ```
12259
+ */ var Year = /*#__PURE__*/ function(Container) {
12260
+ _inherits$1(Year, Container);
12261
+ function Year(popupContainer, options) {
12262
+ var _this;
12263
+ _this = Container.call(this, popupContainer, deepmerge.all([
12264
+ {},
12265
+ _YEAR_DEFAULT_OPTIONS_,
12266
+ options || {},
12267
+ {
12268
+ showPrevIcon: false,
12269
+ showNextIcon: false,
12270
+ renderPrevIcon: '',
12271
+ renderNextIcon: ''
10467
12272
  }
10468
- });
12273
+ ], {
12274
+ clone: false
12275
+ })) || this;
12276
+ _this._render();
12277
+ _this._setCurrent(_this.options.current, false);
12278
+ _this._onCell();
12279
+ return _this;
10469
12280
  }
10470
- var _proto = DatePicker.prototype;
10471
- _proto._init = function _init() {
10472
- var _this = this;
10473
- // 因为挂载在行内,需要父标签设置 position: relative;
10474
- this.$container.style.cssText += ";position: relative;";
10475
- this.$container.classList.add("datepicker-inline-" + this.options.place);
10476
- AppendJS.loadScriptsBatch([
10477
- "" + this.options.staticPath + "/rec/jquery.min.js",
10478
- "" + this.options.staticPath + "/rec/datepicker.min.css"
10479
- ]).then(function() {
10480
- AppendJS.loadScriptsBatch([
10481
- "" + _this.options.staticPath + "/rec/datepicker.js"
10482
- ]).then(function() {
10483
- AppendJS.loadScriptsBatch([
10484
- "" + _this.options.staticPath + "/rec/datepicker.zh-CN.js",
10485
- "" + _this.options.staticPath + "/rec/datepicker.en-US.js"
10486
- ]).then(function() {
10487
- window.$(_this.$container).datepicker({
10488
- date: _this.options.current,
10489
- language: _this.options.language,
10490
- endDate: _this.options.maxDate,
10491
- inline: true
10492
- });
10493
- _this.hide();
10494
- window.$(_this.$container).on('pick.datepicker', function(e) {
10495
- var _this__date, _this__date1, _this__date2, _this__date3, _this__date4, _this__date5;
10496
- if (e.view === 'year' && ((_this__date = _this._date) == null ? void 0 : _this__date.getFullYear()) !== e.date.getFullYear()) {
10497
- _this.options.onYearChange == null ? void 0 : _this.options.onYearChange.call(_this.options, e.date);
10498
- } else if (e.view === 'month' && (((_this__date1 = _this._date) == null ? void 0 : _this__date1.getMonth()) !== e.date.getMonth() || ((_this__date2 = _this._date) == null ? void 0 : _this__date2.getFullYear()) !== e.date.getFullYear())) {
10499
- _this.options.onMonthChange == null ? void 0 : _this.options.onMonthChange.call(_this.options, e.date);
10500
- } else if ([
10501
- 'day',
10502
- 'pick'
10503
- ].includes(e.view || e.type) && (((_this__date3 = _this._date) == null ? void 0 : _this__date3.getDate()) !== e.date.getDate() || ((_this__date4 = _this._date) == null ? void 0 : _this__date4.getMonth()) !== e.date.getMonth() || ((_this__date5 = _this._date) == null ? void 0 : _this__date5.getFullYear()) !== e.date.getFullYear())) {
10504
- if (_this._change) {
10505
- _this.options.onChange == null ? void 0 : _this.options.onChange.call(_this.options, e.date);
10506
- }
10507
- _this._date = new Date(e.date.getTime());
10508
- }
10509
- if (e.view === 'day') _this.hide();
10510
- _this._change = true;
10511
- });
10512
- });
10513
- });
10514
- });
10515
- };
12281
+ var _proto = Year.prototype;
10516
12282
  /**
10517
- * 设置日期, change = true 时触发 onChange 事件
10518
- *
10519
- * @param date 设置的日期
12283
+ * 设置当前年份
12284
+ * @param year
10520
12285
  * @param change 是否触发 onChange 事件
10521
- */ _proto.setDate = function setDate(date, change) {
12286
+ * @returns
12287
+ * @example
12288
+ * ```ts
12289
+ * year.setCurrent(2023)
12290
+ * ```
12291
+ */ _proto.setCurrent = function setCurrent(year, change) {
10522
12292
  if (change === void 0) change = true;
10523
- var $datepicker = this.$container.querySelector(".datepicker-inline");
10524
- if ($datepicker) {
10525
- this._change = change;
10526
- window.$(this.$container).datepicker('setDate', date);
10527
- }
12293
+ console.log('year setCurrent', year);
12294
+ this._setCurrent(year, change);
10528
12295
  };
10529
- /**
10530
- * 隐藏面板, 会触发 onPanelChange 事件
10531
- */ _proto.hide = function hide() {
10532
- var $datepicker = this.$container.querySelector(".datepicker-inline");
10533
- if ($datepicker) {
10534
- if (this._open) {
10535
- this._open = false;
10536
- this.options.onPanelChange == null ? void 0 : this.options.onPanelChange.call(this.options, false, this._date);
12296
+ _proto._setCurrent = function _setCurrent(year, change) {
12297
+ if (change === void 0) change = true;
12298
+ var _this__current;
12299
+ var _year = typeof year === 'number' ? utilsTools.DateTime.toDate(year) : _instanceof(year, Date) ? year : new Date();
12300
+ if (_year.getFullYear() !== ((_this__current = this._current) == null ? void 0 : _this__current.getFullYear())) {
12301
+ this._current = _year;
12302
+ if (typeof this.options.onChange === 'function' && change) {
12303
+ this.options.onChange(_year);
10537
12304
  }
10538
- $datepicker.classList.add('datepicker-hide');
10539
12305
  }
12306
+ this._renderTenYear = (this._current || new Date()).getFullYear();
12307
+ this._renderYearList();
12308
+ };
12309
+ /**
12310
+ * 点击确定
12311
+ * @override 重写 Container 的 _onOk
12312
+ */ _proto._onOk = function _onOk() {
12313
+ this.options.onOk == null ? void 0 : this.options.onOk.call(this.options, this.current);
12314
+ };
12315
+ /**
12316
+ * 点击关闭
12317
+ * @override 重写 Container 的 _onClose
12318
+ */ _proto._onClose = function _onClose() {
12319
+ this.options.onClose == null ? void 0 : this.options.onClose.call(this.options, this.current);
12320
+ };
12321
+ /**
12322
+ * 点击年份
12323
+ */ _proto._onCell = function _onCell() {
12324
+ var _this = this;
12325
+ // 点击年
12326
+ // prettier-ignore
12327
+ delegate(this.$body, "." + _YEAR_PREFIX_CLS_ + "-cell", "click", function(e) {
12328
+ var yearStr = +e.delegateTarget.getAttribute('title');
12329
+ // WARN: this._current 是一个对象, 不能直接改变年,否则 _setCurrent 中判断会有问题
12330
+ var newDate = utilsTools.DateTime.toDate(utilsTools.DateTime.format(_this._current, "yyyy-MM-dd HH:mm:ss"));
12331
+ newDate.setFullYear(yearStr);
12332
+ _this.options.onCell == null ? void 0 : _this.options.onCell.call(_this.options, newDate);
12333
+ if (e.delegateTarget.classList.contains(_DISABLED_CLASS_)) return;
12334
+ _this._setCurrent(newDate);
12335
+ e.stopPropagation();
12336
+ e.preventDefault();
12337
+ });
12338
+ };
12339
+ /**
12340
+ * 上十年
12341
+ * @override 重写 Container 的 _onSuperPrev
12342
+ */ _proto._onSuperPrev = function _onSuperPrev() {
12343
+ this._renderTenYear = this._renderTenYear - 10;
12344
+ this.options.onPrevYear == null ? void 0 : this.options.onPrevYear.call(this.options, this._current, Util.generateYears(this._renderTenYear));
12345
+ this._renderYearList();
10540
12346
  };
10541
12347
  /**
10542
- * 显示面板, 会触发 onPanelChange 事件
10543
- */ _proto.show = function show() {
10544
- var $datepicker = this.$container.querySelector(".datepicker-inline");
10545
- if ($datepicker) {
10546
- var _window_$_datepicker, _window_$;
10547
- if (!this._open) {
10548
- this._open = true;
10549
- this.options.onPanelChange == null ? void 0 : this.options.onPanelChange.call(this.options, true, this._date);
12348
+ * 下十年
12349
+ * @override 重写 Container 的 _onSuperNext
12350
+ */ _proto._onSuperNext = function _onSuperNext() {
12351
+ this._renderTenYear = this._renderTenYear + 10;
12352
+ this.options.onNextYear == null ? void 0 : this.options.onNextYear.call(this.options, this._current, Util.generateYears(this._renderTenYear));
12353
+ this._renderYearList();
12354
+ };
12355
+ _proto._render = function _render() {
12356
+ this.$body.innerHTML = '<table class="' + _YEAR_PREFIX_CLS_ + '-content"></table>';
12357
+ this.$panel.appendChild(this.$body);
12358
+ };
12359
+ _proto._renderYearList = function _renderYearList() {
12360
+ var _this = this;
12361
+ var _this_header;
12362
+ var list = Util.generateYears(this._renderTenYear);
12363
+ (_this_header = this.header) == null ? void 0 : _this_header.renderContent(list[1] + " - " + list[list.length - 2]);
12364
+ if (this.$body.querySelector("." + _YEAR_PREFIX_CLS_ + "-content")) {
12365
+ // prettier-ignore
12366
+ this.$body.querySelector("." + _YEAR_PREFIX_CLS_ + "-content").innerHTML = "\n <tbody>\n " + Util.chunkBySize(list, 3).slice(0, 4).map(function(years, i) {
12367
+ return "<tr>\n " + years.map(function(y, j) {
12368
+ // prettier-ignore
12369
+ var classNames = i === 0 && j === 0 || i === 3 && j === 2 ? "" + _YEAR_PREFIX_CLS_ + "-cell" : _YEAR_PREFIX_CLS_ + "-cell " + _YEAR_PREFIX_CLS_ + "-cell-in-view";
12370
+ // prettier-ignore
12371
+ if (+y === +_this._current.getFullYear()) classNames = classNames + " " + _PREFIX_CLS_DATE_SELECTED_;
12372
+ // prettier-ignore
12373
+ var disable = typeof _this.options.disabledYear === "function" ? _this.options.disabledYear(utilsTools.DateTime.toDate(y), y) : false;
12374
+ if (disable) classNames = classNames + " " + _DISABLED_CLASS_;
12375
+ return '<td title="' + y + '" class="' + classNames + '">\n ' + (_this.options.yearRender && typeof _this.options.yearRender === "function" ? _this.options.yearRender(utilsTools.DateTime.toDate(y), y) : '<span class="' + _YEAR_PREFIX_CLS_ + '-cell-inner">' + +y + "</span>") + "\n </td>";
12376
+ }).join("") + "\n </tr>";
12377
+ }).join("") + "\n </tbody>\n ";
12378
+ }
12379
+ };
12380
+ _create_class$1(Year, [
12381
+ {
12382
+ key: "current",
12383
+ get: /**
12384
+ * 当前年份
12385
+ * @example
12386
+ * ```ts
12387
+ * year.current
12388
+ * ```
12389
+ */ function get() {
12390
+ return this._current;
10550
12391
  }
10551
- if (this._date) this.setDate(this._date, false);
10552
- (_window_$_datepicker = (_window_$ = window.$(this.$container)).datepicker) == null ? void 0 : _window_$_datepicker.call(_window_$, 'showView');
10553
- if (this.options.place === 'bottom-left') {
10554
- $datepicker.style.cssText += "top: " + (this.$container.clientHeight + 10) + "px; bottom: auto; right: auto; left: 0px";
10555
- } else {
10556
- $datepicker.style.cssText += "bottom: " + (this.$container.clientHeight + 10) + "px; top: auto";
12392
+ }
12393
+ ]);
12394
+ return Year;
12395
+ }(Container);
12396
+
12397
+ function _defineProperties(target, props) {
12398
+ for(var i = 0; i < props.length; i++){
12399
+ var descriptor = props[i];
12400
+ descriptor.enumerable = descriptor.enumerable || false;
12401
+ descriptor.configurable = true;
12402
+ if ("value" in descriptor) descriptor.writable = true;
12403
+ Object.defineProperty(target, descriptor.key, descriptor);
12404
+ }
12405
+ }
12406
+ function _create_class(Constructor, protoProps, staticProps) {
12407
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
12408
+ return Constructor;
12409
+ }
12410
+ function _extends() {
12411
+ _extends = Object.assign || function(target) {
12412
+ for(var i = 1; i < arguments.length; i++){
12413
+ var source = arguments[i];
12414
+ for(var key in source){
12415
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
12416
+ target[key] = source[key];
12417
+ }
12418
+ }
12419
+ }
12420
+ return target;
12421
+ };
12422
+ return _extends.apply(this, arguments);
12423
+ }
12424
+ function _inherits(subClass, superClass) {
12425
+ if (typeof superClass !== "function" && superClass !== null) {
12426
+ throw new TypeError("Super expression must either be null or a function");
12427
+ }
12428
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
12429
+ constructor: {
12430
+ value: subClass,
12431
+ writable: true,
12432
+ configurable: true
12433
+ }
12434
+ });
12435
+ if (superClass) _set_prototype_of(subClass, superClass);
12436
+ }
12437
+ function _set_prototype_of(o, p) {
12438
+ _set_prototype_of = Object.setPrototypeOf || function setPrototypeOf(o, p) {
12439
+ o.__proto__ = p;
12440
+ return o;
12441
+ };
12442
+ return _set_prototype_of(o, p);
12443
+ }
12444
+ var _DATEPICKER_MODE_ARRAY = [
12445
+ 'date',
12446
+ 'month',
12447
+ 'year'
12448
+ ];
12449
+ var _DATEPICKER_DEFAULT_OPTIONS_ = {
12450
+ getPopupContainer: function() {
12451
+ return document.body;
12452
+ },
12453
+ language: 'zh',
12454
+ isMobile: false,
12455
+ mode: _DATEPICKER_MODE_ARRAY[0]
12456
+ };
12457
+ /**
12458
+ * date picker
12459
+ * @example
12460
+ * ```ts
12461
+ * const datePicker = new DatePicker(document.getElementById('picker'), {
12462
+ * onChange: (date) => {}
12463
+ * })
12464
+ * datePicker.setCurrent(new Date())
12465
+ * ```
12466
+ */ var DatePicker = /*#__PURE__*/ function(Picker) {
12467
+ _inherits(DatePicker, Picker);
12468
+ function DatePicker(container, options) {
12469
+ var _this;
12470
+ _this = Picker.call(this, container, deepmerge.all([
12471
+ {},
12472
+ _DATEPICKER_DEFAULT_OPTIONS_,
12473
+ options || {},
12474
+ {
12475
+ wrapClassName: (_CONTAINER_PREFIX_CLASSNAME_ + "-picker-container " + ((options == null ? void 0 : options.wrapClassName) || '')).trim()
10557
12476
  }
10558
- $datepicker.classList.remove('datepicker-hide');
12477
+ ], {
12478
+ clone: false
12479
+ })) || this, _this.current = null, _this._current = null, _this._calendar = null, _this._month = null, _this._year = null, _this._currentMode = 'date';
12480
+ _this.options = deepmerge.all([
12481
+ {},
12482
+ _DATEPICKER_DEFAULT_OPTIONS_,
12483
+ options || {}
12484
+ ], {
12485
+ clone: false
12486
+ });
12487
+ if (_this.options.current) {
12488
+ _this.current = _this.options.current;
12489
+ _this._current = _this.options.current;
12490
+ }
12491
+ _this._currentMode = _this.options.mode;
12492
+ _this._switchMode();
12493
+ return _this;
12494
+ }
12495
+ var _proto = DatePicker.prototype;
12496
+ /**
12497
+ * 设置选中日期
12498
+ * @param date 日期
12499
+ * @param {boolean} change 是否触发 onChange 事件
12500
+ * @example
12501
+ * ```ts
12502
+ * datePicker.setCurrent(2025)
12503
+ * datePicker.setCurrent(new Date())
12504
+ * datePicker.setCurrent(new Date(), false)
12505
+ * ```
12506
+ */ _proto.setCurrent = function setCurrent(date, change) {
12507
+ if (change === void 0) change = true;
12508
+ this._setCurrent(date, change);
12509
+ };
12510
+ /**
12511
+ * 更新徽章点
12512
+ * @param {Array<string | Date>} badges 徽章点列表
12513
+ * @example
12514
+ * ```ts
12515
+ * datePicker.updateBadges([new Date(), "2025-01-01"])
12516
+ * ```
12517
+ */ _proto.updateBadges = function updateBadges(badges) {
12518
+ if (badges == null ? void 0 : badges.length) {
12519
+ var _this__calendar;
12520
+ (_this__calendar = this._calendar) == null ? void 0 : _this__calendar.updateBadges(badges);
10559
12521
  }
10560
12522
  };
10561
12523
  /**
10562
12524
  * 销毁
12525
+ * @example
12526
+ * ```ts
12527
+ * datePicker.destroy()
12528
+ * ```
10563
12529
  */ _proto.destroy = function destroy() {
10564
- this.hide();
10565
- this._date = undefined;
10566
- window.$(this.$container).datepicker('destroy');
10567
- // AppendJS.remove([
10568
- // `${this.options.staticPath}/rec/jquery.min.js`,
10569
- // `${this.options.staticPath}/rec/datepicker.min.css`,
10570
- // `${this.options.staticPath}/rec/datepicker.js`,
10571
- // `${this.options.staticPath}/rec/datepicker.zh-CN.js`,
10572
- // `${this.options.staticPath}/rec/datepicker.en-US.js`,
10573
- // ]);
12530
+ var _this__calendar, _this__month, _this__year;
12531
+ (_this__calendar = this._calendar) == null ? void 0 : _this__calendar.destroy();
12532
+ this._calendar = null;
12533
+ (_this__month = this._month) == null ? void 0 : _this__month.destroy();
12534
+ this._month = null;
12535
+ (_this__year = this._year) == null ? void 0 : _this__year.destroy();
12536
+ this._year = null;
12537
+ Picker.prototype.destroy.call(this);
12538
+ };
12539
+ /**
12540
+ * 设置选中日期
12541
+ * @param date 日期
12542
+ * @param {boolean} change 是否触发 onChange 事件
12543
+ */ _proto._setCurrent = function _setCurrent(date, change) {
12544
+ if (change === void 0) change = true;
12545
+ var _this__calendar, _this__month, _this__year;
12546
+ this._current = date;
12547
+ (_this__calendar = this._calendar) == null ? void 0 : _this__calendar.setCurrent(date, change);
12548
+ (_this__month = this._month) == null ? void 0 : _this__month.setCurrent(date, change);
12549
+ (_this__year = this._year) == null ? void 0 : _this__year.setCurrent(date, change);
12550
+ };
12551
+ _proto._switchMode = function _switchMode() {
12552
+ this.$body.classList.add(_CONTAINER_PREFIX_CLASSNAME_ + "-picker-" + this._currentMode);
12553
+ if (this._currentMode === 'date') {
12554
+ this._initCalendar();
12555
+ } else if (this._currentMode === 'month') {
12556
+ this._initMonth();
12557
+ } else if (this._currentMode === 'year') {
12558
+ this._initYear();
12559
+ }
12560
+ // 内容尺寸会变化
12561
+ this.setPlacement(this.options.placement || 'top');
12562
+ };
12563
+ _proto._hide = function _hide() {
12564
+ this.open = false;
12565
+ };
12566
+ /**
12567
+ * @overload 重置
12568
+ * @param open
12569
+ */ _proto._onOpenChange = function _onOpenChange(open) {
12570
+ Picker.prototype._onOpenChange.call(this, open);
12571
+ if (open) {
12572
+ this._removeCurrentTypeClass();
12573
+ this._currentMode = this.options.mode || 'date';
12574
+ this._switchMode();
12575
+ }
12576
+ if (!open) {
12577
+ this.options.onClose == null ? void 0 : this.options.onClose.call(this.options, this.current, this._currentMode);
12578
+ this._setCurrent(this.current, false);
12579
+ }
12580
+ };
12581
+ _proto._initCalendar = function _initCalendar() {
12582
+ var _this = this;
12583
+ if (!this._calendar) {
12584
+ this._calendar = new Calendar(this.$body, _extends({}, this.options, {
12585
+ current: this._current || new Date(),
12586
+ onCell: this._onCell.bind(this),
12587
+ showHeaderOk: this.options.isMobile,
12588
+ showHeaderClose: this.options.isMobile,
12589
+ onOk: this._onOk.bind(this),
12590
+ onClose: this._onClose.bind(this),
12591
+ onMonth: this._onMonth.bind(this),
12592
+ onYear: this._onYear.bind(this),
12593
+ onChange: function(date) {
12594
+ var _this__calendar;
12595
+ if (!_this._current || utilsTools.DateTime.format(_this._current, 'YYYY-MM-DD') !== utilsTools.DateTime.format(date, 'YYYY-MM-DD')) _this._onChange(date, (_this__calendar = _this._calendar) == null ? void 0 : _this__calendar.options.showHeaderOk);
12596
+ }
12597
+ }));
12598
+ }
12599
+ };
12600
+ _proto._initMonth = function _initMonth() {
12601
+ var _this = this;
12602
+ if (!this._month) {
12603
+ this._month = new Month(this.$body, _extends({}, this.options, {
12604
+ current: this._current || new Date(),
12605
+ onCell: this._onCell.bind(this),
12606
+ onOk: this._onOk.bind(this),
12607
+ onClose: this._onClose.bind(this),
12608
+ showHeaderOk: this.options.isMobile,
12609
+ showHeaderClose: this.options.isMobile,
12610
+ onChange: function(date) {
12611
+ var _this__month;
12612
+ if (!_this._current || utilsTools.DateTime.format(_this._current, 'YYYY-MM') !== utilsTools.DateTime.format(date, 'YYYY-MM')) _this._onChange(date, (_this__month = _this._month) == null ? void 0 : _this__month.options.showHeaderOk);
12613
+ if (_this._minModeIndex < 1) {
12614
+ // 返回日期
12615
+ _this._removeCurrentTypeClass();
12616
+ _this._currentMode = 'date';
12617
+ _this._switchMode();
12618
+ }
12619
+ },
12620
+ onYear: this._onYear.bind(this)
12621
+ }));
12622
+ }
12623
+ };
12624
+ _proto._initYear = function _initYear() {
12625
+ var _this = this;
12626
+ if (!this._year) {
12627
+ this._year = new Year(this.$body, _extends({}, this.options, {
12628
+ current: this._current || new Date(),
12629
+ onCell: this._onCell.bind(this),
12630
+ onOk: this._onOk.bind(this),
12631
+ onClose: this._onClose.bind(this),
12632
+ showHeaderOk: this.options.isMobile,
12633
+ showHeaderClose: this.options.isMobile,
12634
+ onChange: function(date) {
12635
+ var _this__year;
12636
+ if (!_this._current || utilsTools.DateTime.format(_this._current, 'YYYY') !== utilsTools.DateTime.format(date, 'YYYY')) _this._onChange(date, (_this__year = _this._year) == null ? void 0 : _this__year.options.showHeaderOk);
12637
+ if (_this._minModeIndex < 2) {
12638
+ // 返回月
12639
+ _this._removeCurrentTypeClass();
12640
+ _this._currentMode = 'month';
12641
+ _this._switchMode();
12642
+ }
12643
+ }
12644
+ }));
12645
+ }
12646
+ };
12647
+ _proto._onOk = function _onOk(date) {
12648
+ this.current = date || this._current;
12649
+ this._setCurrent(date || this._current);
12650
+ this.options.onOk == null ? void 0 : this.options.onOk.call(this.options, this.current, this._currentMode);
12651
+ this._hide();
12652
+ };
12653
+ _proto._onClose = function _onClose() {
12654
+ this._hide();
12655
+ };
12656
+ _proto._onChange = function _onChange(date, showHeaderOk) {
12657
+ var index = _DATEPICKER_MODE_ARRAY.indexOf(this._currentMode);
12658
+ if (!showHeaderOk && this._minModeIndex === index) {
12659
+ this._hide();
12660
+ }
12661
+ this.options.onChange == null ? void 0 : this.options.onChange.call(this.options, date, this._currentMode);
12662
+ this._setCurrent(date);
12663
+ };
12664
+ _proto._onCell = function _onCell(date) {
12665
+ this.options.onCell == null ? void 0 : this.options.onCell.call(this.options, date, this._currentMode);
12666
+ };
12667
+ _proto._onYear = function _onYear() {
12668
+ this._removeCurrentTypeClass();
12669
+ this._currentMode = 'year';
12670
+ this._switchMode();
12671
+ };
12672
+ _proto._onMonth = function _onMonth() {
12673
+ this._removeCurrentTypeClass();
12674
+ this._currentMode = 'month';
12675
+ this._switchMode();
12676
+ };
12677
+ _proto._removeCurrentTypeClass = function _removeCurrentTypeClass() {
12678
+ this.$body.classList.remove(_CONTAINER_PREFIX_CLASSNAME_ + "-picker-" + this._currentMode);
10574
12679
  };
10575
12680
  _create_class(DatePicker, [
10576
12681
  {
10577
- key: "date",
12682
+ key: "_minModeIndex",
10578
12683
  get: /**
10579
- * 获取日期
12684
+ * 当前最小模式索引, 当模式下标是最小的, 不可以再小
10580
12685
  */ function get() {
10581
- return this._date;
12686
+ return _DATEPICKER_MODE_ARRAY.indexOf(this.options.mode);
10582
12687
  }
10583
12688
  }
10584
12689
  ]);
10585
12690
  return DatePicker;
10586
- }();
10587
-
10588
- dist$2 = DatePicker;
10589
- return dist$2;
12691
+ }(Picker);
12692
+
12693
+ dist$4.Calendar = Calendar;
12694
+ dist$4.DatePicker = DatePicker;
12695
+ dist$4.Header = Header;
12696
+ dist$4.Month = Month;
12697
+ dist$4.Year = Year;
12698
+
12699
+ return dist$4;
10590
12700
  }
10591
12701
 
10592
12702
  var distExports$1 = requireDist$2();
10593
- var DatePickerUtil = /*@__PURE__*/getDefaultExportFromCjs(distExports$1);
10594
12703
 
10595
12704
  /**
10596
12705
  * @description 时间操作
@@ -10781,7 +12890,9 @@
10781
12890
  function DatePickerControl(options) {
10782
12891
  var _this;
10783
12892
  var _this_options_props_urlInfo_searchParams, _this_options_props_urlInfo, _this_options_props;
10784
- _this = Control.call(this, _extends$5({}, options, {
12893
+ _this = Control.call(this, _extends$5({
12894
+ maxDate: new Date()
12895
+ }, options, {
10785
12896
  tagName: 'span',
10786
12897
  controlType: 'button',
10787
12898
  classNameSuffix: 'date'
@@ -10794,7 +12905,8 @@
10794
12905
  var _proto = DatePickerControl.prototype;
10795
12906
  _proto._render = function _render() {
10796
12907
  var _this = this;
10797
- if (distExports$6.isMobile()) {
12908
+ var isMobile1 = distExports$6.isMobile();
12909
+ if (isMobile1) {
10798
12910
  var _this_locale;
10799
12911
  this.$container.innerHTML = '\n <span class="' + PREFIX_CLASS + '-mobile-date-filter" title="' + (((_this_locale = this.locale) == null ? void 0 : _this_locale.BTN_CALENDAR) || '') + '">\n <span class="' + PREFIX_CLASS + '-mobile-date-filter-value">' + this._getDateStr() + "</span>\n " + IconComponents.filter() + "\n <span>";
10800
12912
  } else {
@@ -10803,14 +12915,35 @@
10803
12915
  title: (_this_locale1 = this.locale) == null ? void 0 : _this_locale1.BTN_CALENDAR
10804
12916
  });
10805
12917
  }
10806
- this.dataPickerUtil = new DatePickerUtil(this.$container, {
10807
- staticPath: this.options.staticPath,
10808
- language: this.options.language === 'zh' ? 'zh-CN' : 'en-US',
12918
+ this.dataPicker = new distExports$1.DatePicker(this.$container, {
12919
+ isMobile: isMobile1,
12920
+ getPopupContainer: function() {
12921
+ return _this.$container;
12922
+ },
12923
+ mode: 'date',
12924
+ offset: [
12925
+ 0,
12926
+ -10
12927
+ ],
12928
+ badges: this.options.badges || [],
12929
+ language: this.options.language === 'zh' ? 'zh' : 'en',
10809
12930
  current: new Date(this._value + ' 00:00:00'),
10810
- maxDate: this.options.maxDate || new Date(),
10811
- place: distExports$6.isMobile() ? 'bottom-left' : 'top-right',
12931
+ disabledDate: function(date) {
12932
+ return date.getTime() > (_this.options.maxDate || new Date()).getTime();
12933
+ },
12934
+ placement: 'tr',
12935
+ onOk: function(date, mode) {
12936
+ if (date && _this._value !== DateTime.formate(date, 'YYYY-MM-DD') && isMobile1) {
12937
+ _this._value = DateTime.formate(date, 'YYYY-MM-DD');
12938
+ _this.options.onChange == null ? void 0 : _this.options.onChange.call(_this.options, date);
12939
+ _this.emit(EVENTS.control.dateChange, date);
12940
+ if (date && _this.$container.querySelector("." + PREFIX_CLASS + "-mobile-date-filter-value")) {
12941
+ _this.$container.querySelector("." + PREFIX_CLASS + "-mobile-date-filter-value").innerHTML = _this._getDateStr();
12942
+ }
12943
+ }
12944
+ },
10812
12945
  onChange: function(date) {
10813
- if (date && _this._value !== DateTime.formate(date, 'YYYY-MM-DD')) {
12946
+ if (date && _this._value !== DateTime.formate(date, 'YYYY-MM-DD') && !isMobile1) {
10814
12947
  _this._value = DateTime.formate(date, 'YYYY-MM-DD');
10815
12948
  _this.options.onChange == null ? void 0 : _this.options.onChange.call(_this.options, date);
10816
12949
  _this.emit(EVENTS.control.dateChange, date);
@@ -10819,9 +12952,9 @@
10819
12952
  }
10820
12953
  }
10821
12954
  },
10822
- onPanelChange: function(open, date) {
10823
- _this.options.onPanelChange == null ? void 0 : _this.options.onPanelChange.call(_this.options, open, date);
10824
- _this.emit(EVENTS.control.datePanelOpenChange, open, date);
12955
+ onOpenChange: function(open) {
12956
+ _this.options.onPanelChange == null ? void 0 : _this.options.onPanelChange.call(_this.options, open, _this.dataPicker.current);
12957
+ _this.emit(EVENTS.control.datePanelOpenChange, open, _this.dataPicker.current);
10825
12958
  }
10826
12959
  });
10827
12960
  };
@@ -10831,8 +12964,8 @@
10831
12964
  * @param change 是否触发 onChange 事件
10832
12965
  */ _proto.setDate = function setDate(date, change) {
10833
12966
  if (change === void 0) change = true;
10834
- var _this_dataPickerUtil;
10835
- (_this_dataPickerUtil = this.dataPickerUtil) == null ? void 0 : _this_dataPickerUtil.setDate(date, change);
12967
+ var _this_dataPicker;
12968
+ (_this_dataPicker = this.dataPicker) == null ? void 0 : _this_dataPicker.setCurrent(date, change);
10836
12969
  if (date && !change && this._value !== DateTime.formate(date, 'YYYY-MM-DD')) {
10837
12970
  this._value = DateTime.formate(date, 'YYYY-MM-DD');
10838
12971
  if (date && this.$container.querySelector("." + PREFIX_CLASS + "-mobile-date-filter-value")) {
@@ -10841,18 +12974,17 @@
10841
12974
  }
10842
12975
  };
10843
12976
  _proto.reset = function reset() {
10844
- var _this_dataPickerUtil;
10845
- (_this_dataPickerUtil = this.dataPickerUtil) == null ? void 0 : _this_dataPickerUtil.hide();
12977
+ if (this.dataPicker) this.dataPicker.open = false;
10846
12978
  Control.prototype.reset.call(this);
10847
12979
  };
10848
12980
  /**
10849
12981
  * 销毁控件
10850
12982
  * @override
10851
12983
  */ _proto.destroy = function destroy() {
10852
- if (this.dataPickerUtil) {
10853
- this.dataPickerUtil.destroy();
12984
+ if (this.dataPicker) {
12985
+ this.dataPicker.destroy();
10854
12986
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
10855
- this.dataPickerUtil = null;
12987
+ this.dataPicker = null;
10856
12988
  }
10857
12989
  Control.prototype.destroy.call(this);
10858
12990
  };
@@ -10862,6 +12994,7 @@
10862
12994
  };
10863
12995
  /**
10864
12996
  * 点击 Control 会触发
12997
+ * @overload super._onControlClick(e: Event)
10865
12998
  */ _proto._onControlClick = function _onControlClick(e) {
10866
12999
  Control.prototype._onControlClick.call(this, e);
10867
13000
  };
@@ -11335,7 +13468,7 @@
11335
13468
  function requireDist () {
11336
13469
  if (hasRequiredDist) return dist$1;
11337
13470
  hasRequiredDist = 1;
11338
- var deepmerge=requireCjs(),I18n=requireDist$7(),Picker=requireDist$a(),DragScroll=requireDist$1(),delegate=requireDist$9(),_$TIMELINE_LOCALES$_={zh:{title:"包含{{len}}段录像",foldTitle:"{{len}}个录像"},en:{title:"Includes {{len}} {{unit}}",foldTitle:"{{len}} {{unit}}"}};function _create_class$2(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false,descriptor.configurable=true,"value"in descriptor&&(descriptor.writable=true),Object.defineProperty(target,descriptor.key,descriptor);}}(Constructor.prototype,protoProps),Constructor}var _$BASE_TIME_LINE_DEFAULT_OPTIONS$_={current:new Date,language:"zh",timeSections:[],readOnly:false,className:"",timeWidth:0,width:"100%",timePointColor:"#1890ff",timeTextColor:"#FFF",timeScaleColor:"#FFF",timeSectionColor:"rgba(24, 144, 255, 0.5)",timeAxisBgColor:"#000",onChange:function(){},onDragStart:function(){},onDragging:function(){},onDragEnd:function(){},onDestroy:function(){}},BaseTimeLine=function(){function BaseTimeLine(container,options){if(this._current=new Date,this._readOnly=false,this._width=0,this._height=0,this._destroyed=false,this._timeWidth=0,this._timeSections=[],this.$container=container,!container)throw new Error("container is required");var left,right;this.options=deepmerge(_$BASE_TIME_LINE_DEFAULT_OPTIONS$_,options,{clone:false}),this.options.timeSections&&Array.isArray(this.options.timeSections)&&(this._timeSections=this.options.timeSections),this.options.readOnly&&(this.readOnly=this.options.readOnly),this.options.className&&this.$container.classList.add(this.options.className),this.$container.style.position="relative",this.options.current&&(left=this.options.current,null!=(right=Date)&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?right[Symbol.hasInstance](left):left instanceof right)?this._current=this.options.current||new Date:this._current=new Date,this.i18n=new I18n(deepmerge(_$TIMELINE_LOCALES$_,this.options.locales||{},{clone:false}),{defaultLocale:this.options.language||"zh"}),this._timeWidth=this.options.timeWidth||0,this._resize(this.options.width||"100%",this.options.height);}var _proto=BaseTimeLine.prototype;return _proto.setReadOnly=function(readOnly){this.readOnly=readOnly;},_proto.update=function(current){this._current=current;},_proto.updateTimeSections=function(timeSections){timeSections&&Array.isArray(timeSections)&&(this._timeSections=timeSections);},_proto.resize=function(width,height){this._resize(width,height);},_proto._resize=function(width,height){var cssText="";/^\d+(\.\d+)?$/.test(width+"")?cssText+="width: "+width+"px;":width&&(cssText+="width: "+width+";"),/^\d+(\.\d+)?$/.test(height+"")?cssText+="height: "+height+"px;":height&&(cssText+="height: "+height+";"),this.$container&&(this.$container.style.cssText+=cssText),this._width=Math.floor(this.$container.clientWidth),this._height=Math.floor(this.$container.clientHeight);},_proto.setTimeWidth=function(timeWidth){[0,1,2,3,4,5].includes(timeWidth)&&(this._timeWidth=timeWidth);},_proto.destroy=function(){this._current=null,null==this.options.onDestroy||this.options.onDestroy.call(this.options),this._timeSections=[],this._readOnly=false,this._destroyed=true;},_create_class$2(BaseTimeLine,[{key:"current",get:function(){return this._current},set:function(current){this._current=current;}},{key:"readOnly",get:function(){return this._readOnly},set:function(readOnly){this._readOnly!==readOnly&&(this._readOnly=readOnly,this.$container.style.cursor=readOnly?"not-allowed":"pointer");}},{key:"timeSections",get:function(){return this._timeSections}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"timeWidth",get:function(){return this._timeWidth}}]),BaseTimeLine}();BaseTimeLine.LOCALES=_$TIMELINE_LOCALES$_;var TimeLineUtil=function(){function TimeLineUtil(){}return TimeLineUtil.toDate=function(time){var left,right,date=null;return "string"==typeof time&&time.includes(":")?date=new Date(time):"string"!=typeof time&&"number"!=typeof time||!/\d/.test(time+"")||10!==(time+"").length?"string"!=typeof time&&"number"!=typeof time||!/\d/.test(time+"")||13!==(time+"").length?(left=time,date=(null!=(right=Date)&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?right[Symbol.hasInstance](left):left instanceof right)?time:new Date):date=new Date(+time):date=new Date(1e3*+time),date},TimeLineUtil.formatDateToHHmmss=function(time){var date=TimeLineUtil.toDate(time);if(date){var h=date.getHours(),m=date.getMinutes(),s=date.getSeconds();return (h>9?h:"0"+h)+":"+(m>9?m:"0"+m)+":"+(s>9?s:"0"+s)}return "00:00:00"},TimeLineUtil.subTime=function(m){return +m>9?m+"":"0"+m},TimeLineUtil.tranTime=function(time,fmt){ void 0===fmt&&(fmt="YYYY-MM-DD HH:mm:ss");var newDate=TimeLineUtil.toDate(time);return newDate?"YYYY-MM-DD"===fmt?newDate.getFullYear()+"-"+TimeLineUtil.subTime(newDate.getMonth()+1)+"-"+TimeLineUtil.subTime(newDate.getDate()):"HH:mm:ss"===fmt?TimeLineUtil.subTime(newDate.getHours())+":"+TimeLineUtil.subTime(newDate.getMinutes())+":"+TimeLineUtil.subTime(newDate.getSeconds()):"HH"===fmt?TimeLineUtil.subTime(newDate.getHours()):"mm:ss"===fmt?TimeLineUtil.subTime(newDate.getMinutes())+":"+TimeLineUtil.subTime(newDate.getSeconds()):"HH:mm"===fmt?TimeLineUtil.subTime(newDate.getHours())+":"+TimeLineUtil.subTime(newDate.getMinutes()):"YYYYMMDDTHHmmssZ"===fmt?newDate.getFullYear()+""+TimeLineUtil.subTime(newDate.getMonth()+1)+TimeLineUtil.subTime(newDate.getDate())+"T"+TimeLineUtil.subTime(newDate.getHours())+TimeLineUtil.subTime(newDate.getMinutes())+TimeLineUtil.subTime(newDate.getSeconds())+"Z":newDate.getFullYear()+"-"+TimeLineUtil.subTime(newDate.getMonth()+1)+"-"+TimeLineUtil.subTime(newDate.getDate())+" "+TimeLineUtil.subTime(newDate.getHours())+":"+TimeLineUtil.subTime(newDate.getMinutes())+":"+TimeLineUtil.subTime(newDate.getSeconds()):""},TimeLineUtil.timeToSecond=function(time){var e=time.split(":");return 60*Number(e[0])*60+60*Number(e[1])+(Number(e[2])||0)},TimeLineUtil.minuteToTime=function(minute){var hour=Math.floor(minute/60),m=minute%60;return (hour>9?hour:"0"+hour)+":"+(m>9?m:"0"+m)},TimeLineUtil.timeToMinute=function(time){var e=time.split(":");return 60*Number(e[0])+Number(e[1])},TimeLineUtil.isOverlap=function(a_start,a_end,b_start,b_end){return Math.max(a_start,b_start)<=Math.min(a_end,b_end)},TimeLineUtil.tranTimeToString=function(start,end){var _TimeLineUtil_toDate,_TimeLineUtil_toDate1,secondNum=Math.floor((null==(_TimeLineUtil_toDate=TimeLineUtil.toDate(end))?void 0:_TimeLineUtil_toDate.getTime())-(null==(_TimeLineUtil_toDate1=TimeLineUtil.toDate(start))?void 0:_TimeLineUtil_toDate1.getTime()))/1e3,second=secondNum%60,minute=Math.floor(secondNum/60);return (minute>0?TimeLineUtil.subTime(minute)+"'":"0'")+TimeLineUtil.subTime(second)+"''"},TimeLineUtil}(),_$TIMELINE_ICONS$__tip='<svg viewBox="0 0 57 24" fill="currentColor" width="1em" height="1em" focusable="false" aria-hidden="true" data-icon="tip">\n <path class="ez-time-line-icon-tip" fill-rule="evenodd" d="m4,0l44,0c2.2091,0 4,1.7909 4,4l0,3.8218l4.9399,3.3572c0.5839,0.3968 0.5839,1.2574 0,1.6542l-4.9399,3.3572l0,3.8096c0,2.2091 -1.7909,4 -4,4l-44,0c-2.2091,0 -4,-1.7909 -4,-4l0,-16c0,-2.2091 1.7909,-4 4,-4z"/>\n </svg>',_$TIMELINE_ICONS$__plus='\n <svg viewBox="0 0 16 16" fill="currentColor" width="1em" height="1em" focusable="false" aria-hidden="true" data-icon="plus">\n <path d="M0 0L10.6667 0" stroke="rgb(44,44,44)" stroke-linecap="round" stroke-width="1.5" transform="matrix(0,1,-1,0,8,2.66663)"/>\n <path d="M2.66669 8L13.3334 8" stroke="rgb(44,44,44)" stroke-linecap="round" stroke-width="1.5"/>\n </svg>\n ',_$TIMELINE_ICONS$__minus='\n <svg viewBox="0 0 16 16" fill="currentColor" width="1em" height="1em" focusable="false" aria-hidden="true" data-icon="minus">\n <path d="M2.66669 8L13.3334 8" stroke="rgb(44,44,44)" stroke-linecap="round" stroke-width="1.5"/>\n </svg>\n ',_$TIMELINE_ICONS$__close='\n <svg viewBox="0 0 24 24" fill="none" width="1em" height="1em" stroke="currentColor" focusable="false" aria-hidden="true" data-icon="close">\n\t <path d="M0 0L15.9998 0" stroke-linecap="round" stroke-width="1.5" transform="matrix(0.707099,0.707114,-0.707114,0.707099,6.34277,6.34326)" />\n\t\t <path d="M0 0L15.9998 0" stroke-linecap="round" stroke-width="1.5" transform="matrix(0.707099,-0.707114,0.707114,0.707099,6.34277,17.6567)" />\n </svg>\n ',_$TIMELINE_ICONS$__pause='<svg viewBox="0 0 20 20" fill="currentColor" width="1em" height="1em" focusable="false" aria-hidden="true" data-icon="pause">\n\t\t <path d="M9.43914 2.47881L13.4688 8.4912C14.3594 9.81998 13.4071 11.6047 11.8074 11.6047L3.74811 11.6047C2.14849 11.6047 1.19616 9.81998 2.08675 8.4912L6.11641 2.47881C6.90863 1.2968 8.64693 1.2968 9.43914 2.47881Z" fill-rule="evenodd" transform="matrix(0,1,-1,0,16.5781,2.22229)" />\n </svg>\n ',_$TIMELINE_ICONS$__picture='\n <svg viewBox="0 0 19.1613 19.4583" fill="currentColor" width="1em" height="1em" focusable="false" aria-hidden="true" data-icon="picture">\n <path xmlns="http://www.w3.org/2000/svg" id="形状结合" d="M15.3276 2.63477L3.83173 2.63477C2.70848 2.63477 1.79541 3.55027 1.79541 4.68419L1.79541 14.7737C1.79541 15.9076 2.70848 16.8231 3.83173 16.8231L15.3276 16.8231C16.4504 16.8231 17.364 15.9074 17.364 14.7737L17.364 4.68419C17.364 3.55027 16.4509 2.63477 15.3276 2.63477ZM3.83247 3.851L15.3284 3.851C15.7936 3.851 16.1671 4.22551 16.1671 4.68429L16.1671 14.7738C16.1671 15.2323 15.7932 15.6071 15.3284 15.6071L3.83247 15.6071C3.36725 15.6071 2.99373 15.2326 2.99373 14.7738L2.99373 12.2622L6.7356 9.56381L6.78139 9.53916C6.84532 9.51493 6.91856 9.52524 6.9742 9.56947L13.2644 14.5698L13.3381 14.62C13.5918 14.7666 13.9197 14.7063 14.105 14.4658C14.3089 14.2014 14.263 13.8192 14.0026 13.6122L7.71239 8.61184L7.60526 8.5346C7.12945 8.22451 6.51026 8.23473 6.04222 8.57224L2.99373 10.7706L2.99373 4.68429C2.99373 4.22551 3.36725 3.851 3.83247 3.851ZM10.5794 7.29679C10.5794 6.06542 11.5624 5.0672 12.7749 5.0672C13.9875 5.0672 14.9705 6.06542 14.9705 7.29679C14.9705 8.52817 13.9875 9.52639 12.7749 9.52639C11.5624 9.52639 10.5794 8.52817 10.5794 7.29679ZM13.7722 7.2967C13.7722 6.73699 13.3254 6.28325 12.7742 6.28325C12.223 6.28325 11.7762 6.73699 11.7762 7.2967C11.7762 7.85642 12.223 8.31015 12.7742 8.31015C13.3254 8.31015 13.7722 7.85642 13.7722 7.2967Z" fill-rule="evenodd"/>\n </svg>\n ',TIME_WIDTH=[[1,10,10,"单位 1秒"],[60,20,5,"单位 1分钟"],[600,20,6,"单位 10分钟"],[3600,30,6,"单位 1小时"],[14400,40,2,"单位 4小时"],[43200,80,2,"单位 12小时"]],MOBILE_TIME_WIDTH=[[1,10,10,"单位 1分钟"],[10,20,5,"单位 10分钟"],[30,20,6,"单位 30分钟"],[60,30,6,"单位 1小时"],[120,40,2,"单位 2小时"],[240,80,2,"单位 4小时"]];function _create_class$1(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false,descriptor.configurable=true,"value"in descriptor&&(descriptor.writable=true),Object.defineProperty(target,descriptor.key,descriptor);}}(Constructor.prototype,protoProps),Constructor}function _extends$1(){return _extends$1=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key]);}return target},_extends$1.apply(this,arguments)}function _set_prototype_of$1(o,p){return _set_prototype_of$1=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of$1(o,p)}var _$MOBILE_TIME_LINE_DEFAULT_OPTIONS$_=Object.assign({},_$BASE_TIME_LINE_DEFAULT_OPTIONS$_,{height:400,width:"100%",timeWidth:0,readOnly:false,timePointColor:"#648FFC",timeTextColor:"#666666",timeScaleColor:"transparent",timeSectionColor:"#369FFF",timeAxisBgColor:"#BDCDFF",currentTimeBgColor:"#648FFC",currentTimeColor:"#FFFFFF",showTimeWidthBtn:true}),MobileTimeLine=function(BaseTimeLine){function MobileTimeLine(container,options){var _this;return (_this=BaseTimeLine.call(this,container,deepmerge(_$MOBILE_TIME_LINE_DEFAULT_OPTIONS$_,options,{clone:false}))||this)._isTouchStart=false,_this._dragScroll=null,_this._moveStartX=0,_this._moveStartY=0,_this.state={start:"00:00:00",end:"24:00:00",current:null,timeArr:[],availTimeLine:[],index:0},_this._plusClick=_this._plusClick.bind(_this),_this._minusClick=_this._minusClick.bind(_this),_this._onPickerClose=_this._onPickerClose.bind(_this),_this._onClickItem=_this._onClickItem.bind(_this),_this._onClickCoverFold=_this._onClickCoverFold.bind(_this),_this._onImageError=_this._onImageError.bind(_this),_this._render(),_this.options.timeSections&&Array.isArray(_this.options.timeSections)&&_this.updateTimeSections(_this.options.timeSections),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}}),superClass&&_set_prototype_of$1(subClass,superClass);}(MobileTimeLine,BaseTimeLine);var _proto=MobileTimeLine.prototype;return _proto.setReadOnly=function(readOnly){BaseTimeLine.prototype.setReadOnly.call(this,readOnly),this._dragScroll&&(this._dragScroll.readonly=readOnly);},_proto.setTimeWidth=function(timeWidth){MOBILE_TIME_WIDTH[timeWidth]&&(BaseTimeLine.prototype.setTimeWidth.call(this,timeWidth),this._matchTimeDot());},_proto.updateTimeSections=function(timeSections,defaultIndex){BaseTimeLine.prototype.updateTimeSections.call(this,timeSections);var list=timeSections.map(function(record){return _extends$1({},record,{startTime:TimeLineUtil.formatDateToHHmmss(record.startTime),endTime:TimeLineUtil.formatDateToHHmmss(record.endTime)})});if(list.length>0){ void 0===defaultIndex&&(defaultIndex=list.length-1);var current=this.state.current;this._setState({availTimeLine:list,start:list[defaultIndex].startTime,end:list[defaultIndex].endTime,current:null===current?list[defaultIndex].startTime:current}),this._matchTimeDot();}else this._setState({availTimeLine:[],current:TimeLineUtil.formatDateToHHmmss(this.current||(new Date).getTime())}),this._matchTimeDot();},_proto.update=function(time){var _this__dragScroll;time&&!(null==(_this__dragScroll=this._dragScroll)?void 0:_this__dragScroll.isDragging)&&(this._setState({current:TimeLineUtil.tranTime(time,"HH:mm:ss")}),this._currentOffsetH());},_proto.destroy=function(){var _this__dragScroll,_this__picker_$body_querySelectorAll,_this__picker_$body;if(this._scrollTimer&&(clearInterval(this._scrollTimer),this._scrollTimer=null),this._$currentTime)try{this.$container.removeChild(this._$currentTime),this._$currentTime=null;}catch(error){}if(this._$itemList&&this._imageRemoveErrorEvent(this._$itemList.querySelectorAll("img.ez-time-line-img")||[]),this._$itemContainer&&this._$itemList)try{this._$itemContainer.removeChild(this._$itemList),this._$itemList=null;}catch(error){}if(this._$itemContainer)try{this.$container.removeChild(this._$itemContainer),this._$itemContainer=null;}catch(error){}if(this._$op)try{this.$container.removeChild(this._$op),this._$op=null;}catch(error){}this._picker&&(this._imageRemoveErrorEvent((null==(_this__picker_$body=this._picker.$body)||null==(_this__picker_$body_querySelectorAll=_this__picker_$body.querySelectorAll)?void 0:_this__picker_$body_querySelectorAll.call(_this__picker_$body,"img"))||[]),this._picker.destroy(),this._picker=null);this._removeEventListener(),null==(_this__dragScroll=this._dragScroll)||_this__dragScroll.destroy(),this._dragScroll=null,BaseTimeLine.prototype.destroy.call(this);},_proto._setState=function(obj){var _this=this;Object.keys(obj).forEach(function(key){var _this__dragScroll,_this_timeSections_;"current"===key&&obj[key]?(_this._setCurrentDOM(obj[key]),_this.state.current===obj[key]||(null==(_this__dragScroll=_this._dragScroll)?void 0:_this__dragScroll.isDragging)||(_this.state[key]=obj[key],_this.current=new Date(TimeLineUtil.tranTime((null==(_this_timeSections_=_this.timeSections[0])?void 0:_this_timeSections_.endTime)||(new Date).getTime(),"YYYY-MM-DD")+" "+obj[key]),null==_this.options.onChange||_this.options.onChange.call(_this.options,_this.current))):_this.state[key]=obj[key];});},_proto._setCurrentDOM=function(time){this._$currentTime&&(this._$currentTime.querySelector(".ez-time-line-current-value").innerHTML=time);},_proto._matchTimeDot=function(){for(var scaleWidth=this._scaleWidth,timeArr=[],minute=TimeLineUtil.timeToMinute("24:00:00"),i=minute=Math.floor(minute/scaleWidth)*scaleWidth;i>=0;){var marginTop=0,marginBottom=0;i==minute&&(marginTop=70),0==i&&(marginBottom=this.$container.clientHeight-70);var time=TimeLineUtil.minuteToTime(i);timeArr.push({id:i,current:time,label:"a"+i,marginTop:marginTop,marginBottom:marginBottom,recArr:[],coverArr:this._filterTimeSectionsByTime(time)}),i-=scaleWidth;}this._setState({timeArr:timeArr}),this._matchRecTimeDot();},_proto._matchRecTimeDot=function(){var _this_state=this.state,availTimeLine=_this_state.availTimeLine,timeArr=_this_state.timeArr,scaleWidth=this._scaleWidth,len=availTimeLine.length;if(0===len)for(var j=0;j<timeArr.length;j++)timeArr[j].recArr=[];else {for(var k=0;k<timeArr.length;k++)timeArr[k].recArr=[];for(var i=0;i<len;i++){var stAvailPercent,etAvailPercent,temp=availTimeLine[i],st=TimeLineUtil.timeToSecond(temp.startTime),et=TimeLineUtil.timeToSecond(temp.endTime),stMinute=Math.floor(st/(60*scaleWidth))*scaleWidth;stAvailPercent=(st-60*stMinute)/scaleWidth;var etMinute=Math.floor(et/(60*scaleWidth))*scaleWidth;etAvailPercent=(et-60*etMinute)/scaleWidth;for(var j1=0;j1<timeArr.length;j1++)if(timeArr[j1].id==stMinute&&timeArr[j1].id==etMinute){var height=etAvailPercent-stAvailPercent,top=60-etAvailPercent;timeArr[j1].recArr.push({height:height,top:top});}else timeArr[j1].id==stMinute?timeArr[j1].recArr.push({height:60-stAvailPercent,top:0}):timeArr[j1].id==etMinute?timeArr[j1].recArr.push({height:etAvailPercent,top:60-etAvailPercent}):timeArr[j1].id>stMinute&&timeArr[j1].id<etMinute&&timeArr[j1].recArr.push({height:60,top:0});}}this._setState({timeArr:timeArr}),this._renderDateLine();},_proto._renderDateLine=function(){var _this=this,timeArr=this.state.timeArr,container=this._$itemList;this._imageRemoveErrorEvent(container.querySelectorAll("img.ez-time-line-img")||[]),container.innerHTML="",timeArr.forEach(function(item,index){var timeItemDOM=document.createElement("div");timeItemDOM.setAttribute("class","ez-time-line-time-scale-area"),item.marginTop&&(timeItemDOM.style.cssText+="margin-top: "+item.marginTop+"px;"),item.marginBottom&&(timeItemDOM.style.cssText+="margin-bottom: "+item.marginBottom+"px;"),timeItemDOM.style.cssText+="border-right-color: "+(_this.options.timeAxisBgColor||"rgba(189, 205, 255, 1)")+";",timeItemDOM.setAttribute("data-time",item.current),timeItemDOM.setAttribute("data-index",index+""),document.createElement("div").setAttribute("class","ez-time-line-scale");var timeItemHtml="";item.coverArr.length&&(timeItemHtml+='\n <div class="ez-time-line-time-cover-fold '+(item.coverArr.length>1?"ez-time-line-time-cover-fold-multiple":"")+'"\n data-start="'+item.current+'">\n '+(item.coverArr.length>1?'<div class="ez-time-line-cover-fold-placeholder" style="color: #FFF"></div>':"")+'\n <div class="ez-time-line-time-cover-fold-img">\n <img src="'+_this._setImageScr(item.coverArr[0].coverPic)+'" class="ez-time-line-img"/>\n <span class="ez-time-line-time-cover-fold-len">\n '+(item.coverArr.length>1?_this.i18n.t("foldTitle",{len:item.coverArr.length,unit:"videos"}):""+TimeLineUtil.tranTime(item.coverArr[0].startTime,"HH:mm"))+"\n </span>\n "+(1===item.coverArr.length?'<span class="ez-time-line-time-cover-fold-time">'+TimeLineUtil.tranTimeToString(item.coverArr[0].startTime,item.coverArr[0].endTime)+"</span>":"")+'\n <span class="ez-time-line-time-cover-fold-pause">'+_$TIMELINE_ICONS$__pause+"</span>\n </div>\n </div>"),item.recArr.forEach(function(i){timeItemHtml+='<div class="ez-time-line-time-unavail"\n style="height: '+i.height+"px;background-color:"+(_this.options.timeSectionColor||"#369FFF")+"; top: "+i.top+'px">\n </div>';}),timeItemHtml+="<div id="+item.label+' class="ez-time-line-time-label" style="color: '+(_this.options.timeTextColor||"#666")+'">'+item.current+"</div>",timeItemDOM.innerHTML=timeItemHtml,container.appendChild(timeItemDOM),_this._imageErrorEvent(container.querySelectorAll("img.ez-time-line-img")||[]);}),this._currentOffsetH();},_proto._currentOffsetH=function(){var current=this.state.current;if(current){var _this__dragScroll,y=(86400-TimeLineUtil.timeToSecond(current)||0)/this._scaleWidth;null==(_this__dragScroll=this._dragScroll)||_this__dragScroll.scrollToY(y+60,false);}},_proto._render=function(){var _this=this;if(this._$currentTime=document.createElement("div"),this._$currentTime.classList.add("ez-time-line-current"),this._$currentTime.innerHTML='<div class="ez-time-line-current-content" style="color: '+(this.options.currentTimeBgColor||"#648FFC")+'">\n <span class="ez-time-line-current-tip">'+_$TIMELINE_ICONS$__tip+'</span>\n <span class="ez-time-line-current-tip-line" style="background-color: '+(this.options.timePointColor||"#648FFC")+';"></span>\n <div class="ez-time-line-current-value" style="color: '+(this.options.currentTimeColor||"#FFFFFF")+'">00:00:00</div>\n </div>',this.$container.appendChild(this._$currentTime),this._$itemContainer=document.createElement("div"),this._$itemContainer.classList.add("ez-time-line-container"),this.$container.appendChild(this._$itemContainer),this._dragScroll=new DragScroll(this._$itemContainer,{hideScrollbar:true,onChange:function(state){var result=_this._offsetYToTime(state.y);result[1]!==_this.state.current&&_this._setCurrentDOM(result[0]>=86400?"23:59:59":result[1]);},onDragStart:function(e){_this._moveStartX=e.clientX,_this._moveStartY=e.clientY,null==_this.options.onDragStart||_this.options.onDragStart.call(_this.options,_this.state.current);},onDragging:function(){null==_this.options.onDragging||_this.options.onDragging.call(_this.options,_this.state.current);},onDragEnd:function(){var _this__dragScroll,result=_this._offsetYToTime(null==(_this__dragScroll=_this._dragScroll)?void 0:_this__dragScroll.currentY);result[1]!==_this.state.current&&_this._setState({current:result[0]>=86400?"23:59:59":result[1]}),null==_this.options.onDragEnd||_this.options.onDragEnd.call(_this.options,_this.state.current);}}),/\d/.test(this.options.height))this._$itemContainer.style.cssText+="height: "+this.options.height+"px";else if("string"==typeof this.options.height)this._$itemContainer.style.cssText+="height: "+this.options.height;else {var height=this.$container.clientHeight;this._$itemContainer.style.cssText+="height: "+height+"px";}this._$itemList=document.createElement("div"),this._$itemList.classList.add("ez-time-line-item"),this._dragScroll.$content.appendChild(this._$itemList),this.options.showTimeWidthBtn&&(this._$op=document.createElement("div"),this._$op.classList.add("ez-time-line-op"),this._$op.innerHTML='<span class="ez-time-line-op-wrapper"><span class="ez-time-line-icon-plus">'+_$TIMELINE_ICONS$__plus+'</span> <span class="ez-time-line-icon-minus">'+_$TIMELINE_ICONS$__minus+"</span></span>",this.$container.appendChild(this._$op)),this._picker=new Picker(null,{isMobile:true,wrapClassName:"ez-time-line-picker",onOpenChange:function(isOpen){var _this_options_onPickerOpenChange,_this_options;null==(_this_options=_this.options)||null==(_this_options_onPickerOpenChange=_this_options.onPickerOpenChange)||_this_options_onPickerOpenChange.call(_this_options,isOpen);}}),this._addEventListener();},_proto._addEventListener=function(){var _this__$op_querySelector,_this__$op_querySelector1;this.options.showTimeWidthBtn&&this._$op&&(null==(_this__$op_querySelector=this._$op.querySelector(".ez-time-line-icon-plus"))||_this__$op_querySelector.addEventListener("click",this._plusClick,false),null==(_this__$op_querySelector1=this._$op.querySelector(".ez-time-line-icon-minus"))||_this__$op_querySelector1.addEventListener("click",this._minusClick,false));this._matchTimeDot(),this._picker&&(this._delegatePickerClose=delegate(this._picker.$body,".ez-time-line-picker-close","click",this._onPickerClose,false),this._delegateItemContent=delegate(this._picker.$body,".ez-time-line-picker-item-content","click",this._onClickItem,false),this._delegateCoverFold=delegate(this._$itemList,".ez-time-line-time-cover-fold","click",this._onClickCoverFold,false));},_proto._removeEventListener=function(){var _this__$op_querySelector,_this__$op_querySelector1,_this__picker_$body_querySelector,_this__picker_$body;this.options.showTimeWidthBtn&&this._$op&&(null==(_this__$op_querySelector=this._$op.querySelector(".ez-time-line-icon-plus"))||_this__$op_querySelector.removeEventListener("click",this._plusClick),null==(_this__$op_querySelector1=this._$op.querySelector(".ez-time-line-icon-minus"))||_this__$op_querySelector1.removeEventListener("click",this._minusClick));this._picker&&(null==(_this__picker_$body=this._picker.$body)||null==(_this__picker_$body_querySelector=_this__picker_$body.querySelector(".ez-time-line-picker-close"))||_this__picker_$body_querySelector.removeEventListener("click",this._onPickerClose),this._delegateItemContent&&(this._delegateItemContent.forEach(function(delegation){delegation.destroy();}),this._delegateItemContent=null),this._delegatePickerClose&&(this._delegatePickerClose.forEach(function(delegation){delegation.destroy();}),this._delegatePickerClose=null),this._delegateCoverFold&&(this._delegateCoverFold.forEach(function(delegation){delegation.destroy();}),this._delegateCoverFold=null));},_proto._plusClick=function(){var timeWidth=this.timeWidth+1;timeWidth>0&&timeWidth<MOBILE_TIME_WIDTH.length&&this.setTimeWidth(timeWidth);},_proto._minusClick=function(){var timeWidth=this.timeWidth-1;timeWidth>=0&&timeWidth<MOBILE_TIME_WIDTH.length&&this.setTimeWidth(Math.floor(timeWidth));},_proto._timeSectionsToGroupsByHour=function(list){var obj={};return list.forEach(function(item,index){var hour=TimeLineUtil.tranTime(item.startTime,"HH");obj[+hour]?obj[+hour].push(_extends$1({},item,{_index:index})):obj[+hour]=[_extends$1({},item,{_index:index})];}),obj},_proto._filterTimeSectionsByTime=function(start){if(!start)return [];var startSecond=TimeLineUtil.timeToSecond(start+":00"),endSecond=TimeLineUtil.timeToSecond(start+":00")+60*this._scaleWidth;return this.timeSections.filter(function(item){var _$start=TimeLineUtil.timeToSecond(TimeLineUtil.tranTime(item.startTime,"HH:mm:ss"));return _$start>=startSecond&&_$start<endSecond})},_proto._renderPickerContent=function(start){var _this__picker_innerHTML,_this__picker,_this__picker1,_this__picker2,_this=this,list=this._filterTimeSectionsByTime(start),hourGroups=this._timeSectionsToGroupsByHour(list);(null==(_this__picker=this._picker)||null==(_this__picker_innerHTML=_this__picker.innerHTML)||_this__picker_innerHTML.call(_this__picker,'<div class="ez-time-line-picker-container">\n <div class="ez-time-line-picker-header">\n <span class="ez-time-line-picker-close">'+_$TIMELINE_ICONS$__close+"</span>\n "+this.i18n.t("title",{len:list.length,unit:list.length>1?"videos":"video"})+'\n </div>\n <div class="ez-time-line-picker-content">\n <div class="ez-time-line-picker-list">\n '+Object.keys(hourGroups).reverse().map(function(key){return '<div class="ez-time-line-picker-item">\n <div class="ez-time-line-picker-item-title">'+key+':00</div>\n <div class="ez-time-line-picker-item-list">\n '+hourGroups[key].reverse().map(function(item){return '<div class="ez-time-line-picker-item-content"\n data-start="'+TimeLineUtil.tranTime(item.startTime,"YYYYMMDDTHHmmssZ")+'"\n data-end="'+TimeLineUtil.tranTime(item.endTime,"YYYYMMDDTHHmmssZ")+'"\n data-index="'+item._index+'">\n <span class="ez-time-line-picker-item-time">'+TimeLineUtil.tranTime(item.startTime,"HH:mm")+'</span>\n <span class="ez-time-line-picker-item-duration">\n '+TimeLineUtil.tranTimeToString(item.startTime,item.endTime)+'\n </span>\n <img class="ez-time-line-picker-item-cover" src="'+_this._setImageScr(item.coverPic)+'"/>\n </div>'}).join("")+"\n </div>\n </div>"}).join("")+"\n </div>\n </div>\n </div>\n </div>"),null==(_this__picker1=this._picker)?void 0:_this__picker1.$body)&&this._imageErrorEvent((null==(_this__picker2=this._picker)?void 0:_this__picker2.$body.querySelectorAll("img"))||[]);},_proto._imageErrorEvent=function(list){var _this=this;void 0===list&&(list=[]),Array.from(list).forEach(function(img){img.hasAttribute("data-error")||img.addEventListener("error",_this._onImageError);});},_proto._imageRemoveErrorEvent=function(list){var _this=this;void 0===list&&(list=[]),Array.from(list).forEach(function(img){img.removeEventListener("error",_this._onImageError);});},_proto._onImageError=function(e){var img=e.target;if(!img.hasAttribute("data-error")){var _img_parentNode,placeholder=document.createElement("div");placeholder.classList.add("ez-time-line-item-cover-placeholder"),placeholder.innerHTML=""+_$TIMELINE_ICONS$__picture,null==(_img_parentNode=img.parentNode)||_img_parentNode.appendChild(placeholder),img.remove();}},_proto._onPickerClose=function(){this._picker&&(this._picker.open=false);},_proto._onClickItem=function(e){var _e_delegateTarget_getAttribute,_e_delegateTarget,index=null==(_e_delegateTarget=e.delegateTarget)||null==(_e_delegateTarget_getAttribute=_e_delegateTarget.getAttribute)?void 0:_e_delegateTarget_getAttribute.call(_e_delegateTarget,"data-index");this._picker&&(this._picker.open=false),null==this.options.onPickerSelect||this.options.onPickerSelect.call(this.options,this.timeSections[+index]);},_proto._onClickCoverFold=function(e){var _e_delegateTarget_parentElement_getAttribute,_e_delegateTarget_parentElement,_e_delegateTarget;e.preventDefault();var time=null==(_e_delegateTarget=e.delegateTarget)||null==(_e_delegateTarget_parentElement=_e_delegateTarget.parentElement)||null==(_e_delegateTarget_parentElement_getAttribute=_e_delegateTarget_parentElement.getAttribute)?void 0:_e_delegateTarget_parentElement_getAttribute.call(_e_delegateTarget_parentElement,"data-time"),moveX=Math.abs(this._moveStartX-e.clientX),moveY=Math.abs(this._moveStartY-e.clientY);this._picker&&time&&!(moveX>=1||moveY>=1)&&(this._renderPickerContent(time),this._picker.open=true);},_proto._setImageScr=function(src){if(src){var query="x=200&"+(this.options.coverQuery||"");return src+(src.includes("?")?"&":"?")+query}return ""},_proto._offsetYToTime=function(offsetY){var _this__dragScroll,y=offsetY;offsetY<60&&(y=60,null==(_this__dragScroll=this._dragScroll)||_this__dragScroll.scrollToY(y));var second=86400-Math.floor((y-60)*this._scaleWidth);return [second,TimeLineUtil.subTime(Math.floor(second/3600))+":"+TimeLineUtil.subTime(Math.floor(second%3600/60))+":"+TimeLineUtil.subTime(second%60)]},_create_class$1(MobileTimeLine,[{key:"_scaleWidth",get:function(){return (MOBILE_TIME_WIDTH[this.timeWidth]||MOBILE_TIME_WIDTH[0])[0]}}]),MobileTimeLine}(BaseTimeLine);function _create_class(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false,descriptor.configurable=true,"value"in descriptor&&(descriptor.writable=true),Object.defineProperty(target,descriptor.key,descriptor);}}(Constructor.prototype,protoProps),Constructor}function _extends(){return _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key]);}return target},_extends.apply(this,arguments)}function _set_prototype_of(o,p){return _set_prototype_of=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of(o,p)}var _$TIMELINE_DEFAULT_OPTIONS$_={height:36,dpr:window.devicePixelRatio||2,scaleOffsetTop:4,showYearMonthDay:true},TimeLine=function(BaseTimeLine){function TimeLine(container,options){var _this;return (_this=BaseTimeLine.call(this,container,deepmerge(_$TIMELINE_DEFAULT_OPTIONS$_,options,{clone:true}))||this)._$canvas=null,_this._ctx=null,_this._timeWidthArray=TIME_WIDTH[0],_this._centerPositionX=0,_this._isMouseDown=false,_this._mousePosition=0,_this._oldTime=null,_this._isOver=false,_this._moved=false,_this._isCtrlKeyDown=false,_this._lastTouchDist=0,_this.$container=container,_this._mousemoveFun=_this._mousemoveFun.bind(_this),_this._mouseoverFun=_this._mouseoverFun.bind(_this),_this._mouseleaveFun=_this._mouseleaveFun.bind(_this),_this._mousedownFun=_this._mousedownFun.bind(_this),_this._mouseUpFun=_this._mouseUpFun.bind(_this),_this._mousewheelFun=_this._mousewheelFun.bind(_this),_this._touchstartFun=_this._touchstartFun.bind(_this),_this._touchmoveFun=_this._touchmoveFun.bind(_this),_this._touchendFun=_this._touchendFun.bind(_this),_this._ctrlKeyDownFun=_this._ctrlKeyDownFun.bind(_this),_this._ctrlKeyUpFun=_this._ctrlKeyUpFun.bind(_this),_this._init(),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}}),superClass&&_set_prototype_of(subClass,superClass);}(TimeLine,BaseTimeLine);var _proto=TimeLine.prototype;return _proto._init=function(){this._$canvas=document.createElement("canvas"),this._ctx=this._$canvas.getContext("2d"),this.readOnly||(this._$canvas.style.cssText+="cursor: pointer;"),this.$container.appendChild(this._$canvas),this.resize(this.width,this.height),this._update({current:this.current,timeWidth:this.timeWidth,timeSections:this.timeSections}),this._addEventListener();},_proto.resize=function(width,height){BaseTimeLine.prototype.resize.call(this,width,height),this._$canvas&&width&&(this._$canvas.width=this.width*this.options.dpr,this._$canvas.style.cssText+="width: "+this.width+"px;"),this._$canvas&&height&&(this._$canvas.height=this.height*this.options.dpr,this._$canvas.style.cssText+="height: "+this.height+"px;"),this._draw();},_proto.setTimeWidth=function(timeWidth){this._update({timeWidth:timeWidth});},_proto.updateTimeSections=function(timeSections){this._update({timeSections:timeSections});},_proto.update=function(time){time&&!this._isMouseDown&&this._update({current:new Date(TimeLineUtil.tranTime(time,"YYYY-MM-DD HH:mm:ss"))});},_proto._update=function(options){var left,right,_this__$canvas;(void 0===options&&(options={}),(null==options?void 0:options.current)&&(left=options.current,null!=(right=Date)&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?right[Symbol.hasInstance](left):left instanceof right)&&(this.current=options.current),(null==options?void 0:options.timeSections)&&BaseTimeLine.prototype.updateTimeSections.call(this,this._mergeTimeSections(options.timeSections)),"number"==typeof(null==options?void 0:options.timeWidth)&&(null==options?void 0:options.timeWidth)<TIME_WIDTH.length&&(BaseTimeLine.prototype.setTimeWidth.call(this,options.timeWidth),this._timeWidthArray=TIME_WIDTH[Math.floor(this.timeWidth)]),"number"==typeof(null==options?void 0:options.timeWidth)&&this._timeWidthArray)&&(this._timeWidthArray[3]&&(null==(_this__$canvas=this._$canvas)||_this__$canvas.setAttribute("data-title",this._timeWidthArray[3])));this._draw();},_proto.setReadOnly=function(readOnly){BaseTimeLine.prototype.setReadOnly.call(this,readOnly),this._$canvas&&(this._$canvas.style.cssText+="cursor: "+(readOnly?"not-allowed":"pointer"));},_proto.destroy=function(){if(this._removeEventListener(),this._$canvas)try{this.$container.removeChild(this._$canvas),this._$canvas=null;}catch(e){}BaseTimeLine.prototype.destroy.call(this);},_proto._draw=function(){this._ctx&&(this._ctx.fillStyle=this.options.timeAxisBgColor,this._ctx.fillRect(0,0,this.width*this.options.dpr,this.height*this.options.dpr)),this._drawSections(),this._drawScale();},_proto._drawScale=function(){var lineWidth=1*this.options.dpr;this._centerPositionX=parseInt(this.width*this.options.dpr/2+"");for(var centerPosition={x:this.width*this.options.dpr/2,y:this.height*this.options.dpr},curScaleTime=Math.floor(this.current.getTime()/1e3),offsetSecond=(curScaleTime-Math.floor(new Date(TimeLineUtil.tranTime(new Date(1e3*curScaleTime),"YYYY-MM-DD")+" 00:00:00").getTime()/1e3))%this._timeWidthArray[0],padding=this.height*this.options.dpr/20,spacing=this._curScaleSpacing*this.options.dpr,rightLastScaleTimeX=Math.floor(this._centerPositionX+(this._timeWidthArray[0]-offsetSecond)/this._timeWidthArray[0]*spacing),leftLastScaleTime=curScaleTime-offsetSecond,rightLastScaleTime=leftLastScaleTime+this._timeWidthArray[0],x=rightLastScaleTimeX-spacing;x>0;x-=spacing){0===(leftLastScaleTime-Math.floor(new Date(TimeLineUtil.tranTime(new Date(1e3*leftLastScaleTime),"YYYY-MM-DD")+" 00:00:00").getTime()/1e3))%(this._timeWidthArray[0]*this._timeWidthArray[2])?(this._drawSolidLine(x,padding,x,padding+(this.options.scaleOffsetTop+4)*this.options.dpr,lineWidth),this._drawTextString(TimeLineUtil.tranTime(new Date(1e3*leftLastScaleTime)),x,padding+(this.options.scaleOffsetTop+4+4)*this.options.dpr,"center")):this._drawSolidLine(x,padding,x,padding+this.options.scaleOffsetTop*this.options.dpr,lineWidth),leftLastScaleTime-=this._timeWidthArray[0];}for(var x1=rightLastScaleTimeX;x1<=this.width*this.options.dpr;x1+=spacing){0===(rightLastScaleTime-Math.floor(new Date(TimeLineUtil.tranTime(new Date(1e3*rightLastScaleTime),"YYYY-MM-DD")+" 00:00:00").getTime()/1e3))%(this._timeWidthArray[0]*this._timeWidthArray[2])?(this._drawSolidLine(x1,padding,x1,padding+(this.options.scaleOffsetTop+4)*this.options.dpr,lineWidth),this._drawTextString(TimeLineUtil.tranTime(new Date(1e3*rightLastScaleTime)),x1,padding+(this.options.scaleOffsetTop+4+4)*this.options.dpr,"center")):this._drawSolidLine(x1,padding,x1,padding+this.options.scaleOffsetTop*this.options.dpr,lineWidth),rightLastScaleTime+=this._timeWidthArray[0];}this._drawSolidLine(centerPosition.x,0,centerPosition.x,centerPosition.y,lineWidth,this.options.timePointColor);},_proto._drawSolidLine=function(startX,startY,endX,endY,lineWidth,color){this._ctx&&(this._ctx.save(),this._ctx.strokeStyle=null!=color?color:this.options.timeScaleColor,this._ctx.lineWidth=lineWidth,this._ctx.beginPath(),this._ctx.moveTo(startX,startY),this._ctx.lineTo(endX,endY),this._ctx.stroke(),this._ctx.restore());},_proto._drawTextString=function(text,x,y,align){if(this._ctx){var timeTexts=text.split(" ");this._ctx.font=12*this.options.dpr*1+"px serif",this._ctx.fillStyle=this.options.timeTextColor,this._ctx.textAlign=align||"left",this._timeWidthArray[0]%60==0&&(timeTexts[1]=timeTexts[1].replace(/:00$/,"")),this._ctx.fillText(timeTexts[1],x,y+8*this.options.dpr),!this.options.showYearMonthDay||"00:00:00"!==timeTexts[1]&&"00:00"!==timeTexts[1]&&this._timeWidthArray[0]*this._timeWidthArray[2]!==86400||(this._ctx.textAlign=align||"left",this._ctx.fillText(timeTexts[0],x,y+18*this.options.dpr));}},_proto._drawSections=function(){for(var timeArr=this.timeSections||[],i=0;i<timeArr.length;i++){var position=this._findPosition(timeArr[i]);this._ctx&&TimeLineUtil.isOverlap(0,this.width*this.options.dpr,position.x1,position.x2)&&(this._ctx.fillStyle=this.options.timeSectionColor,this._ctx.fillRect(position.x1,0,position.x2-position.x1,this.height*this.options.dpr));}},_proto._findPosition=function(item){var x1=(parseInt((item.startTime-this.current.getTime())/1e3+"",10)/this._timeWidthArray[0]*this._curScaleSpacing+this.width/2)*this.options.dpr;return {x1:x1,x2:x1+parseInt((item.endTime-item.startTime)/1e3+"",10)/this._timeWidthArray[0]*this._curScaleSpacing*this.options.dpr}},_proto._mergeTimeSections=function(timeSections){if(0===timeSections.length)return timeSections;for(var merged=[(timeSections=timeSections.map(function(item){return 10===(item.startTime+"").length&&(item.startTime=1e3*item.startTime),10===(item.endTime+"").length&&(item.endTime=1e3*item.endTime),_extends({},item,{startTime:item.startTime,endTime:item.endTime})}))[0]],i=1;i<timeSections.length;i++){var prev=merged[merged.length-1],curr=timeSections[i];prev.endTime>=curr.startTime?prev.endTime=Math.max(prev.endTime,curr.endTime):merged.push(curr);}return merged},_proto._addEventListener=function(){this._$canvas&&(this._$canvas.addEventListener("mousemove",this._mousemoveFun),this._$canvas.addEventListener("mouseover",this._mouseoverFun),this._$canvas.addEventListener("mouseleave",this._mouseleaveFun),this._$canvas.addEventListener("mousedown",this._mousedownFun),this._$canvas.addEventListener("mouseup",this._mouseUpFun),this._$canvas.addEventListener("wheel",this._mousewheelFun),this.$container.addEventListener("wheel",function(e){e.preventDefault();},{passive:false}),this._$canvas.addEventListener("keydown",this._ctrlKeyDownFun),this._$canvas.addEventListener("keyup",this._ctrlKeyUpFun),document.addEventListener("keydown",this._ctrlKeyDownFun,false),document.addEventListener("keyup",this._ctrlKeyUpFun,false),this._$canvas.addEventListener("touchstart",this._touchstartFun,{passive:false}),this._$canvas.addEventListener("touchmove",this._touchmoveFun,{passive:false}),this._$canvas.addEventListener("touchend",this._touchendFun,{passive:false}));},_proto._removeEventListener=function(){this._$canvas&&(this._$canvas.removeEventListener("mousemove",this._mousemoveFun),this._$canvas.removeEventListener("mouseover",this._mouseoverFun),this._$canvas.removeEventListener("mouseleave",this._mouseleaveFun),this._$canvas.removeEventListener("mousedown",this._mousedownFun),this._$canvas.removeEventListener("mouseup",this._mouseUpFun),this._$canvas.removeEventListener("wheel",this._mousewheelFun),this._$canvas.removeEventListener("keydown",this._ctrlKeyDownFun),this._$canvas.removeEventListener("keyup",this._ctrlKeyUpFun),document.removeEventListener("keydown",this._ctrlKeyDownFun),document.removeEventListener("keyup",this._ctrlKeyUpFun),this._$canvas.removeEventListener("touchstart",this._touchstartFun),this._$canvas.removeEventListener("touchmove",this._touchmoveFun),this._$canvas.removeEventListener("touchend",this._touchendFun));},_proto._mousedownFun=function(e){this.readOnly||(this._isMouseDown=true,this._mousePosition=e.pageX,this._oldTime=this.current,null==this.options.onDragStart||this.options.onDragStart.call(this.options,this.current));},_proto._mouseoverFun=function(){this.readOnly||(this._isOver=true);},_proto._mouseleaveFun=function(e){this.readOnly||(this._isOver=false,this._moveEndOrTouchEndFun(e));},_proto._mouseUpFun=function(e){this._moveEndOrTouchEndFun(e);},_proto._mousemoveFun=function(e){if(!this.readOnly)if(this._isMouseDown&&this._isOver)this._moveUpdateFun(e.pageX);else {var left=parseInt(this.$container.offsetLeft+"",10);this._mousePosition=e.pageX-left,this._update();}},_proto._mousewheelFun=function(e){e.preventDefault(),this.readOnly;},_proto._ctrlKeyDownFun=function(e){(e.ctrlKey||"Control"===e.key)&&(this._isCtrlKeyDown=true);},_proto._ctrlKeyUpFun=function(e){(e.ctrlKey||"Control"===e.key)&&(this._isCtrlKeyDown=false);},_proto._getTouchDistance=function(touches){var touch1=touches[0],touch2=touches[1],dx=touch2.clientX-touch1.clientX,dy=touch2.clientY-touch1.clientY;return Math.sqrt(dx*dx+dy*dy)},_proto._touchstartFun=function(e){if(!this.readOnly)if(this._oldTime=this.current,this._isOver=true,1===e.touches.length){var touch=e.touches[0];this._isMouseDown=true,this._mousePosition=touch.clientX;}else 2===e.touches.length&&(this._lastTouchDist=this._getTouchDistance(e.touches));},_proto._touchmoveFun=function(e){if(e.preventDefault(),e.stopPropagation(),!this.readOnly)if(1===e.touches.length){var touch=e.touches[0];this._moveUpdateFun(touch.clientX);}else if(2===e.touches.length){this._getTouchDistance(e.touches);this._lastTouchDist;}},_proto._touchendFun=function(e){this.readOnly||this._moveEndOrTouchEndFun(e);},_proto._moveEndOrTouchEndFun=function(e){e.preventDefault(),this.readOnly||this._isMouseDown&&(this._isMouseDown=false,this._moved&&(this._moved=false,this._update({current:this.current}),this._oldTime=this.current,null==this.options.onDragEnd||this.options.onDragEnd.call(this.options,this.current,this._isOver)),this._isOver&&Math.abs(this._mousePosition-(e.pageX||0))>5&&(null==this.options.onChange||this.options.onChange.call(this.options,this.current)),this._mousePosition=0,this._lastTouchDist=0);},_proto._moveUpdateFun=function(x){var mouseOffset=this._mousePosition-x;if(0!==mouseOffset){if(this._oldTime){var currentTime=this._oldTime.getTime()+1e3*parseInt(mouseOffset/this._curScaleSpacing*this._timeWidthArray[0]+"",10);this._update({current:new Date(currentTime)}),null==this.options.onDragging||this.options.onDragging.call(this.options,new Date(currentTime));}this._moved=true;}},_create_class(TimeLine,[{key:"_curScaleSpacing",get:function(){var _this__timeWidthArray,_this__timeWidthArray1;return Math.floor((null==(_this__timeWidthArray=this._timeWidthArray)?void 0:_this__timeWidthArray[1])-(null==(_this__timeWidthArray1=this._timeWidthArray)?void 0:_this__timeWidthArray1[1])*+(this.timeWidth%1/2).toFixed(2))}}]),TimeLine}(BaseTimeLine);TimeLine.TIME_WIDTH=TIME_WIDTH,dist$1.BaseTimeLine=BaseTimeLine,dist$1.MobileTimeLine=MobileTimeLine,dist$1.TimeLine=TimeLine;
13471
+ var deepmerge=requireCjs$1(),I18n=requireDist$9(),Picker=requireDist$c(),DragScroll=requireDist$1(),delegate=requireDist$b(),_$TIMELINE_LOCALES$_={zh:{title:"包含{{len}}段录像",foldTitle:"{{len}}个录像"},en:{title:"Includes {{len}} {{unit}}",foldTitle:"{{len}} {{unit}}"}};function _create_class$2(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false,descriptor.configurable=true,"value"in descriptor&&(descriptor.writable=true),Object.defineProperty(target,descriptor.key,descriptor);}}(Constructor.prototype,protoProps),Constructor}var _$BASE_TIME_LINE_DEFAULT_OPTIONS$_={current:new Date,language:"zh",timeSections:[],readOnly:false,className:"",timeWidth:0,width:"100%",timePointColor:"#1890ff",timeTextColor:"#FFF",timeScaleColor:"#FFF",timeSectionColor:"rgba(24, 144, 255, 0.5)",timeAxisBgColor:"#000",onChange:function(){},onDragStart:function(){},onDragging:function(){},onDragEnd:function(){},onDestroy:function(){}},BaseTimeLine=function(){function BaseTimeLine(container,options){if(this._current=new Date,this._readOnly=false,this._width=0,this._height=0,this._destroyed=false,this._timeWidth=0,this._timeSections=[],this.$container=container,!container)throw new Error("container is required");var left,right;this.options=deepmerge(_$BASE_TIME_LINE_DEFAULT_OPTIONS$_,options,{clone:false}),this.options.timeSections&&Array.isArray(this.options.timeSections)&&(this._timeSections=this.options.timeSections),this.options.readOnly&&(this.readOnly=this.options.readOnly),this.options.className&&this.$container.classList.add(this.options.className),this.$container.style.position="relative",this.options.current&&(left=this.options.current,null!=(right=Date)&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?right[Symbol.hasInstance](left):left instanceof right)?this._current=this.options.current||new Date:this._current=new Date,this.i18n=new I18n(deepmerge(_$TIMELINE_LOCALES$_,this.options.locales||{},{clone:false}),{defaultLocale:this.options.language||"zh"}),this._timeWidth=this.options.timeWidth||0,this._resize(this.options.width||"100%",this.options.height);}var _proto=BaseTimeLine.prototype;return _proto.setReadOnly=function(readOnly){this.readOnly=readOnly;},_proto.update=function(current){this._current=current;},_proto.updateTimeSections=function(timeSections){timeSections&&Array.isArray(timeSections)&&(this._timeSections=timeSections);},_proto.resize=function(width,height){this._resize(width,height);},_proto._resize=function(width,height){var cssText="";/^\d+(\.\d+)?$/.test(width+"")?cssText+="width: "+width+"px;":width&&(cssText+="width: "+width+";"),/^\d+(\.\d+)?$/.test(height+"")?cssText+="height: "+height+"px;":height&&(cssText+="height: "+height+";"),this.$container&&(this.$container.style.cssText+=cssText),this._width=Math.floor(this.$container.clientWidth),this._height=Math.floor(this.$container.clientHeight);},_proto.setTimeWidth=function(timeWidth){[0,1,2,3,4,5].includes(timeWidth)&&(this._timeWidth=timeWidth);},_proto.destroy=function(){this._current=null,null==this.options.onDestroy||this.options.onDestroy.call(this.options),this._timeSections=[],this._readOnly=false,this._destroyed=true;},_create_class$2(BaseTimeLine,[{key:"current",get:function(){return this._current},set:function(current){this._current=current;}},{key:"readOnly",get:function(){return this._readOnly},set:function(readOnly){this._readOnly!==readOnly&&(this._readOnly=readOnly,this.$container.style.cursor=readOnly?"not-allowed":"pointer");}},{key:"timeSections",get:function(){return this._timeSections}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}},{key:"timeWidth",get:function(){return this._timeWidth}}]),BaseTimeLine}();BaseTimeLine.LOCALES=_$TIMELINE_LOCALES$_;var TimeLineUtil=function(){function TimeLineUtil(){}return TimeLineUtil.toDate=function(time){var left,right,date=null;return "string"==typeof time&&time.includes(":")?date=new Date(time):"string"!=typeof time&&"number"!=typeof time||!/\d/.test(time+"")||10!==(time+"").length?"string"!=typeof time&&"number"!=typeof time||!/\d/.test(time+"")||13!==(time+"").length?(left=time,date=(null!=(right=Date)&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?right[Symbol.hasInstance](left):left instanceof right)?time:new Date):date=new Date(+time):date=new Date(1e3*+time),date},TimeLineUtil.formatDateToHHmmss=function(time){var date=TimeLineUtil.toDate(time);if(date){var h=date.getHours(),m=date.getMinutes(),s=date.getSeconds();return (h>9?h:"0"+h)+":"+(m>9?m:"0"+m)+":"+(s>9?s:"0"+s)}return "00:00:00"},TimeLineUtil.subTime=function(m){return +m>9?m+"":"0"+m},TimeLineUtil.tranTime=function(time,fmt){ void 0===fmt&&(fmt="YYYY-MM-DD HH:mm:ss");var newDate=TimeLineUtil.toDate(time);return newDate?"YYYY-MM-DD"===fmt?newDate.getFullYear()+"-"+TimeLineUtil.subTime(newDate.getMonth()+1)+"-"+TimeLineUtil.subTime(newDate.getDate()):"HH:mm:ss"===fmt?TimeLineUtil.subTime(newDate.getHours())+":"+TimeLineUtil.subTime(newDate.getMinutes())+":"+TimeLineUtil.subTime(newDate.getSeconds()):"HH"===fmt?TimeLineUtil.subTime(newDate.getHours()):"mm:ss"===fmt?TimeLineUtil.subTime(newDate.getMinutes())+":"+TimeLineUtil.subTime(newDate.getSeconds()):"HH:mm"===fmt?TimeLineUtil.subTime(newDate.getHours())+":"+TimeLineUtil.subTime(newDate.getMinutes()):"YYYYMMDDTHHmmssZ"===fmt?newDate.getFullYear()+""+TimeLineUtil.subTime(newDate.getMonth()+1)+TimeLineUtil.subTime(newDate.getDate())+"T"+TimeLineUtil.subTime(newDate.getHours())+TimeLineUtil.subTime(newDate.getMinutes())+TimeLineUtil.subTime(newDate.getSeconds())+"Z":newDate.getFullYear()+"-"+TimeLineUtil.subTime(newDate.getMonth()+1)+"-"+TimeLineUtil.subTime(newDate.getDate())+" "+TimeLineUtil.subTime(newDate.getHours())+":"+TimeLineUtil.subTime(newDate.getMinutes())+":"+TimeLineUtil.subTime(newDate.getSeconds()):""},TimeLineUtil.timeToSecond=function(time){var e=time.split(":");return 60*Number(e[0])*60+60*Number(e[1])+(Number(e[2])||0)},TimeLineUtil.minuteToTime=function(minute){var hour=Math.floor(minute/60),m=minute%60;return (hour>9?hour:"0"+hour)+":"+(m>9?m:"0"+m)},TimeLineUtil.timeToMinute=function(time){var e=time.split(":");return 60*Number(e[0])+Number(e[1])},TimeLineUtil.isOverlap=function(a_start,a_end,b_start,b_end){return Math.max(a_start,b_start)<=Math.min(a_end,b_end)},TimeLineUtil.tranTimeToString=function(start,end){var _TimeLineUtil_toDate,_TimeLineUtil_toDate1,secondNum=Math.floor((null==(_TimeLineUtil_toDate=TimeLineUtil.toDate(end))?void 0:_TimeLineUtil_toDate.getTime())-(null==(_TimeLineUtil_toDate1=TimeLineUtil.toDate(start))?void 0:_TimeLineUtil_toDate1.getTime()))/1e3,second=secondNum%60,minute=Math.floor(secondNum/60);return (minute>0?TimeLineUtil.subTime(minute)+"'":"0'")+TimeLineUtil.subTime(second)+"''"},TimeLineUtil}(),_$TIMELINE_ICONS$__tip='<svg viewBox="0 0 57 24" fill="currentColor" width="1em" height="1em" focusable="false" aria-hidden="true" data-icon="tip">\n <path class="ez-time-line-icon-tip" fill-rule="evenodd" d="m4,0l44,0c2.2091,0 4,1.7909 4,4l0,3.8218l4.9399,3.3572c0.5839,0.3968 0.5839,1.2574 0,1.6542l-4.9399,3.3572l0,3.8096c0,2.2091 -1.7909,4 -4,4l-44,0c-2.2091,0 -4,-1.7909 -4,-4l0,-16c0,-2.2091 1.7909,-4 4,-4z"/>\n </svg>',_$TIMELINE_ICONS$__plus='\n <svg viewBox="0 0 16 16" fill="currentColor" width="1em" height="1em" focusable="false" aria-hidden="true" data-icon="plus">\n <path d="M0 0L10.6667 0" stroke="rgb(44,44,44)" stroke-linecap="round" stroke-width="1.5" transform="matrix(0,1,-1,0,8,2.66663)"/>\n <path d="M2.66669 8L13.3334 8" stroke="rgb(44,44,44)" stroke-linecap="round" stroke-width="1.5"/>\n </svg>\n ',_$TIMELINE_ICONS$__minus='\n <svg viewBox="0 0 16 16" fill="currentColor" width="1em" height="1em" focusable="false" aria-hidden="true" data-icon="minus">\n <path d="M2.66669 8L13.3334 8" stroke="rgb(44,44,44)" stroke-linecap="round" stroke-width="1.5"/>\n </svg>\n ',_$TIMELINE_ICONS$__close='\n <svg viewBox="0 0 24 24" fill="none" width="1em" height="1em" stroke="currentColor" focusable="false" aria-hidden="true" data-icon="close">\n\t <path d="M0 0L15.9998 0" stroke-linecap="round" stroke-width="1.5" transform="matrix(0.707099,0.707114,-0.707114,0.707099,6.34277,6.34326)" />\n\t\t <path d="M0 0L15.9998 0" stroke-linecap="round" stroke-width="1.5" transform="matrix(0.707099,-0.707114,0.707114,0.707099,6.34277,17.6567)" />\n </svg>\n ',_$TIMELINE_ICONS$__pause='<svg viewBox="0 0 20 20" fill="currentColor" width="1em" height="1em" focusable="false" aria-hidden="true" data-icon="pause">\n\t\t <path d="M9.43914 2.47881L13.4688 8.4912C14.3594 9.81998 13.4071 11.6047 11.8074 11.6047L3.74811 11.6047C2.14849 11.6047 1.19616 9.81998 2.08675 8.4912L6.11641 2.47881C6.90863 1.2968 8.64693 1.2968 9.43914 2.47881Z" fill-rule="evenodd" transform="matrix(0,1,-1,0,16.5781,2.22229)" />\n </svg>\n ',_$TIMELINE_ICONS$__picture='\n <svg viewBox="0 0 19.1613 19.4583" fill="currentColor" width="1em" height="1em" focusable="false" aria-hidden="true" data-icon="picture">\n <path xmlns="http://www.w3.org/2000/svg" id="形状结合" d="M15.3276 2.63477L3.83173 2.63477C2.70848 2.63477 1.79541 3.55027 1.79541 4.68419L1.79541 14.7737C1.79541 15.9076 2.70848 16.8231 3.83173 16.8231L15.3276 16.8231C16.4504 16.8231 17.364 15.9074 17.364 14.7737L17.364 4.68419C17.364 3.55027 16.4509 2.63477 15.3276 2.63477ZM3.83247 3.851L15.3284 3.851C15.7936 3.851 16.1671 4.22551 16.1671 4.68429L16.1671 14.7738C16.1671 15.2323 15.7932 15.6071 15.3284 15.6071L3.83247 15.6071C3.36725 15.6071 2.99373 15.2326 2.99373 14.7738L2.99373 12.2622L6.7356 9.56381L6.78139 9.53916C6.84532 9.51493 6.91856 9.52524 6.9742 9.56947L13.2644 14.5698L13.3381 14.62C13.5918 14.7666 13.9197 14.7063 14.105 14.4658C14.3089 14.2014 14.263 13.8192 14.0026 13.6122L7.71239 8.61184L7.60526 8.5346C7.12945 8.22451 6.51026 8.23473 6.04222 8.57224L2.99373 10.7706L2.99373 4.68429C2.99373 4.22551 3.36725 3.851 3.83247 3.851ZM10.5794 7.29679C10.5794 6.06542 11.5624 5.0672 12.7749 5.0672C13.9875 5.0672 14.9705 6.06542 14.9705 7.29679C14.9705 8.52817 13.9875 9.52639 12.7749 9.52639C11.5624 9.52639 10.5794 8.52817 10.5794 7.29679ZM13.7722 7.2967C13.7722 6.73699 13.3254 6.28325 12.7742 6.28325C12.223 6.28325 11.7762 6.73699 11.7762 7.2967C11.7762 7.85642 12.223 8.31015 12.7742 8.31015C13.3254 8.31015 13.7722 7.85642 13.7722 7.2967Z" fill-rule="evenodd"/>\n </svg>\n ',TIME_WIDTH=[[1,10,10,"单位 1秒"],[60,20,5,"单位 1分钟"],[600,20,6,"单位 10分钟"],[3600,30,6,"单位 1小时"],[14400,40,2,"单位 4小时"],[43200,80,2,"单位 12小时"]],MOBILE_TIME_WIDTH=[[1,10,10,"单位 1分钟"],[10,20,5,"单位 10分钟"],[30,20,6,"单位 30分钟"],[60,30,6,"单位 1小时"],[120,40,2,"单位 2小时"],[240,80,2,"单位 4小时"]];function _create_class$1(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false,descriptor.configurable=true,"value"in descriptor&&(descriptor.writable=true),Object.defineProperty(target,descriptor.key,descriptor);}}(Constructor.prototype,protoProps),Constructor}function _extends$1(){return _extends$1=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key]);}return target},_extends$1.apply(this,arguments)}function _set_prototype_of$1(o,p){return _set_prototype_of$1=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of$1(o,p)}var _$MOBILE_TIME_LINE_DEFAULT_OPTIONS$_=Object.assign({},_$BASE_TIME_LINE_DEFAULT_OPTIONS$_,{height:400,width:"100%",timeWidth:0,readOnly:false,timePointColor:"#648FFC",timeTextColor:"#666666",timeScaleColor:"transparent",timeSectionColor:"#369FFF",timeAxisBgColor:"#BDCDFF",currentTimeBgColor:"#648FFC",currentTimeColor:"#FFFFFF",showTimeWidthBtn:true}),MobileTimeLine=function(BaseTimeLine){function MobileTimeLine(container,options){var _this;return (_this=BaseTimeLine.call(this,container,deepmerge(_$MOBILE_TIME_LINE_DEFAULT_OPTIONS$_,options,{clone:false}))||this)._isTouchStart=false,_this._dragScroll=null,_this._moveStartX=0,_this._moveStartY=0,_this.state={start:"00:00:00",end:"24:00:00",current:null,timeArr:[],availTimeLine:[],index:0},_this._plusClick=_this._plusClick.bind(_this),_this._minusClick=_this._minusClick.bind(_this),_this._onPickerClose=_this._onPickerClose.bind(_this),_this._onClickItem=_this._onClickItem.bind(_this),_this._onClickCoverFold=_this._onClickCoverFold.bind(_this),_this._onImageError=_this._onImageError.bind(_this),_this._render(),_this.options.timeSections&&Array.isArray(_this.options.timeSections)&&_this.updateTimeSections(_this.options.timeSections),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}}),superClass&&_set_prototype_of$1(subClass,superClass);}(MobileTimeLine,BaseTimeLine);var _proto=MobileTimeLine.prototype;return _proto.setReadOnly=function(readOnly){BaseTimeLine.prototype.setReadOnly.call(this,readOnly),this._dragScroll&&(this._dragScroll.readonly=readOnly);},_proto.setTimeWidth=function(timeWidth){MOBILE_TIME_WIDTH[timeWidth]&&(BaseTimeLine.prototype.setTimeWidth.call(this,timeWidth),this._matchTimeDot());},_proto.updateTimeSections=function(timeSections,defaultIndex){BaseTimeLine.prototype.updateTimeSections.call(this,timeSections);var list=timeSections.map(function(record){return _extends$1({},record,{startTime:TimeLineUtil.formatDateToHHmmss(record.startTime),endTime:TimeLineUtil.formatDateToHHmmss(record.endTime)})});if(list.length>0){ void 0===defaultIndex&&(defaultIndex=list.length-1);var current=this.state.current;this._setState({availTimeLine:list,start:list[defaultIndex].startTime,end:list[defaultIndex].endTime,current:null===current?list[defaultIndex].startTime:current}),this._matchTimeDot();}else this._setState({availTimeLine:[],current:TimeLineUtil.formatDateToHHmmss(this.current||(new Date).getTime())}),this._matchTimeDot();},_proto.update=function(time){var _this__dragScroll;time&&!(null==(_this__dragScroll=this._dragScroll)?void 0:_this__dragScroll.isDragging)&&(this._setState({current:TimeLineUtil.tranTime(time,"HH:mm:ss")}),this._currentOffsetH());},_proto.destroy=function(){var _this__dragScroll,_this__picker_$body_querySelectorAll,_this__picker_$body;if(this._scrollTimer&&(clearInterval(this._scrollTimer),this._scrollTimer=null),this._$currentTime)try{this.$container.removeChild(this._$currentTime),this._$currentTime=null;}catch(error){}if(this._$itemList&&this._imageRemoveErrorEvent(this._$itemList.querySelectorAll("img.ez-time-line-img")||[]),this._$itemContainer&&this._$itemList)try{this._$itemContainer.removeChild(this._$itemList),this._$itemList=null;}catch(error){}if(this._$itemContainer)try{this.$container.removeChild(this._$itemContainer),this._$itemContainer=null;}catch(error){}if(this._$op)try{this.$container.removeChild(this._$op),this._$op=null;}catch(error){}this._picker&&(this._imageRemoveErrorEvent((null==(_this__picker_$body=this._picker.$body)||null==(_this__picker_$body_querySelectorAll=_this__picker_$body.querySelectorAll)?void 0:_this__picker_$body_querySelectorAll.call(_this__picker_$body,"img"))||[]),this._picker.destroy(),this._picker=null);this._removeEventListener(),null==(_this__dragScroll=this._dragScroll)||_this__dragScroll.destroy(),this._dragScroll=null,BaseTimeLine.prototype.destroy.call(this);},_proto._setState=function(obj){var _this=this;Object.keys(obj).forEach(function(key){var _this__dragScroll,_this_timeSections_;"current"===key&&obj[key]?(_this._setCurrentDOM(obj[key]),_this.state.current===obj[key]||(null==(_this__dragScroll=_this._dragScroll)?void 0:_this__dragScroll.isDragging)||(_this.state[key]=obj[key],_this.current=new Date(TimeLineUtil.tranTime((null==(_this_timeSections_=_this.timeSections[0])?void 0:_this_timeSections_.endTime)||(new Date).getTime(),"YYYY-MM-DD")+" "+obj[key]),null==_this.options.onChange||_this.options.onChange.call(_this.options,_this.current))):_this.state[key]=obj[key];});},_proto._setCurrentDOM=function(time){this._$currentTime&&(this._$currentTime.querySelector(".ez-time-line-current-value").innerHTML=time);},_proto._matchTimeDot=function(){for(var scaleWidth=this._scaleWidth,timeArr=[],minute=TimeLineUtil.timeToMinute("24:00:00"),i=minute=Math.floor(minute/scaleWidth)*scaleWidth;i>=0;){var marginTop=0,marginBottom=0;i==minute&&(marginTop=70),0==i&&(marginBottom=this.$container.clientHeight-70);var time=TimeLineUtil.minuteToTime(i);timeArr.push({id:i,current:time,label:"a"+i,marginTop:marginTop,marginBottom:marginBottom,recArr:[],coverArr:this._filterTimeSectionsByTime(time)}),i-=scaleWidth;}this._setState({timeArr:timeArr}),this._matchRecTimeDot();},_proto._matchRecTimeDot=function(){var _this_state=this.state,availTimeLine=_this_state.availTimeLine,timeArr=_this_state.timeArr,scaleWidth=this._scaleWidth,len=availTimeLine.length;if(0===len)for(var j=0;j<timeArr.length;j++)timeArr[j].recArr=[];else {for(var k=0;k<timeArr.length;k++)timeArr[k].recArr=[];for(var i=0;i<len;i++){var stAvailPercent,etAvailPercent,temp=availTimeLine[i],st=TimeLineUtil.timeToSecond(temp.startTime),et=TimeLineUtil.timeToSecond(temp.endTime),stMinute=Math.floor(st/(60*scaleWidth))*scaleWidth;stAvailPercent=(st-60*stMinute)/scaleWidth;var etMinute=Math.floor(et/(60*scaleWidth))*scaleWidth;etAvailPercent=(et-60*etMinute)/scaleWidth;for(var j1=0;j1<timeArr.length;j1++)if(timeArr[j1].id==stMinute&&timeArr[j1].id==etMinute){var height=etAvailPercent-stAvailPercent,top=60-etAvailPercent;timeArr[j1].recArr.push({height:height,top:top});}else timeArr[j1].id==stMinute?timeArr[j1].recArr.push({height:60-stAvailPercent,top:0}):timeArr[j1].id==etMinute?timeArr[j1].recArr.push({height:etAvailPercent,top:60-etAvailPercent}):timeArr[j1].id>stMinute&&timeArr[j1].id<etMinute&&timeArr[j1].recArr.push({height:60,top:0});}}this._setState({timeArr:timeArr}),this._renderDateLine();},_proto._renderDateLine=function(){var _this=this,timeArr=this.state.timeArr,container=this._$itemList;this._imageRemoveErrorEvent(container.querySelectorAll("img.ez-time-line-img")||[]),container.innerHTML="",timeArr.forEach(function(item,index){var timeItemDOM=document.createElement("div");timeItemDOM.setAttribute("class","ez-time-line-time-scale-area"),item.marginTop&&(timeItemDOM.style.cssText+="margin-top: "+item.marginTop+"px;"),item.marginBottom&&(timeItemDOM.style.cssText+="margin-bottom: "+item.marginBottom+"px;"),timeItemDOM.style.cssText+="border-right-color: "+(_this.options.timeAxisBgColor||"rgba(189, 205, 255, 1)")+";",timeItemDOM.setAttribute("data-time",item.current),timeItemDOM.setAttribute("data-index",index+""),document.createElement("div").setAttribute("class","ez-time-line-scale");var timeItemHtml="";item.coverArr.length&&(timeItemHtml+='\n <div class="ez-time-line-time-cover-fold '+(item.coverArr.length>1?"ez-time-line-time-cover-fold-multiple":"")+'"\n data-start="'+item.current+'">\n '+(item.coverArr.length>1?'<div class="ez-time-line-cover-fold-placeholder" style="color: #FFF"></div>':"")+'\n <div class="ez-time-line-time-cover-fold-img">\n <img src="'+_this._setImageScr(item.coverArr[0].coverPic)+'" class="ez-time-line-img"/>\n <span class="ez-time-line-time-cover-fold-len">\n '+(item.coverArr.length>1?_this.i18n.t("foldTitle",{len:item.coverArr.length,unit:"videos"}):""+TimeLineUtil.tranTime(item.coverArr[0].startTime,"HH:mm"))+"\n </span>\n "+(1===item.coverArr.length?'<span class="ez-time-line-time-cover-fold-time">'+TimeLineUtil.tranTimeToString(item.coverArr[0].startTime,item.coverArr[0].endTime)+"</span>":"")+'\n <span class="ez-time-line-time-cover-fold-pause">'+_$TIMELINE_ICONS$__pause+"</span>\n </div>\n </div>"),item.recArr.forEach(function(i){timeItemHtml+='<div class="ez-time-line-time-unavail"\n style="height: '+i.height+"px;background-color:"+(_this.options.timeSectionColor||"#369FFF")+"; top: "+i.top+'px">\n </div>';}),timeItemHtml+="<div id="+item.label+' class="ez-time-line-time-label" style="color: '+(_this.options.timeTextColor||"#666")+'">'+item.current+"</div>",timeItemDOM.innerHTML=timeItemHtml,container.appendChild(timeItemDOM),_this._imageErrorEvent(container.querySelectorAll("img.ez-time-line-img")||[]);}),this._currentOffsetH();},_proto._currentOffsetH=function(){var current=this.state.current;if(current){var _this__dragScroll,y=(86400-TimeLineUtil.timeToSecond(current)||0)/this._scaleWidth;null==(_this__dragScroll=this._dragScroll)||_this__dragScroll.scrollToY(y+60,false);}},_proto._render=function(){var _this=this;if(this._$currentTime=document.createElement("div"),this._$currentTime.classList.add("ez-time-line-current"),this._$currentTime.innerHTML='<div class="ez-time-line-current-content" style="color: '+(this.options.currentTimeBgColor||"#648FFC")+'">\n <span class="ez-time-line-current-tip">'+_$TIMELINE_ICONS$__tip+'</span>\n <span class="ez-time-line-current-tip-line" style="background-color: '+(this.options.timePointColor||"#648FFC")+';"></span>\n <div class="ez-time-line-current-value" style="color: '+(this.options.currentTimeColor||"#FFFFFF")+'">00:00:00</div>\n </div>',this.$container.appendChild(this._$currentTime),this._$itemContainer=document.createElement("div"),this._$itemContainer.classList.add("ez-time-line-container"),this.$container.appendChild(this._$itemContainer),this._dragScroll=new DragScroll(this._$itemContainer,{hideScrollbar:true,onChange:function(state){var result=_this._offsetYToTime(state.y);result[1]!==_this.state.current&&_this._setCurrentDOM(result[0]>=86400?"23:59:59":result[1]);},onDragStart:function(e){_this._moveStartX=e.clientX,_this._moveStartY=e.clientY,null==_this.options.onDragStart||_this.options.onDragStart.call(_this.options,_this.state.current);},onDragging:function(){null==_this.options.onDragging||_this.options.onDragging.call(_this.options,_this.state.current);},onDragEnd:function(){var _this__dragScroll,result=_this._offsetYToTime(null==(_this__dragScroll=_this._dragScroll)?void 0:_this__dragScroll.currentY);result[1]!==_this.state.current&&_this._setState({current:result[0]>=86400?"23:59:59":result[1]}),null==_this.options.onDragEnd||_this.options.onDragEnd.call(_this.options,_this.state.current);}}),/\d/.test(this.options.height))this._$itemContainer.style.cssText+="height: "+this.options.height+"px";else if("string"==typeof this.options.height)this._$itemContainer.style.cssText+="height: "+this.options.height;else {var height=this.$container.clientHeight;this._$itemContainer.style.cssText+="height: "+height+"px";}this._$itemList=document.createElement("div"),this._$itemList.classList.add("ez-time-line-item"),this._dragScroll.$content.appendChild(this._$itemList),this.options.showTimeWidthBtn&&(this._$op=document.createElement("div"),this._$op.classList.add("ez-time-line-op"),this._$op.innerHTML='<span class="ez-time-line-op-wrapper"><span class="ez-time-line-icon-plus">'+_$TIMELINE_ICONS$__plus+'</span> <span class="ez-time-line-icon-minus">'+_$TIMELINE_ICONS$__minus+"</span></span>",this.$container.appendChild(this._$op)),this._picker=new Picker(null,{isMobile:true,wrapClassName:"ez-time-line-picker",onOpenChange:function(isOpen){var _this_options_onPickerOpenChange,_this_options;null==(_this_options=_this.options)||null==(_this_options_onPickerOpenChange=_this_options.onPickerOpenChange)||_this_options_onPickerOpenChange.call(_this_options,isOpen);}}),this._addEventListener();},_proto._addEventListener=function(){var _this__$op_querySelector,_this__$op_querySelector1;this.options.showTimeWidthBtn&&this._$op&&(null==(_this__$op_querySelector=this._$op.querySelector(".ez-time-line-icon-plus"))||_this__$op_querySelector.addEventListener("click",this._plusClick,false),null==(_this__$op_querySelector1=this._$op.querySelector(".ez-time-line-icon-minus"))||_this__$op_querySelector1.addEventListener("click",this._minusClick,false));this._matchTimeDot(),this._picker&&(this._delegatePickerClose=delegate(this._picker.$body,".ez-time-line-picker-close","click",this._onPickerClose,false),this._delegateItemContent=delegate(this._picker.$body,".ez-time-line-picker-item-content","click",this._onClickItem,false),this._delegateCoverFold=delegate(this._$itemList,".ez-time-line-time-cover-fold","click",this._onClickCoverFold,false));},_proto._removeEventListener=function(){var _this__$op_querySelector,_this__$op_querySelector1,_this__picker_$body_querySelector,_this__picker_$body;this.options.showTimeWidthBtn&&this._$op&&(null==(_this__$op_querySelector=this._$op.querySelector(".ez-time-line-icon-plus"))||_this__$op_querySelector.removeEventListener("click",this._plusClick),null==(_this__$op_querySelector1=this._$op.querySelector(".ez-time-line-icon-minus"))||_this__$op_querySelector1.removeEventListener("click",this._minusClick));this._picker&&(null==(_this__picker_$body=this._picker.$body)||null==(_this__picker_$body_querySelector=_this__picker_$body.querySelector(".ez-time-line-picker-close"))||_this__picker_$body_querySelector.removeEventListener("click",this._onPickerClose),this._delegateItemContent&&(this._delegateItemContent.forEach(function(delegation){delegation.destroy();}),this._delegateItemContent=null),this._delegatePickerClose&&(this._delegatePickerClose.forEach(function(delegation){delegation.destroy();}),this._delegatePickerClose=null),this._delegateCoverFold&&(this._delegateCoverFold.forEach(function(delegation){delegation.destroy();}),this._delegateCoverFold=null));},_proto._plusClick=function(){var timeWidth=this.timeWidth+1;timeWidth>0&&timeWidth<MOBILE_TIME_WIDTH.length&&this.setTimeWidth(timeWidth);},_proto._minusClick=function(){var timeWidth=this.timeWidth-1;timeWidth>=0&&timeWidth<MOBILE_TIME_WIDTH.length&&this.setTimeWidth(Math.floor(timeWidth));},_proto._timeSectionsToGroupsByHour=function(list){var obj={};return list.forEach(function(item,index){var hour=TimeLineUtil.tranTime(item.startTime,"HH");obj[+hour]?obj[+hour].push(_extends$1({},item,{_index:index})):obj[+hour]=[_extends$1({},item,{_index:index})];}),obj},_proto._filterTimeSectionsByTime=function(start){if(!start)return [];var startSecond=TimeLineUtil.timeToSecond(start+":00"),endSecond=TimeLineUtil.timeToSecond(start+":00")+60*this._scaleWidth;return this.timeSections.filter(function(item){var _$start=TimeLineUtil.timeToSecond(TimeLineUtil.tranTime(item.startTime,"HH:mm:ss"));return _$start>=startSecond&&_$start<endSecond})},_proto._renderPickerContent=function(start){var _this__picker_innerHTML,_this__picker,_this__picker1,_this__picker2,_this=this,list=this._filterTimeSectionsByTime(start),hourGroups=this._timeSectionsToGroupsByHour(list);(null==(_this__picker=this._picker)||null==(_this__picker_innerHTML=_this__picker.innerHTML)||_this__picker_innerHTML.call(_this__picker,'<div class="ez-time-line-picker-container">\n <div class="ez-time-line-picker-header">\n <span class="ez-time-line-picker-close">'+_$TIMELINE_ICONS$__close+"</span>\n "+this.i18n.t("title",{len:list.length,unit:list.length>1?"videos":"video"})+'\n </div>\n <div class="ez-time-line-picker-content">\n <div class="ez-time-line-picker-list">\n '+Object.keys(hourGroups).reverse().map(function(key){return '<div class="ez-time-line-picker-item">\n <div class="ez-time-line-picker-item-title">'+key+':00</div>\n <div class="ez-time-line-picker-item-list">\n '+hourGroups[key].reverse().map(function(item){return '<div class="ez-time-line-picker-item-content"\n data-start="'+TimeLineUtil.tranTime(item.startTime,"YYYYMMDDTHHmmssZ")+'"\n data-end="'+TimeLineUtil.tranTime(item.endTime,"YYYYMMDDTHHmmssZ")+'"\n data-index="'+item._index+'">\n <span class="ez-time-line-picker-item-time">'+TimeLineUtil.tranTime(item.startTime,"HH:mm")+'</span>\n <span class="ez-time-line-picker-item-duration">\n '+TimeLineUtil.tranTimeToString(item.startTime,item.endTime)+'\n </span>\n <img class="ez-time-line-picker-item-cover" src="'+_this._setImageScr(item.coverPic)+'"/>\n </div>'}).join("")+"\n </div>\n </div>"}).join("")+"\n </div>\n </div>\n </div>\n </div>"),null==(_this__picker1=this._picker)?void 0:_this__picker1.$body)&&this._imageErrorEvent((null==(_this__picker2=this._picker)?void 0:_this__picker2.$body.querySelectorAll("img"))||[]);},_proto._imageErrorEvent=function(list){var _this=this;void 0===list&&(list=[]),Array.from(list).forEach(function(img){img.hasAttribute("data-error")||img.addEventListener("error",_this._onImageError);});},_proto._imageRemoveErrorEvent=function(list){var _this=this;void 0===list&&(list=[]),Array.from(list).forEach(function(img){img.removeEventListener("error",_this._onImageError);});},_proto._onImageError=function(e){var img=e.target;if(!img.hasAttribute("data-error")){var _img_parentNode,placeholder=document.createElement("div");placeholder.classList.add("ez-time-line-item-cover-placeholder"),placeholder.innerHTML=""+_$TIMELINE_ICONS$__picture,null==(_img_parentNode=img.parentNode)||_img_parentNode.appendChild(placeholder),img.remove();}},_proto._onPickerClose=function(){this._picker&&(this._picker.open=false);},_proto._onClickItem=function(e){var _e_delegateTarget_getAttribute,_e_delegateTarget,index=null==(_e_delegateTarget=e.delegateTarget)||null==(_e_delegateTarget_getAttribute=_e_delegateTarget.getAttribute)?void 0:_e_delegateTarget_getAttribute.call(_e_delegateTarget,"data-index");this._picker&&(this._picker.open=false),null==this.options.onPickerSelect||this.options.onPickerSelect.call(this.options,this.timeSections[+index]);},_proto._onClickCoverFold=function(e){var _e_delegateTarget_parentElement_getAttribute,_e_delegateTarget_parentElement,_e_delegateTarget;e.preventDefault();var time=null==(_e_delegateTarget=e.delegateTarget)||null==(_e_delegateTarget_parentElement=_e_delegateTarget.parentElement)||null==(_e_delegateTarget_parentElement_getAttribute=_e_delegateTarget_parentElement.getAttribute)?void 0:_e_delegateTarget_parentElement_getAttribute.call(_e_delegateTarget_parentElement,"data-time"),moveX=Math.abs(this._moveStartX-e.clientX),moveY=Math.abs(this._moveStartY-e.clientY);this._picker&&time&&!(moveX>=1||moveY>=1)&&(this._renderPickerContent(time),this._picker.open=true);},_proto._setImageScr=function(src){if(src){var query="x=200&"+(this.options.coverQuery||"");return src+(src.includes("?")?"&":"?")+query}return ""},_proto._offsetYToTime=function(offsetY){var _this__dragScroll,y=offsetY;offsetY<60&&(y=60,null==(_this__dragScroll=this._dragScroll)||_this__dragScroll.scrollToY(y));var second=86400-Math.floor((y-60)*this._scaleWidth);return [second,TimeLineUtil.subTime(Math.floor(second/3600))+":"+TimeLineUtil.subTime(Math.floor(second%3600/60))+":"+TimeLineUtil.subTime(second%60)]},_create_class$1(MobileTimeLine,[{key:"_scaleWidth",get:function(){return (MOBILE_TIME_WIDTH[this.timeWidth]||MOBILE_TIME_WIDTH[0])[0]}}]),MobileTimeLine}(BaseTimeLine);function _create_class(Constructor,protoProps,staticProps){return protoProps&&function(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false,descriptor.configurable=true,"value"in descriptor&&(descriptor.writable=true),Object.defineProperty(target,descriptor.key,descriptor);}}(Constructor.prototype,protoProps),Constructor}function _extends(){return _extends=Object.assign||function(target){for(var i=1;i<arguments.length;i++){var source=arguments[i];for(var key in source)Object.prototype.hasOwnProperty.call(source,key)&&(target[key]=source[key]);}return target},_extends.apply(this,arguments)}function _set_prototype_of(o,p){return _set_prototype_of=Object.setPrototypeOf||function(o,p){return o.__proto__=p,o},_set_prototype_of(o,p)}var _$TIMELINE_DEFAULT_OPTIONS$_={height:36,dpr:window.devicePixelRatio||2,scaleOffsetTop:4,showYearMonthDay:true},TimeLine=function(BaseTimeLine){function TimeLine(container,options){var _this;return (_this=BaseTimeLine.call(this,container,deepmerge(_$TIMELINE_DEFAULT_OPTIONS$_,options,{clone:true}))||this)._$canvas=null,_this._ctx=null,_this._timeWidthArray=TIME_WIDTH[0],_this._centerPositionX=0,_this._isMouseDown=false,_this._mousePosition=0,_this._oldTime=null,_this._isOver=false,_this._moved=false,_this._isCtrlKeyDown=false,_this._lastTouchDist=0,_this.$container=container,_this._mousemoveFun=_this._mousemoveFun.bind(_this),_this._mouseoverFun=_this._mouseoverFun.bind(_this),_this._mouseleaveFun=_this._mouseleaveFun.bind(_this),_this._mousedownFun=_this._mousedownFun.bind(_this),_this._mouseUpFun=_this._mouseUpFun.bind(_this),_this._mousewheelFun=_this._mousewheelFun.bind(_this),_this._touchstartFun=_this._touchstartFun.bind(_this),_this._touchmoveFun=_this._touchmoveFun.bind(_this),_this._touchendFun=_this._touchendFun.bind(_this),_this._ctrlKeyDownFun=_this._ctrlKeyDownFun.bind(_this),_this._ctrlKeyUpFun=_this._ctrlKeyUpFun.bind(_this),_this._init(),_this}!function(subClass,superClass){if("function"!=typeof superClass&&null!==superClass)throw new TypeError("Super expression must either be null or a function");subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}}),superClass&&_set_prototype_of(subClass,superClass);}(TimeLine,BaseTimeLine);var _proto=TimeLine.prototype;return _proto._init=function(){this._$canvas=document.createElement("canvas"),this._ctx=this._$canvas.getContext("2d"),this.readOnly||(this._$canvas.style.cssText+="cursor: pointer;"),this.$container.appendChild(this._$canvas),this.resize(this.width,this.height),this._update({current:this.current,timeWidth:this.timeWidth,timeSections:this.timeSections}),this._addEventListener();},_proto.resize=function(width,height){BaseTimeLine.prototype.resize.call(this,width,height),this._$canvas&&width&&(this._$canvas.width=this.width*this.options.dpr,this._$canvas.style.cssText+="width: "+this.width+"px;"),this._$canvas&&height&&(this._$canvas.height=this.height*this.options.dpr,this._$canvas.style.cssText+="height: "+this.height+"px;"),this._draw();},_proto.setTimeWidth=function(timeWidth){this._update({timeWidth:timeWidth});},_proto.updateTimeSections=function(timeSections){this._update({timeSections:timeSections});},_proto.update=function(time){time&&!this._isMouseDown&&this._update({current:new Date(TimeLineUtil.tranTime(time,"YYYY-MM-DD HH:mm:ss"))});},_proto._update=function(options){var left,right,_this__$canvas;(void 0===options&&(options={}),(null==options?void 0:options.current)&&(left=options.current,null!=(right=Date)&&"undefined"!=typeof Symbol&&right[Symbol.hasInstance]?right[Symbol.hasInstance](left):left instanceof right)&&(this.current=options.current),(null==options?void 0:options.timeSections)&&BaseTimeLine.prototype.updateTimeSections.call(this,this._mergeTimeSections(options.timeSections)),"number"==typeof(null==options?void 0:options.timeWidth)&&(null==options?void 0:options.timeWidth)<TIME_WIDTH.length&&(BaseTimeLine.prototype.setTimeWidth.call(this,options.timeWidth),this._timeWidthArray=TIME_WIDTH[Math.floor(this.timeWidth)]),"number"==typeof(null==options?void 0:options.timeWidth)&&this._timeWidthArray)&&(this._timeWidthArray[3]&&(null==(_this__$canvas=this._$canvas)||_this__$canvas.setAttribute("data-title",this._timeWidthArray[3])));this._draw();},_proto.setReadOnly=function(readOnly){BaseTimeLine.prototype.setReadOnly.call(this,readOnly),this._$canvas&&(this._$canvas.style.cssText+="cursor: "+(readOnly?"not-allowed":"pointer"));},_proto.destroy=function(){if(this._removeEventListener(),this._$canvas)try{this.$container.removeChild(this._$canvas),this._$canvas=null;}catch(e){}BaseTimeLine.prototype.destroy.call(this);},_proto._draw=function(){this._ctx&&(this._ctx.fillStyle=this.options.timeAxisBgColor,this._ctx.fillRect(0,0,this.width*this.options.dpr,this.height*this.options.dpr)),this._drawSections(),this._drawScale();},_proto._drawScale=function(){var lineWidth=1*this.options.dpr;this._centerPositionX=parseInt(this.width*this.options.dpr/2+"");for(var centerPosition={x:this.width*this.options.dpr/2,y:this.height*this.options.dpr},curScaleTime=Math.floor(this.current.getTime()/1e3),offsetSecond=(curScaleTime-Math.floor(new Date(TimeLineUtil.tranTime(new Date(1e3*curScaleTime),"YYYY-MM-DD")+" 00:00:00").getTime()/1e3))%this._timeWidthArray[0],padding=this.height*this.options.dpr/20,spacing=this._curScaleSpacing*this.options.dpr,rightLastScaleTimeX=Math.floor(this._centerPositionX+(this._timeWidthArray[0]-offsetSecond)/this._timeWidthArray[0]*spacing),leftLastScaleTime=curScaleTime-offsetSecond,rightLastScaleTime=leftLastScaleTime+this._timeWidthArray[0],x=rightLastScaleTimeX-spacing;x>0;x-=spacing){0===(leftLastScaleTime-Math.floor(new Date(TimeLineUtil.tranTime(new Date(1e3*leftLastScaleTime),"YYYY-MM-DD")+" 00:00:00").getTime()/1e3))%(this._timeWidthArray[0]*this._timeWidthArray[2])?(this._drawSolidLine(x,padding,x,padding+(this.options.scaleOffsetTop+4)*this.options.dpr,lineWidth),this._drawTextString(TimeLineUtil.tranTime(new Date(1e3*leftLastScaleTime)),x,padding+(this.options.scaleOffsetTop+4+4)*this.options.dpr,"center")):this._drawSolidLine(x,padding,x,padding+this.options.scaleOffsetTop*this.options.dpr,lineWidth),leftLastScaleTime-=this._timeWidthArray[0];}for(var x1=rightLastScaleTimeX;x1<=this.width*this.options.dpr;x1+=spacing){0===(rightLastScaleTime-Math.floor(new Date(TimeLineUtil.tranTime(new Date(1e3*rightLastScaleTime),"YYYY-MM-DD")+" 00:00:00").getTime()/1e3))%(this._timeWidthArray[0]*this._timeWidthArray[2])?(this._drawSolidLine(x1,padding,x1,padding+(this.options.scaleOffsetTop+4)*this.options.dpr,lineWidth),this._drawTextString(TimeLineUtil.tranTime(new Date(1e3*rightLastScaleTime)),x1,padding+(this.options.scaleOffsetTop+4+4)*this.options.dpr,"center")):this._drawSolidLine(x1,padding,x1,padding+this.options.scaleOffsetTop*this.options.dpr,lineWidth),rightLastScaleTime+=this._timeWidthArray[0];}this._drawSolidLine(centerPosition.x,0,centerPosition.x,centerPosition.y,lineWidth,this.options.timePointColor);},_proto._drawSolidLine=function(startX,startY,endX,endY,lineWidth,color){this._ctx&&(this._ctx.save(),this._ctx.strokeStyle=null!=color?color:this.options.timeScaleColor,this._ctx.lineWidth=lineWidth,this._ctx.beginPath(),this._ctx.moveTo(startX,startY),this._ctx.lineTo(endX,endY),this._ctx.stroke(),this._ctx.restore());},_proto._drawTextString=function(text,x,y,align){if(this._ctx){var timeTexts=text.split(" ");this._ctx.font=12*this.options.dpr*1+"px serif",this._ctx.fillStyle=this.options.timeTextColor,this._ctx.textAlign=align||"left",this._timeWidthArray[0]%60==0&&(timeTexts[1]=timeTexts[1].replace(/:00$/,"")),this._ctx.fillText(timeTexts[1],x,y+8*this.options.dpr),!this.options.showYearMonthDay||"00:00:00"!==timeTexts[1]&&"00:00"!==timeTexts[1]&&this._timeWidthArray[0]*this._timeWidthArray[2]!==86400||(this._ctx.textAlign=align||"left",this._ctx.fillText(timeTexts[0],x,y+18*this.options.dpr));}},_proto._drawSections=function(){for(var timeArr=this.timeSections||[],i=0;i<timeArr.length;i++){var position=this._findPosition(timeArr[i]);this._ctx&&TimeLineUtil.isOverlap(0,this.width*this.options.dpr,position.x1,position.x2)&&(this._ctx.fillStyle=this.options.timeSectionColor,this._ctx.fillRect(position.x1,0,position.x2-position.x1,this.height*this.options.dpr));}},_proto._findPosition=function(item){var x1=(parseInt((item.startTime-this.current.getTime())/1e3+"",10)/this._timeWidthArray[0]*this._curScaleSpacing+this.width/2)*this.options.dpr;return {x1:x1,x2:x1+parseInt((item.endTime-item.startTime)/1e3+"",10)/this._timeWidthArray[0]*this._curScaleSpacing*this.options.dpr}},_proto._mergeTimeSections=function(timeSections){if(0===timeSections.length)return timeSections;for(var merged=[(timeSections=timeSections.map(function(item){return 10===(item.startTime+"").length&&(item.startTime=1e3*item.startTime),10===(item.endTime+"").length&&(item.endTime=1e3*item.endTime),_extends({},item,{startTime:item.startTime,endTime:item.endTime})}))[0]],i=1;i<timeSections.length;i++){var prev=merged[merged.length-1],curr=timeSections[i];prev.endTime>=curr.startTime?prev.endTime=Math.max(prev.endTime,curr.endTime):merged.push(curr);}return merged},_proto._addEventListener=function(){this._$canvas&&(this._$canvas.addEventListener("mousemove",this._mousemoveFun),this._$canvas.addEventListener("mouseover",this._mouseoverFun),this._$canvas.addEventListener("mouseleave",this._mouseleaveFun),this._$canvas.addEventListener("mousedown",this._mousedownFun),this._$canvas.addEventListener("mouseup",this._mouseUpFun),this._$canvas.addEventListener("wheel",this._mousewheelFun),this.$container.addEventListener("wheel",function(e){e.preventDefault();},{passive:false}),this._$canvas.addEventListener("keydown",this._ctrlKeyDownFun),this._$canvas.addEventListener("keyup",this._ctrlKeyUpFun),document.addEventListener("keydown",this._ctrlKeyDownFun,false),document.addEventListener("keyup",this._ctrlKeyUpFun,false),this._$canvas.addEventListener("touchstart",this._touchstartFun,{passive:false}),this._$canvas.addEventListener("touchmove",this._touchmoveFun,{passive:false}),this._$canvas.addEventListener("touchend",this._touchendFun,{passive:false}));},_proto._removeEventListener=function(){this._$canvas&&(this._$canvas.removeEventListener("mousemove",this._mousemoveFun),this._$canvas.removeEventListener("mouseover",this._mouseoverFun),this._$canvas.removeEventListener("mouseleave",this._mouseleaveFun),this._$canvas.removeEventListener("mousedown",this._mousedownFun),this._$canvas.removeEventListener("mouseup",this._mouseUpFun),this._$canvas.removeEventListener("wheel",this._mousewheelFun),this._$canvas.removeEventListener("keydown",this._ctrlKeyDownFun),this._$canvas.removeEventListener("keyup",this._ctrlKeyUpFun),document.removeEventListener("keydown",this._ctrlKeyDownFun),document.removeEventListener("keyup",this._ctrlKeyUpFun),this._$canvas.removeEventListener("touchstart",this._touchstartFun),this._$canvas.removeEventListener("touchmove",this._touchmoveFun),this._$canvas.removeEventListener("touchend",this._touchendFun));},_proto._mousedownFun=function(e){this.readOnly||(this._isMouseDown=true,this._mousePosition=e.pageX,this._oldTime=this.current,null==this.options.onDragStart||this.options.onDragStart.call(this.options,this.current));},_proto._mouseoverFun=function(){this.readOnly||(this._isOver=true);},_proto._mouseleaveFun=function(e){this.readOnly||(this._isOver=false,this._moveEndOrTouchEndFun(e));},_proto._mouseUpFun=function(e){this._moveEndOrTouchEndFun(e);},_proto._mousemoveFun=function(e){if(!this.readOnly)if(this._isMouseDown&&this._isOver)this._moveUpdateFun(e.pageX);else {var left=parseInt(this.$container.offsetLeft+"",10);this._mousePosition=e.pageX-left,this._update();}},_proto._mousewheelFun=function(e){e.preventDefault(),this.readOnly;},_proto._ctrlKeyDownFun=function(e){(e.ctrlKey||"Control"===e.key)&&(this._isCtrlKeyDown=true);},_proto._ctrlKeyUpFun=function(e){(e.ctrlKey||"Control"===e.key)&&(this._isCtrlKeyDown=false);},_proto._getTouchDistance=function(touches){var touch1=touches[0],touch2=touches[1],dx=touch2.clientX-touch1.clientX,dy=touch2.clientY-touch1.clientY;return Math.sqrt(dx*dx+dy*dy)},_proto._touchstartFun=function(e){if(!this.readOnly)if(this._oldTime=this.current,this._isOver=true,1===e.touches.length){var touch=e.touches[0];this._isMouseDown=true,this._mousePosition=touch.clientX;}else 2===e.touches.length&&(this._lastTouchDist=this._getTouchDistance(e.touches));},_proto._touchmoveFun=function(e){if(e.preventDefault(),e.stopPropagation(),!this.readOnly)if(1===e.touches.length){var touch=e.touches[0];this._moveUpdateFun(touch.clientX);}else if(2===e.touches.length){this._getTouchDistance(e.touches);this._lastTouchDist;}},_proto._touchendFun=function(e){this.readOnly||this._moveEndOrTouchEndFun(e);},_proto._moveEndOrTouchEndFun=function(e){e.preventDefault(),this.readOnly||this._isMouseDown&&(this._isMouseDown=false,this._moved&&(this._moved=false,this._update({current:this.current}),this._oldTime=this.current,null==this.options.onDragEnd||this.options.onDragEnd.call(this.options,this.current,this._isOver)),this._isOver&&Math.abs(this._mousePosition-(e.pageX||0))>5&&(null==this.options.onChange||this.options.onChange.call(this.options,this.current)),this._mousePosition=0,this._lastTouchDist=0);},_proto._moveUpdateFun=function(x){var mouseOffset=this._mousePosition-x;if(0!==mouseOffset){if(this._oldTime){var currentTime=this._oldTime.getTime()+1e3*parseInt(mouseOffset/this._curScaleSpacing*this._timeWidthArray[0]+"",10);this._update({current:new Date(currentTime)}),null==this.options.onDragging||this.options.onDragging.call(this.options,new Date(currentTime));}this._moved=true;}},_create_class(TimeLine,[{key:"_curScaleSpacing",get:function(){var _this__timeWidthArray,_this__timeWidthArray1;return Math.floor((null==(_this__timeWidthArray=this._timeWidthArray)?void 0:_this__timeWidthArray[1])-(null==(_this__timeWidthArray1=this._timeWidthArray)?void 0:_this__timeWidthArray1[1])*+(this.timeWidth%1/2).toFixed(2))}}]),TimeLine}(BaseTimeLine);TimeLine.TIME_WIDTH=TIME_WIDTH,dist$1.BaseTimeLine=BaseTimeLine,dist$1.MobileTimeLine=MobileTimeLine,dist$1.TimeLine=TimeLine;
11339
13472
  return dist$1;
11340
13473
  }
11341
13474
 
@@ -13929,7 +16062,7 @@
13929
16062
  zh: zh,
13930
16063
  en: en
13931
16064
  };
13932
- /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '2.0.0-beta.6';
16065
+ /** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '2.0.1-beta.1';
13933
16066
 
13934
16067
  // 不要动这里的代码, 这个出口是为了编译成 umd 规范的文件
13935
16068