!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports["utils/keymap"]=n():e["utils/keymap"]=n()}(globalThis,(()=>(()=>{var e,n,t={75:(e,n,t)=>{"use strict";t.d(n,{o1:()=>m,Tl:()=>d,jp:()=>l,Ry:()=>u});const i=coreApis.componentApis.video.playerAgent;var o=t(905),r=t(322),s=t(847);const a=e=>({...lodash.pick(e,"ctrlKey","shiftKey","altKey","metaKey"),bubbles:!0,cancelable:!0,view:unsafeWindow}),l=(e,n)=>{const{event:t}=n,i=a(t);if("string"==typeof e){const n=dq(e);if(!n)return!1;(0,s.simulateClick)(n,i)}else{if(!e)return!1;(0,s.simulateClick)(e,i)}return!0},p=e=>n=>l(e,n),d=e=>()=>i.playerAgent.changeTime("number"==typeof e?e:e());let c;const u=async(e,n)=>{let t=dq(".keymap-tip");if(!t){const o=await i.playerAgent.query.playerArea();if(!o)return;o.insertAdjacentHTML("afterbegin",`\n
\n `),t=dq(".keymap-tip")}t.innerHTML=e;const o=dq(".keymap-tip-container"),r=dq(o,".mdi");r.classList.remove(...r.classList.values()),r.classList.add("mdi",n),c&&clearTimeout(c),o.classList.add("show"),c=window.setTimeout((()=>{o.classList.remove("show")}),2e3)},g={fullscreen:{displayName:"全屏",run:()=>i.playerAgent.fullscreen()},webFullscreen:{displayName:"网页全屏",run:()=>i.playerAgent.webFullscreen()},wideScreen:{displayName:"宽屏",run:()=>i.playerAgent.widescreen()},volumeUp:{displayName:"增加音量",ignoreFocus:!1,run:()=>{const e=(0,o.getComponentSettings)("keymap").options.volumeStep,n=i.playerAgent.changeVolume(e);return lodash.isNil(n)?n:(u(`${n}%`,"mdi-volume-high"),!0)}},volumeDown:{displayName:"降低音量",ignoreFocus:!1,run:()=>{const e=(0,o.getComponentSettings)("keymap").options.volumeStep,n=i.playerAgent.changeVolume(-e);return lodash.isNil(n)?n:(0===n?u("静音","mdi-volume-off"):u(`${n}%`,"mdi-volume-high"),!0)}},mute:{displayName:"静音",run:()=>{const e=i.playerAgent.toggleMute();return lodash.isNil(e)?e:(i.playerAgent.isMute()?u("已静音","mdi-volume-off"):u("已取消静音","mdi-volume-high"),!0)}},pictureInPicture:{displayName:"画中画",run:()=>i.playerAgent.togglePip()},coin:{displayName:"投币",run:p(".video-toolbar .coin, .tool-bar .coin-info, .video-toolbar-module .coin-box, .play-options-ul > li:nth-child(2), .video-toolbar-v1 .coin, .toolbar .coin, .video-toolbar-container .video-coin")},favorite:{displayName:"收藏",run:p(".video-toolbar .collect, .video-toolbar-module .fav-box, .play-options-ul > li:nth-child(3), .video-toolbar-v1 .collect, .video-toolbar-container .video-fav")},pause:{displayName:"暂停/播放",run:()=>i.playerAgent.togglePlay()},like:{displayName:"点赞",run:(()=>{let e=!0;return n=>{const{event:t}=n,i=dq(".video-toolbar .like, .tool-bar .like-info, .video-toolbar-v1 .like, .toolbar .like, .video-toolbar-container .video-like");if(!i)return!1;t.preventDefault();const o=(e,n)=>{const t=a(n),o=new MouseEvent(e,t);i.dispatchEvent(o)};return e=!0,setTimeout((()=>e=!1),200),o("mousedown",t),document.body.addEventListener("keyup",(n=>{n.preventDefault(),o("mouseup",n),e&&o("click",n)}),{once:!0}),!0}})()},danmaku:{displayName:"弹幕开关",run:()=>i.playerAgent.toggleDanmaku()},longJumpBackward:{displayName:"长倒退",run:()=>i.playerAgent.changeTime(-(0,o.getComponentSettings)("keymap").options.longJumpSeconds)},longJumpForward:{displayName:"长前进",run:()=>i.playerAgent.changeTime((0,o.getComponentSettings)("keymap").options.longJumpSeconds)},jumpBackward:{displayName:"倒退",run:()=>i.playerAgent.changeTime(-5)},jumpForward:{displayName:"前进",run:()=>i.playerAgent.changeTime(5)},playerMenu:{displayName:"播放器菜单",run:()=>{const e=i.playerAgent.query.video.container.sync();if(!e)return null;const n=e.getBoundingClientRect();return e.dispatchEvent(new MouseEvent("contextmenu",{bubbles:!0,cancelable:!1,view:unsafeWindow,button:2,buttons:0,clientX:n.x+n.width/2-88.325,clientY:n.y+n.height/2-97})),!0}},seekBegin:{displayName:"回开头",run:()=>i.playerAgent.seek(0)},sendComment:{displayName:"发送评论",ignoreTyping:!1,prevent:!0,run:()=>{const e=(0,s.getActiveElement)();if(!e)return null;if(!(e instanceof HTMLTextAreaElement||e.hasAttribute("contenteditable")))return null;const n=e=>e.getRootNode(),t=(()=>{const t=[()=>e.nextElementSibling,()=>e.parentElement.nextElementSibling,()=>n(n(e)?.host)?.querySelector("#pub button"),()=>dq(".reply-box:focus-within .reply-box-send")].find((e=>null!==e()));return t?t():null})();return t?(t.click(),!0):null}}},[m]=(0,r.registerAndGetData)("keymap.actions",g)},333:(e,n,t)=>{"use strict";t.d(n,{jW:()=>o,v4:()=>r});var i=t(322);const o={fullscreen:"f",webFullscreen:"w",wideScreen:"t",volumeUp:"arrowUp",volumeDown:"arrowDown",mute:"m",pictureInPicture:"p",coin:"c",favorite:"s",pause:"space",like:"l",playerMenu:"`",longJumpForward:"j",longJumpBackward:"shift j",jumpBackward:"",jumpForward:"",danmaku:"d",seekBegin:"0",sendComment:"ctrl enter"},[,r]=(0,i.registerAndGetData)("keymap.presets",o,{Default:{},YouTube:{like:"",pause:"space k",longJumpForward:"l",longJumpBackward:"j",seekBegin:"0 Home"},HTML5Player:{coin:"shift c",danmaku:"shift d",fullscreen:"enter",webFullscreen:"shift enter",pictureInPicture:"shift p",longJumpBackward:"ctrl arrowLeft",longJumpForward:"ctrl arrowRight"},PotPlayer:{coin:"shift c",danmaku:"shift d",fullscreen:"enter",webFullscreen:"6",longJumpBackward:"ctrl arrowLeft",longJumpForward:"ctrl arrowRight",seekBegin:"backspace"}})},830:(e,n,t)=>{"use strict";t.d(n,{n:()=>r,toggleKeymapSettings:()=>s});var i=t(847);let o;const r=async e=>{if(o)return;const n=await Promise.resolve().then(t.bind(t,726)).then((e=>e.default));o=(0,i.mountVueComponent)(n),e&&(o.triggerElement=e),document.body.insertAdjacentElement("beforeend",o.$el)},s=async e=>{o||await r(e),o.popupOpen=!o.popupOpen}},878:(e,n,t)=>{var i=t(904),o=t(955)(i);o.push([e.id,".keymap-extra-options {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.keymap-extra-options .keymap-settings-button .be-icon {\n margin-right: 8px;\n}","",{version:3,sources:["webpack://./registry/lib/components/utils/keymap/settings/ExtraOptions.vue"],names:[],mappings:"AAAA;EACE,aAAa;EACb,mBAAmB;EACnB,uBAAuB;AACzB;AACA;EACE,iBAAiB;AACnB",sourcesContent:[".keymap-extra-options {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.keymap-extra-options .keymap-settings-button .be-icon {\n margin-right: 8px;\n}"],sourceRoot:""}]),e.exports=o},421:(e,n,t)=>{var i=t(904),o=t(955)(i);o.push([e.id,".keymap-settings-popup {\n background-color: #fff;\n color: black;\n border-radius: 8px;\n border: 1px solid #8882;\n box-sizing: border-box;\n box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);\n transition: 0.2s ease-out;\n width: 550px;\n top: 50%;\n left: 50%;\n z-index: 100002;\n transform: translateX(-50%) translateY(-50%) scale(0.9);\n display: flex;\n flex-direction: column;\n}\nbody.dark .keymap-settings-popup {\n box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.2);\n}\nbody.dark .keymap-settings-popup {\n background-color: var(--be-color-card-bg, #282828);\n color: var(--be-color-text-title, #eee);\n}\nbody.dark .keymap-settings-popup {\n background-color: var(--be-color-popup-bg, #222);\n}\n.keymap-settings-popup.open {\n transform: translateX(-50%) translateY(-50%) scale(1);\n}\n.keymap-settings {\n font-size: 12px;\n display: flex;\n flex-direction: column;\n padding: 12px 12px 0 18px;\n}\n.keymap-settings-header {\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n}\n.keymap-settings-header-title {\n flex: 1 0 auto;\n display: flex;\n align-items: center;\n font-weight: 600;\n font-size: 18px;\n}\n.keymap-settings-header-title .be-icon {\n margin-right: 6px;\n}\n.keymap-settings-header-help, .keymap-settings-header-close {\n display: flex;\n padding: 6px;\n cursor: pointer;\n transition: 0.2s ease-out;\n color: inherit;\n}\n.keymap-settings-header-help:hover, .keymap-settings-header-close:hover {\n color: var(--theme-color);\n}\n.keymap-settings-content {\n flex: 1 0 auto;\n max-height: calc(100vh - 200px);\n overflow: auto;\n padding-bottom: 12px;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header,\n.keymap-settings-content .keymap-settings-grid .grid-row {\n display: flex;\n align-items: center;\n gap: 8px;\n justify-content: space-between;\n height: 24px;\n box-sizing: content-box;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header > *,\n.keymap-settings-content .keymap-settings-grid .grid-row > * {\n flex: 1 0 0;\n display: flex;\n align-items: center;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header {\n margin-bottom: 4px;\n padding: 4px 0 6px 0;\n border-bottom: 1px solid #8882;\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: #fff;\n}\nbody.dark .keymap-settings-content .keymap-settings-grid .grid-header {\n background-color: #222;\n}","",{version:3,sources:["webpack://./registry/lib/components/utils/keymap/settings/KeymapSettings.vue"],names:[],mappings:"AAAA;EACE,sBAAsB;EACtB,YAAY;EACZ,kBAAkB;EAClB,uBAAuB;EACvB,sBAAsB;EACtB,4CAA4C;EAC5C,yBAAyB;EACzB,YAAY;EACZ,QAAQ;EACR,SAAS;EACT,eAAe;EACf,uDAAuD;EACvD,aAAa;EACb,sBAAsB;AACxB;AACA;EACE,2CAA2C;AAC7C;AACA;EACE,kDAAkD;EAClD,uCAAuC;AACzC;AACA;EACE,gDAAgD;AAClD;AACA;EACE,qDAAqD;AACvD;AAEA;EACE,eAAe;EACf,aAAa;EACb,sBAAsB;EACtB,yBAAyB;AAC3B;AACA;EACE,aAAa;EACb,mBAAmB;EACnB,kBAAkB;AACpB;AACA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,gBAAgB;EAChB,eAAe;AACjB;AACA;EACE,iBAAiB;AACnB;AACA;EACE,aAAa;EACb,YAAY;EACZ,eAAe;EACf,yBAAyB;EACzB,cAAc;AAChB;AACA;EACE,yBAAyB;AAC3B;AACA;EACE,cAAc;EACd,+BAA+B;EAC/B,cAAc;EACd,oBAAoB;AACtB;AACA;;EAEE,aAAa;EACb,mBAAmB;EACnB,QAAQ;EACR,8BAA8B;EAC9B,YAAY;EACZ,uBAAuB;AACzB;AACA;;EAEE,WAAW;EACX,aAAa;EACb,mBAAmB;AACrB;AACA;EACE,kBAAkB;EAClB,oBAAoB;EACpB,8BAA8B;EAC9B,gBAAgB;EAChB,MAAM;EACN,UAAU;EACV,sBAAsB;AACxB;AACA;EACE,sBAAsB;AACxB",sourcesContent:[".keymap-settings-popup {\n background-color: #fff;\n color: black;\n border-radius: 8px;\n border: 1px solid #8882;\n box-sizing: border-box;\n box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.05);\n transition: 0.2s ease-out;\n width: 550px;\n top: 50%;\n left: 50%;\n z-index: 100002;\n transform: translateX(-50%) translateY(-50%) scale(0.9);\n display: flex;\n flex-direction: column;\n}\nbody.dark .keymap-settings-popup {\n box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.2);\n}\nbody.dark .keymap-settings-popup {\n background-color: var(--be-color-card-bg, #282828);\n color: var(--be-color-text-title, #eee);\n}\nbody.dark .keymap-settings-popup {\n background-color: var(--be-color-popup-bg, #222);\n}\n.keymap-settings-popup.open {\n transform: translateX(-50%) translateY(-50%) scale(1);\n}\n\n.keymap-settings {\n font-size: 12px;\n display: flex;\n flex-direction: column;\n padding: 12px 12px 0 18px;\n}\n.keymap-settings-header {\n display: flex;\n align-items: center;\n margin-bottom: 8px;\n}\n.keymap-settings-header-title {\n flex: 1 0 auto;\n display: flex;\n align-items: center;\n font-weight: 600;\n font-size: 18px;\n}\n.keymap-settings-header-title .be-icon {\n margin-right: 6px;\n}\n.keymap-settings-header-help, .keymap-settings-header-close {\n display: flex;\n padding: 6px;\n cursor: pointer;\n transition: 0.2s ease-out;\n color: inherit;\n}\n.keymap-settings-header-help:hover, .keymap-settings-header-close:hover {\n color: var(--theme-color);\n}\n.keymap-settings-content {\n flex: 1 0 auto;\n max-height: calc(100vh - 200px);\n overflow: auto;\n padding-bottom: 12px;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header,\n.keymap-settings-content .keymap-settings-grid .grid-row {\n display: flex;\n align-items: center;\n gap: 8px;\n justify-content: space-between;\n height: 24px;\n box-sizing: content-box;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header > *,\n.keymap-settings-content .keymap-settings-grid .grid-row > * {\n flex: 1 0 0;\n display: flex;\n align-items: center;\n}\n.keymap-settings-content .keymap-settings-grid .grid-header {\n margin-bottom: 4px;\n padding: 4px 0 6px 0;\n border-bottom: 1px solid #8882;\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: #fff;\n}\nbody.dark .keymap-settings-content .keymap-settings-grid .grid-header {\n background-color: #222;\n}"],sourceRoot:""}]),e.exports=o},687:(e,n,t)=>{var i=t(904),o=t(955)(i);o.push([e.id,".keymap-settings-grid .grid-row {\n padding: 2px 0;\n}\n.keymap-settings-grid .grid-row .row-name,\n.keymap-settings-grid .grid-row .row-default-binding,\n.keymap-settings-grid .grid-row .row-preset-binding {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: auto;\n scrollbar-width: none !important;\n overscroll-behavior: contain;\n}\n.keymap-settings-grid .grid-row .row-name::-webkit-scrollbar,\n.keymap-settings-grid .grid-row .row-default-binding::-webkit-scrollbar,\n.keymap-settings-grid .grid-row .row-preset-binding::-webkit-scrollbar {\n height: 0 !important;\n width: 0 !important;\n}\n.keymap-settings-grid .grid-row .row-name.not-set, .keymap-settings-grid .grid-row .row-name.overwritten,\n.keymap-settings-grid .grid-row .row-default-binding.not-set,\n.keymap-settings-grid .grid-row .row-default-binding.overwritten,\n.keymap-settings-grid .grid-row .row-preset-binding.not-set,\n.keymap-settings-grid .grid-row .row-preset-binding.overwritten {\n opacity: 0.25;\n}\n.keymap-settings-grid .grid-row .row-binding, .keymap-settings-grid .grid-row .row-binding input {\n font-family: monospace, sans-serif;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-button {\n padding: 4px;\n margin-right: 4px;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-icon {\n margin: 0;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-textbox {\n margin-right: 6px;\n flex: 1 0 auto;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .custom-binding-edit,\n.keymap-settings-grid .grid-row .row-custom-binding .custom-binding-add {\n display: flex;\n align-items: center;\n flex: 1 0 auto;\n}","",{version:3,sources:["webpack://./registry/lib/components/utils/keymap/settings/KeymapSettingsRow.vue"],names:[],mappings:"AAAA;EACE,cAAc;AAChB;AACA;;;EAGE,gBAAgB;EAChB,uBAAuB;EACvB,mBAAmB;EACnB,cAAc;EACd,gCAAgC;EAChC,4BAA4B;AAC9B;AACA;;;EAGE,oBAAoB;EACpB,mBAAmB;AACrB;AACA;;;;;EAKE,aAAa;AACf;AACA;EACE,kCAAkC;AACpC;AACA;EACE,YAAY;EACZ,iBAAiB;AACnB;AACA;EACE,SAAS;AACX;AACA;EACE,iBAAiB;EACjB,cAAc;AAChB;AACA;;EAEE,aAAa;EACb,mBAAmB;EACnB,cAAc;AAChB",sourcesContent:[".keymap-settings-grid .grid-row {\n padding: 2px 0;\n}\n.keymap-settings-grid .grid-row .row-name,\n.keymap-settings-grid .grid-row .row-default-binding,\n.keymap-settings-grid .grid-row .row-preset-binding {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: auto;\n scrollbar-width: none !important;\n overscroll-behavior: contain;\n}\n.keymap-settings-grid .grid-row .row-name::-webkit-scrollbar,\n.keymap-settings-grid .grid-row .row-default-binding::-webkit-scrollbar,\n.keymap-settings-grid .grid-row .row-preset-binding::-webkit-scrollbar {\n height: 0 !important;\n width: 0 !important;\n}\n.keymap-settings-grid .grid-row .row-name.not-set, .keymap-settings-grid .grid-row .row-name.overwritten,\n.keymap-settings-grid .grid-row .row-default-binding.not-set,\n.keymap-settings-grid .grid-row .row-default-binding.overwritten,\n.keymap-settings-grid .grid-row .row-preset-binding.not-set,\n.keymap-settings-grid .grid-row .row-preset-binding.overwritten {\n opacity: 0.25;\n}\n.keymap-settings-grid .grid-row .row-binding, .keymap-settings-grid .grid-row .row-binding input {\n font-family: monospace, sans-serif;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-button {\n padding: 4px;\n margin-right: 4px;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-icon {\n margin: 0;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .be-textbox {\n margin-right: 6px;\n flex: 1 0 auto;\n}\n.keymap-settings-grid .grid-row .row-custom-binding .custom-binding-edit,\n.keymap-settings-grid .grid-row .row-custom-binding .custom-binding-add {\n display: flex;\n align-items: center;\n flex: 1 0 auto;\n}"],sourceRoot:""}]),e.exports=o},683:(e,n,t)=>{var i=t(904),o=t(955)(i);o.push([e.id,".keymap-tip-container {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 8px 16px;\n background-color: #000a;\n color: white;\n pointer-events: none;\n opacity: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n font-size: 14pt;\n border-radius: 4px;\n transition: 0.2s ease-out;\n}\nbody.player-mode-blackmask .keymap-tip-container {\n z-index: 10017;\n}\n.keymap-tip-container.show {\n opacity: 1;\n}\n.keymap-tip-container i {\n line-height: 1;\n margin-right: 8px;\n font-size: 18pt;\n}\n\n.bilibili-player .bilibili-player-area .bilibili-player-video-wrap .bilibili-player-volumeHint {\n background-color: #000a;\n color: white;\n}\n.bilibili-player .bilibili-player-area .bilibili-player-video-wrap .bilibili-player-volumeHint-icon {\n line-height: 1;\n}","",{version:3,sources:["webpack://./registry/lib/components/utils/keymap/playback-tip.scss"],names:[],mappings:"AAAA;EACE,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,gCAAgC;EAChC,iBAAiB;EACjB,uBAAuB;EACvB,YAAY;EACZ,oBAAoB;EACpB,UAAU;EACV,YAAY;EACZ,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,kBAAkB;EAClB,yBAAyB;AAC3B;AACA;EACE,cAAc;AAChB;AACA;EACE,UAAU;AACZ;AACA;EACE,cAAc;EACd,iBAAiB;EACjB,eAAe;AACjB;;AAEA;EACE,uBAAuB;EACvB,YAAY;AACd;AACA;EACE,cAAc;AAChB",sourcesContent:[".keymap-tip-container {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 8px 16px;\n background-color: #000a;\n color: white;\n pointer-events: none;\n opacity: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n font-size: 14pt;\n border-radius: 4px;\n transition: 0.2s ease-out;\n}\nbody.player-mode-blackmask .keymap-tip-container {\n z-index: 10017;\n}\n.keymap-tip-container.show {\n opacity: 1;\n}\n.keymap-tip-container i {\n line-height: 1;\n margin-right: 8px;\n font-size: 18pt;\n}\n\n.bilibili-player .bilibili-player-area .bilibili-player-video-wrap .bilibili-player-volumeHint {\n background-color: #000a;\n color: white;\n}\n.bilibili-player .bilibili-player-area .bilibili-player-video-wrap .bilibili-player-volumeHint-icon {\n line-height: 1;\n}"],sourceRoot:""}]),e.exports=o},955:e=>{"use strict";
// eslint-disable-next-line func-names
e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t=e(n);return n[2]?"@media ".concat(n[2]," {").concat(t,"}"):t})).join("")},
// eslint-disable-next-line func-names
n.i=function(e,t,i){"string"==typeof e&&(
// eslint-disable-next-line no-param-reassign
e=[[null,e,""]]);var o={};if(i)for(var r=0;r{"use strict";function n(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==t)return;var i,o,r=[],s=!0,a=!1;try{for(t=t.call(e);!(s=(i=t.next()).done)&&(r.push(i.value),!n||r.length!==n);s=!0);}catch(e){a=!0,o=e}finally{try{s||null==t.return||t.return()}finally{if(a)throw o}}return r}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return t(e,n);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return t(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function t(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,i=new Array(n);t{"use strict";var i,o=function(){return void 0===i&&(
// @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805
// @see https://github.com/webpack-contrib/style-loader/issues/177
i=Boolean(window&&document&&document.all&&!window.atob)),i},r=function(){var e={};return function(n){if(void 0===e[n]){var t=document.querySelector(n);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}e[n]=t}return e[n]}}(),s=[];function a(e){for(var n=-1,t=0;t{var i=t(683);i&&i.__esModule&&(i=i.default),e.exports="string"==typeof i?i:i.toString()},395:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>u});var i=function(){var e=this,n=e._self._c;e._self._setupProxy;return n("div",{staticClass:"keymap-extra-options"},[n("VButton",{ref:"button",staticClass:"keymap-settings-button",on:{mouseover:function(n){return e.loadSettings()},click:function(n){return e.toggleSettings()}}},[n("VIcon",{attrs:{icon:"mdi-keyboard-settings-outline",size:18}}),e._v("\n 快捷键设置\n ")],1)],1)};i._withStripped=!0;var o=t(164),r=t(830);const s=Vue.extend({components:{VButton:o.VButton,VIcon:o.VIcon},data:()=>({popupOpen:!1}),methods:{async loadSettings(){await(0,r.n)(this.$refs.button)},async toggleSettings(){await(0,r.toggleKeymapSettings)(this.$refs.button)}}});var a=t(991),l=t.n(a),p=t(878),d=t.n(p),c={insert:"head",singleton:!1};l()(d(),c);d().locals;const u=(0,t(678).A)(s,i,[],!1,null,null,null).exports},726:(e,n,t)=>{"use strict";t.r(n),t.d(n,{default:()=>C});var i=function(){var e=this,n=e._self._c;e._self._setupProxy;return n("VPopup",{staticClass:"keymap-settings-popup be-settings-extra-options",attrs:{fixed:"","trigger-element":e.triggerElement},model:{value:e.popupOpen,callback:function(n){e.popupOpen=n},expression:"popupOpen"}},[n("div",{staticClass:"keymap-settings"},[n("div",{staticClass:"keymap-settings-header"},[n("div",{staticClass:"keymap-settings-header-title"},[n("VIcon",{attrs:{icon:"mdi-keyboard-settings-outline"}}),e._v("\n 快捷键设置\n ")],1),e._v(" "),n("a",{staticClass:"keymap-settings-header-help",attrs:{href:"https://github.com/the1812/Bilibili-Evolved/blob/preview/registry/lib/components/utils/keymap/help.md",target:"_blank",title:"查看帮助"}},[n("VIcon",{attrs:{size:18,icon:"mdi-help-circle-outline"}})],1),e._v(" "),n("div",{staticClass:"keymap-settings-header-close",attrs:{title:"关闭"}},[n("VIcon",{attrs:{size:18,icon:"close"},on:{click:function(n){e.popupOpen=!1}}})],1)]),e._v(" "),n("div",{staticClass:"keymap-settings-content"},[n("div",{staticClass:"keymap-settings-grid"},[n("div",{staticClass:"grid-header"},[n("div",{staticClass:"header-name"},[e._v("动作")]),e._v(" "),n("div",{staticClass:"header-default-binding"},[e._v("默认按键")]),e._v(" "),n("div",{staticClass:"header-preset-binding"},[n("VDropdown",{attrs:{items:e.presetOptions,"key-mapper":e=>e},scopedSlots:e._u([{key:"item",fn:function({item:n}){return[e._v("\n "+e._s(n)+"\n ")]}}]),model:{value:e.selectedPreset,callback:function(n){e.selectedPreset=n},expression:"selectedPreset"}})],1),e._v(" "),n("div",{staticClass:"header-custom-binding"},[e._v("自定义按键")])]),e._v(" "),e._l(e.rows,(function(t){return n("KeymapSettingsRow",{key:t.name,attrs:{row:t,"selected-preset":e.selectedPreset}})}))],2)])])])};i._withStripped=!0;var o=t(905),r=t(164),s=function(){var e=this,n=e._self._c;e._self._setupProxy;return n("div",{staticClass:"grid-row"},[n("div",{staticClass:"row-name",attrs:{title:e.row.name}},[e._v("\n "+e._s(e.row.displayName)+"\n ")]),e._v(" "),n("div",{staticClass:"row-default-binding row-binding",class:{overwritten:e.isOverwrittern(e.presets[e.selectedPreset],e.customKeyBindings),"not-set":void 0===e.presetBase[e.row.name]}},[e._v("\n "+e._s(e.showReadonlyKey(e.presetBase))+"\n ")]),e._v(" "),n("div",{staticClass:"row-preset-binding row-binding",class:{overwritten:e.isOverwrittern(e.customKeyBindings),"not-set":void 0===e.presets[e.selectedPreset][e.row.name]}},[e._v("\n "+e._s(e.showReadonlyKey(e.presets[e.selectedPreset]))+"\n ")]),e._v(" "),n("div",{staticClass:"row-custom-binding row-binding"},[e.editable?n("div",{staticClass:"custom-binding-edit"},[n("TextBox",{ref:"customBindingTextBox",attrs:{placeholder:"禁用","change-on-blur":"",text:e.customKeyBindings[e.row.name]},on:{change:e.updateCustomBinding}}),e._v(" "),n("VButton",{attrs:{type:"transparent",title:"删除自定义键位"},on:{click:function(n){return e.removeCustomBinding()}}},[n("VIcon",{attrs:{icon:"mdi-trash-can-outline",size:16}})],1)],1):n("div",{staticClass:"custom-binding-add"},[n("VButton",{attrs:{type:"transparent",title:"添加自定义键位"},on:{click:function(n){return e.addCustomBinding()}}},[n("VIcon",{attrs:{icon:"mdi-plus",size:16}})],1)],1)])])};s._withStripped=!0;var a=t(333);const l=(0,o.getComponentSettings)("keymap").options,p=Vue.extend({components:{TextBox:r.TextBox,VButton:r.VButton,VIcon:r.VIcon},props:{row:{type:Object,required:!0},selectedPreset:{type:String,required:!0}},data:()=>({presets:a.v4,presetBase:a.jW,customKeyBindings:l.customKeyBindings,editable:!1}),created(){this.checkEditable()},methods:{checkEditable(){this.editable=void 0!==this.customKeyBindings[this.row.name]},showReadonlyKey(e){const{name:n}=this.row,t=e[n];return void 0===t?"继承":""===t?"禁用":t},isOverwrittern(){const{name:e}=this.row;for(var n=arguments.length,t=new Array(n),i=0;ivoid 0!==n[e]))},async addCustomBinding(){const{name:e}=this.row;this.customKeyBindings[e]="",this.checkEditable(),await this.$nextTick(),this.$refs.customBindingTextBox.focus()},removeCustomBinding(){const{name:e}=this.row;delete this.customKeyBindings[e],this.checkEditable()},updateCustomBinding(e){console.log("update",e);const{name:n}=this.row;this.customKeyBindings[n]=e}}});var d=t(991),c=t.n(d),u=t(687),g=t.n(u),m={insert:"head",singleton:!1};c()(g(),m);g().locals;var A=t(678);const y=(0,A.A)(p,s,[],!1,null,null,null).exports;var b=t(75);const f=(0,o.getComponentSettings)("keymap").options;console.log(a.v4,b.o1,f.preset,f.customKeyBindings);const h=Vue.extend({components:{VIcon:r.VIcon,VDropdown:r.VDropdown,VPopup:r.VPopup,KeymapSettingsRow:y},props:{triggerElement:{type:HTMLElement,default:null}},data:()=>({popupOpen:!1,actions:b.o1,presets:a.v4,customKeyBindings:f.customKeyBindings}),computed:{selectedPreset:{get:()=>f.preset,set(e){f.preset=e}},rows(){return Object.entries(this.actions).map((e=>{let[n,t]=e;return{name:n,...t}}))},presetOptions(){return Object.keys(this.presets)}}});var v=t(421),k=t.n(v),w={insert:"head",singleton:!1};c()(k(),w);k().locals;const C=(0,A.A)(h,i,[],!1,null,null,null).exports},678:(e,n,t)=>{"use strict";function i(e,n,t,i,o,r,s,a){var l,p="function"==typeof e?e.options:e;if(n&&(p.render=n,p.staticRenderFns=t,p._compiled=!0),i&&(p.functional=!0),r&&(p._scopeId="data-v-"+r),s?(l=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),o&&o.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(s)},p._ssrRegister=l):o&&(l=a?function(){o.call(this,(p.functional?this.parent:this).$root.$options.shadowRoot)}:o),l)if(p.functional){p._injectStyles=l;var d=p.render;p.render=function(e,n){return l.call(n),d(e,n)}}else{var c=p.beforeCreate;p.beforeCreate=c?[].concat(c,l):[l]}return{exports:e,options:p}}t.d(n,{A:()=>i})},322:e=>{"use strict";e.exports=coreApis.pluginApis.data},905:e=>{"use strict";e.exports=coreApis.settings},164:e=>{"use strict";e.exports=coreApis.ui},847:e=>{"use strict";e.exports=coreApis.utils}},i={};function o(e){var n=i[e];if(void 0!==n)return n.exports;var r=i[e]={id:e,exports:{}};return t[e](r,r.exports,o),r.exports}o.n=e=>{var n=e&&e.__esModule?()=>e.default:()=>e;return o.d(n,{a:n}),n},n=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(t,i){if(1&i&&(t=this(t)),8&i)return t;if("object"==typeof t&&t){if(4&i&&t.__esModule)return t;if(16&i&&"function"==typeof t.then)return t}var r=Object.create(null);o.r(r);var s={};e=e||[null,n({}),n([]),n(n)];for(var a=2&i&&t;"object"==typeof a&&!~e.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach((e=>s[e]=()=>t[e]));return s.default=()=>t,o.d(r,s),r},o.d=(e,n)=>{for(var t in n)o.o(n,t)&&!o.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},o.o=(e,n)=>Object.prototype.hasOwnProperty.call(e,n),o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.nc=void 0;var r={};return(()=>{"use strict";o.d(r,{component:()=>y});const e=coreApis.componentApis.styledComponent,n=coreApis.componentApis.define;var t=o(905),i=o(75),s=o(847);const a=coreApis.utils.urls,l=coreApis.shadowRoot,p=["shift","alt","ctrl","meta"],d=lodash.once((e=>{const n=a.watchlaterUrls.some((e=>(0,s.matchUrlPattern)(e))),t=a.mediaListUrls.some((e=>(0,s.matchUrlPattern)(e))),o={enable:!0,bindings:e},r=e=>{o.enable&&o.bindings.forEach((o=>{if(0===o.keys.length)return;const r=(0,s.isTyping)();if(!1!==o.action.ignoreTyping&&r)return;const a=(()=>{if(r)return!0;const e=(0,s.getActiveElement)();return![document.body,null].includes(e)&&!(e instanceof HTMLMediaElement)})();if(!1===o.action.ignoreFocus&&!1!==o.action.ignoreTyping&&a)return;const l=e.key.toLowerCase(),d=dq(".bilibili-player-sphere-control");if(null!==d&&"none"!==d.style.display&&["w","a","s","d"].includes(l))return;if(p.some((n=>{const t=o.keys.includes(n);if(o.keys.includes(`[${n}]`))return!1;return t!==e[`${n}Key`]})))return;const c=o.keys.filter((e=>!p.includes(e.toLowerCase()))).map((e=>e.toLowerCase()));if(!(c.includes(e.key.toLowerCase())||c.includes(e.code.toLowerCase())))return;const u=o.action.run({binding:o,isWatchlater:n,isMediaList:t,event:e,clickElement:i.jp,changeVideoTime:i.Tl,showTip:i.Ry}),g=!lodash.isNil(u);(o.action.prevent??g)&&(e.stopImmediatePropagation(),e.preventDefault())}))};return document.body.addEventListener("keydown",r,{capture:!0}),l.shadowDomObserver.watchShadowDom({added:e=>e.shadowRoot.addEventListener("keydown",r,{capture:!0})}),o}));var c=o(333);const u=(0,n.defineOptionsMetadata)({longJumpSeconds:{defaultValue:85,displayName:"长跳跃秒数",validator:(0,s.getNumberValidator)(1)},volumeStep:{defaultValue:10,displayName:"音量调整幅度",validator:(0,s.getNumberValidator)(1,100)},customKeyBindings:{defaultValue:{},displayName:"自定义键位",hidden:!0},preset:{defaultValue:"Default",displayName:"预设",hidden:!0}});let g=null;const m=e=>Object.entries(e).map((e=>{let[n,t]=e;return o=n,{keys:t.split(" ").filter((e=>""!==e)),action:i.o1[o]};var o})),A=(0,e.styledComponentEntry)((()=>Promise.resolve().then(o.t.bind(o,721,23))),(async e=>{let{settings:n}=e;const i=()=>{const e=n.options.preset,t=c.v4[e]||{},i=m({...c.jW,...t,...n.options.customKeyBindings});g?g.bindings=i:g=d(i)};(0,t.addComponentListener)("keymap.preset",i,!0),(0,t.addComponentListener)("keymap.customKeyBindings",i)})),y=(0,n.defineComponentMetadata)({name:"keymap",displayName:"快捷键扩展",tags:[componentsTags.video,componentsTags.utils],entry:A,unload:()=>{g&&(g.enable=!1)},reload:()=>{g&&(g.enable=!0)},description:{"zh-CN":"为脚本的功能和 b 站的功能启用键盘快捷键支持, 快捷键列表可在`快捷键设置`中查看和配置."},extraOptions:()=>Promise.resolve().then(o.bind(o,395)).then((e=>e.default)),options:u,plugin:{displayName:"快捷键扩展 - 搜索支持",setup:e=>{let{addData:n}=e;n("launchBar.actions",(e=>{e.push({name:"keymapSettings",getActions:async()=>[{name:"快捷键扩展设置",description:"Keymap Settings",icon:"mdi-keyboard-settings-outline",action:async()=>{const{toggleKeymapSettings:e}=await Promise.resolve().then(o.bind(o,830));e()}}]})}))}},commitHash:"67168e9c79449a0e28f1488f4bc7a8972097346a",coreVersion:"2.10.7"})})(),r=r.component})()));
//# sourceMappingURL=https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/registry/dist/components/utils/keymap.js.map