@ezuikit/player-theme 3.1.2-beta.4 → 3.1.3-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/style.css CHANGED
@@ -17,12 +17,13 @@ body.ezplayer-body-mobile-noscroll{background-color:#000!important;height:100vh;
17
17
  :root{--emodal-z-index:1000;--emodal-bg:#fff;--emodal-color:rgba(0,0,0,.88);--emodal-border-radius:2px;--emodal-shadow:0 6px 16px 0 rgba(0,0,0,.08),0 3px 6px -4px rgba(0,0,0,.12),0 9px 28px 8px rgba(0,0,0,.05);--emodal-mask-bg:rgba(0,0,0,.45);--emodal-header-height:48px;--emodal-title-color:rgba(0,0,0,.88);--emodal-border-color:rgba(5,5,5,.06);--emodal-close-color:rgba(0,0,0,.45);--emodal-close-hover-color:rgba(0,0,0,.88);--emodal-close-hover-bg:rgba(0,0,0,.06)}.emodal-mask{background-color:var(--emodal-mask-bg,rgba(0,0,0,.45));inset:0;position:fixed;z-index:var(--emodal-z-index,1000)}.emodal-wrap{background-color:var(--emodal-bg,#fff);border-radius:var(--emodal-border-radius,2px);box-shadow:var(--emodal-shadow,0 6px 16px 0 rgba(0,0,0,.08));color:var(--emodal-color,rgba(0,0,0,.88));flex-direction:column;left:0;max-height:100vh;max-width:100vw;overflow:hidden;position:fixed;top:0;z-index:calc(var(--emodal-z-index, 1000) + 1)}.emodal-header,.emodal-wrap{box-sizing:border-box;display:flex}.emodal-header{align-items:center;border-bottom:1px solid var(--emodal-border-color,rgba(5,5,5,.06));flex:0 0 auto;justify-content:space-between;min-height:var(--emodal-header-height,48px);padding:0 16px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.emodal-draggable .emodal-header{cursor:move}.emodal-title{color:var(--emodal-title-color,rgba(0,0,0,.88));flex:1 1 auto;font-size:14px;font-weight:600;line-height:1.5;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emodal-close{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--emodal-close-color,rgba(0,0,0,.45));cursor:pointer;display:inline-flex;flex:0 0 auto;height:28px;justify-content:center;margin-left:12px;padding:0;transition:color .2s,background-color .2s;width:28px}.emodal-close:hover{background-color:var(--emodal-close-hover-bg,rgba(0,0,0,.06));color:var(--emodal-close-hover-color,rgba(0,0,0,.88))}.emodal-close svg{display:block;height:16px;width:16px}.emodal-body{box-sizing:border-box;flex:1 1 auto;overflow:auto}.emodal-hidden{display:none!important}.emodal-dragging{cursor:move!important;-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}
18
18
  .evscroll-wrapper{overflow-x:hidden;overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch}.evscroll-content{position:relative;width:100%}.evscroll-viewport{top:0}.evscroll-item,.evscroll-viewport{left:0;position:absolute;width:100%}.evscroll-item{box-sizing:border-box}.evscroll-wrapper::-webkit-scrollbar{height:6px;width:6px}.evscroll-wrapper::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:3px}.evscroll-wrapper::-webkit-scrollbar-track{background:transparent}
19
19
  .ez-rec-list-modal-list{box-sizing:border-box;height:100%;position:relative;width:100%}.ez-rec-list-modal-empty{align-items:center;color:rgba(0,0,0,.35);display:flex;font-size:14px;inset:0;justify-content:center;position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1}.ez-rec-list-modal-group{align-items:flex-end;box-sizing:border-box;display:flex;gap:6px;height:100%;line-height:1;padding:0 10px 8px 12px}.ez-rec-list-modal-group-title{color:rgba(0,0,0,.88);font-size:14px;font-weight:600;height:20px;line-height:20px}.ez-rec-list-modal-group-count{align-items:center;background-color:#369fff;border-radius:9px;box-sizing:border-box;color:#fff;display:inline-flex;font-size:12px;height:18px;justify-content:center;line-height:18px;min-width:18px;padding:0 5px}.ez-rec-list-modal-row{align-items:stretch;box-sizing:border-box;display:flex;gap:8px;height:100%;padding:0 10px 8px 12px}.ez-rec-list-modal-card{cursor:pointer;flex:1 1 0;max-width:calc(50% - 4px);min-width:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ez-rec-list-modal-card-active .ez-rec-list-modal-card-thumb{box-shadow:0 0 0 1px var(--ez-rec-list-modal-card-active-gap,#fff),0 0 0 3px var(--ez-rec-list-modal-card-active,#369fff)}.ez-rec-list-modal-card-playing{align-items:flex-end;bottom:4px;color:#fff;display:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));left:6px;pointer-events:none;position:absolute;z-index:2}.ez-rec-list-modal-card-playing svg{display:block;height:16px;width:16px}.ez-rec-list-modal-card-playing svg rect{animation:ez-rec-list-modal-eq .9s ease-in-out infinite;transform-box:fill-box;transform-origin:bottom}.ez-rec-list-modal-card-playing svg rect:nth-child(2){animation-delay:.15s}.ez-rec-list-modal-card-playing svg rect:nth-child(3){animation-delay:.3s}.ez-rec-list-modal-card-active .ez-rec-list-modal-card-playing{display:inline-flex}@media (prefers-reduced-motion:reduce){.ez-rec-list-modal-card-playing svg rect{animation:none}}.ez-rec-list-modal-card-thumb{background-color:#ddd;border-radius:8px;height:100%;overflow:hidden;position:relative;width:100%}.ez-rec-list-modal-card-thumb:before{background:linear-gradient(180deg,rgba(0,0,0,.45),transparent);content:"";height:38px;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.ez-rec-list-modal-card-img{height:100%;left:0;-o-object-fit:cover;object-fit:cover;opacity:0;position:absolute;top:0;transition:opacity .25s ease;width:100%;z-index:0}.ez-rec-list-modal-card-placeholder{align-items:center;background:linear-gradient(180deg,var(--ez-rec-list-modal-item-cover-placeholder-start,#b7c3cf),var(--ez-rec-list-modal-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-rec-list-modal-card-start{left:6px}.ez-rec-list-modal-card-duration,.ez-rec-list-modal-card-start{color:#fff;font-size:12px;line-height:14px;position:absolute;text-shadow:0 1px 2px rgba(0,0,0,.5);top:5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:2}.ez-rec-list-modal-card-duration{right:6px}.ez-rec-list-modal-card-icon{align-items:center;bottom:4px;color:#fff;display:inline-flex;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));justify-content:center;pointer-events:none;position:absolute;right:5px;z-index:2}.ez-rec-list-modal-card-icon svg{display:block;height:14px;width:14px}.ez-rec-list-modal-title{align-items:center;display:flex;gap:12px;min-width:0}.ez-rec-list-modal-title-text{flex:0 0 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ez-lazy-image.ez-lazy-image-loaded{opacity:1}.ez-lazy-image.ez-lazy-image-error{opacity:0}.ez-rec-list-modal-checkbox{align-items:center;color:var(--ez-rec-list-modal-checkbox-label,rgba(0,0,0,.65));cursor:pointer;display:inline-flex;font-size:13px;gap:6px;line-height:1;margin:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ez-rec-list-modal-checkbox-input{border:0;height:1px;margin:0;opacity:0;padding:0;pointer-events:none;position:absolute;width:1px}.ez-rec-list-modal-checkbox-box{background-color:#fff;border:1px solid var(--ez-rec-list-modal-checkbox-border,#c0c4cc);border-radius:4px;box-sizing:border-box;flex:0 0 auto;height:var(--ez-rec-list-modal-checkbox-size,16px);position:relative;transition:background-color .2s ease,border-color .2s ease;width:var(--ez-rec-list-modal-checkbox-size,16px)}.ez-rec-list-modal-checkbox-check{color:#fff;display:block;inset:0;opacity:0;position:absolute;transform:scale(.6);transition:opacity .15s ease,transform .15s ease}.ez-rec-list-modal-checkbox-check svg{display:block;height:100%;width:100%}.ez-rec-list-modal-checkbox-checked .ez-rec-list-modal-checkbox-box{background-color:var(--ez-rec-list-modal-checkbox-active,#2f6fdb);border-color:var(--ez-rec-list-modal-checkbox-active,#2f6fdb)}.ez-rec-list-modal-checkbox-checked .ez-rec-list-modal-checkbox-check{opacity:1;transform:scale(1)}.ez-rec-list-modal-checkbox-disabled{cursor:not-allowed;opacity:.5}.ez-rec-list-modal-checkbox-input:focus-visible+.ez-rec-list-modal-checkbox-box{box-shadow:0 0 0 2px rgba(47,111,219,.3)}@keyframes ez-rec-list-modal-eq{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1)}}
20
+ .ez-segment-progress{align-items:center;box-sizing:border-box;display:flex;padding:8px 10px;-moz-user-select:none;user-select:none;-webkit-user-select:none;width:100%;-webkit-tap-highlight-color:transparent}.ez-segment-progress-time{color:var(--ez-segment-progress-text-color,hsla(0,0%,100%,.9));flex:none;font-size:12px;font-variant-numeric:tabular-nums;line-height:1}.ez-segment-progress-time-current{margin-right:8px}.ez-segment-progress-time-total{margin-left:8px}.ez-segment-progress-track{background:var(--ez-segment-progress-track-color,hsla(0,0%,100%,.35));border-radius:2px;cursor:pointer;flex:1 1 auto;height:3px;position:relative;touch-action:none}.ez-segment-progress-track:before{bottom:-12px;content:"";left:0;position:absolute;right:0;top:-12px}.ez-segment-progress-track:focus-visible{outline:2px solid var(--ez-segment-progress-played-color,#1890ff);outline-offset:4px}.ez-segment-progress-played{background:var(--ez-segment-progress-played-color,#1890ff);border-radius:2px;height:100%;left:0;pointer-events:none;position:absolute;top:0;width:0}.ez-segment-progress-thumb{background:var(--ez-segment-progress-thumb-color,#fff);border-radius:50%;box-shadow:0 0 2px rgba(0,0,0,.35);height:10px;left:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .1s,height .1s;width:10px}.ez-segment-progress-dragging .ez-segment-progress-thumb{height:14px;width:14px}.ez-segment-progress-disabled{opacity:.5}.ez-segment-progress-disabled .ez-segment-progress-track{cursor:not-allowed}
20
21
  .ezplayer .ezplayer-progress{align-items:center;background-color:var(--ezplayer-panel-bg-color,rgba(0,0,0,.7));border-radius:var(--ezplayer-border-radius,8px);box-sizing:border-box;cursor:default;display:flex;flex-direction:column;justify-content:center;padding:30px 9px 11px;position:relative;width:38px}.ezplayer .ezplayer-progress,.ezplayer .ezplayer-progress-text{-webkit-user-select:none;-moz-user-select:none;user-select:none}.ezplayer .ezplayer-progress-text{font-size:12px;height:17px;left:0;line-height:17px;position:absolute;text-align:center;top:8px;width:100%}.ezplayer .ezplayer-progress-minus,.ezplayer .ezplayer-progress-plus{display:flex;height:25px;justify-content:center}.ezplayer .ezplayer-progress-minus .ezplayer-icon,.ezplayer .ezplayer-progress-plus .ezplayer-icon{color:#fff;cursor:pointer;display:inline-block;font-size:20px;height:20px;text-align:center;transition:color .3s ease,border-color .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:20px}.ezplayer .ezplayer-progress-minus .ezplayer-icon:active,.ezplayer .ezplayer-progress-plus .ezplayer-icon:active{color:var(--ezplayer-primary-color,#407aff)}@media (hover:hover){.ezplayer .ezplayer-progress-minus .ezplayer-icon:hover,.ezplayer .ezplayer-progress-plus .ezplayer-icon:hover{color:var(--ezplayer-primary-color,#407aff)}}.ezplayer .ezplayer-progress-plus{padding-bottom:5px}.ezplayer .ezplayer-progress-minus{padding-top:5px}.ezplayer .ezplayer-progress-slider{background-color:hsla(0,0%,100%,.75);border-radius:2px;cursor:pointer;flex:1 1 auto;position:relative;width:4px}.ezplayer .ezplayer-progress-slider-fill{background-color:var(--ezplayer-primary-color,#407aff);border-radius:4px;bottom:0;height:0;left:0;position:absolute;width:100%}.ezplayer .ezplayer-progress-slider-handle{align-items:center;background-color:var(--ezplayer-primary-color,#407aff);border-radius:50%;cursor:pointer;display:inline-flex;height:12px;justify-content:center;left:50%;position:absolute;top:0;transform:translate(-50%,-50%);width:12px}.ezplayer .ezplayer-progress-slider-handle:hover{box-shadow:0 0 2px var(--ezplayer-primary-color,#407aff)}.ezplayer .ezplayer-progress-slider-handle:before{background-color:#fff;border-radius:50%;content:"";display:inline;height:6px;width:6px}
21
22
  .ezplayer-icon{align-items:center;color:inherit;display:inline-flex;font-size:var(--ezplayer-icon-font-size,24px);font-style:normal;line-height:0;text-align:center;text-rendering:optimizeLegibility;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
22
23
  .ezplayer-select-panel{background-color:var(--ezplayer-panel-bg-color,rgba(0,0,0,.7));border-radius:var(--ezplayer-border-radius,8px);color:var(--ezplayer-default-color,#fff);display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;position:relative}.ezplayer-select-btn{width:50px}.ezplayer-select-btn span{display:inline-block;font-size:12px;font-size:calc(var(--ezplayer-font-size, 14px) - 2px);line-height:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ezplayer-select-list{align-items:center;display:flex;flex-direction:column;font-size:var(--ezplayer-font-size,14px);list-style:none;margin:0;padding:12px 0!important;width:100%}.ezplayer-select-option{box-sizing:border-box;cursor:pointer;display:inline-flex;height:28px;justify-content:center;line-height:18px;list-style:none;padding:5px 20px!important;transition:color .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.ezplayer-select-option span{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ezplayer-select-option:hover{color:var(--ezplayer-active-color)}.ezplayer-select-cancel,.ezplayer-select-close{display:none}.ezplayer-select-cancel{font-size:var(--ezplayer-font-size,14px)}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-panel{background-color:transparent;max-width:400px;padding-bottom:calc(54px + env(safe-area-inset-bottom));width:90%}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-list{align-items:center;background-color:#fff;border-radius:var(--ezplayer-border-radius,8px);display:flex;flex-direction:column;font-size:var(--ezplayer-font-size,14px);max-height:70vh;max-height:calc(90vh - 108px);overflow-x:hidden;overflow-y:auto;padding:20px 0!important}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-cancel,.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-option{align-items:center;box-sizing:border-box;color:#2c2c2c;display:inline-flex;height:36px;justify-content:center;line-height:26px;padding:5px 20px!important}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-option{--webkit-tap-highlight-color:transparent!important}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-option:hover{color:#2c2c2c}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-option:active{background-color:#f8f8f8}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-cancel{background-color:#fff;border-radius:var(--ezplayer-border-radius,8px);display:flex;height:54px;margin-top:8px}.ezplayer-mobile .epicker-mobile.ezplayer-select-picker .ezplayer-select-cancel:active{color:var(--ezplayer-active-color)}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .epicker-body{bottom:0;left:unset;right:0;top:0;width:240px}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-panel{align-items:center;background-color:var(--ezplayer-panel-bg-color,rgba(0,0,0,.7));border-bottom-right-radius:0;border-top-right-radius:0;height:100%;justify-content:center;padding-bottom:env(safe-area-inset-bottom);width:100%}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-list{background-color:transparent;border-radius:0;color:#fff;height:auto;margin:0;max-height:100%;width:100%}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-option,.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-option:hover{color:#fff}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-option:active{background-color:transparent;color:var(--ezplayer-active-color)}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-cancel{display:none}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-close{display:inline-flex;left:10px;position:absolute;top:10px}.ezplayer-mobile.ezplayer-fullscreen .epicker-mobile.ezplayer-select-picker .ezplayer-select-close:active{color:var(--ezplayer-active-color)}
23
24
  .ezplayer-control-fullscreen .ezplayer-icon-exit-fullscreen,.ezplayer-control-global-fullscreen .ezplayer-icon-exit-global-fullscreen{display:none}.ezplayer-fullscreen .ezplayer-icon-exit-fullscreen{display:inline-flex}.ezplayer-fullscreen .ezplayer-icon-fullscreen{display:none}.ezplayer-global-fullscreen .ezplayer-icon-exit-global-fullscreen{display:inline-flex}.ezplayer-global-fullscreen .ezplayer-icon-global-fullscreen{display:none}
24
25
  .ezplayer-loading{background-color:rgba(0,0,0,.5);bottom:0;color:#fff;display:none;font-size:14px;height:100%;left:0;position:absolute;right:0;top:0;transition:transform .3s cubic-bezier(.78,.14,.15,.86);vertical-align:middle;width:100%;z-index:4}.ezplayer-loading-dot{display:inline-block;font-size:25px;height:25px;position:relative;width:25px}.ezplayer-loading-dot-item{background-color:#fff;border-radius:2px;display:block;height:10px;position:absolute;transform-origin:50% 50%;width:10px}.ezplayer-loading-dot-item:first-child{animation:animationShape1 2s linear 0s infinite normal;left:0;opacity:1;top:0}.ezplayer-loading-dot-item:nth-child(2){animation:animationShape2 2s linear 0s infinite normal;left:15px;opacity:.8;top:0}.ezplayer-loading-dot-item:nth-child(3){animation:animationShape3 2s linear 0s infinite normal;left:0;opacity:.5;top:15px}.ezplayer-loading-dot-item:nth-child(4){animation:animationShape4 2s linear 0s infinite normal;left:15px;opacity:.3;top:15px}.ezplayer-loading-dot-load{animation:rotation 1s infinite}@media (-ms-high-contrast:active),(-ms-high-contrast:none){.ezplayer-load-blur{background:#fff;opacity:.5}}@keyframes ezdSpinMove{to{opacity:1}}@keyframes ezdRotate{to{transform:rotate(405deg)}}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes animationShape1{0%{transform:translate(0)}25%{transform:translateY(15px)}50%{transform:translate(15px,15px)}75%{transform:translate(15px)}to{transform:translate(translate)}}@keyframes animationShape2{0%{transform:translate(0)}25%{transform:translate(-15px)}50%{transform:translate(-15px,15px)}75%{transform:translateY(15px)}}@keyframes animationShape3{0%{transform:translate(0)}25%{transform:translate(15px)}50%{transform:translate(15px,-15px)}75%{transform:translateY(-15px)}}@keyframes animationShape4{0%{transform:translate(0)}25%{transform:translateY(-15px)}50%{transform:translate(-15px,-15px)}75%{transform:translate(-15px)}}.ezplayer-loading-text{margin-top:20px}
25
- .ezplayer-message{background-color:rgba(0,0,0,.4);bottom:0;color:#fff;display:none;font-size:16px;height:100%;left:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:5}.ezplayer-message-content{align-items:center;display:flex;flex-direction:column;justify-content:center}.ezplayer-message-msg{display:-webkit-box;margin-top:15px;max-width:500px;overflow:hidden;word-break:break-all;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:0 20px}.ezplayer-message-error{color:#ff4d4f}.ezplayer-toast{background-color:rgba(0,0,0,.8);border-radius:var(--ezplayer-border-radius,8px);box-shadow:0 9px 28px 8px rgba(0,0,0,.05),0 3px 16px 0 rgba(0,0,0,.03),0 3px 7px -4px rgba(0,0,0,.05);color:#fff;display:flex;font-size:14px;left:50%;line-height:22px;max-width:450px;overflow:hidden;padding:9px 16px;position:absolute;top:50px;transform:translateX(-50%);z-index:6}.ezplayer-toast-content{padding-left:24px;position:relative}.ezplayer-toast .ezplayer-icon{font-size:16px;left:0;position:absolute;top:3px}.ezplayer-toast .ezplayer-icon-info-circle{color:var(--ezplayer-default-color,#fff)}.ezplayer-toast .ezplayer-icon-warn-circle{color:#faad14}.ezplayer-toast .ezplayer-icon-close-circle{color:#ff4d4f}.ezplayer-mobile .ezplayer-toast{font-size:12px;line-height:20px}.ezplayer-mobile .ezplayer-toast-content{padding-left:20px}.ezplayer-mobile .ezplayer-toast .ezplayer-icon{font-size:14px}
26
+ .ezplayer-message{background-color:rgba(0,0,0,.4);bottom:0;color:#fff;display:none;font-size:16px;height:100%;left:0;overflow:hidden;position:absolute;right:0;top:0;width:100%;z-index:5}.ezplayer-message-content{align-items:center;display:flex;flex-direction:column;justify-content:center}.ezplayer-message-msg{display:-webkit-box;-webkit-line-clamp:2;margin-top:15px;max-width:500px;overflow:hidden;word-break:break-all;-webkit-box-orient:vertical;padding:0 20px}.ezplayer-message-error{color:#ff4d4f}.ezplayer-toast{background-color:rgba(0,0,0,.8);border-radius:var(--ezplayer-border-radius,8px);box-shadow:0 9px 28px 8px rgba(0,0,0,.05),0 3px 16px 0 rgba(0,0,0,.03),0 3px 7px -4px rgba(0,0,0,.05);color:#fff;display:flex;font-size:14px;left:50%;line-height:22px;max-width:450px;overflow:hidden;padding:9px 16px;position:absolute;top:50px;transform:translateX(-50%);z-index:6}.ezplayer-toast-content{padding-left:24px;position:relative}.ezplayer-toast .ezplayer-icon{font-size:16px;left:0;position:absolute;top:3px}.ezplayer-toast .ezplayer-icon-info-circle{color:var(--ezplayer-default-color,#fff)}.ezplayer-toast .ezplayer-icon-warn-circle{color:#faad14}.ezplayer-toast .ezplayer-icon-close-circle{color:#ff4d4f}.ezplayer-mobile .ezplayer-toast{font-size:12px;line-height:20px}.ezplayer-mobile .ezplayer-toast-content{padding-left:20px}.ezplayer-mobile .ezplayer-toast .ezplayer-icon{font-size:14px}
26
27
  .ezplayer-poster{bottom:0;display:none;height:100%;left:0;overflow:hidden;position:absolute;right:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%;z-index:2}.ezplayer-poster img{border:0;font-size:0;height:100%;outline:none;pointer-events:none;width:100%}
27
28
  .ezplayer-icon-volume{position:relative}.ezplayer-icon-volume svg .ezplayer-icon-volume-high,.ezplayer-icon-volume svg .ezplayer-icon-volume-low,.ezplayer-icon-volume svg .ezplayer-icon-volume-muted{display:none}.ezplayer-icon-volume.ezplayer-icon-volume-high svg .ezplayer-icon-volume-high,.ezplayer-icon-volume.ezplayer-icon-volume-high svg .ezplayer-icon-volume-low,.ezplayer-icon-volume.ezplayer-icon-volume-low svg .ezplayer-icon-volume-low,.ezplayer-icon-volume.ezplayer-icon-volume-muted svg .ezplayer-icon-volume-muted,.ezplayer-icon-volume.ezplayer-icon-volume-zero svg .ezplayer-icon-volume-muted{display:inline}.ezplayer-volume-progress{height:126px}
28
29
  .ezplayer-control-rec{box-sizing:border-box;display:inline-flex;flex-direction:row}.ezplayer-control-rec .ezplayer-icon-cloud-rec,.ezplayer-control-rec .ezplayer-icon-cloud-record,.ezplayer-control-rec .ezplayer-icon-sdk{color:#d4d7dd;cursor:pointer;margin-left:5px}.ezplayer-mobile-extend .ezplayer-control-rec{background-color:#f4f6fc;border:1px solid #ededed;border-radius:18px;height:30px}.ezplayer-mobile-extend .ezplayer-icon-cloud-rec,.ezplayer-mobile-extend .ezplayer-icon-cloud-record,.ezplayer-mobile-extend .ezplayer-icon-sdk{cursor:pointer;font-size:20px;margin-left:1px;padding:2px 7px}.ezplayer-mobile-extend .ezplayer-icon-cloud-rec.ezplayer-active,.ezplayer-mobile-extend .ezplayer-icon-cloud-record.ezplayer-active,.ezplayer-mobile-extend .ezplayer-icon-sdk.ezplayer-active{background-color:#fff;border-radius:12px;box-shadow:0 1px 4px 0 hsla(0,0%,68%,.2)}.ezplayer-mobile .ezplayer-icon-cloud-rec,.ezplayer-mobile .ezplayer-icon-cloud-record,.ezplayer-mobile .ezplayer-icon-sdk{margin-left:10px}
@@ -35,7 +36,7 @@ body.ezplayer-body-mobile-noscroll{background-color:#000!important;height:100vh;
35
36
  .ezplayer-control-rec-dropdown .ezplayer-rec-dropdown-btn{cursor:pointer;font-size:14px;line-height:20px;padding:2px 6px;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ezplayer-control-rec-dropdown.ezplayer-active .ezplayer-rec-dropdown-btn{color:var(--ezplayer-active-color,#407aff)}.ezplayer-rec-dropdown-picker .ezplayer-rec-dropdown-panel{background-color:var(--ezplayer-panel-bg-color,rgba(0,0,0,.7));border-radius:var(--ezplayer-border-radius,8px);color:var(--ezplayer-default-color,#fff);padding:8px 0}.ezplayer-rec-dropdown-picker .ezplayer-rec-dropdown-list{list-style:none;margin:0;padding:0}.ezplayer-rec-dropdown-picker .ezplayer-rec-dropdown-item{cursor:pointer;font-size:14px;line-height:20px;padding:6px 20px;transition:color .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ezplayer-rec-dropdown-picker .ezplayer-rec-dropdown-item.ezplayer-active,.ezplayer-rec-dropdown-picker .ezplayer-rec-dropdown-item:hover{color:var(--ezplayer-active-color,#407aff)}
36
37
  .ezplayer-control-rec-list .ezplayer-rec-list-btn{cursor:pointer;font-size:14px;line-height:20px;padding:2px 6px;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ezplayer-control-rec-list.ezplayer-active .ezplayer-rec-list-btn{color:var(--ezplayer-active-color,#407aff)}.ezplayer-mobile-extend .ezplayer-control-rec-list{display:none}
37
38
  .ezplayer-control-alarm-message .ezplayer-alarm-message-btn{cursor:pointer;font-size:14px;line-height:20px;padding:2px 6px;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.ezplayer-mobile-extend .ezplayer-control-alarm-message{align-items:center;background-color:#f4f6fc;border:1px solid #ededed;border-radius:50%;box-sizing:border-box;cursor:pointer;display:inline-flex;font-size:18px;height:30px;justify-content:center;margin-left:8px;width:30px}
38
- .ezplayer-record-timer{align-items:center;background-color:#ff4c5c;border-radius:24px;color:#fff;display:inline-flex;flex-direction:row;left:50%;padding:2px 6px;position:absolute;top:60px;transform:translateX(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:3}.ezplayer-record-timer .ezplayer-icon-record-circle{font-size:14px}.ezplayer-record-timer-time{font-weight:400;letter-spacing:1px;line-height:20px;margin-left:2px}
39
+ .ezplayer-record-timer .ezplayer-icon-record-circle{font-size:14px}.ezplayer-record-timer{align-items:center;background-color:#ff4c5c;border-radius:24px;color:#fff;display:inline-flex;flex-direction:row;left:50%;padding:2px 6px;position:absolute;top:60px;transform:translateX(-50%);-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:3}.ezplayer-record-timer-time{font-weight:400;letter-spacing:1px;line-height:20px;margin-left:2px}
39
40
  .ezplayer-select-definition .ezplayer-select-panel{width:100px}.ezplayer-control-definition .ezplayer-select-btn{width:75px}
40
41
 
41
42
  .ezplayer-control-device{width:100%}.ezplayer-control-device span{display:inline;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@@ -44,4 +45,5 @@ body.ezplayer-body-mobile-noscroll{background-color:#000!important;height:100vh;
44
45
 
45
46
  .ezplayer-control-date .ezplayer-icon-date:hover{color:var(--ezplayer-primary-color,#407aff)}.ezplayer-mobile-extend .ezplayer-mobile-date-filter{align-items:center;background:#f4f6fc;border:1px solid #ededed;border-radius:8px;box-sizing:border-box;color:#2c2c2c;display:inline-flex;font-family:PingFang SC;font-size:16px;font-weight:500;height:36px;justify-content:center;letter-spacing:0;line-height:20px;padding:6px 10px}.ezplayer-mobile-extend .ezplayer-mobile-date-filter-value{margin-right:5px}.ezplayer-mobile-extend .ezplayer-icon-filter{font-size:20px}
46
47
  .ezplayer-control-time .ezplayer-icon-time:hover{color:var(--ezplayer-primary-color,#407aff)}
47
- .ezplayer-control-time-line{position:relative}.ezplayer-control-time-line .ezplayer-time-line-zoom{background-color:#000;bottom:0;display:inline-flex;flex-direction:column;justify-content:space-between;padding-bottom:2px;padding-left:10px;padding-top:2px;position:absolute;right:0;top:0;z-index:3}.ezplayer-control-time-line .ezplayer-time-line-zoom-add,.ezplayer-control-time-line .ezplayer-time-line-zoom-sub{align-items:center;background-color:#333;color:var(--ezplayer-default-color,#fff);cursor:pointer;display:inline-flex;height:20px;justify-content:center;overflow:hidden;right:0;transition:color .3s ease;width:14px}.ezplayer-control-time-line .ezplayer-icon-add,.ezplayer-control-time-line .ezplayer-icon-reduce{font-size:14px;font-weight:500}.ezplayer-control-time-line .ezplayer-icon-add:hover,.ezplayer-control-time-line .ezplayer-icon-reduce:hover{color:var(--ezplayer-primary-color,#407aff)}.ezplayer-control-time-line .ezplayer-time-line-zoom-add{border-top-left-radius:2px;border-top-right-radius:2px}.ezplayer-control-time-line .ezplayer-time-line-zoom-sub{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.ezplayer-mobile-extend .ezplayer-control-time-line{display:block;height:300px;margin-top:10px;padding-right:0}
48
+ .ezplayer-control-time-line{position:relative}.ezplayer-control-time-line .ezplayer-time-line-zoom{background-color:#000;bottom:0;display:inline-flex;flex-direction:column;justify-content:space-between;padding-bottom:2px;padding-left:10px;padding-top:2px;position:absolute;right:0;top:0;z-index:3}.ezplayer-control-time-line .ezplayer-time-line-zoom-add,.ezplayer-control-time-line .ezplayer-time-line-zoom-sub{align-items:center;background-color:#333;color:var(--ezplayer-default-color,#fff);cursor:pointer;display:inline-flex;height:20px;justify-content:center;overflow:hidden;right:0;transition:color .3s ease;width:14px}.ezplayer-control-time-line .ezplayer-icon-add,.ezplayer-control-time-line .ezplayer-icon-reduce{font-size:14px;font-weight:500}.ezplayer-control-time-line .ezplayer-icon-add:hover,.ezplayer-control-time-line .ezplayer-icon-reduce:hover{color:var(--ezplayer-primary-color,#407aff)}.ezplayer-control-time-line .ezplayer-time-line-zoom-add{border-top-left-radius:2px;border-top-right-radius:2px}.ezplayer-control-time-line .ezplayer-time-line-zoom-sub{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.ezplayer-mobile-extend .ezplayer-control-time-line{display:block;height:300px;margin-top:10px;padding-right:0}
49
+ .ezplayer-control-segment-progress{display:block;padding:0;width:100%}.ezplayer-mobile-extend-segment-progress{width:100%;--ez-segment-progress-text-color:var(--ezplayer-mobile-extend-default-color,#2c2c2c);--ez-segment-progress-track-color:rgba(0,0,0,.15)}.ezplayer-mobile-extend-segment-progress:empty{display:none}.ezplayer-mobile-extend-segment-progress .ezplayer-control-segment-progress{touch-action:none}.ezplayer-mobile-extend-segment-progress .ezplayer-control-segment-progress .ez-segment-progress{padding-top:0}
package/dist/style.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*
2
- * @ezuikit/player-theme v3.1.2-beta.4
3
- * Copyright (c) 2026-08-16 15:20:04 Ezviz-OpenBiz
2
+ * @ezuikit/player-theme v3.1.3-beta.1
3
+ * Copyright (c) 2026-08-19 16:47:24 Ezviz-OpenBiz
4
4
  * Released under the MIT License.
5
5
  */
6
6
  require("./style.css");
@@ -18,7 +18,7 @@ declare const THEME_SCALE_MODE_TYPE: {
18
18
  /** 视频画面做等比缩放后,完全填充canvas区域,画面不被拉伸,没有黑边,但画面显示不全 */
19
19
  readonly fullAuto: 2;
20
20
  };
21
- declare const THEME_PROPS: readonly ["width", "height", "playing", "volume", "muted", "loading", "recType", "isCurrentFullscreen", "orientationAngle", "zooming", "zoom", "recording", "recordList", "speed", "urlInfo", "videoLevelList", "videoLevel", "recMonth", "url"];
21
+ declare const THEME_PROPS: readonly ["width", "height", "playing", "volume", "muted", "loading", "recType", "isCurrentFullscreen", "orientationAngle", "zooming", "zoom", "recording", "recordList", "speed", "urlInfo", "videoLevelList", "videoLevel", "recMonth", "url", "playbackRange"];
22
22
  /**
23
23
  *
24
24
  * 事件名
@@ -111,6 +111,8 @@ declare const EVENTS: {
111
111
  readonly currentVideoLevelAuto: "currentVideoLevelAuto";
112
112
  readonly setAllDayRecTimes: "setAllDayRecTimes";
113
113
  readonly getOSDTime: "getOSDTime";
114
+ /** 播放区间播放结束(SDK 层 playbackRange 特性) */
115
+ readonly playbackEnd: "playbackEnd";
114
116
  /**
115
117
  * 控件相关
116
118
  */
@@ -1024,7 +1026,9 @@ type ControlType =
1024
1026
  /** 时间选择 */
1025
1027
  | 'time'
1026
1028
  /** 时间轴 */
1027
- | 'timeLine';
1029
+ | 'timeLine'
1030
+ /** 回放片段进度条(移动端,播放区间约束下渲染) */
1031
+ | 'segmentProgress';
1028
1032
  type MergeControlType =
1029
1033
  /** 设备序列号 */
1030
1034
  'deviceID'
@@ -1343,6 +1347,10 @@ declare class MobileExtend extends EventEmitter {
1343
1347
  $topLeft: HTMLElement;
1344
1348
  $topRight: HTMLElement;
1345
1349
  $top: HTMLElement;
1350
+ /**
1351
+ * 回放片段进度条容器,位于扩展区最上方(紧贴播放控件下方)
1352
+ */
1353
+ $segmentProgress: HTMLElement;
1346
1354
  private readonly _$siblingContainer;
1347
1355
  constructor($siblingContainer: HTMLElement);
1348
1356
  render(): void;
@@ -1504,37 +1512,31 @@ declare class Theme extends EventEmitter {
1504
1512
  readonly recTypeChange: "recTypeChange";
1505
1513
  readonly definitionChange: "definitionChange";
1506
1514
  readonly speedChange: "speedChange";
1507
- readonly recordingChange: "recordingChange";
1515
+ readonly recordingChange: "recordingChange"; /** 封面控件 @since 0.0.1 @private */
1508
1516
  readonly talkingChange: "talkingChange";
1509
1517
  readonly talkVolumeChange: "talkVolumeChange";
1510
1518
  readonly broadcastChange: "broadcastChange";
1511
1519
  readonly aichatChange: "aichatChange";
1512
1520
  readonly liveChange: "liveChange";
1513
- /**
1514
- * @type { "rec" | "cloudRec" | "cloudRecord" } recType 回放类型
1515
- * ```ts
1516
- * theme.recType // 回放类型
1517
- * ```
1518
- */
1519
1521
  readonly recDropdownChange: "recDropdownChange";
1520
1522
  readonly recListChange: "recListChange";
1521
1523
  readonly alarmMessageChange: "alarmMessageChange";
1522
1524
  readonly setLoggerOptions: "setLoggerOptions";
1523
- readonly records: "records"; /**
1524
- * 更多控件(footer more)
1525
- * @since 0.0.1
1526
- * @private
1527
- */
1525
+ readonly records: "records";
1528
1526
  readonly ptzSpeedChange: "ptzSpeedChange";
1529
1527
  readonly setVideoLevelList: "setVideoLevelList";
1530
1528
  readonly currentVideoLevel: "currentVideoLevel";
1531
1529
  readonly currentVideoLevelAuto: "currentVideoLevelAuto";
1532
- readonly setAllDayRecTimes: "setAllDayRecTimes";
1530
+ readonly setAllDayRecTimes: "setAllDayRecTimes"; /**
1531
+ * 移动端扩展容器, 扩展的控件渲染在指定容器以外, 仅只用端适用, 为了可以放置大的控件和方便开发接入
1532
+ * @private
1533
+ */
1533
1534
  readonly getOSDTime: "getOSDTime";
1535
+ readonly playbackEnd: "playbackEnd";
1534
1536
  readonly control: {
1535
1537
  readonly play: "Control.play";
1536
1538
  readonly playDestroy: "Control.playDestroy";
1537
- readonly capturePicture: "Control.capturePicture"; /** @since 0.0.1 @private */
1539
+ readonly capturePicture: "Control.capturePicture";
1538
1540
  readonly capturePictureResult: "Control.capturePictureResult";
1539
1541
  readonly capturePictureDestroy: "Control.capturePictureDestroy";
1540
1542
  readonly volumechange: "Control.volumechange";
@@ -1542,11 +1544,11 @@ declare class Theme extends EventEmitter {
1542
1544
  readonly volumeDestroy: "Control.volumeDestroy";
1543
1545
  readonly controlsBarOpenChange: "Control.controlsBarOpenChange";
1544
1546
  readonly headerMoreShowControlsChange: "Control.headerMoreShowControlsChange";
1545
- readonly headerMorePanelOpenChange: "Control.headerMorePanelOpenChange";
1547
+ readonly headerMorePanelOpenChange: "Control.headerMorePanelOpenChange"; /** 电子放大倍数 @private */
1546
1548
  readonly footerMoreShowControlsChange: "Control.footerMoreShowControlsChange";
1547
1549
  readonly footerMorePanelOpenChange: "Control.footerMorePanelOpenChange";
1548
1550
  readonly deviceDestroy: "Control.deviceDestroy";
1549
- readonly recTypeChange: "Control.recTypeChange"; /** 自定清晰度 @private */
1551
+ readonly recTypeChange: "Control.recTypeChange";
1550
1552
  readonly recDestroy: "Control.recDestroy";
1551
1553
  readonly definitionChange: "Control.definitionChange";
1552
1554
  readonly definitionList: "Control.definitionList";
@@ -1750,7 +1752,7 @@ declare class Theme extends EventEmitter {
1750
1752
  DEVICE_ENCRYPTED: string;
1751
1753
  NO_RECORD: string;
1752
1754
  PLAY_FAILED: string;
1753
- PLAY_SUCCESS: string;
1755
+ PLAY_SUCCESS: string; /** 语言包 @since 0.0.1 */
1754
1756
  STOP_SUCCESS: string;
1755
1757
  CHANGE_PLAYURL_SUCCESS: string;
1756
1758
  CHANGE_PLAYURL_FAILED: string;
@@ -1765,14 +1767,14 @@ declare class Theme extends EventEmitter {
1765
1767
  MAX_SPEED_LIMIT: string;
1766
1768
  MIN_SPEED_LIMIT: string;
1767
1769
  SEEK_CANNOT_CROSS_DAYS: string;
1768
- SEEK_TIMEFORMAT_ERROR: string;
1769
1770
  /** 所有控件列表, 所有控件名称规则(`${iconId}Control`), 如音量控件 this.controls["volumeControl"] @since 0.0.1 */
1771
+ SEEK_TIMEFORMAT_ERROR: string;
1770
1772
  PAUSE: string;
1771
1773
  PAUSE_FAILED: string;
1772
1774
  RESUME: string;
1773
1775
  RESUME_FAILED: string;
1774
1776
  CALL_END: string;
1775
- USER_DO_NOT_OWN_DEVICE: string;
1777
+ USER_DO_NOT_OWN_DEVICE: string; /** 加载控件 @since 0.0.1 @private */
1776
1778
  NO_CLOUD_RECORD: string;
1777
1779
  CHANGE_VIDEO_LEVEL: string;
1778
1780
  CHANGE_VIDEO_LEVEL_FAIL: string;
@@ -1788,13 +1790,13 @@ declare class Theme extends EventEmitter {
1788
1790
  VIDEO_LEVEL_3K: string;
1789
1791
  VIDEO_LEVEL_4k: string;
1790
1792
  RESET_THEME: string;
1791
- BTN_PLAY: string;
1792
- BTN_PAUSE: string;
1793
1793
  /**
1794
1794
  * 更多控件(header more)
1795
1795
  * @since 0.0.1
1796
1796
  * @private
1797
1797
  */
1798
+ BTN_PLAY: string;
1799
+ BTN_PAUSE: string;
1798
1800
  BTN_VOLUME: string;
1799
1801
  BTN_MUTED: string;
1800
1802
  BTN_RECORDVIDEO: string;
@@ -1804,9 +1806,9 @@ declare class Theme extends EventEmitter {
1804
1806
  BTN_AICHAT: string;
1805
1807
  BTN_LIVE: string;
1806
1808
  BTN_REC_DROPDOWN: string;
1807
- BTN_ALARM_MESSAGE: string; /** 头部控件 @since 0.0.1 @private */
1808
- REC_DROPDOWN_CLOUD_REC: string;
1809
- REC_DROPDOWN_CLOUD_RECORD: string; /** 低部控件 @since 0.0.1 @private */
1809
+ BTN_ALARM_MESSAGE: string;
1810
+ REC_DROPDOWN_CLOUD_REC: string; /** 低部控件 @since 0.0.1 @private */
1811
+ REC_DROPDOWN_CLOUD_RECORD: string;
1810
1812
  REC_DROPDOWN_LOCAL_REC: string;
1811
1813
  BTN_ZOOM: string;
1812
1814
  BTN_3D_ZOOM: string;
@@ -1834,7 +1836,7 @@ declare class Theme extends EventEmitter {
1834
1836
  RECORD_TIPS: string;
1835
1837
  RECORDS: string;
1836
1838
  OPEN_SOUND: string;
1837
- CLOSE_SOUND: string;
1839
+ CLOSE_SOUND: string; /** 容器的宽 */
1838
1840
  SOUND_OPENED: string;
1839
1841
  ZOOM: string;
1840
1842
  START_ZOOM: string;
@@ -1854,11 +1856,10 @@ declare class Theme extends EventEmitter {
1854
1856
  DEVICE_NOT_SUPPORT_3D_ZOOM: string;
1855
1857
  '3D_ZOOM_ACTIVED': string;
1856
1858
  '3D_ZOOM_NOT_ACTIVED': string;
1857
- '3D_ZOOM_CLOSED': string; /** 录制中 @private */
1859
+ '3D_ZOOM_CLOSED': string;
1858
1860
  CHANGE_ZOOM_TYPE: string;
1859
1861
  FULLSCREEN: string;
1860
1862
  FULLSCREEN_EXIT: string;
1861
- /** 倍速 @private */
1862
1863
  GET_WEB_FULLSCREEN_STATUS: string;
1863
1864
  WEB_FULLSCREEN: string;
1864
1865
  WEB_FULLSCREEN_EXIT: string;
@@ -1872,8 +1873,21 @@ declare class Theme extends EventEmitter {
1872
1873
  PTZ_FAST: string;
1873
1874
  PTZ_MID: string;
1874
1875
  PTZ_SLOW: string;
1875
- PTZ_SPEED: string;
1876
+ PTZ_SPEED: string; /**
1877
+ // * 记录回放的月份
1878
+ // *
1879
+ // * key: {序列号}_{通道号}_{rec | cloud | cloudRecord} 比如:BC7799091_1_rec BC7799091_1_cloud BC7799091_1_cloudRecord
1880
+ // *
1881
+ // * value: 月份列表 比如 ["2025-12-01", "2025-12-02"]
1882
+ // * @private
1883
+ // */
1884
+ /**
1885
+ * 录像回放的月份列表 @private
1886
+ */
1876
1887
  DEVICE_ZOOM: string;
1888
+ /**
1889
+ * 录像回放的月份列表 @private
1890
+ */
1877
1891
  DEVICE_FOCUS: string;
1878
1892
  NOT_SUPPORT_DEVICE_ZOOM: string;
1879
1893
  NOT_SUPPORT_FOCUS: string;
@@ -1882,7 +1896,7 @@ declare class Theme extends EventEmitter {
1882
1896
  * 录像回放的月份列表 @private
1883
1897
  */
1884
1898
  MIRROR_TYPE_ERROR: string;
1885
- CHANGE_FEC_TYPE: string; /** 清理 header/footer 动画 定时器 @private */
1899
+ CHANGE_FEC_TYPE: string;
1886
1900
  DEVICE_NOT_SUPPORT: string;
1887
1901
  TYPE_NOT_SUPPORT: string;
1888
1902
  FEC_SUPPORT_VERSION: string;
@@ -1890,11 +1904,6 @@ declare class Theme extends EventEmitter {
1890
1904
  SET_FEC_PARAMS: string;
1891
1905
  GET_FEC_PARAMS: string;
1892
1906
  SET_FEC_PARAMS_FAILED: string;
1893
- /**
1894
- * 模板请求(getDetail)的中止控制器。
1895
- * 重新渲染或销毁时中止在途请求,避免请求返回后在已销毁/已切换的 theme 上继续操作。
1896
- * @private
1897
- */
1898
1907
  GET_FEC_PARAMS_FAILED: string;
1899
1908
  GET_FEC_PARAMS_SUPPORT_VERSION: string;
1900
1909
  SET_WATERMARK: string;
@@ -1939,6 +1948,40 @@ declare class Theme extends EventEmitter {
1939
1948
  395506: string;
1940
1949
  395507: string;
1941
1950
  395530: string;
1951
+ /**
1952
+ * 播放器主题
1953
+ * @class Theme
1954
+ * @category Theme
1955
+ * @remarks
1956
+ * 萤石播放器主题,主要用于播放器的 UI 展示和交互,支持 flv, hls, mp4, ezopen 等流类型。
1957
+ * 提供了丰富的控件和配置选项,支持多语言和自定义样式。
1958
+ *
1959
+ * @example
1960
+ * ```ts
1961
+ * // import css file
1962
+ * import "@ezuikit/player-theme/dist/style.js"
1963
+ * import Theme from '@ezuikit/player-theme';
1964
+ *
1965
+ * // class Player extends Theme {}
1966
+ *
1967
+ * const theme = new Theme({
1968
+ * container: () => document.querySelector('.player'),
1969
+ * type: 'flv',
1970
+ * });
1971
+ * ```
1972
+ *
1973
+ * ```html
1974
+ * <!-- html script, static in `@ezuikit/player-theme/dist` -->
1975
+ * <link rel="stylesheet" href="./assets/@ezuikit/player-theme/dist/style.css" />
1976
+ * <script src="./assets/@ezuikit/player-theme/dist/index.umd.js"></script>
1977
+ * <script>
1978
+ * const theme = new Theme({
1979
+ * container: () => document.querySelector('.player'),
1980
+ * type: 'flv',
1981
+ * });
1982
+ * </script>
1983
+ * ```
1984
+ */
1942
1985
  395544: string;
1943
1986
  395545: string;
1944
1987
  395546: string;
@@ -1960,7 +2003,6 @@ declare class Theme extends EventEmitter {
1960
2003
  395602: string;
1961
2004
  395610: string;
1962
2005
  395620: string;
1963
- /** 消息提示控件 @since 0.0.1 @private */
1964
2006
  395701: string;
1965
2007
  395702: string;
1966
2008
  395703: string;
@@ -1988,17 +2030,17 @@ declare class Theme extends EventEmitter {
1988
2030
  396511: string;
1989
2031
  396512: string;
1990
2032
  396513: string;
1991
- 396514: string; /** 回放片段列表 */
2033
+ 396514: string;
1992
2034
  396515: string;
1993
2035
  396516: string;
1994
- /**
1995
- * 录像回放的月份列表 @private
1996
- */
1997
2036
  396517: string;
1998
2037
  396518: string;
1999
2038
  396519: string;
2000
2039
  396520: string;
2001
2040
  396700: string;
2041
+ /**
2042
+ * 录像回放的月份列表 @private
2043
+ */
2002
2044
  396701: string;
2003
2045
  397001: string;
2004
2046
  397002: string;
@@ -2073,42 +2115,46 @@ declare class Theme extends EventEmitter {
2073
2115
  CHANGE_VIDEO_LEVEL: string;
2074
2116
  CHANGE_VIDEO_LEVEL_FAIL: string;
2075
2117
  GET_VIDEO_LEVEL_LIST: string;
2076
- /**
2077
- * 视频信息
2078
- * @version 3.1.2
2079
- * ```ts
2080
- * theme.videoInfo // ThemeVideoInfo
2081
- * ```
2082
- */
2083
2118
  PLEASE_INPUT_RIGHT_VIDEO_LEVEL: string;
2084
2119
  VIDEO_LEVEL_NOT_SUPPORT: string;
2085
2120
  VIDEO_LEVEL_AUTO: string;
2086
2121
  VIDEO_LEVEL_FLUENT: string;
2087
2122
  VIDEO_LEVEL_STANDARD: string;
2088
2123
  VIDEO_LEVEL_HEIGH: string;
2089
- VIDEO_LEVEL_SUPER: string; /**
2090
- * 视频分辨率 高
2091
- * @version 3.1.2
2092
- */
2124
+ VIDEO_LEVEL_SUPER: string;
2093
2125
  VIDEO_LEVEL_EXTREME: string;
2094
- VIDEO_LEVEL_3K: string;
2095
- VIDEO_LEVEL_4k: string;
2096
- RESET_THEME: string; /**
2097
- * 当前播放状态
2126
+ /**
2127
+ * 视频信息
2128
+ * @version 3.1.2
2098
2129
  * ```ts
2099
- * theme.playing // boolean
2130
+ * theme.videoInfo // ThemeVideoInfo
2100
2131
  * ```
2101
2132
  */
2133
+ VIDEO_LEVEL_3K: string;
2134
+ VIDEO_LEVEL_4k: string;
2135
+ RESET_THEME: string;
2102
2136
  BTN_PLAY: string;
2103
2137
  BTN_PAUSE: string;
2104
2138
  BTN_VOLUME: string;
2105
- BTN_MUTED: string;
2139
+ BTN_MUTED: string; /**
2140
+ * 视频分辨率 宽
2141
+ *
2142
+ * @version 3.1.2
2143
+ *
2144
+ * ```ts
2145
+ * theme.videoWidth // number
2146
+ * ```
2147
+ */
2106
2148
  BTN_RECORDVIDEO: string;
2107
2149
  BTN_CAPTURE: string;
2108
2150
  BTN_TALK: string;
2109
2151
  BTN_BROADCAST: string;
2110
2152
  BTN_AICHAT: string;
2111
2153
  BTN_LIVE: string;
2154
+ /**
2155
+ * 视频分辨率 高
2156
+ * @version 3.1.2
2157
+ */
2112
2158
  BTN_REC_DROPDOWN: string;
2113
2159
  BTN_ALARM_MESSAGE: string;
2114
2160
  REC_DROPDOWN_CLOUD_REC: string;
@@ -2135,13 +2181,7 @@ declare class Theme extends EventEmitter {
2135
2181
  DEVICE_ID: string;
2136
2182
  CAPTURE_SUCCESS: string;
2137
2183
  CAPTURE_FAILED: string;
2138
- START_RECORD_SUCCESS: string; /**
2139
- * 加载状态
2140
- * ```ts
2141
- * // 事件监听
2142
- * theme.on(Theme.EVENTS.loading, (loading: boolean) => {})
2143
- * ```
2144
- */
2184
+ START_RECORD_SUCCESS: string;
2145
2185
  START_RECORD_FAILED: string;
2146
2186
  STOP_RECORD_SUCCESS: string;
2147
2187
  STOP_RECORD_FAILED: string;
@@ -2311,6 +2351,15 @@ declare class Theme extends EventEmitter {
2311
2351
  videoLevelList: DefinitionItem[];
2312
2352
  /** 回放片段列表 */
2313
2353
  recordList: TimeLineTimeSection[];
2354
+ /**
2355
+ * 播放区间(片段分享),null 表示不约束。
2356
+ * 由 SDK 层在初始化时通过 props 下发,主题层据此决定日历/回放类型按钮
2357
+ * 是否渲染、片段进度条是否渲染。区间没有运行时变更入口。
2358
+ */
2359
+ playbackRange: {
2360
+ begin: string;
2361
+ end: string;
2362
+ } | null;
2314
2363
  /** 窗口尺寸变化时,设置窗口超出隐藏,防止出现滚动条 */
2315
2364
  private _resizeOverflowTimer;
2316
2365
  /**
@@ -2848,6 +2897,8 @@ interface ThemeOptions {
2848
2897
  timeOptions?: OmitControlOptions<TimePickerControlOptions> | null;
2849
2898
  /** 时间轴控件配置, 设置 null 不渲染控件 @since 0.0.1 */
2850
2899
  timeLineOptions?: any | null;
2900
+ /** 回放片段进度条配置(移动端,仅在设置了播放区间时渲染), 设置 null 不渲染控件 */
2901
+ segmentProgressOptions?: any | null;
2851
2902
  /** 初始化开始回调, 在内部可以添加事件(Control.beforeMountControls, Control.mountedControls)监听,设置 null 不渲染控件 @since 0.0.1 */
2852
2903
  onInitializing?: (theme: Theme) => void;
2853
2904
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ezuikit/player-theme",
3
- "version": "3.1.2-beta.4",
3
+ "version": "3.1.3-beta.1",
4
4
  "description": "player theme",
5
5
  "title": "theme",
6
6
  "main": "dist/index.cjs",
@@ -37,7 +37,8 @@
37
37
  "@ezuikit/utils-i18n": "^2.0.1",
38
38
  "@ezuikit/utils-logger": "^2.0.1",
39
39
  "@ezuikit/utils-tools": "^2.0.6",
40
- "@ezuikit/control-date-picker": "2.1.1",
40
+ "@ezuikit/control-date-picker": "2.1.2-beta.1",
41
+ "@ezuikit/control-segment-progress": "0.0.1",
41
42
  "@ezuikit/control-time-line": "2.1.0",
42
43
  "@ezuikit/control-ptz": "1.0.0",
43
44
  "@ezuikit/control-rec-list-modal": "0.0.1",