@ezuikit/player-theme 3.1.7-beta.4 → 3.1.8-beta.2

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/style.css CHANGED
@@ -7,7 +7,7 @@ body.ezplayer-body-mobile-noscroll{background-color:#000!important;height:100vh;
7
7
  .epicker-body-noscroll{overflow:hidden;touch-action:none}.epicker{box-shadow:0 9px 28px 8px #0000000d;display:none;margin:0;opacity:0;padding:0;position:absolute;transition:opacity .3s ease;vertical-align:top;z-index:1000}.epicker,.epicker-body{box-sizing:border-box;flex-direction:column}.epicker-body{display:flex}.epicker.epicker-mobile .epicker-mask{background:#0000004d;bottom:0;box-sizing:border-box;height:100%;left:0;position:fixed;right:0;top:0;width:100%;z-index:9998}.epicker.epicker-mobile .epicker-body{align-items:center;bottom:0;left:0;position:fixed;right:0;z-index:9999}
8
8
  .drag-scroll{box-sizing:border-box;margin:0;padding:0}.drag-scroll-container{cursor:grab;height:450px;overflow:hidden;position:relative;-webkit-tap-highlight-color:transparent}.drag-scroll-container,.drag-scroll-content{box-sizing:border-box;display:flex;flex-direction:column;margin:0;padding:0;width:100%}.drag-scroll-content{gap:18px;height:auto;transform:translateZ(0);will-change:transform}.drag-scroll-scrollbar{background-color:#0000001a;border-radius:3px;bottom:0;box-sizing:border-box;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s;width:6px}.drag-scroll-scrollbar.drag-scroll-show{opacity:1}.drag-scroll-scrollbar-thumb{background:linear-gradient(180deg,#4a90e2,#357abd);border-radius:3px;box-sizing:border-box;position:absolute;transition:height .2s;width:100%}
9
9
  .ez-time-line-container{box-sizing:border-box;display:block;height:300px;min-width:190px;overflow:hidden;padding-right:29%;position:relative;text-align:left;white-space:nowrap;width:52%!important}.ez-time-line-time-scale-area{border-bottom:none;border-right:12px solid;border-right-color:var(--ez-time-line-axis-border-color,#bdcdff);border-top:none;box-sizing:border-box;color:var(--ez-time-line-text-color,#666);font-size:12px;height:60px;margin:0;padding:0;position:relative}.ez-time-line-time-label{height:14px;left:45%;line-height:14px;position:relative;top:53px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ez-time-line-time-unavail{background-color:var(--ez-time-line-section-color,#ddd);box-sizing:border-box;left:100%;position:absolute;width:12px}.ez-time-line-current{box-sizing:border-box;height:29px;min-width:80px;padding-left:2.66666%;position:absolute;text-align:left;top:40px;width:23%;z-index:1}.ez-time-line-current-content{height:58px;position:relative;width:100%}.ez-time-line-current-tip{align-items:center;display:inline-flex;font-size:58px;position:absolute;width:58px;z-index:1}.ez-time-line-current-tip-line{background-color:#648ffc;border-radius:1px;height:1.5px;position:absolute;top:50%;transform:translateY(-50%);width:102%}.ez-time-line-current-value{color:#fff;font-size:12px;height:58px;line-height:58px;pointer-events:none;position:absolute;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:52px;z-index:1}.ez-time-line-time-cover-fold{align-items:flex-end;color:#fff;display:inline-flex;height:60px;position:absolute;right:-90px;transform:translate(22px);width:90px}.ez-time-line-time-cover-fold-img{border-radius:6px;height:50px;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:90px}.ez-time-line-time-cover-fold-img img{height:50px;-o-object-fit:cover;object-fit:cover;width:90px}.ez-time-line-time-cover-fold-img:before{background-color:var(--ez-time-line-cover-fold-overlay,rgba(0,0,0,.3));content:"";height:50px;left:0;position:absolute;top:0;width:90px;z-index:1}.ez-time-line-time-cover-fold-len{font-size:12px;font-size:11px;left:2px;position:absolute;top:2px;z-index:2}.ez-time-line-time-cover-fold-time{font-size:12px;font-size:11px;position:absolute;right:2px;top:2px;z-index:2}.ez-time-line-time-cover-fold-pause{bottom:2px;color:#fff;display:inline-flex;font-size:20px;position:absolute;right:0;z-index:2}.ez-time-line-cover-fold-placeholder{display:flex;height:60px;justify-content:center;position:absolute;width:90px}.ez-time-line-cover-fold-placeholder:after,.ez-time-line-cover-fold-placeholder:before{border-radius:6px;content:"";position:absolute}.ez-time-line-cover-fold-placeholder:before{background-color:var(--ez-time-line-cover-fold-placeholder-front,#ededed);height:30px;top:0;width:70px}.ez-time-line-cover-fold-placeholder:after{background-color:var(--ez-time-line-cover-fold-placeholder-back,#ccc);height:40px;top:5px;width:80px}.ez-time-line-item-cover-placeholder{align-items:center;background:linear-gradient(180deg,var(--ez-time-line-item-cover-placeholder-start,#b7c3cf),var(--ez-time-line-item-cover-placeholder-end,#d4d1d1) 100%);color:#fff;display:flex;font-size:20px;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:1}.ez-time-line-op{position:absolute;right:10%;top:50%;transform:translateY(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none}.ez-time-line-op-wrapper{display:inline-flex;flex-direction:column}.ez-time-line-icon-plus{margin-bottom:40px}.ez-time-line-icon-minus:not(.ez-time-line-disabled),.ez-time-line-icon-plus:not(.ez-time-line-disabled){align-items:center;border:1px solid var(--ez-time-line-op-btn-border,#999);border-radius:8px;box-sizing:border-box;color:#2c2c2c;cursor:pointer;display:inline-flex;font-size:16px;height:30px;justify-content:center;padding:7px;transition:color .3s ease,border-color .3s ease;width:30px}.ez-time-line-icon-minus:not(.ez-time-line-disabled):active,.ez-time-line-icon-plus:not(.ez-time-line-disabled):active{border-color:var(--ez-time-line-op-btn-active,#369fff);color:var(--ez-time-line-op-btn-active,#369fff)}.ez-time-line-disabled{border-color:var(--ez-time-line-op-btn-disabled-border,#dedede)!important;cursor:not-allowed!important}.ez-time-line-picker.epicker.epicker-mobile .epicker-body{align-items:normal;background-color:#fff;height:550px;max-height:70%}.ez-time-line-picker-container{box-sizing:border-box;display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.ez-time-line-picker-header{color:var(--ez-time-line-picker-header,#2c2c2c);display:flex;font-size:18px;font-weight:500;height:65px;letter-spacing:0;line-height:45px;padding:10px 70px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ez-time-line-picker-close,.ez-time-line-picker-header{align-items:center;box-sizing:border-box;justify-content:center}.ez-time-line-picker-close{color:var(--ez-time-line-picker-close,#20262c);cursor:pointer;display:inline-flex;font-size:24px;height:24px;left:15px;position:absolute;top:20px;transition:color .3s ease;width:24px}.ez-time-line-picker-close:active{color:var(--ez-time-line-picker-close-active,#f05757)}.ez-time-line-picker-content{box-sizing:border-box;flex:1 1 auto;overflow-x:hidden;overflow-y:auto}.ez-time-line-picker-item{margin-bottom:20px;padding-left:10px;padding-right:10px}.ez-time-line-picker-item-title{color:var(--ez-time-line-picker-item-title,#666);font-size:14px;font-weight:400;letter-spacing:0;line-height:20px;margin-bottom:10px;padding-left:1.5%}.ez-time-line-picker-item-list{display:flex;flex-wrap:wrap}.ez-time-line-picker-item-content{background-color:#ddd;border-radius:8px;display:flex;margin:0 1.5% 10px;overflow:hidden;padding-top:18.769%;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:30.333%}.ez-time-line-picker-item-content:before{background-color:rgba(0,0,0,.3);content:"";height:100%;left:0;position:absolute;top:0;width:100%}.ez-time-line-picker-item-time{left:5px}.ez-time-line-picker-item-duration,.ez-time-line-picker-item-time{color:#fff;font-size:12px;font-size:11px;font-weight:400;letter-spacing:0;line-height:13px;position:absolute;top:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.ez-time-line-picker-item-duration{right:5px}.ez-time-line-picker-item-cover{height:100%;left:0;-o-object-fit:cover;object-fit:cover;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:0}.ez-time-line-picker .ez-time-line-item-cover-placeholder{font-size:30px;z-index:1}.ez-time-line-hover-tip{background-color:var(--ez-time-line-hover-tip-bg,rgba(0,0,0,.75));border-radius:4px;box-shadow:0 2px 6px rgba(0,0,0,.25);box-sizing:border-box;color:var(--ez-time-line-hover-tip-color,#fff);display:none;font-size:12px;line-height:18px;opacity:0;padding:2px 8px;transition:opacity .12s ease;white-space:nowrap;z-index:25}.ez-time-line-hover-tip,.ez-time-line-section-icon-layer{left:0;pointer-events:none;position:absolute;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ez-time-line-section-icon-layer{overflow:hidden;z-index:2}.ez-time-line-section-icon{font-size:17px;line-height:0;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ez-time-line-section-icon,.ez-time-line-section-icon-count{align-items:center;cursor:pointer;display:inline-flex;justify-content:center;position:absolute}.ez-time-line-section-icon-count{border-radius:7px;box-sizing:border-box;font-size:10px;height:12px;line-height:11px;padding:0 3px;right:0;top:7px;transform:translate(50%,-50%);white-space:nowrap}
10
- .ez-ptz-container{background:hsla(0,0%,100%,.8);border:1px solid hsla(0,0%,100%,.8);border-radius:100%;box-shadow:0 0 33px 4px rgba(0,0,0,.15);cursor:pointer;font-size:14px;height:80px;overflow:hidden;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:80px}.ez-ptz-icon{display:inline-block;height:0;position:absolute;width:0}.ez-ptz-icon.ez-ptz-icon-icon-active{border-bottom-color:#407aff}.ez-ptz-direction-top{border-bottom:8px solid #999;top:2px}.ez-ptz-direction-bottom,.ez-ptz-direction-top{border-left:4px solid transparent;border-right:4px solid transparent;left:calc(50% - 4px)}.ez-ptz-direction-bottom{border-top:8px solid #999;bottom:2px}.ez-ptz-direction-right{border-left:8px solid #999;right:2px}.ez-ptz-direction-left,.ez-ptz-direction-right{border-bottom:4px solid transparent;border-top:4px solid transparent;top:calc(50% - 4px)}.ez-ptz-direction-left{border-right:8px solid #999;left:2px}.ez-ptz-direction-top-left{top:calc(25% - 4px)}.ez-ptz-direction-left-bottom,.ez-ptz-direction-top-left{background:#999;border-radius:50%;height:4px;left:16px;width:4px}.ez-ptz-direction-left-bottom{bottom:calc(25% - 4px)}.ez-ptz-direction-bottom-right{bottom:calc(25% - 4px)}.ez-ptz-direction-bottom-right,.ez-ptz-direction-right-top{background:#999;border-radius:50%;height:4px;right:16px;width:4px}.ez-ptz-direction-right-top{top:calc(25% - 4px)}.ez-ptz-direction-center{background:#407aff;border-radius:100%;height:23px;left:calc(50% - 12.4px);position:absolute;top:calc(50% - 12.4px);width:23px}.ez-ptz-container-wrap{align-items:center;box-sizing:content-box!important;display:flex;flex-direction:column;justify-content:center;width:100%}.ez-ptz-speed-container{width:100%}.ez-ptz-speed-progress-line{background:#fff;display:flex;height:1px;justify-content:space-between;margin:16px 0 8px}.ez-ptz-speed-progress-line-dot{background:#fff;border:2px solid #fff;border-radius:50%;cursor:pointer;height:9px;margin:-3px 0;width:9px}.ez-ptz-speed-progress-line-dot.ez-ptz-speed-active{border-color:#407aff}.ez-ptz-speed-progress-points{display:flex;justify-content:space-between}.ez-ptz-speed-progress-points-fast,.ez-ptz-speed-progress-points-mid,.ez-ptz-speed-progress-points-slow{color:#fff;cursor:pointer}.ez-ptz-btn-container{display:flex;justify-content:space-between;margin-top:14px;width:100%}.ez-ptz-btn-focal,.ez-ptz-btn-zoom{border:1px solid hsla(0,0%,100%,.5);border-radius:10px;box-sizing:content-box;display:flex;height:20px;padding-bottom:0}.ez-ptz-btn-focal-add,.ez-ptz-btn-focal-sub,.ez-ptz-btn-zoom-add,.ez-ptz-btn-zoom-sub{cursor:pointer;height:20px;text-align:center}.ez-ptz-btn-focal-add,.ez-ptz-btn-zoom-add{border-right:1px solid hsla(0,0%,100%,.5)}.ez-mobile-ptz{box-sizing:border-box}.ez-mobile-ptz-content{align-items:center;display:flex;justify-content:center}.ez-mobile-ptz-wrap{background-image:linear-gradient(180deg,#f6f8ff,hsla(0,0%,93%,.42) 50%);border-radius:100%;box-sizing:border-box;display:inline-block;overflow:hidden;padding:24px}.ez-mobile-ptz-container{background:hsla(0,0%,100%,.8);border:1px solid hsla(0,0%,100%,.8);border-radius:100%;box-sizing:border-box;cursor:pointer;height:260px;margin:auto;overflow:hidden;position:relative;width:260px}.ez-mobile-ptz-center{background:#fff;border:2px solid #eee;border-radius:100%;cursor:pointer;height:52px;left:calc(50% - 26px);position:absolute;top:calc(50% - 26px);width:52px}.ez-mobile-ptz-top{border-bottom:6px solid #aaa;border-left:6px solid transparent;border-right:6px solid transparent;cursor:pointer;display:inline-block;height:0;left:calc(50% - 6px);position:absolute;top:10px;width:0}.ez-mobile-ptz-top.ez-mobile-ptz-active{border-bottom-color:#1890ff}.ez-mobile-ptz-left{border-bottom:6px solid transparent;border-right:6px solid #aaa;border-top:6px solid transparent;cursor:pointer;display:inline-block;height:0;left:10px;position:absolute;top:calc(50% - 6px);width:0}.ez-mobile-ptz-left.ez-mobile-ptz-active{border-right-color:#1890ff}.ez-mobile-ptz-bottom{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #aaa;bottom:10px;display:inline-block;height:0;left:calc(50% - 6px);position:absolute;width:0}.ez-mobile-ptz-bottom.ez-mobile-ptz-active{border-top-color:#1890ff}.ez-mobile-ptz-right{border-bottom:6px solid transparent;border-left:6px solid #aaa;border-top:6px solid transparent;display:inline-block;height:0;position:absolute;right:10px;top:calc(50% - 6px);width:0}.ez-mobile-ptz-right.ez-mobile-ptz-active{border-left-color:#1890ff}
10
+ .ez-ptz-container{background:hsla(0,0%,100%,.8);border:1px solid hsla(0,0%,100%,.8);border-radius:100%;box-shadow:0 0 33px 4px rgba(0,0,0,.15);cursor:pointer;font-size:14px;height:80px;overflow:hidden;position:relative;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:80px;-webkit-touch-callout:none}.ez-ptz-icon{display:inline-block;height:0;position:absolute;width:0}.ez-ptz-icon.ez-ptz-icon-icon-active{border-bottom-color:#407aff}.ez-ptz-direction-top{border-bottom:8px solid #999;top:2px}.ez-ptz-direction-bottom,.ez-ptz-direction-top{border-left:4px solid transparent;border-right:4px solid transparent;left:calc(50% - 4px)}.ez-ptz-direction-bottom{border-top:8px solid #999;bottom:2px}.ez-ptz-direction-right{border-left:8px solid #999;right:2px}.ez-ptz-direction-left,.ez-ptz-direction-right{border-bottom:4px solid transparent;border-top:4px solid transparent;top:calc(50% - 4px)}.ez-ptz-direction-left{border-right:8px solid #999;left:2px}.ez-ptz-direction-top-left{top:calc(25% - 4px)}.ez-ptz-direction-left-bottom,.ez-ptz-direction-top-left{background:#999;border-radius:50%;height:4px;left:16px;width:4px}.ez-ptz-direction-left-bottom{bottom:calc(25% - 4px)}.ez-ptz-direction-bottom-right{bottom:calc(25% - 4px)}.ez-ptz-direction-bottom-right,.ez-ptz-direction-right-top{background:#999;border-radius:50%;height:4px;right:16px;width:4px}.ez-ptz-direction-right-top{top:calc(25% - 4px)}.ez-ptz-direction-center{background:#407aff;border-radius:100%;height:23px;left:calc(50% - 12.4px);position:absolute;top:calc(50% - 12.4px);width:23px}.ez-ptz-container-wrap{align-items:center;box-sizing:content-box!important;display:flex;flex-direction:column;justify-content:center;width:100%}.ez-ptz-speed-container{width:100%}.ez-ptz-speed-progress-line{background:#fff;display:flex;height:1px;justify-content:space-between;margin:16px 0 8px}.ez-ptz-speed-progress-line-dot{background:#fff;border:2px solid #fff;border-radius:50%;cursor:pointer;height:9px;margin:-3px 0;width:9px}.ez-ptz-speed-progress-line-dot.ez-ptz-speed-active{border-color:#407aff}.ez-ptz-speed-progress-points{display:flex;justify-content:space-between}.ez-ptz-speed-progress-points-fast,.ez-ptz-speed-progress-points-mid,.ez-ptz-speed-progress-points-slow{color:#fff;cursor:pointer}.ez-ptz-btn-container{display:flex;justify-content:space-between;margin-top:14px;width:100%}.ez-ptz-btn-focal,.ez-ptz-btn-zoom{border:1px solid hsla(0,0%,100%,.5);border-radius:10px;box-sizing:content-box;display:flex;height:20px;padding-bottom:0}.ez-ptz-btn-focal-add,.ez-ptz-btn-focal-sub,.ez-ptz-btn-zoom-add,.ez-ptz-btn-zoom-sub{cursor:pointer;height:20px;text-align:center;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.ez-ptz-btn-focal-add,.ez-ptz-btn-zoom-add{border-right:1px solid hsla(0,0%,100%,.5)}.ez-mobile-ptz{box-sizing:border-box}.ez-mobile-ptz-content{align-items:center;display:flex;justify-content:center}.ez-mobile-ptz-wrap{background-image:linear-gradient(180deg,#f6f8ff,hsla(0,0%,93%,.42) 50%);border-radius:100%;box-sizing:border-box;display:inline-block;overflow:hidden;padding:24px;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.ez-mobile-ptz-container{background:hsla(0,0%,100%,.8);border:1px solid hsla(0,0%,100%,.8);border-radius:100%;box-sizing:border-box;cursor:pointer;height:260px;margin:auto;overflow:hidden;position:relative;width:260px}.ez-mobile-ptz-center{background:#fff;border:2px solid #eee;border-radius:100%;cursor:pointer;height:52px;left:calc(50% - 26px);position:absolute;top:calc(50% - 26px);width:52px}.ez-mobile-ptz-top{border-bottom:6px solid #aaa;border-left:6px solid transparent;border-right:6px solid transparent;cursor:pointer;display:inline-block;height:0;left:calc(50% - 6px);position:absolute;top:10px;width:0}.ez-mobile-ptz-top.ez-mobile-ptz-active{border-bottom-color:#1890ff}.ez-mobile-ptz-left{border-bottom:6px solid transparent;border-right:6px solid #aaa;border-top:6px solid transparent;cursor:pointer;display:inline-block;height:0;left:10px;position:absolute;top:calc(50% - 6px);width:0}.ez-mobile-ptz-left.ez-mobile-ptz-active{border-right-color:#1890ff}.ez-mobile-ptz-bottom{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #aaa;bottom:10px;display:inline-block;height:0;left:calc(50% - 6px);position:absolute;width:0}.ez-mobile-ptz-bottom.ez-mobile-ptz-active{border-top-color:#1890ff}.ez-mobile-ptz-right{border-bottom:6px solid transparent;border-left:6px solid #aaa;border-top:6px solid transparent;display:inline-block;height:0;position:absolute;right:10px;top:calc(50% - 6px);width:0}.ez-mobile-ptz-right.ez-mobile-ptz-active{border-left-color:#1890ff}
11
11
  :root{--edate-header-height:34px;--edate-footer-height:36px;--edate-font-size:14px;--edate-min-width:246px;--edate-border-radius:2px;--edate-bg-color:#fff;--edate-default-color:rgba(0,0,0,.88);--edate-primary-color:#648ffc;--edate-on-primary-color:#fff;--edate-out-view-color:rgba(0,0,0,.25);--edate-hover-color:var(--edate-default-color,rgba(0,0,0,.88));--edate-hover-bg-color:rgba(0,0,0,.04);--edate-active-color:var(--edate-default-color,rgba(0,0,0,.88));--edate-active-bg-color:#e6f4ff;--edate-disabled-color:rgba(0,0,0,.25);--edate-disabled-bg-color:rgba(0,0,0,.04);--edate-disabled-active-bg-color:rgba(0,0,0,.25);--edate-border-color:rgba(5,5,5,.06);--edate-btn-border-color:#d9d9d9;--edate-close-color:#f05757;--edate-arrow-color:rgba(0,0,0,.45);--edate-calendar-border-radius:50%;--edate-calendar-cell-width:26px;--edate-calendar-cell-height:26px;--edate-calendar-weekday-height:30px;--edate-badge-color:var(--edate-primary-color,#648ffc);--edate-badge-size:3px;--edate-month-cell-height:52px;--edate-month-cell-inner-min-width:22px;--edate-month-cell-inner-height:22px;--edate-year-cell-height:52px;--edate-year-cell-inner-min-width:22px;--edate-year-cell-inner-height:22px;--edate-time-column-height:208px;--edate-time-cell-height:30px;--edate-arrow-hover-color:var(--edate-default-color,rgba(0,0,0,.88))}
12
12
  .epicker-mobile .edate-mobile{--edate-hover-bg-color:transparent}.edate-container{background-color:var(--edate-bg-color,#fff);box-sizing:border-box;display:flex;font-size:var(--edate-font-size,14px);max-height:80%;min-width:var(--edate-min-width,246px);text-align:center;width:100%}.edate-container *{border:none;box-sizing:border-box;margin:0;outline:none;padding:0;-webkit-tap-highlight-color:transparent}.edate-container li,.edate-container ul{border:0;box-sizing:border-box;list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.edate-container table,.edate-container tbody,.edate-container td,.edate-container th,.edate-container thead,.edate-container tr{border:0;border-color:transparent;border-spacing:0;box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.edate-container table:active,.edate-container table:focus,.edate-container table:focus-visible,.edate-container tbody:active,.edate-container tbody:focus,.edate-container tbody:focus-visible,.edate-container td:active,.edate-container td:focus,.edate-container td:focus-visible,.edate-container th:active,.edate-container th:focus,.edate-container th:focus-visible,.edate-container thead:active,.edate-container thead:focus,.edate-container thead:focus-visible,.edate-container tr:active,.edate-container tr:focus,.edate-container tr:focus-visible{background-color:transparent}.edate-container table{height:100%}.edate-panel{display:flex;flex-direction:column;width:100%}.edate-header{align-items:center;border-bottom:1px solid var(--edate-border-color,rgba(5,5,5,.06));box-sizing:border-box;color:var(--edate-default-color,rgba(0,0,0,.88));display:flex;font-weight:600;height:var(--edate-header-height,34px);justify-content:space-between;line-height:var(--edate-header-height,34px);padding:2px 15px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.edate-header-view{text-align:center;width:40%}.edate-header-title-hover{cursor:pointer;transition:color .2s ease-in-out}.edate-header-title-hover:hover{color:var(--edate-primary-color,#1677ff)}.edate-next-btns,.edate-prev-btns{display:inline-flex;height:var(--edate-header-height,34px);line-height:var(--edate-header-height,34px)}.edate-next-btn,.edate-prev-btn,.edate-super-next-btn,.edate-super-prev-btn{align-items:center;background:0 0;border:0;box-sizing:border-box;color:var(--edate-arrow-color,rgba(0,0,0,.45));cursor:pointer;display:inline-flex;font-size:var(--edate-font-size,14px);height:100%;justify-content:center;line-height:var(--edate-header-height,34px);min-width:1.6em;padding:0;transition:color .2s}.edate-next-btn:not(.edate-disabled):active,.edate-prev-btn:not(.edate-disabled):active,.edate-super-next-btn:not(.edate-disabled):active,.edate-super-prev-btn:not(.edate-disabled):active{color:var(--edate-arrow-hover-color,rgba(0,0,0,.88))}.edate-next-icon,.edate-prev-icon,.edate-super-next-icon,.edate-super-prev-icon{display:inline-flex;height:6px;position:relative;transform:rotate(-45deg);-webkit-user-select:none;-moz-user-select:none;user-select:none;width:6px}.edate-next-icon:before,.edate-prev-icon:before,.edate-super-next-icon:before,.edate-super-prev-icon:before{inset-inline-start:0;top:0}.edate-next-icon:before,.edate-prev-icon:before,.edate-super-next-icon:after,.edate-super-next-icon:before,.edate-super-prev-icon:after,.edate-super-prev-icon:before{border:0 solid;border-block-end-width:0;border-block-start-width:1.5px;border-inline-end-width:0;border-inline-start-width:1.5px;content:"";display:inline-block;height:6px;position:absolute;width:6px}.edate-super-next-icon:after,.edate-super-prev-icon:after{left:-4px;top:-4px}.edate-next-icon,.edate-super-next-icon{transform:rotate(135deg)}.edate-footer{align-items:center;border-top:1px solid var(--edate-border-color,rgba(5,5,5,.06));box-sizing:border-box;display:flex;font-size:12px;height:var(--edate-footer-height,36px);justify-content:flex-end;padding:6px 8px}.edate-footer .edate-btn+.edate-btn{margin-left:7px}.edate-btn-text,.edate-cancel,.edate-now,.edate-today{color:var(--edate-primary-color,#1677ff);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.edate-btn-text:not(.edate-disabled):active,.edate-cancel:not(.edate-disabled):active,.edate-now:not(.edate-disabled):active,.edate-today:not(.edate-disabled):active{opacity:.75}.edate-close-btn{align-items:center;cursor:pointer;font-size:24px}.edate-close-btn,.edate-close-btn .edate-close-icon{display:inline-flex}.edate-close-btn:active{color:var(--edate-close-color,#f05757)}.edate-btn-text{padding:2px 4px}.edate-btn-text.edate-disabled{color:var(--edate-disabled-color,rgba(0,0,0,.25))!important}.edate-btn{background-image:none;background:transparent;border:1px solid var(--edate-btn-border-color,#d9d9d9);border-radius:var(--edate-border-radius,2px);color:var(--edate-default-color,#262626);cursor:pointer;display:inline-block;font-size:12px;font-weight:400;height:24px;line-height:23px;min-width:32px;outline:none;padding:0 5px;position:relative;text-align:center;touch-action:manipulation;transition:all .2s cubic-bezier(.645,.045,.355,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.edate-btn.edate-disabled{background-color:var(--edate-disabled-bg-color,rgba(0,0,0,.04))!important;border-color:var(--edate-disabled-color,rgba(0,0,0,.25))!important;color:var(--edate-disabled-color,rgba(0,0,0,.25))!important;cursor:not-allowed!important}.edate-btn-primary{background-color:var(--edate-primary-color,#1677ff);border-color:var(--edate-primary-color,#1677ff);color:var(--edate-on-primary-color,#fff)}.edate-btn-primary:not(.edate-disabled):active{opacity:.75}.edate-disabled{cursor:not-allowed!important}.edate-disabled:before{background-color:var(--edate-disabled-bg-color,rgba(0,0,0,.04))!important}.edate-disabled:before,.edate-disabled>*{color:var(--edate-disabled-color,rgba(0,0,0,.25))!important;cursor:not-allowed!important}.edate-picker-date .emonth-container,.edate-picker-date .eyear-container,.edate-picker-month .ecalendar-container,.edate-picker-month .eyear-container,.edate-picker-year .ecalendar-container,.edate-picker-year .emonth-container{display:none}.edate-picker{border-radius:2px;overflow:hidden}.edate-picker .edate-panel{border:none}.epicker-mobile.edate-picker .epicker-body{background-color:var(--edate-bg-color,#fff);border-bottom-left-radius:0;border-bottom-right-radius:0;border-top-left-radius:10px;border-top-right-radius:10px;overflow:hidden;padding-bottom:15px}.epicker-mobile.edate-picker .epicker-body .edate-header{border-bottom:none;height:44px}
13
13
  .ecalendar{box-sizing:border-box;cursor:unset;line-height:normal;margin:0;padding-left:0;text-align:left}.ecalendar-panel{border:1px solid var(--edate-border-color,rgba(5,5,5,.06));box-sizing:border-box;display:flex;flex-direction:column;width:100%}.ecalendar-body{box-sizing:border-box;color:var(--edate-default-color,rgba(0,0,0,.88));flex:1 1 auto;padding:6px 10px}.ecalendar-content{box-sizing:border-box;width:100%}.ecalendar-content th{height:var(--edate-calendar-weekday-height,30px)}.ecalendar-content tr td{padding:3px 0}.ecalendar-content tr td:before{content:"";display:block;height:var(--edate-calendar-cell-height,24px);position:absolute;width:100%}.ecalendar-cell{box-sizing:border-box;color:var(--edate-out-view-color,rgba(0,0,0,.25));cursor:pointer;padding:0;position:relative;text-align:center}.ecalendar-cell:not(.edate-disabled):hover .ecalendar-cell-inner{background-color:var(--edate-hover-bg-color,rgba(0,0,0,.04))}.ecalendar-cell-in-view{color:var(--edate-default-color,rgba(0,0,0,.88))}.ecalendar-cell-in-view.ecalendar-cell-selected:not(.edate-disabled) .ecalendar-cell-inner{background-color:var(--edate-primary-color,#1677ff)!important;color:var(--edate-on-primary-color,#fff)}.ecalendar-cell-in-view.ecalendar-cell-selected:not(.edate-disabled) .ecalendar-badge{background-color:var(--edate-on-primary-color,#fff)}.ecalendar-cell-in-view.ecalendar-cell-selected.edate-disabled .ecalendar-cell-inner{background-color:var(--edate-disabled-bg-color,rgba(0,0,0,.25))}.ecalendar-cell-in-view.ecalendar-cell-today .ecalendar-cell-inner{border-color:var(--edate-primary-color,#1677ff)}.ecalendar-cell-in-view.ecalendar-cell-today.edate-disabled .ecalendar-cell-inner{border-color:var(--edate-disabled-bg-color,rgba(0,0,0,.25))}.ecalendar-cell-inner{align-items:center;border:1px solid transparent;border-radius:var(--edate-calendar-border-radius,2px);display:inline-flex;height:var(--edate-calendar-cell-height,26px);inset-inline-end:0;inset-inline-start:0;justify-content:center;line-height:var(--edate-calendar-cell-height,26px);padding:0;position:relative;transition:background .2s,border .2s;width:var(--edate-calendar-cell-width,26px);z-index:2}.ecalendar-cell .ecalendar-badge{background-color:var(--edate-badge-color,#1677ff);border-radius:50%;height:var(--edate-badge-size,3px);left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(8px);width:var(--edate-badge-size,3px);z-index:3}.ecalendar-cell.edate-disabled .ecalendar-badge{background-color:var(--edate-disabled-color,rgba(0,0,0,.25))}.epicker-mobile .ecalendar-content tr td{padding:8px 0}
package/dist/style.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * @ezuikit/player-theme v3.1.7-beta.4
3
- * Copyright (c) 2026-09-28 08:24:45 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v3.1.8-beta.2
3
+ * Copyright (c) 2026-10-10 15:37:05 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  require("./style.css");
@@ -524,6 +524,9 @@ type MessageType = 'info' | 'warn' | 'error';
524
524
  */
525
525
  interface MessageOptions extends Omit<ControlOptions, 'tagName' | 'controlType'> {
526
526
  /** 自定义消息内容渲染函数, 默认使用内置的渲染函数
527
+ *
528
+ * @remarks 返回值会原样写入 `innerHTML`,**不做转义**。内置渲染会对 `msg`
529
+ * 转义(消息文本可能来自内核或接口),一旦提供本函数,转义责任转交调用方。
527
530
  * @param {string} msg 消息内容
528
531
  * @param {number} duration 认自动关闭延时,单位秒, 默认 0 不关闭, 需手动调用 hide()
529
532
  * @param {MessageType} type 消息类型
@@ -1085,7 +1088,12 @@ interface SelectOptions extends Omit<ControlOptions, 'tagName'> {
1085
1088
  };
1086
1089
  /** dom节点 title 属性值 */
1087
1090
  title?: string;
1088
- /** 自定义当前选中的 label 内容 render */
1091
+ /**
1092
+ * 自定义当前选中的 label 内容 render
1093
+ *
1094
+ * @remarks 返回值会原样写入 `innerHTML`,**不做转义**。内置实现会转义 `label`
1095
+ * (清晰度/倍速列表可能由内核下发),一旦提供本函数,转义责任转交调用方。
1096
+ */
1089
1097
  renderLabel?: (label: string, item: SelectItem, list: SelectItem[]) => string;
1090
1098
  /**
1091
1099
  * 选中项变化回调
@@ -1499,7 +1507,7 @@ declare class Theme extends EventEmitter {
1499
1507
  readonly volumechange: "volumechange";
1500
1508
  readonly zoomChange: "zoomChange";
1501
1509
  readonly zoomingChange: "zoomingChange";
1502
- readonly zoomTranslateChange: "zoomTranslateChange"; /** resizeObserver 监听销毁 */
1510
+ readonly zoomTranslateChange: "zoomTranslateChange";
1503
1511
  readonly audioInfo: "audioInfo";
1504
1512
  readonly videoInfo: "videoInfo";
1505
1513
  readonly firstFrameDisplay: "firstFrameDisplay";
@@ -1512,10 +1520,10 @@ declare class Theme extends EventEmitter {
1512
1520
  readonly changeTheme: "changeTheme";
1513
1521
  readonly recTypeChange: "recTypeChange";
1514
1522
  readonly definitionChange: "definitionChange";
1515
- readonly speedChange: "speedChange"; /** 倍速 @private */
1516
- readonly recordingChange: "recordingChange";
1517
- readonly talkingChange: "talkingChange";
1518
- readonly talkVolumeChange: "talkVolumeChange";
1523
+ readonly speedChange: "speedChange";
1524
+ readonly recordingChange: "recordingChange"; /** 自定清晰度 @private */
1525
+ readonly talkingChange: "talkingChange"; /** 清晰度列表 */
1526
+ readonly talkVolumeChange: "talkVolumeChange"; /** 回放片段列表 */
1519
1527
  readonly broadcastChange: "broadcastChange";
1520
1528
  readonly aichatChange: "aichatChange";
1521
1529
  readonly liveChange: "liveChange";
@@ -1533,7 +1541,11 @@ declare class Theme extends EventEmitter {
1533
1541
  readonly playbackEnd: "playbackEnd";
1534
1542
  readonly control: {
1535
1543
  readonly play: "Control.play";
1536
- readonly playDestroy: "Control.playDestroy";
1544
+ readonly playDestroy: "Control.playDestroy"; /**
1545
+ * 模板请求(getDetail)的中止控制器。
1546
+ * 重新渲染或销毁时中止在途请求,避免请求返回后在已销毁/已切换的 theme 上继续操作。
1547
+ * @private
1548
+ */
1537
1549
  readonly capturePicture: "Control.capturePicture";
1538
1550
  readonly capturePictureResult: "Control.capturePictureResult";
1539
1551
  readonly capturePictureDestroy: "Control.capturePictureDestroy";
@@ -1596,12 +1608,7 @@ declare class Theme extends EventEmitter {
1596
1608
  readonly unsupportedPlayType: "Control.unsupportedPlayType";
1597
1609
  readonly beforeMountControls: "Control.beforeMountControls";
1598
1610
  readonly mountedControls: "Control.mountedControls";
1599
- readonly beforeUnmountControls: "Control.beforeUnmountControls"; /**
1600
- * 容器的宽(单位 px)
1601
- * ```ts
1602
- * theme.width // number
1603
- * ```
1604
- */
1611
+ readonly beforeUnmountControls: "Control.beforeUnmountControls";
1605
1612
  readonly unmountedControls: "Control.unmountedControls";
1606
1613
  readonly posterDestroy: "Control.posterDestroy";
1607
1614
  readonly loadingDestroy: "Control.loadingDestroy";
@@ -1623,7 +1630,7 @@ declare class Theme extends EventEmitter {
1623
1630
  readonly alarmMessageControlInit: "Control.alarmMessageControlInit";
1624
1631
  readonly zoomControlInit: "Control.zoomControlInit";
1625
1632
  readonly definitionControlInit: "Control.definitionControlInit";
1626
- readonly fullscreenControlInit: "Control.fullscreenControlInit";
1633
+ readonly fullscreenControlInit: "Control.fullscreenControlInit"; /** 多语言对象 https://www.npmjs.com/package/@ezuikit/utils-i18n @since 0.0.1 */
1627
1634
  readonly globalFullscreenControlInit: "Control.globalFullscreenControlInit";
1628
1635
  readonly recControlInit: "Control.recControlInit";
1629
1636
  readonly speedControlInit: "Control.speedControlInit";
@@ -1796,12 +1803,11 @@ declare class Theme extends EventEmitter {
1796
1803
  MAX_SPEED_LIMIT: string;
1797
1804
  MIN_SPEED_LIMIT: string;
1798
1805
  SPEED_SWITCH_ERRROR: string;
1799
- /** 播放器配置项 */
1800
1806
  SPEED_SWITCH_NOT_SUPPORT: string;
1801
1807
  SEEK_CANNOT_CROSS_DAYS: string;
1802
1808
  SEEK_TIMEFORMAT_ERROR: string;
1803
1809
  PAUSE: string;
1804
- PAUSE_FAILED: string;
1810
+ PAUSE_FAILED: string; /** 多语言对象 https://www.npmjs.com/package/@ezuikit/utils-i18n @since 0.0.1 */
1805
1811
  RESUME: string;
1806
1812
  RESUME_FAILED: string;
1807
1813
  CALL_END: string;
@@ -1813,13 +1819,18 @@ declare class Theme extends EventEmitter {
1813
1819
  PLEASE_INPUT_RIGHT_VIDEO_LEVEL: string;
1814
1820
  VIDEO_LEVEL_NOT_SUPPORT: string;
1815
1821
  VIDEO_LEVEL_AUTO: string;
1822
+ /** 暂停控件 @since 0.0.1 @private */
1816
1823
  VIDEO_LEVEL_FLUENT: string;
1817
1824
  VIDEO_LEVEL_STANDARD: string;
1818
1825
  VIDEO_LEVEL_HEIGH: string;
1819
- VIDEO_LEVEL_SUPER: string; /** 封面控件 @since 0.0.1 @private */
1826
+ VIDEO_LEVEL_SUPER: string;
1820
1827
  VIDEO_LEVEL_EXTREME: string;
1821
1828
  VIDEO_LEVEL_3K: string;
1822
1829
  VIDEO_LEVEL_4k: string;
1830
+ /**
1831
+ * @since 0.0.1
1832
+ * @private
1833
+ */
1823
1834
  RESET_THEME: string;
1824
1835
  BTN_PLAY: string;
1825
1836
  BTN_PAUSE: string;
@@ -1833,11 +1844,7 @@ declare class Theme extends EventEmitter {
1833
1844
  BTN_LIVE: string;
1834
1845
  BTN_REC_DROPDOWN: string;
1835
1846
  BTN_ALARM_MESSAGE: string;
1836
- REC_DROPDOWN_CLOUD_REC: string; /**
1837
- * 更多控件(footer more)
1838
- * @since 0.0.1
1839
- * @private
1840
- */
1847
+ REC_DROPDOWN_CLOUD_REC: string;
1841
1848
  REC_DROPDOWN_CLOUD_RECORD: string;
1842
1849
  REC_DROPDOWN_LOCAL_REC: string;
1843
1850
  BTN_ZOOM: string;
@@ -1849,16 +1856,13 @@ declare class Theme extends EventEmitter {
1849
1856
  BTN_EXIR_FULLSCREEN: string;
1850
1857
  BTN_HD: string;
1851
1858
  BTN_SPEED: string;
1852
- BTN_CLOUDREC: string; /**
1853
- * 移动端扩展容器, 扩展的控件渲染在指定容器以外, 仅只用端适用, 为了可以放置大的控件和方便开发接入
1854
- * @private
1855
- */
1859
+ BTN_CLOUDREC: string;
1856
1860
  BTN_CLOUDRECORD: string;
1857
1861
  BTN_REC: string;
1858
1862
  BTN_CALENDAR: string;
1859
1863
  BTN_TIME: string;
1860
1864
  BTN_MORE: string;
1861
- DEVICE_NAME: string; /** @since 0.0.1 @private */
1865
+ DEVICE_NAME: string;
1862
1866
  DEVICE_ID: string;
1863
1867
  CAPTURE_SUCCESS: string;
1864
1868
  CAPTURE_FAILED: string;
@@ -1871,7 +1875,6 @@ declare class Theme extends EventEmitter {
1871
1875
  OPEN_SOUND: string;
1872
1876
  CLOSE_SOUND: string;
1873
1877
  SOUND_OPENED: string;
1874
- /** resizeObserver 监听销毁 */
1875
1878
  ZOOM: string;
1876
1879
  START_ZOOM: string;
1877
1880
  CLOSE_ZOOM: string;
@@ -1880,7 +1883,7 @@ declare class Theme extends EventEmitter {
1880
1883
  ZOOM_ADD_MAX: string;
1881
1884
  ZOOM_SUB_MIN: string;
1882
1885
  ZOOM_LIMIT_MAX: string;
1883
- ZOOM_LIMIT_MIN: string; /** 当前容器的全屏状态 true: 全屏, false: 非全屏 */
1886
+ ZOOM_LIMIT_MIN: string;
1884
1887
  ZOOM_NOT_ENABLED: string;
1885
1888
  '3D_ZOOM': string;
1886
1889
  '3D_ZOOM_DISABLE': string;
@@ -1898,10 +1901,11 @@ declare class Theme extends EventEmitter {
1898
1901
  WEB_FULLSCREEN: string;
1899
1902
  WEB_FULLSCREEN_EXIT: string;
1900
1903
  DESTROY: string;
1904
+ /** 放大中 true: 可缩放状态,false: 禁止缩放状态(不能缩放) @private */
1901
1905
  GET_CAPACITY: string;
1902
- GET_PTZ_STATUS: string; /** 录制中 @private */
1906
+ GET_PTZ_STATUS: string;
1903
1907
  GET_PTZ_STATUS_FAILED: string;
1904
- MOBILE_HIDE_PTZ: string; /** 倍速 @private */
1908
+ MOBILE_HIDE_PTZ: string;
1905
1909
  OPTION_PTZ_FAILED: string;
1906
1910
  MOBILE_PTZ_TIPS: string;
1907
1911
  PTZ_FAST: string;
@@ -1922,6 +1926,9 @@ declare class Theme extends EventEmitter {
1922
1926
  SET_FEC_PARAMS: string;
1923
1927
  GET_FEC_PARAMS: string;
1924
1928
  SET_FEC_PARAMS_FAILED: string;
1929
+ /**
1930
+ * 录像回放的月份列表 @private
1931
+ */
1925
1932
  GET_FEC_PARAMS_FAILED: string;
1926
1933
  GET_FEC_PARAMS_SUPPORT_VERSION: string;
1927
1934
  SET_WATERMARK: string;
@@ -1930,11 +1937,7 @@ declare class Theme extends EventEmitter {
1930
1937
  ok: string;
1931
1938
  close: string;
1932
1939
  BTN_REC_LIST_TITLE: string;
1933
- UNKOWN_ISSUE: string; /**
1934
- * 首帧同步 Live/RecDropdown 激活态的监听器引用。
1935
- * 每次 `_renderTheme` 重新绑定前需先移除旧引用,避免 changeTheme 累积监听。
1936
- * @private
1937
- */
1940
+ UNKOWN_ISSUE: string;
1938
1941
  };
1939
1942
  en: {
1940
1943
  391001: string;
@@ -1983,7 +1986,7 @@ declare class Theme extends EventEmitter {
1983
1986
  395562: string;
1984
1987
  395563: string;
1985
1988
  395564: string;
1986
- 395566: string; /** 所有私有流的模板 @since 0.0.1 */
1989
+ 395566: string;
1987
1990
  395567: string;
1988
1991
  395568: string;
1989
1992
  395569: string;
@@ -2018,14 +2021,17 @@ declare class Theme extends EventEmitter {
2018
2021
  396510: string;
2019
2022
  396511: string;
2020
2023
  396512: string;
2021
- /** 静音 */
2022
2024
  396513: string;
2023
2025
  396514: string;
2024
2026
  396515: string;
2025
2027
  396516: string;
2026
2028
  396517: string;
2027
- 396518: string;
2028
- 396519: string;
2029
+ 396518: string; /** 清晰度列表 */
2030
+ 396519: string; /**
2031
+ * 播放区间(片段分享),null 表示不约束。
2032
+ * 由 SDK 层在初始化时通过 props 下发,主题层据此决定日历/回放类型按钮
2033
+ * 是否渲染、片段进度条是否渲染。区间没有运行时变更入口。
2034
+ */
2029
2035
  396520: string;
2030
2036
  396700: string;
2031
2037
  396701: string;
@@ -2108,9 +2114,6 @@ declare class Theme extends EventEmitter {
2108
2114
  VIDEO_LEVEL_NOT_SUPPORT: string;
2109
2115
  VIDEO_LEVEL_AUTO: string;
2110
2116
  VIDEO_LEVEL_FLUENT: string;
2111
- /**
2112
- * url 信息 播放地址信息
2113
- */
2114
2117
  VIDEO_LEVEL_STANDARD: string;
2115
2118
  VIDEO_LEVEL_HEIGH: string;
2116
2119
  VIDEO_LEVEL_SUPER: string;
@@ -2145,6 +2148,13 @@ declare class Theme extends EventEmitter {
2145
2148
  BTN_HD: string;
2146
2149
  BTN_SPEED: string;
2147
2150
  BTN_CLOUDREC: string;
2151
+ /**
2152
+ * 视频信息
2153
+ * @version 3.1.2
2154
+ * ```ts
2155
+ * theme.videoInfo // ThemeVideoInfo
2156
+ * ```
2157
+ */
2148
2158
  BTN_CLOUDRECORD: string;
2149
2159
  BTN_REC: string;
2150
2160
  BTN_CALENDAR: string;
@@ -2158,7 +2168,12 @@ declare class Theme extends EventEmitter {
2158
2168
  START_RECORD_FAILED: string;
2159
2169
  STOP_RECORD_SUCCESS: string;
2160
2170
  STOP_RECORD_FAILED: string;
2161
- RECORD_TIPS: string;
2171
+ RECORD_TIPS: string; /**
2172
+ * 当前播放状态
2173
+ * ```ts
2174
+ * theme.playing // boolean
2175
+ * ```
2176
+ */
2162
2177
  RECORDS: string;
2163
2178
  OPEN_SOUND: string;
2164
2179
  CLOSE_SOUND: string;
@@ -2183,13 +2198,7 @@ declare class Theme extends EventEmitter {
2183
2198
  '3D_ZOOM_NOT_ACTIVED': string;
2184
2199
  '3D_ZOOM_CLOSED': string;
2185
2200
  CHANGE_ZOOM_TYPE: string;
2186
- FULLSCREEN: string; /**
2187
- * 加载状态
2188
- * ```ts
2189
- * // 事件监听
2190
- * theme.on(Theme.EVENTS.loading, (loading: boolean) => {})
2191
- * ```
2192
- */
2201
+ FULLSCREEN: string;
2193
2202
  FULLSCREEN_EXIT: string;
2194
2203
  GET_WEB_FULLSCREEN_STATUS: string;
2195
2204
  WEB_FULLSCREEN: string;
@@ -2211,7 +2220,10 @@ declare class Theme extends EventEmitter {
2211
2220
  NOT_SUPPORT_FOCUS: string;
2212
2221
  MIRROR: string;
2213
2222
  MIRROR_TYPE_ERROR: string;
2214
- CHANGE_FEC_TYPE: string;
2223
+ CHANGE_FEC_TYPE: string; /**
2224
+ * 静音
2225
+ *
2226
+ */
2215
2227
  DEVICE_NOT_SUPPORT: string;
2216
2228
  TYPE_NOT_SUPPORT: string;
2217
2229
  FEC_SUPPORT_VERSION: string;
@@ -2825,6 +2837,20 @@ interface TimePickerControlOptions extends Omit<ControlOptions, 'tagName'>, Part
2825
2837
  onPanelChange?: (open: boolean, time: string) => void;
2826
2838
  }
2827
2839
 
2840
+ /**
2841
+ * 回放下拉控件配置项
2842
+ */
2843
+ interface RecDropdownOptions extends Omit<ControlOptions, 'tagName'> {
2844
+ /** 当前回放类型 */
2845
+ recType?: ThemeRecType;
2846
+ /** 回放支持类型(['rec', 'cloudRec', 'cloudRecord']) @since 3.1.8 */
2847
+ list?: ThemeRecType[];
2848
+ /**
2849
+ * 回放类型选择回调
2850
+ */
2851
+ onChange?: (type: ThemeRecType) => void;
2852
+ }
2853
+
2828
2854
  /**
2829
2855
  * 主题配置项
2830
2856
  *
@@ -2932,7 +2958,9 @@ interface ThemeOptions {
2932
2958
  timeLineOptions?: any | null;
2933
2959
  /** 回放片段进度条配置(移动端,仅在设置了播放区间时渲染), 设置 null 不渲染控件 */
2934
2960
  segmentProgressOptions?: any | null;
2935
- /** 初始化开始回调, 在内部可以添加事件(Control.beforeMountControls, Control.mountedControls)监听,设置 null 不渲染控件 @since 0.0.1 */
2961
+ /** 下拉回放类型控件配置, 设置 null 不渲染控件 */
2962
+ recDropdownOptions?: OmitControlOptions<RecDropdownOptions> | null;
2963
+ /** 初始化开始回调, 在内部可以添加事件(Control.beforeMountControls, Control.mountedControls)监听 */
2936
2964
  onInitializing?: (theme: Theme) => void;
2937
2965
  /**
2938
2966
  * 移动端扩展 仅针对 ezopen 有效 @since 0.0.1 (2025-08-01), 默认 true, 当值为 null 不展示扩展
@@ -2955,6 +2983,8 @@ interface ThemeOptions {
2955
2983
  disabledTimeLine?: boolean;
2956
2984
  /** 是萤石的播放地址,默认 true, 仅对标准流很有效 */
2957
2985
  isEzviz?: boolean;
2986
+ /** 基线 和 定制 */
2987
+ sdkType: 'base' | 'custom';
2958
2988
  [kye: string]: any;
2959
2989
  }
2960
2990
  interface ThemeVideoInfo {
@@ -3140,6 +3170,9 @@ declare class Control extends EventEmitter {
3140
3170
  interface LoadingOptions extends Omit<ControlOptions, 'tagName' | 'controlType'> {
3141
3171
  /**
3142
3172
  * 自定义加载动画的 HTML 结构, 当 theme.loading = true 时展示
3173
+ *
3174
+ * @remarks 返回值会原样写入 `innerHTML`,**不做转义**。拼接的数据需由调用方
3175
+ * 保证来源可信;若内容可能来自接口、设备或用户输入,请先自行转义。
3143
3176
  * @returns HTML 字符串
3144
3177
  */
3145
3178
  render?: () => string;
@@ -3154,6 +3187,8 @@ declare class Loading extends Control {
3154
3187
  private _html;
3155
3188
  /**
3156
3189
  * 动画展示
3190
+ *
3191
+ * @remarks `html` 会原样写入 `innerHTML`,**不做转义**,仅接受可信内容。
3157
3192
  * @param html 自定义动画内容, 如果不存在则使用默认动画
3158
3193
  */
3159
3194
  show(html?: string): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ezuikit/player-theme",
3
- "version": "3.1.7-beta.4",
3
+ "version": "3.1.8-beta.2",
4
4
  "description": "player theme",
5
5
  "title": "theme",
6
6
  "main": "dist/index.cjs",
@@ -35,7 +35,7 @@
35
35
  "license": "MIT",
36
36
  "dependencies": {
37
37
  "@ezuikit/control-date-picker": "2.1.2-beta.1",
38
- "@ezuikit/control-ptz": "1.0.0",
38
+ "@ezuikit/control-ptz": "2.0.0-beta.1",
39
39
  "@ezuikit/control-rec-list-modal": "0.0.2",
40
40
  "@ezuikit/control-segment-progress": "0.0.1",
41
41
  "@ezuikit/control-time-line": "2.1.0",